Skip to content

Interpola emissions to a new mesh based in wrfchemin and wrfinput files

Notifications You must be signed in to change notification settings

JoseAgustin/interpola

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Interpola

Emission Interpolation to a new mesh by using a conservative flux method

The new mesh is provided by the wrfinput file and the original grid with emissions are provided from wrfchem file

input files:

        wrfchemin.nc  ! A 12 hours emission file to be interpolated (0 to 11 hour or 12 to 23 hour)
        wrfinput      ! Domain where emissions will be interpolated can be a ge_em.d0?.nc file but the name should be wrfinput. 

output file:

        wrfchemi_00z_d01 or wrfchemi_12z_d01 ! 00z or 12z based on emissions file. 
                                             ! d01, d02,... and date based on wrfinput
                                             ! for geo_em.d0?.nc the dates are provided from wrfchemin.nc

wrfchemin.nc - file contain emissions starting with "E_"

Area to interpolate emissions

Source emissions

Emissions result

Mass conservative interpolation in overlaping grids

Emissions Inventories are generatred for represent global, regional or local emissions, air quality models domains are displayed in a different grid (dimensions and location) than the emissions. On other hand, emissions are a flux and it is necesary to use a mass conservative interpolation in order to avoid inconsistencies in the emissions. An example of overlaping grids is presented in the followgin figure.

Grids overlaped

Grid with letters represents the new domain (it has coordinates dlat,dlon) and grid with numbers is the emissions (it has coordinates elat,elon). For N values in emission axis there are N+1 coordinates.

For the new domain to interpolate the emissions the following variables are set (where i is in x axis and j in y axis):

New domain Emissions domain Type
ylat1=dlat(i ,j ) elat1= elat(ii,jj) unstagged
ylat2=dlat(i,j+1) elat2= elat(ii,jj+1) stagged lat
xlon1=dlon(i ,j) elon1= elon(ii,jj) unstagged
xlon2=dlon(i+1,j) elon2= elon(ii+1,jj) stagged long

The following figure presents the coordinates locations in each mesh.

Grids overlaped with coordinates

In order to obtain the overlaped areas the following conditionals has to be evaluated:

        if(ylat1 .le. elat2 .and. ylat2 .ge. elat1) then
           alat=(min(ylat2,elat2)-max(ylat1,elat1))/(elat2-elat1)
        end if
        if(xlon1 .le. elon2 .and. xlon2 .ge. elon1)  then 
           alon=(min(xlon2,elon2)-max(xlon1,elon1))/(elon2-elon1)
        end if

The following procedure is followed in order to allocate the emissions in the new grid:

        alat=(min(ylat2,elat2)-max(ylat1,elat1))
        alon=(min(xlon2,elon2)-max(xlon1,elon1))
        area=max(0.,alat*alon)

Computation

Emissions in cell:

  • A are a flux emission fraction from 1, for
  • B a flux fractions from 1 and 2, and for
  • C fluxes from 2, 3 and 4 (not shown here),
  • F fluxes from 1 and 6,
  • G from 1, 2, 6 and 7 and
  • H from 2, 3, 7, 8, 4 and 9 (not shown here), and so on.

About

Interpola emissions to a new mesh based in wrfchemin and wrfinput files

Resources

Stars

Watchers

Forks

Packages

No packages published