Skip to content

Python package to load, process and plot output from CESM

Notifications You must be signed in to change notification settings

CESM-GC/CESM_Reader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 

Repository files navigation

CESM_Reader is a Python processing package to load, process and plot output data from CESM. It was initially intended to process data from the Community Atmosphere Model (CAM).

CESM_Reader is able to perform different types of spatial averaging:

  • Zonal average
  • Layer average across multiple layers
  • Column average
  • Global average

It is also able to either compute temporal mean or to load temporal variations of the desired fields.

Below is an example that I extracted from a Jupyter notebook.

import os
import numpy as np
from datetime import datetime

from CESM_Reader.fileReader import CESM_Reader

rootFolder = '/glade/scratch/fritzt'
folder     = 'CESM-GC_SpeciesConc'
devFolder  = '/path/to/dev/folder'
if '/run' in folder:
    folder    = os.path.join(rootFolder, folder)
    devFolder = os.path.join(rootFolder, devFolder)
else:
    folder    = os.path.join(rootFolder, folder, 'run')
    devFolder = os.path.join(rootFolder, devFolder, 'run')

# Load data from a run
fileReader = CESM_Reader(folder, debug=False);

# Load differences between two CESM runs
#fileReader = CESM_Reader(folder, devFolder=devFolder, debug=False);

# As long as the following species are saved during the CESM run, then they will be loaded
include = ['O3', 'NO*', 'pFe', 'DepFlux_NO*', 'DepVel_O3', 'WDRATE_SO2', 'Jval_O3*']
fileReader.register(include=include, debug=False)
#print(fileReader.include)

## Zonal averaging
fileReader.load(spatialAveraging='Zonal', timeAveraging=True, minDate=datetime(2005,1,1), maxDate=datetime(2005,1,3), debug=False)

## Layer slicing
#fileReader.load(spatialAveraging='Layer', iLayer=-1, timeAveraging=True, minDate=datetime(2005,1,1), maxDate=datetime(2005,1,3), debug=False)

## Temporal variations of globally-averaged mixing ratio
#fileReader.load(spatialAveraging='All', timeAveraging=False, minDate=datetime(2005,1,1), maxDate=datetime(2005,1,3), debug=False)

## Altitude variation - 1D
#fileReader.load(spatialAveraging='V Altitude', timeAveraging=True, minDate=datetime(2005,1,1), maxDate=datetime(2005,1,3), debug=False)

## Latitude variation - 1D
#fileReader.load(spatialAveraging='V Latitude', timeAveraging=True, minDate=datetime(2005,1,1), maxDate=datetime(2005,1,3), debug=False)

## Longitude variation - 1D
#fileReader.load(spatialAveraging='V Longitude', timeAveraging=True, minDate=datetime(2005,1,1), maxDate=datetime(2005,1,3), debug=False)

im, cb = fileReader.plot(species=include, plotUnit='ppb', clim=np.array([0,np.NaN]), debug=False)

About

Python package to load, process and plot output from CESM

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages