Installing CESM2 on Perlmutter

Jingyi zhuo

Jingyi zhuo
New Member
Hi all, I'm trying to install CESM2.1.4 on the DOE machine Perlmutter (CPU nodes). I've updated the config_machines.xml and config_batch.xml files. However, I'm unsure how to modify the config_compilers.xml to fit Perlmutter-cpu.

After using the revised config_machines.xml, config_batch.xml, and the default config_compilers.xml from CESM GitHub, I passed create_newcase and case.setup successfully, but I got stuck at the case.build step. The error file (gptl.bldlog.230806-134251.txt) is also attached.

Could there be an issue with the default config_compilers.xml settings? Any help would be appreciated!!
 

Attachments

jedwards

CSEG and Liaisons
Staff member
This is using the gnu compiler, you need to add these to FFLAGS:
-fallow-argument-mismatch -fallow-invalid-boz
 

Jingyi zhuo

Jingyi zhuo
New Member
Thanks for help! I can compile the codes now. But I got "Permission denied" issue related to the inputdata folder. The folder that I cannot open is '/global/cfs/cdirs/ccsm1/inputdata/atm/cam/chem/emis/CMIP6_emissions_1750_2015_2deg/'

Could you further provide some guidance on this? Or can you help open up the permissions for the "/global/cfs/cdirs/ccsm1/"?

Ty!!
 

jedwards

CSEG and Liaisons
Staff member
If you can open permissions on your case directory I can update inputdata for you. Also Noel Keen has an intel compiler port that will
probably run much faster than gnu does.
 

jacob_stu_allen

Jacob Stuivenvolt-Allen
New Member
Hello Jingyi and jedwards,

I'm attempting to do the same (but with CESM2.1.3) - but I've never edited the config_compliers.xml before. Can you clarify the syntax and location at which "-fallow-argument-mismatch -fallow-invalid-boz" needs to be added to the config_compilers.xml?

If possible, I'd also appreciate tips on how to update the inputdata for CESM 2.1.3.

Thanks in advance!
Jacob
 

jedwards

CSEG and Liaisons
Staff member
First cesm2.1.3 is deprecated - please use cesm2.1.4

Second as I've already stated in this thread you probably want to use the intel compiler rather than gnu on perlmutter.

To add these flags to config_compilers.xml add the lines:
<compiler MACH="xxxx" COMPILER="gnu">
<FFLAGS>
<append> -fallow-argument-mismatch -fallow-invalid-boz </append>
</FFLAGS>
</compiler>

replace xxxx with the name of your machine.
 

jacob_stu_allen

Jacob Stuivenvolt-Allen
New Member
Thanks jedwards - I'm working on the intel compiler, and case.build is failing when building the cism component. I've attached my machine_config.xml file along with the glc.bldlog.

The first error reads:
error: call to undeclared library function 'isalnum' with type 'int (int)'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]

Any help is much appreciated!
 

Attachments

jacob_stu_allen

Jacob Stuivenvolt-Allen
New Member
I see, thank you!

The build is now failing when attempting to build CESM, with many errors related to "undefined reference to `netcdf_mp_nf90*". I have taken steps from this other discussion (errors ("undefined reference to `netcdf_mp_nf90** ") after submitting cases) to edit the config_compilers.xml file to include <append> $SHELL{${NETCDF_FORTRAN_PATH}/bin/nf-config --flibs} </append>.

I'm still getting an undefined reference error however. Attached are my config_machines.xml and config_compilers.xml along with the cesm.bldlog.
 

Attachments

Back
Top