Hey Michael,<div><br></div><div>Just to clarify. Do you want to have a copy of the entire makefile in Makefile.in.CESM_OCN, just without the ifeq's for CESM?</div><div><br></div><div>The only problem I would have with this is the amount of effort to maintain all of the makefile we would need. Even with two, I think it's going to be difficult for developers to remember to updated both Makefile and Makefile.in.CESM_OCN when they make some change to Makefile.</div>
<div><br></div><div>Other than that issue, I don't see a reason that it couldn't happen like that. I don't really have a strong preference either way.</div><div><br></div><div>With regards to working with CAM, would you guys prefer to have the flag be COUPLED rather than CESM?</div>
<div><br></div><div>Thanks for the comments,</div><div>Doug</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Dec 4, 2012 at 12:04 PM, Michael Duda <span dir="ltr"><<a href="mailto:duda@ucar.edu" target="_blank">duda@ucar.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi, Doug.<br>
<br>
Since this will affect everyone, including our work here to implement<br>
MPAS-A as a dynamical core in CAM, I thought I'd bring this up with the<br>
larger group. The Makefile in the src directory (i.e., src/Makefile) of<br>
the branch is looking a bit tangled to me with all of the "ifeq"<br>
statements. As a potential solution, I'm wondering whether we could<br>
make use of include files, so src/Makefile looks something like:<br>
<br>
<br>
ifeq "$(CESM)" "true"<br>
<br>
include Makefile.in.CESM_OCN<br>
<br>
else<br>
<br>
#<br>
# Current contents of the Makefile<br>
#<br>
<br>
endif<br>
<br>
<br>
This would allow us the flexibility to do whatever we need to for MPAS-O<br>
and MPAS-A, while still keeping the Makefile for a stand-alone build<br>
looking clean. I'd imagined that, when building the MPAS-A dycore within<br>
CAM, we could add a little extra logic:<br>
<br>
<br>
ifeq "$(CESM)" "true"<br>
<br>
ifeq "$(CORE)" "ocean"<br>
include Makefile.in.CESM_OCN<br>
endif<br>
<br>
ifeq "$(CORE)" "nhyd_atmos"<br>
include Makefile.in.CESM_ATM<br>
endif<br>
<br>
else<br>
<br>
#<br>
# Current contents of the Makefile<br>
#<br>
<br>
endif<br>
<br>
<br>
Does this sound like a potentially viable approach? I think that<br>
splitting out the specifics for CESM and CAM builds could make it easier<br>
for other developers (and future users, potentially) to follow the build<br>
sequence and dependencies.<br>
<br>
Regards,<br>
Michael<br>
<div><div><br>
<br>
On Mon, Dec 03, 2012 at 01:25:19PM -0700, Doug Jacobsen wrote:<br>
> Hello All,<br>
><br>
> I have been working recently on coupling MPAS-O to CESM. I currently have<br>
> it setup to where MPAS build's in a suitable method for CESM, and the Ocean<br>
> model can run within CESM (without being forced).<br>
><br>
> Several changes were made that were needed to be able to have MPAS build<br>
> properly for inclusion in to CESM. I want to merge the branch I have been<br>
> working under to the trunk before putting more work on the forcing side.<br>
> This way, we have a checkpoint on the trunk of a working version of MPAS<br>
> with the CESM.<br>
><br>
> Also, I think I won't need to make any more changes to the shared areas of<br>
> MPAS after this commit.<br>
><br>
> The branch in question is branches/ocean_projects/cesm_coupling. I'll<br>
> commit it on Wednesday if I don't hear anything about it, but any questions<br>
> or comments are welcome.<br>
><br>
> Thanks!<br>
> Doug<br>
<br>
</div></div>> _______________________________________________<br>
> mpas-developers mailing list<br>
> <a href="mailto:mpas-developers@mailman.ucar.edu" target="_blank">mpas-developers@mailman.ucar.edu</a><br>
> <a href="http://mailman.ucar.edu/mailman/listinfo/mpas-developers" target="_blank">http://mailman.ucar.edu/mailman/listinfo/mpas-developers</a><br>
<br>
</blockquote></div><br></div>