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

CLM bulk soil density output

djk2120

Daniel Kennedy
New Member
What version of the code are you using?
branch_tags/TRENDY-2019.n05_ctsm1.0.dev056
fsurdat = '/glade/p/cesmdata/cseg/inputdata/lnd/clm2/surfdata_map/ctsm5.1.dev052/surfdata_0.9x1.25_hist_78pfts_CMIP6_simyr1700_c210820.nc'

Describe your problem or question:
I have a collaborator who would like bulk soil density output from an old TRENDY simulation (2021) that was run on cheyenne.

1. Is there somewhere in standard history that I might find this? I no longer have the hist/ output but only tseries/
2. Assuming no, is there a straightforward way to calculate the bulk density directly from the surface dataset?
3. If not, I'm thinking I could check out a newer version of ctsm that runs on derecho, select clm50 physics, run a short simulation pointing to that fsurdat, and make sourcemods to add "bd_col" to the history output. Does that seem robust? It's obviously pretty convoluted, but I at least know all the steps involved...
 
Solution
So it looks like I have the original history files for the following TRENDY (2022). I used the same ctsm tag and the two surface datasets look identical with regard to the soils. So I guess I'll use that equation you suggested and calculate it from the porosity I have from the original history files.

I guess I'll make a habit to archive that type of information from the original history files after timeseries generation.

thanks!

oleson

Keith Oleson
CSEG and Liaisons
Staff member
1. Right, it's not in standard history output that I know of. It looks like it's calculated as:

soilstate_inst%bd_col(c,lev) = (1._r8 - soilstate_inst%watsat_col(c,lev))*2.7e3_r8

but as you suggest, WATSAT is only available from the original history files, not timeseries files.

2. It seems like it it might be possible to calculate bd from the surface dataset since it depends on watsat which depends on pct_sand but also on the organic matter fraction and organic matter watsat, all of which should be available on the surface dataset or I think can be derived from it. A bit convoluted though, involving the code in biogeophys/SoilStateInitTimeConstMod.F90.

3. That should work as well. The release version that runs on Derecho is release-cesm2.1.5 (release-clm5.0.37). You'd just have to make sure the fields mentioned above are the same in the two surface datasets. And you might want to output it at the column level since the soil properties can have different values for different column/landunit types, e.g., lakes I think.
 
Vote Upvote 0 Downvote

djk2120

Daniel Kennedy
New Member
So it looks like I have the original history files for the following TRENDY (2022). I used the same ctsm tag and the two surface datasets look identical with regard to the soils. So I guess I'll use that equation you suggested and calculate it from the porosity I have from the original history files.

I guess I'll make a habit to archive that type of information from the original history files after timeseries generation.

thanks!
 
Vote Upvote 0 Downvote
Solution

oleson

Keith Oleson
CSEG and Liaisons
Staff member
Ok, that seems reasonable.
I've run across this problem with the time-invariant fields before. I guess a workaround is to save the first history file from each simulation, although it would be nice if this process was automated.
 
Vote Upvote 0 Downvote
Top