Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sensible heat from trees not accounting for TreeCoverage fraction in UCMDef? #94

Closed
saeranv opened this issue Dec 2, 2018 · 1 comment

Comments

@saeranv
Copy link
Member

saeranv commented Dec 2, 2018

@hansukyang,

In the UCMDef.m module, the canyon sensible heat is calculated from the heat flux of the canyon components this way:

            % Sensible Heat
            obj.sensHeat = obj.Q_wall + obj.Q_road + obj.Q_vent + obj.Q_window + obj.Q_hvac + obj.Q_traffic + obj.treeSensHeat + obj.Q_roof;

https://github.com/hansukyang/UWG_Matlab/blob/b96bc2a8458ce10990d9bdbea16c5cef17628c50/SolarCalcs.m#L52-L54

Since this is the sensible heat for the total unit urban area, shouldn't the obj.treeSensHeat be multiplied by obj.treeCoverage? The obj.UCM.treeSensHeat variable is calculated in the SolarCalcs.m:

        % Vegetation heat (per m^2 of veg)
        UCM.treeSensHeat = (1-parameter.vegAlbedo)*(1-parameter.treeFLat)*UCM.SolRecRoad;
        UCM.treeLatHeat = (1-parameter.vegAlbedo)*parameter.treeFLat*UCM.SolRecRoad;

https://github.com/hansukyang/UWG_Matlab/blob/b96bc2a8458ce10990d9bdbea16c5cef17628c50/SolarCalcs.m#L52-L54

As you can see, it only takes into account the sensible, latent, albedo fractions, but not the ratio of trees in the urban area. So I believe when this is summed with the other canyon components in the UCMDef module, it may be overestimating the tree sensible heat load in the canyon heat balance.

I think this is done correctly, earlier in the code, when beginning the derivation of the total canyon Q:

            H1 = H1 + T_ubl*obj.roadArea*obj.uExch*Cp_air*dens_ubl; % Heat from UBL
            H2 = H2 + obj.roadArea*obj.uExch*Cp_air*dens_ubl;
            Q = (obj.roofArea+obj.roadArea)*(obj.sensAnthrop + obj.treeSensHeat*obj.treeCoverage);

https://github.com/hansukyang/UWG_Matlab/blob/b96bc2a8458ce10990d9bdbea16c5cef17628c50/UCMDef.m#L141-L148

But then, was omitted, when adding the sensible heat components up again at the bottom.

Let me know if I'm missing something here. (the code is sufficiently complex I wouldn't be surprised if this is somehow accounted for somewhere else!) thanks.

Saeran

ETA: Correcting total urban area to unit urban area.

@saeranv
Copy link
Member Author

saeranv commented Nov 13, 2020

Addressed with latest UWG.

@saeranv saeranv closed this as completed Nov 13, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant