[Ncep.list.nems.announce] Feedback requested on replacing the NEMS build system.

Gerhard Theurich theurich at sourcespring.net
Tue Feb 7 17:35:40 UTC 2017


Sam,

I understand. Just that it makes building a unified system that spans 
atm-only to complex coupled systems very difficult. Further there is 
also a mandate to the larger community. And it wasn't like the old 
(pre-AppBuilder) system was all that great. E.g. folks could not just 
take it to a different system and expect to get it to build unless you 
had good knowledge of the system - and that was just for atm-only. 
Considering all of the different coupled systems at EMC, the atm-only 
development, and the larger community (e.g. represented in the SAWG), I 
am honestly scared of how the unanimous consent will look like (if even 
achievable). But I know you know all that, too.

-Gerhard

On 02/07/2017 09:21 AM, Samuel Trahan - NOAA Affiliate wrote:
> Gerhard,
>
> The ideas behind the NEMSAppBuilder are fundamentally sound.
> Unfortunately, the underlying implementation of it and the surrounding
> system (conf files, module files, nems/src/configure) make it hard to
> develop and maintain.  The largest problem is not a technical issue, it
> is a problem with the EMC corporate culture.
>
> The atmospheric standalone developers refuse to use or maintain the
> NEMSAppBuilder, which is making it difficult for the coupled model
> developers to update their atmospheric component.  Unfortunately, EMC
> has no command structure (except on paper) and developers are free to do
> as they please.  That means we need unanimous consent about the NEMS
> build and test systems in order to move forward.
>
> Sincerely,
> Sam Trahan
>
> On Tue, Feb 7, 2017 at 11:27 AM, Gerhard Theurich
> <theurich at sourcespring.net <mailto:theurich at sourcespring.net>> wrote:
>
>     Hi,
>
>     Just for the immediate, I am wondering what the problem is with
>     NEMSAppBuilder on WCOSS? Has anybody looked into it? I thought Patrick
>     was building the coupled system on WCOSS, so it does surprise me that
>     Moorthi cannot get GSM standalone working.
>
>     Most important for the long term that I see is a _maintained_ system.
>     Any system that is not maintained will break, especially if it has to
>     cover a wide range of complex cases that keep changing (e.g. new
>     components coming in). A maintained system will be able to change
>     according to changing needs.
>
>     One fundamental concept of the NEMSAppBuilder was to provide a single
>     place where the build recipes of all the various components are kept.
>     That is why it is part of the NEMS infrastructure: any app that uses a
>     specific model component (even if it is a different revision of that
>     component) should be able to just tell the AppBuilder that it wants to
>     build that certain component, not have to know how to do this. (In the
>     current AppBuilder this is implemented via the build_xxx() routines in
>     the script. E.g. build_cice() will tell the system how to build CICE.
>     These routines are typically just a few lines long and use a few
>     variables to get the job done.)
>
>     Another basic concept was that the configuration for an app should be
>     provided by a very simple file, telling the app builder what components
>     are to be built and linked together. Those are the *.appBuilder files.
>     Obviously the implementation details, including how maybe a GUI is
>     implemented could change, but I do think the fundamental concepts and
>     how they are divided between app layer and NEMS layer are still valid.
>
>     -Gerhard
>
>     On 02/07/2017 06:04 AM, Shrinivas Moorthi wrote:
>      > I can't compile standalone GSM on wcoss.  How do I do it without
>      > blackbox (appbuilder)?
>      > Thanks
>      > Moorthi
>      >
>      > On 02/07/2017 08:46 AM, Samuel Trahan - NOAA Affiliate wrote:
>      >> Hi all,
>      >>
>      >> The NEMS build system, NEMSAppBuilder, is causing a lot of problems,
>      >> especially for the atmospheric model developers.  We plan on
>     replacing
>      >> the build system.  What do you want out of the new build
>     system?  What
>      >> do you dislike about the old one?
>      >>
>      >> Some questions to ponder:
>      >>
>      >> - How should the build system work internally?  Shell script?  Make?
>      >> Cmake?
>      >>
>      >> - How should you run the build system?  Shell script?  Run "make?"
>      >> Run a GUI?
>      >>
>      >> - When do we replace the build system?  Do we do it now, and risk
>      >> breaking coupled systems? Do we wait until we can test it with the
>      >> coupled applications?
>      >>
>      >> Feedback thus far:
>      >>
>      >> 1. It is difficult to navigate the 1900 line NEMSAppBuilder to
>     figure
>      >> out how to change the build commands.
>      >>
>      >> 2. Some users want to be able to manually build the NEMS without
>      >> running an overarching script.
>      >>
>      >> 3. Some users want a simple graphical interface to select components
>      >> and build the NEMS.  (Yes, there are users that want this.)
>      >>
>      >> 4. Sometimes, components compile with options that are incompatible
>      >> with the linking options.  This is because each component has
>     its own
>      >> configuration system.  This causes problems, as we saw with FV3.
>      >>
>      >> 5. The logic for building a component is in the NEMS framework
>     level.
>      >> Any time a component's build system changes, the NEMS framework
>     has to
>      >> be updated, breaking applications that use older versions of the
>      >> component. This forces applications to use non-trunk versions of
>     the NEMS.
>      >>
>      >> 6.  The NEMS/src/configure script contains application-specific
>      >> logic.  This also forces applications to use non-trunk versions
>     of the
>      >> NEMS.
>      >>
>      >> Sincerely,
>      >> Sam Trahan
>      >>
>      >>
>      >> _______________________________________________
>      >> Ncep.list.nems.announce mailing list
>      >> Ncep.list.nems.announce at lstsrv.ncep.noaa.gov
>     <mailto:Ncep.list.nems.announce at lstsrv.ncep.noaa.gov>
>      >>
>     https://www.lstsrv.ncep.noaa.gov/mailman/listinfo/ncep.list.nems.announce
>     <https://www.lstsrv.ncep.noaa.gov/mailman/listinfo/ncep.list.nems.announce>
>      >
>      >
>      > --
>      > Dr. Shrinivas Moorthi
>      > Research Meteorologist
>      > Global Climate and Weather Modeling Branch
>      > Environmental Modeling Center / National Centers for
>     Environmental Prediction
>      > 5830 University Research Court - (W/NP23), College Park MD 20740 USA
>      > Tel:(301)683-3718
>      >
>      >
>      >
>      > _______________________________________________
>      > Ncep.list.nems.announce mailing list
>      > Ncep.list.nems.announce at lstsrv.ncep.noaa.gov
>     <mailto:Ncep.list.nems.announce at lstsrv.ncep.noaa.gov>
>      >
>     https://www.lstsrv.ncep.noaa.gov/mailman/listinfo/ncep.list.nems.announce
>     <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
>     <mailto:Ncep.list.nems.announce at lstsrv.ncep.noaa.gov>
>     https://www.lstsrv.ncep.noaa.gov/mailman/listinfo/ncep.list.nems.announce
>     <https://www.lstsrv.ncep.noaa.gov/mailman/listinfo/ncep.list.nems.announce>
>
>


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