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

MOZCART creating strange meteorological output

catalinaporaicu

New member
Hello,
I am currently conducting a 2 day, 3-nested simulation over Reunion Island, and I am trying to use the MOZCART mechanism in WRF-Chem (I am using V4.1.2).
I previously conducted the same simulation without chemistry, the output of which you can see below with the blue line.
However, the run with chemistry has altered the meteorological output quite severely, to the point that this oscillates, especially for 2m surface temperature and relative humidity. My output here is every 5 minutes in the case of both runs.

METEO_OSCILLATION.png
I have shaded the period that looks the most questionable. It looks like there is an oscillation between maximum peaks every ~1 hour. I am not sure why this would be happening, or how to fix it, so any help is greatly appreciated. I have attached my namelist below.

Things I've checked:
  • my input files do not contain any NaNs or unexpected zeros.
  • This output was taken at d03, however if I take the same lat-lon location at d02 and d01, we still see the oscillating pattern.
  • Other points in the d03 also show some oscillation.
  • A not-near point in d01 did not have oscillation.
  • I cannot simply do an average of the oscillations to obtain the reading at, let's say, one hour. I require a relatively high temporal output from these simulations (5-10 minutes).
Thank you!
 

Attachments

  • namelist.input
    7.2 KB · Views: 16
Hi,

This is certainly an interesting error - especially since aer_ra_feeback = 0.

As a first test, please set chemdt = 0 - this way there isn't a sync mismatch of chem and the rest of the physical processes.

If this fixes it, I believe I know what is wrong. In WRF/chem/chem_driver.F, there is a call to a subroutine "chem_prep" in module_chem_utilities.F, which may be overwriting the values calculated elsewhere.

Also, I see you are also setting progn = 1, but are not including wet scavenging or cloud chemistry - why?

Please let me know if this works.

Jordan
 
Hi,

This is certainly an interesting error - especially since aer_ra_feeback = 0.

As a first test, please set chemdt = 0 - this way there isn't a sync mismatch of chem and the rest of the physical processes.

If this fixes it, I believe I know what is wrong. In WRF/chem/chem_driver.F, there is a call to a subroutine "chem_prep" in module_chem_utilities.F, which may be overwriting the values calculated elsewhere.

Also, I see you are also setting progn = 1, but are not including wet scavenging or cloud chemistry - why?

Please let me know if this works.

Jordan
Hi Jordan,
I've gone one step further. I've turned off aerosol chemistry completely, and removed it from the initial and boundary conditions. I am now using just the MOZART mechanism with KPP (i.e. chemopt = 111). I also changed my setup to two domains, to make the runs a bit quicker. The problem still persists.

I set progn = 0 now as well. I had no reason to be using progn = 1.
 
Here is my new namelist, for reference:
I've turned off basically every chemical option except the mechanism, and this error persists. I really don't see what to do from here.

&time_control
&time_control
run_days = 18,
run_hours = 00,
run_minutes = 00,
run_seconds = 0,
start_year = 2019, 2019, 2019,
start_month = 01, 01, 01,
start_day = 10,10,10,
start_hour = 06, 06, 06,
start_minute = 00, 00, 00,
start_second = 00, 00, 00,
end_year = 2019, 2019, 2019,
end_month = 01, 01, 01,
end_day = 11, 11, 11,
end_hour = 00, 00, 00,
end_minute = 00, 00, 00,
end_second = 00, 00, 00,
interval_seconds = 21600,
input_from_file = .true., .true., .true.,
fine_input_stream = 0, 0,0,
history_interval = 5, 5, 5,
history_outname = '/scratch-b/catalinap/WRF_scratch/RUN_DIR/outfile/wrfout_d<domain>_<date>'
frames_per_outfile = 1, 1, 1,
restart = .false.,
restart_interval = 0,
io_form_history = 2,
io_form_restart = 2,
io_form_input = 2,
io_form_boundary = 2,
auxinput1_inname = "met_em.d<domain>.<date>",
debug_level = 250,
force_use_old_data = .true.,
/

&dfi_control
/

&domains
time_step = 50,
time_step_fract_num = 0,
time_step_fract_den = 1,
max_dom = 2,
s_we = 1, 1, 1,
e_we = 101,106,131,
s_sn = 1, 1, 1,
e_sn = 81,86,111,
e_vert = 51, 51, 51,
num_metgrid_levels = 32,
num_metgrid_soil_levels = 4,
dx = 12500,2500,500,
dy = 12500,2500,500,
grid_id = 1,2,3,
parent_id = 0,1,2,
i_parent_start = 1,45,35
j_parent_start = 1,32,30
parent_grid_ratio = 1,5,5,
parent_time_step_ratio = 1,5,5,
p_top_requested = 5000,
feedback = 1,
smooth_option = 0,
zap_close_levels = 50,
interp_type = 2,
t_extrap_type = 2,
force_sfc_in_vinterp = 0,
use_levels_below_ground = .true.,
use_surface = .true.,
lagrange_order = 2,
sfcp_to_sfcp = .true.,
/

&physics
mp_physics = 10,10,10,
progn = 0,0,0,
ra_lw_physics = 4,4,4,
ra_sw_physics = 4,4,4,
radt = 10,2,1,
sf_sfclay_physics = 2,2,2,
sf_surface_physics = 2,2,2,
bl_pbl_physics = 9,9,9,
topo_wind = 1,1,1,
bldt = 0,0,0,
cu_physics = 5,5,5,
cu_diag = 1,1,1,
cudt = 0,
ishallow = 0,
isfflx = 1,
ifsnow = 1,
icloud = 1,
surface_input_source = 1,
num_soil_layers = 4,
sf_urban_physics = 1, 1,1,
mp_zero_out = 2,
mp_zero_out_thresh = 1.e-8,
maxiens = 1,
maxens = 3,
maxens2 = 3,
maxens3 = 16,
ensdim = 144,
cu_rad_feedback = .true.,.true.,.true.,
num_land_cat = 21,
/

&fdda
/

&dynamics
rk_ord = 3,
w_damping = 1,
diff_opt = 2,2,2,
km_opt = 2,2,2,
diff_6th_opt = 2,2,2,
diff_6th_factor = 0.12,
base_temp = 290.,
damp_opt = 3,
zdamp = 5000.,5000.,5000.,
dampcoef = 0.01,0.01,0.01,
khdif = 0.,0.,0.,
kvdif = 0.,0.,0.,
non_hydrostatic = .true.,.true.,.true.,
moist_adv_opt = 2,2,2,
scalar_adv_opt = 2,2,2,
chem_adv_opt = 2,2,2,
tke_adv_opt = 2,2,2,
time_step_sound = 4,4,4,
h_mom_adv_order = 5,5,5,
v_mom_adv_order = 3,3,3,
h_sca_adv_order = 5,5,5,
v_sca_adv_order = 3,3,3,
tracer_opt = 1,1,1,
epssm = 0.95,0.95,0.95,
/

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

&chem
kemit = 1,
chemdt = 0,0,0,
chem_opt = 111,111,111,
chem_in_opt = 0,0,0,
io_style_emissions = 2,
emiss_opt = 0,0,0,
emiss_inpt_opt = 0,0,0,
emiss_opt_vol = 0,
aerchem_onoff = 0,0,0,
biomass_burn_opt = 0,0,0,
bio_emiss_opt = 0,0,0,
ne_area = 0,
bioemdt = 0,0,0,
phot_opt = 3,3,3,
photdt = 0,0,0,
gas_drydep_opt = 0,0,0,
aer_drydep_opt = 0,0,0,
aer_ra_feedback = 0,0,0,
have_bcs_chem = .true.,.true.,.true.,
gas_bc_opt = 1,0,0,
gas_ic_opt = 1,0,0,
aer_bc_opt = 0,0,0,
aer_ic_opt = 0,0,0,
diagnostic_chem = 1,1,1,
lnox_opt = 0,0,0,
dust_opt = 0,
/

&grib2
/

&namelist_quilt
nio_tasks_per_group = 0,
nio_groups = 1,
/
 
Last edited:
Hi,

This is certainly an interesting error - especially since aer_ra_feeback = 0.

As a first test, please set chemdt = 0 - this way there isn't a sync mismatch of chem and the rest of the physical processes.

If this fixes it, I believe I know what is wrong. In WRF/chem/chem_driver.F, there is a call to a subroutine "chem_prep" in module_chem_utilities.F, which may be overwriting the values calculated elsewhere.

Also, I see you are also setting progn = 1, but are not including wet scavenging or cloud chemistry - why?

Please let me know if this works.

Jordan
Hello Jordan,

I've fixed the problem, and I wanted to let you know in case it arises again in the future. It was cu_rad_feedback, when it was turned on / .true., it created a strange output in the meteorology. I'm not sure if this is specific to my domain, since I didn't see this problem when I was running over a different region, with the same version of WRF-Chem.
 
Top