WRF setup - adelgadop/SOPRO GitHub Wiki
- WPS
- ./real in WRF
- MEGAN
- ANTHRO
- FINN
- ./real in WRF
- MOZBC using CAM-Chem as chemical initial and boundary conditions for wrfbdy_d01, wrfinput_d01, wrfinput_d02. It is necessary to link "met_em" files before to run MOZBC.
- ./wrf.exe
Two modeling domain projects for Porto and Lisbon. Each project has the follow features:
Porto:
lat: 41.218163°, lon: -8.567008° d01: 9 km d02: 3 km
A3 (Lisbon):
lat: 38.743236°, lon: -9.172996° d01: 9 km d02: 3 km
The namelist.wps
for Porto is:
&share
wrf_core = 'ARW',
max_dom = 2,
start_date = '2017-08-30_00:00:00', '2017-08-30_00:00:00', '2017-08-30_00:00:00', '2017-08-30_00:00:00',
end_date = '2017-09-10_00:00:00', '2017-09-10_00:00:00', '2017-09-10_00:00:00', '2017-09-10_00:00:00',
interval_seconds = 21600
io_form_geogrid = 2,
/
&geogrid
parent_id = 0, 1, 1, 2,
parent_grid_ratio = 1, 3, 5, 5,
i_parent_start = 1, 23, 52, 60,
j_parent_start = 1, 20, 60, 70,
e_we = 70, 79, 151, 151,
e_sn = 70, 79, 151, 151,
geog_data_res = '30s', '30s', '30s', '30s',
dx = 9000,
dy = 9000,
map_proj = 'lambert',
ref_lat = 41.22, ! Porto
ref_lon = -8.57, ! Porto
truelat1 = 39.99,
truelat2 = 39.99,
stand_lon = -8.78,
geog_data_path = '/scr2/alejandro/WRF/DATA/GEOG/'
/
&ungrib
out_format = 'WPS',
prefix = 'FILE',
/
&metgrid
fg_name = 'FILE'
io_form_metgrid = 2,
/
The namelist.wps
for Lisboa is:
&share
wrf_core = 'ARW',
max_dom = 2,
start_date = '2017-08-30_00:00:00', '2017-08-30_00:00:00', '2017-08-30_00:00:00', '2017-08-30_00:00:00',
end_date = '2017-09-10_00:00:00', '2017-09-10_00:00:00', '2017-09-10_00:00:00', '2017-09-10_00:00:00',
interval_seconds = 21600
io_form_geogrid = 2,
/
&geogrid
parent_id = 0, 1, 1, 2,
parent_grid_ratio = 1, 3, 5, 5,
i_parent_start = 1, 26, 52, 60,
j_parent_start = 1, 23, 60, 70,
e_we = 70, 79, 151, 151,
e_sn = 70, 79, 151, 151,
geog_data_res = '30s', '30s', '30s', '30s',
dx = 9000,
dy = 9000,
map_proj = 'lambert',
ref_lat = 38.74,
ref_lon = -9.17,
truelat1 = 39.99,
truelat2 = 39.99,
stand_lon = -8.78,
geog_data_path = '/scr2/alejandro/WRF/DATA/GEOG/'
/
&ungrib
out_format = 'WPS',
prefix = 'FILE',
/
&metgrid
fg_name = 'FILE'
io_form_metgrid = 2,
/
- To see the area modeling domain, write
ncl util/plotgrids_new.ncl
. - Ungrib the Global files downloaded from the
ds083.03
:-
./link_grib.csh $DATA/met/NCEP_GDAS/gdas1*
(AMANAN) -
./link_grib.csh $LBC/NCEP_GDAS/sep/gdas1*
(Svante2) ./ungrib.exe
./geogrid.exe
- Run
metgrid.exe
. This program will horizontally interpolate the WRF Intermediate format (FILE: 2012-09-06_00) data into the grid define in the experiment design. We will see files named asmet_em.d01.<date>.nc
andmet_em.d02.<date>.nc
.
-
The met_em
path locations are:
/scr2/alejandro/WRF/sopro/porto/met_em
/scr2/alejandro/WRF/sopro/lisboa/met_em
Edit the path in the namelist.input
in the WRF directory:
auxinput1_inname = '/scr2/alejandro/WRF/sopro/porto/met_em/met_em.d<domain>.<date>',
Change the namelist.input
in the WRF directory, and run ./real.exe
.
cd /scr2/alejandro/WRF/DATA/util/ANTHRO/src
Create the anthro_emis.inp
file. The content shown below corresponds to Lisboa:
&CONTROL
wrf_dir= '/scr2/alejandro/WRF/sopro/lisboa/WRF-4.2.1/test/em_real'
anthro_dir = '/scr2/alejandro/WRF/DATA/util/EDGAR-HTAP/MOZCART'
domains = 2
src_file_prefix = 'EDGAR_HTAP_emi_'
src_file_suffix = '_2010.0.1x0.1.nc'
src_names = 'CO(28)',
'NOx(30)',
'BIGALK(72)',
'BIGENE(56)',
'C2H4(28)',
'C2H5OH(46)',
'C2H6(30)',
'C3H6(42)',
'C3H8(44)',
'CH2O(30)',
'CH3CHO(44)',
'CH3COCH3(58)',
'CH3OH(32)',
'MEK(72)',
'SO2(64)',
'TOLUENE(92)',
'NH3(17)',
'OC(12)',
'BC(12)',
'PM2.5(1)',
'PM10(1)'
sub_categories = 'emis_tot'
emis_map = 'CO->CO',
'NO->0.9*NOx',
'NO2->0.1*NOx',
'BIGALK->BIGALK',
'C2H4->C2H4',
'C2H5OH->C2H5OH',
'C2H6->C2H6',
'C3H6->C3H6',
'C3H8->C3H8',
'HCHO->CH2O',
'ALD->CH3CHO',
'CH3COCH3->CH3COCH3',
'CH3OH->CH3OH',
'MEK->MEK',
'SO2->SO2',
'TOLUENE->TOLUENE',
'NH3->NH3',
'OC(a)->OC',
'BC(a)->BC',
'PM_25(a)->PM2.5',
'PM_10(a)->PM10',
! 'CH3COOH->CH3COOH'
serial_output = .false.
start_output_time = '2017-08-30_00:00:00'
stop_output_time = '2017-09-10_00:00:00'
output_interval = 86400
data_yrs_offset = +7
Thereafter, run anthro_emis < anthro_emis.inp
. These will create wrfchemi_<time>_<domain>
(e.g., wrfchemi_00z_d01
) files.
Go to $WRF/DATA/util/wes_coldens
directory and run wesely < wesely.inp
and exo_coldens < exo_coldens.inp
changing previously the path. The wesely.inp
file only has three lines:
&control
wrf_dir = '/scr2/alejandro/WRF/sopro/lisboa/WRF'
domains = 2,
/
The output will be wrf_season_wes_usgs_d01.nc
, wrf_season_wes_usgs_d02.nc
, exo_coldens_d01
, exo_coldens_d02
.
The namelist.input
file for Porto:
&time_control
run_days = 0,
run_hours = 0,
run_minutes = 0,
run_seconds = 0,
start_year = 2017, 2017, 2017, 2017,
start_month = 08, 08, 08, 08,
start_day = 30, 30, 30, 30,
start_hour = 00, 00, 00, 00,
start_minute = 00, 00, 00, 00,
start_second = 00, 00, 00, 00,
end_year = 2017, 2017, 2017, 2017,
end_month = 09, 09, 09, 09,
end_day = 10, 10, 10, 10,
end_hour = 00, 00, 00, 00,
end_minute = 00, 00, 00, 00,
end_second = 00, 00, 00, 00,
interval_seconds = 21600
input_from_file = .true.,.true.,.true., .true.,
history_interval = 60, 60, 60, 60,
!history_outname = "/scr1/rnoeliab/RESULTS/wrfout/2_dominio/cbmz_iag_ysu/20190604/wrfout_d<domain>_<date>"
frames_per_outfile = 24, 24, 24, 24,
restart = .false.,
restart_interval = 7200,
io_form_auxinput4 = 0,
io_form_auxinput2 = 2,
io_form_auxinput5 = 2,
io_form_auxinput6 = 0,
io_form_auxinput7 = 0,
io_form_auxinput8 = 0,
io_form_auxinput12 = 0,
io_form_history = 2
io_form_restart = 2
io_form_input = 2
io_form_boundary = 2
auxinput1_inname = '/scr2/alejandro/WRF/sopro/porto/met_em/met_em.d<domain>.<date>',
auxinput5_inname = 'wrfchemi_d<domain>_<date>',
auxinput6_inname = 'wrfbiochemi_d<domain>',
auxinput7_inname = 'wrffirechemi_d<domain>_<date>',
auxinput8_inname = 'wrfchemi_gocart_bg_d<domain>_<date>',
auxinput12_inname = 'wrf_chem_input',
auxinput5_interval_m = 60, 60, 60, 60,
auxinput7_interval_m = 60, 60, 60, 60,
auxinput8_interval_m = 1440, 1440, 0,
frames_per_auxinput5 = 12, 12, 12, 12,
frames_per_auxinput7 = 1, 1, 1, 1,
frames_per_auxinput8 = 1, 1, 1, 1,
debug_level = 0,
force_use_old_data = .true.,
/
&domains
time_step = 27,
time_step_fract_num = 0,
time_step_fract_den = 1,
max_dom = 1,
e_we = 70, 79, 151, 151,
e_sn = 70, 79, 151, 151,
e_vert = 35, 35, 35, 35,
dx = 9000, 3000, 1000, 1000,
dy = 9000, 3000, 1000, 1000,
p_top_requested = 5000,
num_metgrid_levels = 32,
num_metgrid_soil_levels = 4,
eta_levels = 1.000, 0.993, 0.983, 0.970, 0.954,
0.934, 0.909, 0.880, 0.845, 0.807,
0.765, 0.719, 0.672, 0.622, 0.571,
0.520, 0.468, 0.420, 0.376, 0.335,
0.298, 0.263, 0.231, 0.202, 0.175,
0.150, 0.127, 0.106, 0.088, 0.070,
0.055, 0.040, 0.026, 0.013, 0.000
grid_id = 1, 2, 3, 4,
parent_id = 0, 1, 2, 2,
i_parent_start = 1, 23, 70, 60,
j_parent_start = 1, 20, 135, 70,
parent_grid_ratio = 1, 3, 5, 5,
parent_time_step_ratio = 1, 3, 5, 5,
feedback = 1,
smooth_option = 0
/
&physics
mp_physics = 10, 10, 10, 10,
progn = 1, 1, 1, 1,
naer = 1e9
ra_lw_physics = 4, 4, 1, 1,
ra_sw_physics = 4, 4, 1, 1,
radt = 9, 3, 5, 5,
sf_sfclay_physics = 1, 1, 1, 1,
sf_surface_physics = 2, 2, 2, 2,
bl_pbl_physics = 1, 1, 1, 1,
bldt = 0, 0, 0, 0,
cu_physics = 5, 5, 1, 1,
cudt = 0, 0, 0, 0,
cugd_avedx = 1,
cu_diag = 1, 1,
topo_wind = 2,
isfflx = 1,
ifsnow = 0,
icloud = 1,
surface_input_source = 1,
num_soil_layers = 4,
num_land_cat = 21,
sf_urban_physics = 0, 0, 0, 0,
maxiens = 1,
maxens = 3,
maxens2 = 3,
maxens3 = 16,
ensdim = 144,
cu_rad_feedback = .false., .false., .true., .true.,
/
&fdda
/
&dynamics
w_damping = 0,
diff_opt = 1, 1, 1, 1,
km_opt = 4, 4, 4, 4,
diff_6th_opt = 0, 0, 0, 0,
diff_6th_factor = 0.12, 0.12, 0.12, 0.12,
base_temp = 290.
damp_opt = 0,
zdamp = 5000., 5000., 5000., 5000.,
dampcoef = 0.2, 0.2, 0.2, 0.2
khdif = 0, 0, 0, 0,
kvdif = 0, 0, 0, 0,
non_hydrostatic = .true., .true., .true., .true.,
moist_adv_opt = 1, 1, 1, 1,
scalar_adv_opt = 1, 1, 1, 1,
chem_adv_opt = 1, 2, 2, 2,
/
&bdy_control
spec_bdy_width = 5,
spec_zone = 1,
relax_zone = 4,
specified = .true., .false.,.false., .false.,
nested = .false., .true., .true., .true.,
/
&grib2
/
&chem
kemit = 1,
chem_opt = 112, 112, 112, 112,
bioemdt = 15, 5, 5, 5,
photdt = 15, 5, 5, 5,
chemdt = 0., 0, 1.5, 1.5,
io_style_emissions = 1, ! 1 = si usamos 00z y 12z wrfchemi
emiss_inpt_opt = 111, 111, 111, 111,
emiss_opt = 8, 8, 8, 8, ! 4 = CBMZ/MOSAIC
chem_in_opt = 0, 0, 0, 0,
phot_opt = 3, 3, 3, 3,
gas_drydep_opt = 1, 1, 1, 1,
aer_drydep_opt = 1, 1, 1, 1,
aer_op_opt = 1,
opt_pars_out = 1,
bio_emiss_opt = 0, 0, 0, 0,
dust_opt = 0,
dmsemis_opt = 0,
seas_opt = 0,
gas_bc_opt = 1, 1, 1, 1,
gas_ic_opt = 1, 1, 1, 1,
aer_bc_opt = 1, 1, 1, 1,
aer_ic_opt = 1, 1, 1, 1,
gaschem_onoff = 1, 1, 1, 1,
aerchem_onoff = 1, 1, 1, 1,
wetscav_onoff = 0, 0, 0, 0,
cldchem_onoff = 0, 0, 0, 0,
vertmix_onoff = 1, 1, 1, 1,
chem_conv_tr = 0, 0, 0, 0,
biomass_burn_opt = 0, 0, 0, 0,
plumerisefire_frq = 180, 180, 180, 180,
aer_ra_feedback = 0, 0, 0, 0,
ne_area = 158,
scale_fire_emiss = .false., ! true es solo para MOZCART
have_bcs_chem = .true., .true., .true., .true.,
chemdiag = 1,
/
&namelist_quilt
nio_tasks_per_group = 0,
nio_groups = 1,
/
- Before running, verify if somebody is using the noh1, write in the terminal
ssh noh1
thentop
. If nobody is using it, so we can run the WRF with the following code:mpirun -np 16 -machinefile host_jano ./wrf.exe &
- To verify if the WRF is running adequately, write
tail -f rsl.out.0000
.