Urban Heat Island in an "all-green" scenario


Hi All,

I am using Dragonfly to compare UHI according to some urbanization scenarios. One of my simulations included creating an “all-green” scenario where grass and trees cover 100% of study area. Since buildings are expected as inputs, I tried to reduce their area to the minimal possible without causing error to the software.

This “all-green” scenario has a quite significant UHI when compared to the original input weather (from airport stations) while the urbanization scenarios does not show much further increase. I was expecting almost zero UHI considering a case of 100% vegetation but this didn’t happen, can someone assist on why?

I am attaching a model based on parameters for simplification, although I originally observed the issue in a more detailed case study.
AllGreen_Parameters_LS.gh (473.3 KB)

Thank you a lot for the support and congratulations for the good work on the dragonfly component!


Hi @lguilhermers,

Thanks for making your script into the parameter-based model, that makes things easier. Can you also include the modified epw file you are referencing in your gh file?



Oh yes, sorry about that.
SGP_Singapore.486980_IWEC_fixed.epw (1.4 MB)


Hi @SaeranVasanthakumar, do you have any idea why this issue is happening?

To better illustrate the problem, I am including a graph for the average hourly values. The green line indicates the original weather data from the airport, the yellow line indicates my “all-green” scenario, with 100% tree and grass coverage and with minimum building site coverage (1%), just to make the software run. The red line is a case where 22% of the site is covered by buildings, while trees have only 9% and green have only 1% site coverage.

I don’t get how the difference from urbanization could be considerably smaller than the difference between “all green” and original weather file. I get that the vegetation parameters and boundary conditions have an impact on that but is there a way that I can make UWG run a “all-green” scenario with zero or near-zero UHI?



Sorry for the late response! I’ll be able to answer this more fully after I’ve finished work, but the overall problem here is that the UWG was developed to model a built scenario specifically, and therefore some of the default parameters in Dragonfly (i.e meteorological parameters like the UBL height), and the way the UWG models the heat balance between trees, grass, and the urban canyon aren’t actually reflecting this “all-green” scenario you want.



Sorry for the late response, but this took some investigation on my part.

As I mentioned above, the main problem here is that the UWG model assumes you are modeling an urban scenario, so it doesn’t really model an “all-green” scenario as you describe. However, if you want to model a reduced built condition scenario, that illustrates (in a simplified way) the cooling impact of vegetation, you can do so by making the following changes (see the attached GH script for model).

Change the default meteorological inputs to reflect a rural condition

The default parameters for the meteorological models (in the “DF Boundary Layer Parameters” component) are set to reflect an urban condition. Since these inputs are based on empirical data, and for most urban configurations don’t change too much, the UWG traditionally advises not to modify them.

In this case since you are reducing the urban density and height so significantly I think you need to reduce these parameters to reflect rural conditions. For example, the daytime and nightime boundary layer height reflects the height of air mixed by heat flux from an urban surface (1000m and 80m respectively). In rural locations, the thermal inertia contributing to this mixing is absent, and therefore the boundary layer height needs to be a lot lower.

Obtaining reasonable values for your condition is a challenge here, as they are based on empirical data, or computationally intensive simulations that aren’t accessible to us. I set some approximate rural values in the modified GH script, based on an uncertainty analysis done for the UWG done here: [https://www.researchgate.net/publication/318984566_Global_sensitivity_analysis_of_an_urban_microclimate_system_under_uncertainty_Design_and_case_study]. You can read the paper for greater detail on the meths used for obtaining these meteorological values based on previous UWG research. In this case, I chose values very conservatively, somewhere around the average of the default value, and the lower bound. Given the uncertainty around these parameters, I would recommend doing a sensitivity or uncertainty analysis with these values, to model a range of output values, rather then rely on a single value for your study.

UBL day height = 600m
UBL night height = 65m
inversion height = 125m
circulation coeff = 1.0
exchange coeff = 0.9

Change the road to be more soil-like

Despite the fact that you are setting the grass to 100% coverage, the UWG model still considers the material underneath that grass to be road, and assumes the fraction of solar radiation that isn’t reflected by the vegetation albedo to be absorbed by that road material. That is, the solar radiation absorbed by a road element, with 100% grass on it, is a property of the underlying road, and the heat transfer calculations then proceed for that 0.5m road material. So in this case I reset the road parameters to reflect heat capacity and conductivity of soil from EnergyPlus (https://bigladdersoftware.com/epx/docs/8-0/input-output-reference/page-010.html#materialroofvegetation).

soil k = 0.35 W m-1 k-1
soil Cpv = 705,100 J m-3 k-1

Remove the tree fraction to allow for long-wave radiation exchange with the sky

I admit, the specific details of the tree/grass part of the UWG model confuses me a bit, and I need to run my assumptions past one of the original developers of the UWG for confirmation, but I believe increasing the tree fraction in the UWG actually decreases the cooling contribution of vegetation because it doesn’t account for long-wave radiative exchange with the sky.

For grass on the ground, the heat contribution to the urban canyon heat balance includes the received solar radiation (split into sensible, latent component), and the infrared exchange with the sky. Due to lower temperature of the clear sky, the grass on the ground or pavement, will lose infrared energy to the sky.

In contrast, the trees contribute to the urban canyon heat balance through received solar radiation (split into sensible, latent components), but aren’t modeled themselves in the infrared calculations, instead they are modeled as shading obstructions, that block the ground from emitting long-wave radiation to the sky.

Since the UWG considers trees to be shorter then the urban canyon (and thus part of it’s heat balance model), this seems like an oversight. At any rate, you will notice if you reduce the tree fraction to 0.1 or so, the long-wave radiation to the sky from the ground will decrease your temperature.


mostly_green_parameters_SV.gh (537.3 KB)

I made the changes documented above, and managed to bring down the dry bulb temperature to the rural dry bulb temperature. (Red = rural, Blue = your model, Green = revised model). There is still a noticeable thermal lag (relative to the rural condition) in this revised “mostly-green” scenario, which might be coming from the building energy and the exposed ground but if you take the average, or the integral of this, you will see that the temperature over the long-term is actually cooler in the green scenario. And again, given the uncertainty of the meteorological parameters, I think it would be a good idea to do a sensitivity/uncertainty analysis to ensure you get a range of values for your study, to better model this condition.




Thank you a lot for the very complete answer and the effort to analyse it, it really helped to understand some features of the model. I will proceed with the uncertainty analysis you mentioned.