Commit d339db1c96890ebdd5ed82bbadfcdb0563e10969
1 parent
746b3ee2
Exists in
master
improved
Showing
10 changed files
with
140 additions
and
83 deletions
Show diff stats
Docs/developers/Code_Structure_Flowcharts/dustem-wrapper_flow_chart1.drawio
1 | -<mxfile host="Electron" modified="2024-03-08T09:54:39.832Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/17.2.1 Chrome/96.0.4664.174 Electron/16.1.0 Safari/537.36" etag="7JaPd0VAnYTZuhZhXUte" version="17.2.1" type="device" pages="5"><diagram id="IKMg62xr7mvPSjzlxw8D" name="Dustem_wrap_flow">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</diagram><diagram id="-igyU8uB8o-wUyM342J-" name="plugin_managment">7ZtRj5s4EIB/yz1EujvpVhiwgccm23Slu+oq7Z1u25eIgpNYSzAFZ5Pcr68JJgEbSJaFhKrpwxYPY2N7xt/YAxkZk9X2Q+xGy4/Ux8FI1/ztyLgf6TrQHJ3/l0p2mcQ2nEywiIkvlI6CR/I/zmsK6Zr4OCkpMkoDRqKy0KNhiD1WkrlxTDdltTkNyk+N3AVWBI+eG6jS/4jPlmIUunWUP2CyWOZPBkiMb+XmymIkydL16aYgMt6PjElMKcuuVtsJDtLJy+clqzetuXvoWIxDdlaFP/9irvNsew+fyLfxQg9NNP5DtPLiBmsxYH+dMLyakZCwWRSsFyS8i2IqhsB2+bzw0UTpJb/n4YRP8nizJAw/Rq6XijfcG7jMDcgi5EWP9xHHXPCCY0b47L4TN1bE99Mmx0lmee1OM2wTAXj8a/K7cxqyR/FwkGqzmD4fDGKkGiQIJjSg8b57xnQ64f+43CcxdwtC04dhN+EzNVYnLp8F3jm8LYjERH7AdIVZvOMq4u7BqMKrgSnKm6OP6EjIlgX/MITMFW65ODR9tBy/EMZ7hSH1OkPerKdaD5atd7DK1axnKNZTTIZD/13Ks9QegZskxOOTsWSrQExqTNehj9OHaLyEt4Q9Fa4/760DRel+W7h1v8sLIR/KU7FQqJUWj9X2pbxerUUSuo493DDsHOhuvMCsQU/MBvZLrFbtW7AfrDBfLotx4DLyUiZ8lU3FEz5Rwkd2cB8Ayu5jAsktsnGLWkUiyw0Z5YYcKDWUTYzSEPcDd1dQi1KFpL7DkrsDCBu7Ja8OWIor/CJ7/tHbDxZovwDMOnzF61CEoeRGspNxCKFrkwzWGdLlo39xGb5Zs9aawClbE8JrWxNdJi5ZQwtM8MzAZA4rMNmS/6CWgUmXIhzqKTABKdRAW2vsl6yPwCv1rQuEMruOgNwRXd44jmf8ROvFJEoBorNdhG8sPLlHt/Rrs9D5SVlonslCe1As1DVp6TttWSht0m3NuoP90BApXb5r3qnLNSykl2v0Q7g8OlTu1n9Els3nGHleNcuyygVl33K+ao1Lqj3lbO3alANqRvCtmOuaWCdJlPvnUFAkH9LstiiSY6LZE4jM6g6fm8ewnAtss0BtxvOWMnhNysC+esoAdJ/9vDxyBpailDMJVke7H2T3hBxpu3bqJCiNz7YvQZzaJKVHV9Ga4VmC/Rtx1LSWFLbMq78sA2qW8q3E6fB9i97jC5dzD3NwWDiT6aC1xJmcIHP6oZlM3xNpKlkdXQJmamr3tn1qsX1ycpZcD2bWULZPbSDYnmXn5uhzTx8Ky6TVjnSJQW23ZpYpeVhHMLOqt5J13ZLUHeMSMKvPue9BNttutzeWnc6xX/8oeEuyn4DZwLLs8vHQ0eXk+Nk4s2Sc9XTSlN8JOs08k/Wtjo+a3nNg0Idv5ItvPY2THfGM9azis8xff/+lhLTfRnA8gvd3SYQ9ZYmUl0AV0grrZU+ljFsAVuXG5/o+N55TMMDz6rw4+oog6oZMSI5tUN1lAavCr+UY2IZMDpj/M5tGH588Ohn/G/6tuZMvFRbpCEyggxPjKS4pYQWhsVFlw8nEcaZTJTTpbzt0aircmrx+IGwzdbvsg203alCB5HkbtRYwqXRdvbeYenDXz0VvbXZdMFDXbfLI02F5WB8CQTnH39Z1kfJ+sp+gbMmf1Hb8zWnlulBfO5R++5B+rXPLgFSkc5FZ5uIFDw2VdlTT8l3xbTDJ3Cb/PQ2nQbFJPjIA1PbAIH38osN+2IRkBDYTUxqd+SaQ8eLxB2KZ+vFndsb77w==</diagram><diagram id="VhkHcouieJL9I0J5Rexb" name="Phangs_fiting_SEDs">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</diagram><diagram id="ls9p14zF9e6sMFj8i8uX" name="Phangs_pluggins">7Vpbc5s6EP41fjkz9QAyYB4TJ0460/bkxKfT5MkjgwxqAHGEfOuvP8KImwDfartO6zw4aFkJab/9VruCDhgEywcKI+8zcZDf0RRn2QF3HU1TFUvj/xLJKpX0gZUKXIodoVQIRvgHynoK6Qw7KK4oMkJ8hqOq0CZhiGxWkUFKyaKqNiV+9akRdFFNMLKhX5d+ww7zxCo0s5A/Iux62ZNVQ6wvgJmyWEnsQYcsSiJw3wEDSghLr4LlAPmJ8TK7pP2GLXfziVEUsl069Icz59+X8Mvo20d28/xVvXucfP0gRplDfyYW7MxihoJx5M9cHI4jD4ZuPOYi34d0jGM6Fathq8xEfGFRchlRYqOY2/t24WGGRhG0E/GCOwaXQR+7IW/afLqIcsEcUYa5oW/EjQA7TjLkbZw6gdJVQL9nqHrx2+N3pyRkI/FwNdFmlLzl2IBEA/v+gPiErqcHhsMB/+NyB1PuIZgkD0Mw5ka7rdswMwifHFqWRMKmD4gEiNEVV8nu9gS+wsF10VwU3qIZQuaVPAUIGRQO6uYjFxjyCwHjHpBqNUhriKHQuUm4kcDhwzjGNreFxwJf2JSSWeig5CEKb6ElZi+l69c1OLpo3S1Lt+5WWSPkS3kpN9Jemp61i37rVtaxFZGYzKiNtrsyg9RFbIMeSPWQUyF+Hd8SgHoDfpmMIh8yPK+GiyZQxROeCOYrK9xHqbpPz5T8Il236FWmtzyQVR3IUKyuZVXHSm1TG4v7AlyV1KJEId59zn1l88wkdVWt6POLdAKFy+coHM4CsF9g49sHw+FsFlyjWzW6mRJ2SkN4658zvPXagKUIOmMUYB8VsHJ5xOmJ4iusFVg1mZJNu9ZZYdU3wmpPVOsK6p6gNqYipwL1Gb99fEXfBw/BU/D5y3/L6Y/v9w3ZZY7dGIdT0mVL1gqivfIxz0IoaIGxlK9M0nzl0yQXQPvNXWcxf88YHyaHKAVU1evgGMatNhweBwlDqyIB6kA0pYT9U+FQTwnvbU/tAuWv7hSzdh79RhCovxqD1oSEZ2TjBZwjH4Uu865BTQpqQApq50xA/pk/c8nyEdAPN649fTVXn54bgloNsv3qq5pBOQ9AbvrSncHAstb8qIKiHVqj8cYTopibJfGYat2mVuu2o5Rtm/aIrWWbyPsupGzT5bJNdrddyzZDGkjvSQO11GwH1EmN3nz004I/25u1d+nNhhRk5U1wV2fuSWcQqqmf1Znre6w90RTV+o3THHl77J0vzWmEoF6eX+PJbvFkk0dvjSf6RccT9b0GlNZTiWvSvk/SDn550m4cOyw1hRT10l6J7Bo9LisbyQ8jhfdYBwaPPOrk7x3M7m7hY+8XItI7wOywoXVmsr5+3DcijRQwz0EBpWte3IvB97mH1rxXLgx3pUH+KUU2kHEyGsjbvvxFwhb9LFM9KQ36F02D07GgV2fBpnPKKwsOZoE8ZXMLC6Qcl+8Gp2eBevRTzGN+JWKejgZ6nQabMv8LoUHNe/ua7L07E0HKPfgcz0IDbRsNJH2g/dRmwJvFp3WpevGBIrj/Hw==</diagram><diagram id="UJ_gMtkV_-GboZ4knRsY" name="dustem_make_sed_table">7Zrdc9soEMD/Gr90JhkhrK/HRKnvHtppZ9yZ6z15iIRlLpLQIRTL/esLRugLK25unOoy4zw4sIIF8dtdWOwFDLP6D4aK3Wca43RhW3G9gA8L2wYBCMQ/KTkoyQ2ElpIkjMRNq06wJj9wI9TNKhLjctCQU5pyUgyFEc1zHPGBDDFG98NmW5oORy1Qgg3BOkKpKf2LxHynpL7tdfI/MUl2emTgNm+cId24eZNyh2K674ngxwUMGaVclbI6xKlcPb0uqt9q4mk7MYZz/isdflgB+QRD4t3xrf+t+mf978G7gUrLM0qr5oWbyfKDXgGcx3dyIUUtSlFZkmgB73c8S4UAiCKjVR5jOYglargm/Huv/Lcs3zpN7aHuPXo46ErO2eF7v6J62Y6ud/2ONd1RzRXHBsJuTbTNIJZg/sJCgJaIsGVMMyzGEf32HXOn4bjr4dYyhlPEyfNwGqgxvaRV147wlRIxQdtq/OTG9VzVp3ETYC+toZKSVizCTb8+5bEqT89Jq4LBSJVaC0OVgIwOvWaFbFC+MGnPGo2kl2N6bkaPAPZ7iIKaha71WHSio12/wsaXho3HVclxtsnQE96UON5w9CisfWz4wmELWSwYjXApVuV+vyMcrwsUSfFeRDwhQylJcukbwuQwE4JnzDgRAeSueZCROJYq70sV3KxbC/pLFzjd51I83dKcr5vBpVuVnNGnNuZA2YKkaUhTyo7Tg6tVKP6EPCZMRD5C5WAYlbx1DDkTXL/sGqbJtza5NAzJUYKeU9juCa+AI4PrO0AP9etJOlMkSU74RrwbysorxiFGJxhhdMDcGN0pjBHNioofffKK8QxGXwtmw+hNYSwx38SIoyvDMwyX3tyu6BsMsz3bEn4No+fYBXBu/wsMdh9kDvXh9kV+0SEl4rzO4ATB3sn+UZ3sPz22AhQ9Jcfz/peKCzUtHcUSOCYX1723V6sLQQCeAcF0oFMM/LdioNPUyydQ4AIJ1Ln8yfAhQQu23tZ7EoZBcKQ49ENba/yKGRELKj3+lYmZymvOR6izCVxw2nR+UwK3BOPt2f6vCRywx0buO0NVEwncpfIlYE9t7PKYfd0Yzm3qJ2LS790YgHmr08+TtqQWOe/7zJa2W+xG0WmaRtSKveDRsi7F2R1x9ubnPHmzIU/g7xPwm7vrOLp6/tznODB5rbFngswGSRVXin2KS3+83c5+GgeTtxr6corkW3oFeSaqOu7sUXXyXkOBTKuE5O8urv6PNk539gtIYF57NIgV3U1d17cC5MIOy4gWbWL3jni/uePCMVVndqrmhcgU1ePZiKPkCvYXwL7h1z6i2n0BrvLX7ncE8ONP</diagram></mxfile> | |
2 | 1 | \ No newline at end of file |
2 | +<mxfile host="Electron" modified="2024-03-13T17:16:00.670Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/17.2.1 Chrome/96.0.4664.174 Electron/16.1.0 Safari/537.36" etag="jByJohe9QcgNhvBMCHPi" version="17.2.1" type="device" pages="5"><diagram id="IKMg62xr7mvPSjzlxw8D" name="Dustem_wrap_flow">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</diagram><diagram id="-igyU8uB8o-wUyM342J-" name="plugin_managment">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</diagram><diagram id="VhkHcouieJL9I0J5Rexb" name="Phangs_fiting_SEDs">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</diagram><diagram id="ls9p14zF9e6sMFj8i8uX" name="Phangs_pluggins">7Vpbc5s6EP41fjkz9QAyYB4TJ0460/bkxKfT5MkjgwxqAHGEfOuvP8KImwDfartO6zw4aFkJab/9VruCDhgEywcKI+8zcZDf0RRn2QF3HU1TFUvj/xLJKpX0gZUKXIodoVQIRvgHynoK6Qw7KK4oMkJ8hqOq0CZhiGxWkUFKyaKqNiV+9akRdFFNMLKhX5d+ww7zxCo0s5A/Iux62ZNVQ6wvgJmyWEnsQYcsSiJw3wEDSghLr4LlAPmJ8TK7pP2GLXfziVEUsl069Icz59+X8Mvo20d28/xVvXucfP0gRplDfyYW7MxihoJx5M9cHI4jD4ZuPOYi34d0jGM6Fathq8xEfGFRchlRYqOY2/t24WGGRhG0E/GCOwaXQR+7IW/afLqIcsEcUYa5oW/EjQA7TjLkbZw6gdJVQL9nqHrx2+N3pyRkI/FwNdFmlLzl2IBEA/v+gPiErqcHhsMB/+NyB1PuIZgkD0Mw5ka7rdswMwifHFqWRMKmD4gEiNEVV8nu9gS+wsF10VwU3qIZQuaVPAUIGRQO6uYjFxjyCwHjHpBqNUhriKHQuUm4kcDhwzjGNreFxwJf2JSSWeig5CEKb6ElZi+l69c1OLpo3S1Lt+5WWSPkS3kpN9Jemp61i37rVtaxFZGYzKiNtrsyg9RFbIMeSPWQUyF+Hd8SgHoDfpmMIh8yPK+GiyZQxROeCOYrK9xHqbpPz5T8Il236FWmtzyQVR3IUKyuZVXHSm1TG4v7AlyV1KJEId59zn1l88wkdVWt6POLdAKFy+coHM4CsF9g49sHw+FsFlyjWzW6mRJ2SkN4658zvPXagKUIOmMUYB8VsHJ5xOmJ4iusFVg1mZJNu9ZZYdU3wmpPVOsK6p6gNqYipwL1Gb99fEXfBw/BU/D5y3/L6Y/v9w3ZZY7dGIdT0mVL1gqivfIxz0IoaIGxlK9M0nzl0yQXQPvNXWcxf88YHyaHKAVU1evgGMatNhweBwlDqyIB6kA0pYT9U+FQTwnvbU/tAuWv7hSzdh79RhCovxqD1oSEZ2TjBZwjH4Uu865BTQpqQApq50xA/pk/c8nyEdAPN649fTVXn54bgloNsv3qq5pBOQ9AbvrSncHAstb8qIKiHVqj8cYTopibJfGYat2mVuu2o5Rtm/aIrWWbyPsupGzT5bJNdrddyzZDGkjvSQO11GwH1EmN3nz004I/25u1d+nNhhRk5U1wV2fuSWcQqqmf1Znre6w90RTV+o3THHl77J0vzWmEoF6eX+PJbvFkk0dvjSf6RccT9b0GlNZTiWvSvk/SDn550m4cOyw1hRT10l6J7Bo9LisbyQ8jhfdYBwaPPOrk7x3M7m7hY+8XItI7wOywoXVmsr5+3DcijRQwz0EBpWte3IvB97mH1rxXLgx3pUH+KUU2kHEyGsjbvvxFwhb9LFM9KQ36F02D07GgV2fBpnPKKwsOZoE8ZXMLC6Qcl+8Gp2eBevRTzGN+JWKejgZ6nQabMv8LoUHNe/ua7L07E0HKPfgcz0IDbRsNJH2g/dRmwJvFp3WpevGBIrj/Hw==</diagram><diagram id="UJ_gMtkV_-GboZ4knRsY" name="dustem_make_sed_table">7Zrdc9soEMD/Gr90JhkhrK/HRKnvHtppZ9yZ6z15iIRlLpLQIRTL/esLRugLK25unOoy4zw4sIIF8dtdWOwFDLP6D4aK3Wca43RhW3G9gA8L2wYBCMQ/KTkoyQ2ElpIkjMRNq06wJj9wI9TNKhLjctCQU5pyUgyFEc1zHPGBDDFG98NmW5oORy1Qgg3BOkKpKf2LxHynpL7tdfI/MUl2emTgNm+cId24eZNyh2K674ngxwUMGaVclbI6xKlcPb0uqt9q4mk7MYZz/isdflgB+QRD4t3xrf+t+mf978G7gUrLM0qr5oWbyfKDXgGcx3dyIUUtSlFZkmgB73c8S4UAiCKjVR5jOYglargm/Huv/Lcs3zpN7aHuPXo46ErO2eF7v6J62Y6ud/2ONd1RzRXHBsJuTbTNIJZg/sJCgJaIsGVMMyzGEf32HXOn4bjr4dYyhlPEyfNwGqgxvaRV147wlRIxQdtq/OTG9VzVp3ETYC+toZKSVizCTb8+5bEqT89Jq4LBSJVaC0OVgIwOvWaFbFC+MGnPGo2kl2N6bkaPAPZ7iIKaha71WHSio12/wsaXho3HVclxtsnQE96UON5w9CisfWz4wmELWSwYjXApVuV+vyMcrwsUSfFeRDwhQylJcukbwuQwE4JnzDgRAeSueZCROJYq70sV3KxbC/pLFzjd51I83dKcr5vBpVuVnNGnNuZA2YKkaUhTyo7Tg6tVKP6EPCZMRD5C5WAYlbx1DDkTXL/sGqbJtza5NAzJUYKeU9juCa+AI4PrO0AP9etJOlMkSU74RrwbysorxiFGJxhhdMDcGN0pjBHNioofffKK8QxGXwtmw+hNYSwx38SIoyvDMwyX3tyu6BsMsz3bEn4No+fYBXBu/wsMdh9kDvXh9kV+0SEl4rzO4ATB3sn+UZ3sPz22AhQ9Jcfz/peKCzUtHcUSOCYX1723V6sLQQCeAcF0oFMM/LdioNPUyydQ4AIJ1Ln8yfAhQQu23tZ7EoZBcKQ49ENba/yKGRELKj3+lYmZymvOR6izCVxw2nR+UwK3BOPt2f6vCRywx0buO0NVEwncpfIlYE9t7PKYfd0Yzm3qJ2LS790YgHmr08+TtqQWOe/7zJa2W+xG0WmaRtSKveDRsi7F2R1x9ubnPHmzIU/g7xPwm7vrOLp6/tznODB5rbFngswGSRVXin2KS3+83c5+GgeTtxr6corkW3oFeSaqOu7sUXXyXkOBTKuE5O8urv6PNk539gtIYF57NIgV3U1d17cC5MIOy4gWbWL3jni/uePCMVVndqrmhcgU1ePZiKPkCvYXwL7h1z6i2n0BrvLX7ncE8ONP</diagram></mxfile> | |
3 | 3 | \ No newline at end of file | ... | ... |
LabTools/IRAP/JPB/make_sed_phangs_tables.pro
... | ... | @@ -94,22 +94,30 @@ CASE use_grid_type OF |
94 | 94 | '(*!dustem_params).grains(0).mdust_o_mh',$ ;PAH0 mass fraction [1.e-4,1.e-1] 20 values |
95 | 95 | '(*!dustem_params).grains(1).mdust_o_mh' $ ;VSG mass fraction [1.e-4,1.e-1] 20 values |
96 | 96 | ] |
97 | - iv_min = [0.1,0. ,1.e-4,1.e-4] | |
97 | + ;iv_min = [0.1,0. ,1.e-4,1.e-4] ;does not run for values =0., because of use of pmin (division by initial value) | |
98 | + iv_min = [0.1,1.e-10 ,1.e-4,1.e-4] | |
98 | 99 | iv_max = [100,0.02,1.e-1,1.e-1] |
99 | 100 | log=[1,0,1,1] |
100 | - fpd=['(*!dustem_params).gas.g0', $ ;gas.G0=-1 (not used) | |
101 | - '(*!dustem_params).g0', $ ;g0=1 (not used) | |
102 | - 'dustem_plugin_dl07_isrf_model_2', $ ;alpha=1 | |
101 | + ;fpd=['(*!dustem_params).gas.g0', $ ;gas.G0=-1 (not used) | |
102 | + ; '(*!dustem_params).g0', $ ;g0=1 (not used) | |
103 | + ; 'dustem_plugin_dl07_isrf_model_2', $ ;alpha=1 | |
104 | + ; 'dustem_plugin_dl07_isrf_model_4' $ ;Umax=1.e7 | |
105 | + ; ] | |
106 | + ;fiv=[-1.,1.,2.,1.e7] ;This sets the fixed parameters | |
107 | + fpd=['dustem_plugin_dl07_isrf_model_2', $ ;alpha=1 | |
103 | 108 | 'dustem_plugin_dl07_isrf_model_4' $ ;Umax=1.e7 |
104 | 109 | ] |
110 | + fiv=[2.,1.e7] ;This sets the fixed parameters | |
105 | 111 | dustem_init,model=model |
106 | 112 | fortran_user=dustem_set_up_fortran(/random_name) ;use a random fortran number |
107 | - !dustem_verbose=0 | |
108 | - (*!dustem_params).KEYWORDS='quiet '+(*!dustem_params).KEYWORDS ;This makes Fortran be quiet too | |
113 | + !dustem_verbose=1 | |
114 | + !quiet=0 | |
115 | + !dustem_nocatch=1 | |
116 | + ;!dustem_verbose=0 | |
117 | + ;(*!dustem_params).KEYWORDS='quiet '+(*!dustem_params).KEYWORDS ;This makes Fortran be quiet too | |
109 | 118 | ;=== select filters to be used for the grid |
110 | 119 | filters=[(*!dustem_filters).nircam.filter_names,(*!dustem_filters).miri.filter_names, $ |
111 | 120 | (*!dustem_filters).iras.filter_names,(*!dustem_filters).pacs.filter_names,(*!dustem_filters).spire.filter_names] |
112 | - fiv=[-1.,1.,2.,1.e7] ;This sets the fixed parameters | |
113 | 121 | ;define the number of free parameters in the grid and the grid fits table name |
114 | 122 | IF keyword_set(test) THEN BEGIN |
115 | 123 | iv_Nvalues=[2,2,3,3] | ... | ... |
LabTools/IRAP/JPB/phangs_brute_force_fit_with_isrf_grid.pro
... | ... | @@ -35,6 +35,7 @@ PRO phangs_brute_force_fit_with_isrf_grid,source_name=source_name $ |
35 | 35 | ; EXAMPLE: |
36 | 36 | ; phangs_brute_force_fit_with_isrf_grid,source_name='ngc0628',/normalize,/save |
37 | 37 | ; phangs_brute_force_fit_with_isrf_grid,source_name='ngc0628',/normalize,/save,/include_herschel,/fit_G0,/show_seds |
38 | +; phangs_brute_force_fit_with_isrf_grid,source_name='ngc0628',/normalize,/save,/include_herschel,/fit_G0,/force_Mathis | |
38 | 39 | ; MODIFICATION HISTORY: |
39 | 40 | ; written by Jean-Philippe Bernard |
40 | 41 | ;- |
... | ... | @@ -266,8 +267,11 @@ FOR isrf_class=class_min,class_max DO BEGIN |
266 | 267 | vid=ind_class[vvid] |
267 | 268 | G0=interpol(ISRFs[*,vid],isrf_wavelengths,1.0)/Mathis_1mic |
268 | 269 | G0s_predicted[vid]=G0 |
269 | - G0=G0*10. ;This is a test | |
270 | - IF not keyword_set(force_mathis) AND not keyword_set(fit_G0) THEN BEGIN | |
270 | + ;G0=G0*10. ;This is a test | |
271 | + ;IF not keyword_set(force_mathis) AND not keyword_set(fit_G0) THEN BEGIN | |
272 | + ; fixed_parameters_values=[G0] | |
273 | + ; ENDIF | |
274 | + IF not keyword_set(fit_G0) THEN BEGIN | |
271 | 275 | fixed_parameters_values=[G0] |
272 | 276 | ENDIF |
273 | 277 | sed=*seds_ptr[vid] |
... | ... | @@ -307,7 +311,8 @@ FOR isrf_class=class_min,class_max DO BEGIN |
307 | 311 | print,params_hit |
308 | 312 | stop |
309 | 313 | ENDIF |
310 | - IF not keyword_set(force_mathis) AND not keyword_set(fit_G0) THEN BEGIN | |
314 | + ;IF not keyword_set(force_mathis) AND not keyword_set(fit_G0) THEN BEGIN | |
315 | + IF not keyword_set(fit_G0) THEN BEGIN | |
311 | 316 | G0s[vid]=G0 |
312 | 317 | ENDIF ELSE BEGIN |
313 | 318 | G0s[vid]=weighted_params[0] |
... | ... | @@ -326,21 +331,21 @@ FOR isrf_class=class_min,class_max DO BEGIN |
326 | 331 | ;print,params[0],params[1],params[2],fact,chi2 |
327 | 332 | ENDIF |
328 | 333 | ENDFOR |
329 | - ind=where(vor_class EQ isrf_class,Nvor_class) | |
334 | + ;ind=where(vor_class EQ isrf_class,Nvor_class) | |
330 | 335 | st[isrf_class].Nvor=Nvor_class |
331 | 336 | st[isrf_class].isrf_class=isrf_class |
332 | - st[isrf_class].min_G0=la_min(G0s[ind]) | |
333 | - st[isrf_class].med_G0=la_median(G0s[ind]) | |
334 | - st[isrf_class].max_G0=la_max(G0s[ind]) | |
335 | - st[isrf_class].min_Ypah=la_min(Ypahs[ind]) | |
336 | - st[isrf_class].med_Ypah=la_median(Ypahs[ind]) | |
337 | - st[isrf_class].max_Ypah=la_max(Ypahs[ind]) | |
338 | - st[isrf_class].min_Yvsg=la_min(Yvsgs[ind]) | |
339 | - st[isrf_class].med_Yvsg=la_median(Yvsgs[ind]) | |
340 | - st[isrf_class].max_Yvsg=la_max(Yvsgs[ind]) | |
341 | - st[isrf_class].min_chi2=la_min(chi2s[ind]) | |
342 | - st[isrf_class].med_chi2=la_median(chi2s[ind]) | |
343 | - st[isrf_class].max_chi2=la_max(chi2s[ind]) | |
337 | + st[isrf_class].min_G0=la_min(G0s[ind_class]) | |
338 | + st[isrf_class].med_G0=la_median(G0s[ind_class]) | |
339 | + st[isrf_class].max_G0=la_max(G0s[ind_class]) | |
340 | + st[isrf_class].min_Ypah=la_min(Ypahs[ind_class]) | |
341 | + st[isrf_class].med_Ypah=la_median(Ypahs[ind_class]) | |
342 | + st[isrf_class].max_Ypah=la_max(Ypahs[ind_class]) | |
343 | + st[isrf_class].min_Yvsg=la_min(Yvsgs[ind_class]) | |
344 | + st[isrf_class].med_Yvsg=la_median(Yvsgs[ind_class]) | |
345 | + st[isrf_class].max_Yvsg=la_max(Yvsgs[ind_class]) | |
346 | + st[isrf_class].min_chi2=la_min(chi2s[ind_class]) | |
347 | + st[isrf_class].med_chi2=la_median(chi2s[ind_class]) | |
348 | + st[isrf_class].max_chi2=la_max(chi2s[ind_class]) | |
344 | 349 | write_xcat,st,'/tmp/essai.xcat' |
345 | 350 | ENDIF ELSE BEGIN |
346 | 351 | message,'No Voronoi bins found with ISRF class '+strtrim(isrf_class,2),/continue |
... | ... | @@ -399,27 +404,6 @@ restore,file_save,/verb |
399 | 404 | file_save=data_dir+use_source_name+'_DBP90_JWST_G0_YPAH_YVSG_maps_with-ISRFclasses'+norm_str+mathis_str+'.sav' |
400 | 405 | restore,file_save,/verb |
401 | 406 | |
402 | -;===== compute some results statistics | |
403 | -one_st={isrf_class:0L,min_G0:0.,med_G0:0.,max_G0:0.,min_Ypah:0.,med_Ypah:0.,max_Ypah:0.,min_Yvsg:0.,med_Yvsg:0.,max_Yvsg:0.,min_chi2:0.,med_chi2:0.,max_chi2:0.} | |
404 | -;Nisrf_class=class_max-class_min+1 | |
405 | -st=replicate(one_st,30) | |
406 | -FOR isrf_class=class_min,class_max DO BEGIN | |
407 | - ind=where(vor_class EQ isrf_class,Nvor_class) | |
408 | - st[isrf_class].isrf_class=isrf_class | |
409 | - st[isrf_class].min_G0=la_min(G0s[ind]) | |
410 | - st[isrf_class].med_G0=la_median(G0s[ind]) | |
411 | - st[isrf_class].max_G0=la_max(G0s[ind]) | |
412 | - st[isrf_class].min_Ypah=la_min(Ypahs[ind]) | |
413 | - st[isrf_class].med_Ypah=la_median(Ypahs[ind]) | |
414 | - st[isrf_class].max_Ypah=la_max(Ypahs[ind]) | |
415 | - st[isrf_class].min_Yvsg=la_min(Yvsgs[ind]) | |
416 | - st[isrf_class].med_Yvsg=la_median(Yvsgs[ind]) | |
417 | - st[isrf_class].max_Yvsg=la_max(Yvsgs[ind]) | |
418 | - st[isrf_class].min_chi2=la_min(chi2s[ind]) | |
419 | - st[isrf_class].med_chi2=la_median(chi2s[ind]) | |
420 | - st[isrf_class].max_chi2=la_max(chi2s[ind]) | |
421 | -ENDFOR | |
422 | - | |
423 | 407 | stop |
424 | 408 | |
425 | 409 | cleanplot |
... | ... | @@ -435,7 +419,7 @@ cgplot,xv,res,psym=10,title='ISRF class histogram',xtit='class',ytit='Number',/y |
435 | 419 | win=0L |
436 | 420 | window,win,xsize=700,ysize=900 & win=win+1 |
437 | 421 | !p.multi=[0,1,3] |
438 | -ind=where(G0s NE la_undef() and G0s GT 0) | |
422 | +ind=where(G0s NE la_undef() and G0s GT 0,Nbins=100) | |
439 | 423 | res=histogram(G0s[ind],locations=xv) |
440 | 424 | cgplot,xv,res,psym=10,title='G0s histogram',xtit='G0',ytit='Number',/ylog,yrange=[1,max(res)],/ysty |
441 | 425 | |
... | ... | @@ -454,6 +438,12 @@ win=0L |
454 | 438 | window,win,xsize=800,ysize=900 & win=win+1 |
455 | 439 | imrange=[-4.5,-2.5] |
456 | 440 | ;image_cont20,G0_map,Href,/square,imrange=[-2,40],axis_color_table=1,image_color_table='jpbloadct',/silent,off_bar=obp,title='G0' |
441 | +image_cont20,la_log10(G0_predicted_map),Href,/square,imrange=imrange,axis_color_table=1,image_color_table='jpbloadct',/silent,off_bar=obp,title='log10(G0_predicted)' | |
442 | + | |
443 | +window,win,xsize=800,ysize=900 & win=win+1 | |
444 | +imrange=[-4.5,-2.5] | |
445 | +imrange=[-4.,-2.5]+3 ;with Herschel data | |
446 | +;image_cont20,G0_map,Href,/square,imrange=[-2,40],axis_color_table=1,image_color_table='jpbloadct',/silent,off_bar=obp,title='G0' | |
457 | 447 | image_cont20,la_log10(G0_map),Href,/square,imrange=imrange,axis_color_table=1,image_color_table='jpbloadct',/silent,off_bar=obp,title='log10(G0)' |
458 | 448 | |
459 | 449 | window,win,xsize=800,ysize=900 & win=win+1 |
... | ... | @@ -464,12 +454,13 @@ image_cont20,la_log10(Ypah_map),Href,/square,imrange=imrange,axis_color_table=1, |
464 | 454 | |
465 | 455 | window,win,xsize=800,ysize=900 & win=win+1 |
466 | 456 | ;imrange=[-4.,-3.]+0.5 ;normalize=1 |
467 | -imrange=[-4.5,-2.]+0.4 ;normalize=1 | |
457 | +;imrange=[-4.5,-2.]+0.4 ;normalize=1 | |
468 | 458 | ;imrange=[-2.2,-1.6] ;normalize=0 |
459 | +imrange=[-4,-2.]+0.4 | |
469 | 460 | image_cont20,la_log10(YVSG_map),Href,/square,imrange=imrange,axis_color_table=1,image_color_table='jpbloadct',/silent,off_bar=obp,title='log10(Yvsg)' |
470 | 461 | |
471 | 462 | window,win,xsize=800,ysize=900 & win=win+1 |
472 | -imrange=[2,7]+1 | |
463 | +imrange=[2,4] | |
473 | 464 | image_cont20,la_log10(chi2_map),Href,/square,imrange=imrange,axis_color_table=1,image_color_table='jpbloadct',/silent,title='log10(Chi2)',off_bar=obp |
474 | 465 | |
475 | 466 | window,win,xsize=800,ysize=900 & win=win+1 |
... | ... | @@ -493,17 +484,27 @@ imrange=0 |
493 | 484 | imrange=[-2.0,-1.45] |
494 | 485 | image_cont20,la_log10(la_mul(Ypah_map,fact_map)),Href,/square,imrange=imrange,axis_color_table=1,image_color_table='jpbloadct',/silent,title='Ypah *fact',off_bar=obp |
495 | 486 | |
487 | +window,win,xsize=800,ysize=900 & win=win+1 | |
488 | +rap_G0=la_div(G0_map,G0_predicted_map) & tit='log(G0/G0_predicted)' | |
489 | +;rap_G0=la_power(la_div(G0_map,G0_predicted_map),0.5) & tit='log(distance star-dust)' | |
490 | +imrange=0 | |
491 | +image_cont20,la_log10(rap_G0),Href,/square,imrange=imrange,axis_color_table=1,image_color_table='jpbloadct',/silent,title=tit,off_bar=obp | |
492 | + | |
496 | 493 | ;=== other plots |
497 | 494 | NH_range=[0.1,1000.] |
498 | -G0_range=[1.e-5,0.1] | |
495 | +G0_range=[0.1,10] | |
496 | +G0_range_pred=[0.001,10]/10000. | |
499 | 497 | Ypah_range=[8.e-5,2.e-1] |
500 | 498 | Yvsg_range=[8.e-5,2.e-1] |
501 | 499 | chi2_range=[1.e3,1.e7] |
502 | 500 | |
503 | 501 | window,win,xsize=800,ysize=900 & win=win+1 |
502 | +cgplot,G0s_predicted,G0s,/xlog,/ylog,xrange=G0_range_pred,/xsty,yrange=G0_range,/ysty,psym=3,xtit='G0 predicted',ytit='G0' | |
503 | + | |
504 | +window,win,xsize=800,ysize=900 & win=win+1 | |
504 | 505 | !p.multi=[0,1,3] |
505 | -cgplot,G0s,Ypahs,/xlog,/ylog,xr=[1.e-5,1.e-2],/xsty,psym=3,xtit='G0',ytit='Ypah' | |
506 | -cgplot,G0s,Yvsgs,/xlog,/ylog,xr=[1.e-5,1.e-2],/xsty,psym=3,xtit='G0',ytit='Yvsg' | |
506 | +cgplot,G0s,Ypahs,/xlog,/ylog,xr=G0_range,/xsty,psym=3,xtit='G0',ytit='Ypah' | |
507 | +cgplot,G0s,Yvsgs,/xlog,/ylog,xr=G0_range,/xsty,psym=3,xtit='G0',ytit='Yvsg' | |
507 | 508 | cgplot,Yvsgs,Ypahs,/xlog,/ylog,xr=[1.e-4,1.e-1],yr=[1.e-4,1.e-1],/xsty,psym=3,xtit='Yvsg',ytit='Ypah' |
508 | 509 | |
509 | 510 | window,win,xsize=800,ysize=900 & win=win+1 | ... | ... |
LabTools/IRAP/JPB/srun/make_phangs_grids.pro
... | ... | @@ -6,7 +6,7 @@ PRO make_phangs_grids,bidon |
6 | 6 | ;=== To be run on titan using something like this: |
7 | 7 | ;srun -pn51 -J Pg06 -o {$phangs_srundir}/make_phangs_grids07.log /home/soft/exelis/idl83/bin/idl {$phangs_srundir}/make_phangs_grids.pro & |
8 | 8 | ;=== To be run on alma1 using something like this: |
9 | -;nohup /usr/local/harris/idl87/bin/idl < {$phangs_srundir}/make_phangs_grids.pro >& {$phangs_srundir}/make_phangs_grids5.log & | |
9 | +;nohup /usr/local/harris/idl87/bin/idl < {$phangs_srundir}/make_phangs_grids.pro >& {$phangs_srundir}/make_phangs_grids7.log & | |
10 | 10 | ;ssh jbernard@localhost -p2223 "nohup /usr/local/harris/idl87/bin/idl < {$phangs_srundir}/make_phangs_grids.pro >& {$phangs_srundir}/make_phangs_grids.log &" |
11 | 11 | ;=== check progress using: |
12 | 12 | ;tail -20 {$phangs_srundir}/make_phangs_grids19.log |
... | ... | @@ -19,7 +19,9 @@ t0=systime(/sec) |
19 | 19 | |
20 | 20 | bidon=1 |
21 | 21 | |
22 | -;make grid | |
22 | +;make grid | |
23 | +;=== This is for DBP90 a la DL07 | |
24 | +make_sed_phangs_tables,grid_type=3,/test,/show_seds | |
23 | 25 | ;make_sed_phangs_tables,/test,grid_type=2,/show_seds,isrf_class=15 |
24 | 26 | ;make_sed_phangs_tables,grid_type=2,isrf_class=30 ;titan Pg30. Canceled. Class does not exist |
25 | 27 | ;make_sed_phangs_tables,grid_type=2,isrf_class=29 ;titan Pg29 |
... | ... | @@ -45,7 +47,7 @@ bidon=1 |
45 | 47 | ;make_sed_phangs_tables,grid_type=2,isrf_class=10 |
46 | 48 | ;make_sed_phangs_tables,grid_type=2,isrf_class=9 |
47 | 49 | ;make_sed_phangs_tables,grid_type=2,isrf_class=8 |
48 | -make_sed_phangs_tables,grid_type=2,isrf_class=7 ;doing on alma1 | |
50 | +;make_sed_phangs_tables,grid_type=2,isrf_class=7 ;doing on alma1 | |
49 | 51 | ;make_sed_phangs_tables,grid_type=2,isrf_class=6 ;titan, redoing on mac |
50 | 52 | ;make_sed_phangs_tables,grid_type=2,isrf_class=5 ;doing on alma1 |
51 | 53 | ;make_sed_phangs_tables,grid_type=2,isrf_class=4 ;titan, redoing on alma1 | ... | ... |
src/idl/dustem_compute_sed.pro
... | ... | @@ -67,10 +67,15 @@ IF keyword_set(help) THEN BEGIN |
67 | 67 | goto,the_end |
68 | 68 | ENDIF |
69 | 69 | |
70 | +;stop | |
71 | + | |
70 | 72 | IF not keyword_set(st) and not keyword_set(input_spec) THEN BEGIN |
73 | + ;==== JPB: This division leads to NaN for initial values at 0 !! | |
71 | 74 | dustem_activate_plugins,p_dim/(*(*!dustem_fit).param_init_values),st=st,use_previous_fortran=use_previous_fortran |
72 | 75 | ENDIF |
73 | 76 | |
77 | +;stop | |
78 | + | |
74 | 79 | IF not keyword_set(input_spec) THEN BEGIN |
75 | 80 | ; Convert into MJy/sr/1d20 |
76 | 81 | fact = 1.e4*(*!dustem_HCD)/(4.*!pi)/(3.e8/1.e-6/st.sed.wav)*1.e20/1.e7 ;this is correct despite the way it is presented (1.e4/1e.7*1e.20=1.e17 which is the factor to convert from ergs to Mega Janskys) |
... | ... | @@ -90,7 +95,7 @@ IF not keyword_set(input_spec) THEN BEGIN |
90 | 95 | ENDIF |
91 | 96 | ENDFOR |
92 | 97 | ENDIF |
93 | -endif | |
98 | +ENDIF | |
94 | 99 | |
95 | 100 | if keyword_set(input_spec) then begin |
96 | 101 | SED_spec=input_spec |
... | ... | @@ -98,7 +103,7 @@ if keyword_set(input_spec) then begin |
98 | 103 | endif |
99 | 104 | |
100 | 105 | ;------------------------------------------ |
101 | - | |
106 | +;stop | |
102 | 107 | IF not isarray(SED_spec) THEN stop |
103 | 108 | |
104 | 109 | ;COMPUTE THE MODEL SED | ... | ... |
src/idl/dustem_make_sed_table.pro
... | ... | @@ -160,34 +160,16 @@ FOR i=0L,Nc-1 DO BEGIN |
160 | 160 | print,'fixed_parameter_values=',fiv |
161 | 161 | ;stop |
162 | 162 | ;=== initialise all this information into dustemwrap's brain |
163 | + dustem_init_params,model,pd,pval,fpd=fpd,fiv=fiv,pol=use_polarisation,/force_reset | |
163 | 164 | ;stop |
164 | - ;dustem_init_params,model,pd,pval,fpd=fpd,fiv=fpval,pol=use_polarisation | |
165 | - dustem_init_params,model,pd,pval,fpd=fpd,fiv=fiv,pol=use_polarisation | |
166 | 165 | |
167 | 166 | ;=== compute the predicted SED and extinction curve for the dust-model |
168 | 167 | ;=== and any plugins |
169 | 168 | dustem_Ised=dustem_compute_sed(pval,st=dummy) |
170 | 169 | dustem_Qsed=dustem_Ised*0. |
171 | 170 | dustem_Used=dustem_Ised*0. |
172 | - ; uncomment following lines if running a polarisation model and you | |
173 | - ;want predictions of QU | |
174 | - ;toto=dustem_compute_stokes(pval,st=dummy) ;this procedure also allows for the extraction of the spectra | |
175 | - ;dustem_qsed = toto[0] | |
176 | - ;dustem_used = toto[1] | |
177 | - | |
178 | - ;This is for extinction. Not used at the moment. | |
179 | - ;dustem_iext=dustem_compute_ext(pval,st=dummy) | |
180 | - ;dustem_Qext=dustem_Iext*0. | |
181 | - ;dustem_Uext=dustem_Iext*0. | |
182 | - ; uncomment following lines if running a polarisation model and you | |
183 | - ;want predictions of QU | |
184 | - ;toto=dustem_compute_stokext(pval,st=dummy) ;this procedure also allows for the extraction of the spectra | |
185 | - ;dustem_qext = toto[0] | |
186 | - ;dustem_uext = toto[1] | |
187 | 171 | |
188 | 172 | ;== Now we have a predicted SED (I), we fill up a structure that we |
189 | - ;== will write to the sed_outfile | |
190 | - ;== if you | |
191 | 173 | sed.stokesI=dustem_Ised |
192 | 174 | sed.stokesQ=dustem_Qsed |
193 | 175 | sed.stokesU=dustem_Used |
... | ... | @@ -215,7 +197,7 @@ FOR i=0L,Nc-1 DO BEGIN |
215 | 197 | ENDIF |
216 | 198 | ;stop |
217 | 199 | ENDFOR |
218 | -;stop | |
200 | +stop | |
219 | 201 | |
220 | 202 | str='one_sed={' |
221 | 203 | FOR i=0L,Nparams-1 DO BEGIN |
... | ... | @@ -232,7 +214,7 @@ ENDFOR |
232 | 214 | str=str+'total:0.d0}' |
233 | 215 | toto=execute(str) |
234 | 216 | |
235 | -;stop | |
217 | +stop | |
236 | 218 | Noffset=1 |
237 | 219 | IF use_polarization EQ 1 THEN Noffset=3 |
238 | 220 | seds_array=replicate(one_sed,Nc) | ... | ... |
src/idl/dustem_param_range2param_values.pro
1 | -FUNCTION dustem_param_range2param_values,iv_min,iv_max,iv_Nvalues,Nc=Nc,log=log | |
1 | +FUNCTION dustem_param_range2param_values,iv_min,iv_max,iv_Nvalues,Nc=Nc,log=log,help=help | |
2 | + | |
3 | + | |
4 | +;+ | |
5 | +; NAME: | |
6 | +; dustem_param_range2param_values | |
7 | +; PURPOSE: | |
8 | +; computes sets (combinations) of dustem parameter values with no duplicate combination, based on min-max values for each parameter | |
9 | +; CATEGORY: | |
10 | +; Dustem | |
11 | +; CALLING SEQUENCE: | |
12 | +; params_set=dustem_param_range2param_values(iv_min,iv_max,iv_Nvalues[,Nc=][,log=]) | |
13 | +; INPUTS: | |
14 | +; iv_min : minimum values of parameters (array of Npar values) | |
15 | +; iv_max : maximum values of parameters (array of Npar values) | |
16 | +; iv_Nvalues : Number of individual parameter cvalues needed (array of Npar values) | |
17 | +; OPTIONAL INPUT PARAMETERS: | |
18 | +; log : array indicating which parameter should be sampled in log scale (1) or linear scale (0). Default is linear for all parameters | |
19 | +; OUTPUTS: | |
20 | +; params_set :array of pointers containing parameter values (has Nc elements each pointing to an array of Npar values) | |
21 | +; OPTIONAL OUTPUT PARAMETERS: | |
22 | +; Nc : nmeber of parameter combinations | |
23 | +; ACCEPTED KEY-WORDS: | |
24 | +; help : If set, print this help | |
25 | +; COMMON BLOCKS: | |
26 | +; None | |
27 | +; SIDE EFFECTS: | |
28 | +; None | |
29 | +; RESTRICTIONS: | |
30 | +; | |
31 | +; PROCEDURE: | |
32 | +; None | |
33 | +; EXAMPLES | |
34 | +; res=dustem_param_range2param_values([0,2.],[8.,3.e1],[9,5],Nc=Nc,log=[0,1]) | |
35 | +; print,*res[13] | |
36 | +; 4.00000 3.93598 | |
37 | +; MODIFICATION HISTORY: | |
38 | +; Written by J.-Ph. Bernard (2023) | |
39 | +; Evolution details on the DustEMWrap gitlab. | |
40 | +; See http://dustemwrap.irap.omp.eu/ for FAQ and help. | |
41 | +;- | |
42 | + | |
43 | +IF keyword_set(help) THEN BEGIN | |
44 | + doc_library,'dustem_param_range2param_values' | |
45 | + ivs=0. | |
46 | + goto,the_end | |
47 | +ENDIF | |
2 | 48 | |
3 | 49 | Nparams=n_elements(iv_min) |
4 | 50 | |
... | ... | @@ -9,7 +55,7 @@ FOR i=0L,Nparams-1 DO Nc=Nc*iv_Nvalues[i] |
9 | 55 | ;compute parameters possible values |
10 | 56 | par_values=ptrarr(Nparams) |
11 | 57 | FOR i=0L,Nparams-1 DO BEGIN |
12 | - vv=range_gen(iv_Nvalues[i],[iv_min[i],iv_max[i]],log=log) | |
58 | + vv=range_gen(iv_Nvalues[i],[iv_min[i],iv_max[i]],log=log[i]) | |
13 | 59 | par_values[i]=ptr_new(vv) |
14 | 60 | ENDFOR |
15 | 61 | ;=== compute combinations |
... | ... | @@ -26,5 +72,7 @@ FOR i=0L,Nc-1 DO BEGIN |
26 | 72 | ;stop |
27 | 73 | ENDFOR |
28 | 74 | |
75 | +the_end: | |
29 | 76 | RETURN,ivs |
77 | + | |
30 | 78 | END |
31 | 79 | \ No newline at end of file | ... | ... |
src/idl/dustem_plugin_phangs_stellar_isrf.pro
... | ... | @@ -84,8 +84,11 @@ IF keyword_set(paramtag) THEN BEGIN |
84 | 84 | ENDIF |
85 | 85 | |
86 | 86 | use_object_distance=1. ;MPc |
87 | -use_object_thickness=1. ;kPc | |
88 | -use_omega_ratio=((use_object_thickness/2.)/(use_object_distance*1.e6))^2 | |
87 | +use_object_thickness=1. ;Pc | |
88 | +IF keyword_set(object_distance) THEN use_object_distance=object_distance | |
89 | +IF keyword_set(object_thickness) THEN use_object_thickness=object_thickness | |
90 | + | |
91 | +use_omega_ratio=((use_object_thickness/2.*1.e3)/(use_object_distance*1.e6))^2 | |
89 | 92 | ;This factor is to go from Inu_stars in MJy/sr to 4*pi*Iisrf in ergs/s/cm2/Hz |
90 | 93 | use_factor=4.*!pi*1.e-20*1.e7*1.e4*use_omega_ratio |
91 | 94 | ... | ... |
src/idl/dustem_set_params.pro
... | ... | @@ -61,7 +61,12 @@ IF count EQ n_elements(*(*!dustem_fit).param_descs) THEN BEGIN |
61 | 61 | goto,the_end |
62 | 62 | ENDIF |
63 | 63 | |
64 | +;stop | |
64 | 65 | Nparams=n_elements(*(*!dustem_fit).param_descs) |
66 | +IF n_elements(params) NE Nparams THEN BEGIN | |
67 | + message,'Inconsistent number of parameters passed',/info | |
68 | + stop | |
69 | +ENDIF | |
65 | 70 | |
66 | 71 | ;Trimmed JPB on 08 March 2024 |
67 | 72 | ;dustem_set_func_ind,*(*!dustem_fit).param_descs,params |
... | ... | @@ -93,6 +98,7 @@ FOR i=0L,Nparams-1 DO BEGIN |
93 | 98 | ENDCASE |
94 | 99 | ENDFOR |
95 | 100 | |
101 | +;==== This writes the input files for the fortran | |
96 | 102 | dustem_write_all,*!dustem_params,!dustem_dat |
97 | 103 | |
98 | 104 | the_end: | ... | ... |
src/idl/dustem_set_up_fortran.pro
... | ... | @@ -101,11 +101,13 @@ message,'Issuing '+str,/cont |
101 | 101 | spawn,str |
102 | 102 | |
103 | 103 | ;2/ compile dustem |
104 | -str='rm '+!DUSTEM_SOFT_DIR+'/src/*.o' | |
104 | +;str='rm '+!DUSTEM_SOFT_DIR+'/src/*.o' | |
105 | +str='rm '+!DUSTEM_SOFT_DIR+'/src/DM_constants.o' | |
105 | 106 | message,'Issuing '+str,/cont |
106 | 107 | spawn,str |
107 | 108 | |
108 | -str='rm '+!DUSTEM_SOFT_DIR+'/src/*.mod' | |
109 | +;str='rm '+!DUSTEM_SOFT_DIR+'/src/*.mod' | |
110 | +str='rm '+!DUSTEM_SOFT_DIR+'/src/DM_constants.mod' | |
109 | 111 | message,'Issuing '+str,/cont |
110 | 112 | spawn,str |
111 | 113 | ... | ... |