Skip to content
This repository has been archived by the owner on Oct 23, 2020. It is now read-only.

Moab instance for mpas_ocean #1456

Open
wants to merge 17 commits into
base: ocean/develop
Choose a base branch
from

Conversation

iulian787
Copy link

As part of coupler modernization, (CMDV project), mpas mesh will be instanced using MOAB data structures, which will later help with tempestremap and online coupling

it is using data retrieved from blocks, with mpas_pool routines; currently it is tested for the case when there is one block per task (mesh partitioned in advance using gpmetis)

MOAB mesh is instanced when core_init is finished
There are HAVE_MOAB guards for relevant code; MOAB needs to be built in advance, and MOAB_PATH needs to be defined as an environment variable for standalone build/run (same way PIO and PNETCDF, NETCDF env vars are defined)

tested on gfortran compiler

similar to PNETCDF;
it needs to have MOAB environment defined to
the installation point
(such as $(MOAB)/lib/moab.make exists, includes are
at $(MOAB)/include)
MOAB should be build with at least hdf5, parallel
because it is c++, we also add -lstdc++ to the link line
Maybe there is a better way
only if MOAB env var is defined
TODO:
 when can we read vertex coordinates more efficiently?

also, need to release memory allocated for reading the vertices
use "HAVE_MOAB" and  "MOAB_PATH", instead of USE_MOAB and MOAB
PIO , NETCDF are still showing the path
also, clear memory for vertex fields that were created for MOAB
also, use mesh pool
bootstrap is not changed anymore
will make sure MOAB paths are defined correctly
some ghost vertices are duplicated
and not resolved, as resolving nvolves only
boundary vertices
before, halo vertices were created, and they were not necessary
also, the correct number of vertices are recovered
for atmosphere mesh, this was implicit because
I called ghosting;
ghosting was not necessary, but update mesh info is
mpas ocean will use MOAB_MPAS_INSIDE_E3SM if inside E3SM
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants