I want to investigate how the dust direct radiative effect affects the climate of east Asia. The control test is the one without dust direct radiative effect. There are two ways to design the control test, but two designs have different results. The first way is to set dust concentration to 0 in chem/optical_driver.F, shown below
The other way is setting dust_opt=0 in namelist.input without changing code. The bias exists even if dust_opt=0 in the first test. The surface temperature bias can be as large as 10 degrees after long-time running.
This is my namelist.input
I guess that the bias is from the error of chem(dust), as without changing the code chem(dust) is actually 1.e-16~1.e-12(from boundary initialization). After long-time running, the error grows big. It's only my guess.
Is there any solution to constrain the bias of two control tests? Thanks.
Code:
do mm = p_dust_1, p_dust_5
chem(:,:,:,mm) = 1.e-16 ! initial minimum value for chem
end do
call optical_averaging(...)
This is my namelist.input
Code:
&time_control
run_days = 107,
run_hours = 0,
run_minutes = 0,
run_seconds = 0,
start_year = 2001,
start_month = 05,
start_day = 17,
start_hour = 00,
start_minute = 00,
start_second = 00,
end_year = 2001,
end_month = 09,
end_day = 01,
end_hour = 00,
end_minute = 00,
end_second = 00,
interval_seconds = 21600,
input_from_file = .true.,
history_interval = 43200,
frames_per_outfile = 1000,
restart = .false.,
restart_interval = 43200,
io_form_history = 2,
io_form_restart = 2,
io_form_input = 2,
io_form_boundary = 2,
iofields_filename = "myoutfields.txt",
auxhist24_outname = "auxhist24_d<domain>.nc",
io_form_auxhist24 = 2,
auxhist24_interval = 360,
frames_per_auxhist24 = 2000,
auxinput4_inname = "wrflowinp_d<domain>",
auxinput4_interval = 360,
io_form_auxinput4 = 2,
debug_level = 0,
/
&domains
time_step = 200,
time_step_fract_num = 0,
time_step_fract_den = 1,
max_dom = 1,
e_we = 188,
e_sn = 140,
e_vert = 35,
p_top_requested = 5000,
num_metgrid_levels = 27,
num_metgrid_soil_levels = 2,
dx = 36000,
dy = 36000,
grid_id = 1,
parent_id = 1,
i_parent_start = 1,
j_parent_start = 1,
parent_grid_ratio = 1,
parent_time_step_ratio = 1,
feedback = 1,
smooth_option = 0,
sfcp_to_sfcp = .true.,
/
&physics
mp_physics = 2,
mp_zero_out = 2,
ra_lw_physics = 4,
ra_sw_physics = 4,
radt = 36,
sf_sfclay_physics = 1,
sf_surface_physics = 4,
bl_pbl_physics = 1,
bldt = 0,
topo_wind = 1,
cu_physics = 5,
cudt = 0,
cu_diag = 1,
cu_rad_feedback = .true.,
cugd_avedx = 1,
isfflx = 1,
ifsnow = 0,
icloud = 1,
surface_input_source = 1,
num_soil_layers = 4,
sf_urban_physics = 0,
maxiens = 1,
maxens = 3,
maxens2 = 3,
maxens3 = 16,
ensdim = 144,
sst_update = 1,
tmn_update = 1,
sst_skin = 1,
/
&fdda
grid_fdda = 0,
/
&dynamics
w_damping = 1,
diff_opt = 1,
km_opt = 4,
diff_6th_opt = 0,
diff_6th_factor = 0.12,
base_temp = 290.,
damp_opt = 3,
zdamp = 5000.,
dampcoef = 0.2,
khdif = 0,
kvdif = 0,
non_hydrostatic = .true.,
chem_adv_opt = 2,
moist_adv_opt = 2,
scalar_adv_opt = 2,
tke_adv_opt = 2,
/
&bdy_control
spec_bdy_width = 10,
spec_zone = 1,
relax_zone = 9,
spec_exp = 0.33,
specified = .true.,
nested = .false.,
/
&grib2
/
&namelist_quilt
nio_tasks_per_group = 0,
nio_groups = 1,
/
&chem
chem_opt = 300,
chemdt = 10,
chem_in_opt = 0,
kemit = 1,
io_style_emissions = 2,
emiss_inpt_opt = 1,
emiss_opt = 0,
biomass_burn_opt = 0,
plumerisefire_frq = 30,
dmsemis_opt = 1,
seas_opt = 1,
dust_opt = 0,
dust_schme = 2,
dust_alpha = 0.55,
dustwd_onoff = 0,
bio_emiss_opt = 0,
bioemdt = 30,
phot_opt = 0,
photdt = 30,
gas_drydep_opt = 1,
aer_drydep_opt = 1,
gas_bc_opt = 1,
gas_ic_opt = 1,
aer_bc_opt = 1,
aer_ic_opt = 1,
gaschem_onoff = 1,
aerchem_onoff = 1,
wetscav_onoff = 0,
cldchem_onoff = 0,
vertmix_onoff = 1,
chem_conv_tr = 1,
aer_ra_feedback = 1,
aer_op_opt = 1,
opt_pars_out = 1,
have_bcs_chem = .false.,
/
Is there any solution to constrain the bias of two control tests? Thanks.