Skip to content
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

Use of optional .exclude files for selective exclusion during build #4180

Merged
merged 3 commits into from
Feb 17, 2022

Conversation

lizziel
Copy link
Contributor

@lizziel lizziel commented Feb 11, 2022

As part of the coupling between CESM and GEOS-Chem, Thibaud Fritz
(@fritzt) added functionality of optional .exclude files to list files in the
sub-tree that do not need to be compiled. This is useful for coupling the
GEOS-Chem chemistry within CESM since some files contained in the
GEOS-Chem repository, such as the advection modules, are not used in
CESM. Using .exclude enables the GEOS-Chem source folder to be
unmodified from its Github repository.

The .exclude files are read from mkSrcfiles during creation of
Srcfiles. Any directory in Filepath could have a local .exclude
file containing filenames to exclude across its subdirectories.

An example of using .exclude for coupling GEOS-Chem within CESM
is here at CAM PR #484.

This PR supersedes PR #3974. It is currently draft until I I get
to running the tests and updating docs as needed. Feedback welcome!

I looked at CIME documentation in doc/source/ but did not see any docs that need updating for this feature.

Test suite: in progress
Test baseline:
Test namelist changes:
Test status: [bit for bit, roundoff, climate changing]

Fixes #3366

User interface changes?: No

Update gh-pages html (Y/N)?: No

fritzt and others added 3 commits February 11, 2022 11:09
(1) Might need some refinement at some later time

Signed-off-by: Thibaud Fritz <fritzt@mit.edu>
Signed-off-by: Thibaud Fritz <fritzt@mit.edu>
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
@lizziel
Copy link
Contributor Author

lizziel commented Feb 16, 2022

@jedwards4b, I followed the documentation for running tests at https://github.com/ESMCI/cime/wiki/Testing. Heads up that the page is out-of-date and I had to search for the new location of scripts_regression_tests.py. If I should be running other tests let me know.

@lizziel
Copy link
Contributor Author

lizziel commented Feb 16, 2022

I am getting errors like this when I run the test suite. Is this expected?

Finished CREATE_NEWCASE for test TESTRUNPASS_P1.f19_g16_rx1.A.cheyenne_intel in 0.178603 seconds (FAIL). [COMPLETED 2 of 3]
    Case dir: /glade/scratch/elundgren/scripts_regression_test.20220216_121919/TESTRUNPASS_P1.f19_g16_rx1.A.cheyenne_intel.fake_testing_only_20220216_122448-20220216_122448
    Errors were:
        ERROR: Directory /glade/scratch/elundgren/scripts_regression_test.20220216_121919/TESTRUNPASS_P1.f19_g16_rx1.A.cheyenne_intel.fake_testing_only_20220216_122448-20220216_122448 does not appear to be a valid case directory

@jedwards4b
Copy link
Contributor

Nightly test results are here:
https://my.cdash.org/index.php?project=CIME

Looks like we currently have one failing test.

@jedwards4b jedwards4b self-assigned this Feb 17, 2022
@jedwards4b jedwards4b merged commit 2bb0dee into ESMCI:master Feb 17, 2022
lizziel added a commit to lizziel/HEMCO_CESM that referenced this pull request Sep 12, 2022
This update should be used with CIME updates submitted in:
ESMCI/cime#4180
ESMCI/cime#4302

Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
jgfouca added a commit that referenced this pull request Sep 12, 2022
…uild_capability

Expand capability to exclude files from build using .exclude

Updates in this PR expand the capability of using an optional .exclude
file to list files in the sub-tree to skip during compilation. That
feature was originally submitted and merged as #4180 for use with
GEOS-Chem in CESM. A limitation of the feature was recently
discovered when a second .exclude file was added for use with HEMCO.
The content of only one of the files was excluded during build.

This PR features the following improvements in using .exclude:

Using more than one .exclude file in CESM is now possible.
Skipping one file when more than one file of the same name exists
is now possible.
It is important to note that .exclude must now contain the relative
path of the file to exclude. Previously only the filename
was present regardless of where it existed in the sub-tree.

Test suite: none yet
Test baseline:
Test namelist changes:
Test status: [bit for bit, roundoff, climate changing]

Fixes [CIME Github issue #] No associated issue

User interface changes?: N

Update gh-pages html (Y/N)?: N
lizziel added a commit to geoschem/CAM that referenced this pull request Sep 16, 2022
Previously file only contained filenames. This update should be used with
CIME updates submitted in:
ESMCI/cime#4180
ESMCI/cime#4302

Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Addition of a srcExclude file for selective compiling
3 participants