Skip to content

Commit

Permalink
sp working
Browse files Browse the repository at this point in the history
  • Loading branch information
djk2120 committed Feb 11, 2022
1 parent b0ab1a1 commit e72a565
Show file tree
Hide file tree
Showing 2 changed files with 213 additions and 6 deletions.
208 changes: 208 additions & 0 deletions analysis/sp.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,208 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "d5d1eacf-f4ab-473a-a132-26ccf39aec6e",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import xarray as xr\n",
"import glob\n",
"import matplotlib\n",
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "ade99a07-1ae3-4ac7-9e52-ef87ec1b3263",
"metadata": {},
"outputs": [],
"source": [
"### import some analysis functions we wrote for this project\n",
"import sys ; sys.path.append(\"..\")\n",
"from ppe_analysis.analysis import *"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "ad533cbe-be7a-41db-b814-d835936a8c08",
"metadata": {},
"outputs": [],
"source": [
"# Setup your PBSCluster\n",
"import dask\n",
"from dask_jobqueue import PBSCluster\n",
"from dask.distributed import Client\n",
"ncores=1\n",
"nmem='25GB'\n",
"cluster = PBSCluster(\n",
" cores=ncores, # The number of cores you want\n",
" memory=nmem, # Amount of memory\n",
" processes=1, # How many processes\n",
" queue='casper', # The type of queue to utilize (/glade/u/apps/dav/opt/usr/bin/execcasper)\n",
" local_directory='$TMPDIR', # Use your local directory\n",
" resource_spec='select=1:ncpus='+str(ncores)+':mem='+nmem, # Specify resources\n",
" project='P93300641', # Input your project ID here\n",
" walltime='02:00:00', # Amount of wall time\n",
" interface='ib0', # Interface to use\n",
")\n",
"\n",
"# Scale up\n",
"cluster.scale(30)\n",
"\n",
"# Setup your client\n",
"client = Client(cluster)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "4d16b0dd-5cd1-43ee-8d6f-a6b41e3ce466",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "d74970786cac4550b5b6dd3ac69c33f3",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Tab(children=(HTML(value='<div class=\"jp-RenderedHTMLCommon jp-RenderedHTML jp-mod-trusted jp-OutputArea-outpu…"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"client.cluster"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "19d0dbd6-ee7f-46fc-a738-bd0d28fc8d7c",
"metadata": {},
"outputs": [],
"source": [
"csv = '/glade/scratch/djk2120/PPEn11/SP_ensemble.csv'\n",
"ds0,la,attrs,paramkey,keys = ppe_init(csv=csv)"
]
},
{
"cell_type": "markdown",
"id": "662eb71b-76c5-4521-b71f-3087481e91c7",
"metadata": {},
"source": [
"### calc via get_ensemble"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "10c46b55-28a7-43df-b060-06349784b21d",
"metadata": {},
"outputs": [],
"source": [
"files = get_files('CTL2010SP','h0',keys)\n",
"ds = get_ensemble(files,['FPSN'],keys,paramkey)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "247ed494-0d1b-4426-8483-4a94a32e35df",
"metadata": {},
"outputs": [],
"source": [
"x=1/la.sum()*(la*ds.FPSN).mean(dim='time').sum(dim='gridcell').compute()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "17bde97a-30a3-43ca-a743-f521cd9f32a6",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x2b19a2ead550>]"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x.plot.line('.')"
]
},
{
"cell_type": "markdown",
"id": "7f661375-f821-436f-8006-741dc70bef20",
"metadata": {},
"source": [
"### via calc_mean"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "a2f9149e-090f-4f25-8d2e-ce7697f1e5d5",
"metadata": {},
"outputs": [],
"source": [
"da,iav = calc_mean('CTL2010SP','FPSN',csv=csv)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "5f8918bc-63f6-45d0-809e-cab5e0bd57c4",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [conda env:miniconda3-ppe-py]",
"language": "python",
"name": "conda-env-miniconda3-ppe-py-py"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.10"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
11 changes: 5 additions & 6 deletions ppe_tools/analysis.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,12 @@

#define the directory structure to find files
def get_files(name,htape,keys):

topdir = '/glade/campaign/asp/djk2120/PPEn11/hist/'
topdir = '/glade/scratch/djk2120/PPEn11/hist/'
thisdir = topdir+name+'/'
files = [glob.glob(thisdir+'*'+key+'*'+htape+'*.nc')[0] for key in keys]
return files

def ppe_init(csv='/glade/scratch/djk2120/PPEn11/surv.csv'):

paramkey = pd.read_csv(csv)
keys = paramkey.key

Expand Down Expand Up @@ -191,17 +189,18 @@ def get_cfs(attrs,datavar,ds,la):
units = 'tbd'
return cf1,cf2,units

def calc_mean(ens_name,datavar,domain='global',overwrite=False):
def calc_mean(ens_name,datavar,domain='global',overwrite=False,
csv='/glade/scratch/djk2120/PPEn11/surv.csv'):
'''
Calculate the annual mean for given datavar across the ensemble.
ens_name, one of CTL2010,CTL2010SP,AF1855,AF2095,C285,C867,NDEP
ens_name, one of CTL2010,AF1855,AF2095,C285,C867,NDEP
datavar, e.g. GPP
domain, one of global,biome,pft
overwrite, option to rewrite existing saved data
returns xmean,xiav
'''

ds0,la,attrs,paramkey,keys = ppe_init()
ds0,la,attrs,paramkey,keys = ppe_init(csv=csv)

preload = ('/glade/u/home/djk2120/clm5ppe/pyth/data/'+
ens_name+'_'+datavar+'_'+domain+'.nc')
Expand Down

0 comments on commit e72a565

Please sign in to comment.