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

real.exe "we cannot have excluded middle data"

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.

chugarump

New member
I am running WRFv3.9.1 prepared using 'gfortran' on LINUX Fedora v28. I have successfully processed WPS output data into WRF input files and run WRF for a nested domain of 36-, 12-, and 4-km. However, when I try to implement 'analysis nudging', 'real.exe' fails with the following:

Domain 1: Current date being processed: 1990-08-01_18:00:00.0000, which is loop # 2 out of 29
configflags%julyr, %julday, %gmt: 1990 213 18.0000000
metgrid input_wrf.F first_date_input = 1990-08-01_18:00:00
metgrid input_wrf.F first_date_nml = 1990-08-01_12:00:00
d01 1990-08-01_18:00:00 Timing for input 0 s.
d01 1990-08-01_18:00:00 flag_soil_layers read from met_em file is 1
None of the following are allowed to be TRUE :
( internal_time_loop .EQ. 1 ) F
( config_flags%grid_fdda .NE. 0 ) T
( config_flags%sst_update .EQ. 1 ) F
( config_flags%all_ic_times ) F
( config_flags%smooth_cg_topo ) F
( config_flags%map_proj .EQ. PROJ_CASSINI ) F
-------------- FATAL CALLED ---------------
FATAL CALLED FROM FILE: <stdin> LINE: 338
Problems, we cannot have excluded middle data from WPS

The central portion of my 'namelist.input' file follows. Basically, everything works fine until I alter 'grid_fdda' from '0' to '1'. Any assistance will be gratefully appreciated.

BJ

&domains
time_step = 120,
time_step_fract_num = 0,
time_step_fract_den = 1,
max_dom = 3,
e_we = 40, 91, 181,
e_sn = 40, 91, 217,
e_vert = 31, 31, 31,
p_top_requested = 10000,
num_metgrid_levels = 30,
num_metgrid_soil_levels = 4,
dx = 36000, 12000, 4000,
dy = 36000, 12000, 4000,
grid_id = 1, 2, 3,
parent_id = 1, 1, 2,
i_parent_start = 1, 6, 9,
j_parent_start = 1, 9, 6,
parent_grid_ratio = 1, 3, 3,
parent_time_step_ratio = 1, 3, 3,
feedback = 1,
smooth_option = 0
eta_levels = 1.0000, 0.9958, 0.9907, 0.9846, 0.9774,
0.9688, 0.9585, 0.9463, 0.9319, 0.9148,
0.8946, 0.8709, 0.8431, 0.8107, 0.7733,
0.7301, 0.6809, 0.6254, 0.5635, 0.4954,
0.4218, 0.3536, 0.2930, 0.2394, 0.1917,
0.1495, 0.1120, 0.0788, 0.0493, 0.0232,
0.00000,
/

&physics
mp_physics = 6, 6, 6,
ra_lw_physics = 1, 1, 1,
ra_sw_physics = 1, 1, 1,
radt = 5, 5, 5,
sf_urban_physics = 0, 0, 0,
sf_sfclay_physics = 1, 1, 1,
sf_surface_physics = 1, 1, 1,
bl_pbl_physics = 1, 1, 1,
bldt = 0, 0, 0,
cu_physics = 5, 5, 5,
cudt = 5, 5, 5,
cu_rad_feedback = .true., .true., .true.,
sst_update = 0,
usemonalb = .true.,
rdmaxalb = .true.,
surface_input_source = 3,
num_soil_layers = 4,
num_land_cat = 21,
/

&fdda
grid_fdda = 1, 1, 0,
gfdda_inname = "wrffdda_d<domain>",
gfdda_interval_m = 360, 360, 360,
gfdda_end_h = 144, 144, 144,
fgdt = 0, 0, 0,
if_no_pbl_nudging_uv = 1, 1, 1,
if_no_pbl_nudging_t = 1, 1, 1,
if_no_pbl_nudging_q = 1, 1, 1,
guv = 0.0003, 0.0003, 0.0003,
gt = 0.0003, 0.0003, 0.0003,
gq = 0.0003, 0.0003, 0.0003,
if_ramping = 1,
dtramp_min = 60.0,
io_form_gfdda = 2,
/
 
I just run a test case with the analysis nudging and REAL finished successfully. By the way, i ran the test case using WRFV3.9.1.1 and I don't expect big changes between V3.9.1 and V3.9.1.1

Below is the nameless I used. Would you please try WRFV3.9.1.1 and newer version like WRFV4.0? Please let me know if the problem still exists.

&time_control
run_days = 0,
run_hours = 6,
run_minutes = 0,
run_seconds = 0,
start_year = 2016, 2016, 2011,
start_month = 06, 06, 06,
start_day = 01, 01, 30,
start_hour = 00, 00, 12,
start_minute = 00, 00, 00,
start_second = 00, 00, 00,
end_year = 2016, 2016, 2011,
end_month = 06, 06, 07,
end_day = 01, 01, 02,
end_hour = 06, 06, 00,
end_minute = 00, 00, 00,
end_second = 00, 00, 00,
interval_seconds = 21600,
input_from_file = .true.,.true.,.true.,
history_interval = 120, 120, 60,
frames_per_outfile = 1, 1, 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,
io_form_auxinput2 = 2,
/
&domains
time_step = 30,
time_step_fract_num = 0,
time_step_fract_den = 1,
max_dom = 2,
s_we = 1, 1, 1,
i_parent_start = 1, 17,
j_parent_start = 1, 17,
e_we = 94, 73,
e_sn = 94, 73,
s_sn = 1, 1, 1,
s_vert = 1, 1, 1,
e_vert = 41, 41, 28,
p_top_requested = 5000,
num_metgrid_levels = 32,
dx = 5000, 1666.667, 2000,
dy = 5000, 1666.667, 2000,
grid_id = 1, 2, 3,
parent_id = 1, 1, 2,
parent_grid_ratio = 1, 3, 5,
parent_time_step_ratio = 1, 3, 5,
feedback = 1,
smooth_option = 0,
/
&fdda
grid_fdda = 1, 1, 0,
gfdda_inname = "wrffdda_d<domain>",
gfdda_interval_m = 360, 360, 360,
gfdda_end_h = 360, 360, 360,
fgdt = 0, 0, 0,
if_no_pbl_nudging_uv = 1, 1, 1,
if_no_pbl_nudging_t = 1, 1, 1,
if_no_pbl_nudging_q = 1, 1, 1,
guv = 0.0003, 0.0003, 0.0003,
gt = 0.0003, 0.0003, 0.0003,
gq = 0.0003, 0.0003, 0.0003,
if_ramping = 1,
dtramp_min = 60.0,
io_form_gfdda = 2,
/
 
I have run different versions of 'real' (and corresponding versions of WPS) with the same results. This is not a random crash, but some condition is being trapped. I suspect some flag or data set has not been set properly. It would help if someone translate these errors to explain what conditons for analysis FDDA are lacking (I have repeatedly compared 'namelist.wps' with 'namelist.input'; but I can't see any inconsistencies).
BJ
 
Would you please post your namelist.wps and namelist.input for a failed case? I would like to repeat this case using all your options. Thanks.
 
I have listed the 'namelist.wps' and the 'namelist.input' files below.
I have tried to follow the trap logic in the 'real.exe'. source code (my coding skills are not great I'm afraid). I am included to think the my problem is
in the WPS preparation. In the 'met_em*nc' files, I noticed a flag 'FLAG_EXCLUDED_MIDDLE = 5'. In the 'real.exe' source code, if this flag is set to '0'
the trap may be skipped. I had some trouble matching 'GEOGRID.TBL' parameters to what I found in the combined USGS and MODIS data files. But,
I remain confused by the fact that WRF runs fine if I do not set anaylsis FDDA.
BJ


NAMELIST.WPS

oscar@notus[113] lf namelist.wps
&share
wrf_core = 'ARW',
max_dom = 3,
start_date = '1990-08-01_12:00:00','1990-08-01_12:00:00','1990-08-01_12:00:00'
end_date = '1990-08-08_12:00:00','1990-08-08_12:00:00','1990-08-08_12:00:00'
interval_seconds = 21600
io_form_geogrid = 2,
opt_output_from_geogrid_path = './',
debug_level = 0
/

&geogrid
parent_id = 1, 1, 2,
parent_grid_ratio = 1, 3, 3,
i_parent_start = 1, 6, 9,
j_parent_start = 1, 9, 6,
s_we = 1, 1, 1,
e_we = 40, 91, 181,
s_sn = 1, 1, 1,
e_sn = 40, 91, 217,
geog_data_res = '30s','30s','30s'
dx = 36000,
dy = 36000,
map_proj = 'lambert',
ref_lat = 37.00,
ref_lon =-120.50,
truelat1 = 30.0,
truelat2 = 60.0,
stand_lon = -120.5,
geog_data_path = '/bbb/wrf/WRF_data/WPS_GEOG'
opt_geogrid_tbl_path = '/bbb/wrf/Build_WRF/WPS/geogrid'
/
geog_data_path = '/bbb/wrf/WRF_data/WPS_GEOG'
geog_data_res = 'default', 'default', 'default',

&ungrib
out_format = 'WPS',
prefix = 'FILE',
/

&metgrid
fg_name = 'FILE'
constants_name = './TAVGSFC'
io_form_metgrid = 2,
opt_output_from_metgrid_path = './',
opt_metgrid_tbl_path = 'metgrid/',
process_only_bdy = 5,
/

&mod_levs
press_pa = 201300 , 200100 , 100000 ,
95000 , 90000 ,
85000 , 80000 ,
75000 , 70000 ,
65000 , 60000 ,
55000 , 50000 ,
45000 , 40000 ,
35000 , 30000 ,
25000 , 20000 ,
15000 , 10000 ,
5000 , 1000
/



NAMELIST.INPUT

&time_control
run_days = 7,
run_hours = 0,
run_minutes = 0,
run_seconds = 0,
start_year = 1990, 1990, 1990,
start_month = 08, 08, 08,
start_day = 01, 01, 01,
start_hour = 12, 12, 12,
start_minute = 00, 00, 00,
start_second = 00, 00, 00,
end_year = 1990, 1990, 1990,
end_month = 08, 08, 08,
end_day = 08, 08, 08,
end_hour = 12, 12, 12,
end_minute = 00, 00, 00,
end_second = 00, 00, 00,
interval_seconds = 21600
input_from_file = .true.,.true.,.true.,
history_interval = 180, 60, 60,
frames_per_outfile = 1000, 1000, 1000,
restart = .false.,
restart_interval = 2880,
io_form_history = 2
io_form_restart = 2
io_form_input = 2
io_form_boundary = 2
debug_level = 0
auxinput4_inname = "wrflowinp_d<domain>",
auxinput4_interval = 360,
auxinput4_end_h = 240,
auxinput11_interval = 360,
auxinput11_end_h = 240,
io_form_auxinput2 = 2,
io_form_auxinput4 = 2,
io_form_auxinput6 = 2,
io_form_auxinput11 = 2,
output_diagnostics = 1,
auxhist3_outname = 'wrfxtrm_d<domain>_<date>',
io_form_auxhist3 = 2,
auxhist3_interval = 360, 360, 360,
frames_per_auxhist3 = 1000,
/

&domains
time_step = 120,
time_step_fract_num = 0,
time_step_fract_den = 1,
max_dom = 3,
e_vert = 31, 31, 31,
p_top_requested = 10000,
num_metgrid_levels = 30,
num_metgrid_soil_levels = 4,
dx = 36000, 12000, 4000,
dy = 36000, 12000, 4000,
grid_id = 1, 2, 3,
parent_id = 1, 1, 2,
parent_grid_ratio = 1, 3, 3,
i_parent_start = 1, 6, 9,
j_parent_start = 1, 9, 6,
s_we = 1, 1, 1,
e_we = 40, 91, 181,
s_sn = 1, 1, 1,
e_sn = 40, 91, 217,
parent_time_step_ratio = 1, 3, 3,
feedback = 1,
smooth_option = 0
eta_levels = 1.0000, 0.9958, 0.9907, 0.9846, 0.9774,
0.9688, 0.9585, 0.9463, 0.9319, 0.9148,
0.8946, 0.8709, 0.8431, 0.8107, 0.7733,
0.7301, 0.6809, 0.6254, 0.5635, 0.4954,
0.4218, 0.3536, 0.2930, 0.2394, 0.1917,
0.1495, 0.1120, 0.0788, 0.0493, 0.0232,
0.00000,
/
&physics
mp_physics = 6, 6, 6,
ra_lw_physics = 1, 1, 1,
ra_sw_physics = 1, 1, 1,
radt = 5, 5, 5,
sf_urban_physics = 0, 0, 0,
sf_sfclay_physics = 1, 1, 1,
sf_surface_physics = 1, 1, 1,
bl_pbl_physics = 1, 1, 1,
bldt = 0, 0, 0,
cu_physics = 5, 5, 5,
cudt = 5, 5, 5,
cu_rad_feedback = .true., .true., .true.,
sst_update = 0,
usemonalb = .true.,
rdmaxalb = .true.,
surface_input_source = 3,
num_soil_layers = 4,
num_land_cat = 21,
/

&fdda
grid_fdda = 1, 1, 0,
gfdda_inname = "wrffdda_d<domain>",
gfdda_interval_m = 360, 360, 360,
gfdda_end_h = 144, 144, 144,
fgdt = 0, 0, 0,
if_no_pbl_nudging_uv = 1, 1, 1,
if_no_pbl_nudging_t = 1, 1, 1,
if_no_pbl_nudging_q = 1, 1, 1,
guv = 0.0003, 0.0003, 0.0003,
gt = 0.0003, 0.0003, 0.0003,
gq = 0.0003, 0.0003, 0.0003,
if_ramping = 1,
dtramp_min = 60.0,
io_form_gfdda = 2,
/

&dynamics
km_opt = 1,
diff_opt = 1,
/

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

&grib2
/

&namelist_quilt
/
 
I wonder why you set the option process_only_bdy = 5 in your namelist.wps?
Please remove it and rerun the case.
 
With your suggestion, my problem went away. Thank you.
As to why the 'process_only_bdy = 5' flag was set, I must confess that I copied and edited someone else's 'namelist' file, without paying enough attention to the details (let that be a lesson to me). Again, Thank you for your persistent help.
Happy New Year.
 
For those options you choose in namelist, please take a look at the WRF User Guide to understand their physical/dynmaical/numerical meanings. Otherwise it is easy to introduce errors into the simulation.
 
Top