EQUATES WRF namelist

Hi,

I was wondering if the namelist.wrf is available for the runs for EQUATES project. Specifically I am looking for CONUS domain one.

Best,
Kiarash

Here you go!

&time_control
run_days = 0,
run_hours = $NHRS,
run_minutes = 0,
run_seconds = 0,
start_year = $YYYYS
start_month = $MMS
start_day = $DDS
start_hour = 00
start_minute = 00,
start_second = 00,
end_year = $YYYYE
end_month = $MME
end_day = $DDE
end_hour = 00
end_minute = 00,
end_second = 00,
interval_seconds = $INTERVALS
input_from_file = .true.,
history_interval = 60,
frames_per_outfile = 24,
restart = .$RESTART.,
restart_interval = 1440,
write_hist_at_0h_rst = .true.,
io_form_history = 2
io_form_restart = 2
io_form_input = 2
io_form_boundary = 2
io_form_auxinput2 = 2
io_form_auxinput4 = 2
debug_level = 0
auxinput1_inname = “met_em.d01.”
auxinput4_inname = “wrflowinp_d01”
auxinput4_interval = $INTERVALM
auxinput4_end_h = $FDDA_END
reset_simulation_start = .false.,
iofields_filename = “output.var.txt”
/

&domains
time_step = 60,
time_step_fract_num = 0,
time_step_fract_den = 1,
max_dom = 1,
s_we = 1,
e_we = 472,
s_sn = 1,
e_sn = 312,
s_vert = 1,
e_vert = 36,
p_top_requested = 5000,
eta_levels = 1.000, 0.9975, 0.995, 0.990, 0.985,
0.980, 0.970, 0.960, 0.950,
0.940, 0.930, 0.920, 0.910,
0.900, 0.880, 0.860, 0.840,
0.820, 0.800, 0.770, 0.740,
0.700, 0.650, 0.600, 0.550,
0.500, 0.450, 0.400, 0.350,
0.300, 0.250, 0.200, 0.150,
0.100, 0.050, 0.000
num_metgrid_levels = 40,
dx = 12000,
dy = 12000,
grid_id = 1,
parent_id = 0,
i_parent_start = 0,
j_parent_start = 0,
parent_grid_ratio = 1,
parent_time_step_ratio = 1,
feedback = 1,
smooth_option = 0,
/

&physics
mp_physics = 10,
mp_zero_out = 2,
ra_lw_physics = 4,
ra_sw_physics = 4,
radt = 20,
sf_sfclay_physics = 7,
sf_surface_physics = 7,
bl_pbl_physics = 7,
bldt = 0,
cu_physics = 1,
kfeta_trigger = 2,
cu_rad_feedback = .true.,
cudt = 0,
prec_acc_dt = 60,
isfflx = 1,
ifsnow = 1,
icloud = 1,
surface_input_source = 1,
num_soil_layers = 2,
sst_update = 1,
pxlsm_smois_init = $PXINIT
slope_rad = 1,
topo_shading = 0,
shadlen = 25000.,
num_land_cat = 20,
/

&fdda
grid_fdda = 1,
grid_sfdda = 1,
pxlsm_soil_nudge = 1,
sgfdda_inname = “wrfsfdda_d01”,
sgfdda_end_h = $FDDA_END,
sgfdda_interval_m = $INTERVALM,
gfdda_inname = “wrffdda_d”,
gfdda_end_h = $FDDA_END,
gfdda_interval_m = $INTERVALM,
fgdt = 0,
if_no_pbl_nudging_uv = 1,
if_no_pbl_nudging_t = 1,
if_no_pbl_nudging_q = 1,
if_zfac_uv = 0,
k_zfac_uv = 13,
if_zfac_t = 0,
k_zfac_t = 13,
if_zfac_q = 0,
k_zfac_q = 13,
guv = 0.0001,
gt = 0.0001,
gq = 0.00001,
guv_sfc = 0.0000,
gt_sfc = 0.0000,
gq_sfc = 0.0000,
if_ramping = 1,
dtramp_min = 60.0,
io_form_gfdda = 2,
rinblw = 250.0
/

&dynamics
hybrid_opt = 2,
w_damping = 1,
diff_opt = 1,
km_opt = 4,
diff_6th_opt = 2,
diff_6th_factor = 0.12,
damp_opt = 3,
base_temp = 290.
zdamp = 15000.,
dampcoef = 0.05,
khdif = 0,
kvdif = 0,
non_hydrostatic = .true.,
moist_adv_opt = 2,
tke_adv_opt = 2,
scalar_adv_opt = 2,
use_theta_m = 1,
/

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

&grib2
/

&namelist_quilt
nio_tasks_per_group = 0,
nio_groups = 1,
/

3 Likes

That’s great! Thanks!!

Can I also ask for the WPS namelist please?
That would be awesome.

Please find below.
wps.namelist.conus12.txt (1.0 KB)
wrf.namelist.12us.txt (6.7 KB)
Regards, Rob

4 Likes

Thank you for the provided namelists.

Hi Rob,

I randomly opened one of the wrfout files, and here will provide the header information of the nc file.
I would like to know why the CEN_LAT and LON are not consistent with your provided namelist?
Is it because of the custom ref_x and ref_y?

Appreciate your help.
Kiarash

NC file info:

            :SIMULATION_INITIALIZATION_TYPE = "REAL-DATA CASE" ;
            :WEST-EAST_PATCH_START_UNSTAG = 1 ;
            :WEST-EAST_PATCH_END_UNSTAG = 471 ;
            :WEST-EAST_PATCH_START_STAG = 1 ;
            :WEST-EAST_PATCH_END_STAG = 472 ;
            :SOUTH-NORTH_PATCH_START_UNSTAG = 1 ;
            :SOUTH-NORTH_PATCH_END_UNSTAG = 311 ;
            :SOUTH-NORTH_PATCH_START_STAG = 1 ;
            :SOUTH-NORTH_PATCH_END_STAG = 312 ;
            :BOTTOM-TOP_PATCH_START_UNSTAG = 1 ;
            :BOTTOM-TOP_PATCH_END_UNSTAG = 35 ;
            :BOTTOM-TOP_PATCH_START_STAG = 1 ;
            :BOTTOM-TOP_PATCH_END_STAG = 36 ;
            :GRID_ID = 1 ;
            :PARENT_ID = 0 ;
            :I_PARENT_START = 0 ;
            :J_PARENT_START = 0 ;
            :PARENT_GRID_RATIO = 1 ;
            :DT = 60.f ;
            :CEN_LAT = 40.57357f ;
            :CEN_LON = -94.64294f ;
            :TRUELAT1 = 33.f ;
            :TRUELAT2 = 45.f ;
            :MOAD_CEN_LAT = 40.57357f ;
            :STAND_LON = -97.f ;
            :POLE_LAT = 90.f ;
            :POLE_LON = 0.f ;
            :GMT = 0.f ;
            :JULYR = 2015 ;
            :JULDAY = 335 ;
            :MAP_PROJ = 1 ;
            :MAP_PROJ_CHAR = "Lambert Conformal" ;

It’s because the developers of WRF did not do a proper job of analysis of what’s going on with map projections and grids: they regard the map projection as being subordinate to the grid, rather than the proper mathematical construction of grids, which is the reverse: mathematically, grids are defined with respect to a map projection (“Given a map projection, pick the starting corner coordinates, the cell-size, and the dimensions”) and not vice versa.

For the I/O API / CMAQ concept, it is easy to do the arithmetic to see whether one grid is a proper nest into another; for the WRF concept, it is a difficult set of spherical-trigonometry calcluations.

2 Likes

What cjcoats said plus in general terms… the domain is not centered to the projection. The projection was based off a prior 36 km grid which is the legacy, so at the time we overlapped and expanded a 12 km grid that became the US1 domain. In the weeds, but that’s the history.

2 Likes

Hi Rob,

Quick question on the SST part,
If possible, I would like to know what dataset was used to generate SST/aux4 inputs?

Thanks,

12US1 SST inputs were just taken from the NAM12 km analysis used to drive the FDDA.

Same SST used in weather forecasting by NOAA. We do leverage GHRSST for more recent simulations but this was not available in a consistent manner for the 2002-2017 period, so we just resorted to using the SST in the analysis data.

Rob

1 Like

Hi Rob,

I’ve got another question.
Do you do reinitialization for the WRF runs or are they constantly the restart of previous day? If so, what is the intervals? Also, I tried doing with reinitialization, yet when it got to MCIP processing I was being asked that my start days differ and they needed to be same date, so the MCIP failed. Tried the MCIP with another try with no reinitialization and it worked like a charm.

Thanks,

WRF alone… we restart the run on a period of our input data. The old method was 5.5 day runs with full reinitialization overlapped where we throw out the first 12 hours. Tests over a decade ago found running continuously works just fine. So now for EQUATES and other annual+ simulation we have inputs processed monthly. And just restart when a new input file is needed. MCIP does not like outputs mixed from different initialized runs. There is no need to run daily with reinitialization anyhow. We do run MCIP for daily batches of inputs.

3 Likes

Hi Rob,

I was wondering if it is possible for you to also share the OBSGRID options (i.e., namelist.oa) used for these runs?

Thanks,

&record1
start_year = 2021
start_month = 04
start_day = 01
start_hour = 00
end_year = 2021
end_month = 05
end_day = 01
end_hour = 00
interval = 10800
/

&record2
grid_id = 1
obs_filename = ‘empty’
remove_data_above_qc_flag = 32768
remove_unverified_data = .TRUE.
trim_domain = .FALSE.
trim_value = 5
/

&record3
max_number_of_obs = 100000
fatal_if_exceed_max_obs = .TRUE.
/
&record4
qc_test_error_max = .TRUE.
qc_test_buddy = .TRUE.
qc_test_vert_consistency = .FALSE.
qc_test_convective_adj = .FALSE.
max_error_dewpoint = 10
max_buddy_dewpoint = 10
max_error_t = 5
max_error_uv = 6
max_error_z = 4
max_error_rh = 25
max_error_p = 300
max_buddy_t = 4
max_buddy_uv = 4
max_buddy_z = 4
max_buddy_rh = 20
max_buddy_p = 400
buddy_weight = 1
max_p_extend_t = 1300
max_p_extend_w = 1300
qc_psfc = .TRUE.
use_p_tolerance_one_lev = .TRUE.
max_p_tolerance_one_lev_qc = 700
/

&record5
print_obs_files = .TRUE.
print_found_obs = .FALSE.
print_header = .FALSE.
print_analysis = .FALSE.
print_qc_vert = .FALSE.
print_qc_dry = .FALSE.
print_error_max = .FALSE.
print_buddy = .FALSE.
print_oa = .FALSE.
/

&record7
use_first_guess = .TRUE.
f4d = .TRUE.
intf4d = 10800
lagtem = .FALSE.
/
&record8
smooth_type = 1
smooth_sfc_wind = 0
smooth_sfc_temp = 0
smooth_sfc_rh = 0
smooth_sfc_slp = 0
smooth_upper_wind = 0
smooth_upper_temp = 0
smooth_upper_rh = 0
/

&record9
oa_type = ‘Cressman’
radius_influence = 20,15,10,5
mqd_minimum_num_obs = 30
mqd_maximum_num_obs = 1000
oa_min_switch = .TRUE.
oa_max_switch = .TRUE.
oa_psfc = .TRUE.
/
radius_influence = 20,15,10,5
raduis_influence = 40,30,20,10

&plot_sounding
file_type = ‘raw’
read_metoa = .TRUE.
/

3 Likes

This is one example, but the radius of influence is a setting users need to feel comfortable as it should be changed depending on grid scale.

4 Likes