<div dir="ltr">Hi all,<div><br></div><div>The commit is in.  As always, please let me know if you have any problems with it.</div><div><br></div><div>Sincerely,</div><div>Sam Trahan</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 1, 2018 at 4:42 PM, Samuel Trahan - NOAA Affiliate <span dir="ltr">&lt;<a href="mailto:samuel.trahan@noaa.gov" target="_blank">samuel.trahan@noaa.gov</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi all,<div><br></div><div>I&#39;m going to commit an emergency NEMS change from the move-produtil branch; see below for details.  We&#39;re running the regression tests now on Theia and the WCOSS production machine now.  I&#39;ll commit the very moment they finish.</div><div><br></div><div><br></div><div>Get ready to delve into the details of git submodules...</div><div><br></div><div><br></div><div>Some users are having trouble with the latest NEMS commit, which switched to a submodule for produtil within NEMS.  Specifically, when you &quot;git checkout&quot; an older version of NEMS, the implementation of &quot;git submodule&quot; refuses to replace the produtil submodule with the embedded produtil scripts from older versions.  It is upset that you&#39;re askign it to replace the submodule in tests/produtil/ush with files.  Thus, it reports a conflict and does not continue until you delete the submodule.  This is a deliberate design (flaw) in the implementation of &quot;git submodule&quot;.</div><div><br></div><div>You can see the error if you:</div><div><br></div><div>git clone NEMS</div><div>cd NEMS</div><div>git submodule update --init --recursive</div><div>git checkout <wbr>cee1f5cc2c50e089015c9251a4d176<wbr>70530b1057</div><div><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">git submodule update --init --recursive</span><br></div><div><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">The last command will fail.  You can work around this by deleting tests/produtil/ush before the &quot;git checkout&quot; of the older version of NEMS.</span></div><div><br></div><div>I&#39;m about to commit a change with a better workaround for this git design (flaw).  I&#39;m going to move the produtil submodule to a new directory that does not exist in earlier revisions (tests/produtil/NCEPLIBS-<wbr>pyprodutil).  You can see the effect of this change by telling &quot;git clone&quot; to checkout the move-produtil branch:</div><div><br></div><div><div style="font-size:small;text-decoration-style:initial;text-decoration-color:initial">git clone NEMS -b move-produtil</div><div style="font-size:small;text-decoration-style:initial;text-decoration-color:initial">cd NEMS</div><div style="font-size:small;text-decoration-style:initial;text-decoration-color:initial">git submodule update --init --recursive</div><div style="font-size:small;text-decoration-style:initial;text-decoration-color:initial">git checkout <wbr>cee1f5cc2c50e089015c9251a4d176<wbr>70530b1057</div><div style="font-size:small;text-decoration-style:initial;text-decoration-color:initial"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">git submodule update --init --recursive</span><br></div><br class="m_2658542661763953825gmail-Apple-interchange-newline">You will get a warning about the <span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">tests/produtil/NCEPLIBS-<wbr>pyprodutil not being empty, and that directory will still exist, but everything will function as expected.</span></div><div><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div>There is one thing that still won&#39;t work after this change.  If you check out the revision that is presently the master of NEMS (the problematic one) then you won&#39;t be able to switch away from it without first doing an &quot;rm -rf tests/produtil/ush&quot;.  All other revisions will be fine.  <br></div><div><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">If this becomes a major issue for some people, I can retroactively edit that revision via a &quot;git rebase.&quot;  I would rather avoid that because it will cause problems for people who already have a clone on disk (git won&#39;t know the remote hash no longer matches the local one).  It will also lose commit history, which is less than ideal.</span></div><div><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Because we need this commit immediately, as in &quot;right this moment,&quot; for the FV3 GFS parallel work, we&#39;re going through an unusual test process:</span></div><div><br></div><div>1. The aforementioned git commands were run on Tide, Luna, Mars, Jet, Gaea, and Theia to ensure the workaround works.<br></div><div><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><div style="text-decoration-style:initial;text-decoration-color:initial">2. The NEMSfv3gfs &quot;fv3_control&quot; test was run on Jet.</div><br class="m_2658542661763953825gmail-Apple-interchange-newline"><div style="text-decoration-style:initial;text-decoration-color:initial">3. The full suite of NEMS regression tests is being run on Theia.<br></div></span></div><div><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">4. The NEMSfv3gfs regression test is being run on Luna (production WCOSS) by emc.glopara.  </span></div><div><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Gaea is skipped because of the data destruction issue.  Other WCOSS tests are skipped because we don&#39;t want to overuse the production whitespace.  We only run one test on Jet because hfv3gfs is near quota and thus the full suite of tests would probably fail.  Besides, nearly all of Jet is blocked with reservations, so the full suite may take a full day to get through.</span></div><div><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div>Sincerely,<br></div><div><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Sam Trahan</span></div></div>
</blockquote></div><br></div>