diff --git a/Docs/developers/Code_Structure_Flowcharts/dustem-wrapper_flow_chart1.drawio b/Docs/developers/Code_Structure_Flowcharts/dustem-wrapper_flow_chart1.drawio
index 7a11c26..70cf183 100644
--- a/Docs/developers/Code_Structure_Flowcharts/dustem-wrapper_flow_chart1.drawio
+++ b/Docs/developers/Code_Structure_Flowcharts/dustem-wrapper_flow_chart1.drawio
@@ -1 +1 @@
-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
\ No newline at end of file
+7V1bk6M2Fv4t+9CP02Xu8Jjpnp5kK8mmth+SeXLRINtUMBDAfdlfv+Jmgy4g04BkW1OVjsGyEPq+c3R0zpF0pz3s37+nbrL7LfZBeKeu/Pc77fFOVZWVo8L/FXc+qju25lQ3tmng14VON56D/4Hml/XdQ+CDrFMwj+MwD5LuTS+OIuDlnXtumsZv3WKbOOw+NXG3ALvx7LkhfvfPwM939Vuo1un+zyDY7ponK2b9fnu3KVy/SbZz/fitdUv7dqc9pHGcV5/27w8gLDqv6Zfqd0+Ub48NS0GUs/zg56/6Iflrtd8mf/7+YH57Be6/rS91La9ueKhf2D9kOdivN0G+zoC/ToHr78F9ksb1W+QfTdfAF0qKj/A7D2Swn7++7YIcPCeuV9x+g4SA99ww2Ebw0oPNBCm88QrSPIAd/FP9xT7w/aLKr1kF/up+pdm6qRinvzr8dhNH+XP9cKUonafx30dMtKJEEIYPcRinZfO0p6cH+A/e94MUMiOIi4cBN4Od9RXvu6YjYOPAe+tW3ZffQbwHefoBixypXeNaE1trrt9ONFHN+t6uRRGtvufWzNweqz6BBz/U+J2BpUrDMoiCXCKII6giCOq8EdT7EIQi+Q4FEr6yu88knINw2ipvOA0anBnI176buxLFQRRNmzeKJoZiMSau3z1XKlUG/DTe+Fk0KSxhhL0D+1/qUwKSdhdJg/vwaNON1QJEaedQgDTsLpDcLVWnVyS3qRtEEsdBgdRN3jg2k3QKkG4Yrt/Ai5bYEk0cTRNBk7u5qlCdAQ2aEkYcRh2ZRHK3VxXcD4BhBiL/p8I5VgASulkWeLA3dvk+rHs1jQ+RD4qnrOAV7J3046/2xY8SIKO5fHxvf/n4UV9Ruzd30y3Ie96hbjHwO845HIRWJxuEPm7upSB08+C169IjdXz9hD/iALaY7upBscviQ+qB+ldtFxxSkY4axxZSUdUxWEUQK/ejVSwpCmT0Blvk9tKahRY3DISE1fNPlDwi8AmW4r4OTiwF70H+V+tz9SvLqC9PvyouBqldUWGY2oMi0GhjQWQA4YiljhQBzEujGLOIACazptbfLrS8s4QQUD1E5YgbuvsXXzqJGKam/Add3Et0cYOuKZTCwQRytMYxUE0wj8ZBH4OG4/qLm/oS+gb3hd3GoKuwykAzoxVFCJDZhb4aKwTI+K1r6v1MA6+GNlnpbxn6itoCgtDoEv6CMF5dO2IzVddGMhX1cq1m4inqf9EHDETKCzKXt5bgNdWFU0aQIc2CaBNLi3IwbGVxD1s1GokcPd4cIg9i6ksoBz1yFvfJgapRoXRfQZlmtZGRKwapVFcKdyypOTrllL3+HL5KNDE0VUQwFYe/ku13wBQBrBTI5AAClohkKrbDHUvcBVNj+ZZCYNZZIqPKJCQRexvaxdyRpKbsFKaPTIBklUmNv0xSU3Y8qGChUBZ2bNEREk8CnogHVDkGYfjhSc3ckXgOW7OI/eNwn5g0FdOGTJnywZK543BPjNSobh85YJ4jkNwtH006faaB0uaeG6lRnT77pFhcJ9d/MLl8lBV3o0ejunxKJKFUShwHBVJRuLvuNKqzp8RRgjho6SjHXAp+IFK9PJVaTaU0MiRMKQp314BGdfLUU0kP9mEQHQ57iSeDa4C7K10bcvXAPtikrifRHEZT4z9W0pdoSQXLBKHucIawMcDkXPJcLFHTVefu4NGpDh7pqDsHSO4eV53q4DkCKZdMUvFEpyMG9zWTOtXLU+FZrmWWiFIRReclBne/nU719lSIert0K5FkSCPgP2hS/T11QgjsYJmpxQYm/4FzILvnH/clk2AygWnxHzWpvp9ax7qwcySabGjyHzGpnp/aBnJl8JkBSJt79FmnOn2ayQnscQklA5TcbZ8mTkNJbPaC1Fu/SjuWJUmde/zZoDp/kjDO1+A9D6qkOwnn8AoSlXvgy6C6gEo4o0MQHYAMerFgyT0abVDdPyWW9SbaEsvB9BBV5R7yMqiOHy/eJ4ccSCjZoFT4j5g9Oy/7pWhKHIfVq8I9p8CgOn3khugjBHPF3/Y5bwOaKI6KbvfdbFdutFH0KnUHDmqPibJDBpIiMH4bQawmE6mIskXGVLtMGLjD53ZQRLXkeBTRmkxrWRRxb8/toNjkN30eRc25b3ao4QRkI/03CaQxGZAGBFJ3Tv9QUO1lQcWdPrcDqjUZqNYAqM6yoOKun9sB1ZkMVEcsScV9QDcDKsRiIlBhTf2gLjymnrc99XWBOplxpGoDoJrLgoq7hW4HVHOqeQusqRdUY+Ex9bydl68LVMueClTL7gd14TG159CuLI9TuWneGX7cFfcwmXmeq4Fhu13RJRPbvVwZa+yiR4Y482yHix5jU7eXepJJt3iTiM9Y3FzicIUmCnXDpBu9Wzh6SIeOVDQR6TRye2nNQoobA8faIMXtLqVnIh3utin2eP2SgZw6THkfYQBZlmqUgarFx5eKj7++HG+43t/bkqX/OeSwmuMgVA1ZioEPP6b5VX16mmasMbGxhpD5Rhpq7LmGGkslSP1Tvk/g3/hwnSCgy6JI6YfLgkBLi7nfNCHIyzLXSqjmMdcw9ExClFYhjRrznZhLcn7UMlRsW3SnmmHx9i8p/LSt+qH+eudBsOhfxxDj5Bpl0EIGG0VvclC4yeB5zg6WIy7qM1uUu/aZLf1Htow+H6a4+gOkAeyMQtrLm5hgQgS1owi3vnl4cJwS2a5wq31YD54h0yz1HDyYoxEfQaxC3UGHBwfhHKtZaKC50ax24WTW1fSnbN02p5s9sy+N0wZyepZi2Mi0mJXTFsppg/G8mck4Pf2ZXM3ZWkce/2gxfIjTJxr/6LCYzOnz6Vs8FhWCKSndMHWY0pqk9EyUPi8/7OIpjdOXqOo/wWlm00MVitOWhTJRH83pbkBCsVDf1tycntyFTT4CkdH0UM4zPSbhNEFxf4LSKiOlmyNaRKE0RsSxITcL3TLMNpaldDP1vExrWkA1rTKrabHiBiaqpkfPELG5psN4vPdknD4vbXKsmqYy2lBPxL0OPa0wcroJ2QvCaQ1horqyRpoepobWhErH3JxWJ+f0yTS2zrKNxyj48dxr8tAubSpnolrweHDP2TaCgtY0U/jfRh+kmf3BVewHZjcaO0941cYDS8/fHu/fPfcqI3sGmvzBO7Bnn5cWK2dBAxrOZrUYTaEUnK508w5Hz4HMVbcic+kpEB4kgySByGZ4EBN+AbJr1DLoIGMQtmJYVsvMFua5US1jsNpRQmkZ1EFiGav7VeufOk7noDMDSzX6qp1bA+HhnyCChDjsIcxrH2ReGiTl5k7XauRYiJGjEfYaXVb94OGLTZzmqRvd0KBgIuEoTeGcz2JLB/y0g4LNOCgoYjkrUXVhmJOMCrqBVstzVHAYXD7ZW7AP3XI1Uwabkz/XaY842x4e6gUnE+gFxFYk5CrqKgF8pU8v1A/7L/ByN9rC9zuN1QjYX46VD5ANTUxyC6M+cnPwtVAB2SyY4eGUXx5/hVV9L/6unuNN/gZ7njpYCJz+yr5aqZ/NY1nGfcNqBw8rXAu27KnN82DLfftqRSFZFpWhlyWl0VeaetlHkcFelksD96W0+6pS8LHtghgLumbHgCFYgki38Tabjep5LdKEYJOTDAnffDENc0EgFcL+1cctyPp083RSinuHH8tlB1/+hN2cQNFSV08hNA/VlbeDIyYGFHzxvItGt1vrxcNtSOpb7CJMgr9LEFSMW4xQrYnmXIP6lTiKz6dfScnqbRFsoWT+c4grMWt9KgXvX83eqyl4DeJDtoaCQhPR00SOqepPtMaPxWhHBCA/hGkN2ckhQMM2QS5AK9rLbHg0ozxK19sF6vqtkn/+XRJEySGnj7nLNaTacJRnQ9JD1BynKkB/BH54OqxXgPYgERyOLcl28Vu53bAIjYHa/yXOgAAtiWLPzb0dtSWCm8+fDuOTtjrXCOaWiiYaTWdvXfRCKs5rpu7Y/KaOWInLaFKShk7DmD2lyLxPX3h1iUNaMIVP1xlH62vXNTpB2Sw8KyetBqLjNTR6Xz1ghNMTFgZstkjbFIODKvbowBpVa6RCkNEBTYrQzLELtdBVLQsvADh6IcVkr9jkZc23dsRKFNLVbhahoY4kr4Ec5KcvnOmvrEjLV+hjZeElus8gUbG8lE6JJA6HCxWu78FqiIVuZqg2EcvXUvGcGGXRpBilyUuQ2u58bceaFXmUSkHUnYEsSIIzu06qykjlN5QXufQ4TtpWnaAKUU81WR9SdBTVz90uRNWfrJXek2o9R5UyN1Pq5zaDbdLc115WP8+2YEbqZ0xVCKKfMUVq9SpS5rUy6lnVzq6fh0L2mBsuiDbxzeoih3t2jLKSTv/RuqgpyKCMxHL7L6SMbLPXBp1dGZFiAnLH0l4Fhew7SzrnfuG57Gzbhl2Kfpp4P5pmnsigtMRy6KFKy+6fio5VWo7GV2mx5R23EtPuiykg+6yx9cO0/5fU5x3SgnZVEHVdNpSwMpr+CwBllbSW+mbMQMNCtgtbkfLdSXbgfHq2sUxvV89+QqWy7i56lG5BVKqOOA0dZxqVimSSOzZXlaqcFz8pD5AqFdXmENFTKa9NKaFzUzgPJUxOrUUnp4oqldJYpaQz23mCreW9oj2PFeW8Y2AFI7CAe9PrzBt5C743vTk2HUEAUl90+EJEUjNvxSM6qUcniPEntTwZZ2JSX8spItbYaZAApL7o4I6IpLauhdTjz1zgTurZzsa5VVKzpqcLT+oLnihedJhLRFIzbxMuOKnty50oqiTHK0LqYO8W/d7mcX3rMdhv4XPD4AX+9cIgWZe7szx58T45VKvBnn4H+Usc/71WVPsd/nefRNth9+rT0zfDcabxmmLb3VSXLa5MlFoIL9O4WDh9Qih1k91vsQ+KEv8H7ZtRj5s4EIB/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==7V1Zd6O4Ev4t9yEvOSccJLE+TpxOLzPTW2ZLv3AwxjbdtvEFnKTn14+wwQZJLMYgYYe+58xNsOOFr1T11Vel0hUaLV/eBvZ6/rs/cRdXUJ68XKG7KwihASD+v/jKz90VoEJ1d2UWeJPk2uHCg/evm1yUk6sbb+KGuSdGvr+IvHX+ouOvVq4T5a7ZQeA/55829Rf5d13bM5e68ODYC/rq394kmu+uGlA/XH/nerN5+s5AM3ePLO30yck3Cef2xH/OXEJvrtAo8P1o99PyZeQu4ruX3pfd390XPLr/YIG7iur8wef3j8rtzUhxPm0+LK0vkWuBTzfJqzzZi03yhSebMHKXlrfyouRzRz/Tm4G/wjr+cR34jhviO3v7PPci92FtO/HlZ2wD+Jq98GYr/KuDP5gb4AtPbhB5+Jb+kjyw9CaT+CVvwx3csiQjQ9GAevivgh+d+qvoIXlzED87CvwfexRQ/AxvsRj5Cz/Yfjx0fz/C//D1iRdgW/D8+M1cO8S355a+W+lXxx/OfclcSu7eW9dfulHwEz8lefRGUxIoU2NGye/PB8uAWnJtnrGK9Hl2Yoyz/Wsf8MI/JJAdAR+k4FvaP1wrdCfWem6vZqEV2eMFXj8DknkkdS2HpC4aSEQBSUHmria/xA4txmNhh6Hn4Jsxj5aL5KYG/mY1ceM3kfFv7osX/ZP5+XGLjpr8dveSeejuZ/rLCn+Vf7K/7P4Kqunvh7/b/pb+YSEkob8JHLfagCM7mLlRtZ9yJzlvTQOcAVBl4JdeC9yFHXlPeR/PAjV5h8++h7/ZwX50RHgChTCM3RdP/izrlKlXUvOvBJGaf6XdraFeCZuC/TPztHX8hLDsI8v5NzLVig8mk87OIKx89xEONr+Hofky0IrC0d6tbf3Z4M7KAxNURPszvYxXWPjb2sshKBEoqmYeRaSJRtEoQtHxl+tNtF2RA4rlKOqpQxeGolmEYuhG1sSO7AHCioUIRS/ENBvOEv3nYOpFgxOtWn46x+X3eDe6v9c/fv/97mZsPoTffo2M74wU+zqWOq6lUvicnwsP0/kAFQCYIf7jHfH/bby/YDs/Ztt04NMmwi+zB2cHJVBpWDTtFt7ft4QB0AkMDHr9sCAwuoKATpOp+94suwItZFdVyRW1gDBWaL/UMo+MRqa5xTC/CGH6ip/dwMP3M17uJ2ZtqTvKpm1ltt+XtE0BecPUNCLZqp22AZh/JYN0HwVpW4NEiXlj+egFjewZIVRh0S1bY10NQeuXMVIaAiBMqLYxakTMgwBKXakIhFxhyOUfjZI3QE52OFlFYC4OhVocg6hdmzBBRrDujDDdTOU/gfLpzXz56wf56/u/lm++fSmvSVhT7yVWt89SQZhOXc1x2FhS4Xyim2O51DMeg7KWR1kVjjLNyTJZ6XnC2/lSJUiHBjnmNkwQaRqSgPgcYFwsO36FAcMshopBYMgzP2ViWBot45Xorab+AGO5P91nFsJgVMthXGxm3ursPGp/AqbCU4xnAkzXxq7/l0BctEjzKV6FjLQFp1ghmk6ncAtFagwLd8qGQRtrqtYSDJCoQiKVdpd7uSkLA1mQbQ0GurJF3fbutaTWNKEGelQhrNlEvSzSZBP1MkvvS6KeVMpPr/VTvuHorPwEGeneDcbg+Tc7uF+PwGY53iDjoTjV2sUL6+XlRcKh4QqOQsdf7+39jCJI50SAUHFUmWOcYGJamFhRmG6zrMieDbBWw8qzo+LL/71/Hm/fTgH6+ufTd+i9BV+D7moYsmSoaib2gMLIc6NISD0hcrQStfCHaSQdl9UnshGJefP1XkUkMocEe5Z0bEgilWNA8aa2hGNCBwZpwtSWEMyEjZYnkq7YcRB3r0x9fJOsKU6Pnr1obnlhMLW2bemDM8w6QwBII+HZ0sIEltYsrq3vz2EUNySF1nITutbae3EXoRTaT4VwnnGNXYcEKWXJ9l3V2JmQ0PpDW/HpiLxoH5nAGUWmMguvjEygXyV2jfTzVECpG5oUsv8Ywno1zbaCR2EvMn5T69l+chfuahbNz05T6zpaaCCPG1JFU+fCZmSCBgxIliOp8MxtmUjSDck4vg/bASpw46pJMHGjW5Ctu9vPpmx9+PvhD+utbD1+/uWd9fjXw1vLX908+YG/8r0tK795//D1fssW3PD6UtmcRrYCscrzXNkco+G4JTrXrGVSAsqewz1mH2UQukSlENs3Wea+Kkmd2StORzWqIdJP1OZ0iIwonDkdoAXvwA0jPxhiSBWL41ngZmNHK6DXu1T/tST9hkwk/SxqzTdMsIQYOzbe0H49YoyhkxVCxmAAvrjwUWMKgzfUpVyh4OzlmNT5nJseQ7axAMo/N47dqOZO9dZiNy3IDDZ9kk2fq8ZIjmHBDpjc73A+Vl24x3qJ39hbYYL5rztUpRgMlSxdKsJ1RkhH3aTe6L5Ege3sGNGAYw5HUydXs3gc+USaZK7OscWskjjDIrp90D3ShVEZaZReBZoLIk+ws7bVrEkXtw4Rap6m6XVtWvwW6NNMOs0cemLTVMePbDYmTxok14fM2app8tSWVUsAM7OMZUuyXlurTvrp+qBVt5sx1Df6fjlyyuj32/ePNnkD0ypIWL1GvFjXVk9X0xKauZ2Stu2D8pb2bBj7SDWyEZUMTbionb5wtjKaAfBSFVMgEz2FOmPEElfFNCVoPelfy+hJ50qQzJqxIl0CPYkVioa9WeZf3tkbjQMHOTBG5Rs0ECwNGtsqDbYijHw4BA+my0Kky9JEd0Ejur89D2Q83G8XQkYXGUXIznTWsDe+UYSuh+4QufRwThArU3QBFNFS7A6Ij+8uFgRSETcZ7JYvCIIrdhfGqNIQXs2oUK8YlWnmxU+NbPqqy6FMoilJ5yyiotZF1LaKwnSeUaFW8bDCfmlAVPKv6w2pPJCJkpVBTu7r2g5blz3bnSdxnKct1C2Pqy7wsGi1XxZNDkc5waINKJnw8D8jTyRqbgpuzb7LBc59f+GQp7JoIDm6gEUDOe/WZYicexAPOeoroORAFt2xq7Suc55F7KgSXk+IHnV1znQV9CV6AGKrrt50py4ARoHH4RQvFFrbPNGmD2VglDMis4JWd9XkmVkfsqllV8iNLIEmi+QEg5drGjzsF11qLQ01yPErMmd+pHQ3/Z20d8MQbe9AVXIRAbMwxNng6/ZJ98zgDWhKZqaSRbSgAQU/bDZbAiY5nEHm7fJpob2tJVBLWmyv07Lc+hWF9PbczV85U39voHLzV5ubP5DJzlC5ux4gR/4omx/+kBfLj+6PpxH0v33+lTG40Rr/mFnhZrxtNHcn1vLZcvwgzjDdSa+OGpqorjFRWMvEgGOcfu2NlcqzGPZbnHqRUVrnWA1hQkaT1N3EsaW3staBO/G2WkCPU+GT8FDJueccJxww4aA51FZcSoSmMFyHO3gO0BTCcrZC00mIQqKjheuUESakhZPsk8mnKbYRfi07wO5xFXmrzWY5AJsHlhAGVMbMbb7Atr6bucP52SXkLLuDtEi0OmY8CpNuVZI8Np9gkDzmEzWRlE4hd34aDVN4RJ7w2V0GX3wXGVwgGXRk+SvXCvCd8i+VDiByvojMsQGYCQld23fmrvNjIAT14wbRjWcIJwR0nTzL8bIrboCylAIYPPfkMqGkS8IDZKWQmcJXX50ZcgNmOcyELzPGgLQrqC3i7zsO8E+z+KfXRVUIzmnogokKYw4addsFZkPHDSs4ooBfMS3hqr1kiDGmsWSxiEqGyNMgTb3pNm6qmCNTW8K7lrNbr2iKPCGr0ajTwo3a7eT3oKZNm30yaUNrPpuAdNsqd5um5cjLHFbdKgXSxFOgC1Ebq+OrKK2R0U9RXDEbfFEbvqj1nVgdcsZk70qNALsfC17/6LJuwyysadm6UMsmp2A0VdFVQkXXuxv/w7ZqWrM99JWnhwgc5Fprih+81CzVAGwohGWpPd+j1AKjL3Q2KpQ4+JrU+nvubExD0jNdWChvppoqaYq5/6c1c0TkgYgGgrwDbA19msNwYh79uPir5vtxAaxaPcUNiceuhNoNusU9P8L6EXVNSttWDz24hkS8UO0eRHL3HwDkKaAtnd1pEG+UDnco+mQ6wZwVWP58qIKy51+dejQom6nRxYnSZqFY8y7kDUPqvuMXolN3yKpe9Ih0JBp27d1tjebTd8w6aFdbsi1OlK89HIe6r4Y2zHEOM39FtXqnNlzn8LSlvQ7P6ti00ypz5EYsjePYITZWne3Mymt19WfR9mnoTStkr25xDgpVD6mB3ypUJDPzr7GUaEha5mUM4l3MWOc6ZFsKX0/V3aas44W+o+vRXe5nbDEAazUDsODi9FmOzmdbdXdnaUn1bJrTTltDR9m1Eu8sR5XCWHvevq6g3kNr1+RSryyrqqQ1dPjY/HPjaBXyCEByIG1LSb9O1Kx0syLpp2hyhUqgkB4CKDzS/n6PcEuPDqhM9krKWU017m5XLft5htAYBfOTnvMrS2vaTqUTWYlac4W2ZuJ05SU7PSvZw+BPNs4FHnh/Uj6pk4oqY08KZ0Gr9bJCm+4qn5PWPc3q2NJb1wyjbkK5A1kYxVCABDMUQ887qzjvy9TRms41ILfwIHKiYMe+i3UcRuywrns1wWBqOK7jsBbN2FDjYwjbmWBAFXgY+jrfLfO0vH79cPfwYHmOv476hRGnKRM6wWJZm+D5YkSrxX2IGI3UmOOGwN4ADuUPVLv+IVR+pIaA6s2PyAWIyDkNk3NQoEX1a8teOXM/sOxoZm/CEFy/Mr+jEum5wvHkCzZIrWu/QueK9tDzoJqeB4qtvKoEhdSaCr9AIU936W7GHPuOs84Q8ZfyqyQ6StrhloDBOqWZr8OhW9qzMsfcu9jx4KcBCZQ8kPtRKMJEDsaxGta79/0/MulEHAiGphiiIzitG1qBO7Xmro1v8aXiYKZbY/rSOM84/OBEItWk3JghTqZq5BU7VDmBVMBxxq1wLKVudie23Cj8QKWjO4iJjULpMMi6JZT9dKhOa4OsYypeLd8jD+iFosenMg6usEafLpwlmAQKCoOs8UWBlhdzR/Mslrbl+AP1Zm7RIzQb8cy7w4MEMkyjcqPcGXTdpYGxukoodEDmvonmoL40VX1lpEuo8BxsHZUWHDtWZjqc/n8oY3Pqycv036m1Ncpsk2uXVs9oNi1J4YVZvQLNkk4eBKjdoPVrH7IpKQbmo7v/EGV3ZJq5pm6D7yrosDH12HZrDu2pyCTGRMhAdO8I62iMEtokbH1gPli2PuTm6wNoctn6MISuj+6On+bduN3m8Xht2j+sa/9C9RIg63mLV8iWzPqsSIElrEjB9i6QFbXe29z69pvMBtjz3YGDGIM3eqgStpcLmHppKgDM3J4z4oO2JCGSSohWsb2AHFqwP6SvoYSIfw18P8o+PbDX89/9iRs/4z8=7Vpbc5s6EP41fjkz9QDiYh4TJ2460/bkxKfT5MkjgwxquB0hfOmvrzDiJiC+HJu4HefBQctKSPt9u9oVDMDYX38kMHK/hDbyBopkrwfgbqAosmQq7F8q2WSSETAzgUOwzZVKwRT/RHlPLk2wjeKaIg1Dj+KoLrTCIEAWrckgIeGqrrYIvfpTI+ighmBqQa8p/Y5t6vJVKEYpf0DYcfMnyzpfnw9zZb6S2IV2uKqIwP0AjEkY0uzKX4+Rlxovt0vWb9Jxt5gYQQHdp8Noktj/Pgdfp98/0Zunb/Ldw/zbBz7KEnoJX7CdxBT5s8hLHBzMIhcGTjxjIs+DZIZjsuCroZvcRGxhUXoZkdBCMbP37crFFE0jaKXiFSMGk0EPOwFrWmy6iDDBEhGKmaFv+A0f23Y65G2ckUAaSmCk6rJW/qrs7iIM6JQ/XE61KQlfC2xAqoE9bxx6IdlOD0wmY/bH5DYmjCE4TB+GYMyMdstXz2aC1p1mlQuwGMtR6CNKNkwl76ByfDnBNd5clWxRdC5zK0wBXAY5QZ1i5BJDdsFhPABSpQFpAzEU2Depb6RweDCOscVs4VLf4zYlYRLYKH2IxFpojelz5fplC47GW3fryq27Td4I2FKeq42sl6Ll7bLftpV3zOaK7IZXCniw9YQJsdBublNIHETf0APt+FYA1Frwy2UEeZDiZX26baDyJzyGmC2kpI9Up49qCLzIlsl7Vd1bHMisD6RL5tA062NlpmiMxbgANxW1KFWI95/zSHp7ZoK6LNf02UU2gZLyBQrHewE4LLCx7YPiIEn8a3SrRzdDwE5qCW+jPsOb2gUsQdCeIR97qISVySPmnii+wlqDVRFdsm3X6hVW7U1YrblsXkE9ENTWVORcoD7h108v6Mf4o//of/n633rx88d9S3ZZYDfDwSIc0jXtBNHaeJhlIQR0wFjJV+ZZvvJ5Xgig9epss5i/E8qGKSDKAJW1Jji6fqtMJqdBQlfqSIAmEG0p4ehcODRTwnvLlYdA+mu4wLTbj/4gCOT3xqAzIWEZ2WwFl8hDgUPda1ATghoQglqfCcg/yycmWT8A8uHGsRYvxubzU0tQa0B2WH3VMCjzA1CYvnJnPDbNrX/UQVGOrdFY4xERzMySMqZet8n1uu08Zdtbm8bOsk1t500/ZZsmlm0i3fYt23RhIE0VBuqo2Y6ok1rZfPLTgiub27bey2azLgRZcRPcl8yqcAYhG1qvZG7usdZckWTzD05zxO1R7S/NaYWgWZ5f48mR8eQtiu+MJ9olxRP5dw0onacS16T9kKQdvHvSrp86LLWFFPniX4nsGz3eNRspDiM5e8wjg0cRdYr3DsZwv/Bx8AsR4R1gftjQOTNRXzvtG5FWFzD6cAFpaFz+i8HfYg9tsFcsDPd1g+JTinwg/WxuIG774hcJO/TzTPWsbjC6aDfo0QvUphd0H1xevWB/LxCnbOzwAiHHZbvB+b1APvkp5im/EjF6dAOt6QbdpcB7uUGDvSNFZO/ejiDkHmyOvbiBsssNBH2g/K/NgDXLT+sy9fIDRXD/Cw==
\ No newline at end of file
diff --git a/LabTools/IRAP/JPB/make_phangs_ssps_isrf_prediction.pro b/LabTools/IRAP/JPB/make_phangs_ssps_isrf_prediction.pro
index dfbd873..e9c1e61 100644
--- a/LabTools/IRAP/JPB/make_phangs_ssps_isrf_prediction.pro
+++ b/LabTools/IRAP/JPB/make_phangs_ssps_isrf_prediction.pro
@@ -1,12 +1,10 @@
PRO make_phangs_ssps_isrf_prediction,source_name=source_name,save=save,help=help
-;make_phangs_ssps_isrf_prediction,source_name='ngc0628',/save
-
;+
; NAME:
; make_phangs_ssps_isrf_prediction
; CALLING SEQUENCE:
-; make_phangs_ssps_isrf_prediction[,source_name=][,/save]
+; make_phangs_ssps_isrf_prediction[,source_name=][,/save][,/help]
; PURPOSE:
; predicts the minimum ISRF in voronoi bins
; INPUTS:
@@ -21,11 +19,13 @@ PRO make_phangs_ssps_isrf_prediction,source_name=source_name,save=save,help=help
; OPTIONAL OUTPUT:
; None
; PROCEDURE AND SUBROUTINE USED
-; None
+; ISRF saved is the one predicted by dustem_plugin_phangs_stellar_isrf for each Muse Voronoi bin,
+; scaled in amplitude to match the Muse filter data for that Voronoi bin.
+; The G0 value computed is wrt the Mathis field at 1 mic.
; SIDE EFFECTS:
-; None
+; produces file _isrf_min_prediction.sav
; EXAMPLE:
-; make_phangs_ssps_isrf_prediction,/save
+; make_phangs_ssps_isrf_prediction,source_name='ngc0628',/save
; MODIFICATION HISTORY:
; written by Jean-Philippe Bernard
;-
@@ -36,12 +36,12 @@ IF keyword_set(help) THEN BEGIN
ENDIF
;===== predicts the minimum ISRF in voronoi bins
+;===== The prediction is scaled to the Muse filter data observations
win=0L
;window,win,xsize=900,ysize=1000 & win=win+1
;=== This is where the data is read from and the ISRFs will be stored
-;data_dir='/Volumes/PILOT_FLIGHT1/PHANGS-JWST/DR1/'
data_dir=!phangs_data_dir+'/ISRF/WORK/'
use_model='DBP90' ;Example with default keywords uses the DBP90 model
@@ -50,9 +50,6 @@ use_polarization=0 ; initialize Dustemwrap in no polarization mode
;== INITIALISE DUSTEM
dustem_init,model=use_model,polarization=use_polarization,show_plots=show_plots
-;IF keyword_set(from_restore) THEN goto,from_restore
-;IF keyword_set(from_classes_restore) THEN goto,from_classes_restore
-
use_source_name='ngc0628'
IF keyword_set(source_name) THEN use_source_name=source_name
@@ -69,8 +66,27 @@ obp=[1.1,0,1.15,1]
;dustem_init,show_plots=show_plots
;needed only for NHCO
restore,data_dir+use_source_name+'_jwst_images.sav',/verb
+;% RESTORE: Restored variable: JWST_IMAGES.
+;% RESTORE: Restored variable: FILTERS.
+;% RESTORE: Restored variable: HREF.
+;% RESTORE: Restored variable: NHCO.
;needed for stellar parameters and voronoi bin info
restore,data_dir+use_source_name+'_muse_images.sav',/verb
+;% RESTORE: Restored variable: ST_TEMPLATES.
+;% RESTORE: Restored variable: ST_MUSE_WEIGHTS.
+;% RESTORE: Restored variable: VORONOI_ID.
+;% RESTORE: Restored variable: AGE_VALUES.
+;% RESTORE: Restored variable: METALICITY_VALUES.
+;% RESTORE: Restored variable: BINS.
+;% RESTORE: Restored variable: HREF.
+;=== needed for absolute scaling of ISRF
+restore,data_dir+use_source_name+'_muse_filters_data.sav',/verb
+;% RESTORE: Restored variable: MUSE_IMAGES.
+;% RESTORE: Restored variable: MUSE_FILTERS.
+;% RESTORE: Restored variable: HREF.
+restore,data_dir+use_source_name+'_muse_seds_muse_pixels.sav',/verb
+;% RESTORE: Restored variable: ALL_SEDS.
+;% RESTORE: Restored variable: ALL_SEDS_INDICES.
Nvor=max(voronoi_id)
@@ -86,7 +102,15 @@ lambir=dustem_get_wavelengths(isrf_wavelengths=isrf_wavelengths)
show_each=100
Nlamb=n_elements(isrf_wavelengths)
-ISRFS=fltarr(Nlamb,Nvor)
+ISRFS=dblarr(Nlamb,Nvor)
+G0s=dblarr(Nvor)
+
+;==== get Mathis field for G0 calculations
+file=!dustem_soft_dir+'/data/ISRF_MATHIS.DAT'
+readcol,file,Mathis_wavs,Mathis_ISRF
+Mathis_ISRF=interpol(Mathis_ISRF,Mathis_wavs,isrf_wavelengths)
+Mathis_1mic=interpol(Mathis_ISRF,isrf_wavelengths,1.0)
+
FOR vid=first_vid,Nvor-1 DO BEGIN
IF vid mod show_each EQ 0 THEN BEGIN
t2=systime(0,/sec)
@@ -97,22 +121,44 @@ FOR vid=first_vid,Nvor-1 DO BEGIN
ENDIF
;===== get the SSP weights for the given voronoi bins
weights=phangs_binid2weights(st_muse_weights,vid,st_templates,age_values,metalicity_values,reddening=reddening)
- amplitude=1.
- reddening=0. ;This sets Muse reddening to 0. Will be contsrained later
- fpd=phangs_stellar_continuum_plugin_weight2params(weights,parameter_values=val,redenning=reddening,/force_include_reddening,amplitude=amplitude,/force_include_amplitude)
+ amplitude=1. ;amplitude is set to 1, and will be corrected by G0 below
+ use_reddening=0. ;This sets Muse reddening to 0. Will be contsrained later
+ fpd=phangs_stellar_continuum_plugin_weight2params(weights,parameter_values=val,redenning=use_reddening,/force_include_reddening,amplitude=amplitude,/force_include_amplitude)
Nparams=n_elements(val)
key=intarr(Nparams)
FOR i=0L,Nparams-1 DO BEGIN
toto=dustem_parameter_description2type(fpd[i],string_name=string_name,key=one_key)
key[i]=one_key
ENDFOR
- ISRFS[*,vid]=dustem_plugin_phangs_stellar_isrf(key=key,val=val,object_distance=object_distance,object_thickness=object_thickness)
+ ;==== compute the prediction stellar continuum for comparison to the Muse filter data.
+ ;==== Here we use the reddening from MUSE
+ val_sed=val
+ val_sed[1]=reddening ;for the SED, we use E(B-V)
+ spectrum=dustem_plugin_phangs_stellar_continuum(key=key,val=val_sed)
+ sed=interpol(spectrum[*,0],lambir,dustem_filter2wav(muse_filters[0:2]))
+ muse_sed=(*all_seds[vid]).stokesI
+ facts=muse_sed/sed
+ muse_factor=la_mean(facts) ;This takes the average value over the MUSE bands
+ ;print,G0,reddening
+ ;stop
+ val_isrf=val ;for the ISRF, we use E(B-V)=0
+ ISRFS[*,vid]=dustem_plugin_phangs_stellar_isrf(key=key,val=val_isrf,object_distance=object_distance,object_thickness=object_thickness)
+ ISRFS[*,vid]=ISRFS[*,vid]*muse_factor ;=== scale the amplitude of ISRFs to the muse data
+ ;=== compute corresponding G0
+ G0=interpol(ISRFS[*,vid],isrf_wavelengths,1.)/Mathis_1mic
+ G0s[vid]=G0
ENDFOR
IF keyword_set(save) THEN BEGIN
- save,ISRFS,object_distance,object_thickness,source_name,file=data_dir+'ngc0628_isrf_min_prediction.sav',/verb
+ file_save=data_dir+use_source_name+'_isrf_min_prediction.sav'
+ save,ISRFS,G0s,object_distance,object_thickness,use_source_name,file=file_save,/verb
+ phangs_make_isrf_product,use_source_name,voronoi_id,ISRFS,G0s,object_distance,object_thickness
ENDIF
+;cgplot,lindgen(Nvor),G0s,/ylog,yrange=[1.e-5,1],xtit='Voronoi ID',ytit='G0'
+
+stop
+
the_end:
END
\ No newline at end of file
diff --git a/LabTools/IRAP/JPB/make_sed_phangs_tables.pro b/LabTools/IRAP/JPB/make_sed_phangs_tables.pro
index 776ec0e..92b61ec 100644
--- a/LabTools/IRAP/JPB/make_sed_phangs_tables.pro
+++ b/LabTools/IRAP/JPB/make_sed_phangs_tables.pro
@@ -2,6 +2,7 @@ PRO make_sed_phangs_tables,test=test,show_seds=show_seds,grid_type=grid_type,isr
;make_sed_phangs_tables
;make_sed_phangs_tables,/test,grid_type=2,/show_seds,isrf_class=15
+;make_sed_phangs_tables,/test,grid_type=3,/show_seds
;=== This is needed for Phangs work
;defsysv,'!phangs_data_dir','/Volumes/PILOT_FLIGHT1/PHANGS/'
@@ -18,24 +19,20 @@ IF keyword_set(grid_type) THEN BEGIN
ENDIF
CASE use_grid_type OF
- 1: BEGIN ;======= This is to produce a grid with the DBP90 model for G0 and PAH abundance
+ 1: BEGIN ;======= This is to produce a grid with the DBP90 model + Mathis field for G0 and PAH abundance
!quiet=1
model='DBP90'
-
;===== This is to do a small test_table
pd = [ $
'(*!dustem_params).G0', $ ;G0
'(*!dustem_params).grains(0).mdust_o_mh',$ ;PAH0 mass fraction
'(*!dustem_params).grains(1).mdust_o_mh'] ;VSG mass fraction
-
iv_min = [0.1,1.e-4,1.e-4]
iv_max = [100,1.e-1,1.e-1]
log=[1,1,1]
-
fpd=[]
fiv=[]
-
IF keyword_set(test) THEN BEGIN
iv_Nvalues=[5,3,3]
table_name=dir+'TEST_'+model+'_JWST_G0_YPAH_YVSG_4Phangs.fits'
@@ -43,17 +40,14 @@ CASE use_grid_type OF
iv_Nvalues=[50,20,20]
table_name=dir+model+'_JWST_G0_YPAH_YVSG_4Phangs.fits'
ENDELSE
-
dustem_init,model=model
;=== select filters to be used for the grid
filters=[(*!dustem_filters).nircam.filter_names,(*!dustem_filters).miri.filter_names]
-
dustem_make_sed_table,model,pd,iv_min,iv_max,iv_Nvalues,fpd=fpd,fiv=fiv,filename=table_name,filters=filters,log=log,show_seds=show_seds
END
- 2: BEGIN
+ 2: BEGIN ;This is DPB90 model with PHANGS ISRF classes
!quiet=1
model='DBP90' ;This is to use the DBP90 dust model
-
;======= This is to produce a grid with the above model for G0 and PAH abundance and ISRF from the Muse data
;======= Note that g0 is fixed parameters is actually not used, replaced by dustem_plugin_phangs_class_isrf_2
pd = [ $
@@ -63,7 +57,6 @@ CASE use_grid_type OF
iv_min = [0.1,1.e-4,1.e-4]
iv_max = [100,1.e-1,1.e-1]
log=[1,1,1]
-
Nclass=31L
fpd=['(*!dustem_params).gas.g0','(*!dustem_params).g0','dustem_plugin_phangs_class_isrf_1'] ;ISRF class to be used
dustem_init,model=model
@@ -73,7 +66,6 @@ CASE use_grid_type OF
;=== select filters to be used for the grid
filters=[(*!dustem_filters).nircam.filter_names,(*!dustem_filters).miri.filter_names, $
(*!dustem_filters).iras.filter_names,(*!dustem_filters).pacs.filter_names,(*!dustem_filters).spire.filter_names]
-
IF keyword_set(isrf_class) THEN BEGIN ;do just one table
use_isrf_class=isrf_class
ENDIF ELSE BEGIN
@@ -91,6 +83,47 @@ CASE use_grid_type OF
ENDELSE
dustem_make_sed_table,model,pd,iv_min,iv_max,iv_Nvalues,fpd=fpd,fiv=fiv,filename=table_name,filters=filters,log=log,show_seds=show_seds
END
+ 3: BEGIN ;This is DPB90 model with DL07 ISRF prescription (a la Chastanet)
+ !quiet=1
+ model='DBP90' ;This is to use the DBP90 dust model
+ ;======= This is to produce a grid with the above model for G0 and PAH abundance and ISRF from the Muse data
+ ;======= Note that g0 is fixed parameters is actually not used, replaced by dustem_plugin_phangs_class_isrf_2
+ pd = [ $
+ 'dustem_plugin_dl07_isrf_model_1', $ ;gamma factor
+ 'dustem_plugin_dl07_isrf_model_3', $ ;Umin factor
+ '(*!dustem_params).grains(0).mdust_o_mh',$ ;PAH0 mass fraction
+ '(*!dustem_params).grains(1).mdust_o_mh' $ ;VSG mass fraction
+ ]
+ ;umin: 0.1-100
+ ;gamma: 0.0,0.02
+ ;umax: 1.e7
+ ;alpha: 2.
+ iv_min = [0.1,0. ,1.e-4,1.e-4]
+ iv_max = [100,0.02,1.e-1,1.e-1]
+ log=[1,1,1,1]
+ fpd=['(*!dustem_params).gas.g0','(*!dustem_params).g0', $
+ 'dustem_plugin_dl07_isrf_model_2', $ ;alpha
+ 'dustem_plugin_dl07_isrf_model_4' $ ;Umax
+ ]
+ dustem_init,model=model
+ fortran_user=dustem_set_up_fortran(/random_name) ;use a random fortran number
+ !dustem_verbose=0
+ (*!dustem_params).KEYWORDS='quiet '+(*!dustem_params).KEYWORDS ;This makes Fortran be quiet too
+ ;=== select filters to be used for the grid
+ filters=[(*!dustem_filters).nircam.filter_names,(*!dustem_filters).miri.filter_names, $
+ (*!dustem_filters).iras.filter_names,(*!dustem_filters).pacs.filter_names,(*!dustem_filters).spire.filter_names]
+ fiv=[-1.,1.,2.,1.e7] ;This sets the fixed parameters
+ ;define the number of free parameters in the grid and the grid fits table name
+ IF keyword_set(test) THEN BEGIN
+ iv_Nvalues=[2,2,3,3]
+ table_name=dir+'TEST_'+model+'_DL07ISRF_G0_YPAH_YVSG_4Phangs'+'.fits'
+ ENDIF ELSE BEGIN
+ iv_Nvalues=[6,5,20,20]
+ table_name=dir+model+'_DL07ISRF_G0_YPAH_YVSG_4Phangs'+'.fits'
+ ENDELSE
+ dustem_make_sed_table,model,pd,iv_min,iv_max,iv_Nvalues,fpd=fpd,fiv=fiv,filename=table_name,filters=filters,log=log,show_seds=show_seds
+ END
+
ENDCASE
diff --git a/LabTools/IRAP/JPB/phangs_brute_force_fit_with_isrf_grid.pro b/LabTools/IRAP/JPB/phangs_brute_force_fit_with_isrf_grid.pro
index 459629a..98ab65a 100644
--- a/LabTools/IRAP/JPB/phangs_brute_force_fit_with_isrf_grid.pro
+++ b/LabTools/IRAP/JPB/phangs_brute_force_fit_with_isrf_grid.pro
@@ -1,8 +1,43 @@
-PRO phangs_brute_force_fit_with_isrf_grid,source_name=source_name,normalize=normalize,from_restore=from_restore,save=save
+PRO phangs_brute_force_fit_with_isrf_grid,source_name=source_name,normalize=normalize,from_restore=from_restore,save=save,force_mathis=force_mathis,help=help
;phangs_brute_force_fit_with_isrf_grid,source_name='ngc0628',/normalize,/save
+;phangs_brute_force_fit_with_isrf_grid,source_name='ngc0628',/normalize,/force_mathis,/save
+
;phangs_brute_force_fit_with_isrf_grid,source_name='ngc0628',/save
+;+
+; NAME:
+; phangs_brute_force_fit_with_isrf_grid
+; CALLING SEQUENCE:
+; phangs_brute_force_fit_with_isrf_grid[,source_name=][,/normalize][,/save][,/help][,/from_restore][,/force_mathis]
+; PURPOSE:
+; Brute-Force fit SEDs of a given phangs Galaxy using ISRF grid
+; INPUTS:
+; None
+; OPTIONAL KEYWORDS:
+; save = if set, save the classes
+; help = if set, print this help
+; OUTPUTS:
+; None
+; OPTIONAL INPUT:
+; source_name = source name (default='ngc0628')
+; OPTIONAL OUTPUT:
+; None
+; PROCEDURE AND SUBROUTINE USED
+;
+; SIDE EFFECTS:
+; produces file *_DBP90_JWST_G0_YPAH_YVSG_on-voronoi_with-ISRFclasses*.sav
+; EXAMPLE:
+; phangs_brute_force_fit_with_isrf_grid,source_name='ngc0628',/normalize,/save
+; MODIFICATION HISTORY:
+; written by Jean-Philippe Bernard
+;-
+
+IF keyword_set(help) THEN BEGIN
+ doc_library,'phangs_brute_force_fit_with_isrf_grid'
+ goto,the_end
+ENDIF
+
use_source_name='ngc0628'
IF keyword_set(source_name) THEN use_source_name=source_name
@@ -10,6 +45,10 @@ norm_str=''
IF keyword_set(normalize) THEN BEGIN
norm_str='_normalized'
ENDIF
+mathis_str=''
+IF keyword_set(force_mathis) THEN BEGIN
+ mathis_str='_mathis'
+ENDIF
pdp_define_la_common
data_dir=!phangs_data_dir+'/ISRF/WORK/'
@@ -19,12 +58,20 @@ IF keyword_set(from_restore) THEN GOTO,from_restore
dustem_init,show_plots=show_plots
-;==== needed for NHCO
-restore,data_dir+use_source_name+'_jwst_images.sav',/verb
+;==== needed for NHCO,NHHI
+restore,data_dir+use_source_name+'_co_images.sav',/verb
+;% RESTORE: Restored variable: NHCO.
+;% RESTORE: Restored variable: HREF.
+restore,data_dir+use_source_name+'_hi_images.sav',/verb
+;% RESTORE: Restored variable: NHI.
+;% RESTORE: Restored variable: HREF.
+
+;restore,data_dir+use_source_name+'_jwst_images.sav',/verb
;% RESTORE: Restored variable: JWST_IMAGES.
;% RESTORE: Restored variable: FILTERS.
;% RESTORE: Restored variable: HREF.
;% RESTORE: Restored variable: NHCO.
+
restore,data_dir+use_source_name+'_muse_images.sav',/verb
;% RESTORE: Restored variable: ST_TEMPLATES.
;% RESTORE: Restored variable: ST_MUSE_WEIGHTS.
@@ -55,14 +102,12 @@ restore,data_dir+use_source_name+'_isrf_min_prediction.sav',/verb
;% RESTORE: Restored variable: SOURCE_NAME.
;For test
-;class_min=13
-;class_max=13
-;class_min=13
-;class_max=13
+class_min=8 & class_max=18
-;class_min=8 & class_max=17
-;class_min=15 & class_max=15
-class_min=8 & class_max=15
+IF keyword_set(force_mathis) THEN BEGIN
+ class_min=0L
+ class_max=0L
+ENDIF
restore,data_dir+use_source_name+'_jwst_seds_muse_pixels.sav',/verb
;% RESTORE: Restored variable: ALL_SEDS.
@@ -80,7 +125,7 @@ restore,data_dir+use_source_name+'_astrosat_seds_muse_pixels.sav',/verb
astrosat_seds=all_seds
astrosat_filters=(*astrosat_seds[0]).filter
-Nvor=max(voronoi_id)
+Nvor=long(max(voronoi_id))
all_filters=[jwst_filters,astrosat_filters,muse_filters]
Nfilters=n_elements(all_filters)
all_seds=fltarr(Nfilters,Nvor)
@@ -120,7 +165,8 @@ G0_hit=fltarr(Nvor)+la_undef()
Ypah_hit=fltarr(Nvor)+la_undef()
Yvsg_hit=fltarr(Nvor)+la_undef()
-use_NHmap=NHCO ;used NH map in 1.e21 (from CO)
+;use_NHmap=NHCO ;used NH map in 1.e21 (from CO)
+use_NHmap=la_add(NHCO,NHI) ;used NH map in 1.e21 (from CO+HI)
;use_NHmap=NH_map ;used NH map in 1.e21 (from MUSE)
;==== This is all the filters in a given SED
@@ -143,7 +189,11 @@ model='DBP90'
bidon=dustem_get_wavelengths(isrf_wavelengths=isrf_wavelengths)
-fixed_parameters_description=['dustem_plugin_phangs_class_isrf_2'] ;This is the ISRF G0 factor
+IF not keyword_set(force_mathis) THEN BEGIN
+ fixed_parameters_description=['dustem_plugin_phangs_class_isrf_2'] ;This is the ISRF G0 factor, fixed for grid
+ENDIF ELSE BEGIN
+ ;left blanck on purpose
+ENDELSE
file=!dustem_soft_dir+'/data/ISRF_MATHIS.DAT'
;file='/Users/jpb/Soft_Libraries/dustem_fortran/data/ISRF.DAT'
@@ -158,7 +208,13 @@ FOR isrf_class=class_min,class_max DO BEGIN
isrf_class_str='_isrfclass'+strtrim(isrf_class,2)
table_name=grids_data_dir+model+'_MuseISRF_JWST_G0_YPAH_YVSG_4Phangs'+isrf_class_str+'.fits'
;select Voronoi bins with that ISRF class
- ind_class=where(vor_class EQ isrf_class,Nvor_class)
+ IF not keyword_set(force_mathis) THEN BEGIN
+ ind_class=where(vor_class EQ isrf_class,Nvor_class)
+ ENDIF ELSE BEGIN
+ ;stop
+ ind_class=lindgen(Nvor)
+ Nvor_class=Nvor
+ ENDELSE
reset=1
IF Nvor_class NE 0 THEN BEGIN
FOR vvid=0LL,Nvor_class-1 DO BEGIN
@@ -167,13 +223,10 @@ FOR isrf_class=class_min,class_max DO BEGIN
ENDIF
;=== Get the G0 value for that vid
vid=ind_class[vvid]
- ;print,vid
- ;IF vid EQ 12641 THEN BEGIN
- ; message,'stopped at vid =12641',/continue
- ; stop
- ;ENDIF
G0=interpol(ISRFs[*,vid],isrf_wavelengths,1.0)/Mathis_1mic
- fixed_parameters_values=[G0]
+ IF not keyword_set(force_mathis) THEN BEGIN
+ fixed_parameters_values=[G0]
+ ENDIF
sed=*seds_ptr[vid]
;=== restrict sed to requested filters
sed=sed[ind_filters]
@@ -193,8 +246,11 @@ FOR isrf_class=class_min,class_max DO BEGIN
,fixed_parameters_description=fixed_parameters_description,fixed_parameters_values=fixed_parameters_values $
,weighted_params=weighted_params,reset=reset)
reset=0
- G0s[vid]=G0
- ;Ypahs[vid]=params[1]/fact ;extenssive quantities must be divided by normalization factor
+ IF not keyword_set(force_mathis) THEN BEGIN
+ G0s[vid]=G0
+ ENDIF ELSE BEGIN
+ G0s[vid]=weighted_params[0]
+ ENDELSE
Ypahs[vid]=weighted_params[1];/fact ;Caution, extenssive quantities must be divided by normalization factor. We don't here
Yvsgs[vid]=weighted_params[2];/fact
facts[vid]=fact
@@ -246,19 +302,19 @@ ENDFOR
;save,GOs,Ypahs,Yvsgs,file=dir+source_name+'DBP90_JWST_G0_YPAH_YVSG.fits'
IF keyword_set(save) THEN BEGIN
- file_save=data_dir+use_source_name+'_DBP90_JWST_G0_YPAH_YVSG_on-voronoi_with-ISRFclasses'+norm_str+'.sav'
+ file_save=data_dir+use_source_name+'_DBP90_JWST_G0_YPAH_YVSG_on-voronoi_with-ISRFclasses'+norm_str+mathis_str+'.sav'
save,G0s,Ypahs,Yvsgs,facts,chi2s,rchi2s,dG0s,dYpahs,dYvsgs,G0_hit,Ypah_hit,Yvsg_hit,file=file_save
message,'Wrote '+file_save,/continue
- file_save=data_dir+use_source_name+'_DBP90_JWST_G0_YPAH_YVSG_maps_with-ISRFclasses'+norm_str+'.sav'
+ file_save=data_dir+use_source_name+'_DBP90_JWST_G0_YPAH_YVSG_maps_with-ISRFclasses'+norm_str+mathis_str+'.sav'
save,G0_map,Ypah_map,Yvsg_map,fact_map,chi2_map,rchi2_map,dG0_map,dYpah_map,dYvsg_map,Ypah_hit_map,Yvsg_hit_map,file=file_save
message,'Wrote '+file_save,/continue
ENDIF
from_restore:
-file_save=data_dir+use_source_name+'_DBP90_JWST_G0_YPAH_YVSG_on-voronoi_with-ISRFclasses'+norm_str+'.sav'
+file_save=data_dir+use_source_name+'_DBP90_JWST_G0_YPAH_YVSG_on-voronoi_with-ISRFclasses'+norm_str+mathis_str+'.sav'
restore,file_save,/verb
-file_save=data_dir+use_source_name+'_DBP90_JWST_G0_YPAH_YVSG_maps_with-ISRFclasses'+norm_str+'.sav'
+file_save=data_dir+use_source_name+'_DBP90_JWST_G0_YPAH_YVSG_maps_with-ISRFclasses'+norm_str+mathis_str+'.sav'
restore,file_save,/verb
stop
@@ -267,7 +323,7 @@ stop
win=0L
window,win,xsize=700,ysize=900 & win=win+1
!p.multi=[0,1,3]
-ind=where(G0s NE la_undef())
+ind=where(G0s NE la_undef() and G0s GT 0)
res=histogram(G0s[ind],locations=xv)
cgplot,xv,res,psym=10,title='G0s histogram',xtit='G0',ytit='Number',/ylog,yrange=[1,max(res)],/ysty
@@ -279,32 +335,24 @@ ind=where(Yvsgs NE la_undef())
res=histogram(alog10(Yvsgs[ind]),locations=xv,Nbins=100)
cgplot,xv,res,psym=10,title='Yvsgs histogram',xtit='log(Yvsg)',ytit='Number',/ylog,yrange=[1,max(res)],/ysty
-Ypahs_f=la_div(Ypahs,facts)
-ind=where(Ypahs_f NE la_undef())
-res=histogram(alog10(Ypahs_f[ind]),locations=xv,Nbins=100)
-cgplot,xv,res,psym=10,title='Ypahs histogram',xtit='log(Ypah_f)',ytit='Number',/ylog,yrange=[1,max(res)],/ysty
-
-Yvsgs_f=la_div(Yvsgs,facts)
-ind=where(Yvsgs_f NE la_undef())
-res=histogram(alog10(Yvsgs_f[ind]),locations=xv,Nbins=100)
-cgplot,xv,res,psym=10,title='Yvsgs histogram',xtit='log(Yvsg_f)',ytit='Number',/ylog,yrange=[1,max(res)],/ysty
-
;==== show maps
+obp=[1.1,0.,1.15,1]
win=0L
-window,win,xsize=800,ysize=900 & win=win+1
-obp=[1.1,0.,1.15,1]
+window,win,xsize=800,ysize=900 & win=win+1
+imrange=[-4.5,-2.5]
;image_cont20,G0_map,Href,/square,imrange=[-2,40],axis_color_table=1,image_color_table='jpbloadct',/silent,off_bar=obp,title='G0'
-image_cont20,la_log10(G0_map),Href,/square,imrange=[-0.2,2],axis_color_table=1,image_color_table='jpbloadct',/silent,off_bar=obp,title='log10(G0)'
+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)'
window,win,xsize=800,ysize=900 & win=win+1
-imrange=[-4.,-3.] ;normalize=1
-imrange=[-4.,-3.5]+2 ;normalize=0
+imrange=[-4.,-2.] ;normalize=1
+;imrange=[-4.,-3.5]+2 ;normalize=0
image_cont20,la_log10(Ypah_map),Href,/square,imrange=imrange,axis_color_table=1,image_color_table='jpbloadct',/silent,off_bar=obp,title='log10(Ypah)'
window,win,xsize=800,ysize=900 & win=win+1
-imrange=[-4.,-3.]+0.5 ;normalize=1
-imrange=[-2.2,-1.6] ;normalize=0
+;imrange=[-4.,-3.]+0.5 ;normalize=1
+imrange=[-4.,-2.]+0.5 ;normalize=1
+;imrange=[-2.2,-1.6] ;normalize=0
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)'
window,win,xsize=800,ysize=900 & win=win+1
@@ -325,13 +373,20 @@ image_cont20,Yvsg_hit_map,Href,/square,imrange=imrange,axis_color_table=1,image_
window,win,xsize=800,ysize=900 & win=win+1
imrange=[-2,2]
-image_cont20,use_NH_map,Href,/square,imrange=imrange,axis_color_table=1,image_color_table='jpbloadct',/silent,title='Yvsg hit',off_bar=obp
+image_cont20,la_log10(use_NHmap),Href,/square,imrange=imrange,axis_color_table=1,image_color_table='jpbloadct',/silent,title='NH map',off_bar=obp
window,win,xsize=800,ysize=900 & win=win+1
imrange=0
imrange=[-2.0,-1.45]
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
+;=== other plots
+
+
+cgplot,G0s,Ypahs,/xlog,/ylog,xr=[1.e-5,1.e-2],/xsty,psym=3,xtit='G0',ytit='Ypah'
+cgplot,G0s,Yvsgs,/xlog,/ylog,xr=[1.e-5,1.e-2],/xsty,psym=3,xtit='G0',ytit='Yvsg'
+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'
+
stop
@@ -359,4 +414,6 @@ wset,3 & image_cont20,alog10(chi2_map),href,/square,imrange=[2,6],image_color_ta
window,4,xsize=800,ysize=1000
image_cont20,alog10(fact_map),href,/square,imrange=[-1,5],image_color_table='jpbloadct',/silent,title='fact',off_bar=obp,axis_color_table=1,levels=levs
+the_end:
+
END
diff --git a/LabTools/IRAP/JPB/phangs_isrf_pipeline.pro b/LabTools/IRAP/JPB/phangs_isrf_pipeline.pro
index d87fd53..5dc71c5 100644
--- a/LabTools/IRAP/JPB/phangs_isrf_pipeline.pro
+++ b/LabTools/IRAP/JPB/phangs_isrf_pipeline.pro
@@ -10,6 +10,8 @@ phangs_make_jwst_images,source_name='ngc0628',/save,/show,/nostop
phangs_make_muse_filters_images,source_name='ngc0628',/save,/show,/nostop
;make _astrosat_data.sav
phangs_make_astrosat_images,source_name='ngc0628',/save,/show,/nostop
+phangs_make_hi_images,source_name='ngc0628',/save,/show,/nostop
+phangs_make_co_alma_images,source_name='ngc0628',/save,/show,/nostop
;==== extract SEDs on MUSE pixels
;produces _jwst_seds_muse_pixels.sav, _muse_seds_muse_pixels.sav', _astrosat_seds_muse_pixels.sav
diff --git a/LabTools/IRAP/JPB/phangs_make_jwst_images.pro b/LabTools/IRAP/JPB/phangs_make_jwst_images.pro
index fe5a931..354f21d 100644
--- a/LabTools/IRAP/JPB/phangs_make_jwst_images.pro
+++ b/LabTools/IRAP/JPB/phangs_make_jwst_images.pro
@@ -1,6 +1,47 @@
-PRO phangs_make_jwst_images,source_name=source_name,save=save,show_images=show_images,nostop=nostop
+PRO phangs_make_jwst_images,source_name=source_name,save=save,show_images=show_images,nostop=nostop,help=help
-;phangs_make_jwst_images,source_name='ngc0628',/save,/show,/nostop
+;+
+; NAME:
+; phangs_make_jwst_images
+; PURPOSE:
+; makes JWST images usable by the Phangs ISRF project
+; CATEGORY:
+; Dustem Phangs
+; CALLING SEQUENCE:
+; phangs_make_jwst_images[,source_name=][,/save][,/show_images][,/nostop]
+; INPUTS:
+; None
+; OPTIONAL INPUT PARAMETERS:
+; source_name : source name (default = 'ngc0628')
+; OUTPUTS:
+; None
+; OPTIONAL OUTPUT PARAMETERS:
+; None
+; ACCEPTED KEY-WORDS:
+; help = If set, print this help
+; save = If set, save result
+; show_images= if set, show images
+; nostop = if set, does not stop
+; COMMON BLOCKS:
+; None
+; SIDE EFFECTS:
+; A file is written
+; RESTRICTIONS:
+; None
+; PROCEDURE:
+; input JWST images are asumed to be in units of MJy/sr
+; EXAMPLES
+; phangs_make_jwst_images,source_name='ngc0628',/save,/show,/nostop
+; MODIFICATION HISTORY:
+; Written by J.-Ph. Bernard (2023)
+; Evolution details on the DustEMWrap gitlab.
+; See http://dustemwrap.irap.omp.eu/ for FAQ and help.
+;-
+
+IF keyword_set(help) THEN BEGIN
+ doc_library,'phangs_make_jwst_images'
+ goto,the_end
+ENDIF
use_source_name='ngc0628'
IF keyword_set(source_name) THEN use_source_name=source_name
@@ -11,7 +52,6 @@ obp=[1.1,0,1.15,1]
win=0L
;data_dir='/Volumes/PILOT_FLIGHT1/PHANGS-JWST/DR1/'
-NH_data_dir=!phangs_data_dir+'/phangs_drive/PHANGS-JWST/DR1/'
data_dir=!phangs_data_dir+'/phangs_drive/PHANGS-JWST/DR1/'
save_data_dir=!phangs_data_dir+'/ISRF/WORK/'
@@ -27,7 +67,17 @@ IF keyword_set(show_images) THEN BEGIN
window,win & win=win+1
image_cont20,d,href,/square,imrange=[-0.1,5],image_color_table='jpbloadct',/silent,tit=tit
ENDIF
-;stop
+
+;=== save reference header
+IF keyword_set(save) THEN BEGIN
+ save_file=save_data_dir+use_source_name+'_ref_header.sav'
+ save,href,file=save_file
+ message,'Saved '+save_file,/continue
+ENDIF
+
+stop
+
+
Nx=sxpar(href,'NAXIS1')
Ny=sxpar(href,'NAXIS2')
@@ -228,5 +278,6 @@ IF keyword_set(save) THEN BEGIN
message,'Saved '+save_file,/continue
ENDIF
+the_end:
END
\ No newline at end of file
diff --git a/LabTools/IRAP/JPB/phangs_make_muse_filters_images.pro b/LabTools/IRAP/JPB/phangs_make_muse_filters_images.pro
index 36c0edd..a7c42f5 100644
--- a/LabTools/IRAP/JPB/phangs_make_muse_filters_images.pro
+++ b/LabTools/IRAP/JPB/phangs_make_muse_filters_images.pro
@@ -1,7 +1,49 @@
PRO phangs_make_muse_filters_images,source_name=source_name,save=save,show_images=show_images,nostop=nostop
-;phangs_make_muse_filters_images,source_name='ngc0628',/show,/nostop
-;phangs_make_muse_filters_images,source_name='ngc0628',/save,/show,/nostop
+;+
+; NAME:
+; phangs_make_muse_filters_images
+; PURPOSE:
+; makes Muse filter images usable by the Phangs ISRF project
+; CATEGORY:
+; Dustem Phangs
+; CALLING SEQUENCE:
+; phangs_make_muse_filters_images[,source_name=][,/save][,/show_images][,/nostop]
+; INPUTS:
+; None
+; OPTIONAL INPUT PARAMETERS:
+; source_name : source name (default = 'ngc0628')
+; OUTPUTS:
+; None
+; OPTIONAL OUTPUT PARAMETERS:
+; None
+; ACCEPTED KEY-WORDS:
+; help = If set, print this help
+; save = If set, save result
+; show_images= if set, show images
+; nostop = if set, does not stop
+; COMMON BLOCKS:
+; None
+; SIDE EFFECTS:
+; A file is written
+; RESTRICTIONS:
+; None
+; PROCEDURE:
+; input MUSE images are asumed to be in units of ?
+;
+; EXAMPLES
+; phangs_make_muse_filters_images,source_name='ngc0628',/show,/nostop
+; phangs_make_muse_filters_images,source_name='ngc0628',/save,/show,/nostop
+; MODIFICATION HISTORY:
+; Written by J.-Ph. Bernard (2023)
+; Evolution details on the DustEMWrap gitlab.
+; See http://dustemwrap.irap.omp.eu/ for FAQ and help.
+;-
+
+IF keyword_set(help) THEN BEGIN
+ doc_library,'phangs_make_muse_filters_images'
+ goto,the_end
+ENDIF
use_source_name='ngc0628'
IF keyword_set(source_name) THEN use_source_name=source_name
@@ -148,4 +190,6 @@ ENDFOR
save,NH_map,file=save_data_dir+use_source_name+'_muse_NH.sav'
+the_end:
+
END
\ No newline at end of file
diff --git a/LabTools/IRAP/JPB/srun/make_phangs_grids.pro b/LabTools/IRAP/JPB/srun/make_phangs_grids.pro
index e687567..0f6fc2d 100644
--- a/LabTools/IRAP/JPB/srun/make_phangs_grids.pro
+++ b/LabTools/IRAP/JPB/srun/make_phangs_grids.pro
@@ -21,7 +21,11 @@ bidon=1
;make grid
;make_sed_phangs_tables,/test,grid_type=2,/show_seds,isrf_class=15
-make_sed_phangs_tables,grid_type=2,isrf_class=19
+make_sed_phangs_tables,grid_type=2,isrf_class=23
+;make_sed_phangs_tables,grid_type=2,isrf_class=22
+;make_sed_phangs_tables,grid_type=2,isrf_class=21
+;make_sed_phangs_tables,grid_type=2,isrf_class=20
+;make_sed_phangs_tables,grid_type=2,isrf_class=19
;make_sed_phangs_tables,grid_type=2,isrf_class=18
;make_sed_phangs_tables,grid_type=2,isrf_class=17
;make_sed_phangs_tables,grid_type=2,isrf_class=16
--
libgit2 0.21.2