[Ncep.list.nems.announce] Comments Requested: Moving FMS out of MOM6 and FV3 repos

Rocky Dunlap - NOAA Affiliate rocky.dunlap at noaa.gov
Tue Aug 28 14:41:32 UTC 2018

A question here is how the distributed nature of Git, including local forks
and pull requests, can be used to both meet the strict accessibility
guidelines of NCO and at the same time promote EMC returning its ruggedized
code back to GFDL and the rest of the community using FMS.


On Tue, Aug 28, 2018 at 7:37 AM George Vandenberghe - NOAA Affiliate <
george.vandenberghe at noaa.gov> wrote:

> Given EMC's role in implementing and ruggedizing collaborators'  code for
> production standards, it is essential that we not depend
> on outside repositories which may or more likely will not be maintained in
> accordance with our needs.  NCO
> should note the requirement to get a critical component of FV3 from an
> external repository every time they build
> including for emergency bug mitigations (in the dark of night) and apart
> from any other concerns (*And there are plenty of others*) NCO and PMB
> should
> absolutely veto using the GFDL repository for a production critical (and
> especially for our flagship dynamic core!) code.
> On Mon, Aug 27, 2018 at 9:47 PM, Samuel Trahan - NOAA Affiliate <
> samuel.trahan at noaa.gov> wrote:
>> Hi all,
>> 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.
>> *The Commit: Overview*
>> 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'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.
>> *Consequences*
>> These are the consequences of choosing GFDL's FMS repository.
>> 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.
>> 2. Recent and upcoming FMS bug fixes will be lost because they are not in
>> the GFDL repository.
>> 3. In general, any FV3 changes will have to wait several weeks if they
>> need changes to FMS.
>> 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.
>> *Alternatives*
>> I know of three alternatives to our FMS repository problem.  Any of these
>> may require funding or tasking changes, in or from NOAA:
>> 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.
>> 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.
>> 3. EMC maintains the aforementioned fork.
>> Note that DTC is presently tasked with porting the FMS, and has
>> successfully ported it to other platforms and maintained an FMS repository.
>> *The Branches*
>> The changes can be found in the "fms-component" 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.
>> 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.
>> *The Commit: Details*
>> Overview of the changes:
>> 1. FMS is removed from the build system in MOM6 and FV3
>> 2. FMS is added at the app level from git://github.com/NOAA-GFDL/FMS.
>> The "git" url makes this submodule read-only.  That is a workaround for
>> problems in the installation of "git" on WCOSS Cray and Dell which make
>> github unreachable via https.  This "git" installation problem has been a
>> known issue for several months and remains unresolved, so such a workaround
>> is necessary.
>> 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.
>> 4. The NEMSAppBuilder is updated to build FMS.  It is treated the same
>> way as a coupled component in the build system.
>> 5. Any appBuilder files must include FMS before FV3 or MOM6 in their
>> component list.
>> 6. The NEMSfv3gfs tests/compile.sh is updated to build FMS before FV3.
>> Sincerely,
>> Sam Trahan
>> _______________________________________________
>> Ncep.list.nems.announce mailing list
>> Ncep.list.nems.announce at lstsrv.ncep.noaa.gov
>> https://www.lstsrv.ncep.noaa.gov/mailman/listinfo/ncep.list.nems.announce
> _______________________________________________
> Ncep.list.nems.announce mailing list
> Ncep.list.nems.announce at lstsrv.ncep.noaa.gov
> https://www.lstsrv.ncep.noaa.gov/mailman/listinfo/ncep.list.nems.announce
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://www.lstsrv.ncep.noaa.gov/pipermail/ncep.list.nems.announce/attachments/20180828/2f64bab4/attachment-0001.html 

More information about the Ncep.list.nems.announce mailing list