mirror of https://github.com/ecmwf/eccodes.git
Improve download script
This commit is contained in:
parent
88962a93cc
commit
7889079309
346
data/download.sh
346
data/download.sh
|
@ -1,11 +1,42 @@
|
|||
#!/bin/sh
|
||||
|
||||
DATA_DIR=$1
|
||||
usage ()
|
||||
{
|
||||
prog=`basename $0`
|
||||
echo "Usage: $prog [-v] data_dir"
|
||||
echo
|
||||
echo "-v verbose"
|
||||
echo "-h prints this help message"
|
||||
echo
|
||||
}
|
||||
|
||||
VERBOSE=0
|
||||
while :
|
||||
do
|
||||
case "$1" in
|
||||
-h) usage ; exit 0;;
|
||||
-v) VERBOSE=1
|
||||
echo "Running with verbose setting"
|
||||
;;
|
||||
--) shift ; break ;;
|
||||
-*) usage ; exit 0;;
|
||||
*) break;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
DATA_DIR=$1
|
||||
if [ -z "$DATA_DIR" ]; then
|
||||
echo "Error: No directory specified." 2>&1
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Check if all downloads are already done
|
||||
DOWNLOADED=${DATA_DIR}/.downloaded
|
||||
if [ -f $DOWNLOADED ]; then
|
||||
if [ -f "${DATA_DIR}/.downloaded" ]; then
|
||||
if [ $VERBOSE -eq 1 ]; then
|
||||
echo "All downloads are already done. Exiting."
|
||||
fi
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
@ -333,282 +364,27 @@ files="
|
|||
tigge/tigge_sbsj_sfc_tcw.grib
|
||||
tigge/tigge_sbsj_sfc_tp.grib
|
||||
tigge/tiggelam_cnmc_sfc.grib
|
||||
bufr/aaen_55.bufr
|
||||
bufr/aben_55.bufr
|
||||
bufr/ahws_139.bufr
|
||||
bufr/airc_142.bufr
|
||||
bufr/airc_144.bufr
|
||||
bufr/airs_57.bufr
|
||||
bufr/alws_139.bufr
|
||||
bufr/amda_144.bufr
|
||||
bufr/amsa_55.bufr
|
||||
bufr/amsb_55.bufr
|
||||
bufr/amse_55.bufr
|
||||
bufr/amsu_55.bufr
|
||||
bufr/amv2_87.bufr
|
||||
bufr/amv3_87.bufr
|
||||
bufr/asbh_139.bufr
|
||||
bufr/asbl_139.bufr
|
||||
bufr/asca_139.bufr
|
||||
bufr/asch_139.bufr
|
||||
bufr/ascs_139.bufr
|
||||
bufr/aseh_139.bufr
|
||||
bufr/asel_139.bufr
|
||||
bufr/ashs_139.bufr
|
||||
bufr/atap_55.bufr
|
||||
bufr/ateu_155.bufr
|
||||
bufr/atms_201.bufr
|
||||
bufr/atov_55.bufr
|
||||
bufr/avhm_87.bufr
|
||||
bufr/avhn_87.bufr
|
||||
bufr/avhr_58.bufr
|
||||
bufr/b002_95.bufr
|
||||
bufr/b002_96.bufr
|
||||
bufr/b003_56.bufr
|
||||
bufr/b004_145.bufr
|
||||
bufr/b005_87.bufr
|
||||
bufr/b005_89.bufr
|
||||
bufr/b006_96.bufr
|
||||
bufr/b007_31.bufr
|
||||
bufr/bssh_170.bufr
|
||||
bufr/bssh_176.bufr
|
||||
bufr/bssh_178.bufr
|
||||
bufr/bssh_180.bufr
|
||||
bufr/btem_109.bufr
|
||||
bufr/buoy_27.bufr
|
||||
bufr/cmwi_87.bufr
|
||||
bufr/cmwn_87.bufr
|
||||
bufr/cnow_28.bufr
|
||||
bufr/cori_156.bufr
|
||||
bufr/crit_202.bufr
|
||||
bufr/csrh_189.bufr
|
||||
bufr/emsg_189.bufr
|
||||
bufr/emsg_87.bufr
|
||||
bufr/euwv_87.bufr
|
||||
bufr/fy3a_154.bufr
|
||||
bufr/fy3b_154.bufr
|
||||
bufr/g2nd_208.bufr
|
||||
bufr/g2to_206.bufr
|
||||
bufr/go15_87.bufr
|
||||
bufr/goee_87.bufr
|
||||
bufr/goes_87.bufr
|
||||
bufr/goga_89.bufr
|
||||
bufr/gosat.bufr
|
||||
bufr/grst_26.bufr
|
||||
bufr/gsd1_208.bufr
|
||||
bufr/gsd2_208.bufr
|
||||
bufr/gsd3_208.bufr
|
||||
bufr/gst4_26.bufr
|
||||
bufr/hirb_55.bufr
|
||||
bufr/hirs_55.bufr
|
||||
bufr/ias1_240.bufr
|
||||
bufr/iasi_241.bufr
|
||||
bufr/ifco_208.bufr
|
||||
bufr/ikco_217.bufr
|
||||
bufr/itrg_208.bufr
|
||||
bufr/itwt_233.bufr
|
||||
bufr/j2eo_216.bufr
|
||||
bufr/j2nb_216.bufr
|
||||
bufr/jaso_214.bufr
|
||||
bufr/kond_209.bufr
|
||||
bufr/maer_207.bufr
|
||||
bufr/meta_140.bufr
|
||||
bufr/mhen_55.bufr
|
||||
bufr/mhsa_55.bufr
|
||||
bufr/mhsb_55.bufr
|
||||
bufr/mhse_55.bufr
|
||||
bufr/mloz_206.bufr
|
||||
bufr/modi_87.bufr
|
||||
bufr/modw_87.bufr
|
||||
bufr/monw_87.bufr
|
||||
bufr/nomi_206.bufr
|
||||
bufr/nos1_208.bufr
|
||||
bufr/nos2_208.bufr
|
||||
bufr/nos3_208.bufr
|
||||
bufr/nos4_208.bufr
|
||||
bufr/nos5_208.bufr
|
||||
bufr/nos6_208.bufr
|
||||
bufr/nos7_208.bufr
|
||||
bufr/nos8_208.bufr
|
||||
bufr/ocea_131.bufr
|
||||
bufr/ocea_132.bufr
|
||||
bufr/ocea_133.bufr
|
||||
bufr/ocea_21.bufr
|
||||
bufr/pgps_110.bufr
|
||||
bufr/pilo_91.bufr
|
||||
bufr/rada_250.bufr
|
||||
bufr/rado_250.bufr
|
||||
bufr/s4kn_165.bufr
|
||||
bufr/sb19_206.bufr
|
||||
bufr/sbu8_206.bufr
|
||||
bufr/ship_11.bufr
|
||||
bufr/ship_12.bufr
|
||||
bufr/ship_13.bufr
|
||||
bufr/ship_14.bufr
|
||||
bufr/ship_19.bufr
|
||||
bufr/ship_9.bufr
|
||||
bufr/smin_49.bufr
|
||||
bufr/smis_49.bufr
|
||||
bufr/smiu_49.bufr
|
||||
bufr/smos_203.bufr
|
||||
bufr/sn4k_165.bufr
|
||||
bufr/soil_7.bufr
|
||||
bufr/ssbt_127.bufr
|
||||
bufr/stuk_7.bufr
|
||||
bufr/syno_1.bufr
|
||||
bufr/syno_2.bufr
|
||||
bufr/syno_3.bufr
|
||||
bufr/syno_4.bufr
|
||||
bufr/temp_101.bufr
|
||||
bufr/temp_102.bufr
|
||||
bufr/temp_106.bufr
|
||||
bufr/tmr7_129.bufr
|
||||
bufr/tros_31.bufr
|
||||
bufr/wavb_134.bufr
|
||||
bufr/aaen_55.bufr.num.ref
|
||||
bufr/aben_55.bufr.num.ref
|
||||
bufr/ahws_139.bufr.num.ref
|
||||
bufr/airc_142.bufr.num.ref
|
||||
bufr/airc_144.bufr.num.ref
|
||||
bufr/airs_57.bufr.num.ref
|
||||
bufr/alws_139.bufr.num.ref
|
||||
bufr/amda_144.bufr.num.ref
|
||||
bufr/amsa_55.bufr.num.ref
|
||||
bufr/amsb_55.bufr.num.ref
|
||||
bufr/amse_55.bufr.num.ref
|
||||
bufr/amsu_55.bufr.num.ref
|
||||
bufr/amv2_87.bufr.num.ref
|
||||
bufr/amv3_87.bufr.num.ref
|
||||
bufr/asbh_139.bufr.num.ref
|
||||
bufr/asbl_139.bufr.num.ref
|
||||
bufr/asca_139.bufr.num.ref
|
||||
bufr/asch_139.bufr.num.ref
|
||||
bufr/ascs_139.bufr.num.ref
|
||||
bufr/aseh_139.bufr.num.ref
|
||||
bufr/asel_139.bufr.num.ref
|
||||
bufr/ashs_139.bufr.num.ref
|
||||
bufr/atap_55.bufr.num.ref
|
||||
bufr/ateu_155.bufr.num.ref
|
||||
bufr/atms_201.bufr.num.ref
|
||||
bufr/atov_55.bufr.num.ref
|
||||
bufr/avhm_87.bufr.num.ref
|
||||
bufr/avhn_87.bufr.num.ref
|
||||
bufr/avhr_58.bufr.num.ref
|
||||
bufr/b002_95.bufr.num.ref
|
||||
bufr/b002_96.bufr.num.ref
|
||||
bufr/b003_56.bufr.num.ref
|
||||
bufr/b004_145.bufr.num.ref
|
||||
bufr/b005_87.bufr.num.ref
|
||||
bufr/b005_89.bufr.num.ref
|
||||
bufr/b006_96.bufr.num.ref
|
||||
bufr/b007_31.bufr.num.ref
|
||||
bufr/bssh_170.bufr.num.ref
|
||||
bufr/bssh_176.bufr.num.ref
|
||||
bufr/bssh_178.bufr.num.ref
|
||||
bufr/bssh_180.bufr.num.ref
|
||||
bufr/btem_109.bufr.num.ref
|
||||
bufr/buoy_27.bufr.num.ref
|
||||
bufr/cmwi_87.bufr.num.ref
|
||||
bufr/cmwn_87.bufr.num.ref
|
||||
bufr/cnow_28.bufr.num.ref
|
||||
bufr/cori_156.bufr.num.ref
|
||||
bufr/crit_202.bufr.num.ref
|
||||
bufr/csrh_189.bufr.num.ref
|
||||
bufr/emsg_189.bufr.num.ref
|
||||
bufr/emsg_87.bufr.num.ref
|
||||
bufr/euwv_87.bufr.num.ref
|
||||
bufr/fy3a_154.bufr.num.ref
|
||||
bufr/fy3b_154.bufr.num.ref
|
||||
bufr/g2nd_208.bufr.num.ref
|
||||
bufr/g2to_206.bufr.num.ref
|
||||
bufr/go15_87.bufr.num.ref
|
||||
bufr/goee_87.bufr.num.ref
|
||||
bufr/goes_87.bufr.num.ref
|
||||
bufr/goga_89.bufr.num.ref
|
||||
bufr/gosat.bufr.num.ref
|
||||
bufr/grst_26.bufr.num.ref
|
||||
bufr/gsd1_208.bufr.num.ref
|
||||
bufr/gsd2_208.bufr.num.ref
|
||||
bufr/gsd3_208.bufr.num.ref
|
||||
bufr/gst4_26.bufr.num.ref
|
||||
bufr/hirb_55.bufr.num.ref
|
||||
bufr/hirs_55.bufr.num.ref
|
||||
bufr/ias1_240.bufr.num.ref
|
||||
bufr/iasi_241.bufr.num.ref
|
||||
bufr/ifco_208.bufr.num.ref
|
||||
bufr/ikco_217.bufr.num.ref
|
||||
bufr/itrg_208.bufr.num.ref
|
||||
bufr/itwt_233.bufr.num.ref
|
||||
bufr/j2eo_216.bufr.num.ref
|
||||
bufr/j2nb_216.bufr.num.ref
|
||||
bufr/jaso_214.bufr.num.ref
|
||||
bufr/kond_209.bufr.num.ref
|
||||
bufr/maer_207.bufr.num.ref
|
||||
bufr/meta_140.bufr.num.ref
|
||||
bufr/mhen_55.bufr.num.ref
|
||||
bufr/mhsa_55.bufr.num.ref
|
||||
bufr/mhsb_55.bufr.num.ref
|
||||
bufr/mhse_55.bufr.num.ref
|
||||
bufr/mloz_206.bufr.num.ref
|
||||
bufr/modi_87.bufr.num.ref
|
||||
bufr/modw_87.bufr.num.ref
|
||||
bufr/monw_87.bufr.num.ref
|
||||
bufr/nomi_206.bufr.num.ref
|
||||
bufr/nos1_208.bufr.num.ref
|
||||
bufr/nos2_208.bufr.num.ref
|
||||
bufr/nos3_208.bufr.num.ref
|
||||
bufr/nos4_208.bufr.num.ref
|
||||
bufr/nos5_208.bufr.num.ref
|
||||
bufr/nos6_208.bufr.num.ref
|
||||
bufr/nos7_208.bufr.num.ref
|
||||
bufr/nos8_208.bufr.num.ref
|
||||
bufr/ocea_131.bufr.num.ref
|
||||
bufr/ocea_132.bufr.num.ref
|
||||
bufr/ocea_133.bufr.num.ref
|
||||
bufr/ocea_21.bufr.num.ref
|
||||
bufr/pgps_110.bufr.num.ref
|
||||
bufr/pilo_91.bufr.num.ref
|
||||
bufr/rada_250.bufr.num.ref
|
||||
bufr/rado_250.bufr.num.ref
|
||||
bufr/s4kn_165.bufr.num.ref
|
||||
bufr/sb19_206.bufr.num.ref
|
||||
bufr/sbu8_206.bufr.num.ref
|
||||
bufr/ship_11.bufr.num.ref
|
||||
bufr/ship_12.bufr.num.ref
|
||||
bufr/ship_13.bufr.num.ref
|
||||
bufr/ship_14.bufr.num.ref
|
||||
bufr/ship_19.bufr.num.ref
|
||||
bufr/ship_9.bufr.num.ref
|
||||
bufr/smin_49.bufr.num.ref
|
||||
bufr/smis_49.bufr.num.ref
|
||||
bufr/smiu_49.bufr.num.ref
|
||||
bufr/smos_203.bufr.num.ref
|
||||
bufr/sn4k_165.bufr.num.ref
|
||||
bufr/soil_7.bufr.num.ref
|
||||
bufr/ssbt_127.bufr.num.ref
|
||||
bufr/stuk_7.bufr.num.ref
|
||||
bufr/syno_1.bufr.num.ref
|
||||
bufr/syno_2.bufr.num.ref
|
||||
bufr/syno_3.bufr.num.ref
|
||||
bufr/syno_4.bufr.num.ref
|
||||
bufr/temp_101.bufr.num.ref
|
||||
bufr/temp_102.bufr.num.ref
|
||||
bufr/temp_106.bufr.num.ref
|
||||
bufr/tmr7_129.bufr.num.ref
|
||||
bufr/tros_31.bufr.num.ref
|
||||
bufr/wavb_134.bufr.num.ref
|
||||
"
|
||||
|
||||
[ -d "${DATA_DIR}/bufr" ] || mkdir "${DATA_DIR}/bufr"
|
||||
[ -d "${DATA_DIR}/tigge" ] || mkdir "${DATA_DIR}/tigge"
|
||||
|
||||
# Decide what tool to use to download data
|
||||
DNLD_PROG=""
|
||||
if command -v wget >/dev/null 2>&1; then
|
||||
DNLD_PROG="wget --tries=1 --timeout=3 -nv -q -O"
|
||||
PROG=wget
|
||||
OPTIONS="--tries=1 --timeout=3 -nv -q -O"
|
||||
if [ $VERBOSE -eq 1 ]; then
|
||||
OPTIONS="--tries=1 --timeout=3 -nv -O"
|
||||
fi
|
||||
DNLD_PROG="$PROG $OPTIONS"
|
||||
fi
|
||||
if command -v curl >/dev/null 2>&1; then
|
||||
DNLD_PROG="curl --silent --show-error --fail --output"
|
||||
PROG=curl
|
||||
OPTIONS="--silent --show-error --fail --output"
|
||||
if [ $VERBOSE -eq 1 ]; then
|
||||
OPTIONS="--show-error --fail --output"
|
||||
fi
|
||||
DNLD_PROG="$PROG $OPTIONS"
|
||||
fi
|
||||
if test "x$DNLD_PROG" = "x"; then
|
||||
echo "Cannot find tool to transfer data from download server. Aborting." 1>&2
|
||||
|
@ -619,19 +395,23 @@ download_URL="http://download.ecmwf.org"
|
|||
cd ${DATA_DIR}
|
||||
echo "Downloading data files for testing..."
|
||||
for f in $files; do
|
||||
# If we haven't already got the file, download it
|
||||
if [ ! -f "$f" ]; then
|
||||
$DNLD_PROG $f ${download_URL}/test-data/grib_api/data/$f
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Failed to download file: $f"
|
||||
exit 1
|
||||
fi
|
||||
#chmod 444 $f
|
||||
if [ $VERBOSE -eq 1 ]; then
|
||||
echo "Downloaded $f ..."
|
||||
fi
|
||||
fi
|
||||
# If we haven't already got the file, download it
|
||||
if [ ! -f "$f" ]; then
|
||||
if [ $VERBOSE -eq 1 ]; then
|
||||
echo "$DNLD_PROG $f ${download_URL}/test-data/grib_api/data/$f"
|
||||
fi
|
||||
$DNLD_PROG $f ${download_URL}/test-data/grib_api/data/$f
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Failed to download file: $f"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ $VERBOSE -eq 1 ]; then
|
||||
echo "Downloaded $f ..."
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
# Add a file to indicate we've done the download
|
||||
touch ${DOWNLOADED}
|
||||
touch .downloaded
|
||||
echo "Downloads completed."
|
||||
|
|
Loading…
Reference in New Issue