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

solar_diagnostic variables not being output

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.

rda_selin

New member
All,

I've been working to get the WRF-Solar options working in my versions of WRF, v4.2. First, thank you to the developers for the helpful WRF-Solar user guide online - I was able to get the GHI, DNI, and DIF special variables output with no problem, and the output looks reasonable.

My problem is the variables output by the solar_diagnostics namelist option (e.g., CLDFRAC2D, CBASEHT, CTOPHT, CLDIDX, and SZA). I'm interested in having those output on the model grid, so have the solar_diagnostics option turned on - but nothing is output. I checked the rsl.error.0000 file, and see that the solar diagnostic module is not even being called. What could I be doing wrong?

Below is the &physics section of my namelist. Points that might be of interest are that I am using Thompson aerosol aware microphysics with RRTMG radiation along with the aer_opt=3 option, so the aerosols, microphysics, and radiation should all be fully coupled (or at least that is my intention). I am also using swint_opt=2 so FARMS is called every timestep.

Thanks in advance for any help you can provide.

&physics
mp_physics = 28, 8, 8,
ra_lw_physics = 4, 1, 1,
ra_sw_physics = 4, 2, 2,
radt = 15, 10, 10,
swint_opt = 2,
CO2TF = 1,
sf_sfclay_physics = 5, 2, 2,
sf_surface_physics = 2, 2, 2,
sf_urban_physics = 0, 0, 0,
bl_pbl_physics = 5, 2, 2,
bldt = 0, 0, 0,
bl_mynn_tkebudget = 0,
bl_mynn_tkeadvect = .false.,
bl_mynn_cloudpdf = 2,
bl_mynn_edmf = 1,
bl_mynn_edmf_mom = 0,
bl_mynn_edmf_tke = 0,
bl_mynn_mixlength = 2,
grav_settling = 0,
scalar_pblmix = 1,
cu_physics = 0, 0,
cudt = 0, 5, 5,
icloud = 1,
surface_input_source = 1,
num_soil_layers = 4,
mp_zero_out = 2,
mp_zero_out_thresh = 1.e-12,
use_aero_icbc = .false.,
aer_opt = 3,
num_land_cat = 21,
hailcast_opt = 1
haildt = 60,
do_radar_ref = 1,
/

&diag
solar_diagnostics = 1,
/
 
Please try the reference configuration of WRF-Solar and let us know if you see the diagnostic variables in the output:
https://ral.ucar.edu/projects/wrf-solar
 
In addition to trying the reference WRF-Solar configuration, could you please post your full namelist.input file here? Thanks.
 
Sure, I can try using the reference configuration (with my model grid setup, so I don't have to rerun WPS). I can't use the reference configuration for my run though - are there specific namelist settings that might conflict?
 
I cannot think of anyone. That is why I was suggesting to use the reference configuration. This is a well tested configuration and knowing if this configuration runs fine, or not, should help to isolate the issue.
 
I ran the model using the reference configuration, and still no go on the solar variables being output. The SOLAR_DIAG printout isn't showing up in the rsl.error.0000 file, so it looks like the config_flags%solar_diagnostics variable is being reset somewhere. Would welcome any advice.

My exact namelist follows below:
run_days = 0,
run_hours = 30,
run_minutes = 0,
run_seconds = 0,
start_year = 2011,start_month = 04,start_day = 27,start_hour = 00, 00,
start_minute = 00, 00, 00,
start_second = 00, 00, 00,
end_year = 2011,end_month = 04,end_day = 28,end_hour = 06, 12,
end_minute = 00, 00, 00,
end_second = 00, 00, 00,
interval_seconds = 21600
input_from_file = .true.,.true.,.true.,
history_interval = 60, 1800, 60,
frames_per_outfile = 1, 1, 1,
restart = .false.,
restart_interval = 1840,
io_form_history = 2
io_form_restart = 2
io_form_input = 2
io_form_boundary = 2
/

&domains
time_step = 20,
time_step_fract_num = 0,
time_step_fract_den = 1,
max_dom = 1,
e_we = 1200, 1411,
e_sn = 800, 1021,
e_vert = 35, 35, 35,
p_top_requested = 2000,
num_metgrid_levels = 38,
num_metgrid_soil_levels = 4,
dx = 4000, 1000,
dy = 4000, 1000,
grid_id = 1, 2, 3,
parent_id = 0, 1, 2,
i_parent_start = 1, 43, 30,
j_parent_start = 1, 39, 30,
parent_grid_ratio = 1, 5, 3,
eta_levels = 1.00000 , 0.99258 , 0.98275 , 0.96996 , 0.95372 ,
0.93357 , 0.90913 , 0.87957 , 0.84531 , 0.80683 ,
0.76467 , 0.71940 , 0.67163 , 0.62198 , 0.57108 ,
0.51956 , 0.46803 , 0.42030 , 0.37613 , 0.33532 ,
0.29764 , 0.26290 , 0.23092 , 0.20152 , 0.17452 ,
0.14978 , 0.12714 , 0.10646 , 0.08761 , 0.07045 ,
0.05466 , 0.03981 , 0.02580 , 0.01258 , 0.00000
/

&physics
mp_physics = 8,
ra_lw_physics = 4,
ra_sw_physics = 4,
radt = 5,
sf_sfclay_physics = 1,
sf_surface_physics = 2,
bl_pbl_physics = 5,
bldt = 0,
bl_mynn_tkeadvect = .true.,
cu_physics = 0,
cu_rad_feedback = .false.,
cudt = 0,
bl_mynn_edmf = 0,
shcu_physics = 5,
isfflx = 1,
ifsnow = 1,
icloud = 1,
icloud_bl = 0,
num_soil_layers = 4,
sf_urban_physics = 0,
num_land_cat = 21,
aer_opt = 1,
swint_opt = 2,
usemonalb = .true.,
/

&diag
solar_diagnostics = 1,
/

&fdda
/

&dynamics
w_damping = 1,
diff_opt = 1,
km_opt = 4,
damp_opt = 3,
zdamp = 5000.,
dampcoef = 0.2,
non_hydrostatic = .true.,
/

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

&grib2
/

&namelist_quilt
nio_tasks_per_group = 0,
nio_groups = 1,
/
 
Ran the model again outputting config_flags@solar_diagnostics right before its call in module_diagnostics_driver and can confirm it is being set to 0 at some point.
 
The correct name for the namelist block is diags. You are missing the letter s at the end. The correct setting is:
&diags
solar_diagnostics = 1,
/
 
Top