diff --git a/params/modify_params.ipynb b/params/modify_params.ipynb new file mode 100644 index 0000000..f5a8bbf --- /dev/null +++ b/params/modify_params.ipynb @@ -0,0 +1,3001 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "d007fef7-e788-45c9-a1bd-e37eff9c7e91", + "metadata": {}, + "source": [ + "# Editing the CTSM paramfiles\n", + "- some typical examples" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "81c94223-a9cd-4683-a298-a4d188f86d03", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import xarray as xr\n", + "import os\n", + "import netCDF4" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "ab067e34-b931-443d-9b00-82c85e17afc5", + "metadata": {}, + "outputs": [], + "source": [ + "#this is the base paramfile that you will copy and edit\n", + "basefile = '/glade/p/cesm/cseg/inputdata/lnd/clm2/paramdata/ctsm51_params.c210507.nc'\n", + "\n", + "#important that your paramfile match the version of CLM that you are using\n", + "# consider examining bld/namelist_files/namelist_defaults_ctsm.xml" + ] + }, + { + "cell_type": "markdown", + "id": "37b717ba-cb80-4ace-befc-2cdbd4b1dd4f", + "metadata": {}, + "source": [ + "### examine a pft file" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "3ac988fa-de04-44d7-af83-54b312b171d7", + "metadata": {}, + "outputs": [], + "source": [ + "ds = xr.open_dataset(basefile)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "bc331c0b-0c9b-44f2-94f0-82e92aab4161", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
<xarray.DataArray 'kmax' (segment: 4, pft: 79)>\n", + "array([[0.000000e+00, 1.602140e-08, 2.234574e-08, ..., 2.000000e-08,\n", + " 2.000000e-08, 2.000000e-08],\n", + " [0.000000e+00, 1.602140e-08, 2.234574e-08, ..., 2.000000e-08,\n", + " 2.000000e-08, 2.000000e-08],\n", + " [0.000000e+00, 1.602140e-08, 2.234574e-08, ..., 2.000000e-08,\n", + " 2.000000e-08, 2.000000e-08],\n", + " [0.000000e+00, 1.602140e-08, 2.234574e-08, ..., 2.000000e-08,\n", + " 2.000000e-08, 2.000000e-08]])\n", + "Coordinates:\n", + " pftname (pft) |S40 b'not_vegetated ' ... b'irr...\n", + " * segment (segment) |S40 b'sunlit ' ... b...\n", + "Dimensions without coordinates: pft\n", + "Attributes:\n", + " units: mm h2o (transpired)/mm h2o (water potential gradient)/sec\n", + " long_name: plant segment max conductance
array([[0.000000e+00, 1.602140e-08, 2.234574e-08, ..., 2.000000e-08,\n", + " 2.000000e-08, 2.000000e-08],\n", + " [0.000000e+00, 1.602140e-08, 2.234574e-08, ..., 2.000000e-08,\n", + " 2.000000e-08, 2.000000e-08],\n", + " [0.000000e+00, 1.602140e-08, 2.234574e-08, ..., 2.000000e-08,\n", + " 2.000000e-08, 2.000000e-08],\n", + " [0.000000e+00, 1.602140e-08, 2.234574e-08, ..., 2.000000e-08,\n", + " 2.000000e-08, 2.000000e-08]])
array([b'not_vegetated ',\n", + " b'needleleaf_evergreen_temperate_tree ',\n", + " b'needleleaf_evergreen_boreal_tree ',\n", + " b'needleleaf_deciduous_boreal_tree ',\n", + " b'broadleaf_evergreen_tropical_tree ',\n", + " b'broadleaf_evergreen_temperate_tree ',\n", + " b'broadleaf_deciduous_tropical_tree ',\n", + " b'broadleaf_deciduous_temperate_tree ',\n", + " b'broadleaf_deciduous_boreal_tree ',\n", + " b'broadleaf_evergreen_shrub ',\n", + " b'broadleaf_deciduous_temperate_shrub ',\n", + " b'broadleaf_deciduous_boreal_shrub ',\n", + " b'c3_arctic_grass ',\n", + " b'c3_non-arctic_grass ',\n", + " b'c4_grass ',\n", + " b'c3_crop ',\n", + " b'c3_irrigated ',\n", + " b'temperate_corn ',\n", + " b'irrigated_temperate_corn ',\n", + " b'spring_wheat ',\n", + " b'irrigated_spring_wheat ',\n", + " b'winter_wheat ',\n", + " b'irrigated_winter_wheat ',\n", + " b'temperate_soybean ',\n", + " b'irrigated_temperate_soybean ',\n", + " b'barley ',\n", + " b'irrigated_barley ',\n", + " b'winter_barley ',\n", + " b'irrigated_winter_barley ',\n", + " b'rye ',\n", + " b'irrigated_rye ',\n", + " b'winter_rye ',\n", + " b'irrigated_winter_rye ',\n", + " b'cassava ',\n", + " b'irrigated_cassava ',\n", + " b'citrus ',\n", + " b'irrigated_citrus ',\n", + " b'cocoa ',\n", + " b'irrigated_cocoa ',\n", + " b'coffee ',\n", + " b'irrigated_coffee ',\n", + " b'cotton ',\n", + " b'irrigated_cotton ',\n", + " b'datepalm ',\n", + " b'irrigated_datepalm ',\n", + " b'foddergrass ',\n", + " b'irrigated_foddergrass ',\n", + " b'grapes ',\n", + " b'irrigated_grapes ',\n", + " b'groundnuts ',\n", + " b'irrigated_groundnuts ',\n", + " b'millet ',\n", + " b'irrigated_millet ',\n", + " b'oilpalm ',\n", + " b'irrigated_oilpalm ',\n", + " b'potatoes ',\n", + " b'irrigated_potatoes ',\n", + " b'pulses ',\n", + " b'irrigated_pulses ',\n", + " b'rapeseed ',\n", + " b'irrigated_rapeseed ',\n", + " b'rice ',\n", + " b'irrigated_rice ',\n", + " b'sorghum ',\n", + " b'irrigated_sorghum ',\n", + " b'sugarbeet ',\n", + " b'irrigated_sugarbeet ',\n", + " b'sugarcane ',\n", + " b'irrigated_sugarcane ',\n", + " b'sunflower ',\n", + " b'irrigated_sunflower ',\n", + " b'miscanthus ',\n", + " b'irrigated_miscanthus ',\n", + " b'switchgrass ',\n", + " b'irrigated_switchgrass ',\n", + " b'tropical_corn ',\n", + " b'irrigated_tropical_corn ',\n", + " b'tropical_soybean ',\n", + " b'irrigated_tropical_soybean '], dtype='|S40')
array([b'sunlit ',\n", + " b'shaded ',\n", + " b'xylem ',\n", + " b'root '], dtype='|S40')
<xarray.DataArray 'medlynslope' (pft: 79)>\n", + "array([0. , 2.35, 2.35, 2.35, 4.12, 4.12, 4.45, 4.45, 4.45, 4.7 , 4.7 , 4.7 ,\n", + " 2.22, 5.25, 1.62, 5.79, 5.79, 1.79, 1.79, 5.79, 5.79, 5.79, 5.79, 5.79,\n", + " 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79,\n", + " 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79,\n", + " 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79,\n", + " 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 1.79, 1.79, 5.79, 5.79, 1.79,\n", + " 1.79, 1.79, 1.79, 1.79, 1.79, 5.79, 5.79])\n", + "Coordinates:\n", + " pftname (pft) |S40 b'not_vegetated ' ... b'irr...\n", + "Dimensions without coordinates: pft\n", + "Attributes:\n", + " long_name: Medlyn slope of conductance-photosynthesis relationship\n", + " units: umol H2O/umol CO2\n", + " comment: Values come from the values used in the CABLE model
array([0. , 2.35, 2.35, 2.35, 4.12, 4.12, 4.45, 4.45, 4.45, 4.7 , 4.7 , 4.7 ,\n", + " 2.22, 5.25, 1.62, 5.79, 5.79, 1.79, 1.79, 5.79, 5.79, 5.79, 5.79, 5.79,\n", + " 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79,\n", + " 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79,\n", + " 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79,\n", + " 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 1.79, 1.79, 5.79, 5.79, 1.79,\n", + " 1.79, 1.79, 1.79, 1.79, 1.79, 5.79, 5.79])
array([b'not_vegetated ',\n", + " b'needleleaf_evergreen_temperate_tree ',\n", + " b'needleleaf_evergreen_boreal_tree ',\n", + " b'needleleaf_deciduous_boreal_tree ',\n", + " b'broadleaf_evergreen_tropical_tree ',\n", + " b'broadleaf_evergreen_temperate_tree ',\n", + " b'broadleaf_deciduous_tropical_tree ',\n", + " b'broadleaf_deciduous_temperate_tree ',\n", + " b'broadleaf_deciduous_boreal_tree ',\n", + " b'broadleaf_evergreen_shrub ',\n", + " b'broadleaf_deciduous_temperate_shrub ',\n", + " b'broadleaf_deciduous_boreal_shrub ',\n", + " b'c3_arctic_grass ',\n", + " b'c3_non-arctic_grass ',\n", + " b'c4_grass ',\n", + " b'c3_crop ',\n", + " b'c3_irrigated ',\n", + " b'temperate_corn ',\n", + " b'irrigated_temperate_corn ',\n", + " b'spring_wheat ',\n", + " b'irrigated_spring_wheat ',\n", + " b'winter_wheat ',\n", + " b'irrigated_winter_wheat ',\n", + " b'temperate_soybean ',\n", + " b'irrigated_temperate_soybean ',\n", + " b'barley ',\n", + " b'irrigated_barley ',\n", + " b'winter_barley ',\n", + " b'irrigated_winter_barley ',\n", + " b'rye ',\n", + " b'irrigated_rye ',\n", + " b'winter_rye ',\n", + " b'irrigated_winter_rye ',\n", + " b'cassava ',\n", + " b'irrigated_cassava ',\n", + " b'citrus ',\n", + " b'irrigated_citrus ',\n", + " b'cocoa ',\n", + " b'irrigated_cocoa ',\n", + " b'coffee ',\n", + " b'irrigated_coffee ',\n", + " b'cotton ',\n", + " b'irrigated_cotton ',\n", + " b'datepalm ',\n", + " b'irrigated_datepalm ',\n", + " b'foddergrass ',\n", + " b'irrigated_foddergrass ',\n", + " b'grapes ',\n", + " b'irrigated_grapes ',\n", + " b'groundnuts ',\n", + " b'irrigated_groundnuts ',\n", + " b'millet ',\n", + " b'irrigated_millet ',\n", + " b'oilpalm ',\n", + " b'irrigated_oilpalm ',\n", + " b'potatoes ',\n", + " b'irrigated_potatoes ',\n", + " b'pulses ',\n", + " b'irrigated_pulses ',\n", + " b'rapeseed ',\n", + " b'irrigated_rapeseed ',\n", + " b'rice ',\n", + " b'irrigated_rice ',\n", + " b'sorghum ',\n", + " b'irrigated_sorghum ',\n", + " b'sugarbeet ',\n", + " b'irrigated_sugarbeet ',\n", + " b'sugarcane ',\n", + " b'irrigated_sugarcane ',\n", + " b'sunflower ',\n", + " b'irrigated_sunflower ',\n", + " b'miscanthus ',\n", + " b'irrigated_miscanthus ',\n", + " b'switchgrass ',\n", + " b'irrigated_switchgrass ',\n", + " b'tropical_corn ',\n", + " b'irrigated_tropical_corn ',\n", + " b'tropical_soybean ',\n", + " b'irrigated_tropical_soybean '], dtype='|S40')
<xarray.DataArray 'jmaxb0' ()>\n", + "array(0.0311)\n", + "Attributes:\n", + " long_name: Baseline proportion of nitrogen allocated for electron transport\n", + " units: J
array(0.0311)
<xarray.DataArray 'jmaxb0' ()>\n", + "array(0.05)\n", + "Attributes:\n", + " long_name: Baseline proportion of nitrogen allocated for electron transport\n", + " units: J
array(0.05)
<xarray.DataArray 'kmax' (segment: 4, pft: 79)>\n", + "array([[0.000000e+00, 3.204280e-08, 4.469149e-08, ..., 4.000000e-08,\n", + " 4.000000e-08, 4.000000e-08],\n", + " [0.000000e+00, 3.204280e-08, 4.469149e-08, ..., 4.000000e-08,\n", + " 4.000000e-08, 4.000000e-08],\n", + " [0.000000e+00, 3.204280e-08, 4.469149e-08, ..., 4.000000e-08,\n", + " 4.000000e-08, 4.000000e-08],\n", + " [0.000000e+00, 3.204280e-08, 4.469149e-08, ..., 4.000000e-08,\n", + " 4.000000e-08, 4.000000e-08]])\n", + "Coordinates:\n", + " pftname (pft) |S40 b'not_vegetated ' ... b'irr...\n", + " * segment (segment) |S40 b'sunlit ' ... b...\n", + "Dimensions without coordinates: pft\n", + "Attributes:\n", + " units: mm h2o (transpired)/mm h2o (water potential gradient)/sec\n", + " long_name: plant segment max conductance
array([[0.000000e+00, 3.204280e-08, 4.469149e-08, ..., 4.000000e-08,\n", + " 4.000000e-08, 4.000000e-08],\n", + " [0.000000e+00, 3.204280e-08, 4.469149e-08, ..., 4.000000e-08,\n", + " 4.000000e-08, 4.000000e-08],\n", + " [0.000000e+00, 3.204280e-08, 4.469149e-08, ..., 4.000000e-08,\n", + " 4.000000e-08, 4.000000e-08],\n", + " [0.000000e+00, 3.204280e-08, 4.469149e-08, ..., 4.000000e-08,\n", + " 4.000000e-08, 4.000000e-08]])
array([b'not_vegetated ',\n", + " b'needleleaf_evergreen_temperate_tree ',\n", + " b'needleleaf_evergreen_boreal_tree ',\n", + " b'needleleaf_deciduous_boreal_tree ',\n", + " b'broadleaf_evergreen_tropical_tree ',\n", + " b'broadleaf_evergreen_temperate_tree ',\n", + " b'broadleaf_deciduous_tropical_tree ',\n", + " b'broadleaf_deciduous_temperate_tree ',\n", + " b'broadleaf_deciduous_boreal_tree ',\n", + " b'broadleaf_evergreen_shrub ',\n", + " b'broadleaf_deciduous_temperate_shrub ',\n", + " b'broadleaf_deciduous_boreal_shrub ',\n", + " b'c3_arctic_grass ',\n", + " b'c3_non-arctic_grass ',\n", + " b'c4_grass ',\n", + " b'c3_crop ',\n", + " b'c3_irrigated ',\n", + " b'temperate_corn ',\n", + " b'irrigated_temperate_corn ',\n", + " b'spring_wheat ',\n", + " b'irrigated_spring_wheat ',\n", + " b'winter_wheat ',\n", + " b'irrigated_winter_wheat ',\n", + " b'temperate_soybean ',\n", + " b'irrigated_temperate_soybean ',\n", + " b'barley ',\n", + " b'irrigated_barley ',\n", + " b'winter_barley ',\n", + " b'irrigated_winter_barley ',\n", + " b'rye ',\n", + " b'irrigated_rye ',\n", + " b'winter_rye ',\n", + " b'irrigated_winter_rye ',\n", + " b'cassava ',\n", + " b'irrigated_cassava ',\n", + " b'citrus ',\n", + " b'irrigated_citrus ',\n", + " b'cocoa ',\n", + " b'irrigated_cocoa ',\n", + " b'coffee ',\n", + " b'irrigated_coffee ',\n", + " b'cotton ',\n", + " b'irrigated_cotton ',\n", + " b'datepalm ',\n", + " b'irrigated_datepalm ',\n", + " b'foddergrass ',\n", + " b'irrigated_foddergrass ',\n", + " b'grapes ',\n", + " b'irrigated_grapes ',\n", + " b'groundnuts ',\n", + " b'irrigated_groundnuts ',\n", + " b'millet ',\n", + " b'irrigated_millet ',\n", + " b'oilpalm ',\n", + " b'irrigated_oilpalm ',\n", + " b'potatoes ',\n", + " b'irrigated_potatoes ',\n", + " b'pulses ',\n", + " b'irrigated_pulses ',\n", + " b'rapeseed ',\n", + " b'irrigated_rapeseed ',\n", + " b'rice ',\n", + " b'irrigated_rice ',\n", + " b'sorghum ',\n", + " b'irrigated_sorghum ',\n", + " b'sugarbeet ',\n", + " b'irrigated_sugarbeet ',\n", + " b'sugarcane ',\n", + " b'irrigated_sugarcane ',\n", + " b'sunflower ',\n", + " b'irrigated_sunflower ',\n", + " b'miscanthus ',\n", + " b'irrigated_miscanthus ',\n", + " b'switchgrass ',\n", + " b'irrigated_switchgrass ',\n", + " b'tropical_corn ',\n", + " b'irrigated_tropical_corn ',\n", + " b'tropical_soybean ',\n", + " b'irrigated_tropical_soybean '], dtype='|S40')
array([b'sunlit ',\n", + " b'shaded ',\n", + " b'xylem ',\n", + " b'root '], dtype='|S40')
<xarray.DataArray 'medlynslope' (pft: 79)>\n", + "array([0. , 2.35, 2.35, 2.35, 4.12, 4.12, 4.45, 6. , 4.45, 4.7 , 4.7 , 4.7 ,\n", + " 2.22, 5.25, 1.62, 5.79, 5.79, 1.79, 1.79, 5.79, 5.79, 5.79, 5.79, 5.79,\n", + " 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79,\n", + " 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79,\n", + " 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79,\n", + " 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 1.79, 1.79, 5.79, 5.79, 1.79,\n", + " 1.79, 1.79, 1.79, 1.79, 1.79, 5.79, 5.79])\n", + "Coordinates:\n", + " pftname (pft) |S40 b'not_vegetated ' ... b'irr...\n", + "Dimensions without coordinates: pft\n", + "Attributes:\n", + " long_name: Medlyn slope of conductance-photosynthesis relationship\n", + " units: umol H2O/umol CO2\n", + " comment: Values come from the values used in the CABLE model
array([0. , 2.35, 2.35, 2.35, 4.12, 4.12, 4.45, 6. , 4.45, 4.7 , 4.7 , 4.7 ,\n", + " 2.22, 5.25, 1.62, 5.79, 5.79, 1.79, 1.79, 5.79, 5.79, 5.79, 5.79, 5.79,\n", + " 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79,\n", + " 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79,\n", + " 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79,\n", + " 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 5.79, 1.79, 1.79, 5.79, 5.79, 1.79,\n", + " 1.79, 1.79, 1.79, 1.79, 1.79, 5.79, 5.79])
array([b'not_vegetated ',\n", + " b'needleleaf_evergreen_temperate_tree ',\n", + " b'needleleaf_evergreen_boreal_tree ',\n", + " b'needleleaf_deciduous_boreal_tree ',\n", + " b'broadleaf_evergreen_tropical_tree ',\n", + " b'broadleaf_evergreen_temperate_tree ',\n", + " b'broadleaf_deciduous_tropical_tree ',\n", + " b'broadleaf_deciduous_temperate_tree ',\n", + " b'broadleaf_deciduous_boreal_tree ',\n", + " b'broadleaf_evergreen_shrub ',\n", + " b'broadleaf_deciduous_temperate_shrub ',\n", + " b'broadleaf_deciduous_boreal_shrub ',\n", + " b'c3_arctic_grass ',\n", + " b'c3_non-arctic_grass ',\n", + " b'c4_grass ',\n", + " b'c3_crop ',\n", + " b'c3_irrigated ',\n", + " b'temperate_corn ',\n", + " b'irrigated_temperate_corn ',\n", + " b'spring_wheat ',\n", + " b'irrigated_spring_wheat ',\n", + " b'winter_wheat ',\n", + " b'irrigated_winter_wheat ',\n", + " b'temperate_soybean ',\n", + " b'irrigated_temperate_soybean ',\n", + " b'barley ',\n", + " b'irrigated_barley ',\n", + " b'winter_barley ',\n", + " b'irrigated_winter_barley ',\n", + " b'rye ',\n", + " b'irrigated_rye ',\n", + " b'winter_rye ',\n", + " b'irrigated_winter_rye ',\n", + " b'cassava ',\n", + " b'irrigated_cassava ',\n", + " b'citrus ',\n", + " b'irrigated_citrus ',\n", + " b'cocoa ',\n", + " b'irrigated_cocoa ',\n", + " b'coffee ',\n", + " b'irrigated_coffee ',\n", + " b'cotton ',\n", + " b'irrigated_cotton ',\n", + " b'datepalm ',\n", + " b'irrigated_datepalm ',\n", + " b'foddergrass ',\n", + " b'irrigated_foddergrass ',\n", + " b'grapes ',\n", + " b'irrigated_grapes ',\n", + " b'groundnuts ',\n", + " b'irrigated_groundnuts ',\n", + " b'millet ',\n", + " b'irrigated_millet ',\n", + " b'oilpalm ',\n", + " b'irrigated_oilpalm ',\n", + " b'potatoes ',\n", + " b'irrigated_potatoes ',\n", + " b'pulses ',\n", + " b'irrigated_pulses ',\n", + " b'rapeseed ',\n", + " b'irrigated_rapeseed ',\n", + " b'rice ',\n", + " b'irrigated_rice ',\n", + " b'sorghum ',\n", + " b'irrigated_sorghum ',\n", + " b'sugarbeet ',\n", + " b'irrigated_sugarbeet ',\n", + " b'sugarcane ',\n", + " b'irrigated_sugarcane ',\n", + " b'sunflower ',\n", + " b'irrigated_sunflower ',\n", + " b'miscanthus ',\n", + " b'irrigated_miscanthus ',\n", + " b'switchgrass ',\n", + " b'irrigated_switchgrass ',\n", + " b'tropical_corn ',\n", + " b'irrigated_tropical_corn ',\n", + " b'tropical_soybean ',\n", + " b'irrigated_tropical_soybean '], dtype='|S40')