aboutsummaryrefslogtreecommitdiffstats
path: root/bin/fit_sbp.sh
blob: 5989ff1c3040ffbdd2d577fa90661c547010a014 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/bin/sh
#
# Handy script for SBP fitting.
# This script wraps the 'fit_beta_sbp' and 'fit_dbeta_sbp',
# and automatically determine the sbp model according to the config file.
#
# Weitian LI
# 2013-02-20
#
# Change logs:
# 2017-02-07, Weitian LI
#   * Use `sbp_cfg` from command line argument, instead of the one specified
#     in the `mass.conf`
#   * Update the variable names according to the updated config files
#   * Some cleanups
#

if [ $# -ne 2 ]; then
    echo "usage: $0 <sbp.conf> <mass.conf>"
    exit 1
fi

sbp_cfg="$1"
mass_cfg="$2"

if [ "$0" = `basename $0` ]; then
    script_path=`which $0`
    base_path=`dirname ${script_path}`
else
    base_path=`dirname $0`
fi

nh=`grep '^nh' ${mass_cfg} | awk '{ print $2 }'`
abund=`grep '^abund' ${mass_cfg} | awk '{ print $2 }'`
tprofile_data=`grep '^tprofile_data' ${mass_cfg} | awk '{ print $2 }'`
tprofile_cfg=`grep '^tprofile_cfg' ${mass_cfg} | awk '{ print $2 }'`

z=`grep '^z' ${sbp_cfg} | awk '{ print $2 }'`
cm_per_pixel=`cosmo_calc ${z} | grep 'cm/pixel' | awk -F':' '{ print $2 }'`
sed -i'' "s/^cm_per_pixel.*$/cm_per_pixel   ${cm_per_pixel}/" ${sbp_cfg}
cfunc_profile=`grep '^cfunc_profile' ${sbp_cfg} | awk '{ print $2 }'`
tprofile=`grep '^tprofile' ${sbp_cfg} | awk '{ print $2 }'`

if grep -q '^beta2' ${sbp_cfg}; then
    MODEL="double-beta"
    PROG=fit_dbeta_sbp
else
    MODEL="single-beta"
    PROG=fit_beta_sbp
fi

${base_path}/fit_wang2012_model ${tprofile_data} ${tprofile_cfg} \
            ${cm_per_pixel} 2> /dev/null
cp wang2012_dump.qdp ${tprofile}
if [ ! -f ${cfunc_profile} ]; then
    ${base_path}/calc_coolfunc.sh ${tprofile} ${abund} ${nh} ${z} \
                ${cfunc_profile}
fi
${base_path}/${PROG} ${sbp_cfg}
echo "## MODEL: ${MODEL}"
echo "## z: ${z}"