NEI2005, emiss_v03.F and convert_emiss

Ideas, problems or suggestions regarding the initialization of WRF Chemistry

NEI2005, emiss_v03.F and convert_emiss

Postby dstokows » Thu Jan 09, 2014 5:55 pm

Alright all...I am a little confused on how this is supposed to work. I have run emiss_v03.F for my largest (outer domain)...which completes with no trouble. When I take that data and try to run convert_emiss.exe, I get the following error:

...
Time period # 70 to process = 2012-08-13_21:00:00
Time period # 71 to process = 2012-08-13_22:00:00
Time period # 72 to process = 2012-08-13_23:00:00
Time period # 73 to process = 2012-08-14_00:00:00
Total analysis times to input = 73
Total number of times to input = 73 73
READ EMISSIONS 1
forrtl: severe (67): input statement requires too much data, unit 91, file /home/dstokows/data/sam_test/wrfem_00to12z_d01
Image PC Routine Line Source
convert_emiss.exe 0000000002C3286E Unknown Unknown Unknown
convert_emiss.exe 0000000002C31306 Unknown Unknown Unknown
convert_emiss.exe 0000000002BDCE02 Unknown Unknown Unknown
convert_emiss.exe 0000000002B7C59B Unknown Unknown Unknown
convert_emiss.exe 0000000002B7BB02 Unknown Unknown Unknown
convert_emiss.exe 0000000002BA0802 Unknown Unknown Unknown
convert_emiss.exe 0000000002B9E3C9 Unknown Unknown Unknown
convert_emiss.exe 000000000041B25A Unknown Unknown Unknown
convert_emiss.exe 000000000040AF0C Unknown Unknown Unknown
libc.so.6 00002AF3853BE76D Unknown Unknown Unknown
convert_emiss.exe 000000000040AE09 Unknown Unknown Unknown

Here are the lines that I changed in the emiss_v03.F file:

Code: Select all
     PARAMETER(IX2=99,JX2=89,KX=19,KP=KX+1)
     INTEGER    :: iproj = 1
     REAL       :: rekm = 6371.
     REAL       :: dx = 36000.
     REAL       :: dxbigdo = 36000.
     REAL       :: xlatc =  36.672
     REAL       :: xlonc = -104.096
     REAL       :: clat1 = 36.672
     REAL       :: clat2 = -999
     INTEGER    :: inest1 = 0
     REAL       :: xnesstr = 1.00
     REAL       :: ynesstr = 1.00
     INTEGER    :: il = 100
     INTEGER    :: jl = 90
     INTEGER    :: starthr = 1
     INTEGER    :: maxhr = 24
     INTEGER    :: endhr


Also...here is my namelist.imput file as well:

Code: Select all
&time_control
run_days                 = 0,
run_hours                = 72,
run_minutes              = 0,
run_seconds              = 0,
start_year               = 2012, 2012, 2012,
start_month              = 08,   08,   08,
start_day                = 11,   11,   11,
start_hour               = 00,   00,   00,
start_minute             = 00,   00,   00,
start_second             = 00,   00,   00,
end_year                 = 2012, 2012, 2012,
end_month                = 08,   08,   08,
end_day                  = 14,   14,   14,
end_hour                 = 00,   00,   00,
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       = 100, 100, 100,
restart                  = .false.,
restart_interval         = 5000,
auxinput5_interval       = 3600,
io_form_history          = 2,
io_form_restart          = 2,
io_form_input            = 2,
io_form_boundary         = 2,
io_form_auxinput5        = 2,
debug_level              = 1000,
HISTORY_OUTNAME = wrfchemout_0_d<domain>_<date>,
/

&domains
time_step                = 216,
time_step_fract_num      = 0,
time_step_fract_den      = 1,
max_dom                  = 3,
s_we                     = 1,1,1,
e_we                     = 100,88,73,
s_sn                     = 1,1,1,
e_sn                     = 90,76,58,
s_vert                   = 1, 1, 1,
e_vert                   = 28,    28,    28,
num_metgrid_levels       = 27,
dx                       = 36000,12000,4000,
dy                       = 36000,12000,4000,
grid_id                  = 1,2,3,
parent_id                = 1,1,2,
i_parent_start           = 1,50,49,
j_parent_start           = 1,49,24,
parent_grid_ratio        = 1,3,3,
parent_time_step_ratio   = 1,3,3,
feedback                 = 1,
smooth_option            = 0,
p_top_requested          = 10000.,
numtiles                 = 2,
/

&physics
mp_physics               = 2,     2,     2,
ra_lw_physics            = 1,     1,     1,
ra_sw_physics            = 2,     2,     2,
radt                     = 30,    20,    10,
sf_sfclay_physics        = 2,     2,     2,
sf_surface_physics       = 2,     2,     2,
bl_pbl_physics           = 2,     2,     2,
bldt                     = 0,     0,     0,
cu_physics               = 5,     5,     0,
cudt                     = 5,     5,     5,
cu_diag                  = 1,
isfflx                   = 1,
ifsnow                   = 0,
icloud                   = 1,
surface_input_source     = 1,
num_soil_layers          = 4,
maxiens                  = 1,
maxens                   = 3,
maxens2                  = 3,
maxens3                  = 16,
ensdim                   = 144,
/

&fdda
/

&dynamics
dyn_opt                  = 2,
rk_ord                   = 3,
w_damping                = 0,
diff_opt                 = 1,
km_opt                   = 4,
damp_opt                 = 0,
base_temp                = 290.,
zdamp                    = 5000.,    5000.,    5000.,
dampcoef                 = 0.01,     0.01,     0.01,
khdif                    = 0,        0,        0,
kvdif                    = 0,        0,        0,
smdiv                    = 0.1,      0.1,      0.1,
emdiv                    = 0.01,     0.01,     0.01,
epssm                    = 0.1,      0.1,      0.1,
non_hydrostatic          = .true.,   .true.,   .true.,
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,
moist_adv_opt            = 2,        2,        2,
scalar_adv_opt           = 2,        2,        2,
chem_adv_opt             = 2,        2,        2,
tke_adv_opt              = 2,        2,        2,
/

&bdy_control
spec_bdy_width           = 5,
spec_zone                = 1,
relax_zone               = 4,
specified                = .true.,   .false.,  .false.,
periodic_x               = .false.,  .false.,  .false.,
symmetric_xs             = .false.,  .false.,  .false.,
symmetric_xe             = .false.,  .false.,  .false.,
open_xs                  = .false.,  .false.,  .false.,
open_xe                  = .false.,  .false.,  .false.,
periodic_y               = .false.,  .false.,  .false.,
symmetric_ys             = .false.,  .false.,  .false.,
symmetric_ye             = .false.,  .false.,  .false.,
open_ys                  = .false.,  .false.,  .false.,
open_ye                  = .false.,  .false.,  .false.,
nested                   = .false.,  .true.,   .true.,
/

&grib2
/

&namelist_quilt
nio_tasks_per_group      = 0,
nio_groups               = 1,
/

&chem
chem_opt                = 2,
chem_in_opt             = 0,
io_style_emissions      = 1,
chemdt                  = 3,
bioemdt                 = 30,
kemit                   = 19,
photdt                  = 10,
phot_opt                = 1,
emiss_opt               = 3,
bio_emiss_opt           = 1,
biomass_burn_opt        = 0,
chem_conv_tr            = 1,  1,  0,
/


I do realize that I need more than 1 run of the emiss_v03.F file...but I cannot get the first to run through convert_emiss.exe. Anyhow...thank you all in advance. :D

--David
dstokows
 
Posts: 13
Joined: Wed Apr 04, 2012 2:20 pm

Re: NEI2005, emiss_v03.F and convert_emiss

Postby slekaw » Sat Feb 22, 2014 11:12 pm

Hi David,

you might want to double check your IX2 and JX2 numbers - make sure they're right, but you definitely need to change your run time in the name list for running convert_emiss.exe. It can only run for 23 hours.

Give those a try and see if that helps.
slekaw
 
Posts: 2
Joined: Sat Feb 22, 2014 11:04 pm

Re: NEI2005, emiss_v03.F and convert_emiss

Postby meteorrosie » Tue Aug 05, 2014 11:33 pm

Hello,

Was there a resolution to this error? I am having the same problem when I try to run convert_emiss.exe (using emiss_v04.F with NEI 2011 emissions). I think it might be the timing?

For real.exe:
interval_seconds = 21600 (every 6 hours from metgrid)
frames_per_auxinput5 = 12 (12 files in wrfem_00to12z)
history_interval = 180 (not sure why?)

For convert_emiss.exe:
interval_seconds = 3600 (every hour from wrfem_00to12z)
frames_per_auxinput5 = 12 (12 1-hourly files from wrfem_00to12z)
history_interval = 180 (not sure why?)

Repeat real.exe and convert_emiss.exe for wrfem_12to24z

Run real.exe for all hours

Run wrf.exe for all hours

Is this correct? Any help would be appreciated...I am very stuck. Thank you!
meteorrosie
 
Posts: 9
Joined: Tue Oct 22, 2013 5:50 pm

Re: NEI2005, emiss_v03.F and convert_emiss

Postby sam032789 » Tue Aug 19, 2014 12:57 pm

Hi,

In your emiss_v04.F file, did you define the ZFA, REFWZ, and WSPD arrays? I think this was the solution to our problem. If you have not, please let me know and I can guide you on how to go about defining these arrays. They are not trivial!

For real.exe,
Code: Select all
history_interval = 180
defines the interval that WRF outputs your weather data. Since it is set to 180 minutes, then it will output data every 3 hours. I would suggest a better temporal resolution (60 minutes, maybe) if your resolution is smaller than 12 km.

Do you have a separate namelist for your convert_emiss.exe? How are you running this executable? I am not familiar with running conver_emiss.exe twice (once for 00to12 and once for 12to24). I ran mine as ./convert_emiss.exe and it took in both files at the same time.

Hope this helps!
sam032789
 
Posts: 2
Joined: Wed Feb 12, 2014 5:37 pm

Re: NEI2005, emiss_v03.F and convert_emiss

Postby meteorrosie » Tue Aug 19, 2014 1:29 pm

Hello sam032789,

Thank you for replying. How should I go about defining the ZFA, REFWZ, and WSPD arrays?

I do have
Code: Select all
history_interval = 180
set for real.exe as well as convert_emiss.exe. This is what I think I need to do in order to generate a WRF-Chem run:

1. run real.exe with chem_opt=0
2. run convert_emiss.exe with chem_opt=2, hours = 12
3. run real.exe with chem_opt=41 (or whichever chemistry option), hours =12
4. run convert_emiss.exe with chem_opt=2, hours = 12 (second 12 hours)
5. run real.exe with chem_opt=41, hours = 4 days (or however long the simulation)
6. run wrf.exe (using the same namelist as real.exe).

How do you get convert_emiss.exe to produce 1 day of emission files rather than 12 hours of emission files? Thank you!
meteorrosie
 
Posts: 9
Joined: Tue Oct 22, 2013 5:50 pm

Re: NEI2005, emiss_v03.F and convert_emiss

Postby sam032789 » Tue Aug 19, 2014 2:11 pm

meteorrosie,

Hopefully the ZFA, REFWZ, WSPD arrays are defined somewhere in the emiss_v04.F code. I hope the differences in emiss_v03 vs emiss_v04 are minimal. The way I defined the following arrays was to run WRF without the chem first to get the required data for these arrays.

  • ZFA array:
    This array describes the average height at each vertical level you've defined in WRF, starting with the lowest level. If you have 27 vertical levels defined, this array should be 27x1 in dimension. To calculate these from your (non-chem) WRF output, see this webpage: http://www.openwfm.org/wiki/How_to_inte ... _variables
  • REFWZ array:
    This array is very similar to the ZFA array, but it wants the height at the top and bottom of your vertical levels. The wind for WRF is on a staggered grid; this is essentially what it wants. It wants the heights of the staggered wind grid in the vertical direction. If you have 27 vertical levels defined, your array should be 28x1 in dimension. Ideally, if you've calculated correctly, the first level should have a height of 0.
  • WSPD array:
    This array describes the average wind speed at each vertical level for every hour in the day. This array is larger than the others. For example, if you have 27 vertical levels defined, the array should be 24x27 = 648x1 in dimension. Start with the bottom-most level at 0z (the vertical grid is de-staggered at this point), and define the bottom-most level from hours 0-23z. Then start with the level on top of this one, etc.

Hopefully I've described it well enough. I basically ran my WRF run with the chem turned off and then took its output and extracted the above information out of it through some Matlab coding.

I generated the WRF-Chem run a little differently. I did the following:
    1. Ran real.exe with chem_opt=1 for the full run (my run was also 4 days!)
    2. Ran convert_emiss.exe. It generated both wrfchemi files for the 00to12 and 12to24
    3. Ran wrf.exe.

Of course, running WRF without chem and determining the above arrays is a task that needs to be completed before doing steps 1-3 that I listed. If you don't already have the user's guide, I suggest taking a look at: http://ruc.noaa.gov/wrf/WG11/Users_guide.pdf

Hope this helps.
sam032789
 
Posts: 2
Joined: Wed Feb 12, 2014 5:37 pm


Return to Initialization

Who is online

Users browsing this forum: No registered users and 1 guest