陆面、生态、水文模拟与多源遥感数据同化

原文链接:陆面、生态、水文模拟与多源遥感数据同化icon-default.png?t=N7T8https://mp.weixin.qq.com/s?__biz=MzUzNTczMDMxMg==&mid=2247601198&idx=6&sn=51b9b26b75c9df1f11dcb9a187878261&chksm=fa820dc9cdf584df9ac3b997c767d63fef263d79d30238a6523db94f68aec621e1f91df85f69&token=1430696232&lang=zh_CN#rd

陆面过程的主要研究内容(陆表能量平衡、水循环、碳循环等),陆面过程研究的重要性。

图片

图 1 陆面过程主要研究内容

陆面过程模型的发展历程、基本原理、常用陆面过程模型等。

图片

图 2 陆面过程模型

1.1 Noah-MP模型

Noah-MP模型的发展历史、模型结构及主要模块。

1.2 模型运行环境配置、下载与安装

模型需要在Linux下运行,需提前预装Linux系统(推荐使用CentOS系统,下载地址为:https://www.centos.org/download/,安装教程可参考:

https://www.runoob.com/w3cnote/vmware-install-centos7.html。

运行模型需要提前确定模型运行环境,如系统使用的fortran及C编译器类型等,为之后运行解压缩包下的./configure及Makefile做准备。

模型下载地址:https://github.com/NCAR/hrldas/tree/master/hrldas。

图片

图 3 下载界面

模型以及配套软件的安装

从虚拟机出发,逐步讲解Noah-MP模型运行所需的linux环境的搭建、intel编译器的安装与配置、必要软件的下载与安装、模型构建与编译等内容,细化步骤、逐指令。

跟,完成相关软件和linux系统的配置,逐行运行指令,直至hrldas模型搭建编译完成。熟悉linux系统环境,掌握终端(指令行)下进行文件操作的技能,为后续运行模型打下基础。

1.1 Noah-MP模型单站运行

1.1.1 数据准备

Ø 大气驱动数据的准备

驱动数据主要包括站点的风速、气温、相对湿度、气压、长波辐射、短波辐射以及降水数据。对于Noah-MP模型而言,原始驱动数据需制作成模型可识别的标准格式,才能够进行下一步的驱动数据编译,将编译结果带入模型进行运算(python脚本)。

图片

图 4 大气驱动数据的准备与格式转换

Ø 数据时间格式转换

完成驱动数据在世界时和当地时之间的转换。

根据示例数据中的站点原始数据,基于python脚本,进行数据的提取合并以及时间转换,生成站点模拟所需的.dat格式文件。

Ø 准备静态数据

完成驱动数据的制作后,还需在生成的.dat文件中添加静态数据。此部分数据主要包括站点属性以及模型信息,如站点的海拔,经纬度,土壤类型,初始状态变量的设定和转换系数等。

图片

图 5 站点信息

图片

图 6 初始状态变量

Ø 驱动数据的编译运行

基于以上数据,生成指定时间步长的一系列.LDASIN_DOMAIN1文件,同时生成hrldas_setup_file.nc文件。

1.1.1 运行模型

根据研究区实际情况与模拟需求修改namelist.hrldas文件,./hrldas.exe即可启动模型,结果将以netCDF格式输出至指定文件夹内。

图片

图 7 修改namelist文件

1.1.1 模型运行结果的可视化与分析

借助python netCDF(https://github.com/Unidata/netcdf4-python)或xarray(http://xarray.pydata.org/en/stable)等工具对模拟结果(netCDF格式)进行变量提取与可视化,以用于进一步分析。

图片

图 8 模拟结果的提取与可视化

基于示例代码中数据可视化部分的python脚本,对叶面积指数、感热通量以及潜热通量等模拟结果进行提取可视化,在熟悉代码结构的基础上,也可对其他变量进行筛选和提取。

Ø 单站模拟1

基于完整的单站模拟流程,选择课程示例站点之外的一个站点,完成数据下载、变量提取、格式转换、数据编译、模型参数设定、模型运行、结果提取与导出、结果可视化等操作。巩固学习成果,对疏漏点和易错点进行交流,老师全程答疑解惑。

Ø 单站模拟2

选择不同的模型参数化方案,分别运行模型并对结果进行提取与可视化,对比与其他参数化方案所得结果的差异。

Noah-MP模型区域运行与数据同化的原理

1.1 Noah-MP模型区域运行

根据驱动数据的不同,模型区域运行共包含三个模块,分别是基于GLDAS驱动数据的模拟、基于NLDAS驱动数据的模拟和基于CLDAS驱动数据的模拟。三个模块的应用范围和数据处理细节有所不同,但整体流程相近,以GLDAS为例简要介绍模拟流程:

2.1.1 准备大气驱动数据

Noah-MP模型的运行需要格式正确的驱动数据(气温、降水、气压、风速、辐射等)。因此用户需提前下载并处理好相关数据,以下为数据准备的简要步骤。

Ø 下载大气驱动数据-以GLDAS为例

区域驱动数据主要包括研究区的风速、气温、相对湿度、气压、长波辐射、短波辐射以及降水等。可从GLDAS官网下载相关数据:

https://disc.gsfc.nasa.gov/datasets/GLDAS_NOAH025_3H_2.1/summary?keywords=GLDAS。

图片

图 9 下载区域大气驱动数据

两种区域数据的获取方法,一种是基于downthemall的批量下载方法,操作简便;另一种是基于python脚本的数据抓取方式,自由化更高;学员可尝试不同的数据下载方法,获取区域驱动数据的源数据。

Ø 相关变量的提取与时间转换

对模型模拟所需变量进行提取,同时完成世界时和当地时之间的转换。

图片

Ø 初始状态变量的提取

图片

图 11 初始状态变量提取代码(部分)

Ø 风速的分解、降水数据的整合

图片

图 12 风速分解代码(部分)

图片

图 13 降水数据的提取整合(部分)

基于下载的netCDF4格式的源数据,分别编辑并运行以上python及perl脚本,生成变量分解后的一系列netCDF4格式文件,用于编译生成驱动数据。

2.1.2准备研究区静态数据

Ø 制作geo_em_d0x.nc数据

基于WPS制作区域静态数据(包括研究区范围、研究区土地利用情况、植被覆盖度等信息)。此部分需安装WRF及WPS,并下载WPS_GEOG数据。详细流程可参考:

https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compilation_tutorial.php。

图片

Ø 准备数字高程数据

hrldas (Noah-MP)自带的高程文件-GLDASGLDASp4_elevation_025d.nc4。一般情况下,将此文件作为模型的高程输入数据即可。

2.1.3编译与运行-生成模型驱动数据

区域原始的气象驱动数据和静态数据准备完毕后,需编译运行生成符合模型要求的驱动数据-*.LDASIN_DOMAIN1。

图片

图 14 设置namelist.input文件

图片

图 15 驱动数据制作结果

修改好相关目录的目录结构,在指定目录下,准备好必须的程序与文件,编译运行生成.LDASIN_DOMAIN1格式的驱动数据。

2.1.4单站点运行hrldas (Noah-MP)模型

根据研究区特点及用户模拟需求,修改namelist.hrldas文件,Namelist.hrldas文件编辑完成后,即可运行可执行程序/hrldas.exe。模型模拟结果将输出至指定文件夹下,若运行成功,在输出目录下应包含指定模拟时间段内的指定时间步长的模拟结果-*.LDASOUT_DOMAIN1。

图片

图 16 输出结果文件

2.1.5数据的分析与可视化

区域模拟结果亦为netCDF格式文件,可通过ncview软件初步查看模拟结果,后续还需借助xarray,pandas等工具进一步进行变量提取、可视化等工作。

图片

图 17 模拟结果

基于提供的python脚本,提取模拟结果中的相关变量并可视化,熟悉xarray的使用方法。

Ø 区域模拟作业1

基于完整的区域模拟流程,选择课程示例区域之外的一个区域,完成数据下载、变量提取、格式转换、数据编译、模型参数设定、模型运行、结果提取与导出、结果可视化等操作。巩固学习成果,对疏漏点和易错点进行交流,老师全程答疑解惑。

Ø 区域模拟作业2

选择不同的模型参数化方案,分别运行模型并对结果进行提取与可视化,对比与其他参数化方案所得结果的差异。

2.1 数据同化系统的构建

2.2.1数据同化的原理与发展历史

图片

图 18 数据同化原理示意图
2.2.2数据同化方法

图片

图 19 数据同化方法的类型
2.2.3集合卡尔曼滤波数据同化算法原理介绍

图片

同化系统的构建与应用

3.1 多源遥感数据同化系统的构建实例(以单站运行为例)
3.1.1多源遥感数据同化框架的构建

图片


3.1.2多源观测数据预处理

下载Fluxnet(https://ameriflux.lbl.gov/)的站点观测数据,将其作为观测量,经数据格式转换(.xls -> .dat)后(python脚本),输入模型。3.1.3数据同化结果可视化与数据分析

基于同化模型输出的结果文件,借助相关python函数包(xarray等),对目标变量进行提取与可视化,对比其与open-loop(未同化)模型输出的差异。

图片

图 22 结果提取与可视化

3.1 多源遥感数据同化系统的区域应用

3.2.1 Noah-MP区域同化的设计思路

从模型源码出发,讲解模型区域模拟的原理,进一步加深对区域模拟的底层实现方法的理解。并在此基础上,构建区域数据同化的框架,讲解参数和状态变量的优化过程。

3.2.2 区域叶面积指数数据的下载、处理、尺度转换

由于下载的各卫星产品时间、空间分辨率不尽相同,因此需进行时间、空间尺度转换等操作,获取时空连续,分辨率一致的数据用于同化。基于代码演示和操作,熟悉相关处理流程。

图片

图 23不同空间分辨率多源遥感数据与模型网格之间的尺度转换

3.2.3 区域多源遥感数据同化模型的运行案例分析

结合模型区域模拟和集合卡尔曼滤波原理,介绍多通道同化系统在区域的构建思路,结合卫星产品的下载处理结果,进行实例演示。

3.2.4 区域数据同化结果的可视化与分析

模型同化结果的导出与展示,熟悉与数据后处理相关函数包的调用、变量提取可视化、图像整饬等操作,主要以python和R作为可视化工具。

图片

图 24区域多源遥感数据同化结果的展示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/538217.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

算法——字符串

T04BF 👋热门专栏: 算法|JAVA|MySQL|C语言 🫵 小比特 大梦想 此篇文章与大家分享字符串相关算法 如果有不足的或者错误的请您指出! 目录 1.最长公共前缀1.1解析1.2题解 2.最长回文子串2.1解析2.2题解 3.二级制求和3.1解析3.2题解 4.字符串相乘4.1解析4.2…

【环境变量】常见的环境变量 | 相关指令 | 环境变量系统程序的结合理解 | 环境变量表 | 本地变量环境变量 | 外部命令内建命令

目录 常见的环境变量 HOME PWD SHELL HISTSIZE 环境变量相关的指令 echo&env export unset 本地变量 环境变量整体理解 程序现象_代码查看环境变量 ​整体理解 环境变量表 环境变量表的传递 环境变量表的查看 内建命令 少说废话🆗 每个用…

大型网站系统架构演化

大型网站质量属性优先级:高性能 高可用 可维护 应变 安全 一、单体架构 应用程序,数据库,文件等所有资源都在一台服务器上。 二、垂直架构 应用和数据分离,使用三台服务器:应用服务器、文件服务器、数据服务器 应用服…

JavaEE 初阶篇-深入了解 CAS 机制与12种锁的特征(如乐观锁和悲观锁、轻量级锁与重量级锁、自旋锁与挂起等待锁、可重入锁与不可重入锁等等)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 乐观锁与悲观锁概述 1.1 悲观锁(Pessimistic Locking) 1.2 乐观锁(Optimistic Locking) 1.3 区别与适用场景 2.0 轻…

我企业的业务需要制作企业网站吗?11个支持的理由以及5个反对的理由!

如果你的企业经营得还不错,你可能会找出很多理由,说明为什么一个高效的网站对你来说并不那么重要。确实,你明白企业需要在互联网上有一定的存在感,但你可能并不认为一个高效的网站会对你的特定业务产生太大的影响——尤其是当你已…

实战纪实 | 编辑器漏洞之Ueditor-任意文件上传漏洞 (老洞新谈)

UEditor 任意文件上传漏洞 前言 前段时间在做某政府单位的项目的时候发现存在该漏洞,虽然是一个老洞,但这也是容易被忽视,且能快速拿到shell的漏洞,在利用方式上有一些不一样的心得,希望能帮助到一些还不太了解的小伙…

PCIe总线-存储器域和PCIe总线域访问流程(二)

1.概述 PCIe总线的最大特点是像CPU访问DDR一样,可以直接使用地址访问PCIe设备(桥),但不同的是DDR和CPU同属于存储器域,而CPU和PCIe设备属于两个不同的域,PCIe设备(桥)的地址空间属于…

[RK3399 Linux] 使用busybox 1.36.1制作rootfs

一、 编译、安装、配置 busybox 1.1 下载源码 根文件系统是根据busybox来制作的。 下载地址:https://busybox.net/downloads/。 这里就以1.36.1版本为例进行编译安装介绍: 注意:编译linux内核与文件系统中的所有程序要使用相同的交叉编译器。 下载完成后解压: mkdir …

03 SQL基础 -- 查询与运算符

一、SELECT 语句基础 1.1 从表中选取数据 SELECT 语句 从表中选取数据时需要使用SELECT语句,也就是只从表中选出(SELECT)必要数据的意思。通过SELECT语句查询并选取出必要数据的过程称为匹配查询或查询(query) 基本SELECT语句包含了SELECT和FROM两个子句(clause)。示…

NAT实验

要求: 1、AR2为ISP路由器,其上只能配置IP地址,不得再进行其他的任何配置 2、PC1-PC2可以ping通客户平板和DNS服务器; 3、客户端可以通过域名访问http1,通过地址访问http2 4、R1为边界路由器,其上只有一…

计算机视觉工程师

为进一步贯彻落实中共中央印发《关于深化人才发展体制机制改革的意见》和国务院印发《关于“十四五”数字经济发展规划》等有关工作的部署要求,深入实施人才强国战略和创新驱动发展战略,加强全国数字化人才队伍建设,持续推进人工智能从业人员…

【深度学习】深度学习md笔记总结第4篇:TensorFlow介绍,学习目标【附代码文档】

深度学习笔记完整教程(附代码资料)主要内容讲述:深度学习课程,深度学习介绍要求,目标,学习目标,1.1.1 区别,学习目标,学习目标。TensorFlow介绍,2.4 张量学习目标,2.4.1 张量(Tensor),2.4.2 创建张量的指令,2.4.3 张量…

C语言世界上最详细自定义类型:联合和枚举

前言: hello! 大家好,我是小陈,今天给大家带来一篇联合和枚举的博客!!! 1.联合体类型的声明 像结构体⼀样,联合体也是由⼀个或者多个成员构成,这些成员可以不同的类型。 但是编译…

安装达梦(DM8)数据库(图形化安装)

一、配置DM8数据库系统环境 在CentOS7系统环境安装DM8(达梦)数据库前的准备。(注意:安装前必须创建 dmdba 用户,禁止使用 root 用户安装数据库。) 1、新建用户 运行SecureCRT工具,root登录16…

域控软件安全隔离关键技术剖析:MCU域 VS SOC域

安全隔离的需求 功能安全开发中,软件阶段由软件V模型左边的软件安全需求SSR开始。SSR是从技术安全需求TSR中提取出软件的功能安全需求,大多数情况下具有不同的ASIL等级。 图1 功能安全软件开发V模型 随后,软件安全需求会被分配到软件架构中的…

利用SARscape对日本填海造陆和天然气开采进行地表形变监测

日本千叶市,是日本南部重要的工业港市。位于西部的浦安市是一个典型的"填海造田"城市,东南部的东金区有一片天然气开采区域,本文利用SARscape,用干涉叠加的方法,即PS和SBAS,对这两个区域进行地表…

36-代码测试(上):如何编写Go语言单元测试和性能测试用例?

每种语言通常都有自己的测试包/模块,Go语言也不例外。在Go中,我们可以通过testing包对代码进行单元测试和性能测试。 如何测试 Go 代码? Go语言有自带的测试框架testing,可以用来实现单元测试(T类型)和性…

Point-Nerf复现及解析

Point-Nerf复现及解析 鸣谢:同组的李xx师兄博士(交流思路)、辰昶仪器的狗哥等人(帮忙down资源) 0.0我自己的复现工程0.1相关库介绍0.1.1 pytorch0.1.2 h5py0.1.3 Scikit-Image0.1.4 imageio0.1.5 scipy0.1.6 Matplotlib0.1.7 fonttools 0.2…

JAVA的学习日记DAY6

文章目录 数组例子数组的使用数组的注意事项和细节练习数组赋值机制数组拷贝数组反转数组添加 排序冒泡排序 查找多维数组 - 二维数组二维数组的使用二维数组的遍历杨辉三角二维数组的使用细节和注意事项练习 开始每日一更!得加快速度了! 数组 数组可以…

16. 网络编程(1)

Hi,大家好!从本节开始我们学习网络编程相关的知识。基于TCP服务器和客户端实现流程框架。 本节目录: 网络编程在软件开发中具有相当重要的作用,涉及到各方各面: 网络通信: Linux系统作为一个多用户、多任务的操作系统,网络通信是其重要的功能之一。通过网络编程,可以实现…