Quick guide for LLNL AIMS4 or ACME1 (v1)
If you’re pressed for time, just follow this quick guide to
run e3sm_diags
on aims4
or acme1
.
Log on to
aims4
:
ssh -Y aims4.llnl.gov
or acme1
:
ssh -Y acme1.llnl.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.
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 the entire Latitude-longitude contour set
9. Copy and paste the below code into myparams.py
using your
favorite text editor. Adjust any options as you like.
reference_data_path = '/p/cscratch/acme/data/obs_for_e3sm_diags/climatology/'
test_data_path = '/p/cscratch/acme/data/test_model_data_for_acme_diags/climatology/'
test_name = '20161118.beta0.FC5COSP.ne30_ne30.edison'
sets = ["lat_lon"]
backend = 'mpl' # 'mpl' is for the matplotlib plots.
results_dir = 'lat_lon_demo' # name of folder where all results will be stored
multiprocessing = True
num_workers = 16 # Number of processes to use
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.
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.
Running all of the diagnostics sets
12. To run all of the diagnostic sets that this software supports, open myparams.py
and remove the sets
parameter. If should look like this:
reference_data_path = '/p/cscratch/acme/data/obs_for_e3sm_diags/climatology/'
test_data_path = '/p/cscratch/acme/data/test_model_data_for_acme_diags/climatology/'
test_name = '20161118.beta0.FC5COSP.ne30_ne30.edison'
# When commented out, this is ignored.
# We can also just delete this line.
# sets = ["lat_lon"]
backend = 'vcs' # 'mpl' is for the matplotlib plots.
results_dir = 'lat_lon_demo' # name of folder where all results will be stored
multiprocessing = True
num_workers = 16 # Number of processes to use
13. Now run and view the results. This will take some more time, so if you can,
change the num_workers
parameter to use more processors so it can be faster!
e3sm_diags -p myparams.py
firefox --no-remote lat_lon_demo/viewer/index.html &
Advanced: Running custom diagnostics
The following steps are for ‘advanced’ users, who want to run custom diagnostics. So most users will not run the software like this.
14. By default, all of the E3SM diagnostics are ran for the sets
that
we defined above. This takes some time, so we’ll create our own
diagnostics to be ran. Run the command
touch mydiags.cfg
and paste the code below in mydiags.cfg
. Check defining parameters
for all available parameters.
[#]
case_id = "GPCP_v2.2"
variables = ["PRECT"]
ref_name = "GPCP_v2.2"
reference_name = "GPCP (yrs1979-2014)"
seasons = ["ANN", "DJF"]
regions = ["global"]
test_colormap = "WhiteBlueGreenYellowRed.rgb"
reference_colormap = "WhiteBlueGreenYellowRed.rgb"
diff_colormap = "BrBG"
contour_levels = [0.5, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16]
diff_levels = [-5, -4, -3, -2, -1, -0.5, 0.5, 1, 2, 3, 4, 5]
[#]
case_id = "SST_CL_HadISST"
variables = ["SST"]
ref_name = "HadISST_CL"
reference_name = "HadISST/OI.v2 (Climatology) 1982-2001"
seasons = ["ANN", "MAM"]
contour_levels = [-1, 0, 1, 3, 6, 9, 12, 15, 18, 20, 22, 24, 26, 28, 29]
diff_levels = [-5, -4, -3, -2, -1, -0.5, -0.2, 0.2, 0.5, 1, 2, 3, 4, 5]
Run the custom diagnostics.
e3sm_diags -p myparams.py -d mydiags.cfg
Open the following webpage to view the results.
firefox --no-remote lat_lon_demo/viewer/index.html &
More Options
You can modify the
sets
parameters inmyparams.py
to run multiple sets. Possible options are:'zonal_mean_xy', 'zonal_mean_2d', 'lat_lon, 'polar', 'cosp_histogram'
. If thesets
parameter is not defined, all of the aforementioned sets are ran. Ex:sets = ['zonal_mean_xy', 'zonal_mean_2d', 'lat_lon', 'polar', 'cosp_histogram']
Diagnostics can be ran in parallel with multi-processing. In
myparams.py
, addmultiprocessing = True
and setnum_workers
to the number of workers you want to use. Ifnum_workers
is not defined, it will automatically use 4 processors processes by default on a machine. Ex:# myparams.py # In addition to your other parameters, include: multiprocessing = True num_workers = 4
Below figure shows a scalability test running the package for all lat_lon diagnostics on ACME1. Courtesy of Sterling Baldwin.