WRF-urban-NbS development#2272
Conversation
WRF-urban-nbs update
Update dyn_em files with new WRF-urban-nbs related variables
Largely enhanced module_sf_urban.F to incorporate nature-based solutions (including urban trees) Update phys files with new WRF-urban-nbs related variables
Update TBL files with new WRF-urban-nbs related variables
Update wrftladj files with new WRF-urban-nbs related variables
|
This PR will fail the regression test because the NoahMP link has not been updated yet. The developers are working to update the noahmp github for this changes and will update the commit soon once the noahmp link is updated. |
|
@chenghaow This PR fails for multiple tests when |
- Removed double-precision-related code based on HRLDAS offline model - Uncommented distributed aerodynamic roughness length related code to be consistent with WRF v4.7.1
|
@weiwangncar Thanks for sharing the compilation log. We found that the issue is caused by an inconsistency in @cenlinhe I'll open a separate issue in the HRLDAS repo on this. |
|
yes, Noah-MP uses a different double precision flag (DOUBLE_PREC) than WRF (DOUBLE_PRECISION). My NoahMPv5 coupling will resolve this issue, but it's good that you reverted back to the original WRF-Urban treatment. Please make sure that you did not remove any other default urban code in the WRF version (do not use HRLDAS version). |
Sure. We will keep the double precision flag in the offline version though. |
|
HRLDAS version of the urban code may lag a few recent WRF-Urban updates. |
Duplicate declarations removed
|
The current version successfully compiled on Derecho with |
|
@chenghaow The last regression tests failed on three cases. Attached is the output file from this group of tests (search for kiaps2): |
Also removed temporary fix for singularity matrix in tree energy budget
|
This PR needs to be merged first before the refactored NoahMP coupling PR (#2268) because this PR modifies the non-refactored NoahMP urban driver. Once this urban PR is merged, I will need to update the Noah-MP urban driver in the refactored code and hence the refactored NoahMP coupling PR above to avoid any merge conflicts. |
|
@weiwangncar Looks like our recent fix failed the regression tests. Would you please share the output file? Thanks! |
|
@chenghaow See attached file here (tests for kiaps2 namelists): |
Singular matrix in Urban Tree Energy Budget
Stabilize urban tree energy budget solve with damped diagonal fallback
|
@chenghaow Can you address the last comment by @dudhia? Thanks. |
Sure. I'll change |
change `TREEOPTION: 1` to `TREEOPTION: 0` as the default option in `URBPARM.TBL`, `URBPARM_LCZ.TBL`, and `URBPARM_UZE.TBL`
|
@chenghaow Thanks for the change. Would the default now produce identical results as if the option is not there? |
|
@chenghaow We would like confirmation this does not affect results when the option is switched off before approving the PR. |
|
Hi @dudhia and @weiwangncar With
So, if users stick with the default table values, the only expected difference relative to the original SLUCM would come from the street-canyon shadow effect. @cenlinhe also looping in Cenlin here. |
|
OK, we will approve it if @cenlinhe can confirm that these changes are fine. Thanks. |
|
these changes look fine to me. |
|
@cenlinhe as far as I can tell it has been .false. since it was added in 2006. I will approve this commit for now and we can return to this issue later. |
|
I looked at the code and to be used correctly SHADOW needs diffuse and direct solar separately. These are available but probably not passed in. |
I think both diffuse and direct solar are passed in by default. @chenghaow could you please double check and confirm? |
|
The default version uses Of course one may pass direct and diffuse from WRF-solar, but the default SLUCM don't need them. |
But this LSOLAR = .FALSE. does not prevent users from activating the SHADOW option, right? |
|
You are right. But no matter whether shadow is activated or not, the default version still doesn’t need direct and diffuse SW passed from other modules. |
In that case, I am fine with your current settings, keep the SHADOW = .true. by default. |
|
@chenghaow Can you please add the three fixes in the PR message as well as in the RELEASE NOTE section? Thanks! |
|
@chenghaow Also, although it is not a big deal, we prefer code added without much 'signatures', such as '! added by Chenghao Wang' - if one is interested in the history of the code, git can find everything. |
dudhia
left a comment
There was a problem hiding this comment.
Remaining changes mentioned in review are minor text only and can be done later.
I tested this option previously in the previous version; the SHADOW==.true. seemed to make the model crash. I cannot remember what the issue was, maybe due to model stability but it can be tested in the future. |
That’s strange. |
Thank you for sharing that. My previous run crashed in a different version, which could also be due to other issues. |
|
I note that LSOLAR is FALSE in the urban module and there is also code in module_sf_urban that will ignore separate diffuse and direct inputs even if TRUE. Setting LSOLAR to TRUE is not that easy because some older shortwave schemes don't provide separate diffuse and direct. Ideally LSOLAR will be tied to the sw radiation option instead of in the LSM drivers. |
|
@chenghaow @cenlinhe @tslin2 Do you have a minimum (or maximum) or a typical value for the lowest model layer (between full levels) we can recommend the users to apply when using SLUCM with and without the tree option? |
No. In this version, all urban trees are set to be lower than the mean building height. So whether the model crashes or not still depends on the relationship between the mean building height and the first atmospheric layer, just like in the original SLUCM, and is ultimately controlled by the input building height data. |
Totally agree. |
Development of the WRF-urban-NbS module within the single-layer urban canopy model
TYPE: new feature
KEYWORDS: urban canopy models, urban trees, nature-based solutions, urban grass, urban hydrology, radiative view factors
SOURCE: Yuqi Huang (University of Oklahoma), Chenghao Wang (University of Oklahoma), Cenlin He (NCAR)
DESCRIPTION OF CHANGES:
Problem: The current WRF-urban modeling system employs a single-layer urban canopy model (SLUCM) that assumes a dry street canyon. While a green roof module exists, ground vegetation and street trees are not represented. As a result, key nature-based solution (NbS) processes such as evapotranspiration, radiative shading, and soil–vegetation–atmosphere interactions are not captured. In addition, radiative exchanges involving trees are not explicitly resolved. A version of the urban tree module within SLUCM was developed and tested for the contiguous U.S. but only accounted for shading in a simplified way:
Solution:
This PR introduces urban ground vegetation and street trees into the single-layer urban canopy model. Round-shaped urban trees are explicitly represented, resolving evapotranspiration, shading, and root water uptake. Radiative exchanges between trees and surrounding urban elements are solved using newly implemented analytical view factors.
The development is largely based on the Arizona State University Single-Layer Urban Canopy Model (ASLUM v3.1) and its hydrologically enhanced version, ASLUM-Hydro, and extends their capabilities within the WRF-Urban framework. See the following two papers for ASLUM v3.1 and ASLUM-Hydro:
This PR also includes the following fixes:
SHADOWwas changed to.true.. In the previous default setting, street-canyon shadowing was not considered. We can switch this back if you think the default should remain unchanged.IMP_SCHEME == 2(the default in the table is 1).GROPTION = 1): ChangedRGR = EPSV*(RX-SIG*(TA**4.)/60.)toRGR = EPSV*(RX-SIG*(TGRP**4.)/60.). This is a bug fix. Note that the default table value forGROPTIONis 0.ISSUE: NA
LIST OF MODIFIED FILES:
The following files were modified (generated using
git diff --name-only master urban_nbs):TESTS CONDUCTED:
Note:
Successful compilation requires Noah-MP-related source files that are not included in WRF v3.7.1, including a modified version of
module_sf_noahmpdrv.F. These changes will be addressed in a separate PR dedicated to Noah-MP.RELEASE NOTE:
This PR introduces urban ground vegetation and street trees into the single-layer urban canopy model and based the following two manuscripts in development: