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

Samuel Trahan - NOAA Affiliate samuel.trahan at noaa.gov
Wed Aug 29 17:00:02 UTC 2018

Hi all,

We're close to having a solution to the aforementioned problem.  The
details are uncertain at this time, but we'll have some kind of joint
EMC-DTC fork of FMS in github.  It will track the GFDL FMS as closely as
possible, while making it portable enough to use on all RDHPCS machines and
common clusters elsewhere.  The NEMS applications will point to the EMC-DTC
fork.  Management is ruminating on details like exactly where it will be,
the choice of code manager, the commit process, and how the changes are
sent back to GFDL; we expect to have a solution soon.  These may sound like
mundane details, but having a poor code management process causes major
problems if it goes on for too long.

The commit will go in soon, but it may be slightly later than intended.
We'll still try to get it in by Wednesday afternoon, but it may be later in
the week if decisions on code management practices take a lot more
discussion time.  We do expect the commit to be in by the end of next week

I'll send out another update when I have more information.

Sam Trahan

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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://www.lstsrv.ncep.noaa.gov/pipermail/ncep.list.nems.announce/attachments/20180829/203cf740/attachment.html 

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