diff --git a/params/template.ipynb b/params/template.ipynb new file mode 100644 index 0000000..cdc63b8 --- /dev/null +++ b/params/template.ipynb @@ -0,0 +1,3795 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d007fef7-e788-45c9-a1bd-e37eff9c7e91", + "metadata": {}, + "source": [ + "# Creating paramfiles for the ameriflux PPE\n", + "- 200 latin hypercube samples of a 20-d paramspace" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "81c94223-a9cd-4683-a298-a4d188f86d03", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import xarray as xr\n", + "import os\n", + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "ab3af885-e609-4b76-b87c-fbb1e2a8d9dd", + "metadata": {}, + "outputs": [], + "source": [ + "### import some analysis functions we wrote for this project\n", + "import sys ; sys.path.append(\"..\")\n", + "from ppe_tools import Ensemble,Member,ParamInfo\n", + "from ppe_tools.utils import get_default, parse_val" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "ab067e34-b931-443d-9b00-82c85e17afc5", + "metadata": {}, + "outputs": [], + "source": [ + "#this is the base paramfile that I will copy and edit\n", + "#important that the paramfile matches the version of CTSM\n", + "basefile = '/glade/scratch/djk2120/PPEn11/paramfiles/OAAT0000.nc'\n", + "\n", + "#where to write the new files:\n", + "paramdir = '/glade/scratch/djk2120/PPEn11/amflx_lhc/paramfiles/'\n", + "nldir = '/glade/scratch/djk2120/PPEn11/amflx_lhc/namelist_mods/'\n", + "lhckey = '/glade/scratch/djk2120/PPEn11/amflx_lhc/lhc_220506.txt'\n", + "\n", + "#make the directories, if needed \n", + "for d in [paramdir,nldir]:\n", + " if ~os.path.isdir(d):\n", + " os.system('mkdir -p '+d)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "63b3ad71-8b0f-4608-97c1-46f7f89d34e6", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " % Total % Received % Xferd Average Speed Time Time Time Current\n", + " Dload Upload Total Spent Left Speed\n", + "100 461 0 461 0 0 1748 0 --:--:-- --:--:-- --:--:-- 1746\n", + "100 6746 0 6746 0 0 7989 0 --:--:-- --:--:-- --:--:-- 7989\n" + ] + } + ], + "source": [ + "#read in the spreadsheet\n", + "# have to publish the spreadsheet\n", + "### file > share > publish to web > csv\n", + "csv = 'may06.csv'\n", + "if not os.path.isfile(csv):\n", + " #data_url needs to be '\"foo.bar\"'\n", + " data_url = '\"https://docs.google.com/spreadsheets/d/e/2PACX-1vQbnPXdKgC4HjYddGl7qOUM6jxTqgqin2uoU2YU5wvbrpbWRuF53PU0k-Dz_Hg445v9yUsROSFEwYDq/pub?gid=1732324005&single=true&output=csv\"'\n", + " cmd = 'curl -L '+data_url+' > '+csv\n", + " os.system(cmd)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "afaaf938-d544-4737-a4a7-17d0dd857db3", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + " | name | \n", + "loc | \n", + "min | \n", + "max | \n", + "pft_mins | \n", + "pft_maxs | \n", + "
---|---|---|---|---|---|---|
0 | \n", + "act25 | \n", + "P | \n", + "40 | \n", + "120 | \n", + "NaN | \n", + "NaN | \n", + "
1 | \n", + "baseflow_scalar | \n", + "N | \n", + "0.0005 | \n", + "0.1 | \n", + "NaN | \n", + "NaN | \n", + "
2 | \n", + "cv | \n", + "P | \n", + "0.005 | \n", + "0.02 | \n", + "NaN | \n", + "NaN | \n", + "
3 | \n", + "d_max | \n", + "P | \n", + "10 | \n", + "60 | \n", + "NaN | \n", + "NaN | \n", + "
4 | \n", + "dleaf | \n", + "P | \n", + "pft | \n", + "pft | \n", + "0,0.000216,0.000216,0.00072,0.0081,0.0081,0.00... | \n", + "0,0.00108,0.00108,0.0036,0.0567,0.0567,0.243,0... | \n", + "
5 | \n", + "fff | \n", + "P | \n", + "0.02 | \n", + "5 | \n", + "NaN | \n", + "NaN | \n", + "
6 | \n", + "frac_sat_soil_dsl_init | \n", + "P | \n", + "0.5 | \n", + "1 | \n", + "NaN | \n", + "NaN | \n", + "
7 | \n", + "hksat_sf | \n", + "P | \n", + "0.1 | \n", + "10 | \n", + "NaN | \n", + "NaN | \n", + "
8 | \n", + "jmaxb0 | \n", + "P | \n", + "0.01 | \n", + "0.05 | \n", + "NaN | \n", + "NaN | \n", + "
9 | \n", + "kmax | \n", + "P | \n", + "pft | \n", + "pft | \n", + "0,3.00E-09,4.00E-09,3.40E-09,1.50E-08,1.30E-08... | \n", + "0,3.80E-08,3.40E-08,3.10E-08,1.70E-07,1.90E-07... | \n", + "
10 | \n", + "krmax | \n", + "P | \n", + "pft | \n", + "pft | \n", + "0,2.30E-11,2.60E-11,2.80E-11,1.10E-10,5.40E-11... | \n", + "0,2.50E-10,2.90E-10,1.60E-10,1.90E-08,5.10E-10... | \n", + "
11 | \n", + "leafcn | \n", + "P | \n", + "50percent | \n", + "30percent | \n", + "NaN | \n", + "NaN | \n", + "
12 | \n", + "liq_canopy_storage_scalar | \n", + "P | \n", + "0.05 | \n", + "2 | \n", + "NaN | \n", + "NaN | \n", + "
13 | \n", + "maximum_leaf_wetted_fraction | \n", + "N | \n", + "0.01 | \n", + "0.5 | \n", + "NaN | \n", + "NaN | \n", + "
14 | \n", + "medlynintercept | \n", + "P | \n", + "1 | \n", + "5000 | \n", + "NaN | \n", + "NaN | \n", + "
15 | \n", + "medlynslope | \n", + "P | \n", + "pft | \n", + "pft | \n", + "9,1.53,1.53,1.53,2.91,1.7,2.05,2.05,2.05,2.805... | \n", + "9,4.14,4.14,4.14,9.11,9.11,7.07,7.07,7.07,5.95... | \n", + "
16 | \n", + "nstem | \n", + "P | \n", + "0.03 | \n", + "0.5 | \n", + "NaN | \n", + "NaN | \n", + "
17 | \n", + "rootprof_beta | \n", + "P | \n", + "pft | \n", + "pft | \n", + "0.886,0.886,0.746,0.746,0.965,0.841,0.965,0.84... | \n", + "0.98,0.98,0.952,0.952,0.994,0.972,0.994,0.972,... | \n", + "
18 | \n", + "sucsat_sf | \n", + "P | \n", + "0.005 | \n", + "1 | \n", + "NaN | \n", + "NaN | \n", + "
19 | \n", + "watsat_sf | \n", + "P | \n", + "0.8 | \n", + "1.5 | \n", + "NaN | \n", + "NaN | \n", + "
20 | \n", + "zbedrock | \n", + "P | \n", + "1 | \n", + "4 | \n", + "NaN | \n", + "NaN | \n", + "
21 | \n", + "wc2wjb0 | \n", + "P | \n", + "0.5 | \n", + "1.5 | \n", + "NaN | \n", + "NaN | \n", + "
22 | \n", + "jmaxb1 | \n", + "N | \n", + "0.05 | \n", + "0.25 | \n", + "NaN | \n", + "NaN | \n", + "
23 | \n", + "psi50 | \n", + "P | \n", + "50percent | \n", + "50percent | \n", + "NaN | \n", + "NaN | \n", + "