FMS1 Framework integration#1342
Conversation
Merge main to dev/gfdl
Created the new config_src directory tree structure, as agreed upon at https://github.com/NOAA-GFDL/MOM6/discussions/1286, to eventually accomodate the selection of different infrastructures. No .F90 files are changed but there are small changes to ac/configure.ac to accomodate the new structure while also allowing for the old target to use the old structure. All answers are bitwise identical, and all MOM6-examples and TC tests are passing.
Updated the MOM6/docs files and .gitlab-ci.yml to reflect the new config_src directory structure.
- Use a new branch of MRS in the gitlab pipelines
- The job within the gitlab pipeline gnu:ice-ocean-nolibs had a modified search path but a "," instead of a "/" led to al caps being compiled and thus failure.
This patch removes the AC_CHECK_FILE autoconf macro which assigns a default path to the MOM_memory.h file path. This path was defaulting back to the old directory, and was added to support the regression verification testing, but this is a regression problem with should be handled by the regression, not the autoconf configuration. This will produce a regression test fail, but it not a cause for concern.
Remove AC_CHECK_FILE for legacy MOM_memory.h
This patch removes two lines where the target build (used for regression testing) were using the active branch's configure.ac, which caused path mismatches. We now use our local autoconf configuration files. This patch also fixes a typo in the source code dependencies of the target repository. The AC_CHECK_FILE for the solo driver has also beed removed, for the same reason as the MOM_memory.h check. Some comments were also added or reformatted to undocumented flags.
Testing: Target uses local autoconf
Hallberg noaa gfdl fms2
|
I approve this PR. If this is for the whole consortium to evaluate, you should probably add other mentions. |
|
Thanks for the reminder, @kshedstrom. Could the others please review? |
|
@marshallward There are some directories naming changings, but there are no files adding/deleting or renaming, is that right ? |
|
@jiandewang Yes, that's correct. The new files were added in the previous PR to |
|
I approve this PR. |
|
@marshallward in EMC we are in final stage to merge your previous PR, so please bear me a bit delay on this PR. |
|
@jiandewang No hurry, please take as long as you need. |
@thanks for your understanding |
sanAkel
left a comment
There was a problem hiding this comment.
This PR can be merged. (No change in answers w.r.t. present version of GEOS coupled model with MOM6.)
If not already in place, I would also suggest/request an edit to the compile instructions at MOM6-examples: ocean-only, ice-ocean reflecting the reorganized directory structure.
|
@sanAkel Thanks. Updated instructions have been written but not posted. Preview is at https://github.com/NOAA-GFDL/MOM6-examples/wiki/Temp---new-Getting-Started |
|
@marshallward: works fine in UFS. |
|
OK, I will go ahead and merge this PR now. Modes which need to use the legacy FMS library should be able to continue doing so, and ought not need any other major changes to their build process. For those who need to upgrade to FMS2, we will start consolidating existing work into the FMS2 adapters and will update |
This pull request introduces the new
config_srclayout, which includes dedicated directories for the framework infrastructure, couplers, drivers, and memory preprocessing.Reviewers requested:
Existing build scripts with explicit paths to
config_srcare unlikely to work after this merge. This includes calls tomkmfor any compiler flags containing directories. Please carefully confirm that you are still able to build and run your models with this PR.The FMS1 implementation is now moved into
config_src/infra/FMS1, andsrcshould no longer contain any explicit calls to FMS.Couplers and drivers have been renamed and moved into the
driversdirectory. Many are now denoted with the_capsuffix, e.g.coupled_driver->FMS_capmct_driver->mct_capnuopc_driver->nuopc_capMOM_memory.hheaders are now moved into theconfig_src/memorydirectory.The documentation, build system, and verification tests paths have also been updated to reflect this change.
Also, the
targetbuild in the testing will now use its ownconfigure.acrather than the current repository. In particular, the current regression tests can now use the legacy layout, and future directory tree changes will not break the regression tests.Commits:
Contributors: