Skip to main content

Spatial datasets operations: a hexagon-based discrete grid systems for global simulation

After finished my three-dimensional coupled water and carbon cycle model, I have been thinking whether I can apply this approach at large spatial domain or even global scale.
During this process, I realized that most (or all) global scale land surface modeling work are based on the square grid system, which is widely used in Earth science. This grid is also common recognized as pixel, grid cell.

Can we still use grid in global scale land surface model simulation?
Yes and no. If you do not consider lateral flow, then interactions between grid cells are omitted. In this scenario, grid cell might be the easiest approach to do so.
However, if horizontal interactions are considered. Then the grid-based structure will fail. This is because latitude/longitude based structure will create singularity in polar regions like this.

And due to the distortion, it is impossible to calculate interactions within this area across polar regions.

Most maps of various variables at global scale express the polar regions as lines instead of points due to current limitation in map projections.

So what is the solution?
As I mentioned in my previous post, a hexagon-based discrete grid system can be used to address this issue. To get it start easily, image Earth as a football, specifically, a soccer, then no place on this surface will be distorted and they all will have nearly the same area.
Using technics in geometry, we can further divide the "faces" into smaller "faces". Without getting into some details we can produce a discrete grid system like this:

Create a structure like this requires some program like this
There is also an online service similar:

After this grid system is built, another problem is how we can index all the grids. Traditional cartesian coordinate system will not work well in this scenario.

In DGGRID, a Central Place Index (CPI) system is introduced to address this issue, but not implemented at all resolutions, which however provides an effective approach.

Besides, we also need to consider the relationship between grids, specifically, we need to know the neighbors of each grid in global simulation. So far I haven't got a decent solution for the indexing problem but will update when available.

I want to thank Dr. Kevin for his help in DGGRID program and Perry Peterson on Q&A related to Pyxis.


Popular posts from this blog

Spatial datasets operations: mask raster using region of interest

Climate change related studies usually involve spatial datasets extraction from a larger domain.
In this article, I will briefly discuss some potential issues and solutions.

In the most common scenario, we need to extract a raster file using a polygon based shapefile. And I will focus as an example.

In a typical desktop application such as ArcMap or ENVI, this is usually done with a tool called clip or extract using mask or ROI.

Before any analysis can be done, it is the best practice to project all datasets into the same projection.

If you are lucky enough, you may find that the polygon you will use actually matches up with the raster grid perfectly. But it rarely happens unless you created the shapefile using "fishnet" or other approaches.

What if luck is not with you? The algorithm within these tool usually will make the best estimate of the value based on the location. The nearest re-sample, but not limited to, will be used to calculate the value. But what about the outp…

Numerical simulation: ode/pde solver and spin-up

For Earth Science model development, I inevitably have to deal with ODE and PDE equations. I also have come across some discussion related to this topic, i.e.,

In an attempt to answer this question, as well as redefine the problem I am dealing with, I decided to organize some materials to illustrate our current state on this topic.

Models are essentially equations. In Earth Science, these equations are usually ODE or PDE. So I want to discuss this from a mathematical perspective.

Ideally, we want to solve these ODE/PDE with initial condition (IC) and boundary condition (BC) using various numerical methods.

Because of the nature of geology, everything is similar to its neighbors. So we can construct a system of equations which may have multiple equation for each single grid cell. Now we have an array of equation…

Lessons I have learnt during E3SM development

I have been involved with the E3SM development since I joined PNNL as a postdoc. Over the course of time, I have learnt a lot from the E3SM model. I also found many issues within the model, which reflects lots of similar struggles in the lifespan of software engineering.

Here I list a few major ones that we all dislike but they are around in almost every project we have worked on.

Excessive usage of existing framework even it is not meant to Working in a large project means that you should NOT re-invent the wheels if they are already there. But more often, developers tend to use existing data types and functions even when they were not designed to do so. The reason is simple: it is easier to use existing ones than to create new ones. For example, in E3SM, there was not a data type to transfer data between river and land. Instead, developers use the data type designed for atmosphere and land to do the job. While it is ok to do so, it added unnecessary confusion for future development a…