Coder Social home page Coder Social logo

changliao1025 / hexwatershed Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 0.0 38.67 MB

The C++ backend of the HexWatershed a mesh independent flow direction model for hydrologic models

License: Other

C++ 99.40% CMake 0.53% Shell 0.03% PureBasic 0.03%
dggs gis hydrology mesh watershed

hexwatershed's Introduction

What's new

  • HexWatershed produces the world's first flow direction map for the whole Arctic using the MPAS mesh.

  • 2024-06-15, I gave a talk in the ‘Advanced Computational Methods for Climate Modeling and Analysis’ session of the ESCO 2024 - 9th European Seminar on Computing ESCO2024. This talk focused on km-scale river routing modeling in ESM.

  • 2024-05-15 I gave a workshop ‘Mesh-independent flow direction modeling using HexWatershed 3.0’ in the CSDMS annual meeting at Montclair State University CSDMS 2024.

Introduction

I am an Earth Scientist at Pacific Northwest National Laboratory (PNNL).

My research mainly focuses on high-resolution Earth system modeling at both regional and global scales.

I wrote casual articles at https://changliao.github.io/

I developed models and tools to understand Earth's system.

  • 🔭 I’m currently working on HexWatershed (www.hexwatershed.org and www.twitter.com/hexwatershed) model
  • 🌱 I’m currently learning Hilbert Space, Graph Theory, and GPU
  • 👯 I’m looking to collaborate on hydrology-related projects
  • 🤔 I’m looking for help with math and physics
  • 💬 Ask me about high-performance computing, hydrology, and RS/GIS.
  • 📫 How to reach me: Bluesky (https://bsky.app/profile/changliao.bsky.social) or changliao.climate at gmail.com.
  • 😄 Pronouns: ...
  • ⚡ Fun fact: I can roll a kayak.

hexwatershed's People

Contributors

changliao avatar changliao1025 avatar r-barnes avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

hexwatershed's Issues

Order in json file

The watershed cell is not ordered the same in different process. So in the post-processing, it is critical to re-order them if index is used.

Vertex ID

Vertex ID is needed for VTK, but this information should not be built by hexwatershed, instead, it should be defined by the mesh generation process, see MPAS mesh specs.

Hierarchical data output

Since the model is using the hierarchical data model to calculate the attributes of each cell, it is desirable to update the output structure.
For example, the model can output individual segments/subbasins/watersheds.

Don't use `build` dir

The standard cmake sequence is:

mkdir build
cd build
cmake ..
make

That is, the directory build is often used as the place to put an out-of-source build. It would be better if you weren't using it to store files.

Domain or watershed data operation

Some algorithms are better handled at watershed scale. However, the model is expected to run with multiple watersheds. As a result, some redesign may be needed.

Preserve the stream info from pyflowline

The json file from PyFlowline contains a flag on whether a cell is a stream grid or not. However, the flow accumulation is also used to define the stream grid. To preserve the original information, it is better to keep the flag even though its accumulation may be smaller than the threshold.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.