-
Notifications
You must be signed in to change notification settings - Fork 749
WRF-urban updates for the next WRF release #1309
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
Conversation
@cenlinhe
|
Hi Dave,
I am not familiar with this test failure issue. Could you please give some
advice on which part I should look into? The code has been tested and ran
successfully in a ARW configuration by the developer.
Thanks.
Cenlin
…On Fri, Oct 30, 2020 at 5:41 PM Dave Gill ***@***.***> wrote:
@cenlinhe <https://github.com/cenlinhe>
It looks like all of the NMM jobs are failing. This is typical when there
are mods to the Registry.EM_COMMON. There is also a failure with an urban
test, so something is not working with existing code.
Please find result of the WRF regression test cases in the attachment. This build is for Commit ID: d93bfb8, requested by: cenlinhe for PR: #1309. For any query please send e-mail to David Gill.
Test Type | Expected | Received | Failed
= = = = = = = = = = = = = = = = = = = = = = = = = = = =
Number of Tests : 19 18
Number of Builds : 48 46
Number of Simulations : 166 164 5
Number of Comparisons : 105 103 0
Failed Simulations are:
output_18:11 = STATUS test_018s em em_real 32 urb3bNE
output_18:9 = STATUS test_018m em em_real 34 urb3bNE
output_2:2 = STATUS test_002m hwrf nmm_real 34 1NE
output_2:2 = STATUS test_002m hwrf nmm_real 34 2NE
output_2:2 = STATUS test_002m hwrf nmm_real 34 3NE
Which comparisons are not bit-for-bit:
None
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1309 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AKLAFXEGGE53F2VAG7PRGEDSNNFMJANCNFSM4TFPVXLQ>
.
--
Cenlin He, Ph.D.
Project Scientist
Research Application Lab (RAL)
National Center for Atmospheric Research (NCAR)
Boulder, CO 80301, USA
Email: cenlinhe@ucar.edu
——
*My working day may not be your working day. Please do not feel obliged to
reply to this email outside of your normal working hours.*
|
@cenlinhe If you never compiled NMM, following the instruction near the end of this page: https://github.com/davegill/wrf-coop/blob/master/README_user.md, and try to compile NMM or HWRF. The compile log file should give you some hints. There are ways to make your code compile with NMM: For every new rconfig variable, you may need to add it in Registry.NMM (check one that looks like the one you've added, and see if anything is done in Registry.NMM). NMM does not support urban options, and hence your new variables are declared as optional. The new 2D and 3D variables should also be packaged. Again check some similar variables for urban options and see how they are handled inside Registry.EM_COMMON. |
Quite often it is possible to make it compile without NMM Registry changes
by making
variables optional in the driver as long as ifdefs are used in the driver
to prevent NMM
from seeing them.
…On Fri, Oct 30, 2020 at 7:05 PM weiwangncar ***@***.***> wrote:
@cenlinhe <https://github.com/cenlinhe> If you never compiled NMM,
following the instruction near the end of this page:
https://github.com/davegill/wrf-coop/blob/master/README_user.md, and try
to compile NMM or HWRF. The compile log file should give you some hints.
There are ways to make your code compile with NMM: For every new rconfig
variable, you may need to add it in Registry.NMM (check one that looks like
the one you've added, and see if anything is done in Registry.NMM). NMM
does not support urban options, and hence your new variables are declared
as optional. The new 2D and 3D variables should also be packaged. Again
check some similar variables for urban options and see how they are handled
inside Registry.EM_COMMON.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
<#1309 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AEIZ77C6MKNU57WBVOC5YXTSNNPDXANCNFSM4TFPVXLQ>
.
|
@@ -176,7 +175,7 @@ SUBROUTINE surface_driver( & | |||
& ,flxhumr_urb2d,flxhumb_urb2d,flxhumg_urb2d & !H urban | |||
& ,trl_urb3d,tbl_urb3d,tgl_urb3d & !H urban | |||
& ,sh_urb2d,lh_urb2d,g_urb2d,rn_urb2d,ts_urb2d & !H urban | |||
& ,frc_urb2d, utype_urb2d & !H urban | |||
& ,frc_urb2d, utype_urb2d,swddir,swddif & !H urban |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This causes a failure in
module_PHYSICS_CALLS.f90:1399:26:
&y_interval,fasdas=fasdas)
1
Error: Missing actual argument for argument 'swddir' at (1)
These variables could be declared optional, because there is an explicit interface for each variable in the calling routine.
@@ -2338,6 +2353,7 @@ rconfig integer urban_map_bd derived 1 1 | |||
rconfig integer urban_map_wd derived 1 1 rh "urban_map_wd" "urban mapping 7: ind_wd" "" | |||
rconfig integer urban_map_gbd derived 1 1 rh "urban_map_gbd" "urban mapping 8: ind_gbd" "" | |||
rconfig integer urban_map_fbd derived 1 1 rh "urban_map_fbd" "urban mapping 9: ind_fbd" "" | |||
rconfig integer urban_map_zgrd derived 1 1 rh "urban_map_zgrd" "urban mapping 10: ind_grd" "" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the variables urban_map_{zrd, zwd, gd, zd, zdf, bd, wd, gbd, fdb} are all defined in the NMM Registry. To be conventional, urban_map_zgrd
should also be there.
@@ -96,6 +96,7 @@ SUBROUTINE phy_init ( id, config_flags, DT, restart, zfull, zhalf, & | |||
urban_map_wd, & | |||
urban_map_gbd, & | |||
urban_map_fbd, & | |||
urban_map_zgrd, & |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This additional variable needs to be in the call from start_domain_nmm.F. Optional variables are not easy in for the physics init routine. This would be consistent with having the variable available from the NMM Registry.
EP_PV_URB3D,T_PV_URB3D, & !GRZ | ||
TRV_URB4D,QR_URB4D,QGR_URB3D,TGR_URB3D, & !GRZ | ||
DRAIN_URB4D,DRAINGR_URB3D,SFRV_URB3D, & !GRZ | ||
LFRV_URB3D,DGR_URB3D,DG_URB3D,LFR_URB3D,LFG_URB3D,&!GRZ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These can be optional (even though they are to physics init).
@cenlinhe |
@cenlinhe
I get this error in the first timestep:
The .f90 = line number 4557; the .F file = line number 4370.
|
@cenlinhe |
@davegill @weiwangncar @dudhia Thank you all for the helpful suggestions in solving the NMM compilation problem. Following your suggestions, I have fixed the bugs for NMM and the NMM compilation in Cheyenne has been successful based on my own test. For the urban calculation issue, the equation (line 4370 in module_sf_bep_bem.F) has been modified to solve the problem. Could you please do another regression test to see if all the bugs have been fixed? Thank you! |
@cenlinhe @dudhia @weiwangncar
These need to be removed. |
Thank you for updating the code so quickly. The jenkins regression tests is automatically triggered when you submit a PR. We'll see the status in about 30 minutes. Do you get an email from "jenkins"? It might be in your SPAM folder. |
The files have been removed in the latest version. |
I checked my mailbox and SPAM folder, but I did not see any email from "jenkins". |
@cenlinhe Here is the jenkins status:
|
@cenlinhe |
Does this nested urban option issue reside in the Registry? Any clue? I am not sure which part is wrong. Thanks! |
dyn_em/module_first_rk_step_part1.F
Outdated
@@ -699,6 +701,20 @@ SUBROUTINE first_rk_step_part1 ( grid , config_flags & | |||
& ,SFWIN2_URB3D=grid%sfwin2_urb3d & !multi-layer urban | |||
& ,SFW1_URB3D=grid%sfw1_urb3d,SFW2_URB3D=grid%sfw2_urb3d & !multi-layer urban | |||
& ,SFR_URB3D=grid%sfr_urb3d,SFG_URB3D=grid%sfg_urb3d & !multi-layer urban | |||
& ,EP_PV_URB3D=grid%ep_pv_urb3d & !GRZ | |||
& ,T_PV_URB3D=grid%t_pv_urb3d & !GRZ | |||
& ,TRV_URB4D=grid%trv_urb4d & !GRZ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Align code as much as possible
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
will do
@@ -2983,19 +2983,6 @@ SUBROUTINE init_domain_rk ( grid & | |||
IF ( ( config_flags%sf_urban_physics == 1 ) .OR. ( config_flags%sf_urban_physics == 2 ) .OR. ( config_flags%sf_urban_physics == 3 ) ) THEN | |||
DO j = jts , MIN(jde-1,jte) | |||
DO i = its , MIN(ide-1,ite) | |||
IF ( MMINLU == 'NLCD40' .OR. MMINLU == 'MODIFIED_IGBP_MODIS_NOAH') THEN |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the PR commit message, would explain why this initialization is removed from the real program.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
will add to the commit message
dyn_em/start_em.F
Outdated
@@ -1083,6 +1083,7 @@ SUBROUTINE start_domain_em ( grid, allowed_to_read & | |||
config_flags%urban_map_wd, & !multi-layer urban | |||
config_flags%urban_map_gbd, & !multi-layer urban | |||
config_flags%urban_map_fbd, & !multi-layer urban | |||
config_flags%urban_map_zgrd, & !multi-layer urban |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
align code
dyn_nmm/module_PHYSICS_CALLS.F
Outdated
@@ -1501,6 +1501,7 @@ SUBROUTINE TURBL(NTSD,DT,NPHS,RESTRT & | |||
& ,urban_map_wd = config_flags%urban_map_wd & !multi-layer urban | |||
& ,urban_map_gbd = config_flags%urban_map_gbd & !multi-layer urban | |||
& ,urban_map_fbd = config_flags%urban_map_fbd & !multi-layer urban | |||
& ,urban_map_zgrd = config_flags%urban_map_zgrd & !multi-layer urban |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
align code
phys/module_sf_noahmplsm.F
Outdated
LCZ_7_TABLE = LCZ_7 | ||
LCZ_8_TABLE = LCZ_8 | ||
LCZ_9_TABLE = LCZ_9 | ||
LCZ_10_TABLE = LCZ_10 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
align code
test/em_real/wind-turbine-1.tbl
Outdated
@@ -0,0 +1 @@ | |||
../../run/wind-turbine-1.tbl |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This file should not be part of the commit
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK. Thanks.
8db76d4
to
3d747e8
Compare
…FRC_URB2D initialization code has been removed from dyn_em/module_initialize_real.F since for the new LCZ urban code, the initialization is incorrect and unnecessary
@davegill I have included all your suggestions in this new version for code alignment, adding registry vars to a package, and including an explanation on removing FRC_URB2D initialization in the latest PR commit message. Please let me know if you notice any further issues. Thank you! |
@cenlinhe Can you please add some description about replacing the old low/high_density_residential and high_intensity_industrial with LZ*? Is the change only internal and does not impact how a user uses it? If someone has a dataset with urban categories of 31-33, do they need to do anything to use the new code? |
@weiwangncar Here is the answer I got from the developer: There are 2 possible solutions for this:
I have included this information in the "Descriptions of Change" part of the official PR comment above. |
@cenlinhe Thanks for the answer. Please update your PR message, and this needs to be described clearly so that the current users of urban options know what to do. I'd also like to see something describing the advantage of this improvement (I assume this is an improvement over what is currently done). Are the added LCZs all related to urban? Are these still controlled by sf_urban_physics options? Maybe you could ask Andrea Zonato to contribute for some documentation of this new feature, and we can add it to the User's Guide. |
Yes, the LCZ is related to urban and still controlled by sf_urban_physics option. I have included this information in the "descriptions of change" part of the PR message above. Please let me know if that is the location you are pointing to. I have also asked Andrea Zonato to provide me a detailed README file regarding this new urban update, and I will share the README with the WRF release team once I get it. |
@cenlinhe Good. But if this overwrites the previously defined urban categories, shouldn't URBPARM.TBL be modified for this release? If there is a paper reference, we could use that too. |
Yes, as I mentioned in the PR message, several Noah-MP parameter tables (not only the URBPARM.TBL) have been modified for all the three urban updates (greenroof, solar panel, and LCZ). Andrea Zonato is writing the paper describing this update currently. |
@cenlinhe What about URBPARM.TBL? Shouldn't those parameters corresponding low/high residential and industrial densities be modified to correspond to the new categories? |
Sorry for the confusion. Yes, the parameters in URBPARM.TBL have already been modified to correspond to the new 11 LCZ categories. So if the user runs the default code, the model will use the default parameter values in URBPARM.TBL corresponding to the new 11 LCZ categories. |
@cenlinhe That's good. I missed it... But does this contradict to what you've added in PR: |
Thanks for catching this. I made the mistake to put "LCZ" in the "correct LCZ urban parameters". It should be "correct urban parameters". I will modify the PR message. The explanation is the following: |
@cenlinhe Thanks. This is information as much for the users as for us. Another question I have is how a user can find the dataset that defines the LCZs? Is the dataset readily available for anywhere? |
@weiwangncar I am not sure about this. I will ask Andrea Zonato and Fei. |
@weiwangncar Confirmed with Fei about this. We provide only the LCZ modeling capabilities here, not the dataset which is the responsibility of users. The method to create the LCZ data is described in World Urban Database website: http://www.wudapt.org/ |
@cenlinhe Thanks, and that would be good to provide the info. |
…for inconsistent urban category between input data and namelist option
I am closing this PR, since an updated PR about this WRF-urban update has been submitted: #1385 |
This update includes urban new capabilities for solar panel, green roof, and local climate zone (LCZ).
TYPE: new feature
KEYWORDS: urban, green roof, solar panel, local climate zone, new building drag coefficient
SOURCE: Developer: Andrea Zonato (University of Trento, Italy)
DESCRIPTION OF CHANGES:
This update includes new capabilities to account for urban solar panel, green roof, new building drag coefficient, and local climate zone (LCZ). The first three new capabilities are for BEP+BEM. The new building drag coefficient is based on Santiago and Martilli (2010) and Guti ́errez et al. (2015). The newly added LCZs are all related to urban and all urban updates are still controlled by sf_urban_physics options. More details will be available in the User's Guide. Briefly, a new urban parameter table (URBPARAM_LCZ.TBL) has been added for using the new LCZ urban category. The new LCZ definition has LU_INDEX=LCZ+30. If a user still wants to keep using the traditional 33 classes (31st-33rd for urban), please specify the namelist option "use_wudapt_lcz = 0". If a user wants to use the new LCZ, please specify the namelist option "use_wudapt_lcz = 1". If the number of urban category in the input files is inconsistent with the namelist option, error messages will occur. Only the LCZ modeling capability is provided here, not the dataset which is the responsibility of users. The method to create the LCZ data is described in the World Urban Database website: http://www.wudapt.org/
LIST OF MODIFIED FILES: list of changed files (use
git diff --name-status master
to get formatted list)M Registry/Registry.EM_COMMON
M Registry/Registry.NMM
M Registry/registry.dimspec
M dyn_em/module_first_rk_step_part1.F
M dyn_em/module_initialize_real.F
M dyn_em/start_em.F
M dyn_nmm/module_PHYSICS_CALLS.F
M dyn_nmm/start_domain_nmm.F
M phys/module_physics_init.F
M phys/module_sf_bem.F
M phys/module_sf_bep.F
M phys/module_sf_bep_bem.F
M phys/module_sf_clm.F
M phys/module_sf_noahdrv.F
M phys/module_sf_noahlsm.F
M phys/module_sf_noahmpdrv.F
M phys/module_sf_noahmplsm.F
M phys/module_sf_urban.F
M phys/module_surface_driver.F
M run/LANDUSE.TBL
M run/MPTABLE.TBL
M run/URBPARM.TBL
A run/URBPARM_LCZ.TBL
M run/VEGPARM.TBL
M share/module_check_a_mundo.F
TESTS CONDUCTED:
RELEASE NOTE: WRF-urban updates for green roof, solar panel, and new building drag coefficient for BEP+BEM, and local climate zone for all urban schemes. The paper describing the roof and LCZ update is under development. The new building drag coefficient is based on Santiago and Martilli (2010) and Guti ́errez et al. (2015).
Santiago, J. L. and Martilli, A. (2010). A Dynamic Urban Canopy Parameterization for Mesoscale Models Based on Computational Fluid Dynamics Reynolds-Averaged Navier-Stokes Microscale Simulations. Boundary- Layer Meteorology, 137(3):417–439.
Guti ́errez, E., Martilli, A., Santiago, J. L., and Gonz ́alez, J. E. (2015). A Mechanical Drag Coefficient Formu- lation and Urban Canopy Parameter Assimilation Technique for Complex Urban Environments. Boundary- Layer Meteorology, 157(2):333–341.