Skip to content

Instantly share code, notes, and snippets.

View zshaheen's full-sized avatar

Zeshawn Shaheen zshaheen

View GitHub Profile
@zshaheen
zshaheen / travis_to_conda.md
Last active May 28, 2021 18:15
How to Setup Automatic Uploads to Anaconda from Travis CI in 15 minutes

How to Setup Automatic Uploads to Anaconda from Travis CI in 15 minutes

TL;DR: Edit .travis.yaml to install Anaconda and to run conda_upload.sh after testing. Edit meta.yaml to take in the environmental variables $VERSION and $CONDA_BLD_PATH. Create conda_upload.sh which sets the needed environmental variables, builds the tar archive, and uploads it to Anaconda. Finally edit some stuff on your Anaconda and Travis CI account so they can talk.

Intro

The following steps will detail how to automatically trigger Anaconda builds and uploads from Travis CI. This will only upload successful builds in the master branch and if there are multiple commits in a single day, it'll only keep the latest one. Both of these settings can easily be changed.

Edit .travis.yaml

First, edit .travis.yml so that it installs Anaconda.

install:
@zshaheen
zshaheen / installing-and-running-slurm.md
Last active January 24, 2019 01:38
Installing and running Slurm on greyworm and other clusters

Installing and running Slurm on greyworm and other clusters

This page will specifically detail how to install and run Slurm on the greyworm cluster at LLNL. These instructions can be adapted to work on other clusters with other nodes.

In the current configuration, aims4.llnl.gov is the head, while greyworm[1-8].llnl.gov are the compute nodes. Note: The steps here are for the current configuration of aims4 and greyworm[1-8]. The configuration might change in the future.

A Brief Intro to Slurm

Slurm is a job scheduler used to run jobs on supercomputers and clusters.

@zshaheen
zshaheen / github_release.png
Last active June 13, 2019 22:58
How to Prepare a Release for the E3SM Diagnostics Package
github_release.png
@zshaheen
zshaheen / timeseries_input_e3sm_diags.md
Last active August 22, 2018 22:06
Testing Timeseries Input with E3SM Diagnostics

Testing Timeseries Input with E3SM Diagnostics on ACME1/AIMS4

This is a tentative guide. It will eventually be put on the official documentation site here.

You guys can probably figure out how to run this on Edison. Just use module load, create you env, and adjust the paths in the py accordingly.

Installation

  1. Follow these instructions under Environment for development here, up to and including step 4 only. Don’t do step 5.

  2. Remove cdp, we need the latest from master.

@zshaheen
zshaheen / edison_quick_guide_containers.md
Last active October 23, 2018 21:37
Quick guide for NERSC Edison using Shifter

Quick guide for NERSC Edison using Shifter

Obtaining the container image

Shifter is the container runtime used at NERSC to run containers. It's an alternative to Docker, but supports Docker containers.

  1. View the e3sm_diags images available on Edison.
    shifterimg images | grep e3sm_diags
    

If the version you want to use is already available, then please continue to step 3.

@zshaheen
zshaheen / docker_quick_guide.md
Last active March 7, 2019 21:37
Running E3SM Diagnostics with Docker

How to run using Docker

  1. Make sure that Docker is installed and running on your machine. To check this, run the command below and you should see some output.
    docker info
    
  2. View all of the e3sm_diags images.
    docker images | grep e3sm_diags
    
    If the version you want to use is already available, then please continue to step 4.
@zshaheen
zshaheen / adding_new_plotsets.md
Created January 8, 2019 19:27
Adding New Plotsets to E3SM Diagnostics

Adding New Plotsets to E3SM Diagnostics

@zshaheen
zshaheen / cooley_quick_guide.md
Last active May 22, 2019 00:06
How to run using Singularity

Quick guide for ANL ALCF Cooley using Singularity

Obtaining the container image

Singularity is the container runtime used at ALCF to run containers. It's an alternative to Docker, but supports Docker containers.

  1. Set the SINGULARITY_PULLFOLDER environmental variable to /lus/theta-fs0/projects/ccsm/acme/containers/. This is where the containers are stored. If you're using bash, run the following.
    export SINGULARITY_PULLFOLDER="/lus/theta-fs0/projects/ccsm/acme/containers/"
    
#! /bin/csh -fe
### run_e3sm: your one step script to running E3SMv1
###
### This particular instance of run_e3sm has been configured to reproduce
### the standard resolution water cycle piControl simulation on NERSC
### Edison.
###
### The script will perform the following steps:
### - clone the 'v1.0.0' source code from the E3SM github repository
@zshaheen
zshaheen / e3sm_diags_param.md
Last active June 10, 2019 18:06
E3SM Diags Parameters

E3SM Diags Parameters

The current diagnostics (zonal_mean_xy, zonal_mean_2d, lat_lon, polar, cosp_histogram, meridional_mean_2d) support the default parameters.

Some, like zonal_mean_2d have specific parameters that only pertain to that diagnostics, like zonal_mean_2d_plevs. As we add more diagnostic packages, the need for plot-set-specific parameter only increases. We need a way to deal with them.

The Brute-Force Solution