-
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
Port sphere transport test group for ocean components #104
Port sphere transport test group for ocean components #104
Conversation
TestingAll new test cases have been run on compy with intel, impi. Tests have been rerun on perlmutter with gnu, mpich. |
I really support the idea of using common steps for the 4 if possible. Let me know how that goes and if I can help. |
cbb87e5
to
71566c5
Compare
71566c5
to
ba398d6
Compare
@xylar I am using common steps. I just realized on opening this pr that I forgot to git remove the other files. It should be more clear now. |
ba398d6
to
d2ff30d
Compare
@xylar I'm marking this in progress because I haven't gotten around to the docs or doc strings. However, since I'm out until Aug 9 and this PR is quite large, I'm be happy to get feedback on what I've done so far. I did a lot of clean-up relative to the compass version, and it still feels like quite a lot more clean-up could happen (particularly in the common subroutines). I'm getting a bit of clean-up fatigue so I'd also welcome help with this if you feel up for it! |
I have 2 commits with some pretty significant reorganization on my version of this branch. If you're good with them, you could cherry-pick them: The caveat is that I haven't had a chance to test them yet. I will hopefully manage that before you come back. |
@xylar Thanks for making those changes. I skimmed and the overall idea looks great. Do you want to test out those changes when you have a chance and then push those commits to my fork? You should have permission. I won't have time before I leave. If you don't get to it, I'll test when I get back next Wednesday. |
f12ed79
to
5b850bc
Compare
# ds_out = ds[['tracer1', 'tracer2', 'tracer3']].isel(Time=-1, | ||
# nVertLevels=0) | ||
# ds_out = remapper.remap(ds_out) | ||
# ds_out.to_netcdf('remapped_final.nc') | ||
# plot_global(lonCell, latCell, | ||
# ds.tracer1.values, | ||
# colormap_section='rotation_2d_viz', | ||
# out_filename='tracer1.png', config=config, | ||
# plot_land=False) | ||
# plot_global(lonCell, latCell, | ||
# ds.tracer2.values, | ||
# colormap_section='rotation_2d_viz', | ||
# out_filename='tracer2.png', config=config, | ||
# plot_land=False) | ||
# plot_global(lonCell, latCell, | ||
# ds.tracer3.values, | ||
# colormap_section='rotation_2d_viz', | ||
# out_filename='tracer3.png', config=config, | ||
# plot_land=False) |
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.
This should be put in an if
statement, commented back in or removed.
@cbegeman, with my clean up and bug fixes, all 8 test cases seem to be passing on Chrysalis. All 4 initial normal velocity fields look visually identical to their compass counterparts in Paraview. So I think this is just waiting on a small amount of additional code clean-up (see above) and the docstrings (mostly done) and documentation. Should be very close to merging when you come back. |
@xylar Thanks for catching the normal velocity scaling error! Before I write up the docs, maybe we should chat about whether it makes sense to combine these tests with the |
Yes, I totally agree that they should be combined. Let's chat about that tomorrow. |
Yes, certainly! I can't think of anything else off the top of my head besides the analysis step. If you want to wait a day or two, I could rebase this PR on #119 and see if anything comes up. If not, you can proceed with merging #119 (when I finish my review). |
5b850bc
to
ba41d17
Compare
ba41d17
to
1116b8c
Compare
f38307e
to
8d0a0e7
Compare
@cbegeman, the issue I was seeing in #104 (comment) wasn't related to this PR except that this PR happened to trigger the issue. I fixed it in #138 and am no longer seeing it in my testing when I did a test merge of this branch with When I run all 16 tasks in a suite, I'm seeing that the mapping and viz steps slow down substantially over the course of the suite. I have seen behavior like this with cosine bell but it never got as bad because there are simply fewer tasks. I have absolutely no idea what this is caused by, maybe some kind of a memory issue, but I hope that switching to Anyways, I'm running now with only the taks without viz, since there doesn't seem to be any trouble with the tasks with viz other than that they run more and more slowly as the suite goes on. If all goes well, I'll fix the one little issue I pointed out above in #104 (comment) and approve. |
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.
Exciting! I'm seeing a failure due to too-low convergence in the icos/nondivergent_2d
test. I assume that's expected, though it's interesting that that implies the icos
is converging more slowly than the qu
since they use the same threshold, right?
All the rest are passing:
0:04:20 PASS ocean/spherical/icos/rotation_2d
0:02:16 FAIL ocean/spherical/icos/nondivergent_2d
0:02:17 PASS ocean/spherical/icos/divergent_2d
0:02:18 PASS ocean/spherical/icos/correlated_tracers_2d
0:07:20 PASS ocean/spherical/qu/rotation_2d
0:04:13 PASS ocean/spherical/qu/nondivergent_2d
0:04:10 PASS ocean/spherical/qu/divergent_2d
0:04:11 PASS ocean/spherical/qu/correlated_tracers_2d
As I mentioned, the viz works fine if you run tasks individually but there seems to be some kind of a memory leak or other performance issue that accumulates as many are run in the same suite.
@cbegeman, thanks for the tremendous effort on this one! Feel free to merge as soon as CI passes and you're happy with the state of the branch. |
@xylar Can you post the convergence rate you're getting for icos/nondivergent_2d? I tried to set the convergence rate to the lowest of the two convergence rates so that all tests pass, so I'll just update the threshold. |
I'm seeing:
|
6a6a09b
to
0e4f866
Compare
@xylar Thanks for your review! I fixed the convergence rate for that one case and merged. |
This PR ports the sphere_transport test group from compass.
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