diff --git a/data/downloads/odp-ftp-soil-moisture.sh b/data/downloads/odp-ftp-soil-moisture.sh index cd0cf3869..0564b97e0 100755 --- a/data/downloads/odp-ftp-soil-moisture.sh +++ b/data/downloads/odp-ftp-soil-moisture.sh @@ -1,20 +1,12 @@ #!/usr/bin/env bash -BASE_URL="ftp://anon-ftp.ceda.ac.uk/neodc/esacci/soil_moisture/data/daily_files/COMBINED/v04.5" -START_DATE=1978-11-01 -OUTPUT_FODLER=./download/soil +BASE_URL="https://owncloud.tuwien.ac.at/index.php/s/bY8j2kBgZlkqFYC/download?path=%2F&files=ESACCI-SOILMOISTURE-L3S-SSMV-MONTHLY_MEAN-COMBINED-19781101-20191231-fv04.7.nc" +OUTPUT_FODLER=./download/soil_moisture mkdir -p $OUTPUT_FODLER -for i in {0..481} -do - NEXT_YEAR=$(date +%Y -d "$START_DATE + $i month") - NEXT_MONTH=$(date +%Y%m%d -d "$START_DATE + $i month") - FILENAME=$OUTPUT_FODLER/$(date +%Y%m%d -d "$START_DATE + $i month").nc - FTP_URL="$BASE_URL/$NEXT_YEAR/ESACCI-SOILMOISTURE-L3S-SSMV-COMBINED-$NEXT_MONTH"000000-fv04.5.nc - echo $FTP_URL +FILENAME=$OUTPUT_FODLER/sm.nc +curl --silent $BASE_URL > $FILENAME - curl --silent $FTP_URL > $FILENAME +python ./data/split-time-dim.py --file $FILENAME --variable sm_mean - python ./data/drop-unused-vars.py --file $FILENAME --variable sm -done diff --git a/data/gdal-colors/colors-sm.txt b/data/gdal-colors/colors-sm.txt deleted file mode 100644 index d9efd8df3..000000000 --- a/data/gdal-colors/colors-sm.txt +++ /dev/null @@ -1,6 +0,0 @@ -0.4 12 61 153 -0.2 133 200 250 -0.1 240 240 140 -0.001 146 78 7 -0 0 0 0 0 -nv 0 0 0 0 diff --git a/data/split-time-dim.py b/data/split-time-dim.py new file mode 100644 index 000000000..84228ae29 --- /dev/null +++ b/data/split-time-dim.py @@ -0,0 +1,20 @@ +import os +import xarray as xr +import pandas as pd +from datetime import datetime +from argparse import ArgumentParser + +parser = ArgumentParser() +parser.add_argument("-f", "--file", dest="file") +parser.add_argument("-v", "--variable", dest="variable") +args = parser.parse_args() + +ds = xr.open_dataset(args.file, decode_coords=True, decode_cf=True) +da = ds[args.variable] + +for n in range(len(da.time)): + da_slice = da.isel(time=n) + date = pd.to_datetime(str(da_slice.time.values)) + filename = date.strftime('./download/soil_moisture/%Y%m%d.nc') + print(filename) + da_slice.to_dataset().to_netcdf(filename, format='NETCDF4', mode='w')