Quick guide for OLCF Rhea (v1)¶
Running the software on Rhea shares similar steps as running
on other machines. The path of datasets are different for
different file systems. To run
e3sm_diags
on
Rhea
(which shares the same file system as
Titan
, and
Rhea
is more suitable for data analysis).
-
Log on to
rhea
:
ssh -Y rhea.ccs.ornl.gov
2. If you don’t have Anaconda installed, follow this guide.
-
Make sure you are using
bash
bash
Installing and creating an environment¶
The steps below detail how to create your own environment
with
e3sm_diags
. However, it is possible to use the
E3SM Unified Environment
instead. If you decide to use the unified environment,
please do so and skip to step 5 (Note, as of April 4th,
2018, the lastest version of unified-env is 1.1.3).
-
Allow Anaconda to download packages, even with a firewall.
conda config --set ssl_verify false
binstar config --set verify_ssl False
Update Anaconda.
conda update conda
Get the yml file to create an environment.
wget https://raw.githubusercontent.com/E3SM-Project/e3sm_diags/master/conda/e3sm_diags_env.yml
-
Remove any cached Anaconda packages. This will ensure that you always get the latest packages.
conda clean --all
8. Use Anaconda to create a new environment with
e3sm_diags
installed. Tip: You can change the name
of the environment by adding
-n
new_env_name
to the end of
conda
env
create
...
.
conda env create -f e3sm_diags_env.yml
source activate e3sm_diags_env
Running all sets of diagnostics¶
9. Copy and paste the below code into
myparams.py
using your favorite text editor. Adjust any options as you
like.
reference_data_path = '/ccs/proj/cli115/acme_diags_data/obs_for_e3sm_diags/climatology/'
test_data_path = '/ccs/proj/cli115/acme_diags_data/test_model_data_for_acme_diags/'
test_name = '20161118.beta0.FC5COSP.ne30_ne30.edison'
#sets = ["lat_lon"] # To run only lat_lon countour diags
#without specifing sets, sets = ['zonal_mean_xy', 'zonal_mean_2d', 'lat_lon', 'polar', 'cosp_histogram']
diff_title = 'Model - Obs'
backend = 'mpl' # 'vcs' is for vcs plotting backend.
results_dir = 'lat_lon_demo' # name of folder where all results will be stored
Run the diags.
e3sm_diags -p myparams.py
-
Open the following webpage to view the results.
firefox --no-remote lat_lon_demo/viewer/index.html &
-
The
--no-remote
option uses the Firefox installed on this machine, and not the one on your machine.
Above example runs the package in serial. Instead, it can be run much faster using multi-processing, either in an interactive session on compute nodes, or as a batch job.
Adding below lines to
myparams.py
:
multiprocessing = True
num_workers = 16 # Number of processes to use
Tip: Once you’re on the webpage for a specific plot, click on the ‘Output Metadata’ drop down menu to view the metadata for the displayed plot.
-
Running that command allows the displayed plot to be recreated. Changing any of the options will modify the resulting figure.
Interactive session on compute nodes¶
First, request an interactive session with a single node (16 cores) for an half hour (running this example should take much less than this):
qsub -I -A charging_project_name -q name_of_queue -V -l nodes=1 -l walltime=00:30:00
Once the session is available, launch E3SM Diags:
source activate e3sm_diags_env
e3sm_diags -p myparams.py
Batch job¶
Alternatively, you can also create a script and submit
it to the batch system. Copy and paste the code below
into a file named
diags.pbs
and change the following:
-
Change
charging_project_name
to a valid value -
Change
$YOUR_WORKING_DIR
to your working directory -
Get the path of your Anaconda binary
-
Run
which conda
, and get a path like so:/ccs/home/zhang40/anaconda3/envs/e3sm_diags_env/bin/conda
-
Copy everything from the beginning to ‘anaconda2’ (or ‘anaconda3’) put it in:
export PATH="PASTE_HERE/bin:$PATH"
An example path is:
export PATH="/ccs/home/zhang40/anaconda3/bin:$PATH"
-
#!/bin/bash -l
# PLEASE CHANGE: charging_project_name
#PBS -A charging_project_name
#PBS -N e3sm_diags_test
#PBS -j oe
#PBS -l walltime=0:30:00,nodes=1
# PLEASE CHANGE: the line below to your valid path
export PATH="/ccs/home/zhang40/anaconda3/bin:$PATH"
source activate e3sm_diags_env
# PLEASE CHANGE: $YOUR_WORKING_DIR to a valid directory
cd $YOUR_WORKING_DIR
e3sm_diags -p myparams.py
And then submit it
qsub diags.pbs