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

Compiling CTSM for WRF with LILAC on other HPC than Cheyenne #1498

Closed
ziu1986 opened this issue Sep 23, 2021 · 1 comment
Closed

Compiling CTSM for WRF with LILAC on other HPC than Cheyenne #1498

ziu1986 opened this issue Sep 23, 2021 · 1 comment

Comments

@ziu1986
Copy link

ziu1986 commented Sep 23, 2021

Brief summary of bug

When compiling CTSM with LILAC on a HPC other than Cheyenne, e.g. in Norway, the following error occurs:
ERROR: ESMFMKFILE not found None

General bug information

CTSM version you are using: ctsm5.1.dev054

Does this bug cause significantly incorrect results in the model's science? No

Configurations affected: [?]

Details of bug

The offending line is found in WRF-CTSM/CTSM/components/cmeps/cime_config/buildnml.
There, the ESMF software version is checked by looking at the value of the environment variable ESMFMKFILE.
This variable is not set automatically when loading the ESMF module on the Norwegian cluster.
ESMF_LIBDIR was set correctly in the corresponding config_compiler.xml created for the machine, e.g.
<ESMF_LIBDIR>$(EBROOTESMF)/lib</ESMF_LIBDIR>.
EBROOTESMF points to the installation directory of ESMF on that machine.

Workaround: Set ESMFMKFILE by hand before compiling.

Probable solution: The check in WRF-CTSM/CTSM/components/cmeps/cime_config/buildnml should instead check for ESMF_LIBDIR set in the config_compilers.xml.

@billsacks
Copy link
Member

In config_machines you can add something like this:

  <environment_variables comp_interface="nuopc">
    <env name="ESMFMKFILE">/Users/sacks/ESMF/esmf8.2.0b18/lib/libO/Darwin.gfortranclang.64.mpich3.default/esmf.mk</env>
  </environment_variables>

billsacks added a commit to billsacks/ctsm that referenced this issue Dec 7, 2021
ESMF_LIBDIR is deprecated; the preferred method for specifying the path
to ESMF is now to use ESMFMKFILE. And the latter is needed for a check
in the CMEPS buildnml; see also
ESCOMP#1498
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

No branches or pull requests

2 participants