forked from E3SM-Project/E3SM
-
Notifications
You must be signed in to change notification settings - Fork 7
Use EdgeMask to handle boundary edges #234
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
Closed
brian-oneill
wants to merge
6,178
commits into
E3SM-Project:master
from
brian-oneill:omega/boundary-edge-masks
Closed
Use EdgeMask to handle boundary edges #234
brian-oneill
wants to merge
6,178
commits into
E3SM-Project:master
from
brian-oneill:omega/boundary-edge-masks
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
... to 1fde6df29e11bc2508535293f3c4c8203c9cb347 Fixes: 1) Fix ERR test for E3SM Changes: 1) Create env_postprocessing.xml in case root 2) make compset names case insensitive but retain user prefered case 3) safe_copy: Use /bin/cp as last resort 4) update python minimum to 3.8 and update cprnc module. 5) Adds --compiler argument to query_config 6) Allow blessing if test only failed GENERATE [BFB]
… (PR E3SM-Project#7168) Ideally we have nested parallelism in these pre/post process kernels. Chatting with @ndkeen, there's potential for a decent perf improvement (update with timings later) as pre/post process could be up to 50% of total P3 run time. [BFB]
If all processes register a tracer with "NoPreference", the tracer will be both dynamics and shoc advected. Also, moves tracer consistency check to AtmosphereProcessGroup. [BFB]
This way, we can parse the generated log in unit tests, to ensure the expected hashes are generated
Avoid clashes when runnint npX in parallel
- Ensure decomp offsets type *is* PIO_Offset - Use PIMPL to avoid including pio.h in header
Avoid using shared_ptr for a dim offset, checking if it's null to determine if the dim is decomposed. Instead, simply store a bool flag
Improves readability and conciseness
Updates:
- default to gpu builds with oneapi-ifxgpu
- default to MPI-on-device with MPIR_CVAR_ENABLE_GPU=1 in GPU runs
and MPI-on-host with MPIR_CVAR_ENABLE_GPU=0 in CPU runs
Remove duplicates, invalid flags and fix bld errors
Chrysalis is a threaded testing platform and there were three processes that needed thread syncing in order to produce consistant results. There are fixes in both eamxx and mam4xx and changes to the mam4xx interface require both to be updated.
Merge branch 'bartgol/eamxx/io-decomp-upgrade' into next (PR E3SM-Project#7175) Main change: allow our IO layer to output decomposed variables where the decomposition is not on the slowest-striding dimension. Minor changes: - use structured binding in eamxx_scorpio_interface.cpp - remove implicit assumption that PIO_Offset is 64 bit: it probably always will be, but no need to hard code assumptions. - be more clear/explicit when marking a dim as decomposed: use a bool to mark it as such, rather than relying on whether the shared ptr of the offsets is null or not... [BFB]
…ode' (PR E3SM-Project#7173) If all processes register a tracer with "NoPreference", the tracer will be both dynamics and shoc advected. Also, moves tracer consistency check to AtmosphereProcessGroup. [BFB]
…is-version-docs Update Polaris version and fix dependencies In this PR I updated the polaris version listed in the docs from 0.7.0 to 0.8.0. I also fixed an issue where the omega dependencies incorrectly listed sphinx-multiversion despite it not being used for the documentation.
Modifies error behavior for Omega Config and downstream dependencies
We want to allow pages to start with H2
Now that there are currently no warnings, let's make any future warnings result in errors in PRs.
…to-docs Clean up the Docs and add Aurora This merge includes : * adding Aurora to list of parmetis paths * a fix and some clean-up to the EOS design doc * suppressing a warning about pages starting with H2 headers that we are fine with * make warnings in the docs now trigger errors in CI (since all warnings are now gone!)
…nd-bottom-drag Add wind forcing and bottom drag tendency terms
…ns from boundary edges
…om boundary edges
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR allows Omega to properly run on meshes with boundary edges.
Updates the initialization of the HorzMesh member array EdgeMask to set values on boundary edges equal to 0, and adds EdgeMask to tendency terms and auxiliary variables to nullify computations on boundary edges. Some of these changes will likely be temporary, to be replaced by setting KMin and KMax ranges to skip over computations on boundary edges similar to how many boundaries are handled in MPAS.
Ran ctest successfully on pm-cpu (intel), pm-gpu (gnu), frontier cpu (craycray), and frontier gpu (craycray-mphipcc). Changes introduced in this PR produced successful results for the barotropic gyre and global wind-forced tests in the comments of #219
Checklist