Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

hail_opt problem in WRF-ARW 3.9.1.1

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.

tokerem

New member
I am using WRF 3.9.1.1. I run the model with different microphysics schemes. But also, I want to use WDM6 and Goddard schemes. But as you know, WDM6 works with hail_opt (=1) to generate hail while Goddard works with gsfcgce_hail (=1). But I can not take any hail with WDM6 and Goddard. Zero for all domains. So I thought that maybe I am missing some part.

I shared my namelist.input below. I would be very pleased if you just take a glance at the namelist.input to see whether there is any missing information or physics option.



&time_control
run_days = 1,
run_hours = 6,
run_minutes = 0,
run_seconds = 0,
start_year = 2017, 2017, 2017, 2017,
start_month = 07, 07, 07, 07,
start_day = 26, 26, 26, 26,
start_hour = 18, 18, 18, 18,
start_minute = 00, 00, 00, 00,
start_second = 00, 00, 00, 00,
end_year = 2017, 2017, 2017, 2017,
end_month = 07, 07, 07, 07,,
end_day = 28, 28, 28, 28,
end_hour = 00, 00, 00, 00,
end_minute = 00, 00, 00, 00,
end_second = 00, 00, 00, 00,
interval_seconds = 21600
input_from_file = .true.,.true.,.true.,.true.,
history_interval = 180, 180, 180, 15,
frames_per_outfile = 1000, 1000, 1000, 1000,
restart = .false.,
restart_interval = 5000,
io_form_history = 2
io_form_restart = 2
io_form_input = 2
io_form_boundary = 2
debug_level = 0
/

&domains
time_step = 162,
time_step_fract_num = 0,
time_step_fract_den = 1,
max_dom = 4,
e_we = 32, 61, 115, 187,
e_sn = 31, 55, 94, 151,
e_vert = 41, 41, 41, 41,
p_top_requested = 5000,
num_metgrid_levels = 38,
num_metgrid_soil_levels = 4,
dx = 27000, 9000, 3000, 1000,
dy = 27000, 9000, 3000, 1000,
grid_id = 1, 2, 3, 4,
parent_id = 1, 1, 2, 3,
i_parent_start = 1, 7, 14, 33,
j_parent_start = 1, 6, 10, 16,
parent_grid_ratio = 1, 3, 3, 3,
parent_time_step_ratio = 1, 3, 3, 3,
feedback = 1,
smooth_option = 0,
/

&physics
mp_physics = 16, 16, 16, 16,
ra_lw_physics = 4, 4, 4, 4,
ra_sw_physics = 4, 4, 4, 4,
radt = 10, 10, 10, 10,
sf_sfclay_physics = 1, 1, 1, 1,
sf_surface_physics = 2, 2, 2, 2,
bl_pbl_physics = 1, 1, 1, 1,
bldt = 0, 0, 0, 0,
cu_physics = 1, 1, 1, 1,
cudt = 5, 5, 5, 5,
isfflx = 1,
ifsnow = 0,
icloud = 1,
surface_input_source = 1,
num_soil_layers = 4,
num_land_cat = 21,
sf_urban_physics = 0, 0, 0, 0,
scalar_pblmix = 1,
bl_mynn_cloudmix = 1,
hail_opt = 1,
/

&fdda
/

&dynamics
w_damping = 0,
diff_opt = 1, 1, 1, 1,
km_opt = 4, 4, 4, 4,
diff_6th_opt = 0, 0, 0, 0,
diff_6th_factor = 0.12, 0.12, 0.12, 0.12,
base_temp = 290.
damp_opt = 0,
zdamp = 5000., 5000., 5000., 5000.,
dampcoef = 0.2, 0.2, 0.2 0.2,
khdif = 0, 0, 0, 0,
kvdif = 0, 0, 0, 0,
non_hydrostatic = .true., .true., .true., .true.,
moist_adv_opt = 1, 1, 1, 1,
scalar_adv_opt = 1, 1, 1, 1,
gwd_opt = 1,
/

&bdy_control
spec_bdy_width = 5,
spec_zone = 1,
relax_zone = 4,
specified = .true., .false., .false., .false.,
nested = .false., .true., .true., .true.,
/

&grib2
/

&namelist_quilt
nio_tasks_per_group = 0,
nio_groups = 1,
/
 
Please turn off cumulus scheme for 3km and 1km domain, i.e.,
cu_physics = 1, 1, 0, 0,

I am also concerned of the settings below:
e_we = 32, 61, 115, 187,
e_sn = 31, 55, 94, 151,
i_parent_start = 1, 7, 14, 33,
j_parent_start = 1, 6, 10, 16,

Can you enlarge the 27km and 9km domain? Please increase the grid numbers to at least 100. Also please set the the number of grids between parent-child domain to be larger than at lease 12.
 
In my simulation using WRF 4.2.1, this problem is also apparent. I'm using WDM6 for the MP_PHYSICS (option 16) and turned hail_opt=1. It produced a hail accumulation (HAILNC) field in the 2D field list but the value is 0 everywhere even after some very intense convection is simulated. If nwp_diagnostics is also set to 1, I get 2 additional fields regarding hail (maximum column hail diameter and maximum hail diameter at the lowest model level during the output interval). Those fields are not zero after intense convection is simulated. So for now, my take is that hail is simulated using the microphysics scheme, but for some reason HAILNC isn't output correctly. However, this is just my take though. Maybe a WRF expert may have better answers for this.
 
WDM6 and Goddard don't directly output any hail information. with hail_opt =1, WDM6 defines graupel parameters as hail-like. Only when nwp_diagnostics is turned on, hail is diagnosed based on information from microphysics.
I understand that this is kind of confusing. The original code is structured in this way and we never change it. I apologize for the confusion caused by this.
 
Hi Ming,

OK. Thanks for your additional comments about this. Now things are a lot clearer.

I do have another question about the WDM6 scheme in WRF v4.2.1. In WRF github's page, there is a bug report regarding the microphysics scheme (https://github.com/wrf-model/WRF/issues/1316). The issue is that a line in the WDM6 FORTRAN code may potentially divide by zero at the first time step. However, my simulations ran fine using WDM6 and didn't encounter the described error. So I am not sure what kind of impact this problem would have on my simulation, if at all.

In the post, it says the variable ncr is the cloud number concentration and I believe this field is usually zero at the initial time. Does the 'first' time step described in the post mean the initial time or the time after the first integration? I was just wondering perhaps I didn't encounter the divide-by-zero problem because ncr is not zero anymore after my first integration time step?

Sorry for so many random questions...

Chun-Chih
 
Chun-Chih,
That bug fix addresses the 'devided by zero' issue that happens when running WDM6. However, not that this issue only occur under rare, specific condition and not always appear. The 'first time' means the beginning of the model run. I don't think that ncr is always zero at the beginning of the model run.
You may print the value of ncr inside the wdm6 module.
 
Top