-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add shared ocean framework for spherical convergence tests #119
Add shared ocean framework for spherical convergence tests #119
Conversation
TestingAll 4 cosine bell tests have been run successfully on Chrysalis with Intel and OpenMPI with this branch. |
53bfc6e
to
f815e98
Compare
f815e98
to
63d09c9
Compare
I'm keeping this in draft mode while I work on the |
63d09c9
to
34fb2e7
Compare
@xylar Since you already have a bit of clean-up in this PR, can you also change "visualizing" to "analyzing" in this line?
|
Sure, I can take care of that. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@xylar I've gotten far enough along in my use of this capability in the sphere_transport tests to be reasonable confident that we don't need any other changes urgently. Once you add the namelist replacement capability and config option for the time to evaluate convergence as I mentioned, I think this is good to go.
df31c30
to
b78b27b
Compare
@cbegeman, sorry of the delay. I was considering trying to fix config options for shared steps before this goes in, but that doesn't seem like a good idea at this point. The changes may be fairly large and this PR is needed for both Please take a look and make sure everything has been updated as you had requested. |
All 4 cosine bell test cases are still passing after these changes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@xylar Thanks for making those changes! Go for it.
The developer can lose control of whether config options take precedence over others because the file get added before the `configure()` method is called.
d2b00f6
to
f639d42
Compare
Hmm, some cosine bell changes snuck into #123 on a rebase. They were intended for this branch but will do no harm coming from that one instead, it's just a little confusing. |
Thanks very much for the review and discussion, @cbegeman! |
This merge adds some shared framework for spherical convergence tests with constant resolution meshes like
cosine_bell
and soongeostrophic
and the varioussphere_transport
tests.A new
SphericalConvergenceForward
parent class does most of the work involved in forward runs for convergence tests, including determining the approximate number of cells in the mesh (for constraining required resources), computing a time step based on the mesh resolution, and setting the run duration and output interval based on a config option.A set of common (standardized) config options in the
spherical_convergence
section helps support this approach.The cosine bell tests have been updated to use the shared framework, and the documentation as also been updated.
We no longer automatically add a task's config options to the
config
object -- this has to be done inconfigure()
. Cosine bell was the only test so far that relied on this functionality and it did not work quite as expected. It is better to do it manually and control the order in which config options are added from different sources.Checklist
api.md
) has any new or modified class, method and/or functions listedTesting
comment in the PR documents testing used to verify the changes