
#-----------------------------------------------------------
# Baseline generating run

if (${ICE_BASEGEN} != ${ICE_SPVAL}) then
  
  set baseline_dir = ${ICE_BASELINE}/${ICE_BASEGEN}/${ICE_TESTNAME}

  if (-e ${baseline_dir}) then
    echo "FAIL ${ICE_TESTNAME} generate baseline-already-exists" >> ${ICE_CASEDIR}/test_output
    echo "Baseline directory (${baseline_dir}) already exists. Exiting..."
  else
    mkdir -p ${baseline_dir}
    cp -p -r ${ICE_RUNDIR}/* ${baseline_dir}/
    echo "PASS ${ICE_TESTNAME} generate ${ICE_BASEGEN}" >> ${ICE_CASEDIR}/test_output
  endif
endif

#-----------------------------------------------------------
# Baseline comparing run

if (${ICE_BASECOM} != ${ICE_SPVAL}) then
  set test_file = `ls -t1 ${ICE_RUNDIR}/restart | head -1`
  set test_data = ${ICE_RUNDIR}/restart/${test_file}

  set baseline_dir  = ${ICE_BASELINE}/${ICE_BASECOM}/${ICE_TESTNAME}/restart
  set baseline_data = ${baseline_dir}/${test_file}

  set baseline_log = `ls -1t ${ICE_BASELINE}/${ICE_BASECOM}/${ICE_TESTNAME}/cice.runlog* | head -1`
  set btimeloop = -1
  set bdynamics = -1
  set bcolumn = -1
  if (${baseline_log} != "" ) then
    set btimeloop = `grep TimeLoop ${baseline_log} | grep Timer | cut -c 22-32`
    set bdynamics = `grep Dynamics ${baseline_log} | grep Timer | cut -c 22-32`
    set bcolumn   = `grep Column   ${baseline_log} | grep Timer | cut -c 22-32`
    if (${btimeloop} == "") set btimeloop = -1
    if (${bdynamics} == "") set bdynamics = -1
    if (${bcolumn}   == "") set bcolumn = -1
  endif

  echo ""
  echo "Regression Compare Mode:"
  echo "Performing binary comparison between files"
  echo "baseline: ${baseline_data}"
  echo "test:     ${test_data}"
  if (-e ${baseline_data} ) then
    if ( { cmp -s ${test_data} ${baseline_data} } ) then
      echo "PASS ${ICE_TESTNAME} compare ${ICE_BASECOM} ${btimeloop} ${bdynamics} ${bcolumn}" >> ${ICE_CASEDIR}/test_output
      echo "Regression baseline and test dataset are identical"
    else
      echo "FAIL ${ICE_TESTNAME} compare ${ICE_BASECOM} ${btimeloop} ${bdynamics} ${bcolumn} different-data" >> ${ICE_CASEDIR}/test_output
      echo "Regression baseline and test dataset are different"
    endif
  else
    echo "MISS ${ICE_TESTNAME} compare ${ICE_BASECOM}  ${btimeloop} ${bdynamics} ${bcolumn} missing-data" >> ${ICE_CASEDIR}/test_output
    echo "Baseline file does not exist"
  endif
endif

#-----------------------------------------------------------

# BFB Compare runs

if (${ICE_BFBCOMP} != ${ICE_SPVAL}) then

  set test_file = `ls -t1 ${ICE_RUNDIR}/restart | head -1`
  if (${test_file} != "") then
    set test_data = ${ICE_RUNDIR}/restart/${test_file}
  else
    set test_data = "NoThInG__Here"
  endif
  set comp_file = `ls -t1 ${ICE_RUNDIR}/../${ICE_BFBCOMP}/restart | head -1`
  if (${comp_file} != "") then
    set comp_data = ${ICE_RUNDIR}/../${ICE_BFBCOMP}/restart/${comp_file}
  else
    set comp_data = "NoThInG__Here"
  endif

  if (-e ${comp_data} && -e ${test_data}) then
    ${ICE_CASEDIR}/casescripts/comparebfb.csh $test_data $comp_data
  else
    echo "MISS ${ICE_TESTNAME} bfbcomp missing-data" >> ${ICE_CASEDIR}/test_output
    echo "Missing data"
  endif
endif

#-----------------------------------------------------------
