diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt index 69013532b..a371a0c5e 100644 --- a/data/CMakeLists.txt +++ b/data/CMakeLists.txt @@ -62,6 +62,7 @@ list(APPEND other_files tigge_pf_ecmwf.grib2.ref grib_data_files.txt BUFR3.tmpl.dump.plain.ref + filesize_db.txt ) foreach( file ${other_files} ) diff --git a/data/bufr/CMakeLists.txt b/data/bufr/CMakeLists.txt index 148500ed9..2e6d60395 100644 --- a/data/bufr/CMakeLists.txt +++ b/data/bufr/CMakeLists.txt @@ -26,6 +26,7 @@ endif() list(APPEND other_files bufr_data_files.txt bufr_ref_files.txt + filesize_db.txt ) foreach( file ${other_files} ) diff --git a/data/bufr/filesize_db.txt b/data/bufr/filesize_db.txt new file mode 100644 index 000000000..dcacc9022 --- /dev/null +++ b/data/bufr/filesize_db.txt @@ -0,0 +1,548 @@ +244 bufr/207003.bufr +48052 bufr/207003.bufr.json.ref +234 bufr/311001.bufr.ref +1556 bufr/PraticaTemp.bufr +5058 bufr/aaen_55.bufr +1093 bufr/aaen_55.bufr.desc.ref +26 bufr/aaen_55.bufr.ls.ref +495106 bufr/aaen_55.bufr.num.ref +3906 bufr/aben_55.bufr +1093 bufr/aben_55.bufr.desc.ref +487288 bufr/aben_55.bufr.num.ref +21585 bufr/aeolus_wmo_26.bufr +13856 bufr/ahws_139.bufr +673 bufr/ahws_139.bufr.desc.ref +1311182 bufr/ahws_139.bufr.num.ref +162 bufr/airc_142.bufr +400 bufr/airc_142.bufr.desc.ref +1421 bufr/airc_142.bufr.num.ref +162 bufr/airc_144.bufr +400 bufr/airc_144.bufr.desc.ref +1421 bufr/airc_144.bufr.num.ref +149 bufr/airep.bufr.out.ref +10772 bufr/airs_57.bufr +526 bufr/airs_57.bufr.desc.ref +512461 bufr/airs_57.bufr.num.ref +10698 bufr/alws_139.bufr +673 bufr/alws_139.bufr.desc.ref +895441 bufr/alws_139.bufr.num.ref +172 bufr/amda_144.bufr +442 bufr/amda_144.bufr.desc.ref +1565 bufr/amda_144.bufr.num.ref +4928 bufr/amsa_55.bufr +1093 bufr/amsa_55.bufr.desc.ref +494978 bufr/amsa_55.bufr.num.ref +5216 bufr/amsb_55.bufr +1093 bufr/amsb_55.bufr.desc.ref +495106 bufr/amsb_55.bufr.num.ref +10304 bufr/amse_55.bufr +1093 bufr/amse_55.bufr.desc.ref +494978 bufr/amse_55.bufr.num.ref +4832 bufr/amsu_55.bufr +1093 bufr/amsu_55.bufr.desc.ref +490626 bufr/amsu_55.bufr.num.ref +7280 bufr/amv2_87.bufr +1947 bufr/amv2_87.bufr.desc.ref +882726 bufr/amv2_87.bufr.num.ref +7312 bufr/amv3_87.bufr +1947 bufr/amv3_87.bufr.desc.ref +882669 bufr/amv3_87.bufr.num.ref +48088 bufr/asbh_139.bufr +673 bufr/asbh_139.bufr.desc.ref +5980754 bufr/asbh_139.bufr.num.ref +49504 bufr/asbl_139.bufr +673 bufr/asbl_139.bufr.desc.ref +5105522 bufr/asbl_139.bufr.num.ref +49252 bufr/asca_139.bufr +673 bufr/asca_139.bufr.desc.ref +6126626 bufr/asca_139.bufr.num.ref +49872 bufr/asch_139.bufr +673 bufr/asch_139.bufr.desc.ref +5233160 bufr/asch_139.bufr.num.ref +49914 bufr/ascs_139.bufr +673 bufr/ascs_139.bufr.desc.ref +4982813 bufr/ascs_139.bufr.num.ref +11886 bufr/aseh_139.bufr +673 bufr/aseh_139.bufr.desc.ref +1302705 bufr/aseh_139.bufr.num.ref +14436 bufr/asel_139.bufr +673 bufr/asel_139.bufr.desc.ref +891148 bufr/asel_139.bufr.num.ref +49872 bufr/ashs_139.bufr +673 bufr/ashs_139.bufr.desc.ref +5239925 bufr/ashs_139.bufr.num.ref +5906 bufr/atap_55.bufr +1093 bufr/atap_55.bufr.desc.ref +580052 bufr/atap_55.bufr.num.ref +5040 bufr/ateu_155.bufr +1093 bufr/ateu_155.bufr.desc.ref +495106 bufr/ateu_155.bufr.num.ref +13692 bufr/atms_201.bufr +246 bufr/atms_201.bufr.desc.ref +716674 bufr/atms_201.bufr.num.ref +1522 bufr/atov_55.bufr +1093 bufr/atov_55.bufr.desc.ref +116012 bufr/atov_55.bufr.num.ref +4032 bufr/avhm_87.bufr +1947 bufr/avhm_87.bufr.desc.ref +879744 bufr/avhm_87.bufr.num.ref +4308 bufr/avhn_87.bufr +1737 bufr/avhn_87.bufr.desc.ref +786928 bufr/avhn_87.bufr.num.ref +162 bufr/avhr_58.bufr +386 bufr/avhr_58.bufr.desc.ref +1370 bufr/avhr_58.bufr.num.ref +760 bufr/b002_95.bufr +3445 bufr/b002_95.bufr.desc.ref +12086 bufr/b002_95.bufr.num.ref +180 bufr/b002_96.bufr +211 bufr/b002_96.bufr.desc.ref +1652 bufr/b002_96.bufr.num.ref +3512 bufr/b003_56.bufr +1576 bufr/b003_56.bufr.desc.ref +167819 bufr/b003_56.bufr.num.ref +238 bufr/b004_145.bufr +610 bufr/b004_145.bufr.desc.ref +2157 bufr/b004_145.bufr.num.ref +3464 bufr/b005_87.bufr +1779 bufr/b005_87.bufr.desc.ref +806530 bufr/b005_87.bufr.num.ref +3980 bufr/b005_89.bufr +1723 bufr/b005_89.bufr.desc.ref +778172 bufr/b005_89.bufr.num.ref +178 bufr/b006_96.bufr +211 bufr/b006_96.bufr.desc.ref +518 bufr/b006_96.bufr.num.ref +232 bufr/b007_31.bufr +379 bufr/b007_31.bufr.desc.ref +1345 bufr/b007_31.bufr.num.ref +7131 bufr/bad.bufr +268336 bufr/bad.bufr.json.ref +268843 bufr/bad.bufr.json.v0.16.0.ref +294 bufr/bssh_170.bufr +813 bufr/bssh_170.bufr.desc.ref +3262 bufr/bssh_170.bufr.num.ref +298 bufr/bssh_176.bufr +827 bufr/bssh_176.bufr.desc.ref +3310 bufr/bssh_176.bufr.num.ref +336 bufr/bssh_178.bufr +1205 bufr/bssh_178.bufr.desc.ref +4185 bufr/bssh_178.bufr.num.ref +244 bufr/bssh_180.bufr +694 bufr/bssh_180.bufr.desc.ref +2701 bufr/bssh_180.bufr.num.ref +464 bufr/btem_109.bufr +330 bufr/btem_109.bufr.desc.ref +4532 bufr/btem_109.bufr.num.ref +8424 bufr/bufr_ref_files.txt +232 bufr/buoy_27.bufr +764 bufr/buoy_27.bufr.desc.ref +2515 bufr/buoy_27.bufr.num.ref +2504 bufr/cmwi_87.bufr +1779 bufr/cmwi_87.bufr.desc.ref +802306 bufr/cmwi_87.bufr.num.ref +2824 bufr/cmwn_87.bufr +1779 bufr/cmwn_87.bufr.desc.ref +802306 bufr/cmwn_87.bufr.num.ref +194 bufr/cnow_28.bufr +127 bufr/cnow_28.bufr.desc.ref +451 bufr/cnow_28.bufr.num.ref +10950 bufr/cori_156.bufr +435 bufr/cori_156.bufr.desc.ref +386954 bufr/cori_156.bufr.num.ref +47622 bufr/crit_202.bufr +414 bufr/crit_202.bufr.desc.ref +1000082 bufr/crit_202.bufr.num.ref +4244 bufr/csrh_189.bufr +2682 bufr/csrh_189.bufr.desc.ref +1208706 bufr/csrh_189.bufr.num.ref +27372 bufr/delayed_repl_01.bufr +635500 bufr/delayed_repl_01.bufr.num.ref +7420 bufr/ecc738.msg2.bufr +8850 bufr/emsg_189.bufr +4593 bufr/emsg_189.bufr.desc.ref +2065794 bufr/emsg_189.bufr.num.ref +6784 bufr/emsg_87.bufr +1947 bufr/emsg_87.bufr.desc.ref +883055 bufr/emsg_87.bufr.num.ref +26144 bufr/eum_iasi_twt.bufr +27627 bufr/eumetsat_iasi_co.bufr +3948 bufr/euwv_87.bufr +1779 bufr/euwv_87.bufr.desc.ref +804994 bufr/euwv_87.bufr.num.ref +492 bufr/fy3a_154.bufr +183 bufr/fy3a_154.bufr.desc.ref +14252 bufr/fy3a_154.bufr.num.ref +474 bufr/fy3b_154.bufr +183 bufr/fy3b_154.bufr.desc.ref +14252 bufr/fy3b_154.bufr.num.ref +921 bufr/g2nd_208.bufr +323 bufr/g2nd_208.bufr.desc.ref +22904 bufr/g2nd_208.bufr.num.ref +356 bufr/g2to_206.bufr +281 bufr/g2to_206.bufr.desc.ref +5372 bufr/g2to_206.bufr.num.ref +1280 bufr/get_string_array.ref +5284 bufr/go15_87.bufr +1737 bufr/go15_87.bufr.desc.ref +787714 bufr/go15_87.bufr.num.ref +5924 bufr/goee_87.bufr +1835 bufr/goee_87.bufr.desc.ref +832514 bufr/goee_87.bufr.num.ref +17339 bufr/goes16_nm.bufr +3796 bufr/goes_87.bufr +1737 bufr/goes_87.bufr.desc.ref +786946 bufr/goes_87.bufr.num.ref +1578 bufr/goga_89.bufr +1660 bufr/goga_89.bufr.desc.ref +293652 bufr/goga_89.bufr.num.ref +1035614 bufr/good_j2eo.bufr +2984 bufr/gosat.bufr +456 bufr/gosat.bufr.desc.ref +91355 bufr/gosat.bufr.num.ref +474 bufr/grst_26.bufr +106 bufr/grst_26.bufr.desc.ref +44762 bufr/grst_26.bufr.num.ref +5160 bufr/gsd1_208.bufr +323 bufr/gsd1_208.bufr.desc.ref +162946 bufr/gsd1_208.bufr.num.ref +5144 bufr/gsd2_208.bufr +323 bufr/gsd2_208.bufr.desc.ref +162946 bufr/gsd2_208.bufr.num.ref +264 bufr/gsd3_208.bufr +323 bufr/gsd3_208.bufr.desc.ref +1275 bufr/gsd3_208.bufr.num.ref +474 bufr/gst4_26.bufr +106 bufr/gst4_26.bufr.desc.ref +44762 bufr/gst4_26.bufr.num.ref +5392 bufr/hirb_55.bufr +1093 bufr/hirb_55.bufr.desc.ref +495810 bufr/hirb_55.bufr.num.ref +5616 bufr/hirs_55.bufr +1093 bufr/hirs_55.bufr.desc.ref +497922 bufr/hirs_55.bufr.num.ref +180696 bufr/ias1_240.bufr +123831 bufr/ias1_240.bufr.desc.ref +6633512 bufr/ias1_240.bufr.num.ref +11050 bufr/iasi_241.bufr +2052 bufr/iasi_241.bufr.desc.ref +383099 bufr/iasi_241.bufr.num.ref +2168 bufr/ifco_208.bufr +323 bufr/ifco_208.bufr.desc.ref +161794 bufr/ifco_208.bufr.num.ref +14004 bufr/ikco_217.bufr +456 bufr/ikco_217.bufr.desc.ref +441767 bufr/ikco_217.bufr.num.ref +1274 bufr/imssnow.bufr +14375 bufr/israel_observations_2017041010.bufr +1368 bufr/itrg_208.bufr +323 bufr/itrg_208.bufr.desc.ref +161666 bufr/itrg_208.bufr.num.ref +18302 bufr/itwt_233.bufr +295 bufr/itwt_233.bufr.desc.ref +970457 bufr/itwt_233.bufr.num.ref +8624 bufr/j2eo_216.bufr +701 bufr/j2eo_216.bufr.desc.ref +319362 bufr/j2eo_216.bufr.num.ref +8768 bufr/j2nb_216.bufr +701 bufr/j2nb_216.bufr.desc.ref +319362 bufr/j2nb_216.bufr.num.ref +5004 bufr/jaso_214.bufr +526 bufr/jaso_214.bufr.desc.ref +240002 bufr/jaso_214.bufr.num.ref +14931 bufr/kond_209.bufr +400 bufr/kond_209.bufr.desc.ref +636546 bufr/kond_209.bufr.num.ref +7005 bufr/maer_207.bufr +295 bufr/maer_207.bufr.desc.ref +368696 bufr/maer_207.bufr.num.ref +178 bufr/meta_140.bufr +505 bufr/meta_140.bufr.desc.ref +1798 bufr/meta_140.bufr.num.ref +180 bufr/metar_with_2_bias.bufr +49450 bufr/mhen_55.bufr +1093 bufr/mhen_55.bufr.desc.ref +8064722 bufr/mhen_55.bufr.num.ref +3264 bufr/mhsa_55.bufr +1093 bufr/mhsa_55.bufr.desc.ref +498562 bufr/mhsa_55.bufr.num.ref +3472 bufr/mhsb_55.bufr +1093 bufr/mhsb_55.bufr.desc.ref +498562 bufr/mhsb_55.bufr.num.ref +4976 bufr/mhse_55.bufr +1093 bufr/mhse_55.bufr.desc.ref +498690 bufr/mhse_55.bufr.num.ref +854 bufr/mloz_206.bufr +281 bufr/mloz_206.bufr.desc.ref +46372 bufr/mloz_206.bufr.num.ref +4292 bufr/modi_87.bufr +1737 bufr/modi_87.bufr.desc.ref +787053 bufr/modi_87.bufr.num.ref +3894 bufr/modw_87.bufr +1737 bufr/modw_87.bufr.desc.ref +676684 bufr/modw_87.bufr.num.ref +4500 bufr/monw_87.bufr +1737 bufr/monw_87.bufr.desc.ref +787078 bufr/monw_87.bufr.num.ref +174 bufr/new.bufr +243 bufr/new_207003.bufr.ref +543 bufr/new_aaen_55.bufr.ref +543 bufr/new_aben_55.bufr.ref +295 bufr/new_ahws_139.bufr.ref +162 bufr/new_airc_142.bufr.ref +162 bufr/new_airc_144.bufr.ref +289 bufr/new_airs_57.bufr.ref +295 bufr/new_alws_139.bufr.ref +172 bufr/new_amda_144.bufr.ref +543 bufr/new_amsa_55.bufr.ref +543 bufr/new_amsb_55.bufr.ref +543 bufr/new_amse_55.bufr.ref +543 bufr/new_amsu_55.bufr.ref +587 bufr/new_amv2_87.bufr.ref +587 bufr/new_amv3_87.bufr.ref +295 bufr/new_asbh_139.bufr.ref +295 bufr/new_asbl_139.bufr.ref +295 bufr/new_asca_139.bufr.ref +295 bufr/new_asch_139.bufr.ref +295 bufr/new_ascs_139.bufr.ref +295 bufr/new_aseh_139.bufr.ref +295 bufr/new_asel_139.bufr.ref +295 bufr/new_ashs_139.bufr.ref +543 bufr/new_atap_55.bufr.ref +543 bufr/new_ateu_155.bufr.ref +180 bufr/new_atms_201.bufr.ref +543 bufr/new_atov_55.bufr.ref +587 bufr/new_avhm_87.bufr.ref +483 bufr/new_avhn_87.bufr.ref +162 bufr/new_avhr_58.bufr.ref +760 bufr/new_b002_95.bufr.ref +143 bufr/new_b002_96.bufr.ref +1036 bufr/new_b003_56.bufr.ref +238 bufr/new_b004_145.bufr.ref +519 bufr/new_b005_87.bufr.ref +187 bufr/new_b006_96.bufr.ref +231 bufr/new_b007_31.bufr.ref +275 bufr/new_bssh_170.bufr.ref +279 bufr/new_bssh_176.bufr.ref +331 bufr/new_bssh_178.bufr.ref +229 bufr/new_bssh_180.bufr.ref +176 bufr/new_btem_109.bufr.ref +236 bufr/new_buoy_27.bufr.ref +519 bufr/new_cmwi_87.bufr.ref +519 bufr/new_cmwn_87.bufr.ref +189 bufr/new_cnow_28.bufr.ref +292 bufr/new_cori_156.bufr.ref +243 bufr/new_crit_202.bufr.ref +587 bufr/new_emsg_87.bufr.ref +519 bufr/new_euwv_87.bufr.ref +204 bufr/new_fy3a_154.bufr.ref +204 bufr/new_fy3b_154.bufr.ref +483 bufr/new_go15_87.bufr.ref +515 bufr/new_goee_87.bufr.ref +483 bufr/new_goes_87.bufr.ref +174 bufr/new_grst_26.bufr.ref +174 bufr/new_gst4_26.bufr.ref +543 bufr/new_hirb_55.bufr.ref +543 bufr/new_hirs_55.bufr.ref +46543 bufr/new_ias1_240.bufr.ref +972 bufr/new_iasi_241.bufr.ref +285 bufr/new_itwt_233.bufr.ref +384 bufr/new_j2eo_216.bufr.ref +384 bufr/new_j2nb_216.bufr.ref +380 bufr/new_jaso_214.bufr.ref +178 bufr/new_meta_140.bufr.ref +543 bufr/new_mhen_55.bufr.ref +543 bufr/new_mhsa_55.bufr.ref +543 bufr/new_mhsb_55.bufr.ref +543 bufr/new_mhse_55.bufr.ref +483 bufr/new_modi_87.bufr.ref +483 bufr/new_modw_87.bufr.ref +483 bufr/new_monw_87.bufr.ref +174 bufr/new_mytemp.bufr.ref +174 bufr/new_new.bufr.ref +185 bufr/new_ocea_131.bufr.ref +178 bufr/new_ocea_132.bufr.ref +152 bufr/new_ocea_133.bufr.ref +185 bufr/new_ocea_21.bufr.ref +539 bufr/new_pgps_110.bufr.ref +171 bufr/new_pilo_91.bufr.ref +406 bufr/new_replication.bufr.ref +133 bufr/new_s4kn_165.bufr.ref +197 bufr/new_ship_11.bufr.ref +197 bufr/new_ship_12.bufr.ref +197 bufr/new_ship_13.bufr.ref +197 bufr/new_ship_14.bufr.ref +197 bufr/new_ship_19.bufr.ref +197 bufr/new_ship_9.bufr.ref +737 bufr/new_smin_49.bufr.ref +737 bufr/new_smis_49.bufr.ref +737 bufr/new_smiu_49.bufr.ref +176 bufr/new_smos_203.bufr.ref +133 bufr/new_sn4k_165.bufr.ref +171 bufr/new_soil_7.bufr.ref +344 bufr/new_ssbt_127.bufr.ref +171 bufr/new_stuk_7.bufr.ref +220 bufr/new_syno_1.bufr.ref +220 bufr/new_syno_2.bufr.ref +220 bufr/new_syno_3.bufr.ref +220 bufr/new_syno_4.bufr.ref +220 bufr/new_syno_multi.bufr.ref +289 bufr/new_synop_multi_subset.bufr.ref +174 bufr/new_temp_101.bufr.ref +162 bufr/new_temp_102.bufr.ref +181 bufr/new_temp_106.bufr.ref +290 bufr/new_tmr7_129.bufr.ref +231 bufr/new_tros_31.bufr.ref +168 bufr/new_wavb_134.bufr.ref +1928 bufr/nomi_206.bufr +281 bufr/nomi_206.bufr.desc.ref +136322 bufr/nomi_206.bufr.num.ref +2552 bufr/nos1_208.bufr +323 bufr/nos1_208.bufr.desc.ref +161922 bufr/nos1_208.bufr.num.ref +2568 bufr/nos2_208.bufr +323 bufr/nos2_208.bufr.desc.ref +161922 bufr/nos2_208.bufr.num.ref +2568 bufr/nos3_208.bufr +323 bufr/nos3_208.bufr.desc.ref +161922 bufr/nos3_208.bufr.num.ref +2152 bufr/nos4_208.bufr +323 bufr/nos4_208.bufr.desc.ref +161922 bufr/nos4_208.bufr.num.ref +2584 bufr/nos5_208.bufr +323 bufr/nos5_208.bufr.desc.ref +161922 bufr/nos5_208.bufr.num.ref +2632 bufr/nos6_208.bufr +323 bufr/nos6_208.bufr.desc.ref +161922 bufr/nos6_208.bufr.num.ref +2632 bufr/nos7_208.bufr +323 bufr/nos7_208.bufr.desc.ref +161922 bufr/nos7_208.bufr.num.ref +2168 bufr/nos8_208.bufr +323 bufr/nos8_208.bufr.desc.ref +161922 bufr/nos8_208.bufr.num.ref +186 bufr/ocea_131.bufr +715 bufr/ocea_131.bufr.desc.ref +2536 bufr/ocea_131.bufr.num.ref +938 bufr/ocea_132.bufr +645 bufr/ocea_132.bufr.desc.ref +9249 bufr/ocea_132.bufr.num.ref +152 bufr/ocea_133.bufr +316 bufr/ocea_133.bufr.desc.ref +1126 bufr/ocea_133.bufr.num.ref +186 bufr/ocea_21.bufr +715 bufr/ocea_21.bufr.desc.ref +2534 bufr/ocea_21.bufr.num.ref +2752 bufr/pgps_110.bufr +1226 bufr/pgps_110.bufr.desc.ref +539650 bufr/pgps_110.bufr.num.ref +726 bufr/pilo_91.bufr +176 bufr/pilo_91.bufr.desc.ref +17802 bufr/pilo_91.bufr.num.ref +426 bufr/profiler_european.bufr +7725 bufr/profiler_european.bufr.num.ref +5308 bufr/rada_250.bufr +421 bufr/rada_250.bufr.desc.ref +99626 bufr/rada_250.bufr.num.ref +5308 bufr/rado_250.bufr +421 bufr/rado_250.bufr.desc.ref +100101 bufr/rado_250.bufr.num.ref +778 bufr/s4kn_165.bufr +64 bufr/s4kn_165.bufr.desc.ref +27002 bufr/s4kn_165.bufr.num.ref +472 bufr/sb19_206.bufr +281 bufr/sb19_206.bufr.desc.ref +21772 bufr/sb19_206.bufr.num.ref +1174 bufr/sbu8_206.bufr +281 bufr/sbu8_206.bufr.desc.ref +100144 bufr/sbu8_206.bufr.num.ref +35029 bufr/sentinel1.bufr +31583 bufr/set_unexpandedDescriptors.filter +198 bufr/ship_11.bufr +736 bufr/ship_11.bufr.desc.ref +2619 bufr/ship_11.bufr.num.ref +198 bufr/ship_12.bufr +736 bufr/ship_12.bufr.desc.ref +2619 bufr/ship_12.bufr.num.ref +198 bufr/ship_13.bufr +736 bufr/ship_13.bufr.desc.ref +2614 bufr/ship_13.bufr.num.ref +198 bufr/ship_14.bufr +736 bufr/ship_14.bufr.desc.ref +2614 bufr/ship_14.bufr.num.ref +198 bufr/ship_19.bufr +736 bufr/ship_19.bufr.desc.ref +2619 bufr/ship_19.bufr.num.ref +198 bufr/ship_9.bufr +736 bufr/ship_9.bufr.desc.ref +2619 bufr/ship_9.bufr.num.ref +2936 bufr/smin_49.bufr +1814 bufr/smin_49.bufr.desc.ref +386822 bufr/smin_49.bufr.num.ref +1852 bufr/smis_49.bufr +1814 bufr/smis_49.bufr.desc.ref +578432 bufr/smis_49.bufr.num.ref +3392 bufr/smiu_49.bufr +1814 bufr/smiu_49.bufr.desc.ref +388502 bufr/smiu_49.bufr.num.ref +36364 bufr/smos_203.bufr +225 bufr/smos_203.bufr.desc.ref +1140802 bufr/smos_203.bufr.num.ref +938 bufr/sn4k_165.bufr +64 bufr/sn4k_165.bufr.desc.ref +32177 bufr/sn4k_165.bufr.num.ref +172 bufr/soil_7.bufr +463 bufr/soil_7.bufr.desc.ref +1650 bufr/soil_7.bufr.num.ref +5257 bufr/srals3_ecmwf4.bufr +5312 bufr/srals3_eumetsat.bufr +2512 bufr/ssbt_127.bufr +421 bufr/ssbt_127.bufr.desc.ref +96002 bufr/ssbt_127.bufr.num.ref +172 bufr/stuk_7.bufr +463 bufr/stuk_7.bufr.desc.ref +1644 bufr/stuk_7.bufr.num.ref +275 bufr/syno.bufr.out.ref +220 bufr/syno_1.bufr +1051 bufr/syno_1.bufr.desc.ref +3737 bufr/syno_1.bufr.num.ref +220 bufr/syno_2.bufr +1051 bufr/syno_2.bufr.desc.ref +3737 bufr/syno_2.bufr.num.ref +220 bufr/syno_3.bufr +1051 bufr/syno_3.bufr.desc.ref +3730 bufr/syno_3.bufr.num.ref +220 bufr/syno_4.bufr +1051 bufr/syno_4.bufr.desc.ref +3737 bufr/syno_4.bufr.num.ref +660 bufr/syno_multi.bufr +3153 bufr/syno_multi.bufr.desc.ref +615 bufr/syno_multi.bufr.header.ref +11211 bufr/syno_multi.bufr.num.ref +439 bufr/synop.bufr +1652 bufr/synop_multi_subset.bufr +925 bufr/synop_multi_subset.bufr.desc.ref +25842 bufr/synop_multi_subset.bufr.num.ref +1196 bufr/temp-land-with-substituted-values.bufr +1470 bufr/temp_101.bufr +274 bufr/temp_101.bufr.desc.ref +38179 bufr/temp_101.bufr.num.ref +488 bufr/temp_102.bufr +246 bufr/temp_102.bufr.desc.ref +11266 bufr/temp_102.bufr.num.ref +1008 bufr/temp_106.bufr +281 bufr/temp_106.bufr.desc.ref +26647 bufr/temp_106.bufr.num.ref +4086 bufr/tmr7_129.bufr +365 bufr/tmr7_129.bufr.desc.ref +268530 bufr/tmr7_129.bufr.num.ref +41357 bufr/tropical_cyclone.bufr +232 bufr/tros_31.bufr +379 bufr/tros_31.bufr.desc.ref +1315 bufr/tros_31.bufr.num.ref +494 bufr/uegabe.bufr +4637 bufr/uegabe.bufr.num.ref +9937 bufr/vos308014_v3_26.bufr +980 bufr/wavb_134.bufr +372 bufr/wavb_134.bufr.desc.ref +18312 bufr/wavb_134.bufr.num.ref diff --git a/data/filesize_db.txt b/data/filesize_db.txt new file mode 100644 index 000000000..85646e0ce --- /dev/null +++ b/data/filesize_db.txt @@ -0,0 +1,185 @@ +29545 bad.grib +43 bad.grib.md5 +6000 budg +39 budg.md5 +61806 ccsds.grib2 +46 ccsds.grib2.md5 +102 constant_field.grib1 +55 constant_field.grib1.md5 +199 constant_field.grib2 +55 constant_field.grib2.md5 +840 constant_width_bitmap.grib +61 constant_width_bitmap.grib.md5 +840 constant_width_boust_bitmap.grib +67 constant_width_boust_bitmap.grib.md5 +4822 gen.grib +43 gen.grib.md5 +840 gen_bitmap.grib +50 gen_bitmap.grib.md5 +4118 gen_ext.grib +47 gen_ext.grib.md5 +840 gen_ext_bitmap.grib +54 gen_ext_bitmap.grib.md5 +4028 gen_ext_boust.grib +53 gen_ext_boust.grib.md5 +840 gen_ext_boust_bitmap.grib +60 gen_ext_boust_bitmap.grib.md5 +3510 gen_ext_spd_2.grib +53 gen_ext_spd_2.grib.md5 +840 gen_ext_spd_2_bitmap.grib +60 gen_ext_spd_2_bitmap.grib.md5 +840 gen_ext_spd_2_boust_bitmap.grib +66 gen_ext_spd_2_boust_bitmap.grib.md5 +3264 gen_ext_spd_3.grib +53 gen_ext_spd_3.grib.md5 +840 gen_ext_spd_3_boust_bitmap.grib +66 gen_ext_spd_3_boust_bitmap.grib.md5 +1570351 gep10.t12z.pgrb2af78.grib2 +8306 gfs.c255.grib2 +49 gfs.c255.grib2.md5 +80576 gfs.complex.mvmu.grib2 +44177 grid_ieee.grib +49 grid_ieee.grib.md5 +516 gts.grib +43 gts.grib.md5 +801095 high_level_api.grib2 +55 high_level_api.grib2.md5 +23620 in_copy.grib +47 in_copy.grib.md5 +369408 index.grib +45 index.grib.md5 +40526 jpeg.grib2 +45 jpeg.grib2.md5 +960 latlon.grib +46 latlon.grib.md5 +960 latlon_noread.grib +46 latlon_noread.grib.md5 +2163480 lfpw.grib1 +45 lfpw.grib1.md5 +3039556 lfpw.grib2 +6339 mercator.grib2 +1176 missing.grib2 +48 missing.grib2.md5 +90864 missing_field.grib1 +54 missing_field.grib1.md5 +74479720 mixed.grib +45 mixed.grib.md5 +5204 msl.octa.glob.grib1 +54 msl.octa.glob.grib1.md5 +5008535 multi.grib2 +46 multi.grib2.md5 +22399 multi_created.grib2 +54 multi_created.grib2.md5 +43441 pad.grib +43 pad.grib.md5 +12464 reduced_gaussian_lsm.grib1 +61 reduced_gaussian_lsm.grib1.md5 +10908 reduced_gaussian_model_level.grib1 +69 reduced_gaussian_model_level.grib1.md5 +10996 reduced_gaussian_model_level.grib2 +69 reduced_gaussian_model_level.grib2.md5 +10172 reduced_gaussian_pressure_level.grib1 +72 reduced_gaussian_pressure_level.grib1.md5 +10260 reduced_gaussian_pressure_level.grib2 +72 reduced_gaussian_pressure_level.grib2.md5 +236 reduced_gaussian_pressure_level_constant.grib1 +81 reduced_gaussian_pressure_level_constant.grib1.md5 +312 reduced_gaussian_pressure_level_constant.grib2 +81 reduced_gaussian_pressure_level_constant.grib2.md5 +80908 reduced_gaussian_sub_area.grib1 +66 reduced_gaussian_sub_area.grib1.md5 +80989 reduced_gaussian_sub_area.grib2 +66 reduced_gaussian_sub_area.grib2.md5 +10936 reduced_gaussian_surface.grib1 +65 reduced_gaussian_surface.grib1.md5 +11024 reduced_gaussian_surface.grib2 +65 reduced_gaussian_surface.grib2.md5 +8580 reduced_gaussian_surface_jpeg.grib2 +70 reduced_gaussian_surface_jpeg.grib2.md5 +335446 reduced_latlon_surface.grib1 +63 reduced_latlon_surface.grib1.md5 +335528 reduced_latlon_surface.grib2 +63 reduced_latlon_surface.grib2.md5 +40288 reduced_latlon_surface_constant.grib1 +72 reduced_latlon_surface_constant.grib1.md5 +40357 reduced_latlon_surface_constant.grib2 +72 reduced_latlon_surface_constant.grib2.md5 +642960 reference_ensemble_mean.grib1 +64 reference_ensemble_mean.grib1.md5 +642960 reference_stdev.grib1 +56 reference_stdev.grib1.md5 +14156 regular_gaussian_model_level.grib1 +69 regular_gaussian_model_level.grib1.md5 +14244 regular_gaussian_model_level.grib2 +69 regular_gaussian_model_level.grib2.md5 +13420 regular_gaussian_pressure_level.grib1 +72 regular_gaussian_pressure_level.grib1.md5 +13508 regular_gaussian_pressure_level.grib2 +72 regular_gaussian_pressure_level.grib2.md5 +108 regular_gaussian_pressure_level_constant.grib1 +81 regular_gaussian_pressure_level_constant.grib1.md5 +184 regular_gaussian_pressure_level_constant.grib2 +81 regular_gaussian_pressure_level_constant.grib2.md5 +14444 regular_gaussian_surface.grib1 +65 regular_gaussian_surface.grib1.md5 +14532 regular_gaussian_surface.grib2 +65 regular_gaussian_surface.grib2.md5 +1100 regular_latlon_surface.grib1 +63 regular_latlon_surface.grib1.md5 +1188 regular_latlon_surface.grib2 +63 regular_latlon_surface.grib2.md5 +108 regular_latlon_surface_constant.grib1 +72 regular_latlon_surface_constant.grib1.md5 +184 regular_latlon_surface_constant.grib2 +72 regular_latlon_surface_constant.grib2.md5 +5054 row.grib +43 row.grib.md5 +1179 sample.grib2 +47 sample.grib2.md5 +9954030 satellite.grib +49 satellite.grib.md5 +50780 second_ord_rbr.grib1 +55 second_ord_rbr.grib1.md5 +9038 simple.grib +46 simple.grib.md5 +840 simple_bitmap.grib +53 simple_bitmap.grib.md5 +2145000 small_ensemble.grib1 +55 small_ensemble.grib1.md5 +1283400 spectral_compex.grib1 +56 spectral_compex.grib1.md5 +1283400 spectral_complex.grib1 +57 spectral_complex.grib1.md5 +10200 spherical_model_level.grib1 +62 spherical_model_level.grib1.md5 +10146 spherical_model_level.grib2 +62 spherical_model_level.grib2.md5 +9360 spherical_pressure_level.grib1 +65 spherical_pressure_level.grib1.md5 +9410 spherical_pressure_level.grib2 +65 spherical_pressure_level.grib2.md5 +11394230 sst_globus0083.grib +54 sst_globus0083.grib.md5 +53870796 test.grib1 +45 test.grib1.md5 +2560932 test_file.grib2 +406 test_uuid.grib2 +50 test_uuid.grib2.md5 +63237 tigge_af_ecmwf.grib2 +55 tigge_af_ecmwf.grib2.md5 +64272 tigge_cf_ecmwf.grib2 +55 tigge_cf_ecmwf.grib2.md5 +388796 tigge_ecmwf.grib2 +52 tigge_ecmwf.grib2.md5 +60253 tigge_pf_ecmwf.grib2 +55 tigge_pf_ecmwf.grib2.md5 +102 timeRangeIndicator_0.grib +60 timeRangeIndicator_0.grib.md5 +102 timeRangeIndicator_10.grib +61 timeRangeIndicator_10.grib.md5 +102 timeRangeIndicator_5.grib +60 timeRangeIndicator_5.grib.md5 +4800 tp_ecmwf.grib +48 tp_ecmwf.grib.md5 +2375552 v.grib2 +42 v.grib2.md5 diff --git a/examples/C/bufr_clone.sh b/examples/C/bufr_clone.sh index 2e2bf3cba..b14ff5fc9 100755 --- a/examples/C/bufr_clone.sh +++ b/examples/C/bufr_clone.sh @@ -18,6 +18,7 @@ rm -f $fBufrTmp1 $fBufrTmp2 # We clone this bufr file f=${data_dir}/bufr/syno_1.bufr +grib_check_filesize bufr/syno_1.bufr REDIRECT=/dev/null diff --git a/examples/C/bufr_expanded.sh b/examples/C/bufr_expanded.sh index 718bce1b9..4af049473 100755 --- a/examples/C/bufr_expanded.sh +++ b/examples/C/bufr_expanded.sh @@ -21,6 +21,7 @@ rm -f $fTmp | true #---------------------------------------------------- f=${data_dir}/bufr/syno_1.bufr +grib_check_filesize bufr/syno_1.bufr REDIRECT=/dev/null #Write the values into a file diff --git a/examples/C/bufr_keys_iterator.sh b/examples/C/bufr_keys_iterator.sh index a01ec87e6..8edda1cee 100755 --- a/examples/C/bufr_keys_iterator.sh +++ b/examples/C/bufr_keys_iterator.sh @@ -22,6 +22,7 @@ rm -f $fTmp REDIRECT=/dev/null f=${data_dir}/bufr/syno_1.bufr +grib_check_filesize bufr/syno_1.bufr ${examples_dir}/c_bufr_keys_iterator $f 2> $REDIRECT > $fTmp # Check the output diff --git a/examples/C/include.sh b/examples/C/include.sh index 2332e2a42..bd4419a8e 100644 --- a/examples/C/include.sh +++ b/examples/C/include.sh @@ -59,3 +59,5 @@ else #${tools_dir}/codes_info set -u fi + +. ../../tests/utils.sh diff --git a/examples/F90/bufr_copy_message.sh b/examples/F90/bufr_copy_message.sh index 226a89119..f70f8ef13 100755 --- a/examples/F90/bufr_copy_message.sh +++ b/examples/F90/bufr_copy_message.sh @@ -10,6 +10,7 @@ . ./include.sh INPUT="../../data/bufr/syno_1.bufr" +grib_check_filesize bufr/syno_1.bufr OUTPUT=out.copy.bufr ${examples_dir}/eccodes_f_bufr_copy_message > /dev/null diff --git a/examples/F90/bufr_expanded.sh b/examples/F90/bufr_expanded.sh index 8b75c97ca..a8ab6fd49 100755 --- a/examples/F90/bufr_expanded.sh +++ b/examples/F90/bufr_expanded.sh @@ -21,6 +21,7 @@ rm -f $fTmp | true #---------------------------------------------------- #f=${data_dir}/bufr/syno_1.bufr +grib_check_filesize bufr/syno_1.bufr REDIRECT=/dev/null #We check "syno_1.bufr". The path is diff --git a/examples/F90/bufr_keys_iterator.sh b/examples/F90/bufr_keys_iterator.sh index 80f9f58d5..10dda38c7 100755 --- a/examples/F90/bufr_keys_iterator.sh +++ b/examples/F90/bufr_keys_iterator.sh @@ -20,6 +20,7 @@ rm -f $fTmp | true REDIRECT=/dev/null f=${data_dir}/bufr/syno_1.bufr +grib_check_filesize bufr/syno_1.bufr #The input ($f) is hardcoded in the f90 example!!! ${examples_dir}/eccodes_f_bufr_keys_iterator #2> $REDIRECT > $fTmp diff --git a/examples/F90/include.sh b/examples/F90/include.sh index 74403ee37..8550d065b 100755 --- a/examples/F90/include.sh +++ b/examples/F90/include.sh @@ -57,3 +57,5 @@ else set -u fi + +. ../../tests/utils.sh diff --git a/tests/bufr_change_edition.sh b/tests/bufr_change_edition.sh index 6eb74058d..6121fee41 100755 --- a/tests/bufr_change_edition.sh +++ b/tests/bufr_change_edition.sh @@ -20,6 +20,8 @@ fBufrTmp=${label}".bufr.tmp" bufr_files=`cat ${data_dir}/bufr/bufr_data_files.txt` for f in ${bufr_files}; do + grib_check_filesize bufr/$f + if [ "$f" = "ias1_240.bufr" ]; then continue; fi # Convert to BUFR edition 4 diff --git a/tests/bufr_compare.sh b/tests/bufr_compare.sh index 209ba775a..d182a79e6 100755 --- a/tests/bufr_compare.sh +++ b/tests/bufr_compare.sh @@ -29,6 +29,7 @@ fBufrInput2=${label}".bufr.input2" # Define filter rules file fRules=${label}.filter +grib_check_filesize bufr/syno_1.bufr #---------------------------------------------------- # Test: comparing same files #---------------------------------------------------- diff --git a/tests/bufr_dump_data.sh b/tests/bufr_dump_data.sh index e955032c8..f538540d8 100755 --- a/tests/bufr_dump_data.sh +++ b/tests/bufr_dump_data.sh @@ -32,6 +32,7 @@ bufr_files=`cat ${data_dir}/bufr/bufr_data_files.txt` REDIRECT=/dev/null for file in ${bufr_files}; do + grib_check_filesize bufr/$file ${tools_dir}/bufr_dump -O ${data_dir}/bufr/$file >/dev/null done diff --git a/tests/bufr_dump_decode_C.sh b/tests/bufr_dump_decode_C.sh index 8f964dc96..cb52f3eb0 100755 --- a/tests/bufr_dump_decode_C.sh +++ b/tests/bufr_dump_decode_C.sh @@ -55,6 +55,8 @@ fi for file in ${bufr_files} do + grib_check_filesize bufr/$file + tempSrc=$label.$file.c tempExe=$label.$file.exe filePath=${data_dir}/bufr/$file diff --git a/tests/bufr_dump_decode_filter.sh b/tests/bufr_dump_decode_filter.sh index 6769c7d9d..e41e12814 100755 --- a/tests/bufr_dump_decode_filter.sh +++ b/tests/bufr_dump_decode_filter.sh @@ -38,6 +38,7 @@ exclude="ias1_240.bufr syno_multi.bufr tropical_cyclone.bufr aeolus_wmo_26.bufr" for f in $files do + grib_check_filesize bufr/$f process_bufr=1 for ex in $exclude; do if [ "$f" = "$ex" ]; then process_bufr=0; break; fi diff --git a/tests/bufr_dump_decode_fortran.sh b/tests/bufr_dump_decode_fortran.sh index c2e6649f2..7ae6a58a2 100755 --- a/tests/bufr_dump_decode_fortran.sh +++ b/tests/bufr_dump_decode_fortran.sh @@ -51,6 +51,8 @@ fi for file in ${bufr_files} do + grib_check_filesize bufr/$file + tempSrc=$label.$file.f90 tempExe=$label.$file.exe filePath=${data_dir}/bufr/$file diff --git a/tests/bufr_dump_decode_python.sh b/tests/bufr_dump_decode_python.sh index 6c030b669..5dda3d090 100755 --- a/tests/bufr_dump_decode_python.sh +++ b/tests/bufr_dump_decode_python.sh @@ -27,6 +27,8 @@ bufr_files=`cat ${data_dir}/bufr/bufr_data_files.txt` for file in ${bufr_files} do + grib_check_filesize bufr/$file + inputBufr=${data_dir}/bufr/$file tempSrc=$label.$file.py diff --git a/tests/bufr_dump_descriptors.sh b/tests/bufr_dump_descriptors.sh index c42f11457..00019e0cb 100755 --- a/tests/bufr_dump_descriptors.sh +++ b/tests/bufr_dump_descriptors.sh @@ -34,6 +34,7 @@ REDIRECT=/dev/null for file in ${bufr_files} do + grib_check_filesize bufr/$file ${tools_dir}/bufr_dump -d ${data_dir}/bufr/$file >/dev/null done diff --git a/tests/bufr_dump_encode_C.sh b/tests/bufr_dump_encode_C.sh index 2e3f05334..312eef37b 100755 --- a/tests/bufr_dump_encode_C.sh +++ b/tests/bufr_dump_encode_C.sh @@ -64,6 +64,7 @@ fi for file in ${bufr_files} do + grib_check_filesize bufr/$file tempSrc=$label.$file.c tempExe=$label.$file.exe diff --git a/tests/bufr_dump_encode_filter.sh b/tests/bufr_dump_encode_filter.sh index b6a4a31db..d57d19b7d 100755 --- a/tests/bufr_dump_encode_filter.sh +++ b/tests/bufr_dump_encode_filter.sh @@ -49,6 +49,8 @@ exclude="ias1_240.bufr syno_multi.bufr tropical_cyclone.bufr aeolus_wmo_26.bufr for f in $files do + grib_check_filesize bufr/$f + process_bufr=1 for ex in $exclude; do if [ "$f" = "$ex" ]; then process_bufr=0; break; fi diff --git a/tests/bufr_dump_encode_fortran.sh b/tests/bufr_dump_encode_fortran.sh index 859d2111e..3902cef21 100755 --- a/tests/bufr_dump_encode_fortran.sh +++ b/tests/bufr_dump_encode_fortran.sh @@ -51,6 +51,8 @@ fi for file in ${bufr_files} do + grib_check_filesize bufr/$file + tempSrc=$label.$file.f90 tempExe=$label.$file.exe diff --git a/tests/bufr_dump_encode_python.sh b/tests/bufr_dump_encode_python.sh index 80d9f2a8a..73f806a7f 100755 --- a/tests/bufr_dump_encode_python.sh +++ b/tests/bufr_dump_encode_python.sh @@ -26,6 +26,8 @@ bufr_files=`cat ${data_dir}/bufr/bufr_data_files.txt` for file in ${bufr_files} do + grib_check_filesize bufr/$file + inputBufr=${data_dir}/bufr/$file tempSrc=$label.$file.py diff --git a/tests/bufr_dump_subset.sh b/tests/bufr_dump_subset.sh index ccac94980..b74df0a4f 100755 --- a/tests/bufr_dump_subset.sh +++ b/tests/bufr_dump_subset.sh @@ -60,6 +60,7 @@ ${tools_dir}/bufr_dump -p -S12 $input| grep 'stationOrSiteName="SANDE-GALLEBERG" bufr_files=`cat ${data_dir}/bufr/bufr_data_files.txt` for file in ${bufr_files} do + grib_check_filesize bufr/$file # Every file has at least one subset ${tools_dir}/bufr_dump -wcount=1 -S1 ${data_dir}/bufr/$file >/dev/null done diff --git a/tests/bufr_ecc-286.sh b/tests/bufr_ecc-286.sh index 970254fb7..787ca25cc 100755 --- a/tests/bufr_ecc-286.sh +++ b/tests/bufr_ecc-286.sh @@ -21,6 +21,7 @@ tempRules=temp.${label}.filter tempOut=temp.${label}.out tempRef=temp.${label}.ref BufrFile=syno_1.bufr +grib_check_filesize bufr/$BufrFile cat > $tempRules < $tempRules < $temp1 ${tools_dir}/bufr_get -f -p $KEYS $input > $temp2 diff --git a/tests/bufr_filter.sh b/tests/bufr_filter.sh index ea67490ee..8f6dd41ea 100755 --- a/tests/bufr_filter.sh +++ b/tests/bufr_filter.sh @@ -44,6 +44,7 @@ EOF bufr_files=`cat bufr_data_files.txt` for f in ${bufr_files} ; do echo "file: $f" >> $fLog + grib_check_filesize bufr/$f ${tools_dir}/codes_bufr_filter $fRules $f >> $fLog ${tools_dir}/codes_bufr_filter $fRules $f >> $fLog # See ECC-205 done diff --git a/tests/bufr_get.sh b/tests/bufr_get.sh index 26633d503..3a8cc66f6 100755 --- a/tests/bufr_get.sh +++ b/tests/bufr_get.sh @@ -41,6 +41,7 @@ id=`${tools_dir}/bufr_get -p edition,identifier aaen_55.bufr` # Test "-p" switch #------------------------------------------- f="aaen_55.bufr" +grib_check_filesize bufr/$f # The reference is the same as for ls ref_get=$f".ls.ref" @@ -56,6 +57,9 @@ diff $ref_get $res_get #------------------------------------------- # ECC-236 #------------------------------------------- +grib_check_filesize bufr/syno_1.bufr +grib_check_filesize bufr/bssh_176.bufr +grib_check_filesize bufr/wavb_134.bufr result=`${tools_dir}/bufr_get -s unpack=1 -p nonCoordinatePressure syno_1.bufr` [ "$result" = "100910" ] result=`${tools_dir}/bufr_get -s unpack=1 -p stationOrSiteName bssh_176.bufr` @@ -89,6 +93,8 @@ diff $tempRef $fTmp #------------------------------------------- # Local ECMWF section: 'ident' key #------------------------------------------- +grib_check_filesize bufr/temp_102.bufr +grib_check_filesize bufr/b003_56.bufr result=`${tools_dir}/bufr_get -p isSatellite,ident syno_1.bufr` [ "$result" = "0 91334" ] result=`${tools_dir}/bufr_get -p isSatellite,ident temp_102.bufr` diff --git a/tests/bufr_json_data.sh b/tests/bufr_json_data.sh index 3a58b98a9..d8553bc88 100755 --- a/tests/bufr_json_data.sh +++ b/tests/bufr_json_data.sh @@ -36,6 +36,7 @@ echo "Using $JSON_CHECK ..." # ------------------------- bufr_files=`cat bufr_data_files.txt` for file in ${bufr_files}; do + grib_check_filesize bufr/$file # Test the various JSON dump modes: 'structure', 'all' and 'flat' for mode in s a f; do rm -f ${file}.json diff --git a/tests/bufr_ls.sh b/tests/bufr_ls.sh index b2abc0fa7..05cf78521 100755 --- a/tests/bufr_ls.sh +++ b/tests/bufr_ls.sh @@ -27,6 +27,7 @@ rm -f $fTmp #---------------------------------------------- bufr_files=`cat bufr_data_files.txt` for f in ${bufr_files} ; do + grib_check_filesize bufr/$f echo $f >> $fLog ${tools_dir}/bufr_ls $f >> $fLog done diff --git a/tests/bufr_ls_json.sh b/tests/bufr_ls_json.sh index 037a471a8..9a51934cd 100755 --- a/tests/bufr_ls_json.sh +++ b/tests/bufr_ls_json.sh @@ -34,6 +34,7 @@ echo "Using $JSON_CHECK ..." bufr_files=`cat bufr_data_files.txt` for file in ${bufr_files} do + grib_check_filesize bufr/$file ${tools_dir}/bufr_ls -j $file > $tempLog if test "x$JSON_CHECK" != "x"; then cat $tempLog | json_xs -t none diff --git a/tests/bufr_set.sh b/tests/bufr_set.sh index 640b4f886..7657a0540 100755 --- a/tests/bufr_set.sh +++ b/tests/bufr_set.sh @@ -33,6 +33,7 @@ fBufrTmp=${label}".bufr.tmp" rm -f $fBufrTmp f="syno_1.bufr" +grib_check_filesize bufr/$f echo "Test: setting header for single message file" >> $fLog echo "file: $f" >> $fLog ${tools_dir}/bufr_set -v -p bufrHeaderCentre,bufrHeaderCentre:l -s bufrHeaderCentre=222 $f $fBufrTmp >> $fLog @@ -47,6 +48,7 @@ centre=`${tools_dir}/bufr_get -p bufrHeaderCentre $fBufrTmp` rm -f $fBufrTmp f="syno_multi.bufr" +grib_check_filesize bufr/$f echo "Test: setting header for multi-message file" >> $fLog echo "file: $f" >> $fLog ${tools_dir}/bufr_set -v -p bufrHeaderCentre,bufrHeaderCentre:l -s bufrHeaderCentre=222 $f $fBufrTmp >> $fLog @@ -141,6 +143,7 @@ ${tools_dir}/bufr_set -f -s bufrHeaderCentre=1024 -f $f $fBufrTmp 2>>$fLog 1>>$f #----------------------------------------------------------- f=aaen_55.bufr +grib_check_filesize bufr/$f # The correction1 key is of type "bits" and only 6 bits wide # So its range is 0 -> 63 inclusive ${tools_dir}/bufr_set -s correction1=63 $f $fBufrTmp 2>>$fLog 1>>$fLog @@ -162,6 +165,7 @@ set -e # Test: Local ECMWF section. The 'ident' key #----------------------------------------------------------- f=temp_101.bufr +grib_check_filesize bufr/$f ${tools_dir}/bufr_set -s ident=ABCD $f $fBufrTmp result=`${tools_dir}/bufr_get -p ident $fBufrTmp` [ "$result" = "ABCD" ] diff --git a/tests/bufr_split_by_rdbSubtype.sh b/tests/bufr_split_by_rdbSubtype.sh index 6d170feb1..509a5f44d 100755 --- a/tests/bufr_split_by_rdbSubtype.sh +++ b/tests/bufr_split_by_rdbSubtype.sh @@ -27,6 +27,8 @@ EOF bufr_files=`cat ${data_dir}/bufr/bufr_data_files.txt` for f in ${bufr_files}; do + grib_check_filesize bufr/$f + fpath=${data_dir}/bufr/$f # This will create output files like out.filter_by_rdbSubtype.* diff --git a/tests/bufr_threads_ecc-604.sh b/tests/bufr_threads_ecc-604.sh index 035db6e5c..0e2a0a12c 100755 --- a/tests/bufr_threads_ecc-604.sh +++ b/tests/bufr_threads_ecc-604.sh @@ -59,6 +59,8 @@ cd $temp_dir bufr_files=`cat ${data_dir}/bufr/bufr_data_files.txt` for bf in ${bufr_files}; do + grib_check_filesize bufr/$bf + b=${data_dir}/bufr/$bf echo "Doing $b" process $b diff --git a/tests/bufr_wmo_tables.sh b/tests/bufr_wmo_tables.sh index 3e7915fe9..c9e8868d0 100755 --- a/tests/bufr_wmo_tables.sh +++ b/tests/bufr_wmo_tables.sh @@ -38,6 +38,8 @@ blacklist=$blacklist",centre,subCentre,generatingApplication" for file in ${bufr_files} do + grib_check_filesize bufr/$file + input=${data_dir}/bufr/$file mtv=`${tools_dir}/bufr_get -wcount=1 -p masterTablesVersionNumber $input` # Must exclude old versions (before 14): diff --git a/tests/bufrdc_desc_ref.sh b/tests/bufrdc_desc_ref.sh index e927f87df..0f1f88ffd 100755 --- a/tests/bufrdc_desc_ref.sh +++ b/tests/bufrdc_desc_ref.sh @@ -19,6 +19,8 @@ EOF bufr_files=`cat ${data_dir}/bufr/bufr_data_files.txt` for bf in ${bufr_files} do + grib_check_filesize bufr/$bf + file=${data_dir}/bufr/$bf # Test descriptors: compare output of filter (res) with reference file (ref) diff --git a/tests/bufrdc_ref.sh b/tests/bufrdc_ref.sh index 4a0b0a653..3583a794f 100755 --- a/tests/bufrdc_ref.sh +++ b/tests/bufrdc_ref.sh @@ -21,7 +21,10 @@ bufr_files=`cat ${data_dir}/bufr/bufr_data_files.txt` for bf in ${bufr_files} do + grib_check_filesize bufr/$bf + file=${data_dir}/bufr/$bf + grib_check_filesize bufr/$bf.num.ref # Test numeric data: compare output of filter (res) with reference file (ref) res_num=$file.num.test ref_num=$file.num.ref diff --git a/tests/grib_bitsPerValue.sh b/tests/grib_bitsPerValue.sh index fc5e99047..8551e8c84 100755 --- a/tests/grib_bitsPerValue.sh +++ b/tests/grib_bitsPerValue.sh @@ -86,6 +86,7 @@ v.grib2 # Make sure the key "bitsPerValue" is defined for all gribs # grib_get will fail if the key is not defined for file in $files; do + grib_check_filesize $file infile=${data_dir}/$file if [ -f "$infile" ]; then ${tools_dir}/grib_get -p bitsPerValue $infile >/dev/null diff --git a/tests/grib_concept.sh b/tests/grib_concept.sh index 5de54de26..4161567db 100755 --- a/tests/grib_concept.sh +++ b/tests/grib_concept.sh @@ -73,6 +73,8 @@ tmp="tmp.concept.out" for d in $data do + grib_check_filesize $d + set -e ${tools_dir}/grib_ls -p gridType,packingType -w dataRepresentationType!=192 ${data_dir}/$d > $tmp diff --git a/tests/grib_ls_json.sh b/tests/grib_ls_json.sh index 11938b903..37ba54307 100755 --- a/tests/grib_ls_json.sh +++ b/tests/grib_ls_json.sh @@ -95,6 +95,7 @@ grep -q '"latitudeOfLastGridPointInDegrees": -89.463' $tempLog # ---------------------------------------------------- grib_files=`cat ${data_dir}/grib_data_files.txt` for file in ${grib_files}; do + grib_check_filesize $file if [ "$file" = "bad.grib" ]; then continue; fi input=${data_dir}/$file ${tools_dir}/grib_ls -j $input > $tempLog diff --git a/tests/utils.sh b/tests/utils.sh index 93f0b4348..75e5b2e31 100644 --- a/tests/utils.sh +++ b/tests/utils.sh @@ -37,3 +37,27 @@ grib_check_key_exists() # grib_get will fail if the key is not found $tools_dir/grib_get -p $a_key $a_file >/dev/null } + +grib_check_filesize() +( + # There are tests that try to work on non-existing file. + # e.g. eccodes_t_grib_bitsPerValue. Check the size if it exists. + fullpath=${data_dir}/$1 + if [ -f $fullpath ]; then + # try GNU version first + set +e + realsize=`stat -c %s $fullpath` + if [ $? != 0 ]; then + set -e + realsize=`stat -f %z $fullpath` + else + set -e + fi + dir=`dirname $fullpath`; + expected=`grep " $1$" $dir/filesize_db.txt | awk -F " " '{print $1}'` + if [ "$realsize" != "$expected" ]; then + echo Data file \"$1\" does not have the expected size, $expected, which is from http://download.ecmwf.org/test-data/eccodes/data/. + exit 1 + fi + fi +)