diff --git a/slice_tar_file_to_bounds.sh b/slice_tar_file_to_bounds.sh
new file mode 100644
index 0000000000000000000000000000000000000000..5a301cb65699351b4a90308e63c2a1e4177dcce7
--- /dev/null
+++ b/slice_tar_file_to_bounds.sh
@@ -0,0 +1,89 @@
+#!bin/bash
+#slice_tar_file_to_bounds.sh
+echo "CAUTION: Bounds are currently hard-wired"
+echo "It can be calculated automatically, but requires both ogrinfo and cdo to be available"
+
+# activate conda env which has cdo
+# CAUTION: Does not contain rasterio or geopandas, so ogrinfo is not available
+echo "run conda activate conda activate /storage/home/tm689/miniconda3/envs/ewses_env"
+
+tar_file=$1 #/.tar.gz file from Met Office
+bounds_file=$2 # shpfile
+outputdir=$3
+# TODO: Determine lonres and latres in the script
+lonres=0.140625 # can be obtained from any nc in tar file
+latres=0.09375 # can be obtained from any nc in tar file
+
+# 1) Determine bounds of sub-region
+
+bounds_str=$(ogrinfo -so -al $bounds_file | grep "Extent");
+echo "bounds_str: $bounds_str"
+
+coords=($(echo $bounds_str | grep -o -E '[0-9\.]+'));
+
+# bounds of input file
+blonmin=${coords[0]};
+blatmin=${coords[1]};
+blonmax=${coords[2]};
+blatmax=${coords[3];}
+
+# we need nc files to go beyond those bounds by at least one datapoint
+lonmin=$(bc -l <<< "$blonmin - $lonres");
+latmin=$(bc -l <<< "$blatmin - $latres");
+lonmax=$(bc -l <<< "$blonmax + $lonres");
+latmax=$(bc -l <<< "$blatmax + $latres");
+# Hard-wired: Pre-determined for example Ethiopia region
+lonmin=38.60
+lonmax=40.43
+latmin=8.10
+latmax=8.86
+echo "Bounds are $lonmin, $latmin, $lonmax, $latmax"
+
+# 2) get original netcdf files from input tar file
+
+originaldir=$outputdir/original;
+mkdir $originaldir;
+
+tar -zxvf $tar_file -C $originaldir;
+
+# 3) Slice the original netcdf files
+
+# define the output directory
+# remove suffix
+tar_fn=$(basename $tar_file);
+tar_fn_small=${tar_fn%.tar.gz}_small;
+
+outputdir_tar_contents=${outputdir}/${tar_fn_small}/;
+mkdir $outputdir_tar_contents;
+
+nc_fns=$(find $originaldir -type f -name "*.nc");
+
+for fn in $nc_fns; do
+
+    fn_small=${outputdir_tar_contents}$(basename ${fn%.nc})_small.nc;
+
+    echo "cdo command: sellonlatbox,$lonmin,$lonmax,$latmin,$latmax $fn $fn_small";
+    cdo "sellonlatbox,$lonmin,$lonmax,$latmin,$latmax" $fn $fn_small;
+
+done;
+
+# copy over any other files that need to be retained
+fns_to_keep=$(find $originaldir -type f -name "sources.txt");
+cp $fns_to_keep $outputdir_tar_contents;
+
+# 4) Make the smaller tar file
+
+out_fn=$tar_fn_small.tar.gz;
+cd $outputdir;
+tar -zcvf $out_fn ${tar_fn_small}/;
+cd -;
+
+echo "created ${out_fn}";
+
+# clean up 
+
+rm -rf $originaldir;
+rm -rf $outputdir_tar_contents;
+
+echo finished;
+exit 0;
\ No newline at end of file