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

Samuel Trahan - NOAA Affiliate samuel.trahan at noaa.gov
Tue Aug 28 01:47:03 UTC 2018

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


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


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

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

*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.

Sam Trahan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://www.lstsrv.ncep.noaa.gov/pipermail/ncep.list.nems.announce/attachments/20180827/aefbad76/attachment.html 

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