Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
10b1b0c
Modifications by A. Martilli
jesusff May 8, 2025
da3eb11
Update version to 4.5.1.7rc to start development
jesusff May 8, 2025
69c990e
Merge branch 'v4.5.1.7-devel' into urb-vars
jesusff May 8, 2025
94ad1e4
The net longwave flux absorbed by the building wall, RB2, in module_s…
joshi994 Mar 15, 2024
7c5f7c7
Fix for a do loop index in bep_bem urban code (#2196)
LluisFB Apr 10, 2025
39ea5f0
Update urban LCZ parameter table with more reasonable values (#1969)
cenlinhe Jan 23, 2024
6826794
Update WRF develop with bug fix for LAI initialization for urban pxie…
cenlinhe Jan 24, 2024
9e8acb1
Bug fix for Noah-MP vegetation and urban (NCAR/noahmp#91, NCAR/noahmp…
cenlinhe Jan 13, 2024
565c186
Remove arbitrary limiting of heat fluxes (#1924)
rjdave Jan 13, 2024
fc22ac2
Fixing issue #2039 focing the reading of urbfrac from 'URBPARM_LCZ.TBL'
Feb 24, 2025
d826f50
Bug fix for overwriting of LCZ urban cells in LU_INDEX with default U…
lpilz Jan 17, 2025
1998044
Fix for a do loop index in bep_bem urban code (#2196)
LluisFB Apr 10, 2025
a03eaf8
Bug fix in module_sf_noahdrv.F (A.Martilli)
yoselita May 12, 2025
3d3c973
Near-surface diagnostics in BEP+BEM redefined (A.Martilli)
yoselita May 12, 2025
26a45b2
Update README to include CWC WRF development
jesusff May 13, 2025
e87989f
Add must-have PR for all branches
jesusff May 14, 2025
3342c83
Point noahmp to prepare for merge
jesusff May 23, 2025
d5c706f
Merge pull request #2 from CORDEX-WRF-community/urb-vars
jesusff May 23, 2025
00cf7ff
Point phys/noahmp to the latest version before merging
jesusff May 28, 2025
fe1e11f
Merge branch 'v4.5.1.7-devel' into bug-fixes
jesusff May 28, 2025
1a8a727
Merge pull request #4 from CORDEX-WRF-community/bug-fixes
jesusff May 28, 2025
3acfb0d
Merge pull request #5 from CORDEX-WRF-community/update-readme-cwc
jesusff May 28, 2025
b61e071
Fix remnants of conflict resolution
jesusff Jun 11, 2025
c1bb8eb
Merge pull request #7 from CORDEX-WRF-community/fix-bad-merge
jesusff Jun 11, 2025
7246d57
Update nbui_max and dz_u in module_sf_bep_bem.F
yoselita Jun 24, 2025
88a4831
Update URBPARM_LCZ.TBL for nbui_max=3
yoselita Jun 24, 2025
dc06c95
Update initialzation of nbui_max and dz_u
yoselita Jun 25, 2025
70a9d08
Update URBPARM_LCZ.TBL
yoselita Jul 1, 2025
795676d
Update module_initialize_real.F
yoselita Jul 24, 2025
eed9e6e
Merge pull request #8 from CORDEX-WRF-community/bep_bem_updates
jesusff Jul 28, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
401 changes: 401 additions & 0 deletions CWC-WRF-development.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
20 changes: 20 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@
# CORDEX WRF Community (CWC) WRF code #

This is a fork of the official code repository for the [Weather Research & Forecasting (WRF)](https://github.com/wrf-model/WRF) modelling system.
The CORDEX-WRF-Community (CWC) uses the WRF model for long-term regional climate simulations.
In the period since a given set of climate simulations are designed, model configurations are tested, and the final configuration is selected, several official WRF versions are usually released.
These typically come with new features and associated bugs, but also with bug fixes that might affect our selected code.
Thus, we freeze the (official) code version, but still apply selected important bug fixes or new features relevant for the community.
CWC WRF versions are tagged with an additional number (e.g. [v4.5.1.6](https://github.com/CORDEX-WRF-community/WRF/releases/tag/v4.5.1.6)), indicating our modifications with respect to an official release (e.g. v4.5.1), which might include bugfixes not yet included in the official release or new features used by some CORDEX initiatives.
Discussion occurs as issues in the specific repositories for the different initiatives.
WRF development is done via pull requests to the next CWC WRF development branch (e.g. **v4.5.1.7-devel**).
The latest CWC WRF release (e.g. **v4.5.1.6**) is always found in branch **v4.5.1-cwc**, or the corresponding base version.
CWC WRF releases are issued for specific purposes; e.g. when a new experiment is started for a given CORDEX initiative.
Check out the repository of the corresponding initiative to find out which model version to use for each experiment and the specific configuration files (namelists, TBL files, etc).

![CWC WRF development](./CWC-WRF-development.svg)

[All branches](https://github.com/CORDEX-WRF-community/WRF/branches/all) in the https://github.com/CORDEX-WRF-community/WRF repository must have an associated Pull Request detailing their purpose.

## Original WRF README.md ##

### WRF-ARW Modeling System ###

We request that all new users of WRF please register. This allows us to better determine how to support and develop the model. Please register using this form:[https://www2.mmm.ucar.edu/wrf/users/download/wrf-regist.php](https://www2.mmm.ucar.edu/wrf/users/download/wrf-regist.php).
Expand Down
16 changes: 14 additions & 2 deletions Registry/Registry.EM_COMMON
Original file line number Diff line number Diff line change
Expand Up @@ -895,13 +895,23 @@ state real dfi_SMFR3D ilj misc 1 Z r "SMFR3D_df
state real dfi_KEEPFR3DFLAG ilj misc 1 Z r "KEEPFR3DFLAG_dfi" "FLAG - 1. FROZEN SOIL YES, 0 - NO" ""

# urban state variables
state real TSK_RURAL ij misc 1 - rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "TSK_RURAL" "TSK for rural fraction" "K"
state real TR_URB2D ij misc 1 - rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "TR_URB" "URBAN ROOF SKIN TEMPERATURE" "K"
state real TGR_URB2D ij misc 1 - rd=(interp_mask_land_field:lu_index)u=(copy_fcnm) "TGR_URB" "URBAN GREEN ROOF SKIN TEMPERATURE" "K"
state real TB_URB2D ij misc 1 - rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "TB_URB" "URBAN WALL SKIN TEMPERATURE" "K"
state real TG_URB2D ij misc 1 - rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "TG_URB" "URBAN ROAD SKIN TEMPERATURE" "K"
state real TC_URB2D ij misc 1 - rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "TC_URB" "URBAN CANOPY TEMPERATURE" "K"
state real QC_URB2D ij misc 1 - rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "QC_URB" "URBAN CANOPY HUMIDITY" "kg kg{-1}"
#CORDEX
state real TSK_RURAL ij misc 1 - rh "TSK_RURAL" "TSK for rural fraction" "K"
state real T2R_URB2D ij misc 1 - rh "T2R_URB2D" "2M ROOF TEMPERATURE" "K"
state real T2G_URB2D ij misc 1 - rh "T2G_URB2D" "2M ROAD TEMPERATURE" "K"
state real TGROUND_URB2D ij misc 1 - rh "TGROUND_URB2D" "ROAD SURFACE TEMPERATURE" "K"
state real TROOF_URB2D ij misc 1 - rh "TROOF_URB2D" "ROOF SURFACE TEMPERATURE" "K"
state real T2VEG_URB2D ij misc 1 - rh "T2VEG_URB2D" "2M VEG TEMPERATURE" "K"
state real TCAN_URB2D ij misc 1 - rh "TCAN_URB2D" "URBAN CANOPY TEMP" "K"
state real UCAN_URB2D ij misc 1 - rh "UCAN_URB2D" "URBAN CANOPY WIND" "M/S"
state real QCAN_URB2D ij misc 1 - rh "QCAN_URB2D" "URBAN CANOPY HUMIDITY" "Kg kg{-1}"
#CORDEX
state real UC_URB2D ij misc 1 - rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "UC_URB" "URBAN CANOPY WIND" "m s{-1}"
state real XXXR_URB2D ij misc 1 - rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "XXXR_URB" "M-O LENGTH ABOVE URBAN ROOF" "dimensionless"
state real XXXB_URB2D ij misc 1 - rd=(interp_mask_field:lu_index,iswater)u=(copy_fcnm) "XXXB_URB" "M-O LENGTH ABOVE URBAN WALL" "dimensionless"
Expand Down Expand Up @@ -3094,7 +3104,9 @@ package sfclayscheme sf_sfclay_physics==91 - -

package noahucmscheme sf_urban_physics==1 - state:trb_urb4d,tw1_urb4d,tw2_urb4d,tgb_urb4d,sfw1_urb3d,sfw2_urb3d,sfr_urb3d,sfg_urb3d,a_u_bep,a_v_bep,a_t_bep,a_q_bep,a_e_bep,b_u_bep,b_v_bep,b_t_bep,b_q_bep,b_e_bep,dlg_bep,dl_u_bep,sf_bep,vl_bep,mh_urb2d,stdh_urb2d,lf_urb2d,lp_urb2d,hgt_urb2d,lb_urb2d,tgr_urb2d,cmcr_urb2d,drelr_urb2d,drelb_urb2d,drelg_urb2d,flxhumr_urb2d,flxhumb_urb2d,flxhumg_urb2d,tgrl_urb3d,smr_urb3d,cmgr_sfcdif,chgr_sfcdif,trl_urb3d,tgl_urb3d,tbl_urb3d
package bepscheme sf_urban_physics==2 - state:a_u_bep,a_v_bep,a_t_bep,a_q_bep,a_e_bep,b_u_bep,b_v_bep,b_t_bep,b_q_bep,b_e_bep,dlg_bep,dl_u_bep,sf_bep,vl_bep,trb_urb4d,tw1_urb4d,tw2_urb4d,tgb_urb4d,sfw1_urb3d,sfw2_urb3d,sfr_urb3d,sfg_urb3d,hi_urb2d,lp_urb2d,hgt_urb2d,lb_urb2d,trl_urb3d,tgl_urb3d,tbl_urb3d,tsk_rural
package bep_bemscheme sf_urban_physics==3 - state:a_u_bep,a_v_bep,a_t_bep,a_q_bep,a_e_bep,b_u_bep,b_v_bep,b_t_bep,b_q_bep,b_e_bep,dlg_bep,dl_u_bep,sf_bep,vl_bep,trb_urb4d,tw1_urb4d,tw2_urb4d,tgb_urb4d,tlev_urb3d,qlev_urb3d,tw1lev_urb3d,tw2lev_urb3d,tglev_urb3d,tflev_urb3d,sf_ac_urb3d,lf_ac_urb3d,cm_ac_urb3d,sfvent_urb3d,lfvent_urb3d,sfwin1_urb3d,sfwin2_urb3d,sfw1_urb3d,sfw2_urb3d,sfr_urb3d,sfg_urb3d,hi_urb2d,lp_urb2d,hgt_urb2d,lb_urb2d,trl_urb3d,tgl_urb3d,tbl_urb3d,tsk_rural,ep_pv_urb3d,t_pv_urb3d,trv_urb4d,qr_urb4d,qgr_urb3d,tgr_urb3d,drain_urb4d,draingr_urb3d,sfrv_urb3d,lfrv_urb3d,dgr_urb3d,dg_urb3d,lfr_urb3d,lfg_urb3d
#CORDEX
package bep_bemscheme sf_urban_physics==3 - state:a_u_bep,a_v_bep,a_t_bep,a_q_bep,a_e_bep,b_u_bep,b_v_bep,b_t_bep,b_q_bep,b_e_bep,dlg_bep,dl_u_bep,sf_bep,vl_bep,trb_urb4d,tw1_urb4d,tw2_urb4d,tgb_urb4d,tlev_urb3d,qlev_urb3d,tw1lev_urb3d,tw2lev_urb3d,tglev_urb3d,tflev_urb3d,sf_ac_urb3d,lf_ac_urb3d,cm_ac_urb3d,sfvent_urb3d,lfvent_urb3d,sfwin1_urb3d,sfwin2_urb3d,sfw1_urb3d,sfw2_urb3d,sfr_urb3d,sfg_urb3d,hi_urb2d,lp_urb2d,hgt_urb2d,lb_urb2d,trl_urb3d,tgl_urb3d,tbl_urb3d,tsk_rural,ep_pv_urb3d,t_pv_urb3d,trv_urb4d,qr_urb4d,qgr_urb3d,tgr_urb3d,drain_urb4d,draingr_urb3d,sfrv_urb3d,lfrv_urb3d,dgr_urb3d,dg_urb3d,lfr_urb3d,lfg_urb3d,t2r_urb2d,t2g_urb2d,t2veg_urb2d,tcan_urb2d,ucan_urb2d,qcan_urb2d,troof_urb2d,tground_urb2d
#CORDEX


package nolsmscheme sf_surface_physics==0 - -
Expand Down
9 changes: 9 additions & 0 deletions dyn_em/module_first_rk_step_part1.F
Original file line number Diff line number Diff line change
Expand Up @@ -775,6 +775,15 @@ SUBROUTINE first_rk_step_part1 ( grid , config_flags &
& ,TG_URB2D=grid%tg_urb2d & !H urban
& ,TC_URB2D=grid%tc_urb2d ,QC_URB2D=grid%qc_urb2d & !H urban
& ,UC_URB2D=grid%uc_urb2d & !H urban
!CORDEX
& ,T2G_URB2D=grid%t2g_urb2d,T2R_URB2D=grid%t2r_urb2d &
& ,T2VEG_URB2D=grid%t2veg_urb2d &
& ,TCAN_URB2D=grid%tcan_urb2d &
& ,UCAN_URB2D=grid%ucan_urb2d &
& ,QCAN_URB2D=grid%qcan_urb2d &
& ,TGROUND_URB2D=grid%tground_urb2d &
& ,TROOF_URB2D=grid%troof_urb2d &
!CORDEX
& ,XXXR_URB2D=grid%xxxr_urb2d &
& ,XXXB_URB2D=grid%xxxb_urb2d & !H urban
& ,XXXG_URB2D=grid%xxxg_urb2d &
Expand Down
36 changes: 35 additions & 1 deletion dyn_em/module_initialize_real.F
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,11 @@ MODULE module_initialize_real
,HALO_EM_INIT_6_sub &
,HALO_EM_VINTERP_UV_1_sub
#endif

!CORDEX
use module_sf_bep_bem, ONLY : nbui_max
integer ikmin,kk
real hmin,htot
!CORDEX
REAL , SAVE :: p_top_save
INTEGER :: internal_time_loop

Expand Down Expand Up @@ -3117,9 +3121,39 @@ SUBROUTINE init_domain_rk ( grid &
DO j = jts , MIN(jde-1,jte)
DO i = its , MIN(ide-1,ite)
IF ( skip_middle_points_t ( ids , ide , jds , jde , i , j , em_width , hold_ups ) ) CYCLE
!CORDEX
icount=0
DO k = 1, 15
grid%HI_URB2D(i,k,j) = grid%URB_PARAM(i,k+117,j)
if(grid%HI_URB2D(i,k,j).gt.0)icount=icount+1
END DO
write(*,*)'NBUI_MAX=',nbui_max
if(icount.gt.nbui_max)then
! do kk=1,icount-nbui_max
333 continue
ikmin=0
hmin=10000.
do k=1,15
if(grid%HI_URB2D(i,k,j).lt.hmin.and.grid%HI_URB2D(i,k,j).gt.0)then
hmin=grid%HI_URB2D(i,k,j)
ikmin=k
endif
enddo
grid%HI_URB2D(i,ikmin,j)=0
! enddo
htot=0
do k=1,15
htot=htot+grid%HI_URB2D(i,k,j)
enddo
grid%HI_URB2D(i,:,j)=grid%HI_URB2D(i,:,j)/htot*100
icount=0
DO k = 1, 15
if(grid%HI_URB2D(i,k,j).gt.0)icount=icount+1
END DO
if(icount.gt.nbui_max)go to 333
endif
!CORDEX

END DO
END DO
ENDIF
Expand Down
2 changes: 1 addition & 1 deletion inc/version_decl
Original file line number Diff line number Diff line change
@@ -1 +1 @@
CHARACTER (LEN=*), PARAMETER :: release_version = 'V4.5.1.6 (CWC)'
CHARACTER (LEN=*), PARAMETER :: release_version = 'V4.5.1.7rc (CWC)'
Loading