<div dir="ltr"><div><div><div><div><div>Jun,<br><br></div>If we have a simple build system for the NEMS, like "configure" and "make," 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"><<a href="mailto:jun.wang@noaa.gov" target="_blank">jun.wang@noaa.gov</a>></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"><<a href="mailto:samuel.trahan@noaa.gov" target="_blank">samuel.trahan@noaa.gov</a>></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"><<a href="mailto:patrick.tripp@noaa.gov" target="_blank">patrick.tripp@noaa.gov</a>></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'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 "configure and gmake" no longer works after the atmos
layer is removed. Even while we had the atmos layer,
"configure and gmake" 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 "configure and gmake" 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 "NEMSAppBuilder"
look exactly like it did before (but with changes to to the
appBuilder files).<br>
<br>
However, I don'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'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"><<a href="mailto:anning.cheng@noaa.gov" target="_blank">anning.cheng@noaa.gov</a>></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"><<a href="mailto:samuel.trahan@noaa.gov" target="_blank">samuel.trahan@noaa.gov</a>></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 "feedback thus far" 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
"NEMSAppBuilder" (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"><<a href="mailto:shrinivas.moorthi@noaa.gov" target="_blank">shrinivas.moorthi@noaa.gov</a>></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'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 "make?"
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'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>