#!/bin/sh
# Archives all input data required for ELM historical (e.g., calibration) runs to a compressed tar archive.
# Used for ELM-version distributions.
# It uses SFWMD-specific, "hard-coded" path for source (change "tarloc")
# It uses SFWMD-specific, "hard-coded" path for destination (change "MyLocation")
#
# Used as a stand-alone script
#
# Calls the following ELM scripts:
# none included

# As with all ELM scripts, stay with Bourne shell (/bin/sh) for universal application.

###
###NOTE: THIS VERSION INCLUDES THE GRID_IO DATA (very large data files, meteorological & SFWMM stage)
###The following lines are sometimes removed during interim updates, 
###as the spatio-temporal binaries are large and unchanging
# ./SME/Projects/$ProjName/Data/BoundCond_stage.BIN \
# ./SME/Projects/$ProjName/Data/ETp.BIN \
# ./SME/Projects/$ProjName/Data/rain.BIN \
###


if test $# = 0
  then
    echo "###### Error: give the NameVersion of the Project data. "
    exit
fi
if test $# = 1
  then
    echo "###### Error: give the Name/date to designate the data archive. "
    exit
fi

ProjName=$1
ArchName=$2

# set the destination to save the compressed backup
MyLocation=/e_evg/eb_elmmod/data/arc_data/

# set the base path of the source 
tarLoc=/vol/hy_ext/

######
# ensure you don't overwrite an old compressed backup
if
    test -f $MyLocation/$ProjName.data.$ArchName.tar.gz
then
    echo "The tar file already exists: "
    echo "$MyLocation/$ProjName.data.$ArchName.tar.gz"
    echo "Choose another NameVersion and/or Name/date to designate the tar file."
    exit
fi



# the tar is made with relative paths for portability to any file system
cd $tarLoc

# open a file to provide notes on the changes to the data - MAKE THE NOTES USEFUL!!!!
vi  $MyLocation/$ProjName.data.$ArchName.Notes.txt
cat $MyLocation/$ProjName.data.Notes_* 	$MyLocation/$ProjName.data.$ArchName.Notes.txt > $MyLocation/tempNotes
rm  $MyLocation/$ProjName.data.Notes_*
mv  $MyLocation/tempNotes 	$MyLocation/$ProjName.data.Notes_$ArchName

echo "Tarring data from this location: $tarLoc/SME/Projects/$ProjName/"

# tar every data file required to create an ELM project (and no junk data)
tar -cvhf ./$ProjName.data.$ArchName.tar \
./SME/Projects/$ProjName/Data/Map_bin/basins \
./SME/Projects/$ProjName/Data/Map_bin/basinSetVel \
./SME/Projects/$ProjName/Data/Map_bin/Bathymetry \
./SME/Projects/$ProjName/Data/Map_bin/BoundCond \
./SME/Projects/$ProjName/Data/Map_bin/Elevation \
./SME/Projects/$ProjName/Data/Map_bin/HAB \
./SME/Projects/$ProjName/Data/Map_bin/HydrCond \
./SME/Projects/$ProjName/Data/Map_bin/icMacBio \
./SME/Projects/$ProjName/Data/Map_bin/icSfWt \
./SME/Projects/$ProjName/Data/Map_bin/icUnsat \
./SME/Projects/$ProjName/Data/Map_bin/ModArea \
./SME/Projects/$ProjName/Data/Map_bin/soil_orgBD \
./SME/Projects/$ProjName/Data/Map_bin/soilBD \
./SME/Projects/$ProjName/Data/Map_bin/soilTP \
./SME/Projects/$ProjName/Data/Map_head/basins \
./SME/Projects/$ProjName/Data/Map_head/basinSetVel \
./SME/Projects/$ProjName/Data/Map_head/Bathymetry \
./SME/Projects/$ProjName/Data/Map_head/BoundCond \
./SME/Projects/$ProjName/Data/Map_head/Elevation \
./SME/Projects/$ProjName/Data/Map_head/HAB \
./SME/Projects/$ProjName/Data/Map_head/HydrCond \
./SME/Projects/$ProjName/Data/Map_head/icMacBio \
./SME/Projects/$ProjName/Data/Map_head/icSfWt \
./SME/Projects/$ProjName/Data/Map_head/icUnsat \
./SME/Projects/$ProjName/Data/Map_head/ModArea \
./SME/Projects/$ProjName/Data/Map_head/soil_orgBD \
./SME/Projects/$ProjName/Data/Map_head/soilBD \
./SME/Projects/$ProjName/Data/Map_head/soilTP \
./SME/Projects/$ProjName/Data/basinIR \
./SME/Projects/$ProjName/Data/BoundCond_stage.BIN \
./SME/Projects/$ProjName/Data/CanalData.chan \
./SME/Projects/$ProjName/Data/CanalData.chan.info \
./SME/Projects/$ProjName/Data/CanalData.graph \
./SME/Projects/$ProjName/Data/CanalData.struct \
./SME/Projects/$ProjName/Data/CanalData.struct.info \
./SME/Projects/$ProjName/Data/CanalData.struct_TP \
./SME/Projects/$ProjName/Data/CanalData.struct_TS \
./SME/Projects/$ProjName/Data/CanalData.struct_wat \
./SME/Projects/$ProjName/Data/ETp.BIN \
./SME/Projects/$ProjName/Data/ETp.info \
./SME/Projects/$ProjName/Data/GlobalParms_HI \
./SME/Projects/$ProjName/Data/GlobalParms_LO \
./SME/Projects/$ProjName/Data/GlobalParms_NOM \
./SME/Projects/$ProjName/Data/gridmapping.txt \
./SME/Projects/$ProjName/Data/HabParms_HI \
./SME/Projects/$ProjName/Data/HabParms_LO \
./SME/Projects/$ProjName/Data/HabParms_NOM \
./SME/Projects/$ProjName/Data/rain.BIN \
./SME/Projects/$ProjName/Data/rain.info \
./SME/Projects/$ProjName/Data/SensiParm_list \
./SME/Projects/$ProjName/RunParms/Driver.parm \
./SME/Projects/$ProjName/RunParms/Model.outList  \
./SME/Projects/Dbases/GlobalParms_comp_v2.xls \
./SME/Projects/Dbases/GlobalParms_v2.5.xls \
./SME/Projects/Dbases/HabParms_comp_v2.5.2.xls \
./SME/Projects/Dbases/HabParms_v2.5.xls \
./SME/Projects/Dbases/ModelOutlist_creator_2.5.3.xls \
./SME/Projects/Dbases/Structs_attr_v2.5.fmp \
./SME/Projects/Dbases/Structs_LinkModel.fmp 


# end of the data put in the tar file

echo "Compressing the archive $ProjName.data.$ArchName.tar ..."
gzip ./$ProjName.data.$ArchName.tar
echo "Moving the archive $ProjName.data.$ArchName.tar.gz ..."
mv ./$ProjName.data.$ArchName.tar.gz $MyLocation


if test -f "$MyLocation/$ProjName.data.$ArchName.tar.gz"
  then
	echo "Successful."
	echo "Archived all required data from: $tarLoc/SME/Projects/$ProjName/"
	echo "Data archive made at $MyLocation/$ProjName.data.$ArchName.tar.gz"
  else
	echo "###### Error:  Something went wrong with trying to create"
	echo "$MyLocation/$ProjName.data.$ArchName.tar.gz"
fi
