How to plot Domain?


Let’s say I have modeling domain information as following:

!— Map projection parameters —

UTM_Zone = 0,
Longitude_Pole = -97., ! deg (west<0,south<0)
Latitude_Pole = 40., ! deg (west<0,south<0)
True_Latitude1 = 33., ! deg (west<0,south<0)
True_Latitude2 = 45., ! deg (west<0,south<0)

!— Parameters for the master (first) grid —

Number_of_Grids = $ngrid,
Master_SW_XCoord = -2952., ! km or deg, SW corner of cell(1,1)
Master_SW_YCoord = -2772., ! km or deg, SW corner of cell (1,1)
Master_Cell_XSize = 36., ! km or deg
Master_Cell_YSize = 36., ! km or deg
Master_Grid_Columns = 172,
Master_Grid_Rows = 148,
Number_of_Layers = 35,

!— Parameters for the 12km grid —

Nest_Meshing_Factor(2) = 3, ! Cell size relative to master grid
Nest_Beg_I_Index(2) = 16, ! Relative to master grid
Nest_End_I_Index(2) = 147, ! Relative to master grid
Nest_Beg_J_Index(2) = 33, ! Relative to master grid
Nest_End_J_Index(2) = 114, ! Relative to master grid

How can I plot these domains/grids? What tool to use?. Basically, I want to see my plot as similar to following plot plt.PNG

Those plots may have been created using R with its maps package – though you would also need an additional package containing data describing boundaries of the Mexican states and Canadian provinces, if you want those included.

If you really want to know how that figure was generated, I would try to contact whoever created the figure! If it is from a paper, you can contact the corresponding author. If it is from an EPA website, there ought to be a way to send a similar inquiry.

Coincidentally, I have a paper in press at the Journal of the Air & Waste Management Association, and Figure 1 of that paper is similar. The code used to make all the figures is included with the dataset for that paper, which should be available soon after the paper is published. If that figure is of interest but you can’t wait for the dataset to be published, contact me by email.


The link below will take you to a Jupyter Notebook that makes a final product below. It does not annotate the lines as shown in your example, but you can add that easily using plt.annotate. The notebook can be run in the cloud or on your own machine. This is easy to update to accommodate other grids, and projections (e.g., polar stereographic).


p.s., I’m not sure the preview from this site will look right. Just follow the link.