<div dir="ltr"><div>Given EMC&#39;s role in implementing and ruggedizing collaborators&#39;  code for production standards, it is essential that we not depend</div><div>on outside repositories which may or more likely will not be maintained in accordance with our needs.  NCO</div><div>should note the requirement to get a critical component of FV3 from an external repository every time they build</div><div>including for emergency bug mitigations (in the dark of night) and apart from any other concerns (<b>And there are plenty of others</b>) NCO and PMB should</div><div>absolutely veto using the GFDL repository for a production critical (and especially for our flagship dynamic core!) code.</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Aug 27, 2018 at 9:47 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>We have a proposed commit that is urgently needed, but may have major negative impacts to a lot of users.  Please read this email and comment.  Our comment period ends at noon Tuesday, September 4.  The commit, if accepted, will happen Wednesday, September 5.</div><div><br></div><div><b><font size="4">The Commit: Overview</font></b></div><div><br></div><div>In NEMS apps, the FMS exists within both the FV3 and MOM6 repositories; hence some apps have two copies of FMS.  We have a proposed commit that will move the FMS up one level so there is only one FMS per app.  The FMS we&#39;ve chosen is the one from the GFDL repository.  The technical details of the changes, are largely inconsequential; the main issue is the choice of repositories.<br></div><div><br></div><div><b><font size="4">Consequences</font></b></div><div><br></div><div><div style="font-size:small;text-decoration-style:initial;text-decoration-color:initial">These are the consequences of choosing GFDL&#39;s FMS repository.</div><div style="font-size:small;text-decoration-style:initial;text-decoration-color:initial"><br></div><div style="font-size:small;text-decoration-style:initial;text-decoration-color:initial">1. Portability changes to the FMS will be lost permanently because GFDL rejected them.  This means the FV3 GFS will not be usable except with certain versions of the Intel compiler.  This has been confirmed.</div><br class="m_-8597909606411827988gmail-Apple-interchange-newline">2. Recent and upcoming FMS bug fixes will be lost because they are not in the GFDL repository.  </div><div><br></div><div>3. In general, any FV3 changes will have to wait several weeks if they need changes to FMS.</div><div><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">Items #2 and #3 are unavoidable.  GFDL FMS has a large userbase and lengthy test process.  They will, out of necessity, have a long delay before commits.</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="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><b><font size="4">Alternatives</font></b></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">I know of three alternatives to our FMS repository problem.  Any of these may require funding or tasking changes, in or from NOAA:</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">1. GFDL handles the FV3 GFS as a special case, maintaining a branch of FMS for the FV3 GFS, and applying changes within 2-3 days.  GFDL ports FMS to other compilers.</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">2. DTC maintains a fork of FMS which all NEMS apps use.  DTC maintains any portability changes and regularly pulls changes from GFDL FMS.  They receive any changes needed for NEMS coupling and resolve conflicts as needed.</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">3. EMC maintains the aforementioned fork.</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">Note that DTC is presently tasked with porting the FMS, and has successfully ported it to other platforms and maintained an FMS repository.</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="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><b><font size="4">The Branches</font></b></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">The changes can be found in the &quot;fms-component&quot; branches of the NEMSfv3gfs and EMC_FV3-MOM6-CICE5 repositories.  These will be updated later this week when incoming FV3 changes are available.  We will be sure to test before committing to the relevant branches.</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">When testing this yourself, note that the EMC_FV3-MOM6-CICE5 warm start test will not reliably reproduce itself; this is a known issue that is unrelated to this commit.  Jet baselines are out-of-date, so you cannot test there.  All other tests should pass for both apps on all supported platforms.</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><font size="4"><b>The Commit: Details</b></font></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">Overview of the changes:</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">1. FMS is removed from the build system in MOM6 and FV3</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">2. FMS is added at the app level from git://<a href="http://github.com/NOAA-GFDL/FMS" target="_blank">github.com/NOAA-GFDL/FMS</a><wbr>.  The &quot;git&quot; url makes this submodule read-only.  That is a workaround for problems in the installation of &quot;git&quot; on WCOSS Cray and Dell which make github unreachable via https.  This &quot;git&quot; installation problem has been a known issue for several months and remains unresolved, so such a workaround is necessary.</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">3. The FMS/fv3gfs directory is updated to be able to build FMS outside of FV3.  This change was accepted by GFDL in their repository.</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 NEMSAppBuilder is updated to build FMS.  It is treated the same way as a coupled component in the build system.</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">5. Any appBuilder files must include FMS before FV3 or MOM6 in their component list.</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">6. The NEMSfv3gfs tests/compile.sh is updated to build FMS before FV3.</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">Sincerely,</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">Sam Trahan</span></div></div>
<br>______________________________<wbr>_________________<br>
Ncep.list.nems.announce mailing list<br>
<a href="mailto:Ncep.list.nems.announce@lstsrv.ncep.noaa.gov">Ncep.list.nems.announce@<wbr>lstsrv.ncep.noaa.gov</a><br>
<a href="https://www.lstsrv.ncep.noaa.gov/mailman/listinfo/ncep.list.nems.announce" rel="noreferrer" target="_blank">https://www.lstsrv.ncep.noaa.<wbr>gov/mailman/listinfo/ncep.<wbr>list.nems.announce</a><br>
<br></blockquote></div><br></div>