表面强迫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

相关文章

Spring配置扩展之JavaConfig的使用小结

《Spring配置扩展之JavaConfig的使用小结》JavaConfig是Spring框架中基于纯Java代码的配置方式,用于替代传统的XML配置,通过注解(如@Bean)定义Spring容器的组... 目录JavaConfig 的概念什么是JavaConfig?为什么使用 JavaConfig?Jav

Spring Boot Interceptor的原理、配置、顺序控制及与Filter的关键区别对比分析

《SpringBootInterceptor的原理、配置、顺序控制及与Filter的关键区别对比分析》本文主要介绍了SpringBoot中的拦截器(Interceptor)及其与过滤器(Filt... 目录前言一、核心功能二、拦截器的实现2.1 定义自定义拦截器2.2 注册拦截器三、多拦截器的执行顺序四、过

springboot的controller中如何获取applicatim.yml的配置值

《springboot的controller中如何获取applicatim.yml的配置值》本文介绍了在SpringBoot的Controller中获取application.yml配置值的四种方式,... 目录1. 使用@Value注解(最常用)application.yml 配置Controller 中

springboot中配置logback-spring.xml的方法

《springboot中配置logback-spring.xml的方法》文章介绍了如何在SpringBoot项目中配置logback-spring.xml文件来进行日志管理,包括如何定义日志输出方式、... 目录一、在src/main/resources目录下,也就是在classpath路径下创建logba

C++多线程开发环境配置方法

《C++多线程开发环境配置方法》文章详细介绍了如何在Windows上安装MinGW-w64和VSCode,并配置环境变量和编译任务,使用VSCode创建一个C++多线程测试项目,并通过配置tasks.... 目录下载安装 MinGW-w64下载安装VS code创建测试项目配置编译任务创建 tasks.js

Nginx概念、架构、配置与虚拟主机实战操作指南

《Nginx概念、架构、配置与虚拟主机实战操作指南》Nginx是一个高性能的HTTP服务器、反向代理服务器、负载均衡器和IMAP/POP3/SMTP代理服务器,它支持高并发连接,资源占用低,功能全面且... 目录Nginx 深度解析:概念、架构、配置与虚拟主机实战一、Nginx 的概念二、Nginx 的特点

2025最新版Android Studio安装及组件配置教程(SDK、JDK、Gradle)

《2025最新版AndroidStudio安装及组件配置教程(SDK、JDK、Gradle)》:本文主要介绍2025最新版AndroidStudio安装及组件配置(SDK、JDK、Gradle... 目录原生 android 简介Android Studio必备组件一、Android Studio安装二、A

前端Visual Studio Code安装配置教程之下载、汉化、常用组件及基本操作

《前端VisualStudioCode安装配置教程之下载、汉化、常用组件及基本操作》VisualStudioCode是微软推出的一个强大的代码编辑器,功能强大,操作简单便捷,还有着良好的用户界面,... 目录一、Visual Studio Code下载二、汉化三、常用组件1、Auto Rename Tag2

SpringBoot18 redis的配置方法

《SpringBoot18redis的配置方法》本文介绍在SpringBoot项目中集成和使用Redis的方法,包括添加依赖、配置文件、自定义序列化方式、使用方式、实际使用示例、常见操作总结以及注意... 目录一、Spring Boot 中使用 Redis1. 添加依赖2. 配置文件3. Redis 配置类

JAVA Log 日志级别和使用配置示例

《JAVALog日志级别和使用配置示例》本文介绍了Java中主流的日志框架,包括Logback和Log4j2,并详细解释了日志级别及其使用场景,同时,还提供了配置示例和使用技巧,如正确的日志记录方... 目录一、主流日志框架1. Logback (推荐)2. Log4j23. SLF4J + Logback