<!-- 
RSS generated by JIRA (8.3.4#803005-sha1:1f96e09b3c60279a408a2ae47be3c745f571388b) at Sat Feb 10 15:29:03 JST 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>PFS-JIRA</title>
    <link>https://pfspipe.ipmu.jp/jira</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.3.4</version>
        <build-number>803005</build-number>
        <build-date>13-09-2019</build-date>
    </build-info>


<item>
            <title>[REDMINE1D-73] [RM-5775] Introduire la d&#233;pendance en longueur d&apos;onde dans la conversion vacuum/air</title>
                <link>https://pfspipe.ipmu.jp/jira/browse/REDMINE1D-73</link>
                <project id="11002" key="REDMINE1D">1D Redmine </project>
                    <description>&lt;p&gt;&lt;em&gt;&lt;font color=&quot;#505f79&quot;&gt; Created on 2020-05-07 16:35:35 by Pierre-yves Chabaud. % Done: 100&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;


&lt;p&gt;Suite du bug #5749.&lt;br/&gt;
L&apos;issue #5749 a &lt;b&gt;temporairement&lt;/b&gt; et &lt;b&gt;volontairement&lt;/b&gt; supprim&#233; la d&#233;pendance en longueur d&apos;onde de la formule de conversion vacuum/air en fixant s=0.8.&lt;br/&gt;
@lambda_vac / lambda_air = 1 + 8.34254*1e-5 + (2.406147*1e-2)/(130-s*s) + (1.5998*1e-4)/(38.9-s*s)@&lt;/p&gt;

&lt;p&gt;L&apos;objectif de cette issue est de r&#233;-introduire la d&#233;pendance en longueur d&apos;onde apr&#232;s une r&#233;organisation des op&#233;rations de conversion vaccum/air et correction de redshift (suite a la remarque de Didier).&lt;/p&gt;

&lt;p&gt;Une fois r&#233;alis&#233;, il faudra: &lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;re-cr&#233;&#233;r les catalogues de template-ratio&lt;/li&gt;
	&lt;li&gt;mettre &#224; jour le code de @vizu@&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Voici la remarque de Didier sur l&apos;ordre des op&#233;rations:&lt;br/&gt;
&lt;b&gt;Didier VIBERT wrote:&lt;/b&gt;&lt;br/&gt;
&amp;gt; J&apos;ai un gros doute sur notre fa&#231;on de faire:&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; il me semble que ce qu&apos;il faudrait faire c&apos;est:&lt;br/&gt;
&amp;gt; * si le catalogue de raie en entr&#233;e est en lambda_air conversion en lambda_vide&lt;br/&gt;
&amp;gt; * si observation dans l&apos;air: redshift des lambda_vide puis correction vide-&amp;gt;air&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; et voil&#224; ce qu&apos;on fait:&lt;br/&gt;
&amp;gt; il y a un param&#232;tre de conversion dont la logique est true si le catalogue est en lambda vide et qu&apos;on observe dans l&apos;air.&lt;br/&gt;
&amp;gt; * au d&#233;but du code on corrige le catalogue d&apos;entr&#233;e pour le mettre en lambda_air en fonction du param&#232;tre&lt;br/&gt;
&amp;gt; * ensuite, pour mod&#233;liser on redshift les raies du catalogue (&#233;ventuellement converties en air)&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; or vu la fonction de conversion, &#231;a ne commute pas avec le redshift, non ?&lt;br/&gt;
&amp;gt; &lt;br/&gt;
&amp;gt; Et quid du fit de template ? id&#233;alement il faudrait des template-air et des template-vide, la conversion pourrait se faire lors de l&apos;interpolation. Mais comme dans le cas du full model, il n&apos;y a pas de raies d&apos;&#233;mission dans les templates et que les raies abs sont larges &#231;a ne pose peut &#234;tre pas de pb ? Est-ce vrai pour les breaks ?&lt;/p&gt;

&lt;p&gt;Pour rappel la discussion initiale:&lt;br/&gt;
Bug dans la conversion vacuum-&amp;gt;air d&#233;couvert lors de #5555&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Vincent LE BRUN wrote&lt;/b&gt;  in #5555#note-11:&lt;br/&gt;
&amp;gt;Voil&#224; la conclusion de cette histoire passionnante, et &#231;a m&apos;a permis de lever un bug majeur :&lt;br/&gt;
&amp;gt;la vraie formule est&lt;br/&gt;
&amp;gt;lambda_vac / lambda_air = 1 + 8.34254*1e-5 + (2.406147*1e-2)/(130-s*s) + (1.5998*1e-4)/(38.9-s*s)&lt;br/&gt;
&amp;gt;donc celle de Amazed sauf que * s = 1e4/lambda_vac_en_Angstrom) alors que je vois dans la formule Amazed un 1e-4 * (notez le moins qui induit une &amp;gt;erreur de 10^8 dans les valeurs de s (mais on est pas &#224; &#231;a pr&#232;s...)&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Didier VIBERT wrote:&lt;/b&gt;&lt;br/&gt;
&amp;gt;dans Ray::ConvertVacuumToAir() source:/RedshiftLibrary/src/lib/ray/ray.cpp#L197&lt;br/&gt;
&amp;gt; R&#233;f&#233;rence: Morton 2000 ApJS, 130, 403-436 (&lt;a href=&quot;https://iopscience.iop.org/article/10.1086/317349&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://iopscience.iop.org/article/10.1086/317349&lt;/a&gt;)&lt;/p&gt;

</description>
                <environment></environment>
        <key id="16777">REDMINE1D-73</key>
            <summary>[RM-5775] Introduire la d&#233;pendance en longueur d&apos;onde dans la conversion vacuum/air</summary>
                <type id="3" iconUrl="https://pfspipe.ipmu.jp/jira/secure/viewavatar?size=xsmall&amp;avatarId=10518&amp;avatarType=issuetype">Task</type>
                                            <priority id="10000" iconUrl="https://pfspipe.ipmu.jp/jira/images/icons/priorities/medium.svg">Normal</priority>
                        <status id="10002" iconUrl="https://pfspipe.ipmu.jp/jira/images/icons/statuses/generic.png" description="The issue is resolved, reviewed, and merged">Done</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10000">Done</resolution>
                                        <assignee username="r2j.migrate">Redmine-Jira Migtation</assignee>
                                    <reporter username="r2j.migrate">Redmine-Jira Migtation</reporter>
                        <labels>
                    </labels>
                <created>Fri, 4 Jun 2021 01:21:53 +0000</created>
                <updated>Wed, 5 Jul 2023 07:49:46 +0000</updated>
                            <resolved>Wed, 5 Jul 2023 07:49:46 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                <comments>
                            <comment id="33749" author="r2j.migrate" created="Wed, 5 Jul 2023 07:49:10 +0000"  >&lt;p&gt;Comment by Pierre-yves Chabaud on 2020-05-26 21:33:15:&lt;br/&gt;
Je rajoute &#224; l&apos;issue la g&#233;n&#233;ration d&apos;un nouveau set de template ratio associ&#233;s&lt;/p&gt;</comment>
                            <comment id="33750" author="r2j.migrate" created="Wed, 5 Jul 2023 07:49:13 +0000"  >&lt;p&gt;Comment by Didier Vibert on 2020-09-04 13:34:44:&lt;br/&gt;
ajout dans la description de la n&#233;cessit&#233; de mettre &#224; jour aussi le code de Vizu&lt;/p&gt;</comment>
                            <comment id="33751" author="r2j.migrate" created="Wed, 5 Jul 2023 07:49:15 +0000"  >&lt;p&gt;Comment by Didier Vibert on 2020-09-30 09:55:43:&lt;br/&gt;
il faudra penser, au cas des templates. &lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Pour chisquare2, pas de probl&#232;me, au moment de l&apos;interpolation du template, on calcule l&apos;axe lambda restframe correspondant aux samples du spectre, il faut donc partir des lambda observ&#233;s dans l&apos;air et corrig&#233;s pour &#234;tre dans le vide.&lt;/li&gt;
	&lt;li&gt;Pour chisquare loglambda, les longueurs d&apos;onde du spectre dans le vide doivent &#234;tre logarthmiquement espac&#233;e. Ce qui veut dire, pour PFS, qu&apos;il faut leur demander de faire cette correction air-&amp;gt;vide pour calculer la grille log lambda...&lt;/li&gt;
&lt;/ul&gt;
</comment>
                            <comment id="33752" author="r2j.migrate" created="Wed, 5 Jul 2023 07:49:18 +0000"  >&lt;p&gt;Comment by Vincent Le Brun on 2021-06-09 14:44:30:&lt;br/&gt;
En fait il faut juste appliquer la conversion au spectre entrant, et pas au catalogue de raies.&lt;/p&gt;

&lt;p&gt;apr&#232;s discussion fructueuse avec Vincent et Pierre-Yves&lt;/p&gt;

&lt;p&gt;la correction a appliquer est finalement assez simple. Plut&#244;t que de chercher &#224; appliquer la correction au mod&#232;le, il faut convertir les longueurs d&apos;onde du spectre pour les ramener dans le vide avec la conversion list&#233;e ci-dessus.&lt;/p&gt;

&lt;p&gt;il faudra aussi que Vizu fasse la m&#234;me chose, car le mod&#232;le sera en lambda_obs dans le vide&lt;/p&gt;</comment>
                            <comment id="33753" author="r2j.migrate" created="Wed, 5 Jul 2023 07:49:20 +0000"  >&lt;p&gt;Comment by Didier Vibert on 2021-08-31 14:11:45:&lt;br/&gt;
Finalement, la modif intervient sur la lecture des spectres et l&apos;instanciation de la classe CSpectrum.&lt;/p&gt;

&lt;p&gt;Ceci concerne l&apos;api de lecture des spectres. Pour le client amazed, la classe reader effectue la lecture en instanciant un CSpectrumSpectralAxis et un CSpectrumFluxAxis puis, &#224; partir de ces 2 objets, instanciation d&apos;un CSpectrum.&lt;br/&gt;
=&amp;gt; il faut mofier le ctor de la classe CSpectrumSpectralAxis, pour prendre un param booleen demandant la conversion air &amp;gt;vide.&lt;br/&gt;
Ensuite, les spectres utilis&#233;s par la lib amazed sont suppos&#233;s &#234;tre dans le vide.&lt;/p&gt;

&lt;p&gt;=&amp;gt; impact sur le format interne amazed des spectres, il faut un keyword booleen pour dire si les longueurs d&apos;onde du spectre sont air ou vide cf #6456&lt;br/&gt;
=&amp;gt; impact sur les clients pfs,euclid pour instancier correctement le CSpectrumSpectralAxis (en fonction des spectres attendus) ticket ? &lt;br/&gt;
=&amp;gt; pour vizu, il faut rajouter la conversion (air-&amp;gt;vide si spectre en air) &#224; la lecture du spectre.&lt;/p&gt;</comment>
                            <comment id="33754" author="r2j.migrate" created="Wed, 5 Jul 2023 07:49:21 +0000"  >&lt;p&gt;Comment by Didier Vibert on 2021-09-07 12:44:47:&lt;br/&gt;
question pour Vincent:&lt;/p&gt;

&lt;p&gt;le papier de Morton 2000, donne une formule permettant de passer de lambda_vac &#224; lambda_air, mais cette formule n&apos;est pas directement inversible:&lt;br/&gt;
@lambda_vac / lambda_air = 1 + 8.34254*1e-5 + (2.406147*1e-2)/(130-s*s) + (1.5998*1e-4)/(38.9-s*s)@ avec @s=1e4/lambda_vac@&lt;/p&gt;

&lt;p&gt;3 possibilit&#233;s:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;on ajuste une lois pour approximer l&apos;inverse&lt;/li&gt;
	&lt;li&gt;on inverse num&#233;riquement&lt;/li&gt;
	&lt;li&gt;tu connais d&#233;j&#224; une lois dans l&apos;autre sens ou tu sais o&#249; la trouver: a priori le drp2d pfs en utilise une pour avoir des spectres en lambda_vac&lt;/li&gt;
&lt;/ol&gt;
</comment>
                            <comment id="33755" author="r2j.migrate" created="Wed, 5 Jul 2023 07:49:23 +0000"  >&lt;p&gt;Comment by Didier Vibert on 2021-09-08 07:21:34:&lt;br/&gt;
&#224; propos de la conversion vaccum&amp;lt;-&amp;gt;air, j&apos;ai trouv&#233; &#231;a: &lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;&quot;PyAstronomy&quot;:&lt;a href=&quot;https://github.com/sczesla/PyAstronomy/blob/master/src/pyasl/asl/airtovac.py&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://github.com/sczesla/PyAstronomy/blob/master/src/pyasl/asl/airtovac.py&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&quot;note technique APOGEE&quot;:&lt;a href=&quot;http://www.as.utexas.edu/~hebe/apogee/docs/air_vacuum.pdf&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;http://www.as.utexas.edu/~hebe/apogee/docs/air_vacuum.pdf&lt;/a&gt;&lt;/li&gt;
	&lt;li&gt;&quot;VALD3&quot;:&lt;a href=&quot;https://www.astro.uu.se/valdwiki/Air-to-vacuum%20conversion&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://www.astro.uu.se/valdwiki/Air-to-vacuum%20conversion&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;&lt;a name=&quot;%22PyAstronomy%22%3Ahttps%3A%2F%2Fgithub.com%2Fsczesla%2FPyAst...&quot;&gt;&lt;/a&gt;&quot;PyAstronomy&quot;:&lt;a href=&quot;https://github.com/sczesla/PyAstronomy/blob/master/src/pyasl/asl/airtovac.py&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://github.com/sczesla/PyAstronomy/blob/master/src/pyasl/asl/airtovac.py&lt;/a&gt; &lt;/h3&gt;

&lt;p&gt;code les 3 formules&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;Edlen 1953, J. Opt. Soc. Am 43 no. 5&lt;/li&gt;
	&lt;li&gt;Peck and Reeder 1972, J. Opt. Soc. 62 no. 8&lt;/li&gt;
	&lt;li&gt;Ciddor 1996, Applied Optics 35 no. 9&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;et la conversion inverse (air-&amp;gt;vaccum) est cod&#233; par it&#233;ration.&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;La%22notetechniqueAPOGEE%22%3A&quot;&gt;&lt;/a&gt;La &quot;note technique APOGEE&quot;:&lt;a href=&quot;http://www.as.utexas.edu/~hebe/apogee/docs/air_vacuum.pdf&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;http://www.as.utexas.edu/~hebe/apogee/docs/air_vacuum.pdf&lt;/a&gt; &lt;/h3&gt;

&lt;p&gt;discute des 3 formulations (m&#234;me formule avec des param&#232;tres un peu diff&#233;rents) &lt;br/&gt;
&lt;img src=&quot;https://pfspipe.ipmu.jp/jira/images/icons/attach/noimage.png&quot; imagetext=&quot;Capture%20d%E2%80%99%C3%A9cran%20de%202021-09-08%2008-54-59.png&quot; align=&quot;absmiddle&quot; border=&quot;0&quot; /&gt;&lt;br/&gt;
o&#249; Edl&#233;n 1966 corresponds &#224; peu pr&#232;s &#224; ce qu&apos;on avait (Morton 2000)&lt;/p&gt;

&lt;p&gt;et montre l&apos;impact dans la bande H:&lt;br/&gt;
&lt;img src=&quot;https://pfspipe.ipmu.jp/jira/images/icons/attach/noimage.png&quot; imagetext=&quot;Capture%20d%E2%80%99%C3%A9cran%20de%202021-09-08%2008-57-54.png&quot; align=&quot;absmiddle&quot; border=&quot;0&quot; /&gt;&lt;/p&gt;

&lt;p&gt;pour conclure qu&apos;il vaut mieux utiliser la derni&#232;re Ciddor 1996.&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;%22VALD3%22%3Ahttps%3A%2F%2Fwww.astro.uu.se%2Fvaldwiki%2FAirto...&quot;&gt;&lt;/a&gt;&quot;VALD3&quot;:&lt;a href=&quot;https://www.astro.uu.se/valdwiki/Air-to-vacuum%20conversion&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://www.astro.uu.se/valdwiki/Air-to-vacuum%20conversion&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;applique Morton 2000 (~ Edl&#233;n 1966) et propose une formule directe pour l&apos;inverse:&lt;/p&gt;

&lt;p&gt;&amp;gt; The opposite conversion (air-to-vacuum) is less trivial because n depends on &#955;vac and conversion equations with sufficient precision are not readily available. VALD3 tools use the following solution derived by N. Piskunov:&lt;/p&gt;

&lt;p&gt;&amp;gt; n = 1 + 0.00008336624212083 + 0.02408926869968 / (130.1065924522 - s2) + 0.0001599740894897 / (38.92568793293 - s2), where s = 104 / &#955;air and the conversion is: &#955;vac = &#955;air * n. &lt;/p&gt;

&lt;p&gt;en estimant l&apos;erreur de cette approximation inverse via vacuum-&amp;gt;air-&amp;gt;vaccum:&lt;br/&gt;
&lt;img src=&quot;https://pfspipe.ipmu.jp/jira/images/icons/attach/noimage.png&quot; imagetext=&quot;Capture%20d%E2%80%99%C3%A9cran%20de%202021-09-08%2009-13-42.png&quot; align=&quot;absmiddle&quot; border=&quot;0&quot; /&gt;&lt;/p&gt;

&lt;h3&gt;&lt;a name=&quot;conclusion&quot;&gt;&lt;/a&gt;conclusion&lt;/h3&gt;

&lt;p&gt;Donc en gros, je vois 2 options:&lt;/p&gt;

&lt;ol&gt;
	&lt;li&gt;on code la formule VALD3  qui est une approx de l&apos;inverse de Morton2000&lt;/li&gt;
	&lt;li&gt;on code les 4 formules avec un param pour la choisir et on applique le schema it&#233;ratif de PyAstronomy pour la conversion inverse&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;une pr&#233;f&#233;rence ? &lt;/p&gt;</comment>
                            <comment id="33756" author="r2j.migrate" created="Wed, 5 Jul 2023 07:49:25 +0000"  >&lt;p&gt;Comment by Vincent Le Brun on 2021-09-08 11:33:32:&lt;br/&gt;
vu que Morton est largement utilis&#233; (SDSS,...) et probablement par le DRP2D, je penche pour la 1ere solution, surtout que l&apos;inversion a une pr&#233;cision largement suffisante&lt;/p&gt;</comment>
                            <comment id="33757" author="r2j.migrate" created="Wed, 5 Jul 2023 07:49:25 +0000"  >&lt;p&gt;Comment by Didier Vibert on 2021-09-13 14:24:57:&lt;br/&gt;
finalement j&apos;ai cod&#233; toutes conversions, le client prend par d&#233;faut Morton2000&lt;/p&gt;

&lt;p&gt;merge request: &lt;a href=&quot;https://gitlab.lam.fr/CPF/cpf-redshift/-/merge_requests/208&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://gitlab.lam.fr/CPF/cpf-redshift/-/merge_requests/208&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(amazed client associated merge request: &lt;a href=&quot;https://gitlab.lam.fr/CPF/pyamazed/-/merge_requests/42&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://gitlab.lam.fr/CPF/pyamazed/-/merge_requests/42&lt;/a&gt;)&lt;/p&gt;</comment>
                            <comment id="33758" author="r2j.migrate" created="Wed, 5 Jul 2023 07:49:26 +0000"  >&lt;p&gt;Comment by Pierre-yves Chabaud on 2021-09-17 08:08:57:&lt;br/&gt;
Merged into @develop@ : @9aa51e8@&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="16028" name="Capture d&#8217;&#233;cran de 2021-09-08 08-54-59.png" size="37065" author="r2j.migrate" created="Wed, 5 Jul 2023 07:49:33 +0000"/>
                            <attachment id="16029" name="Capture d&#8217;&#233;cran de 2021-09-08 08-57-54.png" size="81759" author="r2j.migrate" created="Wed, 5 Jul 2023 07:49:39 +0000"/>
                            <attachment id="16030" name="Capture d&#8217;&#233;cran de 2021-09-08 09-13-42.png" size="50019" author="r2j.migrate" created="Wed, 5 Jul 2023 07:49:44 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                <customfield id="customfield_10500" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                            <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|zzs7n4:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                    </customfields>
    </item>
</channel>
</rss>