diff options
Diffstat (limited to 'mass_profile/coolfunc_calc2.sh')
-rwxr-xr-x | mass_profile/coolfunc_calc2.sh | 173 |
1 files changed, 0 insertions, 173 deletions
diff --git a/mass_profile/coolfunc_calc2.sh b/mass_profile/coolfunc_calc2.sh deleted file mode 100755 index c469619..0000000 --- a/mass_profile/coolfunc_calc2.sh +++ /dev/null @@ -1,173 +0,0 @@ -#!/bin/sh -# -# unalias -a -# -########################################################### -## Task: ## -## Calc `cooling function' data according to ## -## given `temperature profile' ## -## ## -## NOTE: ## -## given `tprofile': <radius> <temperature> ## -## calc `cooling function' by invoking `XSPEC' ## -## using model `wabs*apec' ## -## ## -## LIweitiaNux <liweitianux@gmail.com> ## -## August 17, 2012 ## -########################################################### - -## cmdline arguments {{{ -if [ $# -eq 5 ]; then - : -elif [ $# -eq 6 ]; then - COOLFUNC_BOLO=$6 - [ -e "${COOLFUNC_BOLO}" ] && rm -f ${COOLFUNC_BOLO} -else - printf "usage:\n" - printf " `basename $0` <tprofile> <avg_abund> <nH> <redshift> <coolfunc_outfile> [coolfunc_bolo]\n" - exit 1 -fi -base_path=`dirname $0` -TPROFILE=$1 -ABUND_VAL=$2 -N_H=$3 -REDSHIFT=$4 -NORM=`$base_path/calc_distance $REDSHIFT | grep norm | awk '{ print $2 }'` -COOLFUNC_DAT=$5 -COOLFUNC_DAT_RATIO="flux_cnt_ratio.txt" - -if [ ! -r "${TPROFILE}" ]; then - printf "ERROR: given tprofile '${TPROFILE}' NOT accessiable\n" - exit 2 -fi -[ -e "${COOLFUNC_DAT}" ] && rm -f ${COOLFUNC_DAT} -[ -e "${COOLFUNC_DAT_RATIO}" ] && rm -f ${COOLFUNC_DAT_RATIO} -## arguments }}} - -## specify variable name outside while loop -## otherwise the inside vars invisible -XSPEC_CF_XCM="_coolfunc_calc.xcm" -[ -e "${XSPEC_CF_XCM}" ] && rm -f ${XSPEC_CF_XCM} - -## generate xspec script {{{ -cat >> ${XSPEC_CF_XCM} << _EOF_ -## XSPEC Tcl script -## calc cooling function data -## -## generated by: `basename $0` -## date: `date` - -set xs_return_results 1 -set xs_echo_script 0 -# set tcl_precision 12 -dummyrsp .01 100 4096 -## set basic data {{{ -set nh ${N_H} -set redshift ${REDSHIFT} -set abund_val ${ABUND_VAL} -set norm ${NORM} -## basic }}} - -## xspec related {{{ -# debug settings {{{ -chatter 0 -# debug }}} -query yes -abund grsa -dummyrsp 0.3 11.0 1024 -# load model 'wabs*apec' to calc cooling function -model wabs*apec & \${nh} & 1.0 & \${abund_val} & \${redshift} & \${norm} & /* -## xspec }}} - -## set input and output filename & open files -set tpro_fn "${TPROFILE}" -set cf_fn "${COOLFUNC_DAT}" -set cff_fn "${COOLFUNC_DAT_RATIO}" -if { [ file exists \${cf_fn} ] } { - exec rm -fv \${cf_fn} -} -if { [ file exists \${cff_fn} ] } { - exec rm -fv \${cff_fn} -} - -## open files -set tpro_fd [ open \${tpro_fn} r ] -set cf_fd [ open \${cf_fn} w ] -set cff_fd [ open \${cff_fn} w ] - -_EOF_ - -if [ ! -z "${COOLFUNC_BOLO}" ]; then - cat >> ${XSPEC_CF_XCM} << _EOF_ -# coolfunc bolometric -set cfbolo_fn "${COOLFUNC_BOLO}" -if { [ file exists \${cfbolo_fn} ] } { - exec rm -fv \${cfbolo_fn} -} -set cfbolo_fd [ open \${cfbolo_fn} w ] - -_EOF_ -fi - -cat >> ${XSPEC_CF_XCM} << _EOF_ -## read data from tprofile line by line -while { [ gets \${tpro_fd} tpro_line ] != -1 } { - # gets one line - scan \${tpro_line} "%f %f" radius temp_val - #puts "radius: \${radius}, temperature: \${temp_val}" - # set temperature value - newpar 2 \${temp_val} - # calc flux & tclout - flux 0.7 7.0 - tclout flux 1 - scan \${xspec_tclout} "%f %f %f %f" holder holder holder cf_data - #puts "cf_data: \${cf_data}" - puts \${cf_fd} "\${radius} \${cf_data}" - flux 0.01 100.0 - tclout flux 1 - scan \${xspec_tclout} "%f %f %f %f" cff_data holder holder holder - puts \${cff_fd} "\${radius} [expr \${cff_data}/\${cf_data}]" -_EOF_ -if [ ! -z "${COOLFUNC_BOLO}" ]; then - cat >> ${XSPEC_CF_XCM} << _EOF_ - # coolfunc bolometric - set cfbolo_data \$cff_data - #puts "cfbolo_data: \${cfbolo_data}" - puts \${cfbolo_fd} "\${radius} \${cfbolo_data}" -_EOF_ -fi -cat >> ${XSPEC_CF_XCM} << _EOF_ -} - -## close opened files -close \${tpro_fd} -close \${cf_fd} -_EOF_ - -if [ ! -z "${COOLFUNC_BOLO}" ]; then - cat >> ${XSPEC_CF_XCM} << _EOF_ -# coolfunc bolometric -close \${cfbolo_fd} - -_EOF_ -fi - -cat >> ${XSPEC_CF_XCM} << _EOF_ -## exit -tclexit -_EOF_ - -## extract xcm }}} - -## invoke xspec to calc -printf "invoking XSPEC to calculate cooling function data ...\n" -# xspec - ${XSPEC_CF_XCM} -xspec - ${XSPEC_CF_XCM} > /dev/null - -## clean -# if [ -e "${XSPEC_CF_XCM}" ]; then -# rm -f ${XSPEC_CF_XCM} -# fi - -exit 0 - |