From a6e0dccd19ee16158d64891979033f92d98197c5 Mon Sep 17 00:00:00 2001 From: Sean Bryan <39685865+SeanBryan51@users.noreply.github.com> Date: Fri, 19 Apr 2024 15:32:04 +1000 Subject: [PATCH 01/18] Add support for MPI builds with the GNU compiler (#241) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The build script currently does not support MPI builds with the GNU compiler on Gadi. This is due to the `intel-mpi` module being loaded when we should be using an MPI module that is compatible with the chosen compiler. This change loads the `openmpi` module when GNU compilation is enabled in the build script. Fixes #239 ---- πŸ“š Documentation preview πŸ“š: https://cable--241.org.readthedocs.build/en/241/ --- build.bash | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/build.bash b/build.bash index 37b685db7..b4dd10f8d 100755 --- a/build.bash +++ b/build.bash @@ -75,10 +75,12 @@ if hostname -f | grep gadi.nci.org.au > /dev/null; then intel) module add intel-compiler/2019.5.281 compiler_lib_install_dir=Intel + [[ -n $mpi ]] && module add intel-mpi/2019.5.281 ;; gnu) module add gcc/13.2.0 compiler_lib_install_dir=GNU + [[ -n $mpi ]] && module add openmpi/4.1.4 ;; ?*) echo -e "\nError: compiler ${compiler} is not supported.\n" @@ -89,10 +91,6 @@ if hostname -f | grep gadi.nci.org.au > /dev/null; then # pkg-config: prepend_path PKG_CONFIG_PATH "${NETCDF_BASE}/lib/${compiler_lib_install_dir}/pkgconfig" - if [[ -n $mpi ]]; then - module add intel-mpi/2019.5.281 - fi - if module is-loaded openmpi; then # This is required so that the openmpi MPI libraries are discoverable # via CMake's `find_package` mechanism: From 81b8795766b95063acfafe8c48e0b2bdf974ce68 Mon Sep 17 00:00:00 2001 From: "C. Carouge" Date: Tue, 7 May 2024 16:08:23 +1000 Subject: [PATCH 02/18] (#285): run testcase from within src/offline/ for now. --- documentation/docs/user_guide/uber_quick_guide.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/documentation/docs/user_guide/uber_quick_guide.md b/documentation/docs/user_guide/uber_quick_guide.md index 8f0aea573..17246dbfb 100644 --- a/documentation/docs/user_guide/uber_quick_guide.md +++ b/documentation/docs/user_guide/uber_quick_guide.md @@ -13,7 +13,8 @@ Assuming you have computing resources on gadi@NCI, installing and running CABLE 1. Execute this serial version of CABLE - ./bin/cable + cd src/offline + ../../bin/cable ## In slightly more detail From 38e2a64a861f8b109f38f54de032950ea398d34d Mon Sep 17 00:00:00 2001 From: Ramzi Kutteh Date: Mon, 20 May 2024 21:34:48 +1000 Subject: [PATCH 03/18] Update content of pft_params.nml options under User Guide --- .../docs/user_guide/inputs/pft_params_nml.md | 218 +++++++++++++----- 1 file changed, 157 insertions(+), 61 deletions(-) diff --git a/documentation/docs/user_guide/inputs/pft_params_nml.md b/documentation/docs/user_guide/inputs/pft_params_nml.md index b95773bc5..08e9d0bfe 100644 --- a/documentation/docs/user_guide/inputs/pft_params_nml.md +++ b/documentation/docs/user_guide/inputs/pft_params_nml.md @@ -1,5 +1,162 @@ # pft_params.nml options +In CABLE the characteristics of the vegetation cover are parametrised and generally remain constant throughout the simulation. These **vegetation parameters** in general vary by **vegetation type**. +CABLE supports tiling of vegetation, i.e. multiple vegetation types with specified area fractions for a single location/grid-cell (also referred to as patches in CABLE). +Altogether CABLE considers the 17 distinct types of vegetation cover listed in Table 1. +Eleven of those are plant functional types (PFT), two are generally unoccupied, and the remaining four are not vegetated. + +## Table 1: CABLE vegetation types + +| Number | Type | +|--------|----------------------| +| 1 | Evergreen Needleleaf | +| 2 | Evergreen Broadleaf | +| 3 | Deciduous Needleleaf | +| 4 | Deciduous Broadleaf | +| 5 | Shrub | +| 6 | C3 Grassland | +| 7 | C4 Grassland | +| 8 | Tundra | +| 9 | C3 Cropland | +| 10 | C4 Cropland | +| 11 | Wetland | +| 12 | empty | +| 13 | empty | +| 14 | Barren | +| 15 | Urban | +| 16 | Lakes | +| 17 | Ice | + +The CABLE vegetation parameters are listed in Table 2 along with their value ranges, units, and descriptions. All parameters in Table 2 are of type real and dimension 17, corresponding to the number of vegetation types in Table 1. +The ranges listed are β€œphysically possible” and mostly correspond to the optional checks in the CABLE offline code. +## Table 2: CABLE vegetation parameters + +| Name (vegin%) | Range | Units | Description | +|-----------------------|------------------|-----------------------------------------------------------------------------------------------------|-------------| +| a1gs | >=0.0 | \( (-) \) | a1 parameter in stomatal conductance model. Represents the sensitivity of stomatal conductance to the assimilation rate | +| alpha | >=0.0 | \( (mol (electrons) \cdot mol^{-1} (photons) (C3) \cdot mol (CO2) \cdot mol^{-1} (photons) (C4)) \) | Initial slope of J-Q response curve | +| canst1 | 0.05 – 0.15 | \( (mm \cdot LAI^{-1}) \) | Maximum intercepted water by canopy | +| cfrd | >=0.0 | \( (-) \) | Ratio of day respiration to vcmax | +| clitt | >=0.0 | \( (tC \cdot ha^{-1}) \) | Leaf litter (alters resistance to soil evaporation) | +| conkc0 | >=0.0 | \( (bar) \) | Michaelis-Menton constant for carboxylase | +| conko0 | >=0.0 | \( (bar) \) | Michaelis-Menton constant for oxygenase | +| convex | >=0.0 | \( (-) \) | Convexity of J-Q response curve | +| cplant1 | >=0.0 | \( (gC \cdot m^{-2}) \) | Plant carbon in 1st vegetation carbon store | +| cplant2 | >=0.0 | \( (gC \cdot m^{-2}) \) | Plant carbon in 2nd vegetation carbon store | +| cplant3 | >=0.0 | \( (gC \cdot m^{-2}) \) | Plant carbon in 3rd vegetation carbon store | +| csoil1 | >=0.0 | \( (gC \cdot m^{-2}) \) | Soil carbon in 1st soil carbon store | +| csoil2 | >=0.0 | \( (gC \cdot m^{-2}) \) | Soil carbon in 2nd soil carbon store | +| d0gs | >=0.0 | \( (kPa) \) | d0 in stomatal conductance model | +| ejmax | 0 – 3.0E-4 | \( (mol \cdot m^{-2} \cdot s^{-1}) \) | Maximum potential electron transp rate top leaf | +| ekc | >=0.0 | \( (J \cdot mol^{-1}) \) | Activation energy for carboxylase | +| eko | >=0.0 | \( (J \cdot mol^{-1}) \) | Activation energy for oxygenase | +| extkn | 0.0 – 10.0 | \( (-) \) | Extinction coeficient for vertical profile of N | +| frac4 | 0.0 – 1.0 | \( (-) \) | Fraction of c4 plants | +| froot1 | 0.0 – 1.0 | \( (-) \) | Fraction of root in soil layer 1 | +| froot2 | 0.0 – 1.0 | \( (-) \) | Fraction of root in soil layer 2 | +| froot3 | 0.0 – 1.0 | \( (-) \) | Fraction of root in soil layer 3 | +| froot4 | 0.0 – 1.0 | \( (-) \) | Fraction of root in soil layer 4 | +| froot5 | 0.0 – 1.0 | \( (-) \) | Fraction of root in soil layer 5 | +| froot6 | 0.0 – 1.0 | \( (-) \) | Fraction of root in soil layer 6 | +| g0 | -0.5 – 0.5 | \( (mol \cdot m^{-2} \cdot s^{-1}) \) | Belinda's stomatal model intercept. Residual stomatal conductance as net assimilation rate reaches zero | +| g1 | 0.0 – 20.0 | \( (kPa) \) | Belinda's stomatal model slope. Sensitivity of stomatal conductance to the assimilation rate | +| gswmin | >=0.0 | \( (mol \cdot m^{-2} \cdot s^{-1}) \) | Minimal stomatal conductance | +| hc | 0.0 – 100.0 | \( (m) \) | Roughness height of canopy (veg - snow) | +| lai | 0.0 – 8.0 | \( (-) or (m^{2} \cdot m^{-2} ) \) | Leaf area index of each plant functional type | +| length | >=0.0 | \( (m) \) | Leaf length | +| ratecp1 | 0.01 – 3.0 | \( (year^{-1}) \) | Plant carbon pool rate constant in 1st vegetation carbon store | +| ratecp2 | 0.01 – 3.0 | \( (year^{-1}) \) | Plant carbon pool rate constant in 2nd vegetation carbon store | +| ratecp3 | 0.01 – 3.0 | \( (year^{-1}) \) | Plant carbon pool rate constant in 3rd vegetation carbon store | +| ratecs1 | 0.01 – 3.0 | \( (year^{-1}) \) | Soil carbon pool rate constant in 1st soil carbon store | +| ratecs2 | 0.01 – 3.0 | \( (year^{-1}) \) | Soil carbon pool rate constant in 2nd soil carbon store | +| refl1 | 0.0 – 0.5 | \( (-) \) | Leaf reflectance in 1st radiation band | +| refl2 | 0.0 – 0.5 | \( (-) \) | Leaf reflectance in 2nd radiation band | +| refl3 | 0.0 – 0.5 | \( (-) \) | Leaf reflectance in 3rd radiation band | +| rootbeta | 0.0 – 1.0 | \( (-) \) | Beta parameter to calculate froot (Jackson et al. 1996) | +| rp20 | 0.0 – 10.0 | \( (-) \) | Plant respiration coefficient at 20 C | +| rpcoef | 0.05 – 1.5 | \( (^{\circ}C^{-1}) \) | Temperature coefficient non-leaf plant respiration | +| rs20 | 0.0 – 10.0 | \( (mol \cdot m^{-2} \cdot s^{-1} ) \) | Soil respiration at 20 C | +| shelrb | 1.0 – 3.0 | \( (-) \) | Sheltering factor | +| taul1 | 0.0 – 0.3 | \( (-) \) | Leaf transmittance in 1st radiation band | +| taul2 | 0.0 – 0.3 | \( (-) \) | Leaf transmittance in 2nd radiation band | +| taul3 | 0.0 – 0.3 | \( (-) \) | Leaf transmittance in 3rd radiation band | +| tmaxvj | -15.0 – 30.0 | \( (^{\circ}C) \) | Maximum temperature of the start of photosynthesis | +| tminvj | -20.0 – 15.0 | \( (^{\circ}C) \) | Minimum temperature of the start of photosynthesis | +| vbeta | -999999 – 999999 | \( (-) \) | Stomatal sensitivity to soil water | +| vcmax | 5.0E-6 – 1.5E-4 | \( ( mol \cdot m^{-2} \cdot s^{-1} ) \) | Maximum RuBP carboxylation rate top leaf | +| vegcf | 0.0 – 100.0 | \( (-) \) | Scaling on soil respiration (place-holder scheme) | +| width | >=0.0 | \( (m) \) | Leaf width | +| xfang | -1.0 – 0.5 | \( (-) \) | Leaf angle | +| zr | >=0.0 | \( (cm) \) | Maximum rooting depth | + + + +The CABLE default values of the vegetation parameters in Table 2 for the vegetation types in Table 1 are listed in Table 3. + +## Table 3: Default vegetation parameter values + +| | Evergreen Needleleaf | Evergreen Broadleaf | Deciduous Needleleaf | Deciduous Broadleaf | Shrub | C3 Grassland | C4 Grassland | Tundra | C3 Cropland | C4 Cropland | Wetland | empty | empty | Barren | Urban | Lakes | Ice | +|----------------|----------------------|---------------------|----------------------|---------------------|-------|--------------|--------------|--------|-------------|-------------|---------|-------|-------|--------|-------|-------|-----| +| a1gs | 9 | 9 | 9 | 9 | 9 | 9 | 4 | 9 | 9 | 4 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | +| alpha | 0.2 | 0.2 | 0.2 | 0.2 | 0.2 | 0.2 | 0.05 | 0.2 | 0.2 | 0.05 | 0.2 | 0.2 | 0.2 | 0.2 | 0.2 | 0.2 | 0.2 | +| canst1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | 0.1 | +| cfrd | 0.015 | 0.015 | 0.015 | 0.015 | 0.015 | 0.025 | 0.015 | 0.015 | 0.025 | 0.015 | 0.015 | 0.015 | 0.015 | 0.015 | 0.015 | 0.015 | 0.015 | +| clitt | 20 | 6 | 10 | 13 | 2 | 2 | 0.3 | 0.3 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | +| conkc0 | 0.000302 | 0.000302 | 0.000302 | 0.000302 | 0.000302 | 0.000302 | 0.000302 | 0.000302 | 0.000302 | 0.000302 | 0.000302 | 0.000302 | 0.000302 | 0.000302 | 0.000302 | 0.000302 | 0.000302 | +| conko0 | 0.256 | 0.256 | 0.256 | 0.256 | 0.256 | 0.256 | 0.256 | 0.256 | 0.256 | 0.256 | 0.256 | 0.256 | 0.256 | 0.256 | 0.256 | 0.256 | 0.256 | +| convex | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.8 | 0.01 | 0.01 | 0.8 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | +| cplant1 | 200 | 300 | 200 | 300 | 159 | 250 | 250 | 250 | 150 | 150 | 250 | 1 | 0.1 | 0 | 1 | 1 | 0 | +| cplant2 | 10217 | 16833 | 5967 | 12000 | 5000 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | +| cplant3 | 876 | 1443 | 511 | 1029 | 500 | 500 | 500 | 500 | 607 | 607 | 500 | 1 | 0.1 | 0 | 1 | 1 | 0 | +| csoil1 | 184 | 303 | 107 | 216 | 100 | 275 | 275 | 275 | 149 | 149 | 275 | 1 | 0.1 | 1 | 1 | 1 | 1 | +| csoil2 | 367 | 606 | 214 | 432 | 250 | 314 | 314 | 314 | 300 | 300 | 314 | 1 | 0.1 | 1 | 1 | 1 | 1 | +| d0gs | 1500 | 1500 | 1500 | 1500 | 1500 | 1500 | 1500 | 1500 | 1500 | 1500 | 1500 | 1500 | 1500 | 1500 | 1500 | 1500 | 1500 | +| ejmax | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | +| ekc | 59430 | 59430 | 59430 | 59430 | 59430 | 59430 | 59430 | 59430 | 59430 | 59430 | 59430 | 59430 | 59430 | 59430 | 59430 | 59430 | 59430 | +| eko | 36000 | 36000 | 36000 | 36000 | 36000 | 36000 | 36000 | 36000 | 36000 | 36000 | 36000 | 36000 | 36000 | 36000 | 36000 | 36000 | 36000 | +| extkn | 0.001 | 0.001 | 0.001 | 0.001 | 0.001 | 0.001 | 0.001 | 0.001 | 0.001 | 0.001 | 0.001 | 0.001 | 0.001 | 0.001 | 0.001 | 0.001 | 0.001 | +| frac4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0| +| froot1 | 0.05 | 0.2 | 0.2 | 0.2 | 0.2 | 0.15 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | +| froot2 | 0.05 | 0.2 | 0.2 | 0.2 | 0.2 | 0.15 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | +| froot3 | 0.05 | 0.2 | 0.2 | 0.2 | 0.2 | 0.15 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | +| froot4 | 0.05 | 0.2 | 0.2 | 0.2 | 0.2 | 0.15 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | +| froot5 | 0.05 | 0.2 | 0.2 | 0.2 | 0.2 | 0.15 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | +| froot6 | 0.05 | 0.2 | 0.2 | 0.2 | 0.2 | 0.15 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | +| g0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | +| g1 | 2.346064 | 4.114762 | 2.346064 | 4.447321 | 4.694803 | 5.2485 | 1.616178 | 2.222156 | 5.789377 | 1.616178 | 5.2485 | 5.2485 | 0 | 5.2485 | 5.2485 | 5.2485 | 5.2485 | +| gswmin | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.04 | 0.01 | 0.01 | 0.04 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | +| hc | 17 | 35 | 15.5 | 20 | 0.6 | 0.567 | 0.567 | 0.567 | 0.55 | 0.55 | 0.567 | 0.2 | 6.017 | 0.2 | 0.2 | 0.2 | 0.2 | +| lai | 4 | 5 | 0 | 0 | 0 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | +| length | 0.055 | 0.1 | 0.04 | 0.15 | 0.1 | 0.3 | 0.3 | 0.3 | 0.3 | 0.3 | 0.3 | 0.03 | 0.242 | 0.03 | 0.03 | 0.03 | 0.03 | +| ratecp1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | +| ratecp2 | 0.03 | 0.03 | 0.03 | 0.03 | 0.03 | 0.03 | 0.03 | 0.03 | 0.03 | 0.03 | 0.03 | 0.03 | 0.03 | 0.03 | 0.03 | 0.03 | 0.03 | +| ratecp3 | 0.14 | 0.14 | 0.14 | 0.14 | 0.14 | 0.14 | 0.14 | 0.14 | 0.14 | 0.14 | 0.14 | 0.14 | 0.14 | 0.14 | 0.14 | 0.14 | 0.14 | +| ratecs1 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | +| ratecs2 | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | +| refl1 | 0.09 | 0.09 | 0.075 | 0.09 | 0.09 | 0.11 | 0.11 | 0.075 | 0.11 | 0.11 | 0.108 | 0.055 | 0.091 | 0.238 | 0.143 | 0.143 | 0.159 | +| refl2 | 0.3 | 0.29 | 0.3 | 0.29 | 0.3 | 0.34 | 0.34 | 0.32 | 0.34 | 0.34 | 0.343 | 0.19 | 0.31 | 0.457 | 0.275 | 0.275 | 0.305 | +| refl3 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | +| rootbeta | 0.943 | 0.962 | 0.966 | 0.961 | 0.964 | 0.943 | 0.943 | 0.943 | 0.961 | 0.961 | 0.943 | 0.975 | 0.961 | 0.961 | 0.961 | 0.961 | 0.961 | +| rp20 | 3 | 0.6 | 3 | 2.2 | 1 | 1.5 | 2.8 | 2.5 | 1.5 | 1 | 1.5 | 1 | 1 | 1 | 1 | 1 | 1 | +| rpcoef | 0.0832 | 0.0832 | 0.0832 | 0.0832 | 0.0832 | 0.0832 | 0.0832 | 0.0832 | 0.0832 | 0.0832 | 0.0832 | 0.0832 | 0.0832 | 0.0832 | 0.0832 | 0.0832 | 0.0832 | +| rs20 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | +| shelrb | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | +| taul1 | 0.09 | 0.09 | 0.075 | 0.09 | 0.09 | 0.11 | 0.11 | 0.075 | 0.11 | 0.11 | 0.075 | 0.023 | 0.059 | 0.039 | 0.023 | 0.023 | 0.026 | +| taul2 | 0.3 | 0.29 | 0.3 | 0.29 | 0.3 | 0.34 | 0.34 | 0.32 | 0.34 | 0.34 | 0.146 | 0.198 | 0.163 | 0.189 | 0.113 | 0.113 | 0.113 | +| taul3 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | +| tmaxvj | -10 | -10 | 10 | 15 | -10 | -10 | -10 | -10 | -10 | -10 | -10 | -10 | -10 | -10 | -10 | -10 | -10 | +| tminvj | -15 | -15 | 5 | 5 | -15 | -15 | -15 | -15 | -15 | -15 | -15 | -15 | -15 | -15 | -15 | -15 | -15 | +| vbeta | 2 | 2 | 2 | 2 | 4 | 4 | 4 | 4 | 2 | 2 | 4 | 4 | 2 | 4 | 4 | 4 | 4 | +| vcmax | 4E-05 | 5.5E-05 | 4E-05 | 6E-05 | 4E-05 | 6E-05 | 1E-05 | 4E-05 | 8E-05 | 8E-05 | 6E-05 | 1.7E-05 | 1E-06 | 1.7E-05 | 1.7E-05 | 1.7E-05 | 1.7E-05 | +| vegcf | 9 | 14 | 9 | 8 | 5 | 7 | 7 | 5 | 7 | 1 | 7 | 1 | 1 | 1 | 1 | 1 | 1 | +| width | 0.001 | 0.05 | 0.001 | 0.08 | 0.005 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.01 | 0.003 | 0.015 | 0.001 | 0.001 | 0.001 | 0.001 | +| xfang | 0.01 | 0.1 | 0.01 | 0.25 | 0.01 | -0.3 | -0.3 | -0.3 | -0.3 | -0.3 | -0.3 | 0.1 | 0 | 0 | 0 | 0 | 0| +| zr | 1.8 | 3 | 2 | 2 | 2.5 | 0.5 | 0.5 | 0.5 | 0.5 | 0.5 | 1.8 | 3.1 | 3 | 1 | 1 | 1 | 1 | + + + +The CABLE distribution provides the default vegetation parameter values from Table 3 in the namelist file pft_params.nml, including the vegetation types from Table 1 in the top part. +The chosen parameter values in offline cases can be checked against the pre-defined realistic parameter value ranges using the CABLE namelist variable check%ranges=.true. in cable.nml. ## Example pft_params.nml file !!! Note "Namelist file format explanation" @@ -71,67 +228,6 @@ vegin%zr=1.800000,3.000000,2.000000,2.000000,2.500000,5*0.500000,1.800000,3.1000 / ``` -## Descriptive table of parameters - -| Namelist variable| Type | Available values | Default values | Description | -|------------------|------|------------------|----------------|-------------| -| vegin%a1gs | real | >=0.0 | 9, 9, 9, 9, 9, 9, 4, 9, 9, 4, 9, 9, 9, 9, 9, 9, 9 | a1 parameter in stomatal conductance model. Represents the sensitivity of stomatal conductance to the assimilation rate \( (-) \) | -| vegin%alpha | real | >=0.0 | 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.05, 0.2, 0.2, 0.05, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2 | Initial slope of J-Q response curve \( (mol (electrons) \cdot mol^{-1} (photons) (C3) \cdot mol (CO2) \cdot mol^{-1} (photons) (C4)) \) | -| vegin%canst1 | real | 0.05 – 0.15 | 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1 | Maximum intercepted water by canopy \( (mm \cdot LAI^{-1}) \) | -| vegin%cfrd | real | >=0.0 | 0.015, 0.015, 0.015, 0.015, 0.015, 0.025, 0.015, 0.015, 0.025, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015, 0.015 | Ratio of day respiration to vcmax \( (-) \) | -| vegin%clitt | real | >=0.0 | 20, 6, 10, 13, 2, 2, 0.3, 0.3, 0, 0, 2, 2, 0, 0, 0, 0, 0 | Leaf litter (alters resistance to soil evaporation) \( (tC \cdot ha^{-1}) \) | -| vegin%conkc0 | real | >=0.0 | 0.000302, 0.000302, 0.000302, 0.000302, 0.000302, 0.000302, 0.000302, 0.000302, 0.000302, 0.000302, 0.000302, 0.000302, 0.000302, 0.000302, 0.000302, 0.000302, 0.000302 | Michaelis-Menton constant for carboxylase \( (bar) \) | -| vegin%conko0 | real | >=0.0 | 0.256, 0.256, 0.256, 0.256, 0.256, 0.256, 0.256, 0.256, 0.256, 0.256, 0.256, 0.256, 0.256, 0.256, 0.256, 0.256, 0.256 | Michaelis-Menton constant for oxygenase \( (bar) \) | -| vegin%convex | real | >=0.0 | 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.8, 0.01, 0.01, 0.8, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 | Convexity of J-Q response curve \( (-) \) | -| vegin%cplant1 | real | >=0.0 | 200, 300, 200, 300, 159, 250, 250, 250, 150, 150, 250, 1, 0.1, 0, 1, 1, 0 | Plant carbon in 1st vegetation carbon store \( (gC \cdot m^{-2}) \) | -| vegin%cplant2 | real | >=0.0 | 10217, 16833, 5967, 12000, 5000, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 | Plant carbon in 2nd vegetation carbon store \( (gC \cdot m^{-2}) \) | -| vegin%cplant3 | real | >=0.0 | 876, 1443, 511, 1029, 500, 500, 500, 500, 607, 607, 500, 1, 0.1, 0, 1, 1, 0 | Plant carbon in 3rd vegetation carbon store \( (gC \cdot m^{-2}) \) | -| vegin%csoil1 | real | >=0.0 | 184, 303, 107, 216, 100, 275, 275, 275, 149, 149, 275, 1, 0.1, 1, 1, 1, 1 | Soil carbon in 1st soil carbon store \( (gC \cdot m^{-2}) \) | -| vegin%csoil2 | real | >=0.0 | 367, 606, 214, 432, 250, 314, 314, 314, 300, 300, 314, 1, 0.1, 1, 1, 1, 1 | Soil carbon in 2nd soil carbon store \( (gC \cdot m^{-2}) \) | -| vegin%d0gs | real | >=0.0 | 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500 | d0 in stomatal conductance model \( (kPa) \) | -| vegin%desc | character | | 'Evergreen Needleleaf', 'Evergreen Broadleaf', 'Deciduous Needleleaf', 'Deciduous Broadleaf', 'Shrub', 'C3 Grassland', 'C4 Grassland', 'Tundra', 'C3 Cropland', 'C4 Cropland', 'Wetland', 'empty', 'empty', 'Barren', 'Urban', 'Lakes', 'Ice' | Description of plant functional type | -| vegin%ejmax | real | 0 – 3.0E-4 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 | Maximum potential electron transp rate top leaf \( (mol \cdot m^{-2} \cdot s^{-1}) \) | -| vegin%ekc | real | >=0.0 | 59430, 59430, 59430, 59430, 59430, 59430, 59430, 59430, 59430, 59430, 59430, 59430, 59430, 59430, 59430, 59430, 59430 | Activation energy for carboxylase \( (J \cdot mol^{-1}) \) | -| vegin%eko | real | >=0.0 | 36000, 36000, 36000, 36000, 36000, 36000, 36000, 36000, 36000, 36000, 36000, 36000, 36000, 36000, 36000, 36000, 36000 | Activation energy for oxygenase \( (J \cdot mol^{-1}) \) | -| vegin%extkn | real | 0.0 – 10.0 | 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001 | Extinction coeficient for vertical profile of N \( (-) \) | -| vegin%frac4 | real | 0.0 – 1.0 | 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0| Fraction of c4 plants \( (-) \) | -| vegin%froot1 | real | 0.0 – 1.0 | 0.05, 0.2, 0.2, 0.2, 0.2, 0.15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 | Fraction of root in soil layer 1 \( (-) \) | -| vegin%froot2 | real | 0.0 – 1.0 | 0.05, 0.2, 0.2, 0.2, 0.2, 0.15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 | Fraction of root in soil layer 2 \( (-) \) | -| vegin%froot3 | real | 0.0 – 1.0 | 0.05, 0.2, 0.2, 0.2, 0.2, 0.15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 | Fraction of root in soil layer 3 \( (-) \) | -| vegin%froot4 | real | 0.0 – 1.0 | 0.05, 0.2, 0.2, 0.2, 0.2, 0.15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 | Fraction of root in soil layer 4 \( (-) \) | -| vegin%froot5 | real | 0.0 – 1.0 | 0.05, 0.2, 0.2, 0.2, 0.2, 0.15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 | Fraction of root in soil layer 5 \( (-) \) | -| vegin%froot6 | real | 0.0 – 1.0 | 0.05, 0.2, 0.2, 0.2, 0.2, 0.15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 | Fraction of root in soil layer 6 \( (-) \) | -| vegin%g0 | real | -0.5 – 0.5 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 | Belinda's stomatal model intercept. Residual stomatal conductance as net assimilation rate reaches zero \( (mol \cdot m^{-2} \cdot s^{-1}) \) | -| vegin%g1 | real | 0.0 – 20.0 | 2.346064, 4.114762, 2.346064, 4.447321, 4.694803, 5.2485, 1.616178, 2.222156, 5.789377, 1.616178, 5.2485, 5.2485, 0, 5.2485, 5.2485, 5.2485, 5.2485 | Belinda's stomatal model slope. Sensitivity of stomatal conductance to the assimilation rate \( (kPa) \) | -| vegin%gswmin | real | >=0.0 | 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.04, 0.01, 0.01, 0.04, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 | Minimal stomatal conductance \( (mol \cdot m^{-2} \cdot s^{-1}) \) | -| vegin%hc | real | 0.0 – 100.0 | 17, 35, 15.5, 20, 0.6, 0.567, 0.567, 0.567, 0.55, 0.55, 0.567, 0.2, 6.017, 0.2, 0.2, 0.2, 0.2 | Roughness height of canopy (veg - snow) \( (m) \) | -| vegin%lai | real | 0.0 – 8.0 | 4, 5, 0, 0, 0, 0.2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 | Leaf area index of each plant functional type \( (-) or (m^{2} \cdot m^{-2} ) \) | -| vegin%length | real | >=0.0 | 0.055, 0.1, 0.04, 0.15, 0.1, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.03, 0.242, 0.03, 0.03, 0.03, 0.03 | Leaf length \( (m) \) | -| vegin%ratecp1 | real | 0.01 – 3.0 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 | Plant carbon pool rate constant in 1st vegetation carbon store \( (year^{-1}) \) | -| vegin%ratecp2 | real | 0.01 – 3.0 | 0.03, 0.03, 0.03, 0.03, 0.03, 0.03, 0.03, 0.03, 0.03, 0.03, 0.03, 0.03, 0.03, 0.03, 0.03, 0.03, 0.03 | Plant carbon pool rate constant in 2nd vegetation carbon store \( (year^{-1}) \) | -| vegin%ratecp3 | real | 0.01 – 3.0 | 0.14, 0.14, 0.14, 0.14, 0.14, 0.14, 0.14, 0.14, 0.14, 0.14, 0.14, 0.14, 0.14, 0.14, 0.14, 0.14, 0.14 | Plant carbon pool rate constant in 3rd vegetation carbon store \( (year^{-1}) \) | -| vegin%ratecs1 | real | 0.01 – 3.0 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 | Soil carbon pool rate constant in 1st soil carbon store \( (year^{-1}) \) | -| vegin%ratecs2 | real | 0.01 – 3.0 | 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5 | Soil carbon pool rate constant in 2nd soil carbon store \( (year^{-1}) \) | -| vegin%refl1 | real | 0.0 – 0.5 | 0.09, 0.09, 0.075, 0.09, 0.09, 0.11, 0.11, 0.075, 0.11, 0.11, 0.108, 0.055, 0.091, 0.238, 0.143, 0.143, 0.159 | Leaf reflectance in 1st radiation band \( (-) \) | -| vegin%refl2 | real | 0.0 – 0.5 | 0.3, 0.29, 0.3, 0.29, 0.3, 0.34, 0.34, 0.32, 0.34, 0.34, 0.343, 0.19, 0.31, 0.457, 0.275, 0.275, 0.305 | Leaf reflectance in 2nd radiation band \( (-) \) | -| vegin%refl3 | real | 0.0 – 0.5 | 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 | Leaf reflectance in 3rd radiation band \( (-) \) | -| vegin%rootbeta | real | 0.0 – 1.0 | 0.943, 0.962, 0.966, 0.961, 0.964, 0.943, 0.943, 0.943, 0.961, 0.961, 0.943, 0.975, 0.961, 0.961, 0.961, 0.961, 0.961 | Beta parameter to calculate froot (Jackson et al. 1996) \( (-) \) | -| vegin%rp20 | real | 0.0 – 10.0 | 3, 0.6, 3, 2.2, 1, 1.5, 2.8, 2.5, 1.5, 1, 1.5, 1, 1, 1, 1, 1, 1 | Plant respiration coefficient at 20 C \( (-) \) | -| vegin%rpcoef | real | 0.05 – 1.5 | 0.0832, 0.0832, 0.0832, 0.0832, 0.0832, 0.0832, 0.0832, 0.0832, 0.0832, 0.0832, 0.0832, 0.0832, 0.0832, 0.0832, 0.0832, 0.0832, 0.0832 | Temperature coefficient non-leaf plant respiration \( (^{\circ}C^{-1}) \) | -| vegin%rs20 | real | 0.0 – 10.0 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0 | Soil respiration at 20 C \( (mol \cdot m^{-2} \cdot s^{-1} ) \) | -| vegin%shelrb | real | 1.0 – 3.0 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 | Sheltering factor \( (-) \) | -| vegin%taul1 | real | 0.0 – 0.3 | 0.09, 0.09, 0.075, 0.09, 0.09, 0.11, 0.11, 0.075, 0.11, 0.11, 0.075, 0.023, 0.059, 0.039, 0.023, 0.023, 0.026 | Leaf transmittance in 1st radiation band \( (-) \) | -| vegin%taul2 | real | 0.0 – 0.3 | 0.3, 0.29, 0.3, 0.29, 0.3, 0.34, 0.34, 0.32, 0.34, 0.34, 0.146, 0.198, 0.163, 0.189, 0.113, 0.113, 0.113 | Leaf transmittance in 2nd radiation band \( (-) \) | -| vegin%taul3 | real | 0.0 – 0.3 | 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01 | Leaf transmittance in 3rd radiation band \( (-) \) | -| vegin%tmaxvj | real | -15.0 – 30.0 | -10, -10, 10, 15, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10, -10 | Maximum temperature of the start of photosynthesis \( (^{\circ}C) \) | -| vegin%tminvj | real | -20.0 – 15.0 | -15, -15, 5, 5, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15, -15 | Minimum temperature of the start of photosynthesis \( (^{\circ}C) \) | -| vegin%vbeta | real | -999999 – 999999 | 2, 2, 2, 2, 4, 4, 4, 4, 2, 2, 4, 4, 2, 4, 4, 4, 4 | Stomatal sensitivity to soil water \( (-) \) | -| vegin%vcmax | real | 5.0E-6 – 1.5E-4 | 4E-05, 5.5E-05, 4E-05, 6E-05, 4E-05, 6E-05, 1E-05, 4E-05, 8E-05, 8E-05, 6E-05, 1.7E-05, 1E-06, 1.7E-05, 1.7E-05, 1.7E-05, 1.7E-05 | Maximum RuBP carboxylation rate top leaf \( ( mol \cdot m^{-2} \cdot s^{-1} ) \) | -| vegin%vegcf | real | 0.0 – 100.0 | 9, 14, 9, 8, 5, 7, 7, 5, 7, 1, 7, 1, 1, 1, 1, 1, 1 | Scaling on soil respiration (place-holder scheme) \( (-) \) | -| vegin%width | real | >=0.0 | 0.001, 0.05, 0.001, 0.08, 0.005, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.003, 0.015, 0.001, 0.001, 0.001, 0.001 | Leaf width \( (m) \) | -| vegin%xfang | real | -1.0 – 0.5 | 0.01, 0.1, 0.01, 0.25, 0.01, -0.3, -0.3, -0.3, -0.3, -0.3, -0.3, 0.1, 0, 0, 0, 0, 0| Leaf angle \( (-) \) | -| vegin%zr | real | >=0.0 | 1.8, 3, 2, 2, 2.5, 0.5, 0.5, 0.5, 0.5, 0.5, 1.8, 3.1, 3, 1, 1, 1, 1 | Maximum rooting depth \( (cm) \) | - ## Unused parameters | Name | Type | Available | Default | Description | From 400f550f160d2fae79496067b93f6011b2661be9 Mon Sep 17 00:00:00 2001 From: Abhaas Goyal Date: Wed, 22 May 2024 18:07:02 +1000 Subject: [PATCH 04/18] Auto refresh MathJax on page load --- documentation/docs/javascripts/mathjax.js | 35 +++++++++++++---------- documentation/mkdocs.yml | 4 +-- 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/documentation/docs/javascripts/mathjax.js b/documentation/docs/javascripts/mathjax.js index e648674dd..d3f8bf241 100644 --- a/documentation/docs/javascripts/mathjax.js +++ b/documentation/docs/javascripts/mathjax.js @@ -1,16 +1,21 @@ +//https://squidfunk.github.io/mkdocs-material/reference/math/#mathjax-docsjavascriptsmathjaxjs + window.MathJax = { - tex: { - inlineMath: [["\\(", "\\)"]], - displayMath: [["\\[", "\\]"]], - processEscapes: true, - processEnvironments: true - }, - options: { - ignoreHtmlClass: ".*|", - processHtmlClass: "arithmatex" - } - }; - - document$.subscribe(() => { - MathJax.typesetPromise() - }) \ No newline at end of file + tex: { + inlineMath: [["\\(", "\\)"]], + displayMath: [["\\[", "\\]"]], + processEscapes: true, + processEnvironments: true + }, + options: { + ignoreHtmlClass: ".*|", + processHtmlClass: "arithmatex" + } +}; + +document$.subscribe(() => { + MathJax.startup.output.clearCache() + MathJax.typesetClear() + MathJax.texReset() + MathJax.typesetPromise() +}) \ No newline at end of file diff --git a/documentation/mkdocs.yml b/documentation/mkdocs.yml index cbc5aaab0..e6b60509b 100644 --- a/documentation/mkdocs.yml +++ b/documentation/mkdocs.yml @@ -65,8 +65,8 @@ markdown_extensions: extra_javascript: - javascripts/mathjax.js - https://polyfill.io/v3/polyfill.min.js?features=es6 - - https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js - + - https://unpkg.com/mathjax@3/es5/tex-mml-chtml.js + # Navigation nav: - About: From 21195f65b64108ed77be19cff02a7367e00b3d02 Mon Sep 17 00:00:00 2001 From: Claire Carouge Date: Fri, 24 May 2024 15:04:22 +1000 Subject: [PATCH 05/18] (#303): increase max width. Case of mobile is not a major consideration here, comfort on a computer is more important --- documentation/docs/css/cable.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/docs/css/cable.css b/documentation/docs/css/cable.css index 4903a8605..ffb331b52 100644 --- a/documentation/docs/css/cable.css +++ b/documentation/docs/css/cable.css @@ -1,5 +1,5 @@ .md-grid { margin-left: auto; margin-right: auto; - max-width: 70rem; -} \ No newline at end of file + max-width: 120rem; +} From 63bd1497b66aad0b982a8f5413cc47f55675e231 Mon Sep 17 00:00:00 2001 From: Rachel Law Date: Fri, 31 May 2024 09:36:10 +1000 Subject: [PATCH 06/18] Defined ncid_mask for met data files with multiple sites. Fixes #306. --- src/offline/cable_input.F90 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/offline/cable_input.F90 b/src/offline/cable_input.F90 index cb9158371..6afad577e 100644 --- a/src/offline/cable_input.F90 +++ b/src/offline/cable_input.F90 @@ -483,6 +483,10 @@ SUBROUTINE open_met_file(dels,koffset,kend,spinup, TFRZ) IF (ok /= NF90_NOERR) CALL nc_abort & (ok,'Error opening netcdf met forcing file '//TRIM(filename%met)// & ' (SUBROUTINE open_met_file)') + ! R. Law (rml599gh) 30/05/24 ncid_mask needs to be set to ncid_met + ! if reading a met data file otherwise code crashes if trying to do + ! multiple sites with a met data file + ncid_mask = ncid_met ENDIF !=====================VV Determine spatial details VV================= From d5acf4222d506ff15d6350229cd73f538991a1a5 Mon Sep 17 00:00:00 2001 From: rkutteh <98803952+rkutteh@users.noreply.github.com> Date: Sun, 2 Jun 2024 22:08:48 +1000 Subject: [PATCH 07/18] Update documentation/docs/user_guide/inputs/pft_params_nml.md Co-authored-by: Claire Carouge --- documentation/docs/user_guide/inputs/pft_params_nml.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/docs/user_guide/inputs/pft_params_nml.md b/documentation/docs/user_guide/inputs/pft_params_nml.md index 08e9d0bfe..b57cdea96 100644 --- a/documentation/docs/user_guide/inputs/pft_params_nml.md +++ b/documentation/docs/user_guide/inputs/pft_params_nml.md @@ -34,7 +34,7 @@ The ranges listed are β€œphysically possible” and mostly correspond to the opt | Name (vegin%) | Range | Units | Description | |-----------------------|------------------|-----------------------------------------------------------------------------------------------------|-------------| | a1gs | >=0.0 | \( (-) \) | a1 parameter in stomatal conductance model. Represents the sensitivity of stomatal conductance to the assimilation rate | -| alpha | >=0.0 | \( (mol (electrons) \cdot mol^{-1} (photons) (C3) \cdot mol (CO2) \cdot mol^{-1} (photons) (C4)) \) | Initial slope of J-Q response curve | +| alpha | >=0.0 | \( (mol (electrons) \cdot mol^{-1} (photons) (C3) \cdot \)
\( mol (CO2) \cdot mol^{-1} (photons) (C4)) \) | Initial slope of J-Q response curve | | canst1 | 0.05 – 0.15 | \( (mm \cdot LAI^{-1}) \) | Maximum intercepted water by canopy | | cfrd | >=0.0 | \( (-) \) | Ratio of day respiration to vcmax | | clitt | >=0.0 | \( (tC \cdot ha^{-1}) \) | Leaf litter (alters resistance to soil evaporation) | From cad3cc9407907144976342366c32709fa41dc9c5 Mon Sep 17 00:00:00 2001 From: rml599gh <126837083+rml599gh@users.noreply.github.com> Date: Thu, 6 Jun 2024 15:53:59 +1000 Subject: [PATCH 08/18] Update src/offline/cable_input.F90 Comment alignment Co-authored-by: Claire Carouge --- src/offline/cable_input.F90 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/offline/cable_input.F90 b/src/offline/cable_input.F90 index 6afad577e..c11a97312 100644 --- a/src/offline/cable_input.F90 +++ b/src/offline/cable_input.F90 @@ -483,9 +483,9 @@ SUBROUTINE open_met_file(dels,koffset,kend,spinup, TFRZ) IF (ok /= NF90_NOERR) CALL nc_abort & (ok,'Error opening netcdf met forcing file '//TRIM(filename%met)// & ' (SUBROUTINE open_met_file)') - ! R. Law (rml599gh) 30/05/24 ncid_mask needs to be set to ncid_met - ! if reading a met data file otherwise code crashes if trying to do - ! multiple sites with a met data file + ! R. Law (rml599gh) 30/05/24 ncid_mask needs to be set to ncid_met + ! if reading a met data file otherwise code crashes if trying to do + ! multiple sites with a met data file ncid_mask = ncid_met ENDIF From 43e6bcc9cf7016260b4af5237cef65a8b560061a Mon Sep 17 00:00:00 2001 From: Sean Bryan <39685865+SeanBryan51@users.noreply.github.com> Date: Fri, 7 Jun 2024 11:12:55 +1000 Subject: [PATCH 09/18] Update build-ci version (#271) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Issues in the [build-ci](https://github.com/ACCESS-NRI/build-ci) pipeline have now been fixed. This change updates the build-ci version to incorporate these changes. Fixes #236 ---- πŸ“š Documentation preview πŸ“š: https://cable--271.org.readthedocs.build/en/271/ --- .github/workflows/model-build-test-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/model-build-test-ci.yml b/.github/workflows/model-build-test-ci.yml index f53802e9d..fe127f243 100644 --- a/.github/workflows/model-build-test-ci.yml +++ b/.github/workflows/model-build-test-ci.yml @@ -10,6 +10,6 @@ on: jobs: build: name: Build ${{ github.repository }} via spack - uses: access-nri/build-ci/.github/workflows/model-1-build.yml@983fb50caaf0fe7e93bb3b13e09e81a7b846f7d1 + uses: access-nri/build-ci/.github/workflows/model-1-build.yml@3c0840d775d8f3d67cfeedb44173caa2682fa27e permissions: - packages: read \ No newline at end of file + packages: read From b70539d59de60e6e7aeed72c3f26e7364b602b7a Mon Sep 17 00:00:00 2001 From: Sean Bryan Date: Fri, 17 May 2024 15:46:40 +1000 Subject: [PATCH 10/18] Add missing ;; to case statement Fixes #293 --- build.bash | 1 + 1 file changed, 1 insertion(+) diff --git a/build.bash b/build.bash index b4dd10f8d..0cbb24f7e 100755 --- a/build.bash +++ b/build.bash @@ -85,6 +85,7 @@ if hostname -f | grep gadi.nci.org.au > /dev/null; then ?*) echo -e "\nError: compiler ${compiler} is not supported.\n" exit 1 + ;; esac # This is required so that the netcdf-fortran library is discoverable by From e33ed3e3444f2e1843a2ebfa7ac994a0e42ce1fa Mon Sep 17 00:00:00 2001 From: Sean Bryan Date: Fri, 17 May 2024 15:49:58 +1000 Subject: [PATCH 11/18] Specify CABLE_MPI option for non-MPI case Fixes #295 --- build.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.bash b/build.bash index 0cbb24f7e..721a91870 100755 --- a/build.bash +++ b/build.bash @@ -33,7 +33,7 @@ Enabling verbose output from Makefile builds: EOF } -cmake_args=(-DCMAKE_BUILD_TYPE=Release) +cmake_args=(-DCMAKE_BUILD_TYPE=Release -DCABLE_MPI=OFF) # Argument parsing adapted and stolen from http://mywiki.wooledge.org/BashFAQ/035#Complex_nonstandard_add-on_utilities while [ $# -gt 0 ]; do From b4ace3041f34b68f357bd9ec46ffdc31ae8cd0c0 Mon Sep 17 00:00:00 2001 From: Sean Bryan Date: Fri, 17 May 2024 15:50:58 +1000 Subject: [PATCH 12/18] Remove all build artifacts and exit for --clean Fixes #292 --- build.bash | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build.bash b/build.bash index 721a91870..3be34f392 100755 --- a/build.bash +++ b/build.bash @@ -39,7 +39,8 @@ cmake_args=(-DCMAKE_BUILD_TYPE=Release -DCABLE_MPI=OFF) while [ $# -gt 0 ]; do case $1 in --clean) - rm -r build + rm -r build bin + exit ;; --mpi) mpi=1 From 39ae045acd3acd7d382a1b17bdb9dd9c6a3e4984 Mon Sep 17 00:00:00 2001 From: Sean Bryan Date: Fri, 17 May 2024 15:55:21 +1000 Subject: [PATCH 13/18] Rename -j option to --ncpus Fixes #294 --- build.bash | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/build.bash b/build.bash index 3be34f392..2c0d51cb7 100755 --- a/build.bash +++ b/build.bash @@ -1,6 +1,6 @@ #!/usr/bin/env bash -nproc_default=4 +ncpus_default=4 script_name=$(basename "${0}") @@ -16,8 +16,9 @@ Options: --mpi Compile MPI executable. --compiler Specify the compiler to use. - -j Specify the number of parallel jobs in the compilation. By - default this value is set to $nproc_default. + --ncpus + Specify the number of parallel jobs in the compilation. By + default this value is set to $ncpus_default. -h, --help Show this screen. Enabling debug mode: @@ -50,7 +51,7 @@ while [ $# -gt 0 ]; do compiler=$2 shift ;; - -j) + --ncpus) CMAKE_BUILD_PARALLEL_LEVEL=$2 shift ;; @@ -115,7 +116,7 @@ elif hostname -f | grep -E '(mc16|mcmini)' > /dev/null; then esac fi -export CMAKE_BUILD_PARALLEL_LEVEL="${CMAKE_BUILD_PARALLEL_LEVEL:=$nproc_default}" +export CMAKE_BUILD_PARALLEL_LEVEL="${CMAKE_BUILD_PARALLEL_LEVEL:=$ncpus_default}" cmake -S . -B build "${cmake_args[@]}" &&\ cmake --build build &&\ From 42fb97148547f4194ff1c76c648dc79f918dbefd Mon Sep 17 00:00:00 2001 From: Sean Bryan Date: Fri, 14 Jun 2024 18:00:37 +1000 Subject: [PATCH 14/18] Add support for short command line options Fixes #311 --- build.bash | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/build.bash b/build.bash index 2c0d51cb7..a140df689 100755 --- a/build.bash +++ b/build.bash @@ -12,11 +12,11 @@ Build script wrapper around CMake. Supplied arguments that do not match the options below will be passed to CMake when generating the build system. Options: - --clean Delete build directory before invoking CMake. - --mpi Compile MPI executable. - --compiler + -c, --clean Delete build directory before invoking CMake. + -m, --mpi Compile MPI executable. + -C, --compiler Specify the compiler to use. - --ncpus + -n, --ncpus Specify the number of parallel jobs in the compilation. By default this value is set to $ncpus_default. -h, --help Show this screen. @@ -39,19 +39,19 @@ cmake_args=(-DCMAKE_BUILD_TYPE=Release -DCABLE_MPI=OFF) # Argument parsing adapted and stolen from http://mywiki.wooledge.org/BashFAQ/035#Complex_nonstandard_add-on_utilities while [ $# -gt 0 ]; do case $1 in - --clean) + -c|--clean) rm -r build bin exit ;; - --mpi) + -m|--mpi) mpi=1 cmake_args+=(-DCABLE_MPI="ON") ;; - --compiler) + -C|--compiler) compiler=$2 shift ;; - --ncpus) + -n|--ncpus) CMAKE_BUILD_PARALLEL_LEVEL=$2 shift ;; From 3a1442e6470eaf2f7039585b5ae4844fca9f5aa2 Mon Sep 17 00:00:00 2001 From: Sean Bryan Date: Mon, 17 Jun 2024 11:37:44 +1000 Subject: [PATCH 15/18] Use curly braces everywhere instead of just in potentially ambiguous cases Fixes #312 --- build.bash | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/build.bash b/build.bash index a140df689..75e3b3198 100755 --- a/build.bash +++ b/build.bash @@ -6,7 +6,7 @@ script_name=$(basename "${0}") show_help() { cat << EOF -Usage: ./$script_name [OPTIONS] +Usage: ./${script_name} [OPTIONS] Build script wrapper around CMake. Supplied arguments that do not match the options below will be passed to CMake when generating the build system. @@ -18,18 +18,18 @@ Options: Specify the compiler to use. -n, --ncpus Specify the number of parallel jobs in the compilation. By - default this value is set to $ncpus_default. + default this value is set to ${ncpus_default}. -h, --help Show this screen. Enabling debug mode: The release build is default. To enable debug mode, specify the CMake option - -DCMAKE_BUILD_TYPE=Debug when invoking $script_name. + -DCMAKE_BUILD_TYPE=Debug when invoking ${script_name}. Enabling verbose output from Makefile builds: To enable more verbose output from Makefile builds, specify the CMake option - -DCMAKE_VERBOSE_MAKEFILE=ON when invoking $script_name. + -DCMAKE_VERBOSE_MAKEFILE=ON when invoking ${script_name}. EOF } @@ -37,8 +37,8 @@ EOF cmake_args=(-DCMAKE_BUILD_TYPE=Release -DCABLE_MPI=OFF) # Argument parsing adapted and stolen from http://mywiki.wooledge.org/BashFAQ/035#Complex_nonstandard_add-on_utilities -while [ $# -gt 0 ]; do - case $1 in +while [ ${#} -gt 0 ]; do + case ${1} in -c|--clean) rm -r build bin exit @@ -48,11 +48,11 @@ while [ $# -gt 0 ]; do cmake_args+=(-DCABLE_MPI="ON") ;; -C|--compiler) - compiler=$2 + compiler=${2} shift ;; -n|--ncpus) - CMAKE_BUILD_PARALLEL_LEVEL=$2 + CMAKE_BUILD_PARALLEL_LEVEL=${2} shift ;; -h|--help) @@ -60,7 +60,7 @@ while [ $# -gt 0 ]; do exit ;; ?*) - cmake_args+=("$1") + cmake_args+=("${1}") ;; esac shift @@ -77,12 +77,12 @@ if hostname -f | grep gadi.nci.org.au > /dev/null; then intel) module add intel-compiler/2019.5.281 compiler_lib_install_dir=Intel - [[ -n $mpi ]] && module add intel-mpi/2019.5.281 + [[ -n ${mpi} ]] && module add intel-mpi/2019.5.281 ;; gnu) module add gcc/13.2.0 compiler_lib_install_dir=GNU - [[ -n $mpi ]] && module add openmpi/4.1.4 + [[ -n ${mpi} ]] && module add openmpi/4.1.4 ;; ?*) echo -e "\nError: compiler ${compiler} is not supported.\n" @@ -116,7 +116,7 @@ elif hostname -f | grep -E '(mc16|mcmini)' > /dev/null; then esac fi -export CMAKE_BUILD_PARALLEL_LEVEL="${CMAKE_BUILD_PARALLEL_LEVEL:=$ncpus_default}" +export CMAKE_BUILD_PARALLEL_LEVEL="${CMAKE_BUILD_PARALLEL_LEVEL:=${ncpus_default}}" cmake -S . -B build "${cmake_args[@]}" &&\ cmake --build build &&\ From 16dbbe3248cb6faaebd679da6340c2d06cc59747 Mon Sep 17 00:00:00 2001 From: Ramzi Kutteh Date: Mon, 17 Jun 2024 17:35:35 +1000 Subject: [PATCH 16/18] Add an "Input files" file to the User Guide --- documentation/docs/user_guide/inputs/index.md | 17 +++++++++++++++++ documentation/docs/user_guide/inputs/restart.md | 1 + .../docs/user_guide/inputs/surface_forcing.md | 1 + documentation/docs/user_guide/outputs/index.md | 1 + documentation/mkdocs.yml | 13 +++++++++---- 5 files changed, 29 insertions(+), 4 deletions(-) create mode 100644 documentation/docs/user_guide/inputs/index.md create mode 100644 documentation/docs/user_guide/inputs/restart.md create mode 100644 documentation/docs/user_guide/inputs/surface_forcing.md create mode 100644 documentation/docs/user_guide/outputs/index.md diff --git a/documentation/docs/user_guide/inputs/index.md b/documentation/docs/user_guide/inputs/index.md new file mode 100644 index 000000000..dbb9dd2fa --- /dev/null +++ b/documentation/docs/user_guide/inputs/index.md @@ -0,0 +1,17 @@ +# Input files + +CABLE can be used in many configurations, in part determined by the input files supplied to the code. +Table 1 lists the various input files used in offline CABLE. A description of each file can be accessed through the sidebar. + +## Table 1: CABLE input files for the offline case + +| Input file | +|------------------------| +| cable.nml | +| pft_params.nml | +| cable_soilparm.nml | +| pftlookup.csv | +| Meteorological forcing | +| Surface forcing | +| Restart | + diff --git a/documentation/docs/user_guide/inputs/restart.md b/documentation/docs/user_guide/inputs/restart.md new file mode 100644 index 000000000..616b06cf9 --- /dev/null +++ b/documentation/docs/user_guide/inputs/restart.md @@ -0,0 +1 @@ +This section will be made available soon. diff --git a/documentation/docs/user_guide/inputs/surface_forcing.md b/documentation/docs/user_guide/inputs/surface_forcing.md new file mode 100644 index 000000000..616b06cf9 --- /dev/null +++ b/documentation/docs/user_guide/inputs/surface_forcing.md @@ -0,0 +1 @@ +This section will be made available soon. diff --git a/documentation/docs/user_guide/outputs/index.md b/documentation/docs/user_guide/outputs/index.md new file mode 100644 index 000000000..616b06cf9 --- /dev/null +++ b/documentation/docs/user_guide/outputs/index.md @@ -0,0 +1 @@ +This section will be made available soon. diff --git a/documentation/mkdocs.yml b/documentation/mkdocs.yml index e6b60509b..a9110f262 100644 --- a/documentation/mkdocs.yml +++ b/documentation/mkdocs.yml @@ -75,12 +75,17 @@ nav: - user_guide/index.md - Uber Quick Guide: user_guide/uber_quick_guide.md - Installation: user_guide/installation.md - - Inputs description: - - cable.nml options: user_guide/inputs/cable_nml.md - - pft_params.nml options: user_guide/inputs/pft_params_nml.md - - cable_soilparm.nml options: user_guide/inputs/cable_soilparm_nml.md + - Input files: + - user_guide/inputs/index.md + - cable.nml: user_guide/inputs/cable_nml.md + - pft_params.nml: user_guide/inputs/pft_params_nml.md + - cable_soilparm.nml: user_guide/inputs/cable_soilparm_nml.md - pftlookup.csv table: user_guide/inputs/pftlookup_csv.md - Meteorological forcing: user_guide/inputs/meteorological_forcing.md + - Surface forcing: user_guide/inputs/surface_forcing.md + - Restart: user_guide/inputs/restart.md + - Output files: + - user_guide/outputs/index.md - Other resources: - Existing configurations: user_guide/other_resources/configurations/config.md - Obsolete and deprecated features: user_guide/other_resources/obsolete_and_deprecated_features/obsolete_and_deprecated_features.md From 29fe6cdb591c1cdaa4379e65907a5bfa0c075dd2 Mon Sep 17 00:00:00 2001 From: rkutteh <98803952+rkutteh@users.noreply.github.com> Date: Tue, 18 Jun 2024 14:52:56 +1000 Subject: [PATCH 17/18] Update documentation/docs/user_guide/inputs/index.md Co-authored-by: Claire Carouge --- documentation/docs/user_guide/inputs/index.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/documentation/docs/user_guide/inputs/index.md b/documentation/docs/user_guide/inputs/index.md index dbb9dd2fa..936370a6a 100644 --- a/documentation/docs/user_guide/inputs/index.md +++ b/documentation/docs/user_guide/inputs/index.md @@ -1,7 +1,8 @@ # Input files CABLE can be used in many configurations, in part determined by the input files supplied to the code. -Table 1 lists the various input files used in offline CABLE. A description of each file can be accessed through the sidebar. +Table 1 lists the various input files used in offline CABLE. A description of each file can be accessed through the left navigation bar. + ## Table 1: CABLE input files for the offline case From b22a3e70f2c4c9909f5faf7f983cda62e2c5581b Mon Sep 17 00:00:00 2001 From: rkutteh <98803952+rkutteh@users.noreply.github.com> Date: Tue, 18 Jun 2024 14:53:56 +1000 Subject: [PATCH 18/18] Update documentation/docs/user_guide/inputs/index.md Co-authored-by: Claire Carouge --- documentation/docs/user_guide/inputs/index.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/documentation/docs/user_guide/inputs/index.md b/documentation/docs/user_guide/inputs/index.md index 936370a6a..75c6a8f2b 100644 --- a/documentation/docs/user_guide/inputs/index.md +++ b/documentation/docs/user_guide/inputs/index.md @@ -6,13 +6,14 @@ Table 1 lists the various input files used in offline CABLE. A description of ea ## Table 1: CABLE input files for the offline case -| Input file | -|------------------------| -| cable.nml | -| pft_params.nml | -| cable_soilparm.nml | -| pftlookup.csv | -| Meteorological forcing | -| Surface forcing | -| Restart | +| Input file | Description | +|------------------------|-------------| +| cable.nml | main configuration file for CABLE | +| pft_params.nml | default parameter values for each PFT | +| cable_soilparm.nml | default parameter values for each soil type | +| pftlookup.csv | default parameter values for CASA-CNP | +| Meteorological forcing | atmospheric forcing data for CABLE | +| Surface forcing | information about the surface characteristics | +| Restart | information from a previous CABLE run to restart a simulation | +