Add MPAS Atmosphere NUOPC build and test infrastructure#1417
Conversation
|
@mgduda @scrasmussen @uturuncoglu @anntsay I've drafted a PR for the NUOPC cap infrastructure. I'd like for you to take a look before I mark this "ready" for review, in case you have any major revisions. I've rebased the work so that it builds on the MPAS_ESMF="external" work recently merged. I've also split the work into two commits, one for the NUOPC build infrastructure and stub cap, and a second one for the regression testing infrastructure. Please let me know if this work is on the right track. The quicker we move forward the faster we can get to executing the running standalone (uncoupled) MPAS-Atmosphere cap, followed by coupled MPAS-Atmosphere caps. All follow on NUOPC work should include appropriate tests in |
|
This PR worked for me for Dan's testcase. The mpas-hydro-develop branch I've been working on builds and I'm debugging things so it produces identical results at runtime with an MPAS idealized testcase. Once that is fixed, I'll rebase off this branch and use this testing framework to make sure it builds and runs. This looks good to me right now! And I'll be able to give better feedback once I've used it to add a testcase. |
|
@mgduda @scrasmussen @uturuncoglu |
* add installation locations for MPAS_PREFIX, MPAS_LIBDIR, MPAS_MODDIR * enabled NUOPC library with on, ON, 1, TRUE, true * disabled CORE_model build for NUOPC=true * disabled internal ESMF initialize and finalize for NUOPC=true * add nuopc folder to core_atmosphere with stub cap * add core, driver, framework, and external *.o to libmpas_nuopc.a
|
@mgduda @scrasmussen @scrasmussen @anntsay The testing infrastructure can be cherry-picked from this branch We'll rebase our following iterations once this work is merged. |
Overview
The MPAS Atmosphere NUOPC cap infrastructure is designed to build an MPAS NUOPC library and Fortran module file for use within a NUOPC driven system. The initial work is an MPAS Atmosphere NUOPC cap "stub", which does not execute the MPAS Atmosphere. The stub provides entry point for initializing, running, and finalizing the future MPAS Atmosphere NUOPC model. Follow on work will include execution of the MPAS Atmosphere model from within the NUOPC cap along with adding coupling fields to the import and export states.
Testing infrastructure is implemented on a separate branch: https://github.com/NCAR/MPAS-Model-NUOPC-dev/tree/nuopc/testing
Configuration options
MPAS_PREFIX: Installation prefix used to determine location for
libandmodinstallation directoriesMPAS_LIBDIR: Full path to the
libinstallation directory - location for installation MPAS NUOPC libraryMPAS_MODDIR: Full path to the
modinstallation directory - location for installation of MPAS NUOPC Fortran module filesNUOPC: Generate NUOPC library for the desired CORE. Options are
true|false(default)Testing
Checkout the testing work from this branch
https://github.com/NCAR/MPAS-Model-NUOPC-dev/tree/nuopc/testing
Testing requires a system and environment capable of building and running MPAS-A with these additional requirements
cd testing_and_setup/nuopc/atmosphere ./mpas_nuopc_atm_test.pyFor detailed instructions see the README
https://github.com/NCAR/MPAS-Model-NUOPC-dev/tree/nuopc/testing/testing_and_setup/nuopc/atmosphere