Welcome to the new DiscussCESM forum!
We are still working on the website migration, so you may experience downtime during this process.

Existing users, please reset your password before logging in here: https://xenforo.cgd.ucar.edu/cesm/index.php?lost-password/

What's the difference among TSKIN(skin temperature), TG(ground temperature) and TV(vegetation temature) in CLM5.0 output?

jack

jack
Member
Hi,
I want to validate the CLM5.0 output LST with that of MODIS LST(MOD11A1), I know MODIS LST is skin temperature, so should I use the variable 'TSKIN' of CLM output to compare? I just see there are three kinds of temperature(i.e., TSKIN, TG and TV) in clm5.0 output, however there is only TG in CLM 4.5, so I'm confused. Thanks so much!
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
Look at the variable t_skin_patch in the code, this corresponds to TSKIN. For vegetated surfaces, for example, t_skin_patch is a combination of leaf (canopy) temperature (t_veg), leaf emissivity (emv) and outgoing longwave from the ground (soil) surface (lw_grnd)

t_skin_patch(p) = emv(p)*t_veg(p) + (1._r8 - emv(p))*sqrt(sqrt(lw_grnd))

I imagine TSKIN is probably the closest thing to MODIS LST.
TG is ground (soil/lake/urban) surface temperature.

CLM4.5 should have all three (TSKIN, TG, and TV) depending on the model version.
 

jack

jack
Member
one more question, i see the highest tempormal resoultion of CLM output is half-hourly, i.e., set hist_nhtfrq=1 in user_nl_clm, is there any method to obtain complete DTC cycle using CLM model(i.e. tempornally seamless)?
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
The finest temporal resolution of history output you can get is at the model time step.
 

jack

jack
Member
Look at the variable t_skin_patch in the code, this corresponds to TSKIN. For vegetated surfaces, for example, t_skin_patch is a combination of leaf (canopy) temperature (t_veg), leaf emissivity (emv) and outgoing longwave from the ground (soil) surface (lw_grnd)

t_skin_patch(p) = emv(p)*t_veg(p) + (1._r8 - emv(p))*sqrt(sqrt(lw_grnd))

I imagine TSKIN is probably the closest thing to MODIS LST.
TG is ground (soil/lake/urban) surface temperature.

CLM4.5 should have all three (TSKIN, TG, and TV) depending on the model version.
Where can I find the code of TG and TSKIN in src directory? when output with 0.5h, I find TSKIN was always 0.5h later than TG, do you konw why?
 

oleson

Keith Oleson
CSEG and Liaisons
Staff member
I use "grep" to find the variable in the code that is associated with a history variable. E.g., in the src directory:

grep -r TSKIN *

points to this line of code in biogeophys/TemperatureType.F90:

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

Then look in that file and see:

this%t_skin_patch(begp:endp) = spval
call hist_addfld1d(fname='TSKIN', units='K', &
avgflag='A', long_name='skin temperature', &
ptr_patch=this%t_skin_patch, c2l_scale_type='urbans')

So, t_skin_patch is the variable associated with TSKIN.
So then grep for t_skin_patch to see how it is calculated. You should be able to find the calculation that I posted above in CanopyFluxesMod.F90.
I don't know why TSKIN is always 0.5h later than TG. Keep in mind that this is likely going to be a function of the surface types within the grid cell.
 

jack

jack
Member
I use "grep" to find the variable in the code that is associated with a history variable. E.g., in the src directory:

grep -r TSKIN *

points to this line of code in biogeophys/TemperatureType.F90:

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

Then look in that file and see:

this%t_skin_patch(begp:endp) = spval
call hist_addfld1d(fname='TSKIN', units='K', &
avgflag='A', long_name='skin temperature', &
ptr_patch=this%t_skin_patch, c2l_scale_type='urbans')

So, t_skin_patch is the variable associated with TSKIN.
So then grep for t_skin_patch to see how it is calculated. You should be able to find the calculation that I posted above in CanopyFluxesMod.F90.
I don't know why TSKIN is always 0.5h later than TG. Keep in mind that this is likely going to be a function of the surface types within the grid cell.
thanks a lot
 
Top