Cori
Cori is a supercomputer supported by the US Department of Energy (DOE). Like Shaheen, Cori is also a Cray XC40. Unlike Shaheen, since NCAR and DOE partner for Earth System Model Computational Infrastructure, CESM is well-tested and supported on Cori.
Thus DAReS staff use Cori as a “trusted machine” to provide configuration and benchmarking hints for the CESM port on Shaheen.
Login instructions
Multi-factor authentication
Cori uses multi-factor authetication (MFA) which can be configured by logging onto Iris and clicking on the MFA tab in the navigation menu.
SSH
Cori is accessed via SSH:
ssh <username>@cori.nersc.gov
Ben’s username is johnsonb
.
File system
The NERSC file system has:
home
: a global storage system that is mounted everywhere.echo $HOME /global/homes/j/johnsonb
scratch
: a lustre file system for temporary, high-performance storage.echo $scratch /global/cscratch1/sd/johnsonb
common
: a high performance platform for installing software and compiling code. On compute nodes, common is read-only.community
: Large, permanent, medium-performance file system for sharing project files. For the DAReS project, this directory isproject/projectdirs/m3857
.archive (HPSS)
: A high capacity tape archive intended for long term storage of inactive and important data
Project
The DAReS project on Cori is m3857
. The project usage can be found by
typing cmnquota <proj_name>
.
cmnquota m3857
-------- Space (GB) ------- ------ Inode --------
Project Usage Quota Percent Usage Quota Percent
------- ----- ----- ------- ----- ------- -------
m3857 0 10 0 1 1000000 0
CESM
The CESM build requires an XML libary to be installed.
Error
ERROR: Command /global/project/projectdirs/m3857/cesm2_1_3/components/clm/bld/build-namelist failed rc=2
out=
err=Can't locate XML/LibXML.pm in @INC (you may need to install the XML::LibXML module)
You need to install this library via cpan:
cpan XML::LibXML
Result: PASS
SHLOMIF/XML-LibXML-2.0207.tar.gz
Tests succeeded but one dependency not OK (Alien::Libxml2)
SHLOMIF/XML-LibXML-2.0207.tar.gz
[dependencies] -- NA
Edit config_machines.xml
Certain libraries have changed and must be updated in order to get CESM to run.
vim /project/projectdirs/m3857/cesm2_1_3/cime/config/cesm/machines/config_machines.xml
Update the following libraries:
Old |
New |
---|---|
cray-mpich/7.7.8 |
cray-mpich/7.7.10 |
cray-netcdf-hdf5parallel/4.6.3.0 |
cray-netcdf-hdf5parallel/4.6.3.2 |
cray-hdf5-parallel/1.10.5.0 |
cray-hdf5-parallel/1.10.5.2 |
cray-parallel-netcdf/1.11.1.0 |
cray-parallel-netcdf/1.11.1.1 |
Installation
CESM is installed on Cori in the project’s community directory.
cd /project/projectdirs/m3857
git clone https://github.com/escomp/cesm.git cesm2_1_3
cd cesm2_1_3
git checkout cesm2.1.3
./manage_externals/checkout_externals
cd cime/scripts
./create_newcase --case /project/projectdirs/m3857/cases/FHIST_BGC.f19_f19_mg17.001.e3 --machine cori-haswell --res f19_f19_mg17 --project m3857 --walltime 1:00:00 --ninst 3 --compset HIST_CAM60_CLM50%BGC-CROP_CICE%PRES_DOCN%DOM_MOSART_SGLC_SWAV --multi-driver --run-unsupported
cd /project/projectdirs/m3857/cases/FHIST_BGC.f19_f19_mg17.001.e3
./case.setup
./case.build
Error with LibXml.pm
Error
ERROR: Command /global/project/projectdirs/m3857/cesm2_2_0/components/clm/bld/build-namelist failed rc=2
out=
err=Can't locate XML/LibXML.pm in @INC (you may need to install the XML::LibXML module) (@INC contains: /global/project/projectdirs/m3857/cesm2_2_0/components/clm/bld /global/project/projectdirs/m3857/cesm2_2_0/components/clm/bld /global/project/projectdirs/m3857/cesm2_2_0/cime/scripts/Tools/../../utils/perl5lib /global/project/projectdirs/m3857/cesm2_2_0/components/clm/bld /usr/common/software/darshan/perl-packages/perl-Pod-LaTeX/lib/ /usr/lib/perl5/site_perl/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.26.1 /usr/lib/perl5/vendor_perl/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/vendor_perl/5.26.1 /usr/lib/perl5/5.26.1/x86_64-linux-thread-multi /usr/lib/perl5/5.26.1 /usr/lib/perl5/site_perl) at /global/project/projectdirs/m3857/cesm2_2_0/cime/scripts/Tools/../../utils/perl5lib/Config/SetupTools.pm line 5.
BEGIN failed--compilation aborted at /global/project/projectdirs/m3857/cesm2_2_0/cime/scripts/Tools/../../utils/perl5lib/Config/SetupTools.pm line 5.
Compilation failed in require at /global/project/projectdirs/m3857/cesm2_2_0/components/clm/bld/CLMBuildNamelist.pm line 410