<!-- 
RSS generated by JIRA (8.3.4#803005-sha1:1f96e09b3c60279a408a2ae47be3c745f571388b) at Sat Feb 10 16:44:22 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>[OBSPROC-15] Prepare a code to make pfsDesign</title>
                <link>https://pfspipe.ipmu.jp/jira/browse/OBSPROC-15</link>
                <project id="11003" key="OBSPROC">PFS observation processing/procedure</project>
                    <description>&lt;p&gt;By looking at some previous codes to create a pfsDesign file (soon we will have a common code, I suppose, though), we need to have a code to prepare pfsDesign by talking to targetDB, He-san&apos;s code, and fiber allocation softwares, etc.&lt;/p&gt;</description>
                <environment></environment>
        <key id="18298">OBSPROC-15</key>
            <summary>Prepare a code to make pfsDesign</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="monodera">monodera</assignee>
                                    <reporter username="monodera">monodera</reporter>
                        <labels>
                            <label>EngRun</label>
                    </labels>
                <created>Tue, 26 Oct 2021 06:18:22 +0000</created>
                <updated>Thu, 25 Nov 2021 01:25:29 +0000</updated>
                            <resolved>Thu, 25 Nov 2021 01:25:28 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>9</watches>
                                                                <comments>
                            <comment id="24801" author="msyktnk" created="Tue, 26 Oct 2021 09:18:23 +0000"  >&lt;p&gt;&lt;a href=&quot;https://github.com/Subaru-PFS/ets_fiberalloc/blob/commissioning_demo/commissioning.py&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://github.com/Subaru-PFS/ets_fiberalloc/blob/commissioning_demo/commissioning.py&lt;/a&gt;&#160; is probably a very good starting point for the coming November run.&lt;/p&gt;</comment>
                            <comment id="24920" author="monodera" created="Tue, 2 Nov 2021 09:56:19 +0000"  >&lt;p&gt;Minimum working modification is made (see &lt;tt&gt;gen_target_list_from_targetdb()&lt;/tt&gt;). &lt;br/&gt;
&lt;a href=&quot;https://github.com/Subaru-PFS/ets_target_database/blob/commissioning_2021nov/examples/commissioning_2021nov/commissioning.py&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://github.com/Subaru-PFS/ets_target_database/blob/commissioning_2021nov/examples/commissioning_2021nov/commissioning.py&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The script still needs to be reviewed and tested. &lt;/p&gt;</comment>
                            <comment id="24931" author="rhl" created="Wed, 3 Nov 2021 13:33:14 +0000"  >&lt;p&gt;&lt;a href=&quot;https://pfspipe.ipmu.jp/jira/secure/ViewProfile.jspa?name=Martin.Reinecke&quot; class=&quot;user-hover&quot; rel=&quot;Martin.Reinecke&quot;&gt;Martin Reinecke&lt;/a&gt;points out that the pfsDesignId is calculated from the desired positions of the cobras, and that this isn&apos;t available until the last stage in the construction of the pfsDesign file (starting with boresight and rotation, adding the guide stars, and then finally the cobra positions). In consequence, he is forced to assign his own &quot;pfsDesignId&quot; rather than allowing the PFS code to calculate it.&lt;br/&gt;
This is a result of using pfsDesign files in ways that I didn&apos;t consider when writing down the datamodel, but which make total sense.  One option would be to &lt;em&gt;not&lt;/em&gt; use pfsDesign files in this way, but I think that that&apos;s probably not the best solution as we&apos;d need to define a new file format, and it&apos;d still need a unique name.   Another is to proceed using an external generation of the pfsDesignId, in which case we need to be sure that they are indeed unique.  Alternatively, we could extend the definition of the pfsDesignId to include the (nominal) boresight, rotation, and list of guide star positions. &lt;/p&gt;

&lt;p&gt;I favour the last of these proposals (which will require a DAMD ticket).   &lt;a href=&quot;https://pfspipe.ipmu.jp/jira/secure/ViewProfile.jspa?name=cloomis&quot; class=&quot;user-hover&quot; rel=&quot;cloomis&quot;&gt;cloomis&lt;/a&gt;? &lt;a href=&quot;https://pfspipe.ipmu.jp/jira/secure/ViewProfile.jspa?name=price&quot; class=&quot;user-hover&quot; rel=&quot;price&quot;&gt;price&lt;/a&gt;?&lt;/p&gt;</comment>
                            <comment id="24933" author="cloomis" created="Wed, 3 Nov 2021 15:16:37 +0000"  >&lt;p&gt;That seems clean, and at this point in time safe.&lt;/p&gt;</comment>
                            <comment id="24936" author="hassan" created="Wed, 3 Nov 2021 15:47:38 +0000"  >&lt;p&gt;So for the last proposal, would Martin need, in addition to the (nominal) boresight, rotation, list of guidestar positions, to assume default positions for the cobras (presumably the home positions)?&lt;/p&gt;</comment>
                            <comment id="24937" author="rhl" created="Wed, 3 Nov 2021 15:49:11 +0000"  >&lt;p&gt;I think we (now) handle &lt;tt&gt;NaN&lt;/tt&gt; correctly, so this should be automatic.&lt;/p&gt;</comment>
                            <comment id="24938" author="price" created="Wed, 3 Nov 2021 16:40:56 +0000"  >&lt;p&gt;I don&apos;t like the idea of building up a &lt;tt&gt;pfsDesign&lt;/tt&gt; file in fits and starts, as I think it&apos;s bound to cause confusion. I suggest we add a new file type, say &lt;tt&gt;pfsPlan&lt;/tt&gt;, which will be similar to &lt;tt&gt;pfsDesign&lt;/tt&gt; but without the cobra positions, and have the &lt;tt&gt;pfsPlanId&lt;/tt&gt; hash calculated from the available information.&lt;/p&gt;

&lt;p&gt;The implemented &lt;tt&gt;PfsDesign&lt;/tt&gt;/&lt;tt&gt;PfsConfig&lt;/tt&gt; hierarchy already supports building on top of existing classes, so it should be simple to code.&lt;/p&gt;</comment>
                            <comment id="24957" author="martin.reinecke" created="Thu, 4 Nov 2021 19:06:08 +0000"  >&lt;p&gt;If we go the route of introducing new file types, this makes things a bit more complicated for `ets_shuffle` and `ets_fiberalloc`...&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;Currently the idea is that&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;`ets_shuffle` reads boresight and PA from a &quot;pfsDesign-like&quot; file and outputs the input file, enriched with guide star information.&lt;/li&gt;
	&lt;li&gt;`ets_fiberalloc` reads boresight and PA from a &quot;pfsDesign-like&quot; file and outputs the input file, enriched by cobra-target assignment information.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;This has the nice property that the order of execution doesn&apos;t matter for those two programs, and that they just use PFSdesign files (in various stages of construction) fo input and output. I&apos;d be happy not to lose this kind of simplicity, especially since it is fairly easy to test a PFSDesign for completeness when this is really required.&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;</comment>
                            <comment id="25025" author="monodera" created="Thu, 11 Nov 2021 05:12:31 +0000"  >&lt;p&gt;From &lt;a href=&quot;https://pfspipe.ipmu.jp/jira/secure/ViewProfile.jspa?name=Martin.Reinecke&quot; class=&quot;user-hover&quot; rel=&quot;Martin.Reinecke&quot;&gt;Martin Reinecke&lt;/a&gt; in the zoom chat during the commissioning telecon (Nov 10/11, 2021):&lt;/p&gt;

&lt;p&gt;&lt;cite&gt;The most up to date version of the commissioning.py script is at &lt;a href=&quot;https://github.com/Subaru-PFS/ets_fiberalloc/blob/commissioning_demo_2/commissioning.py&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://github.com/Subaru-PFS/ets_fiberalloc/blob/commissioning_demo_2/commissioning.py&lt;/a&gt;&lt;/cite&gt;&lt;/p&gt;</comment>
                            <comment id="25027" author="monodera" created="Thu, 11 Nov 2021 05:51:14 +0000"  >&lt;p&gt;BTW, by setting &lt;tt&gt;&#8211;use_gurobi&lt;/tt&gt; as follows, you don&apos;t need to put &lt;tt&gt;True&lt;/tt&gt; or &lt;tt&gt;False&lt;/tt&gt; explicitly.&lt;/p&gt;

&lt;p&gt;&lt;tt&gt;parser.add_argument(&quot;--use_gurobi&quot;, action=&quot;store_true&quot;, help=&quot;use Gurobi solver instead of PuLP&quot;)&lt;/tt&gt;&lt;/p&gt;</comment>
                            <comment id="25028" author="martin.reinecke" created="Thu, 11 Nov 2021 07:11:27 +0000"  >&lt;p&gt;Thank you, this is very useful! I will update the code accordingly. (My main language is C++ &lt;img class=&quot;emoticon&quot; src=&quot;https://pfspipe.ipmu.jp/jira/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;)&lt;/p&gt;</comment>
                            <comment id="25106" author="kiyoto.yabe" created="Wed, 17 Nov 2021 02:33:11 +0000"  >&lt;p&gt;Just a small thing but the current commissioning.py didn&apos;t work for me:&lt;/p&gt;
&lt;div class=&quot;code panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;codeContent panelContent&quot;&gt;
&lt;pre class=&quot;code-java&quot;&gt;
Traceback (most recent call last):
  File &lt;span class=&quot;code-quote&quot;&gt;&quot;commissioning.py&quot;&lt;/span&gt;, line 393, in &amp;lt;module&amp;gt;
    main()
  File &lt;span class=&quot;code-quote&quot;&gt;&quot;commissioning.py&quot;&lt;/span&gt;, line 382, in main
    args = get_arguments()
  File &lt;span class=&quot;code-quote&quot;&gt;&quot;commissioning.py&quot;&lt;/span&gt;, line 88, in get_arguments
    parser.add_argument(&lt;span class=&quot;code-quote&quot;&gt;&quot;--use_gurobi&quot;&lt;/span&gt;, type=bool, action=&lt;span class=&quot;code-quote&quot;&gt;&apos;store_true&apos;&lt;/span&gt;, help=&lt;span class=&quot;code-quote&quot;&gt;&quot;use Gurobi solver instead of PuLP&quot;&lt;/span&gt;)
  File &lt;span class=&quot;code-quote&quot;&gt;&quot;/opt/anaconda3/lib/python3.7/argparse.py&quot;&lt;/span&gt;, line 1359, in add_argument
    action = action_class(**kwargs)
TypeError: __init__() got an unexpected keyword argument &lt;span class=&quot;code-quote&quot;&gt;&apos;type&apos;&lt;/span&gt;
}
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Please remove `type=bool`.&lt;/p&gt;</comment>
                            <comment id="25107" author="monodera" created="Wed, 17 Nov 2021 02:44:57 +0000"  >&lt;p&gt;&lt;tt&gt;type=bool&lt;/tt&gt; is not needed. I don&apos;t know how to merge the scripts of yours and mine. What does work best for us? I&apos;m trying to untouch the assignment part so that integration can be easy. But I want to put more parameters such as flues in pfsDesign and will need to write a separate version of &lt;tt&gt;generatePfsDesign()&lt;/tt&gt;.&lt;/p&gt;</comment>
                            <comment id="25120" author="martin.reinecke" created="Wed, 17 Nov 2021 09:22:05 +0000"  >&lt;p&gt;I removed the `type=bool`. Strangely, it even worked for me when the argument was present.&lt;/p&gt;</comment>
                            <comment id="25168" author="monodera" created="Sat, 20 Nov 2021 03:56:26 +0000"  >&lt;p&gt;Eventually, I believe that I was able to manage to create a pfsDesign file by updating the Martin&apos;s commissioning.py. My code (subaru_fiber_allocation_2021nov.py) and README are found at &lt;a href=&quot;https://github.com/Subaru-PFS/ets_target_database/tree/commissioning_2021nov/examples/commissioning_2021nov&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://github.com/Subaru-PFS/ets_target_database/tree/commissioning_2021nov/examples/commissioning_2021nov&lt;/a&gt; .&lt;/p&gt;

&lt;p&gt;I attach the pfsDesign file generated with the example in the README above.  If someone can check if it looks okay and suggestion for further tests of the script with various conditions, I&apos;d appreciate.&lt;/p&gt;

&lt;p&gt; &lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;https://pfspipe.ipmu.jp/jira/secure/attachment/14487/14487_pfsDesign-0x6a119411f0b96b28.fits&quot; title=&quot;pfsDesign-0x6a119411f0b96b28.fits attached to OBSPROC-15&quot;&gt;pfsDesign-0x6a119411f0b96b28.fits&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;https://pfspipe.ipmu.jp/jira/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;</comment>
                            <comment id="25180" author="monodera" created="Thu, 25 Nov 2021 01:25:29 +0000"  >&lt;p&gt;I think I can close it now as the code was developed for the engineering run and tested by a few people, but the fiber configuration was not tested due to the AG and rotator issues.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="14487" name="pfsDesign-0x6a119411f0b96b28.fits" size="411840" author="monodera" created="Sat, 20 Nov 2021 03:54:38 +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_10006" key="com.pyxis.greenhopper.jira:gh-epic-link">
                        <customfieldname>Epic Link</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>OBSPROC-1</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                <customfield id="customfield_10010" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|zzs2x9:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10005" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="123">PreEngRun4</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10002" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>4.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                        </customfields>
    </item>
</channel>
</rss>