Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

Temperature at different depths in CLM5

wvsi3w

wvs3iw
Member
Hello,
I have a problem with finding how to do the following:

We have these land temperature in the output of running CLM5:
TSOI : soil temperature (vegetated landunits only)
TSOI_10CM: soil temperature in top 10cm of soil
TSOI_ICE: soil temperature (ice landunits only)
TSL: temperature of near surface soil layer

The problem is the variables that already exist in the outputs of CLM5 are related to the surface only. We were wondering if we could extract another variable that gives us the results of calculating Temperature at different depths. Because I modified the layer structures and in it we would have like 200m and 300m depths and we should know what is going on in those depths (Temperature wise).

In this link (https://www2.cesm.ucar.edu/models/cesm2/land/CLM50_Tech_Note.pdf) from CLM5 documentation (Chapter 6. Soil and Snow Temperatures from page 65 till page 75) it shows us how these calculations are done, and for instance it has a figure in page 68 that is for “Schematic diagram of numerical scheme used to solve for soil temperature” and we see “Ti-1, Ti, Ti+1” which are for Temperature at different depths.

I have to figure out a way to extract the soil (ground) temperature at certain depths as a variable in the outputs of running the model. In this thread someone was looking for the same thing in ice model I guess (Deriving Internal Temperature) but I want it for the ground column. I did not find any options to output internal temperature for the ground like vertical temperature profile for each or all layers.

To summarize:
I am looking for a way to have temperature of land column from surface to the bottom boundary (whatever it is. In my case it is 200m or maybe 500m depth) in the output of running the CLM5. It can be Temperature profile or it can be Temperature of ground at certain depths that I can assign (like at 100m, 200m, 300m ... till bottom boundary).

P.S. there is a variable called t_soisno in the fortran code of SoilTemperatureMod.F90 file that I think is related to this (?)

I am very lost here plz help.
 

wvsi3w

wvs3iw
Member
Dear @oleson and dear @slevis

Is there a way to have the internal temperature for the ground like a vertical temperature profile for each or all layers as output in the variables after you run the model?

From the documentation, I know that the model does calculate these T @ different depths (page 68 of CLM5_Tech_Note), but we don't have them in our output we only have those surface temperatures that I mentioned in last message.

I want to know if there is a way to have this as an output variable in the model (and in my case when I increase the bottom boundary condition of the CLM5, can I have the temperature profile (from the surface to the assigned bottom boundary which in my case can be 200m or more) for each grid point?).

Or at least having variables similar toTSOI_10CM but instead of 10CM, I want different depths like 50m increments that I assign.

I modified the Fortran file related to this (which I believe is "SoilTemperatureMod.F90") that includes a variable called "t_soisno" and I added some other lines to it (for 50m increments) but I am sure this is not going to appear in the outputs after running the model.

Thank you for your time.
 

wvsi3w

wvs3iw
Member
In this link (clm5_0/src/biogeophys/TemperatureType.F90 at tsmp-pdaf · HPSCTerrSys/clm5_0) which has the short lines for “t_soi10cm_col” variable:

Code:
this%t_soi10cm_col(begc:endc) = spval

call hist_addfld1d (fname='TSOI_10CM', units='K', &

avgflag='A', long_name='soil temperature in top 10cm of soil', &

ptr_col=this%t_soi10cm_col, set_urb=spval)

And there is another one “t_soi17cm_col” which doesn’t have the same lines for it as 10cm has and is confusing. I think if I add some other variables similar to the 10cm variable for different depths it can work. BUT still this is not the vertical temperature profile of each grid point that I was looking for ☹
 

wvsi3w

wvs3iw
Member
@wvsi3w I am pretty sure that TSOI is a 3D variable: lat x lon x layer of soil
Thank you for your response.

Yes, but the TSOI itself has a description that says "vegetated land units only" and TSOI_ice says ice land units only. This may seem silly and you might think I am silly but I was wondering if this TSOI can represent every land unit. For instance, in permafrost regions where there is both ice and vegetation (more or less), how can we use this variable? Should we merge these two variables to have a single one (TSOI and TSOI_ICE)? that's why I was thinking maybe there is a possibility to have TSOI_Xm defined (instead of TSOI_10cm).

I know that the doing part is my job, I am just checking if I understand these variables correctly because I guess "vegetated land units only" means places where veggies exist. Or maybe this "vegetated land unit" refers to some other explanation regarding CESM definitions of PFTs (Gridcell > Landunits > Column > Patch)? If this is what it means then this "TSOI = vegetated land unit only" excludes corp land units (I am referring to (Lawrence et al, 2019) figure for CLM5 sub-grid hierarchy).

I am sorry for my long and silly questions.

Thank you in advance for your support
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
In the latest version of CLM, the long_name for the history variable TSOI says "soil temperature (natural vegetated and crop landunits only)". This would always include soil that is subject to permafrost. The long_name for TSOI_ICE says "soil temperature (ice landunits only)". Ice in this context means glacier landunits.
 

wvsi3w

wvs3iw
Member
In the latest version of CLM, the long_name for the history variable TSOI says "soil temperature (natural vegetated and crop landunits only)". This would always include soil that is subject to permafrost. The long_name for TSOI_ICE says "soil temperature (ice landunits only)". Ice in this context means glacier landunits.
Thank you very much for your kind response.
So even if I am using the CLM5 (from CESM version 2.1.3) this TSOI would include all types of land except for glaciers right? and it doesn't matter which version I am using (?)

May I know where can I check that in the documentation (or any other link, github?) because I found it in this link only (https://www2.cesm.ucar.edu/models/c.../doc/UsersGuide/history_fields_table_40.xhtml)
 

wvsi3w

wvs3iw
Member
Lakes and urban aren't vegetated so it wouldn't include them either.
I understand. Thank you.
While modifying the src Fortran codes of CLM5, I noticed many differences between the Fortran files of CTSM and CLM5. Since I have to stick with CLM5 (because my project requires other components of CESM too), I always wanted to know whether these differences are significant or not. By seeing that you referred to the CTSM History Fields link, I think there is nothing to worry about regarding those differences between the two (CTSM vs CLM5) because basically they are both the same and it doesn't matter which one we refer to.

Thanks again for your clarification
 

slevis

Moderator
You should not worry about differences between model versions if you are already working with the model version that you want.
 

slevis

Moderator
With my comment I do not mean to imply that the model versions that you are comparing are basically the same because I do not know which ctsm version you are looking at.
 

wvsi3w

wvs3iw
Member
With my comment I do not mean to imply that the model versions that you are comparing are basically the same because I do not know which ctsm version you are looking at.
Thank you for your kind response.
I am using CESM2.1.3 (CLM5) and the reason I said I saw some differences between CTSM and CLM5 is that the GitHub page for CTSM.
For example, this link (clm5_0/src/biogeophys/SoilTemperatureMod.F90 at tsmp-pdaf · HPSCTerrSys/clm5_0) and this link (CTSM/src/biogeophys/SoilTemperatureMod.F90 at master · ESCOMP/CTSM) have 2000 lines of difference between the two same files.

That's why I thought maybe CLM and CTSM have significant differences (although I know they should both be the same)
 

slevis

Moderator
We have continued to develop the clm/ctsm since the clm5 release, and the master branch shows you the most recent version, which is MUCH different from clm5. Keep in mind that the master branch includes a new tag every few days or so and continues to diverge from clm5. Also keep in mind that the code in the master branch is not supported, yet.
 

wvsi3w

wvs3iw
Member
We have continued to develop the clm/ctsm since the clm5 release, and the master branch shows you the most recent version, which is MUCH different from clm5. Keep in mind that the master branch includes a new tag every few days or so and continues to diverge from clm5. Also keep in mind that the code in the master branch is not supported, yet.
Thank you, @slevis for your helpful response.

I understand and appreciate your input.

The reason I mentioned this is to confirm whether the definition of TSOI in CTSM, as Keith referred to (soil temperature for natural vegetated and crop land-units only), is the same definition used in CLM5. Rationally, it should be the same, but I wanted to make sure.

If the definition of TSOI in CTSM differs significantly from that in CLM5, it could present some challenges for me. I am thinking "generally" and am not concerned with the specific versions.

Thank you again for your comment.
 
Top