#!/bin/sh

SOURCE_FILE="/usr/share/gmt-gshhg/binned_border_c.nc"
TARGET_FILE="$(basename "${SOURCE_FILE}")"

TEMPDIR="$(mktemp -d)"

cd "${TEMPDIR}" || exit 1

echo "Copying NetCDF file"
nccopy "${SOURCE_FILE}" "${TARGET_FILE}"
RC=$?

if [ "${RC}" -ne 0 ]; then
    cd "${OLDPWD}" || exit 1
    rm -rf "${TEMPDIR}"

    exit "${RC}"
fi

echo
echo "Comparing NetCDF files"
SOURCE_KIND="$(ncdump -k "${SOURCE_FILE}")"
TARGET_KIND="$(ncdump -k "${TARGET_FILE}")"

if [ "${SOURCE_KIND}" != "${TARGET_KIND}" ]; then
    echo "Error: NetCDF file kind mismatch: ${SOURCE_KIND} vs ${TARGET_KIND}"
    RC=1
fi

if [ "${RC}" -ne 0 ]; then
    cd "${OLDPWD}" || exit 1
    rm -rf "${TEMPDIR}"

    exit "${RC}"
fi

echo
echo "Dumping NetCDF file"
ncdump "${TARGET_FILE}"
RC=$?

if [ "${RC}" -ne 0 ]; then
    cd "${OLDPWD}" || exit 1
    rm -rf "${TEMPDIR}"

    exit "${RC}"
fi

cd "${OLDPWD}" || exit 1
rm -rf "${TEMPDIR}"

exit "${RC}"
