#!/bin/bash

function check_okay {
	if [ $? -ne 0 ]
	then
		exit 1
	fi
}



function A {
	if [ -d $1 ]
	then
      echo "mkdir " mesa_numerics/$1
      mkdir mesa_numerics/$1
      check_okay
	else
      echo cp $1 mesa_numerics/$1
      cp $1 mesa_numerics/$1
      check_okay
	fi
}




rm -rf mesa_numerics
check_okay
mkdir mesa_numerics
check_okay



# create contents list by removing modules and then doing svn update to restore



A    sample
A    sample/rn
A    sample/test_output
A    sample/build_and_test
A    sample/clean
A    sample/diff.txt
A    sample/install
A    sample/mk
A    sample/src
A    sample/src/sample.f
A    sample/README
A    sample/ck
A    sample/make
A    sample/make/makefile
A    sample/make_copy_for_release
A    interp_1d
A    interp_1d/test
A    interp_1d/test/rn
A    interp_1d/test/test_output
A    interp_1d/test/export
A    interp_1d/test/clean
A    interp_1d/test/plot_out
A    interp_1d/test/cleanup
A    interp_1d/test/interp_1D.rb
A    interp_1d/test/mk
A    interp_1d/test/plot_data
A    interp_1d/test/src
A    interp_1d/test/src/interp_1d_support.f
A    interp_1d/test/src/plot_interp_1d.f
A    interp_1d/test/src/test_interp_1d.f
A    interp_1d/test/ck
A    interp_1d/test/make
A    interp_1d/test/make/makefile
A    interp_1d/build_and_test
A    interp_1d/copy_extras
A    interp_1d/export
A    interp_1d/clean
A    interp_1d/install
A    interp_1d/mk
A    interp_1d/private
A    interp_1d/private/interp_1d_misc.f
A    interp_1d/private/interp_1d_mp.f
A    interp_1d/private/interp_1d_pm.f
A    interp_1d/README
A    interp_1d/make
A    interp_1d/make/makefile
A    interp_1d/public
A    interp_1d/public/interp_1d_lib.f
A    interp_1d/public/interp_1d_def.f
A    alert
A    alert/test
A    alert/test/rn
A    alert/test/test_output
A    alert/test/export
A    alert/test/clean
A    alert/test/cleanup
A    alert/test/mk
A    alert/test/src
A    alert/test/src/test_alert.f
A    alert/test/ck
A    alert/test/make
A    alert/test/make/makefile
A    alert/build_and_test
A    alert/export
A    alert/clean
A    alert/install
A    alert/mk
A    alert/private
A    alert/README
A    alert/make
A    alert/make/makefile
A    alert/public
A    alert/public/alert_lib.f
A    mtx
A    mtx/test
A    mtx/test/rn
A    mtx/test/test_output
A    mtx/test/export
A    mtx/test/clean
A    mtx/test/jac.data
A    mtx/test/sparse_data
A    mtx/test/sparse_data/E05R0400
A    mtx/test/sparse_data/e05r0100_rhs1.mtx
A    mtx/test/sparse_data/g10.rhs
A    mtx/test/sparse_data/e05r0400_rhs1.mtx
A    mtx/test/sparse_data/g10
A    mtx/test/sparse_data/E05R0100
A    mtx/test/sparse_data/README
A    mtx/test/cleanup
A    mtx/test/mk
A    mtx/test/src
A    mtx/test/src/test_superlu.f
A    mtx/test/src/lu_test.f
A    mtx/test/src/test_sparskit.f
A    mtx/test/src/test_mtx.f
A    mtx/test/ck
A    mtx/test/make
A    mtx/test/make/makefile
A    mtx/build_and_test
A    mtx/export
A    mtx/clean
A    mtx/COPYING_LAPACK
A    mtx/blas_src
A    mtx/blas_src/sswap.f
A    mtx/blas_src/mtx_lib.f
A    mtx/blas_src/sger.f
A    mtx/blas_src/zgerc.f
A    mtx/blas_src/xerbla.f
A    mtx/blas_src/ilaenv.f
A    mtx/blas_src/dcopy.f
A    mtx/blas_src/dger.f
A    mtx/blas_src/dtbsv.f
A    mtx/blas_src/daxpy.f
A    mtx/blas_src/ieeeck.f
A    mtx/blas_src/dscal.f
A    mtx/blas_src/zhemv.f
A    mtx/blas_src/dgemm.f
A    mtx/blas_src/dtrsm.f
A    mtx/blas_src/ddot.f
A    mtx/blas_src/dgbmv.f
A    mtx/blas_src/lsame.f
A    mtx/blas_src/dtrsv.f
A    mtx/blas_src/dgemv.f
A    mtx/blas_src/idamax.f
A    mtx/blas_src/sscal.f
A    mtx/blas_src/slamch.f
A    mtx/blas_src/sgemm.f
A    mtx/blas_src/strsm.f
A    mtx/blas_src/dasum.f
A    mtx/blas_src/zaxpy.f
A    mtx/blas_src/dswap.f
A    mtx/blas_src/isamax.f
A    mtx/blas_src/zdotc.f
A    mtx/blas_src/ztrsv.f
A    mtx/blas_src/dlamch.f
A    mtx/blas_src/zher2.f
A    mtx/mkl_setup.notes
A    mtx/README
A    mtx/copy_extras
A    mtx/lapack_src
A    mtx/lapack_src/zgttrs.f
A    mtx/lapack_src/dgesvx.f
A    mtx/lapack_src/zgetf2.f
A    mtx/lapack_src/dgtts2.f
A    mtx/lapack_src/dgbtrf.f
A    mtx/lapack_src/dlangt.f
A    mtx/lapack_src/zgetrs.f
A    mtx/lapack_src/dgtrfs.f
A    mtx/lapack_src/dlaswp.f
A    mtx/lapack_src/sgetrf.f
A    mtx/lapack_src/dgbsvx.f
A    mtx/lapack_src/zgbtf2.f
A    mtx/lapack_src/zcopy.f
A    mtx/lapack_src/dlabad.f
A    mtx/lapack_src/dgttrs.f
A    mtx/lapack_src/ztbsv.f
A    mtx/lapack_src/dlagtm.f
A    mtx/lapack_src/dgerfs.f
A    mtx/lapack_src/zgbtrs.f
A    mtx/lapack_src/dgetf2.f
A    mtx/lapack_src/zscal.f
A    mtx/lapack_src/dlacpy.f
A    mtx/lapack_src/dgtcon.f
A    mtx/lapack_src/zgttrf.f
A    mtx/lapack_src/sgesv.f
A    mtx/lapack_src/zgemv.f
A    mtx/lapack_src/dgetrs.f
A    mtx/lapack_src/izamax.f
A    mtx/lapack_src/dlange.f
A    mtx/lapack_src/dlaqge.f
A    mtx/lapack_src/dcabs1.f
A    mtx/lapack_src/dgecon.f
A    mtx/lapack_src/zgetrf.f
A    mtx/lapack_src/zswap.f
A    mtx/lapack_src/dgbrfs.f
A    mtx/lapack_src/drscl.f
A    mtx/lapack_src/dgbtf2.f
A    mtx/lapack_src/slaswp.f
A    mtx/lapack_src/dgeequ.f
A    mtx/lapack_src/dgbtrs.f
A    mtx/lapack_src/zlacgv.f
A    mtx/lapack_src/dlassq.f
A    mtx/lapack_src/dgttrf.f
A    mtx/lapack_src/sgetf2.f
A    mtx/lapack_src/dgbcon.f
A    mtx/lapack_src/zgeru.f
A    mtx/lapack_src/zgtts2.f
A    mtx/lapack_src/zgbtrf.f
A    mtx/lapack_src/dlacn2.f
A    mtx/lapack_src/dlantb.f
A    mtx/lapack_src/dgbsv.f
A    mtx/lapack_src/dgbequ.f
A    mtx/lapack_src/sgetrs.f
A    mtx/lapack_src/dgesv.f
A    mtx/lapack_src/dlatbs.f
A    mtx/lapack_src/dgetrf.f
A    mtx/lapack_src/dgtsvx.f
A    mtx/lapack_src/zgemm.f
A    mtx/lapack_src/ztrsm.f
A    mtx/lapack_src/zlaswp.f
A    mtx/lapack_src/dlantr.f
A    mtx/lapack_src/dlangb.f
A    mtx/lapack_src/dlatrs.f
A    mtx/lapack_src/dlaqgb.f
A    mtx/install
A    mtx/superlu_src
A    mtx/superlu_src/mod_superlu_stub.f
A    mtx/superlu_src/mod_superlu.f
A    mtx/superlu_src/superlu_dgssv.c
A    mtx/superlu_src/superlu_zgssv.c
A    mtx/mk
A    mtx/sparskit_src
A    mtx/sparskit_src/formats.f
A    mtx/sparskit_src/ilut.f
A    mtx/sparskit_src/inout.f
A    mtx/sparskit_src/unary.f
A    mtx/sparskit_src/matvec.f
A    mtx/sparskit_src/blassm.f
A    mtx/sparskit_src/infofun.f
A    mtx/private
A    mtx/private/mtx_block_tridiagonal.f
A    mtx/private/mtx_support.f
A    mtx/make
A    mtx/make/makefile
A    mtx/public
A    mtx/public/mtx_lib.f
A    mtx/public/mtx_superlu_decsol.dek
A    mtx/public/mtx_sparskit_decsol.dek
A    mtx/public/mtx_decsols.dek
A    mtx/public/mtx_block_tridiag.dek
A    mtx/public/mtx_jac.dek
A    mtx/public/mtx_decsolcs.dek
A    mtx/public/mtx_null_decsol.dek
A    mtx/public/mtx_rcond.dek
A    mtx/public/mtx_decsol.dek
A    mtx/public/mtx_formats.dek
A    mtx/public/mtx_decsolc.dek
A    mtx/public/mtx_tridiag_decsol.dek
A    mtx/public/mtx_debug_decsol.dek
A    mtx/public/mtx_def.f
A    mtx/public/mtx_lapack_decsol.dek
A    const
A    const/test
A    const/test/rn
A    const/test/test_output
A    const/test/export
A    const/test/clean
A    const/test/cleanup
A    const/test/mk
A    const/test/src
A    const/test/src/test_const.f
A    const/test/ck
A    const/test/make
A    const/test/make/makefile
A    const/build_and_test
A    const/export
A    const/clean
A    const/install
A    const/mk
A    const/private
A    const/README
A    const/make
A    const/make/makefile
A    const/public
A    const/public/const_def.f
A    interp_2d
A    interp_2d/refs
A    interp_2d/refs/renka_brown.pdf
A    interp_2d/refs/renka_660.pdf
A    interp_2d/refs/akima_760.pdf
A    interp_2d/refs/akima_761.pdf
A    interp_2d/refs/renka_790.pdf
A    interp_2d/test
A    interp_2d/test/rn
A    interp_2d/test/test_output
A    interp_2d/test/export
A    interp_2d/test/clean
A    interp_2d/test/plot_out
A    interp_2d/test/cleanup
A    interp_2d/test/mk
A    interp_2d/test/plot_data
A    interp_2d/test/src
A    interp_2d/test/src/interp_2d_support.f
A    interp_2d/test/src/plot_interp_2d.f
A    interp_2d/test/src/test_renka790_db.f
A    interp_2d/test/src/test_interp_2d.f
A    interp_2d/test/src/test_akima_db.f
A    interp_2d/test/src/test_renka790_sg.f
A    interp_2d/test/src/test_akima_sg.f
A    interp_2d/test/interp_2D.rb
A    interp_2d/test/ck
A    interp_2d/test/make
A    interp_2d/test/make/makefile
A    interp_2d/build_and_test
A    interp_2d/copy_extras
A    interp_2d/export
A    interp_2d/clean
A    interp_2d/install
A    interp_2d/mk
A    interp_2d/private
A    interp_2d/private/bicub_db2.f
A    interp_2d/private/bicub_db3.f
A    interp_2d/private/bicub_sg.f
A    interp_2d/private/akima760_db.f
A    interp_2d/private/renka790_db.f
A    interp_2d/private/akima760_sg.f
A    interp_2d/private/bicub_db.f
A    interp_2d/private/renka790_sg.f
A    interp_2d/private/bicub_db1.f
A    interp_2d/README
A    interp_2d/make
A    interp_2d/make/makefile
A    interp_2d/public
A    interp_2d/public/interp_2d_lib_db.f
A    interp_2d/public/interp_2d_lib_sg.f
A    num
A    num/test
A    num/test/rn
A    num/test/test_output
A    num/test/export
A    num/test/clean
A    num/test/plot_out
A    num/test/evolve_logs.rb
A    num/test/cleanup
A    num/test/mk
A    num/test/plot_data
A    num/test/src
A    num/test/src/rodas3.f
A    num/test/src/rodas5.f
A    num/test/src/bari_chemakzo.f
A    num/test/src/test_chemakzo.f
A    num/test/src/bari_beam.f
A    num/test/src/test_beam.f
A    num/test/src/bari_rober.f
A    num/test/src/rosenbrock.f
A    num/test/src/bari_hires.f
A    num/test/src/test_rober.f
A    num/test/src/test_hires.f
A    num/test/src/decsol.f
A    num/test/src/dc_decsol.f
A    num/test/src/test_transamp.f
A    num/test/src/test_diffusion.f
A    num/test/src/bari_medakzo.f
A    num/test/src/test_medakzo.f
A    num/test/src/bari_vdpol3_x.f
A    num/test/src/test_mix.f
A    num/test/src/test_vdpol3_x.f
A    num/test/src/test_num.f
A    num/test/src/sample_ode_solver.f
A    num/test/src/bari_vdpol3.f
A    num/test/src/test_vdpol3.f
A    num/test/src/rodas.f
A    num/test/src/bari_vdpol_x.f
A    num/test/src/test_newton.f
A    num/test/src/test_vdpol_x.f
A    num/test/src/test_support.f
A    num/test/src/radau5.f
A    num/test/src/bari_vdpol.f
A    num/test/src/bari_emep.f
A    num/test/src/test_vdpol.f
A    num/test/src/test_int_support.f
A    num/test/src/test_emep.f
A    num/test/src/bari_pollu.f
A    num/test/src/test_pollu.f
A    num/test/jacobian.rb
A    num/test/test_data
A    num/test/ck
A    num/test/make
A    num/test/make/makefile
A    num/build_and_test
A    num/copy_extras
A    num/export
A    num/clean
A    num/install
A    num/mk
A    num/private
A    num/private/slvseu.dek
A    num/private/estrad.dek
A    num/private/mod_dopri5.f
A    num/private/rodas_args.dek
A    num/private/mod_seulex.f
A    num/private/mod_rosenbrock.f
A    num/private/decomc.dek
A    num/private/mod_newton.f
A    num/private/slvrad.dek
A    num/private/slvrai.dek
A    num/private/mod_dc_decsol.f
A    num/private/mod_radau5.f
A    num/private/mod_dop853.f
A    num/private/mod_sodex.f
A    num/private/estrav.dek
A    num/private/mod_root.f
A    num/private/mod_solout_root.f
A    num/private/decomr.dek
A    num/private/slvrar.dek
A    num/private/slvrod.dek
A    num/README
A    num/make
A    num/make/makefile
A    num/public
A    num/public/newton_procs.dek
A    num/public/num_isolve.dek
A    num/public/num_dopri5.dek
A    num/public/num_seulex.dek
A    num/public/num_ros3p.dek
A    num/public/num_fcn.dek
A    num/public/num_root_fcn.dek
A    num/public/num_binary_search.dek
A    num/public/num_newton.dek
A    num/public/num_solout_root_fcn.dek
A    num/public/num_sjac.dek
A    num/public/num_def.f
A    num/public/num_mas.dek
A    num/public/num_safe_root.dek
A    num/public/num_dfx.dek
A    num/public/num_radau5.dek
A    num/public/num_dop853.dek
A    num/public/num_ros3pl.dek
A    num/public/num_sodex.dek
A    num/public/num_ros2.dek
A    num/public/num_solout.dek
A    num/public/num_lib.f
A    num/public/num_rodasp.dek
A    num/public/num_solout_root.dek
A    num/public/num_interp_y.dek
A    num/public/num_rose2.dek
A    num/public/num_rodas3.dek
A    num/public/num_rodas4.dek
A    num/public/num_jac.dek
A    utils
A    utils/test
A    utils/test/ck2
A    utils/test/rn
A    utils/test/ck3
A    utils/test/ck4
A    utils/test/export
A    utils/test/clean
A    utils/test/ck6
A    utils/test/ck8
A    utils/test/cleanup
A    utils/test/src
A    utils/test/src/test_utils.f
A    utils/test/ck
A    utils/test/ck10
A    utils/test/test_output
A    utils/test/ck12
A    utils/test/mk
A    utils/test/make
A    utils/test/make/makefile
A    utils/build_and_test
A    utils/f90tof.sh
A    utils/ftof90.sh
A    utils/export
A    utils/clean
A    utils/image_plot.rb
A    utils/plot_styles.rb
A    utils/image_log.rb
A    utils/makefile_header
A    utils/image_log_single.rb
A    utils/scripts
A    utils/scripts/build_and_test
A    utils/scripts/clean
A    utils/scripts/install
A    utils/scripts/make_copy_for_release
A    utils/README
A    utils/detab.c
A    utils/install
A    utils/ndiff-2.00.tar.gz
A    utils/plot_by_name.rb
A    utils/private
A    utils/private/utils_isnan_okay.f
A    utils/private/utils_nan.f
A    utils/private/utils_isnan_nope.f
A    utils/plot_support.rb
A    utils/make
A    utils/make/makefile
A    utils/formats.dek
A    utils/public
A    utils/public/utils_lib.f
A    include
A    lib

cp clean_numerics_only mesa_numerics/clean
cp install_num_only mesa_numerics/install
cp README_mesa_numerics mesa_numerics/README

echo "done copying to mesa_numerics"

SVN_VERSION=`svnversion ~/mesa`
TAR_NAME="mesa_numerics_${SVN_VERSION}.tar"
echo "tar -cvf ${TAR_NAME}"
rm -rf ${TAR_NAME}
tar -cvf ${TAR_NAME} mesa_numerics
check_okay
echo "bzip2 ${TAR_NAME}"
rm -rf "${TAR_NAME}.bz2"
bzip2 ${TAR_NAME}


