Skip to content

Commit dd24bfd

Browse files
authored
Merge pull request #3242 from ekluzek/merge-b4bdev-20250609
Merge b4bdev 20250609
2 parents 53057f0 + 58fa3e3 commit dd24bfd

16 files changed

+276
-287
lines changed

doc/ChangeLog

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,97 @@
11
===============================================================
2+
Tag name: ctsm5.3.056
3+
Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326)
4+
Date: Thu 12 Jun 2025 01:43:46 PM MDT
5+
One-line Summary: Merge b4b-dev to master
6+
7+
Purpose and description of changes
8+
----------------------------------
9+
10+
Several updates to documentation, from the documentation hackathon.
11+
Also remove /glade from paths for mksurfdata_esmf paths
12+
13+
Significant changes to scientifically-supported configurations
14+
--------------------------------------------------------------
15+
16+
Does this tag change answers significantly for any of the following physics configurations?
17+
(Details of any changes will be given in the "Answer changes" section below.)
18+
19+
[Put an [X] in the box for any configuration with significant answer changes.]
20+
21+
[ ] clm6_0
22+
23+
[ ] clm5_0
24+
25+
[ ] ctsm5_0-nwp
26+
27+
[ ] clm4_5
28+
29+
30+
Bugs fixed
31+
----------
32+
33+
List of CTSM issues fixed (include CTSM Issue # and description) [one per line]:
34+
Resolves Improve headings in single-point docs #3008
35+
Resolves Docs needed: Supported towers #3175
36+
Resolves Docs needed: NEON #3167
37+
Documentation part of run_neon base case must be of same run type as a requested clone #1926
38+
Resolves run_tower documentation needed #2997
39+
Resolves Various subset_data and related docs needed #3000
40+
Resolves Docs docs: Inline code rendered as italics #3164
41+
Resolves Fix some missing equation references in Snow Hydrology chapter of Tech Note #3202
42+
Resolves Fix Equation number label 2.5.119 in technical note #3196
43+
Resolves Remove hardcoded /glade/campaign/cesm/cesmdata/inputdata/ paths to support --rawdata-dir flexibility #3031
44+
45+
Notes of particular relevance for users
46+
---------------------------------------
47+
48+
Changes to documentation: Yes!
49+
50+
Notes of particular relevance for developers: None
51+
---------------------------------------------
52+
53+
Testing summary: regular
54+
----------------
55+
56+
[PASS means all tests PASS; OK means tests PASS other than expected fails.]
57+
58+
build-namelist tests (if CLMBuildNamelist.pm has changed):
59+
60+
derecho - OK
61+
62+
python testing (if python code has changed; see instructions in python/README.md; document testing done):
63+
64+
derecho - I ran it and there were fails but previous versions had this as well
65+
One problem was with the NEON server, so outside our control
66+
67+
regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing):
68+
69+
derecho ----- OK
70+
izumi ------- OK
71+
72+
If the tag used for baseline comparisons was NOT the previous tag, note that here:
73+
74+
Answer changes
75+
--------------
76+
77+
Changes answers relative to baseline: No bit-for-bit
78+
79+
Other details
80+
-------------
81+
82+
Pull Requests that document the changes (include PR ids):
83+
(https://github.com/ESCOMP/ctsm/pull)
84+
85+
Merge b4b-dev to master #3242
86+
Updates to run_tower/single point documentation #3194
87+
fixed italics to be in-line code #3198
88+
Fix some equation references in the Snow Hydrology chapter of the Tech Note #3203
89+
Fix typo in Chapter 5 of technical note #3195
90+
Remove hardcoded paths in gen_mksurfdata_namelist.xml #3162
91+
Merge ctsm5.3.050 to b4b-dev #3200
92+
93+
===============================================================
94+
===============================================================
295
Tag name: ctsm5.3.055
396
Originator(s): samrabin (Sam Rabin, UCAR/TSS)
497
Date: Thu Jun 5 13:59:20 MDT 2025

doc/ChangeSum

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
Tag Who Date Summary
22
============================================================================================================================
3+
ctsm5.3.056 erik 06/12/2025 Merge b4b-dev to master
34
ctsm5.3.055 samrabin 06/05/2025 Remove FTorch
45
ctsm5.3.054 samrabin 06/02/2025 CDEPS: Allow anomaly forcings with any DATM
56
ctsm5.3.053 samrabin 05/30/2025 Fix and improve anomaly forcings for ISSP cases

doc/source/tech_note/Fluxes/CLM50_Tech_Note_Fluxes.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1215,7 +1215,7 @@ The numerical solution for vegetation temperature and the fluxes of momentum, se
12151215

12161216
#. Leaf boundary layer resistance :math:`r_{b}` (:eq:`5.122` )
12171217

1218-
#. Aerodynamic resistances :math:`r_{ah} ^{{'} }` and :math:`r_{aw} ^{{'} }`(:eq:`5.116` )
1218+
#. Aerodynamic resistances :math:`r_{ah} ^{{'} }` and :math:`r_{aw} ^{{'} }` (:eq:`5.116` )
12191219

12201220
#. Sunlit and shaded stomatal resistances :math:`r_{s}^{sun}` and :math:`r_{s}^{sha}` (Chapter :numref:`rst_Stomatal Resistance and Photosynthesis`)
12211221

doc/source/tech_note/Snow_Hydrology/CLM50_Tech_Note_Snow_Hydrology.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -585,7 +585,7 @@ The maximum snow layer thickness, :math:`\Delta z_{\max }`, depends on the numbe
585585
Subdivision
586586
'''''''''''''''''''
587587

588-
The snow layers are subdivided when the layer thickness exceeds the prescribed maximum thickness :math:`\Delta z_{\max }` with lower and upper bounds that depend on the number of snow layers (:numref:`Table snow layer thickness`). For example, if there is only one layer, then the maximum thickness of that layer is 0.03 m, however, if there is more than one layer, then the maximum thickness of the top layer is 0.02 m. Layers are checked sequentially from top to bottom for this limit. If there is only one snow layer and its thickness is greater than 0.03 m (:numref:`Table snow layer thickness`), the layer is subdivided into two layers of equal thickness, liquid water and ice contents, and temperature. If there is an existing layer below the layer to be subdivided, the thickness :math:`\Delta z_{i}`, liquid water and ice contents, :math:`w_{liq,\; i}` and :math:`w_{ice,\; i}`, and temperature :math:`T_{i}` of the excess snow are combined with the underlying layer according to equations -. If there is no underlying layer after adjusting the layer for the excess snow, the layer is subdivided into two layers of equal thickness, liquid water and ice contents. The vertical snow temperature profile is maintained by calculating the slope between the layer above the splitting layer (:math:`T_{1}` ) and the splitting layer (:math:`T_{2}` ) and constraining the new temperatures (:math:`T_{2}^{n+1}`, :math:`T_{3}^{n+1}` ) to lie along this slope. The temperature of the lower layer is first evaluated from
588+
The snow layers are subdivided when the layer thickness exceeds the prescribed maximum thickness :math:`\Delta z_{\max }` with lower and upper bounds that depend on the number of snow layers (:numref:`Table snow layer thickness`). For example, if there is only one layer, then the maximum thickness of that layer is 0.03 m, however, if there is more than one layer, then the maximum thickness of the top layer is 0.02 m. Layers are checked sequentially from top to bottom for this limit. If there is only one snow layer and its thickness is greater than 0.03 m (:numref:`Table snow layer thickness`), the layer is subdivided into two layers of equal thickness, liquid water and ice contents, and temperature. If there is an existing layer below the layer to be subdivided, the thickness :math:`\Delta z_{i}`, liquid water and ice contents, :math:`w_{liq,\; i}` and :math:`w_{ice,\; i}`, and temperature :math:`T_{i}` of the excess snow are combined with the underlying layer according to equations :eq:`8.55` - :eq:`8.58`. If there is no underlying layer after adjusting the layer for the excess snow, the layer is subdivided into two layers of equal thickness, liquid water and ice contents. The vertical snow temperature profile is maintained by calculating the slope between the layer above the splitting layer (:math:`T_{1}` ) and the splitting layer (:math:`T_{2}` ) and constraining the new temperatures (:math:`T_{2}^{n+1}`, :math:`T_{3}^{n+1}` ) to lie along this slope. The temperature of the lower layer is first evaluated from
589589

590590
.. math::
591591
:label: 8.62
@@ -602,5 +602,5 @@ then adjusted as,
602602
T_{2}^{n+1} = T_{2}^{n} +\left(\frac{T_{1}^{n} -T_{2}^{n} }{{\left(\Delta z_{1} +\Delta z_{2}^{n} \right)\mathord{\left/ {\vphantom {\left(\Delta z_{1} +\Delta z_{2}^{n} \right) 2}} \right.} 2} } \right)\left(\frac{\Delta z_{2}^{n+1} }{2} \right) & \qquad T'_{3} <T_{f}
603603
\end{array}
604604
605-
where here the subscripts 1, 2, and 3 denote three layers numbered from top to bottom. After layer subdivision, the node depths and layer interfaces are recalculated from equations and.
605+
where here the subscripts 1, 2, and 3 denote three layers numbered from top to bottom. After layer subdivision, the node depths and layer interfaces are recalculated from equations :eq:`8.60` and :eq:`8.61`.
606606

doc/source/users_guide/overview/introduction.rst

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,6 @@ In :ref:`running-special-cases-section`, again for the expert user, we give deta
6262

6363
:ref:`running-single-points` outlines how to do single-point or regional simulations using |version|. This is useful to either compare |version| simulations with point observational stations, such as tower sites (which might include your own atmospheric forcing), or to do quick simulations with CLM for example to test a new parameterization. There are several different ways given on how to perform single-point simulations which range from simple sampling of existing inputs to more complex where you create all your own datasets, tying into :ref:`using-clm-tools-section` and also :ref:`adding-new-resolutions-section` to add the files into the build-namelist XML database.
6464

65-
There is also :ref:`pts_mode`, which is useful for running single points as part of the Single Column Atmospheric Model (SCAM).
66-
6765
:ref:`troubleshooting-index` gives some guidance on trouble-shooting problems when using |version|. It doesn't cover all possible problems with CLM, but gives you some guidelines for things that can be done for some common problems.
6866

6967
:ref:`testing_section` goes over the automated testing scripts for validating that the CLM is working correctly. The test scripts run many different configurations and options with CLM4.0 physics as well and |version| physics making sure that they work, as well as doing automated testing to verify restarts are working correctly, and testing at many different resolutions. In general this is an activity important only for a developer of |version|, but could also be used by users who are doing extensive code modifications and want to ensure that the model continues to work correctly.

doc/source/users_guide/running-single-points/running-single-point-subset-data.rst renamed to doc/source/users_guide/running-single-points/generic-single-point-regional.rst

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,18 @@
11
.. include:: ../substitutions.rst
22

3-
.. _single_point_subset_data:
3+
.. _generic_single_point_runs:
44

55
****************************************
6-
Running a single point using global data
6+
Generic single-point runs
77
****************************************
88

9-
``subset_data`` enables you to run the model using global datasets, but just picking a single point from those datasets and operating on it. It can be a very quick way to do fast simulations and get a quick turnaround.
9+
While there are capabilities to run single-point cases at specific tower sites with forcing data from those observations (see :ref:`supported-tower-sites`), users can also run CTSM at a single lat/lon point of their choosing using the instructions below.
1010

11-
Subset the data
12-
------------------
11+
============
12+
subset_data:
13+
============
14+
15+
``subset_data`` enables you to run the model using global datasets, but just picking a single point from those datasets and operating on it. It can be a very quick way to do fast simulations and get a quick turnaround. This can also be done for regional simulations in the next section but first we will describe how to use subset_data for a single point.
1316

1417
For single-point cases, you need to subset a surface dataset and (optionally) DATM data. The Python script to subset this data can be found in the CTSM repository at ``tools/site_and_regional/subset_data``.
1518

@@ -30,18 +33,23 @@ To subset surface data and climate forcings (DATM) for a single point, use the c
3033
- ``$my_lon_type``: 180 if your longitude is in the [-180, 180] format (i.e., centered at the Prime/0th Meridian); 360 if it's in the [0, 360] format (i.e., centered at the 180th Meridian). Note that ``--lon-type $my_lon_type`` is not necessary if your longitude is unambiguous---i.e., it's only needed if your longitude is in the range [0, 180].
3134
- ``$my_site_name``: name of site, *used for file naming*
3235
- ``$my_start_year``: start year for DATM data to subset, *default between 1901 and 2014*
33-
- ``$my_end_year``: end year for DATM data to subset, *default between 1901 and 2014; the default CRUJRA2024 DATM data ends in 2023, while the old default GSWP3 ends in 2015; see note below about switching the default DATM data*
36+
- ``$my_end_year``: end year for DATM data to subset, *default between 1901 and 2014; the default CRUJRA2024 DATM data ends in 2023, while the old default GSWP3 ends in 2014; see note below about switching the default DATM data*
3437
- ``$my_output_dir``: output directory to place the subset data and user_mods directory. This should be something specific to *just* your data for ``$my_site_name``.
3538

36-
You can also have the script subset land-use data. See the help (``tools/site_and_regional/subset_data --help``) for all argument options.
39+
You can also have the script subset land-use data. See the help (``tools/site_and_regional/subset_data --help``) for all argument options. For example, depending on your application, it may be helpful to specify a dominant PFT using ``--dompft`` and ``--pctpft`` flags. This allows you to control the PFTs that are present on your surface dataset
3740

3841
.. note::
39-
This script defaults to subsetting specific surface, domain, and land-use files and the CRUJRA2024 DATM data, and can currently only be run as-is on Derecho. If you're not on Derecho, use ``--inputdata-dir`` to specify where the top level of your CESM input data is. Also, to subset GSWP3 instead of CRUJRA2024 DATM data, you currently need to hardwire ``datm_type = "datm_gswp3"`` (instead of the default ``"datm_crujra"``) in ``python/ctsm/subset_data.py``.
42+
This script defaults to subsetting specific surface data, land-use timeseries, and the CRUJRA2024 DATM data. It can currently only be run as-is on Derecho. If you're not on Derecho, use ``--inputdata-dir`` to specify where the top level of your CESM input data is.
43+
44+
Also, to subset GSWP3 instead of CRUJRA2024 DATM data, you currently need to hardwire ``datm_type = "datm_gswp3"`` (instead of the default ``"datm_crujra"``) in ``python/ctsm/subset_data.py``.
45+
46+
4047

41-
The ``--create-user-mods`` command tells the script to set up a user mods directory in your specified ``$my_output_dir`` and to specify the required ``PTS_LAT`` and ``PTS_LON`` settings. You can then use this user mods directory to set up your CTSM case, as described below.
48+
The ``--create-user-mods`` command tells the script to set up a user mods directory in your specified ``$my_output_dir`` and to specify the required ``PTS_LAT`` and ``PTS_LON`` settings. You can then use this user mods directory to set up your CTSM case, as described below. ``subset_data`` will default to subsetting surface data and land-use timeseries from the default, nominal one-degree resolution (f09) datasets.
4249

50+
================
4351
Create the case
44-
------------------
52+
================
4553

4654
You can use the user mods directory set up in the previous subset data step to tell CIME/CTSM where your subset files are located.
4755

doc/source/users_guide/running-single-points/index.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ Running Single Point and Regional Cases
1414
.. toctree::
1515
:maxdepth: 2
1616

17-
single-point-and-regional-grid-configurations.rst
18-
running-single-point-subset-data.rst
19-
running-single-point-configurations.rst
20-
running-pts_mode-configurations.rst
17+
intro-to-single-pt-regional.rst
18+
supported-tower-sites.rst
19+
generic-single-point-regional.rst
20+
predefined-single-point-regional-resolutions.rst
2121

0 commit comments

Comments
 (0)