From d68cbbe7ddcb53276408e1eb661370e6b456dcc6 Mon Sep 17 00:00:00 2001 From: Daniel Kennedy Date: Fri, 22 Oct 2021 10:36:52 -0600 Subject: [PATCH] update template --- analysis/template.ipynb | 685 ++++++++++++++++++++++++++++++++++++++++ ppe_tools/analysis.py | 243 ++++++++++++++ ppe_tools/ensemble.py | 3 + ppe_tools/utils.py | 213 +++++++++++++ 4 files changed, 1144 insertions(+) create mode 100644 analysis/template.ipynb create mode 100644 ppe_tools/analysis.py diff --git a/analysis/template.ipynb b/analysis/template.ipynb new file mode 100644 index 0000000..943a71c --- /dev/null +++ b/analysis/template.ipynb @@ -0,0 +1,685 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "ff53cb2d-57cf-40f4-973a-6fdd44532e04", + "metadata": {}, + "source": [ + "# PPE analysis template\n", + "- Daniel Kennedy (djk2120@ucar.edu)\n", + "- updated Oct 22, 2021\n", + "- note that there are dependencies to other files in the repo" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "6b9d5f43-dd60-4e0b-bc9b-4b882557aca1", + "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\n", + "import dask\n", + "from dask_jobqueue import PBSCluster\n", + "from dask.distributed import Client\n", + "import statsmodels.api as sm\n", + "import os" + ] + }, + { + "cell_type": "markdown", + "id": "30d5c8c6-b65e-4762-9530-154e088b8a75", + "metadata": {}, + "source": [ + "## set up your PBSCluster\n", + "- note: this may cause a pink warning message\n", + "- but it's safe to ignore\n", + "- make sure to wait until client.cluster shows that your workers are active" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "241033ba-a75a-4540-a79c-d7994231e64c", + "metadata": {}, + "outputs": [], + "source": [ + "# Setup your PBSCluster\n", + "\n", + "project = 'P93300641' #input your project code\n", + "\n", + "cluster = PBSCluster(\n", + " cores=1, # The number of cores you want\n", + " memory='25GB', # 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=1:mem=25GB', # Specify resources\n", + " project=project, # 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(20)\n", + "\n", + "# Setup your client\n", + "client = Client(cluster)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "fb854d7d-b77d-4a27-adc4-5ffcc40f47c9", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "b91265cfe18a434da3a1dfafab0ff163", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Tab(children=(HTML(value='
0\n", + "client.cluster" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "e72aba0d-7aa4-4a6d-9c51-0f6dac98acb6", + "metadata": {}, + "outputs": [], + "source": [ + "### import some analysis functions we wrote for this project\n", + "### note that you can inspect the code for these functions in ../ppe_tools/analysis.py\n", + "import sys ; sys.path.append(\"..\")\n", + "from ppe_tools.analysis import get_ensemble, month_wts, get_cfs, top_n, calc_mean, rank_plot" + ] + }, + { + "cell_type": "markdown", + "id": "7bb32a26-18db-4f1b-ab6c-5430081e6220", + "metadata": {}, + "source": [ + "### LOAD THE ENSEMBLE\n", + "- monthly data is htape='h0'\n", + "- daily is htape ='h5'" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "b332a691-3b9b-4624-af42-c792b7174452", + "metadata": {}, + "outputs": [], + "source": [ + "#define the directory structure and find files\n", + "def get_files(name,htape,keys):\n", + " topdir = '/glade/scratch/djk2120/PPEn11/hist/' \n", + " thisdir = topdir+name+'/'\n", + " files = [glob.glob(thisdir+'*'+key+'*'+htape+'*.nc')[0] for key in keys]\n", + " return files" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "c2137a40-93b0-43df-9978-bec38d4cef9b", + "metadata": {}, + "outputs": [], + "source": [ + "#fetch the paraminfo\n", + "csv = '/glade/scratch/djk2120/PPEn11/surv.csv' \n", + "paramkey = pd.read_csv(csv)\n", + "\n", + "#fetch the sparsegrid landarea\n", + "la_file = '/glade/scratch/djk2120/PPEn08/sparsegrid_landarea.nc'\n", + "la = xr.open_dataset(la_file).landarea #km2\n", + "\n", + "#load conversion factors\n", + "cfs,units = get_cfs()" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "0cd1af91-fe26-4155-ac87-9379f292a814", + "metadata": {}, + "outputs": [], + "source": [ + "#read the ensemble\n", + "keys = paramkey.key\n", + "htape = 'h0'\n", + "name = 'CTL2010'\n", + "files = get_files(name,htape,keys)\n", + "data_vars = ['GPP']\n", + "ds = get_ensemble(files,data_vars,keys,paramkey)" + ] + }, + { + "cell_type": "markdown", + "id": "1d75f78b-1c3d-44dd-a4d0-92f8618623c9", + "metadata": {}, + "source": [ + "### examine GPP, one ensemble member" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "ce7618cb-8004-4412-8b9c-f66a9578820f", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "## note that the output is not global, but rather a subset of 400 meaningful pixels\n", + "## so you can't plot a map directly\n", + "ds.GPP.isel(ens=0,time=6).plot(); #ens0 = default" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "77a6ef75-8e27-4dae-abc6-43e3c43264e5", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "## but we have a function to map the sparsegrid to a global map: get_map\n", + "## it is a little bit slow.....\n", + "da_map = get_map(ds.GPP.isel(ens=0,time=6))\n", + "da_map.plot();" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "60510a5e-e69b-4ecb-aec3-15541772c4e4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Help on function get_map in module __main__:\n", + "\n", + "get_map(da)\n", + " Regrid from sparsegrid to standard lat/lon\n", + " \n", + " Better to do any dimension-reducing math before calling this function. \n", + " Could otherwise be pretty slow...\n", + "\n" + ] + } + ], + "source": [ + "help(get_map)" + ] + }, + { + "cell_type": "markdown", + "id": "ffe10eb5-52ff-4718-8a93-fbc19e937b5c", + "metadata": {}, + "source": [ + "### examine average GPP, all ensemble members" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "23f5c3ce-32ac-4b40-81a1-c61b61d72e82", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "cf1 = 1e-9\n", + "cf2 = 24*60*60\n", + "nyrs = 10\n", + "\n", + "gpp_glob = cf1*(la*ds.GPP).sum(dim='gridcell') #PgC/s\n", + "gpp_glob_ann = cf2*(month_wts(nyrs)*gpp_glob).groupby('time.year').sum() #PgC/yr\n", + "gpp_glob_avg = gpp_glob_ann.mean(dim='year').compute()\n", + "\n", + "gpp_glob_avg.plot.line('.')\n", + "plt.ylabel('Mean GPP (PgC/yr)')\n", + "plt.title('CTL2010 ensemble')\n", + "plt.ylim([0,160]);" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "712f9e83-97e0-46fa-8712-c0add4499ac3", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "#we wrote a shortcut function to perform avg/iav calculations\n", + "# this also stores the result in ./data, so you don't have to redo the calcs every time you open the notebook\n", + "ens_name = 'CTL2010'\n", + "datavar = 'GPP'\n", + "xm,iav = calc_mean(ds, ens_name, datavar, la, cfs, units)\n", + "\n", + "plt.figure(figsize=[12,4])\n", + "plt.subplot(1,2,1)\n", + "xm.plot.line('.')\n", + "plt.ylim([0,160])\n", + "plt.title('CTL2010 ensemble');\n", + "plt.subplot(1,2,2)\n", + "iav.plot.line('.')\n", + "plt.ylim([0,2.5])\n", + "plt.title('CTL2010 ensemble');\n" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "id": "523dc5c9-ea88-4492-b37b-5527a1a97b2c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "default default\n", + "taulnir min\n", + "taulnir max\n", + "taulvis min\n", + "taulvis max\n", + "tausnir min\n", + "tausnir max\n", + "tausvis min\n", + "tausvis max\n", + "rholnir min\n" + ] + } + ], + "source": [ + "## the perturbations are described via ds.param, ds.minmax\n", + "for i in range(10):\n", + " print(ds.param.sel(ens=i).values,ds.minmax.sel(ens=i).values )" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "id": "fc499c74-af3d-465f-8821-34e238f2a5d0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['tpu25ratio',\n", + " 'fff',\n", + " 'wc2wjb0',\n", + " 'theta_cj',\n", + " 'jmaxb1',\n", + " 'medlynslope',\n", + " 'jmaxb0',\n", + " 'medlynintercept',\n", + " 'leafcn',\n", + " 'kmax']" + ] + }, + "execution_count": 106, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#examine perturbation effects via: top_n\n", + "nx = 10\n", + "xmins,xmaxs,pvals = top_n(xm, nx, ds.param, ds.minmax)\n", + "pvals" + ] + }, + { + "cell_type": "code", + "execution_count": 108, + "id": "882389a3-2b37-4808-ab2f-aa339da74dd5", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "#handy plotter\n", + "rank_plot(xm, ds, nx)" + ] + }, + { + "cell_type": "markdown", + "id": "b607ed68-8480-4c26-b16e-966d47998fa8", + "metadata": {}, + "source": [ + "### look at a single gridcell" + ] + }, + { + "cell_type": "code", + "execution_count": 115, + "id": "a2202e19-f009-4a4d-ae25-bd4340a781c3", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(ds.grid1d_lon,ds.grid1d_lat,'.')\n", + "plt.xlim([0,360]); plt.xticks(90*np.arange(5))\n", + "plt.ylim([-60,90]); plt.yticks(-60+30*np.arange(6))\n", + "plt.title('locations of the sparsegrid pixels');" + ] + }, + { + "cell_type": "code", + "execution_count": 141, + "id": "6c251d62-854e-4e21-a566-3ba855098292", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "lat = 40\n", + "lon = 360-105 #105W\n", + "\n", + "#find nearest point\n", + "d = np.sqrt((ds.grid1d_lat-lat)**2+(ds.grid1d_lon-lon)**2)\n", + "ix = d==np.min(d)\n", + "\n", + "#convert to N/s E/W\n", + "thislat = np.round(ds.grid1d_lat[ix].values[0],1)\n", + "thislon = ds.grid1d_lon[ix].values[0]\n", + "if thislon<180:\n", + " lond = 'E'\n", + "else:\n", + " thislon=360-thislon\n", + " lond = 'W'\n", + "latd='N'\n", + "if thislat<0:\n", + " latd='S'\n", + " \n", + "#pick an ensemble member and plot\n", + "ee = 368\n", + "p = str(ds.param.isel(ens=ee).values)\n", + "m = str(ds.minmax.isel(ens=ee).values)\n", + "\n", + "ds.GPP.isel(ens=ee,gridcell=ix).plot()\n", + "plt.title(p+'-'+m+': '+str(thislat)+latd+', '+str(thislon)+lond);\n", + " " + ] + }, + { + "cell_type": "markdown", + "id": "8318e545-9967-469d-b6c1-11358660b3e1", + "metadata": {}, + "source": [ + "### Examine param perturbation values" + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "id": "19ca08a2-fefe-4233-a5f3-ee89f9835238", + "metadata": {}, + "outputs": [], + "source": [ + "## if you want to examine the actual values of a given param\n", + "param = 'jmaxb1'\n", + "\n", + "## shouldn't need to edit below\n", + "\n", + "ix = ds.param==param\n", + "params = ['default',*ds.param.isel(ens=ix).values]\n", + "minmax = ['default',*ds.minmax.isel(ens=ix).values]\n", + "\n", + "ix = ds.ens>np.inf\n", + "for p,m in zip(params,minmax):\n", + " ix = (ix)|((ds.param==p)&(ds.minmax==m))\n", + "\n", + "keys = ds.key.isel(ens=ix).values\n", + "pvals = []\n", + "pdir = '/glade/scratch/djk2120/PPEn11/paramfiles/'\n", + "ndir = '/glade/scratch/djk2120/PPEn11/namelist_mods/'\n", + "lndin = '/glade/work/oleson/lmbirch_wkattge.n01_ctsm5.1.dev006/cime/scripts/clm51_lmbirchwkattgen01ctsm51d006_2deg_GSWP3V1_PPE_1850pAD/CaseDocs/lnd_in'\n", + "for key,p in zip(keys,params):\n", + " pf = xr.open_dataset(pdir+key+'.nc')\n", + " if param in pf.data_vars:\n", + " pvals.append(pf[param].values)\n", + " else:\n", + " nfile = ndir+key+'.txt'\n", + " if p=='default':\n", + " cmd = 'grep '+param+' '+lndin\n", + " tmp = os.popen(cmd).read().split()[2]\n", + " if 'd' in tmp:\n", + " tmp = tmp.split('d')\n", + " pval = float(tmp[0])*10**float(tmp[1])\n", + " else:\n", + " pval = float(tmp)\n", + " else:\n", + " with open(nfile) as f:\n", + " lines = f.readlines()\n", + " pval = float(lines[1].split('=')[1].split('\\n')[0])\n", + " pvals.append(pval)" + ] + }, + { + "cell_type": "code", + "execution_count": 103, + "id": "caa7c355-eebe-42eb-8e28-30e8bf00ff3c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "jmaxb1 default 0.17\n", + "jmaxb1 min 0.05\n", + "jmaxb1 max 0.25\n" + ] + } + ], + "source": [ + "### note that default may also serve as min or max\n", + "for i,m in enumerate(minmax):\n", + " print(param,m,pvals[i])" + ] + }, + { + "cell_type": "markdown", + "id": "47b0c433-9544-41a0-80ae-f365e2833232", + "metadata": {}, + "source": [ + "### examine a sample file\n", + "- useful for checking which variables are available" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "037d73c2-c915-4bf4-a3cb-559a9c35b306", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Data variables: (12/497)\n", + " mcdate (time) int32 ...\n", + " mcsec (time) int32 ...\n", + " mdcur (time) int32 ...\n", + " mscur (time) int32 ...\n", + " nstep (time) int32 ...\n", + " time_bounds (time, hist_interval) object ...\n", + " ... ...\n", + " XSMRPOOL (time, gridcell) float32 ...\n", + " XSMRPOOL_RECOVER (time, gridcell) float32 ...\n", + " ZBOT (time, gridcell) float32 ...\n", + " ZWT (time, gridcell) float32 ...\n", + " ZWT_CH4_UNSAT (time, gridcell) float32 ...\n", + " ZWT_PERCH (time, gridcell) float32 ..." + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "h0 = '/glade/scratch/djk2120/PPEn11/hist/CTL2010/PPEn11_CTL2010_OAAT0400.clm2.h0.2005-02-01-00000.nc'\n", + "ds0 = xr.open_dataset(h0)\n", + "ds0.data_vars" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ee20e2d3-4eff-4a7d-98dd-01c4ee9f366f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Data variables: (12/89)\n", + " mcdate (time) int32 ...\n", + " mcsec (time) int32 ...\n", + " mdcur (time) int32 ...\n", + " mscur (time) int32 ...\n", + " nstep (time) int32 ...\n", + " time_bounds (time, hist_interval) object ...\n", + " ... ...\n", + " TSOI_10CM (time, gridcell) float32 ...\n", + " TV (time, gridcell) float32 ...\n", + " TWS (time, gridcell) float32 ...\n", + " VEGWPLN (time, nvegwcs, gridcell) float32 ...\n", + " VEGWPPD (time, nvegwcs, gridcell) float32 ...\n", + " VPD_CAN (time, gridcell) float32 ..." + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "h5 = '/glade/scratch/djk2120/PPEn11/hist/CTL2010/PPEn11_CTL2010_OAAT0400.clm2.h5.2005-01-01-00000.nc'\n", + "ds5 = xr.open_dataset(h5)\n", + "ds5.data_vars" + ] + } + ], + "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 +} diff --git a/ppe_tools/analysis.py b/ppe_tools/analysis.py new file mode 100644 index 0000000..00daaea --- /dev/null +++ b/ppe_tools/analysis.py @@ -0,0 +1,243 @@ +import os +import numpy as np +import xarray as xr +import cftime +import pandas as pd +import matplotlib +import matplotlib.pyplot as plt +import glob + +def get_ensemble(files,data_vars,keys,paramkey,p=True,extras=[]): + + def preprocess(ds): + return ds[data_vars] + + #read in the dataset + ds = xr.open_mfdataset(files,combine='nested',concat_dim='ens', + parallel=p,preprocess=preprocess) + + #diagnose htape + htape = files[0].split('clm2.')[1].split('.')[0] + + #make time more sensible + if htape=='h0' or htape=='h1': + ds['time'] = xr.cftime_range(str(2005),periods=len(ds.time),freq='MS') + elif htape=='h5': + nt = len(ds.time) + t = ds.time.isel(time=np.arange(nt)0) + ds['time']=t + + #specify extra variables + if not extras: + if htape=='h1': + extras = ['pfts1d_lat','pfts1d_lon','pfts1d_itype_veg'] + else: + extras = ['grid1d_lat','grid1d_lon'] + + + #add in some extra variables + ds0 = xr.open_dataset(files[0]) + for extra in extras: + ds[extra]=ds0[extra] + + #append some info about key/param/minmax/biome + params,minmaxs = get_params(keys,paramkey) + ds['key'] = xr.DataArray(keys,dims='ens') + ds['param'] = xr.DataArray(params,dims='ens') + ds['minmax'] = xr.DataArray(minmaxs,dims='ens') + whit = xr.open_dataset('./whit/whitkey.nc') + ds['biome'] = whit['biome'] + ds['biome_name'] = whit['biome_name'] + + return ds + +def calc_mean(ds,ens_name,datavar,la,cfs,units,domain='global'): + + preload = './data/'+ens_name+'_'+datavar+'_'+domain+'.nc' + + if not os.path.isdir('./data/'): + os.system('mkdir data') + + #skip calculation if available on disk + if not glob.glob(preload): + cf = cfs[datavar] #conversion factor + if cf=='intrinsic': + if domain=='global': + cf = 1/la.sum()/365 + else: + cf = 1/la.groupby(ds.biome).sum()/365 + + # weight by landarea + x = la*ds[datavar] + + # sort out domain groupings + x['biome']=ds.biome + x=x.swap_dims({'gridcell':'biome'}) + if domain =='global': + g = 1+0*x.biome #every gridcell is in biome 1 + else: + g = x.biome + + # calculate annual average or sum (determined by cf) + xann = cf*(month_wts(10)*x.groupby(g).sum()).groupby('time.year').sum().compute() + + if domain =='global': + xann = xann.mean(dim='biome') #get rid of gridcell dimension + + #average/iav + xm = xann.mean(dim='year') + iav = xann.std(dim='year') + + #save the reduced data + out = xr.Dataset() + out[datavar+'_mean'] = xm + out[datavar+'_mean'].attrs= {'units':units[datavar]} + out[datavar+'_iav'] = iav + out[datavar+'_iav'].attrs= {'units':units[datavar]} + out['param'] = ds.param + out['minmax'] = ds.minmax + + if domain=='biome': + out['biome_name']=ds.biome_name + + + out.load().to_netcdf(preload) + + #load from disk + ds = xr.open_dataset(preload) + xm = ds[datavar+'_mean'] + iav = ds[datavar+'_iav'] + + return xm,iav + + +def get_params(keys,paramkey): + params=[] + minmaxs=[] + for key in keys: + ix = paramkey.key==key + params.append(paramkey.param[ix].values[0]) + minmaxs.append(paramkey.minmax[ix].values[0]) + return params,minmaxs + +def month_wts(nyears): + ''' + returns an xr.DataArray of days per month, tiled for nyears + ''' + days_pm = [31,28,31,30,31,30,31,31,30,31,30,31] + return xr.DataArray(np.tile(days_pm,nyears),dims='time') + +def get_cfs(): + ''' + loads dictionaries containing conversion factors and units + for globally aggregating output variables + ''' + + df = pd.read_csv('agg_units.csv') + cfs = dict() + units = dict() + for i,row in df.iterrows(): + f = row['field'] + u = row['unit'] + c = row['cf'] + + if c != 'intrinsic': + c = float(c) + + cfs[f] = c + units[f] = u + return cfs,units + +def find_pair(da,params,minmax,p): + ''' + returns a subset of da, corresponding to parameter-p + the returned pair corresponds to [p_min,p_max] + ''' + ixmin = np.logical_and(params==p,minmax=='min') + ixmax = np.logical_and(params==p,minmax=='max') + + #sub in default if either is missing + if ixmin.sum().values==0: + ixmin = params=='default' + if ixmax.sum().values==0: + ixmax = params=='default' + + emin = da.ens.isel(ens=ixmin).values[0] + emax = da.ens.isel(ens=ixmax).values[0] + + return da.sel(ens=[emin,emax]) + +def top_n(da,nx,params,minmax,uniques=[]): + ''' + Sort for the largest perturbation effects + + returns lists of xmin, xmax, and the param_name for the top nx perturbations + ''' + + if not uniques: + uniques = list(np.unique(params)) + if 'default' in uniques: + uniques.remove('default') + + xmins=[];xmaxs=[];dxs=[] + for u in uniques: + pair = find_pair(da,params,minmax,u) + xmin = pair[0].values + xmax = pair[1].values + dx = abs(xmax-xmin) + + xmins.append(xmin) + xmaxs.append(xmax) + dxs.append(dx) + + ranks = np.argsort(dxs) + + pvals = [uniques[ranks[i]] for i in range(-nx,0)] + xmins = [xmins[ranks[i]] for i in range(-nx,0)] + xmaxs = [xmaxs[ranks[i]] for i in range(-nx,0)] + + return xmins,xmaxs,pvals + +def rank_plot(da,ds,nx,ll=True,title=None,xlabel=None): + xmins,xmaxs,pvals = top_n(da,nx,ds.param,ds.minmax) + xdef = da.isel(ens=0) + plt.plot([xdef,xdef],[0,nx-1],'k:',label='default') + plt.scatter(xmins,range(nx),marker='o',facecolors='none', edgecolors='r',label='low-val') + plt.plot(xmaxs,range(nx),'ro',label='high-val') + + if ll: + plt.legend(loc=3) + i=-1 + for xmin,xmax in zip(xmins,xmaxs): + i+=1 + plt.plot([xmin,xmax],[i,i],'r') + plt.yticks(range(nx),pvals) + if not xlabel: + xlabel = da.name+' ['+da.attrs['units']+']' + if not title: + title = da.name + plt.xlabel(xlabel) + plt.title(title); + +def brown_green(): + ''' + returns a colormap based on colorbrewer diverging brown->green + ''' + + # colorbrewer colormap, diverging, brown->green + cmap = np.zeros([11,3]); + cmap[0,:] = 84,48,5 + cmap[1,:] = 140,81,10 + cmap[2,:] = 191,129,45 + cmap[3,:] = 223,194,125 + cmap[4,:] = 246,232,195 + cmap[5,:] = 245,245,245 + cmap[6,:] = 199,234,229 + cmap[7,:] = 128,205,193 + cmap[8,:] = 53,151,143 + cmap[9,:] = 1,102,94 + cmap[10,:] = 0,60,48 + cmap = matplotlib.colors.ListedColormap(cmap/256) + + return cmap diff --git a/ppe_tools/ensemble.py b/ppe_tools/ensemble.py index 127e8fa..31f6148 100644 --- a/ppe_tools/ensemble.py +++ b/ppe_tools/ensemble.py @@ -27,6 +27,9 @@ def nmemb(self): def add_member(self,member): self._members.append(member) + + def remove_member(self,member): + self._members.remove(member) def add_mf(self,mf,prefix,nextnum=None): ds = xr.open_dataset(self._basefile,decode_times=False) diff --git a/ppe_tools/utils.py b/ppe_tools/utils.py index 46a072e..565c406 100644 --- a/ppe_tools/utils.py +++ b/ppe_tools/utils.py @@ -1,5 +1,218 @@ import os import numpy as np +import xarray as xr +import cftime +import pandas as pd +import matplotlib + +def get_ensemble(files,data_vars,keys,paramkey,p=True,extras=[]): + + def preprocess(ds): + return ds[data_vars] + + #read in the dataset + ds = xr.open_mfdataset(files,combine='nested',concat_dim='ens', + parallel=p,preprocess=preprocess) + + #diagnose htape + htape = files[0].split('clm2.')[1].split('.')[0] + + #make time more sensible + if htape=='h0' or htape=='h1': + ds['time'] = xr.cftime_range(str(2005),periods=len(ds.time),freq='MS') + elif htape=='h5': + nt = len(ds.time) + t = ds.time.isel(time=np.arange(nt)0) + ds['time']=t + + #specify extra variables + if not extras: + if htape=='h1': + extras = ['pfts1d_lat','pfts1d_lon','pfts1d_itype_veg'] + else: + extras = ['grid1d_lat','grid1d_lon'] + + + #add in some extra variables + ds0 = xr.open_dataset(files[0]) + for extra in extras: + ds[extra]=ds0[extra] + + #append some info about key/param/minmax/biome + params,minmaxs = get_params(keys,paramkey) + ds['key'] = xr.DataArray(keys,dims='ens') + ds['param'] = xr.DataArray(params,dims='ens') + ds['minmax'] = xr.DataArray(minmaxs,dims='ens') + whit = xr.open_dataset('./whit/whitkey.nc') + ds['biome'] = whit['biome'] + ds['biome_name'] = whit['biome_name'] + + return ds + +def calc_mean(ds,ens_name,datavar,la,domain='global'): + + preload = './data/'+ens_name+'_'+datavar+'_'+domain+'.nc' + + if not os.path.isdir('./data/'): + os.system('mkdir data') + + #skip calculation if available on disk + if not glob.glob(preload): + cf = cfs[datavar] #conversion factor + if cf=='intrinsic': + if domain=='global': + cf = 1/la.sum()/365 + else: + cf = 1/lab.groupby('biome').sum()/365 + + # weight by landarea + x = la*ds[datavar] + + # sort out domain groupings + x['biome']=ds.biome + x=x.swap_dims({'gridcell':'biome'}) + if domain =='global': + g = 1+0*x.biome #every gridcell is in biome 1 + else: + g = x.biome + + # calculate annual average or sum (determined by cf) + xann = cf*(month_wts(10)*x.groupby(g).sum()).groupby('time.year').sum().compute() + + if domain =='global': + xann = xann.mean(dim='biome') #get rid of gridcell dimension + + #average/iav + xm = xann.mean(dim='year') + iav = xann.std(dim='year') + + #save the reduced data + out = xr.Dataset() + out[datavar+'_mean'] = xm + out[datavar+'_mean'].attrs= {'units':units[datavar]} + out[datavar+'_iav'] = iav + out[datavar+'_iav'].attrs= {'units':units[datavar]} + out['param'] = dsb.param + out['minmax'] = dsb.minmax + out.load().to_netcdf(preload) + + #load from disk + ds = xr.open_dataset(preload) + xm = ds[datavar+'_mean'] + iav = ds[datavar+'_iav'] + + return xm,iav + + +def get_params(keys,paramkey): + params=[] + minmaxs=[] + for key in keys: + ix = paramkey.key==key + params.append(paramkey.param[ix].values[0]) + minmaxs.append(paramkey.minmax[ix].values[0]) + return params,minmaxs + +def month_wts(nyears): + ''' + returns an xr.DataArray of days per month, tiled for nyears + ''' + days_pm = [31,28,31,30,31,30,31,31,30,31,30,31] + return xr.DataArray(np.tile(days_pm,nyears),dims='time') + +def get_cfs(): + ''' + loads dictionaries containing conversion factors and units + for globally aggregating output variables + ''' + + df = pd.read_csv('agg_units.csv') + cfs = dict() + units = dict() + for i,row in df.iterrows(): + f = row['field'] + u = row['unit'] + c = row['cf'] + + if c != 'intrinsic': + c = float(c) + + cfs[f] = c + units[f] = u + return cfs,units + +def find_pair(da,params,minmax,p): + ''' + returns a subset of da, corresponding to parameter-p + the returned pair corresponds to [p_min,p_max] + ''' + ixmin = np.logical_and(params==p,minmax=='min') + ixmax = np.logical_and(params==p,minmax=='max') + + #sub in default if either is missing + if ixmin.sum().values==0: + ixmin = params=='default' + if ixmax.sum().values==0: + ixmax = params=='default' + + emin = da.ens.isel(ens=ixmin).values[0] + emax = da.ens.isel(ens=ixmax).values[0] + + return da.sel(ens=[emin,emax]) + +def top_n(da,nx,params,minmax,uniques=[]): + ''' + Sort for the largest perturbation effects + + returns lists of xmin, xmax, and the param_name for the top nx perturbations + ''' + + if not uniques: + uniques = list(np.unique(params)) + if 'default' in uniques: + uniques.remove('default') + + xmins=[];xmaxs=[];dxs=[] + for u in uniques: + pair = find_pair(da,params,minmax,u) + xmin = pair[0].values + xmax = pair[1].values + dx = abs(xmax-xmin) + + xmins.append(xmin) + xmaxs.append(xmax) + dxs.append(dx) + + ranks = np.argsort(dxs) + + pvals = [uniques[ranks[i]] for i in range(-nx,0)] + xmins = [xmins[ranks[i]] for i in range(-nx,0)] + xmaxs = [xmaxs[ranks[i]] for i in range(-nx,0)] + + return xmins,xmaxs,pvals + +def brown_green(): + ''' + returns a colormap based on colorbrewer diverging brown->green + ''' + + # colorbrewer colormap, diverging, brown->green + cmap = np.zeros([11,3]); + cmap[0,:] = 84,48,5 + cmap[1,:] = 140,81,10 + cmap[2,:] = 191,129,45 + cmap[3,:] = 223,194,125 + cmap[4,:] = 246,232,195 + cmap[5,:] = 245,245,245 + cmap[6,:] = 199,234,229 + cmap[7,:] = 128,205,193 + cmap[8,:] = 53,151,143 + cmap[9,:] = 1,102,94 + cmap[10,:] = 0,60,48 + cmap = matplotlib.colors.ListedColormap(cmap/256) + + return cmap def parse_val(loc,defval,thisval,sgn=1): '''