GEE数据集——全球( 30 弧秒)尺度地下水模型GLOBGM v1.0数据集

2024-03-17 15:36

本文主要是介绍GEE数据集——全球( 30 弧秒)尺度地下水模型GLOBGM v1.0数据集,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

全球尺度地下水模型GLOBGM v1.0

GLOBGM v1.0 数据集是全球地下水建模的一个重要里程碑,提供了 30 弧秒 PCR-GLOBWB-MODFLOW 模型的并行实施。该数据集由 Jarno Verkaik 等人开发,以赤道约 1 公里的空间分辨率全面展示了全球地下水动态。该数据集利用两个模型层和 MODFLOW 6 框架,利用现有的 30′′ PCR-GLOBWB 数据进行模拟,使研究人员能够探索全球范围的地下水流动态。计算实现采用消息传递接口并行化,便于在分布式内存并行集群上进行高效处理。

GLOBGM v1.0 数据集覆盖全球(不包括格陵兰岛和南极洲),有助于深入了解地下水行为的各个方面。尽管该数据集未经校准,但它利用美国地质调查局(USGS)国家水信息系统(NWIS)对美国毗连地区(CONUS)的水头观测数据进行了有限的评估。您可以点击此处阅读论文,以便更好地了解该方法。

讨论了在大型分布式内存并行集群上并行化 30′′ 分辨率(30 弧秒;赤道上 ∼ 1 公里)瞬态全球尺度地下水模型的各方面性能。该模型被称为 GLOBGM,是 PCR-GLOBWB 2(PCRaster Global Water Balance Model,PCRaster 全球水平衡模型)5′(5 弧分;赤道 ∼ 10 公里)地下水模型的后继模型,基于具有两个模型层的 MODFLOW。本研究使用的当前版本 GLOBGM(v1.0)也有两个模型层,未经校准,使用的是现有的 30′′ PCR-GLOBWB 数据。将模型分辨率从 5′ 提高到 30′ 会带来一些挑战,包括运行时间、内存使用量和数据存储量的增加,这些都超出了单台计算机的承受能力。我们的研究表明,我们的并行化方法能以相对较低的并行硬件要求解决这些问题,从而满足那些无法独享超级计算机中成百上千个节点的用户或建模人员的需求。

在模拟中,我们使用了非结构化网格和 MODFLOW 6 的原型版本,并利用消息传递接口对其进行了并行化处理。我们构建了总计 2.78 亿个活动单元的独立非结构化网格,以消除所有多余的海洋和陆地单元,同时满足所有必要的边界条件,并将其分布在三个大陆尺度的地下水模型上(1.68 亿个--非洲-欧亚大陆;0.77 亿个--美洲;0.16 亿个--澳大利亚),剩下的一个模型用于较小的岛屿(0.17 亿个)。四个地下水模型中的每个模型都被划分为多个不重叠的子模型,这些子模型在 MODFLOW 线性求解器中紧密耦合,每个子模型被唯一分配给一个处理器内核,相关子模型数据在预处理过程中使用数据块并行写入。为了提前平衡并行工作量,我们以两种方式应用了广泛使用的 METIS 图分割器:直接应用于所有(横向)模型网格单元,并以基于区域的方式应用于 HydroBASINS 集水区,这些集水区被分配给子模型,以便对未来与地表水的耦合进行预排序。我们考虑在荷兰国家超级计算机 Snellius 上进行一次试验,以每日时间步长和每月输入的方式模拟 1958-2015 年,包括 20 年的自旋。鉴于串行模拟需要 4.5 个月的运行时间,我们设定了最多 16 小时模拟运行时间的假设目标。我们的结果表明,12 个节点(每个节点 32 个内核;共 384 个内核)足以实现这一目标,在并行使用 7 个节点(224 个内核)时,最大的非洲-欧亚大陆模型的速度提高了 138 倍。

利用美国地质调查局 (USGS) 国家水信息系统 (NWIS) 对美国毗连地区的水头观测数据,对模型输出结果进行了有限的评估。结果表明,与 5 ′ PCR-GLOBWB 地下水模型相比,将分辨率从 5 ′提高到 30 ′,GLOBGM 在稳态模拟中的效果明显改善。然而,瞬态模拟的结果非常相似,还有很大的改进余地。不过,GLOBGM 和 PCR-GLOBWB 模型得出的月度和多年陆地总蓄水量异常值与 GRACE 卫星的观测结果相比还是比较理想的。要进一步改进下一版全球陆地水文地理信息模型,需要更详细的(水文)地质示意图和有关取水井位置、深度和抽水量的更多信息。

数据结构

本表提供了 GLOBGM 数据集模型栅格输出的结构概述,包括文件路径和每个文件的说明。

File PathDescription
/steady-state/globgm-heads-lower-layer-ss.tifComputed steady-state groundwater head [m] for the lower model layer
/steady-state/globgm-heads-lower-layer-ss.tifComputed steady-state groundwater head [m] for the upper model layer
/steady-state/globgm-wtd-ss.tifComputed water table depth [m] (sampled from upper to lower layer)
/transient_1958-2015/globgm-wtd-.tifComputed water table depth [m] (sampled from upper to lower layer)
/transient_1958-2015/globgm-wtd-bot-*.tifComputed water table depth [m] (lower layer only)

文章引用

Verkaik, Jarno, Edwin H. Sutanudjaja, Gualbert HP Oude Essink, Hai Xiang Lin, and Marc FP Bierkens. "GLOBGM v1. 0: a parallel implementation of a 30
arcsec PCR-GLOBWB-MODFLOW global-scale groundwater model." Geoscientific Model Development 17, no. 1 (2024): 275-300.

数据引用

Verkaik, J., Hughes J.D., Langevin, C.D., (2021). Parallel MODFLOW 6.2.1 prototype release 0.1 (6.2.1_0.1). Zenodo.

数据代码

var wtd = ee.ImageCollection("projects/sat-io/open-datasets/GLOBGM/TRANSIENT/WTD");
var wtd_bt = ee.ImageCollection("projects/sat-io/open-datasets/GLOBGM/TRANSIENT/WTD-BOTTOM");
var globgm_wtd_ss = ee.Image("projects/sat-io/open-datasets/GLOBGM/STEADY-STATE/globgm-wtd-ss");
var globgm_heads_lower_layer_ss = ee.Image("projects/sat-io/open-datasets/GLOBGM/STEADY-STATE/globgm-heads-lower-layer-ss");
var globgm_heads_upper_layer_ss = ee.Image("projects/sat-io/open-datasets/GLOBGM/STEADY-STATE/globgm-heads-upper-layer-ss");

Sample code: https://code.earthengine.google.com/?scriptPath=users/sat-io/awesome-gee-catalog-examples:hydrology/GLOBGM-GROUNDWATER-MODEL

License¶

GLOBGM v1.0 is open source and distributed under the terms of GNU General Public License v3.0, or any later version, as published by the Free Software Foundation.

Created by: Verkaik et al. 2024

Curated in GEE by : Samapriya Roy

Keywords: GLOBGM,groundwater,global-scale modeling,PCR-GLOBWB,MODFLOW,high performance computing

Last updated in GEE: 2024-02-04

 网址推荐

0代码在线构建地图应用 

https://sso.mapmost.com/#/login?source_inviter=nClSZANO

机器学习
https://www.cbedai.net/xg

这篇关于GEE数据集——全球( 30 弧秒)尺度地下水模型GLOBGM v1.0数据集的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/819370

相关文章

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

C#使用iText获取PDF的trailer数据的代码示例

《C#使用iText获取PDF的trailer数据的代码示例》开发程序debug的时候,看到了PDF有个trailer数据,挺有意思,于是考虑用代码把它读出来,那么就用到我们常用的iText框架了,所... 目录引言iText 核心概念C# 代码示例步骤 1: 确保已安装 iText步骤 2: C# 代码程

Pandas处理缺失数据的方式汇总

《Pandas处理缺失数据的方式汇总》许多教程中的数据与现实世界中的数据有很大不同,现实世界中的数据很少是干净且同质的,本文我们将讨论处理缺失数据的一些常规注意事项,了解Pandas如何表示缺失数据,... 目录缺失数据约定的权衡Pandas 中的缺失数据None 作为哨兵值NaN:缺失的数值数据Panda

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

Linux五种IO模型的使用解读

《Linux五种IO模型的使用解读》文章系统解析了Linux的五种IO模型(阻塞、非阻塞、IO复用、信号驱动、异步),重点区分同步与异步IO的本质差异,强调同步由用户发起,异步由内核触发,通过对比各模... 目录1.IO模型简介2.五种IO模型2.1 IO模型分析方法2.2 阻塞IO2.3 非阻塞IO2.4

python库pydantic数据验证和设置管理库的用途

《python库pydantic数据验证和设置管理库的用途》pydantic是一个用于数据验证和设置管理的Python库,它主要利用Python类型注解来定义数据模型的结构和验证规则,本文给大家介绍p... 目录主要特点和用途:Field数值验证参数总结pydantic 是一个让你能够 confidentl

JAVA实现亿级千万级数据顺序导出的示例代码

《JAVA实现亿级千万级数据顺序导出的示例代码》本文主要介绍了JAVA实现亿级千万级数据顺序导出的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 前提:主要考虑控制内存占用空间,避免出现同时导出,导致主程序OOM问题。实现思路:A.启用线程池

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

PHP轻松处理千万行数据的方法详解

《PHP轻松处理千万行数据的方法详解》说到处理大数据集,PHP通常不是第一个想到的语言,但如果你曾经需要处理数百万行数据而不让服务器崩溃或内存耗尽,你就会知道PHP用对了工具有多强大,下面小编就... 目录问题的本质php 中的数据流处理:为什么必不可少生成器:内存高效的迭代方式流量控制:避免系统过载一次性

C#实现千万数据秒级导入的代码

《C#实现千万数据秒级导入的代码》在实际开发中excel导入很常见,现代社会中很容易遇到大数据处理业务,所以本文我就给大家分享一下千万数据秒级导入怎么实现,文中有详细的代码示例供大家参考,需要的朋友可... 目录前言一、数据存储二、处理逻辑优化前代码处理逻辑优化后的代码总结前言在实际开发中excel导入很