表面强迫1:用于表面施力的WRF模型配置

2024-03-28 20:08

本文主要是介绍表面强迫1:用于表面施力的WRF模型配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

WRF大气模型

概述了如何使用WRF为FVCOM生成强制。

下载

WRF 需要注册才能下载代码。

为了以最小的运行模型运行,您需要下载:

  • WRF-ARW-主要的WRF模型
  • WPS -WRF预处理工具
  • geog-地理数据。使用完整数据集(约48GB未压缩)或最小数据集(小得多)。

WRF还需要一些库:

  • netCDF

  • JasPer

  • zlib

  • libpng

  • mpich

这些可以从WRF 网站上获得。

汇编

图书馆

对于台式机Fedora Linux计算机,系统mpich用于WRF,但其他依赖项也已编译。一个示例脚本显示了建立在Fedora Linux系统库的步骤。该脚本放置在已下载WRF的目录中的新目录中$HOME/Models/WRF/LIBRARIES

WRF

编译WRF必须在编译并安装了库之后进行(如果使用了wiki中的脚本,那就是$HOME/Models/WRF/LIBRARIES)。主要的WRF源代码(WRFV3目录)在中$HOME/Models/WRF。我使用了一个构建脚本来编译WRF,以便在整个集群(即分布式内存而不是共享内存)中并行使用。

WPS

要配置WRF运行所需的数据,需要安装WPS。由于WPS利用WRF功能,因此WPS的编译必须在WRF本身之后进行。编译WPS后,我将其源代码放在$HOME/Models/WRF目录中,并使用另一个构建脚本来构建必要的二进制文件。

WPS网格配置

运行WRF的第一步是使用WPS生成必要的输入文件。namelist.wps示例显示了英国架的3域嵌套配置。使用geogrid.exe产生用作主要WRF模式输入的netCDF网格。

强制数据

NCEP FNL全球输出

使用WRF的最简单方法是将GRIB格式的数据用作强制。NCEP FNL全球对流层运行模型的数据(1999年7月至今)可从CISL研究档案库免费获得。仅当在CISL上收到一个帐户(免费)时,数据才可用,并且一旦授予帐户,就可以批量下载数据。还有可以用来下载数据在一定时间内一个shell脚本这里。

数据下载完毕后,需要使用$HOME/Models/WRF/WPSWRF提供的link_grib.csh脚本将它们链接到WPS目录(如果您一直在使用此Wiki中的脚本)。之后,ungrib.exe需要运行二进制文件以生成WRF的正确格式(从GRIB文件中提取必要的变量)。一个Vtable文件必须被符号链接到$HOME/Models/WRF/WPS目录中第一个(对NCEP FNL数据,该文件可从信达国际证券网站)。示例namelist.wps也必须位于输出为的目录中link_grib.csh。然后metgrid.exe需要运行以将强制数据插值到模型网格中。

它运行的一个示例脚本link_grib.cshungrib.exemetgrid.exe步骤都在一起,可以发现在这里。它要求目录布局如下:

    .├── bin├── grids└── templates

其中bin包含link_grib.csh脚本和ungrib.exemetgrid.exe二进制文件,grids包含模型网格生成(geogrid.exe)的输出,模板包含模板namelist.wps和Vtable。

准备脚本的 输出将放置在每年要处理的目录中。

ECMWF ERA临时

或者,可以使用ECMWF的ERA-Interim数据强制执行WRF。该过程类似于NCEP FNL数据的过程。下表显示了使用ERA-Interim运行WRF所需的变量。

与NCEP FNL数据一样,该过程将下载所需的变量,并使用将其从grib转换为WRF中间格式ungrib.exe。此外,文件在插入之前需要先应用系数。 calc_ecmwf_p.exemetgrid.exe

与NCEP数据一样,这些脚本采用以下目录结构:

    .├── bin├── grids└── templates

广场下面的链接进入页面的模板文件templates目录,WPS前处理二进制文件(ungrib.exemetgrid.execalc_ecmwf_p.exe)到bin你的WRF电网的netCDF文件到grids

此bash脚本会自动从模板下载WRF所需的ECMWF ERA-Interim数据。一个单独的脚本将这些原始ECMWF ERA-Interim文件从grib转换为WRF中间格式。最后,此脚本将WRF中间文件插入到WRF强制文件中。

有关编译WRF的说明, 请参见编译部分,或按照官方说明进行操作。

运行WRF

WRF实际上是两个程序:real.exewrf.exe

real.exe对输入文件进行预处理,并为主wrf.exe程序做准备,仅需进行“冷启动”即可运行(即从全局初始条件开始)。

wrf.exe是实际的WRF模型。它可以从冷启动(带有wrfbdy文件)或从重新启动(带有wrfrst_d01_2003-01-01_00:00:00每个域的一组文件)运行。

为了在ARCHER上运行WRF ,我编写了一个PBS提交脚本,它将在给定时间段内运行WRF(在PBS脚本中配置)。它要求模型名称列表(namelist.input)存在于目录中models(名称列表文件名为$year-$month.input-给定年份的每个月一个)。输出存储在中output/$year,日志(rsl.out.*rsl.error.*)移到logs。输入文件应位于一个名为的目录中input/$year(这些文件是的输出metgrid.exe)。总之,此Wiki中的示例使用的目录结构为:

    run├── input│   ├── 2000│   ├── ...│   └── 2010├── launch│   └── wrf_2000-2010.pbs├── logs├── models│   ├── 2000-01.input│   ├── 2000-02.input│   ├── ...│   ├── 2010-11.input│   └── 2010-12.input└── output├── 2000│   ├── 01│   ├── ...│   ├── 12│   └── restart├── ...└── 2010├── 01├── ...├── 12└── restart

后处理输出

FVCOM不能直接使用WRF输出。相反,FVCOM提供了许多例程来将WRF输出更正为FVCOM初始化的格式和变量类型。使用的主要原理之一是wrf_to_fvcom.f90可以在FVCOM源代码中找到。这是一个串行程序,因此在没有MPI的情况下进行编译。

为了稍微简化此过程,我在FVCOM源代码目录中包含了该wrf_to_fvcom.f90程序的makefile 。我还修改了以毫巴为单位的输出压力,并采用了一个新选项()来指定计算热通量参数的中心纬度(以前,它默认为George's Bank)。COARE2.6例程中的迭代次数()也已从6减少到3,以提高解决方案的稳定性(有时进行6次迭代有时会生成NaN值)。 wrf_to_fvcom.f90-latitudenits

这篇关于表面强迫1:用于表面施力的WRF模型配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

SpringCloud动态配置注解@RefreshScope与@Component的深度解析

《SpringCloud动态配置注解@RefreshScope与@Component的深度解析》在现代微服务架构中,动态配置管理是一个关键需求,本文将为大家介绍SpringCloud中相关的注解@Re... 目录引言1. @RefreshScope 的作用与原理1.1 什么是 @RefreshScope1.

SpringBoot日志配置SLF4J和Logback的方法实现

《SpringBoot日志配置SLF4J和Logback的方法实现》日志记录是不可或缺的一部分,本文主要介绍了SpringBoot日志配置SLF4J和Logback的方法实现,文中通过示例代码介绍的非... 目录一、前言二、案例一:初识日志三、案例二:使用Lombok输出日志四、案例三:配置Logback一

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu

一文详解SpringBoot响应压缩功能的配置与优化

《一文详解SpringBoot响应压缩功能的配置与优化》SpringBoot的响应压缩功能基于智能协商机制,需同时满足很多条件,本文主要为大家详细介绍了SpringBoot响应压缩功能的配置与优化,需... 目录一、核心工作机制1.1 自动协商触发条件1.2 压缩处理流程二、配置方案详解2.1 基础YAML

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

SpringBoot中封装Cors自动配置方式

《SpringBoot中封装Cors自动配置方式》:本文主要介绍SpringBoot中封装Cors自动配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录SpringBoot封装Cors自动配置背景实现步骤1. 创建 GlobalCorsProperties

Spring Boot结成MyBatis-Plus最全配置指南

《SpringBoot结成MyBatis-Plus最全配置指南》本文主要介绍了SpringBoot结成MyBatis-Plus最全配置指南,包括依赖引入、配置数据源、Mapper扫描、基本CRUD操... 目录前言详细操作一.创建项目并引入相关依赖二.配置数据源信息三.编写相关代码查zsRArly询数据库数

SpringBoot配置Ollama实现本地部署DeepSeek

《SpringBoot配置Ollama实现本地部署DeepSeek》本文主要介绍了在本地环境中使用Ollama配置DeepSeek模型,并在IntelliJIDEA中创建一个Sprin... 目录前言详细步骤一、本地配置DeepSeek二、SpringBoot项目调用本地DeepSeek前言随着人工智能技

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应