Unrealistic spatial pattern?

217 views
Skip to first unread message

siy...@ucar.edu

unread,
Jun 23, 2020, 1:07:03 AM6/23/20
to wrf-chem-anthro_emiss
Hello, 

I hope this message finds you well. So I'm using this EPA_anthro_emis tool to prepare NEI 2014 emissions for a nested WRF domain (CONUS), with the smallest domain (d03) resolution being about 1 km. The program runs, and so does wrf.ext. But I do notice that the produced wrfchemi_d02 have some interesting perhaps unrealistic spatial pattern, which is further exaggerated in wrfchemi_d03 (see attached plot). My d02 and d03 do have sufficient number of grid points. I'd assume this EPA_anthro_emis program would do some sort of interpolation if the input data resolution (NEI 2014, 12 km I think) is coarser than the domain res (d03: ~1 km), so I would expect a smoother spatial distribution. I was wondering if I need to worry about the spatial patterns shown in the attached plot? 

(please forgive my potato quality plot. The box roughly shows the location of d03 within d02)

Thank you very much in advance.

Cheers
- Siyuan 
NEI2014_tool.jpg

Maximilian Herrmann

unread,
Nov 18, 2021, 4:41:12 AM11/18/21
to wrf-chem-anthro_emiss, siy...@ucar.edu
Dear all,
this is likely too late for the author of this question, but perhaps my answer will help someone else.
I ran into the same problem with 1 and 3 km resolution simulations. The issue is only noticable for simulations with a higher resolution than the emission data set, so simulations with resolutions of 5 km and smaller when using the EPA emissions.
It is caused by the interpolation of the emission data set to the model domain, the indices are mixed up. I attached a file with a fix for that, replace anthro_emis.f90 with that one.
The relevant change is at line 1034 to 1037:

            wrk_sum  = raw_data(il,jl)*grid%ax(i,j,upper)*grid%by(i,j,upper) &
                      + raw_data(il,ju)*grid%ax(i,j,upper)*grid%by(i,j,lower) &
                      + raw_data(iu,jl)*grid%ax(i,j,lower)*grid%by(i,j,upper) &
                      + raw_data(iu,ju)*grid%ax(i,j,lower)*grid%by(i,j,lower)

is replaced by

             wrk_sum  = raw_data(iu,ju)*grid%ax(i,j,upper)*grid%by(i,j,upper) &
                      + raw_data(iu,jl)*grid%ax(i,j,upper)*grid%by(i,j,lower) &
                      + raw_data(il,ju)*grid%ax(i,j,lower)*grid%by(i,j,upper) &
                      + raw_data(il,jl)*grid%ax(i,j,lower)*grid%by(i,j,lower)

Cheers,
Max
anthro_emis.f90
Reply all
Reply to author
Forward
0 new messages