Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

Computing surface temperature gradient


New member

I am relatively new to the WRF model but am currently doing some WRF-LES runs. My question is, when I go back to compute my SGS fluxes, I noticed something odd in the module_diffuse_em.F file. It computes the temperature gradient (dthrdn) at the lowest model point (temp gradient between the surface and second model level) using two rdzw distances to compute this gradient. If I understand this correctly, I think this is not the correct distance, as this would be greater than the distance between these points. Is there a reason the gradient is computed with this distance rather than the actual distance?

What I would expect it to be is something like: (0.5*(theta(k=1)+theta(k=2))-thetasfc)/(1/rdzw)

The above would give you the gradient at that lowest center point. However, this suggests I could use linear interpolation at the surface where the temperature gradient is typically non-linear. Perhaps this is why dthrdn is calculated as it appears in the module_diffuse_em.F file? If someone could explain this decision or point me in the direction of somewhere where it is presented, it would be greatly appreciated.

Thank you for raising this issue. I will talk to our expert and get back to you once I know for sure why WRF handles temperature gradient in this way.
Our expert agree with you that the model is not quite using the appropriate dz for the gradient at the surface.
It may need to be rdz(k) + 0.5 rdzw(k).