<div dir="ltr"><div><div><div><div><div>Jun,<br><br></div>If we have a simple build system for the NEMS, like &quot;configure&quot; and &quot;make,&quot; then it should be easy for users to:<br><br></div>1. take out the build commands they need, and create their own compile.sh, and<br><br></div>2. put their modified compile.sh commands back in to the build system.<br><br></div>Sincerely,<br></div>Sam Trahan<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 7, 2017 at 11:00 AM, Jun Wang - NOAA Affiliate <span dir="ltr">&lt;<a href="mailto:jun.wang@noaa.gov" target="_blank">jun.wang@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"><div><div><div>Hi,<br><br></div>Here are my two cents.<br><br>NEMS needs to have a unified build system, which is cross 
applications. It will be general and can be complicate as it has to 
cover many coupled applications with arbitrary components specified. I assume NEMSAppBuilder is currently the build system, and it needs to be simplified, the GUI system is not working for me in many platforms, I would suggest to use a non-GUI system. <br><br>For some simple application, especially the standalone system such as fv3 and gsm, developers should be given the flexibility to build 
their own applications without using the complicated NEMS build system. A simple compile.sh with 4 or 5 lines can work well for standalone system, but may not be suitable for the coupled system. Of course the compile.sh are using same module and configuration file as NEMSAppBuilder. <br><br></div>Thanks.<span class="HOEnZb"><font color="#888888"><br><br><br></font></span></div><span class="HOEnZb"><font color="#888888">Jun<br></font></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 7, 2017 at 10:47 AM, 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"><div><div><div><div><div><div><div><div><div>Let me send something that various people have suggested:<br><br></div>cd NEMS/src<br></div>./configure something.appBuilder<br></div>source conf/<a href="http://modules.nems.sh" target="_blank">modules.nems.sh</a><br></div>make<br><br></div>The configure script and makefile would be updated to know how to build the components based on an appBuilder file.  The file would look slightly different than it does now, but would specify the same information.<br><br></div>If a GUI is built, it would be a wrapper around those three commands.  The internal logic in NEMSAppBuilder is just a wrapper around a far more complex build process and a list of appBuilder files.  It should be feasible to modify the script to use the new build system.  The only complicated part is figuring out how to specify arbitrary sets of components without an appBuilder file.  That feature of NEMSAppBuilder is not fully maintained right now, since it is rarely used, but would be very useful in the future.<br><br></div>However, if we are to maintain a text-based GUI, it should be based on a widget set that is always present, rather than having Gerhard install it on each machine.  The python curses module is one option since it is part of every Linux distribution and even OS/X.   <br><br></div>Sincerely,<br></div>Sam Trahan<br></div><div class="m_6015192384095787495HOEnZb"><div class="m_6015192384095787495h5"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 7, 2017 at 10:41 AM, Patrick Tripp <span dir="ltr">&lt;<a href="mailto:patrick.tripp@noaa.gov" target="_blank">patrick.tripp@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 bgcolor="#FFFFFF" text="#000000">
    Sam,<br>
    <br>
    I don&#39;t really need a GUI build system although I do use the
    NEMSAppbuilder and never had any major problems with it. I prefer
    using the non-interactive capability now.<br>
    A Cupid/Eclipse based GUI assumes these tools are installed on the
    systems and the needed network connections are available (e.g. NX,
    X11, etc.). This is something that has been problematic in the past.
    It also requires many of us to learn a new tool/build system if this
    is the only option. Do we really need all of the bells and whistles
    of Eclipse/Cupid, just to build? I think we should keep it as simple
    as possible. Whatever is used, it has to work with the coupled
    systems, multiple components. This was the reason for the
    NEMSAppbuilder in the first place.<span class="m_6015192384095787495m_-4135267651029372706HOEnZb"><font color="#888888"><br>
    <br>
    - Patrick</font></span><div><div class="m_6015192384095787495m_-4135267651029372706h5"><br>
    <br>
    <div class="m_6015192384095787495m_-4135267651029372706m_-7465082078529266760moz-cite-prefix">On 2/7/17 9:25 AM, Samuel Trahan - NOAA
      Affiliate wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">
        <div>
          <div>
            <div>Anning,<br>
              <br>
            </div>
            The &quot;configure and gmake&quot; no longer works after the atmos
            layer is removed.  Even while we had the atmos layer,
            &quot;configure and gmake&quot; only compiled with an atmosphere. 
            Each component has its own build system, and some of them
            are complicated to run.<br>
            <br>
          </div>
          One option is to make the &quot;configure and gmake&quot; more capable
          so that it CAN build the entire coupled system.  As for the
          GUI, it would be easy to make one once we have a new way of
          building the NEMS.  We could even have the &quot;NEMSAppBuilder&quot;
          look exactly like it did before (but with changes to to the
          appBuilder files).<br>
          <br>
          However, I don&#39;t think a text-based GUI is the right way to
          implement that.  This is a project, Cupid, to make a graphical
          IDE for all of NEMS.  It does more than just building the
          system.  It has is code analysis and code generation tools, as
          well as interactive profile analysis tools.  <br>
          <br>
          I think it would be better to use Cupid to provide the
          graphical front-end.   The NEMS repository would provide the
          back-end as a simple, easy to maintain, non-interactive build
          system of a more traditional nature.  Users that want extra
          flexibility can use Cupid&#39;s more powerful user interface.  The
          Eclipse-based Cupid system will be far more powerful than
          anything we can hack together in a text-based world.<br>
          <br>
        </div>
        <div>Sincerely,<br>
        </div>
        <div>Sam Trahan<br>
        </div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Tue, Feb 7, 2017 at 9:17 AM, Anning
          Cheng - NOAA Affiliate <span dir="ltr">&lt;<a href="mailto:anning.cheng@noaa.gov" target="_blank">anning.cheng@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">I still like the old way, configure and gmake
              in NEMS/src. It is good to have NEMSAppBuilder, but why
              not keep both? Is it possible? <br>
            </div>
            <div class="m_6015192384095787495m_-4135267651029372706m_-7465082078529266760HOEnZb">
              <div class="m_6015192384095787495m_-4135267651029372706m_-7465082078529266760h5">
                <div class="gmail_extra"><br>
                  <div class="gmail_quote">On Tue, Feb 7, 2017 at 9:07
                    AM, 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">
                        <div>
                          <div>
                            <div>
                              <div>Moorthi,<br>
                                <br>
                              </div>
                              That is the most common complaint.  I
                              tried to cover that in items #1 and #2 of
                              my &quot;feedback thus far&quot; list in the
                              previous email.  There are really two
                              aspects to the problem:<span><br>
                                <br>
                                1. It is difficult to navigate the 1900
                                line NEMSAppBuilder to figure out how to
                                change the build commands.  <br>
                                <br>
                                2. Some users want to be able to
                                manually build the NEMS without running
                                an overarching script.<br>
                                <br>
                              </span></div>
                            Ultimately, if there was a simpler
                            &quot;NEMSAppBuilder&quot; (problem #1) it would be
                            easy to pick out the few commands you need
                            to run manually (problem #2).<br>
                            <br>
                          </div>
                          Sincerely,<br>
                        </div>
                        Sam Trahan<br>
                      </div>
                      <div class="m_6015192384095787495m_-4135267651029372706m_-7465082078529266760m_-3558127779538848251HOEnZb">
                        <div class="m_6015192384095787495m_-4135267651029372706m_-7465082078529266760m_-3558127779538848251h5">
                          <div class="gmail_extra"><br>
                            <div class="gmail_quote">On Tue, Feb 7, 2017
                              at 9:04 AM, Shrinivas Moorthi <span dir="ltr">&lt;<a href="mailto:shrinivas.moorthi@noaa.gov" target="_blank">shrinivas.moorthi@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 text="#000000" bgcolor="#FFFFFF">
                                  <div class="m_6015192384095787495m_-4135267651029372706m_-7465082078529266760m_-3558127779538848251m_-2455481554263682770m_5791859763537675412moz-cite-prefix">I
                                    can&#39;t compile standalone GSM on
                                    wcoss.  How do I do it without
                                    blackbox (appbuilder)?<br>
                                    Thanks<br>
                                    Moorthi
                                    <div>
                                      <div class="m_6015192384095787495m_-4135267651029372706m_-7465082078529266760m_-3558127779538848251m_-2455481554263682770h5"><br>
                                        <br>
                                        On 02/07/2017 08:46 AM, Samuel
                                        Trahan - NOAA Affiliate wrote:<br>
                                      </div>
                                    </div>
                                  </div>
                                  <blockquote type="cite">
                                    <div>
                                      <div class="m_6015192384095787495m_-4135267651029372706m_-7465082078529266760m_-3558127779538848251m_-2455481554263682770h5">
                                        <div dir="ltr">
                                          <div>
                                            <div>
                                              <div>
                                                <div>
                                                  <div>
                                                    <div>
                                                      <div>
                                                        <div>
                                                          <div>Hi all,<br>
                                                          <br>
                                                          </div>
                                                          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?<br>
                                                          <br>
                                                          Some questions
                                                          to ponder:<br>
                                                          <br>
                                                        </div>
                                                        <div>- How
                                                          should the
                                                          build system
                                                          work
                                                          internally? 
                                                          Shell script? 
                                                          Make?  Cmake?<br>
                                                        </div>
                                                        <div><br>
                                                          - How should
                                                          you run the
                                                          build system? 
                                                          Shell script? 
                                                          Run &quot;make?&quot; 
                                                          Run a GUI?<br>
                                                        </div>
                                                        <div><br>
                                                        </div>
                                                        <div>- 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?<br>
                                                        </div>
                                                        <div><br>
                                                        </div>
                                                        Feedback thus
                                                        far:<br>
                                                        <br>
                                                      </div>
                                                      1. It is difficult
                                                      to navigate the
                                                      1900 line
                                                      NEMSAppBuilder to
                                                      figure out how to
                                                      change the build
                                                      commands.  <br>
                                                      <br>
                                                    </div>
                                                    2. Some users want
                                                    to be able to
                                                    manually build the
                                                    NEMS without running
                                                    an overarching
                                                    script.<br>
                                                    <br>
                                                  </div>
                                                  <div>3. Some users
                                                    want a simple
                                                    graphical interface
                                                    to select components
                                                    and build the NEMS. 
                                                    (Yes, there are
                                                    users that want
                                                    this.)<br>
                                                  </div>
                                                  <div><br>
                                                  </div>
                                                  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.<br>
                                                  <br>
                                                </div>
                                                5. The logic for
                                                building a component is
                                                in the NEMS framework
                                                level.  Any time a
                                                component&#39;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.<br>
                                                <br>
                                              </div>
                                              6.  The NEMS/src/configure
                                              script contains
                                              application-specific
                                              logic.  This also forces
                                              applications to use
                                              non-trunk versions of the
                                              NEMS.<br>
                                              <br>
                                            </div>
                                            Sincerely,<br>
                                          </div>
                                          Sam Trahan<br>
                                        </div>
                                        <br>
                                        <fieldset class="m_6015192384095787495m_-4135267651029372706m_-7465082078529266760m_-3558127779538848251m_-2455481554263682770m_5791859763537675412mimeAttachmentHeader"></fieldset>
                                        <br>
                                      </div>
                                    </div>
                                    <pre>______________________________<wbr>_________________
Ncep.list.nems.announce mailing list
<a class="m_6015192384095787495m_-4135267651029372706m_-7465082078529266760m_-3558127779538848251m_-2455481554263682770m_5791859763537675412moz-txt-link-abbreviated" href="mailto:Ncep.list.nems.announce@lstsrv.ncep.noaa.gov" target="_blank">Ncep.list.nems.announce@lstsrv<wbr>.ncep.noaa.gov</a>
<a class="m_6015192384095787495m_-4135267651029372706m_-7465082078529266760m_-3558127779538848251m_-2455481554263682770m_5791859763537675412moz-txt-link-freetext" href="https://www.lstsrv.ncep.noaa.gov/mailman/listinfo/ncep.list.nems.announce" target="_blank">https://www.lstsrv.ncep.noaa.g<wbr>ov/mailman/listinfo/ncep.list.<wbr>nems.announce</a><span class="m_6015192384095787495m_-4135267651029372706m_-7465082078529266760m_-3558127779538848251m_-2455481554263682770HOEnZb"><font color="#888888">
</font></span></pre><span class="m_6015192384095787495m_-4135267651029372706m_-7465082078529266760m_-3558127779538848251m_-2455481554263682770HOEnZb"><font color="#888888">
    </font></span></blockquote><span class="m_6015192384095787495m_-4135267651029372706m_-7465082078529266760m_-3558127779538848251m_-2455481554263682770HOEnZb"><font color="#888888">
    

    <p>

    </p>
    <pre class="m_6015192384095787495m_-4135267651029372706m_-7465082078529266760m_-3558127779538848251m_-2455481554263682770m_5791859763537675412moz-signature" cols="72">-- 
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:<a href="tel:%28301%29%20683-3718" value="+13016833718" target="_blank">(301)683-3718</a></pre>
  </font></span></div>


______________________________<wbr>_________________

Ncep.list.nems.announce mailing list

<a href="mailto:Ncep.list.nems.announce@lstsrv.ncep.noaa.gov" target="_blank">Ncep.list.nems.announce@lstsrv<wbr>.ncep.noaa.gov</a>

<a href="https://www.lstsrv.ncep.noaa.gov/mailman/listinfo/ncep.list.nems.announce" rel="noreferrer" target="_blank">https://www.lstsrv.ncep.noaa.g<wbr>ov/mailman/listinfo/ncep.list.<wbr>nems.announce</a>


</blockquote></div>
</div>
</div></div>
______________________________<wbr>_________________

Ncep.list.nems.announce mailing list

<a href="mailto:Ncep.list.nems.announce@lstsrv.ncep.noaa.gov" target="_blank">Ncep.list.nems.announce@lstsrv<wbr>.ncep.noaa.gov</a>

<a href="https://www.lstsrv.ncep.noaa.gov/mailman/listinfo/ncep.list.nems.announce" rel="noreferrer" target="_blank">https://www.lstsrv.ncep.noaa.g<wbr>ov/mailman/listinfo/ncep.list.<wbr>nems.announce</a>


</blockquote></div>
</div>
</div></div></blockquote></div>
</div>


<fieldset class="m_6015192384095787495m_-4135267651029372706m_-7465082078529266760mimeAttachmentHeader"></fieldset>
<pre>______________________________<wbr>_________________
Ncep.list.nems.announce mailing list
<a class="m_6015192384095787495m_-4135267651029372706m_-7465082078529266760moz-txt-link-abbreviated" href="mailto:Ncep.list.nems.announce@lstsrv.ncep.noaa.gov" target="_blank">Ncep.list.nems.announce@lstsrv<wbr>.ncep.noaa.gov</a>
<a class="m_6015192384095787495m_-4135267651029372706m_-7465082078529266760moz-txt-link-freetext" href="https://www.lstsrv.ncep.noaa.gov/mailman/listinfo/ncep.list.nems.announce" target="_blank">https://www.lstsrv.ncep.noaa.g<wbr>ov/mailman/listinfo/ncep.list.<wbr>nems.announce</a>
</pre>

</blockquote>
</div></div></div><br>______________________________<wbr>_________________<br>
Ncep.list.nems.announce mailing list<br>
<a href="mailto:Ncep.list.nems.announce@lstsrv.ncep.noaa.gov" target="_blank">Ncep.list.nems.announce@lstsrv<wbr>.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.g<wbr>ov/mailman/listinfo/ncep.list.<wbr>nems.announce</a><br>
<br></blockquote></div><br></div>
</div></div><br>______________________________<wbr>_________________<br>
Ncep.list.nems.announce mailing list<br>
<a href="mailto:Ncep.list.nems.announce@lstsrv.ncep.noaa.gov" target="_blank">Ncep.list.nems.announce@lstsrv<wbr>.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.g<wbr>ov/mailman/listinfo/ncep.list.<wbr>nems.announce</a><br>
<br></blockquote></div><br></div>
</div></div></blockquote></div><br></div>