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

Change E3SM to use cmake macro file system #4088

Merged
merged 4 commits into from
Sep 10, 2021
Merged

Conversation

jgfouca
Copy link
Contributor

@jgfouca jgfouca commented Sep 9, 2021

This is a big change for E3SM but should have no impact on other models and did not require big changes to CIME code.

This PR lays the groundwork for E3SM leaving the config_compilers.xml/BuildTools.configure behind for good, replacing that system with a Cmake-based cache file system that can, if needed, be used to generate a Makefile macro when needed (for some sharedlibs).

I will lay out detail documentation for this change when I create the corresponding PR in E3SM that activates these new macros.

Test suite: scripts_regression_tests (both with and without new macros in the host repo)
Test baseline:
Test namelist changes:
Test status: [bit for bit, roundoff, climate changing]

Fixes #3287
Fixes #3446
Fixes #3341
Fixes #2965

User interface changes?:

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

…macros

* origin/master:
  Remove e3sm assertion
  Fix scripts_regression_tests on mappy for e3sm
  Bump pillow in /tools/statistical_ensemble_test/pyCECT/docs
  fix typo
  update the test_schedualer to reflect default driver change
  Fix an issue in inputdata when no appropriate server is found
  remove requirement for datamodel in case
  if nuopc and any datamodel add a cdeps directory
  fix output for container
  fix issue with detecting cimeroot
  fix containter CIME_OUTPUT_ROOT
  Initial changes to config_compilers/config_machines for container w/ GNU
  update for new cray compiler version
  fix test
  update modules and build flags on cori
@jgfouca jgfouca self-assigned this Sep 9, 2021
replace("CPPDEFS := ", "CPPDEFS := $(CPPDEFS) ").\
replace("SLIBS := ", "SLIBS := $(SLIBS) ")

with open(os.path.join(caseroot, "Macros.make"), "w") as fd:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

pylint is complaining unless encoding is added to open statements.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jedwards4b , both my pylint and the CI test machine OK'd this file. Can you paste the pylint warning you are getting?

@jedwards4b
Copy link
Contributor

It's coming from pylint 2.10 used in travis-ci and is described here https://pylint.pycqa.org/en/latest/whatsnew/2.10.html

Added unspecified-encoding: Emitted when open() is called without specifying an encoding

@jgfouca
Copy link
Contributor Author

jgfouca commented Sep 9, 2021

@jedwards4b , thanks, I will fix that. How come I'm seeing "All checks have passed" here on GitHub?

@jedwards4b
Copy link
Contributor

I think that the travis.ci were turned off in cime and turned on in cmeps and travis is the only one using this new version of pylint. So you probably didn't need to change anything yet.

@jgfouca
Copy link
Contributor Author

jgfouca commented Sep 10, 2021

@jedwards4b , I'm going to leave it as is then. I grepped around and we have tons of open 's without encoding. We will likely need to just disable this warning.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants