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

WRF-Chem injection heights emissions

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.

catalinaporaicu

New member
Hello,
I am trying to use WRF-Chem with wrfchemi emission input files that have emissions in the vertical dimension as well, so not only at ground level. I tried doing some simulations of this through "shifting" my emissions up from the 0th level to the 1st,2nd,3rd, etc. so that the emissions were no longer at the surface, and were higher up, while all the other levels had emissions equal to zero. I have been using the anthro_emis preprocessor to create the wrfchemi files, and then doing my own postprocessing to "shift" the emissions up. I am doing this in order to see if 1. the model can read vertical emissions and 2. to figure out the distributions of the vertical levels in wrfchemi files, as there is no height/thickness of levels variable in these files once they are output from the anthro_emis preprocessor, which is strange since you can specify vertical levels.
I noticed that when my emissions were at the 0th level, this worked fine, and I had similar results to what I had done in the past. However, when the emissions were shifted to level 1,2,3,...n, all of the output for the chemical concentrations was the same, even in the vertical dimension, which I did not expect.
Is there a namelist specification I need to use in order to define the amount of vertical levels in the wrfchemi files, and to tell the model to read them? At the moment, what I guess is happening is that the model expects all the emissions to be at level zero and does not read anything above that, which would explain why all the other runs are identical in output.

I've not found any information in the readme file of the anthro_emis preprocessor, or the WRF/WRF-Chem user guide, so any tips would be greatly appreciated! :)

Catalina
 
Hi Catalina,

The namelist option you are looking for is "kemit" in the &chem namelist. Try setting that and see what happens. As for your question (2) about the vertical levels -I'm not familiar w/ anthro emis, do you supply program with the wrfinput file?

Jordan
 
Thank you so much Jordan, I will try to use the kemit and see what happens!

The anthro emis preprocessor reads gridded netcdf emission files (I am using EDGAR/HTAP), and the wrfbdy and wrfinput_d0* files in order to interpolate the original emission files onto the model domain.
 
Hi Catalina,

No problem - good luck! And my question was regarding your quote: "as there is no height/thickness of levels variable in these files once they are output from the anthro_emis preprocessor, which is strange since you can specify vertical levels."

i.e., the levels in the wrfchemi files should match the levels in your wrfinput file. I would imagine anthro_emis has some sort of specified weighting functions for allocating the emission layers -

Jordan
 
I thought that too, which would mean that there would be an error if I set the vertical levels in anthro emis to something higher than the number of vertical levels in my wrf files, right? But I tested this by setting the number of vertical levels in anthro emis to 100 (when I am only using 50 vertical levels in the wrf model), but there was no error.
So I'm not sure if it splits the 50 wrf levels into 100 emission levels (so each wrf level has 2 corresponding emission levels)...
 
Hi Catalina,

I think I understand the problem now - EDGAR/HTAP emissions are only a single (surface) layer, correct? Without additional information, anthro_emis will not know how to allocate the emissions vertically.
 
Hi Catalina,

I think I understand the problem now - EDGAR/HTAP emissions are only a single (surface) layer, correct? Without additional information, anthro_emis will not know how to allocate the emissions vertically.
 
Hello Jordan,
Well, yes and no :D
That is an issue because if I only had EDGAR-HTAP emissions, I would have no way to implement injection heights because the preprocessor does in fact only interpolate them at the surface.
I do however have another emission inventory with injection height information for some sectors, so I will do some processing individually in python to combine the wrfchemi files created (using EDGAR-HTAP) by anthro emis and the emissions from my other inventory. I just need to know the height and thickness of the wrfchemi files so I know in which level to add the injection heights from my other inventory.
Sorry if I'm explaining this in a very roundabout way, I really appreciate your help!
 
Ok I understand - a couple ways you can do this

(PH + PHB)/9.81 = geopotential height

or use a simple ncl function: https://www.ncl.ucar.edu/Document/Functions/WRF_arw/wrf_user_getvar.shtml (variable, "z")

e.g.,

begin

; function wrf_user_getvar (
; file_handle : file or list,
; variable : string,
; time : integer
; )

fid = addfile("wrfinput_d01","r")

z = wrf_user_getvar(fid,"z",0)
print(z:),0,0))

end
 
Hi Jordan,
Thanks, that's what I've been using to calculate the thickness of each level in the wrfout files. But from my tests, it seems that the wrfchemi input files do not have the same vertical level thickness as the equivalent level in the wrfout files. I can try to do more tests (although the ones I did were inconclusive), but I would like to find some definite confirmation about how the different levels in the wrfchemi files are distributed with respect to altitude. I haven't found this in any documentation.
 
Top