Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
b5cac4d
Added code to make st-archive handle DART files
kdraeder Apr 22, 2025
2504762
Fix documentation issue #3035
olyson Jun 3, 2025
9b21390
Use a CMake function provided by CIME
billsacks Nov 4, 2025
36023cb
Merge branch 'b4b-dev' into cmake_use_function
ekluzek Jan 8, 2026
d133024
Fix mksurfdata CMakeLists.txt: use SHARED for .so PIO libraries
Jan 21, 2026
09c906e
Implement dewpoint temperature check for bare ground
olyson Jan 12, 2026
ef40202
Fix for zero forc_q
olyson Jan 14, 2026
c7e39ac
Update (irrigated_) rice grnfill and lfemerg.
samsrabin Jan 8, 2026
b40b9a0
Update ChangeLog/Sum.
samsrabin Jan 9, 2026
1c8b98e
add oversaturation correction to SoilWaterMovementMod
swensosc Jan 7, 2026
5e7da1a
change from porosity (watsat) to effective porosity (watsat minus soi…
swensosc Jan 8, 2026
2507b28
Add comment about over_saturation temp variable type declaration and …
ekluzek Jan 12, 2026
61fdbdd
Start change files
ekluzek Jan 13, 2026
ff2d711
Change bit about answer changes to reference issues in LWMG_dev
ekluzek Jan 13, 2026
1de21c8
Finalize ChangeLog
ekluzek Jan 13, 2026
4a0f10e
First update of Change files
ekluzek Jan 16, 2026
b98806c
Make Magnus coefficients parameters
olyson Jan 15, 2026
8ade67e
Bugfix for t_grnd ice/liq coefficient check
olyson Jan 15, 2026
5e4090a
Fix top description
ekluzek Jan 16, 2026
68b0c71
Update change files
ekluzek Jan 19, 2026
c1f13a6
Fix mksurfdata CMakeLists.txt: use SHARED for .so PIO libraries
Jan 21, 2026
13e9624
Merge tag 'ctsm5.4.016' into merge-master-20260205
samsrabin Feb 6, 2026
56a565f
Merge pull request #3746 from samsrabin/merge-master-20260205
samsrabin Feb 6, 2026
37ed135
Fix per @slevis-lmwg review.
olyson Feb 10, 2026
1a12b6c
Merge branch 'b4b-dev' into docs-I3035
samsrabin Feb 11, 2026
ac2934e
Delete FTorch.
samsrabin Feb 11, 2026
9e70bc8
Merge pull request #3220 from olyson/docs-I3035
samsrabin Feb 11, 2026
d41bc84
Make _unittest copies of run_ctsm_py_tests(.py).
samsrabin Feb 14, 2026
b5aa406
Fix floating invalid with ifx
billsacks Feb 17, 2026
fb10bfc
New urbantv dataset with fixed FillValues
billsacks Feb 18, 2026
c7230f0
Remove NaN values in Prigent dataset
billsacks Feb 18, 2026
ddb3d55
run_ctsm_py_tests now uses pytest instead of unittest.
samsrabin Feb 14, 2026
62e9e92
Convert test_unit_longitude.py to use pytest. run_ctsm_py_tests_unitt…
samsrabin Feb 14, 2026
ee0a20c
Delete run_ctsm_py_tests_unittest.
samsrabin Feb 14, 2026
f1d6f44
Python unit and system tests can now be run from anywhere in checkout.
samsrabin Feb 14, 2026
bb6ea01
Merge branch 'b4b-dev' into fix/mksurfdata-cmake-shared-pio
ekluzek Feb 18, 2026
d294f8a
Merge branch 'fix/mksurfdata-cmake-shared-pio' of github.com:cdevanep…
ekluzek Feb 18, 2026
c9a41e0
Merge pull request #3700 from cdevaneprugh/fix/mksurfdata-cmake-share…
ekluzek Feb 18, 2026
b18bf0e
Merge remote-tracking branch 'escomp/b4b-dev' into cmake_use_function
ekluzek Feb 18, 2026
dbee6df
Merge pull request #3582 from billsacks/cmake_use_function
ekluzek Feb 18, 2026
c984553
Update cime_config/config_archive.xml
ekluzek Feb 18, 2026
0ce647b
Merge remote-tracking branch 'escomp/b4b-dev' into clm_st-arch_dart
ekluzek Feb 18, 2026
bee6c4a
Use logger instead of print.
samsrabin Feb 18, 2026
b105037
Fix typo
samsrabin Feb 18, 2026
948cbd6
Fix, improve, and test get_pytest_help_item().
samsrabin Feb 19, 2026
b139f6b
Merge pull request #3761 from samsrabin/run_ctsm_py_tests-in-pytest
samsrabin Feb 19, 2026
93a1017
Merge remote-tracking branch 'escomp/b4b-dev' into clm_st-arch_dart
ekluzek Feb 19, 2026
157a07e
Merge pull request #3084 from kdraeder/clm_st-arch_dart
ekluzek Feb 19, 2026
585e337
Merge branch 'b4b-dev' into fixes_for_ifx
ekluzek Feb 19, 2026
64beebd
Merge pull request #3765 from billsacks/fixes_for_ifx
ekluzek Feb 19, 2026
615d839
Merge tag 'ctsm5.4.020' into merge-b4bdev-20260219
slevis-lmwg Feb 19, 2026
b66fc7e
Update change files
ekluzek Feb 20, 2026
c15d9f9
With pytest (or other changes) the Makefile now works to run the sys …
ekluzek Feb 20, 2026
549d8fc
Final update of change files
ekluzek Feb 21, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions bld/namelist_files/namelist_defaults_ctsm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2497,11 +2497,11 @@ lnd/clm2/surfdata_esmf/NEON/ctsm5.4.0/surfdata_1x1_NEON_TOOL_hist_2000_78pfts_c2
<stream_fldfilename_urbantv phys="clm6_0" hgrid="0.9x1.25" urban_explicit_ac=".false."
>lnd/clm2/urbandata/CTSM52_tbuildmax_OlesonFeddema_2020_0.9x1.25_simyr1849-2106_c200605.nc</stream_fldfilename_urbantv>
<stream_fldfilename_urbantv phys="clm6_0" hgrid="0.9x1.25" urban_explicit_ac=".true."
>lnd/clm2/urbandata/CTSM52_urbantv_Li_2024_0.9x1.25_simyr1849-2106_c20230621.nc</stream_fldfilename_urbantv>
>lnd/clm2/urbandata/CTSM52_urbantv_Li_2024_0.9x1.25_simyr1849-2106_c20260217.nc</stream_fldfilename_urbantv>
<stream_fldfilename_urbantv phys="clm5_0" hgrid="0.9x1.25" urban_explicit_ac=".false."
>lnd/clm2/urbandata/CLM50_tbuildmax_Oleson_2016_0.9x1.25_simyr1849-2106_c160923.nc</stream_fldfilename_urbantv>
<stream_fldfilename_urbantv phys="clm5_0" hgrid="0.9x1.25" urban_explicit_ac=".true."
>lnd/clm2/urbandata/CTSM52_urbantv_Li_2024_0.9x1.25_simyr1849-2106_c20230621.nc</stream_fldfilename_urbantv>
>lnd/clm2/urbandata/CTSM52_urbantv_Li_2024_0.9x1.25_simyr1849-2106_c20260217.nc</stream_fldfilename_urbantv>
<stream_fldfilename_urbantv phys="clm4_5" hgrid="0.9x1.25"
>lnd/clm2/urbandata/CLM45_tbuildmax_Oleson_2016_0.9x1.25_simyr1849-2106_c160923.nc</stream_fldfilename_urbantv>

Expand Down Expand Up @@ -2649,7 +2649,7 @@ lnd/clm2/surfdata_esmf/NEON/ctsm5.4.0/surfdata_1x1_NEON_TOOL_hist_2000_78pfts_c2
<use_prigent_roughness dust_emis_method="Leung_2023">.true.</use_prigent_roughness>
<use_prigent_roughness >.false.</use_prigent_roughness>
<stream_fldfilename_prigentroughness
>lnd/clm2/dustemisdata/Prigent_2005_roughness_0.25x0.25_cdf5_c240127.nc</stream_fldfilename_prigentroughness>
>lnd/clm2/dustemisdata/Prigent_2005_roughness_0.25x0.25_cdf5_c260218.nc</stream_fldfilename_prigentroughness>
<stream_meshfile_prigentroughness
>lnd/clm2/dustemisdata/dust_0.25x0.25_ESMFmesh_cdf5_c240222.nc</stream_meshfile_prigentroughness>

Expand Down
7 changes: 4 additions & 3 deletions cime_config/config_archive.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@
<rest_file_extension>r</rest_file_extension>
<rest_file_extension>rh\da</rest_file_extension>
<rest_file_extension>rh\di</rest_file_extension>
<hist_file_extension>h\d*.*\.nc$</hist_file_extension>
<hist_file_extension>lilac_hi.*\.nc$</hist_file_extension>
<hist_file_extension>lilac_atm_driver_h\d*.*\.nc$</hist_file_extension>
<!-- History files including those for LILAC, optionally include gzipped files which is needed for DART -->
<hist_file_extension>h\d*.*\.nc(\.gz)?$</hist_file_extension>
<hist_file_extension>lilac_hi.*\.nc(\.gz)?$</hist_file_extension>
<hist_file_extension>lilac_atm_driver_h\d*.*\.nc(\.gz)?$</hist_file_extension>
<hist_file_extension>e</hist_file_extension>
<rest_history_varname>locfnh</rest_history_varname>
<rpointer>
Expand Down
110 changes: 110 additions & 0 deletions doc/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,4 +1,114 @@
===============================================================
Tag name: ctsm5.4.021
Originator(s): erik (Erik Kluzek,UCAR/TSS,303-497-1326)
Date: Fri Feb 20 08:19:42 PM MST 2026
One-line Summary: Bring b4b-dev to master

Purpose and description of changes
----------------------------------

Some fixes to use the ifx compiler. Added handling of gzipped files in the short term archiver
needed for DART. Use a CMake funciton for the PfUnit build. Make sure mksurfdata_esmf PIO library is
used as shared in the build. Fix to a typo in the Technical Note.

Use pytest instead of unittest in our python unit test framework, which allows many modern features.
One test file, test_unit_longitude.py, has been modified to use pytest's "parametrize" functionality as an example. Most of the changed lines in that file are just whitespace differences.

Existing run_ctsm_py_tests arguments have been ported to replicate the same functionality in pytest. Unknown arguments will be passed to pytest directly.

Also: Made it so that the tests can be called from anywhere in the checkout, instead of only python/.

Significant changes to scientifically-supported configurations
--------------------------------------------------------------

Does this tag change answers significantly for any of the following physics configurations?
(Details of any changes will be given in the "Answer changes" section below.)

[Put an [X] in the box for any configuration with significant answer changes.]

[ ] clm6_0

[ ] clm5_0

[ ] ctsm5_0-nwp

[ ] clm4_5


Bugs fixed
----------

List of CTSM issues fixed (include CTSM Issue # and description) [one per line]:

Resolves #3762 by Bill Sacks ifx issues
Resolves #3763 by Bill Sacks Floating invalid with ifx
Resolves #3774 by Erik Kluzek NaN's in Prigent and urbantv streams
Resolves #3082 by Kevin Raeder st_archive for DART
Resolves #3616 by Sam Rabin convert python unittests to pytest
Resolves #3035 by Keith Oleson typo in LW documentation in tech. note

Notes of particular relevance for users
---------------------------------------

Changes to CTSM's user interface (e.g., new/renamed XML or namelist variables):
The Short Term archiver can now also save files that are g-zipped
This is something that is needed for DART

Changes to the datasets (e.g., streams, surface or initial files):
New Prigent and urbantv streams datasets with NaN's removed

Changes to documentation: Fix issue in tech. note

Notes of particular relevance for developers: regular
---------------------------------------------

Caveats for developers (e.g., code that is duplicated that requires double maintenance):
The ctsm_pylib conda environment changed! Rerun py_env_create to update it

Changes to tests or testing:
Python unit test framework changed from unittest to pytest. So now pytest functionality can be used
in tests

Testing summary: regular
----------------
[PASS means all tests PASS; OK means tests PASS other than expected fails.]

build-namelist tests (if CLMBuildNamelist.pm has changed):

derecho - OK

python testing (if python code has changed; see instructions in python/README.md; document testing done):

derecho - PASS

regular tests (aux_clm: https://github.com/ESCOMP/CTSM/wiki/System-Testing-Guide#pre-merge-system-testing):

derecho ----- OK
izumi ------- OK

If the tag used for baseline comparisons was NOT the previous tag, note that here:


Answer changes
--------------

Changes answers relative to baseline: No bit-for-bit

Other details
-------------

Pull Requests that document the changes (include PR ids):
(https://github.com/ESCOMP/ctsm/pull)

#3765 Fixes for ifx, from Bill Sacks
#3084 Added code to make st-archive handle DART files, from Kevin Raeder
#3761 Use pytest instead of unittest in run_ctsm_py_tests, from Sam Rabin
#3582 Use a CMake function provided by CIME, from Bill Sacks
#3700 Fix mksurfdata CMakeLists.txt: use SHARED for .so PIO libraries, from Cooper DeVane-Prugh
#3220 Tech Note: Distinguish between time step and iteration level in vegetation longwave and fluxes, from Keith Oleson

===============================================================
===============================================================
Tag name: ctsm5.4.020
Originator(s): slevis (Samuel Levis,UCAR/TSS,303-665-1310)
Date: Thu Feb 19 08:28:59 AM MST 2026
Expand Down
1 change: 1 addition & 0 deletions doc/ChangeSum
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
Tag Who Date Summary
============================================================================================================================
ctsm5.4.021 erik 02/20/2026 Bring b4b-dev to master
ctsm5.4.020 slevis 02/19/2026 Address carbon cycle and fire biases in CESM3 development runs by updating namelist defaults
ctsm5.4.019 samrabin 02/12/2026 Fix years used by generate_gdds
ctsm5.4.018 erik 02/12/2026 Quick fix so that we can use Nitrogen Deposition sent from the ATM model
Expand Down
8 changes: 4 additions & 4 deletions doc/source/tech_note/Fluxes/CLM50_Tech_Note_Fluxes.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1147,7 +1147,7 @@ where :math:`\overrightarrow{S}_{v}` is the solar radiation absorbed by the vege

\Delta T_{v} =\frac{\overrightarrow{S}_{v} -\overrightarrow{L}_{v} -H_{v} -\lambda E_{v} }{\frac{\partial \overrightarrow{L}_{v} }{\partial T_{v} } +\frac{\partial H_{v} }{\partial T_{v} } +\frac{\partial \lambda E_{v} }{\partial T_{v} } }

where :math:`\Delta T_{v} =T_{v}^{n+1} -T_{v}^{n}` and the subscript "n" indicates the iteration.
where :math:`\Delta T_{v} =T_{v}^{k+1} -T_{v}^{k}` and the subscript "k" indicates the iteration.

The partial derivatives are

Expand Down Expand Up @@ -1227,9 +1227,9 @@ The numerical solution for vegetation temperature and the fluxes of momentum, se

#. Latent heat flux from vegetation :math:`\lambda E_{v}` (:eq:`5.101` )

#. If the latent heat flux has changed sign from the latent heat flux computed at the previous iteration (:math:`\lambda E_{v} ^{n+1} \times \lambda E_{v} ^{n} <0`), the latent heat flux is constrained to be 10% of the computed value. The difference between the constrained and computed value (:math:`\Delta _{1} =0.1\lambda E_{v} ^{n+1} -\lambda E_{v} ^{n+1}` ) is added to the sensible heat flux later.
#. If the latent heat flux has changed sign from the latent heat flux computed at the previous iteration (:math:`\lambda E_{v} ^{k+1} \times \lambda E_{v} ^{k} <0`), the latent heat flux is constrained to be 10% of the computed value. The difference between the constrained and computed value (:math:`\Delta _{1} =0.1\lambda E_{v} ^{k+1} -\lambda E_{v} ^{k+1}` ) is added to the sensible heat flux later.

#. Change in vegetation temperature :math:`\Delta T_{v}` (:eq:`5.129` ) and update the vegetation temperature as :math:`T_{v}^{n+1} =T_{v}^{n} +\Delta T_{v}`. :math:`T_{v}` is constrained to change by no more than 1°K in one iteration. If this limit is exceeded, the energy error is
#. Change in vegetation temperature :math:`\Delta T_{v}` (:eq:`5.129` ) and update the vegetation temperature as :math:`T_{v}^{k+1} =T_{v}^{k} +\Delta T_{v}`. :math:`T_{v}` is constrained to change by no more than 1°K in one iteration. If this limit is exceeded, the energy error is

.. math::
:label: 5.138
Expand Down Expand Up @@ -1269,7 +1269,7 @@ The error :math:`\lambda \Delta _{3}` is added to the sensible heat flux later.

#. Monin-Obukhov length :math:`L` (:eq:`5.49` )

#. The iteration is stopped after two or more steps if :math:`\tilde{\Delta }T_{v} <0.01` and :math:`\left|\lambda E_{v}^{n+1} -\lambda E_{v}^{n} \right|<0.1` where :math:`\tilde{\Delta }T_{v} =\max \left(\left|T_{v}^{n+1} -T_{v}^{n} \right|,\, \left|T_{v}^{n} -T_{v}^{n-1} \right|\right)`, or after forty iterations have been carried out.
#. The iteration is stopped after two or more steps if :math:`\tilde{\Delta }T_{v} <0.01` and :math:`\left|\lambda E_{v}^{k+1} -\lambda E_{v}^{k} \right|<0.1` where :math:`\tilde{\Delta }T_{v} =\max \left(\left|T_{v}^{k+1} -T_{v}^{k} \right|,\, \left|T_{v}^{k} -T_{v}^{k-1} \right|\right)`, or after forty iterations have been carried out.

#. Momentum fluxes :math:`\tau _{x}`, :math:`\tau _{y}` (:eq:`5.5`, :eq:`5.6`)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -141,9 +141,9 @@ where
.. math::
:label: 4.14

\begin{array}{l} {L_{vg} \, \uparrow =\left(1-\varepsilon _{g} \right)\left(1-\varepsilon _{v} \right)\left(1-\varepsilon _{v} \right)L_{atm} \, \downarrow } \\ {\qquad \qquad +\varepsilon _{v} \left[1+\left(1-\varepsilon _{g} \right)\left(1-\varepsilon _{v} \right)\right]\sigma \left(T_{v}^{n} \right)^{3} \left[T_{v}^{n} +4\left(T_{v}^{n+1} -T_{v}^{n} \right)\right]} \\ {\qquad \qquad +\varepsilon _{g} \left(1-\varepsilon _{v} \right)\sigma \left(T_{g}^{n} \right)^{4} } \\ {\qquad =\left(1-\varepsilon _{g} \right)\left(1-\varepsilon _{v} \right)\left(1-\varepsilon _{v} \right)L_{atm} \, \downarrow } \\ {\qquad \qquad +\varepsilon _{v} \sigma \left(T_{v}^{n} \right)^{4} } \\ {\qquad \qquad +\varepsilon _{v} \left(1-\varepsilon _{g} \right)\left(1-\varepsilon _{v} \right)\sigma \left(T_{v}^{n} \right)^{4} } \\ {\qquad \qquad +4\varepsilon _{v} \sigma \left(T_{v}^{n} \right)^{3} \left(T_{v}^{n+1} -T_{v}^{n} \right)} \\ {\qquad \qquad +4\varepsilon _{v} \left(1-\varepsilon _{g} \right)\left(1-\varepsilon _{v} \right)\sigma \left(T_{v}^{n} \right)^{3} \left(T_{v}^{n+1} -T_{v}^{n} \right)} \\ {\qquad \qquad +\varepsilon _{g} \left(1-\varepsilon _{v} \right)\sigma \left(T_{g}^{n} \right)^{4} } \end{array}
\begin{array}{l} {L_{vg} \, \uparrow =\left(1-\varepsilon _{g} \right)\left(1-\varepsilon _{v} \right)\left(1-\varepsilon _{v} \right)L_{atm} \, \downarrow } \\ {\qquad \qquad +\varepsilon _{v} \left[1+\left(1-\varepsilon _{g} \right)\left(1-\varepsilon _{v} \right)\right]\sigma \left(T_{v}^{n+1,k} \right)^{3} \left[T_{v}^{n+1,k} +4\left(T_{v}^{n+1,k+1} -T_{v}^{n+1,k} \right)\right]} \\ {\qquad \qquad +\varepsilon _{g} \left(1-\varepsilon _{v} \right)\sigma \left(T_{g}^{n} \right)^{4} } \\ {\qquad =\left(1-\varepsilon _{g} \right)\left(1-\varepsilon _{v} \right)\left(1-\varepsilon _{v} \right)L_{atm} \, \downarrow } \\ {\qquad \qquad +\varepsilon _{v} \sigma \left(T_{v}^{n+1,k} \right)^{4} } \\ {\qquad \qquad +\varepsilon _{v} \left(1-\varepsilon _{g} \right)\left(1-\varepsilon _{v} \right)\sigma \left(T_{v}^{n+1,k} \right)^{4} } \\ {\qquad \qquad +4\varepsilon _{v} \sigma \left(T_{v}^{n+1,k} \right)^{3} \left(T_{v}^{n+1,k+1} -T_{v}^{n+1,k} \right)} \\ {\qquad \qquad +4\varepsilon _{v} \left(1-\varepsilon _{g} \right)\left(1-\varepsilon _{v} \right)\sigma \left(T_{v}^{n+1,k} \right)^{3} \left(T_{v}^{n+1,k+1} -T_{v}^{n+1,k} \right)} \\ {\qquad \qquad +\varepsilon _{g} \left(1-\varepsilon _{v} \right)\sigma \left(T_{g}^{n} \right)^{4} } \end{array}

where :math:`\varepsilon _{v}` is the vegetation emissivity and :math:`T_{v}^{n+1}` and :math:`T_{v}^{n}` are the vegetation temperatures at the current and previous time steps, respectively (:ref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`). The first term in the equation above is the atmospheric longwave radiation that is transmitted through the canopy, reflected by the ground, and transmitted through the canopy to the atmosphere. The second term is the longwave radiation emitted by the canopy directly to the atmosphere. The third term is the longwave radiation emitted downward from the canopy, reflected by the ground, and transmitted through the canopy to the atmosphere. The fourth term is the increase (decrease) in longwave radiation due to an increase (decrease) in canopy temperature that is emitted by the canopy directly to the atmosphere. The fifth term is the increase (decrease) in longwave radiation due to an increase (decrease) in canopy temperature that is emitted downward from the canopy, reflected from the ground, and transmitted through the canopy to the atmosphere. The last term is the longwave radiation emitted by the ground and transmitted through the canopy to the atmosphere.
where :math:`\varepsilon _{v}` is the vegetation emissivity, :math:`T_{v}^{n+1,k+1}` and :math:`T_{v}^{n+1,k}` are the vegetation temperatures at the current time step and current and previous iteration, respectively, where :math:`k` is the iteration level (:ref:`rst_Momentum, Sensible Heat, and Latent Heat Fluxes`). The first term in the equation above is the atmospheric longwave radiation that is transmitted through the canopy, reflected by the ground, and transmitted through the canopy to the atmosphere. The second term is the longwave radiation emitted by the canopy directly to the atmosphere. The third term is the longwave radiation emitted downward from the canopy, reflected by the ground, and transmitted through the canopy to the atmosphere. The fourth term is the increase (decrease) in longwave radiation due to an increase (decrease) in canopy temperature that is emitted by the canopy directly to the atmosphere. The fifth term is the increase (decrease) in longwave radiation due to an increase (decrease) in canopy temperature that is emitted downward from the canopy, reflected from the ground, and transmitted through the canopy to the atmosphere. The last term is the longwave radiation emitted by the ground and transmitted through the canopy to the atmosphere.

The upward longwave radiation from the ground is

Expand All @@ -157,7 +157,7 @@ where :math:`L_{v} \, \downarrow` is the downward longwave radiation below the v
.. math::
:label: 4.16

L_{v} \, \downarrow =\left(1-\varepsilon _{v} \right)L_{atm} \, \downarrow +\varepsilon _{v} \sigma \left(T_{v}^{n} \right)^{4} +4\varepsilon _{v} \sigma \left(T_{v}^{n} \right)^{3} \left(T_{v}^{n+1} -T_{v}^{n} \right).
L_{v} \, \downarrow =\left(1-\varepsilon _{v} \right)L_{atm} \, \downarrow +\varepsilon _{v} \sigma \left(T_{v}^{n+1,k} \right)^{4} +4\varepsilon _{v} \sigma \left(T_{v}^{n+1,k} \right)^{3} \left(T_{v}^{n+1,k+1} -T_{v}^{n+1,k} \right).

The net longwave radiation flux for the ground is (positive toward the atmosphere)

Expand Down
12 changes: 1 addition & 11 deletions python/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,6 @@ PYLINT_SRC = \
# ../cime_config/buildnml

all: test black lint
# ----------------------------------------------------------------
# See the stest target about this issue
@echo "Run './run_ctsm_py_tests --sys' by hand afterwards"
# ----------------------------------------------------------------
@echo
@echo
@echo "Successfully ran all standard tests"
Expand All @@ -45,13 +41,7 @@ utest: FORCE
.PHONY: stest
stest: FORCE
# ----------------------------------------------------------------
# EBK 2024-03-19: Comment out running here because of this issue:
# https://github.com/ESCOMP/CTSM/pull/2363#issuecomment-1967884908
#$(PYTHON) ./run_ctsm_py_tests $(TEST_ARGS) --sys
# Instead run by hand which seems to be working for now...
# ----------------------------------------------------------------
@echo "System tests currently don't run under Make so..."
@echo "Run './run_ctsm_py_tests --sys' by hand afterwards"
$(PYTHON) ./run_ctsm_py_tests $(TEST_ARGS) --sys

.PHONY: lint
lint: FORCE
Expand Down
Loading
Loading