本文翻译自https://www2.mmm.ucar.edu/wrf/users/FAQ_files/FAQ_wrf_runtime.html

Q1 我应该使用几个处理器来运行wrf.exe?

A1 经验法则是,使用的处理器数量最少应基于最大大小的那个domain,而使用的处理器数量最多应基于最小的domain。例如,假设您有2个domain,并且domain 01是200x200 grid spaces,而domain 02是300x300 grid spaces。您可以用来大致估计大量处理器的数学运算的公式:

最大处理器数量:

(200/25)*(200/25)= 64个处理器

最小处理器数量:

(300/100)*( 300/100)= 9个处理器

这意味着您应该在9到64个处理器之间使用此处理器。

使用过多处理器的问题在于,当您使用多个处理器时,将根据所使用的处理器数量将域划分为正方形。但是,这些正方形中的每个正方形也具有halo 区(或从每个边界向内的一定数量的网格空间),可为靠近边界的区域获得相邻的计算结果。如果使用过多的处理器,则每个平方会变得小于光环的大小,这会引起问题。

Q2 如果我想查看特定程序的执行方式,是否可以在该程序中添加“ stop”语句?

A2 终止模型的正确方法是使用对wrf_error_fatal的 WRF调用。如果将其“ grep”到目录WRFV3 / phys中,则将看到其用法。这应该杀死所有处理器上的模型。

Q3 rsl *文件中的ims,jms,kms,ips,jps,kps等变量是什么意思?

NDOWN_EM V4.1.4 PREPROCESSOR
*************************************
Parent domain
ids,ide,jds,jde 1 751 1 721
ims,ime,jms,jme 577 632 678 726
ips,ipe,jps,jpe 584 625 685 721
*************************************

A3 im, jm是用于包含 communication domain(halo 区)的分解domain -"m" 表示每个分布式内存处理器上的内存大小。ip, jp是分解domain的物理尺寸,不包括halo区。"p" 仅是每个分布式存储处理器上的计算domain的大小。

Q4 在使用嵌套网格运行“ hold-suarez”理想化案例时,我发现初始化域2时,domain 1的网格(XLONG和XLAT)在domain2所在的区域中发生了变化。为什么会这样?

A4 造成这种情况的部分原因可能是,当您运行理想化案例时,没有嵌套的输入。因此,模型会插值从粗略域到嵌套的所有内容,包括纬度和经度。如果将feedback设置为1,则将导致嵌套数据覆盖嵌套区域中的粗略域,包括XLAT和XLONG。这是必要的,因为从嵌套中计算出的值正在替换粗糙的域值(例如,由于辐射)。除非插值真的很差,否则奇数比应该做得很好,因为在嵌套域和粗糙域上存在重叠的网格。对于均匀比率,由于没有同位网格,因此在打开反馈时将进行一些平均。

Q5 运行WRF的最低合理eta层次是多少?

A5 通常,第二完整层次应设置为0.993-0.996。

Q6 如何使用辅助文件输出除wrfout中的变量以外的变量?

A6 您将需要在Registry.EM_COMMON中添加这些变量,然后通过添加以下示例选项来重新编译和修改namelist.input:

auxhistN_outname =“ rainfall_d ”

auxhistN_interval = 10,

frames_per_auxhistN =

1000,1000 io_form_auxhistN = 2

注意:N为您的额外输出变量的流号。

Q7 在WRF中设置'quilting'的目的是什么?

A7 在没有quilting的情况下,使用常规的netCDF,头处理器将收集并写出数据。使用quilting时,将保留N个处理器以进行数据收集(在头处理器写入时)。对于大量网格点,这可以缩短墙钟时间。

Q8 段错误的最常见原因是什么?

A8 段错误错误通常意味着存在内存问题。尝试键入以下命令之一以查看是否有帮助:

  1. setenv MP_STACK_SIZE 64000000(OMP_STACKSIZE)

    2.如果使用的是csh或tcsh,请尝试以下操作:limit stacksize unlimited

    3.如果使用的是sh或bash,请使用以下命令:ulimit -s unlimited

这可能无法解决您的问题,但是默认堆栈大小通常很小,并且可能由于内存不足而导致段错误。

如果模型在运行开始时就出现故障,则通常可能意味着输入数据有问题。确保检查您的met_em *文件以查看是否在各种变量中发现了奇怪的地方。

Q9 时间序列变量的输出格式是什么?

A9 时间序列的默认输出格式是一个简单的文本文件,每个域一个站点。

Q10 由于非常大的垂直速度,我遇到了CFL错误。如何克服这些错误?

A10 首先尝试减少时间步长。有时这可行,但并非总是如此。您可以尝试的另一件事是在运行real之前,在namelist的&domains部分中添加smooth_cg_topo = .true.。如果CFL沿边界区域发生,则可以平滑模型地形以匹配行驶数据随附的低分辨率地形。如果CFL发生在复杂的地形附近,则可以尝试将epssm = 0.2(最大为0.5)设置为无效。

Q11 运行real.exe时出现以下错误消息:

frame / module_domain.f:无法分配

grid%xkmhd(sm31:em31,sm32:em32,sm33:em33)

可能是什么原因?

A11 1)您的计算机没有足够的内存来在您的域上运行real.exe

2)如果您的计算机具有足够的内存和多个CPU,但是单个CPU无法访问所有内存,则需要使用dmpar(MPI)构建WRF选项并在多个处理器上运行它(mpirun -np N real.exe,其中N > 1)以利用更多的可用内存(请参阅问题1)。

Q12 我已经正确安装了共享库,但是计算机在运行时找不到它们。如何在运行时找到共享库?

A12 Unix操作系统通常查看环境变量LD_LIBRARY_PATH来搜索库路径中的目录。尝试发出这些命令:

echo $LD_LIBRARY_PATH

如果路径不包括在/ usr / local / lib目录,然后(在KSH,例如),键入:

export LD_LIBRARY_PATH = “$ LD_LIBRARY_PATH:在/ usr / local / lib目录”

你可以把这个在您的登录脚本中,这样您就不必每次都发出此命令。

Q13 如何在特定物理学中输出局部变量?

A13 输出例程将看不到局部变量。您将需要在wrfout文件中看到的变量声明为注册表中的状态变量。然后,这些变量将可用于resolve_em.F,它调用microphysics_driver。您将需要将新变量传递给驱动程序,然后传递给驱动程序中调用的物理方案。这些状态变量应声明为“ OUT”变量,并按补丁尺寸(ime,jme)进行标注。然后,您需要使用需要输出的字段来填充这些数组。看一下我们的WRF教程中的演讲,您可能会发现一些更有用的信息:

Registry and Examples

Q14 尝试运行理想化案例时,如何通过namelist关闭科里奥利力?

A14 不幸的是,namelist没有为此设置的选项。但是,您可以在module_initialize_(ideal_case).F文件中设置grid%f = 0(使用该文件作为您选择的理想情况。然后保存该文件并重新编译代码。您将不需要 'clean -a' 或需要在重新编译之前重新configure。只需简单地重新编译即可,并且编译应该很快,因为它只是在构建此例程。

Q15 我试图以GRIB2格式写入wrfout文件,但glibc检测到损坏的内存错误。我该如何解决?

A15 此选项仅适用于32位系统。它在某些64位系统上失败,不幸的是,这尚未开发。

Q16 我的湿度变量为负。我怎样才能解决这个问题?

A16 您可以使用namelist选项mp_zero_out删除负的潮湿变量。众所周知,负水分不会影响模型集成。使用moist_adv_opt = 1选项将使湿度变量保持正值。

Q17 为什么在模型正常运行时没有任何错误没有生成我的wrfout和/或wrfrst文件?

A17 这可能是因为您的wrfout / wrfrst文件太大(即大于2GB)。在构建WRF之前,使用以下命令来启用netCDF大文件支持(示例在csh中):

setenv WRFIO_NCD_LARGE_FILE_SUPPORT 1

Q18 在我的namelist中,用于打印obs信息的选项设置为true,但是当我检查rsl文件时,找不到关于观察性推挤的任何信息。为什么是这样?

A18 尝试在namelist的&time_control部分中添加以下内容:

auxinput11_interval_s =

180、180、180、180、180、180 auxinput11_end_h = 6,6,6,6,6

并更改适合您情况的值。这里的间隔应小于obs文件中的数据间隔。

Q19 如何更改自动分解,但使用自己的选项进行domain分解?

A19 该namelist选项nproc_x和nproc_y可以用来这样做,如果你有dmpar编译。如果使用OpenMP编译,则可以使用numtiles选项。

Q20 当我运行real.exe时,我在grid%tmn中遇到了错误,但是可以正常运行。应该忽略吗?

A20 检查您的输出,看看tmn是否用合理的值填充。这可能是由于tmn(在具有低分辨率[1度]数据的土工格栅中计算出的)与来自高分辨率数据(例如30秒)的地面掩模不匹配而触发的。

Q21 如何定义小于1秒的时间步长?

A21 您将需要在&domains部分中使用以下所有三个namelist选项:

time_step = 0,

time_step_fract_num = 1,

time_step_fract_den = 3,

以上示例将时间步长设置为1/3秒。

Q22 我正在使用GFS输入数据,并收到以下错误:

-----------------错误-------------------
>namelist:num_metgrid_soil_levels = 4
>输入文件:NUM_METGRID_SOIL_LEVELS = 0(来自met_em文件)。
> --------------致命调用---------------
>从文件中致命调用: LINE:695
>名称清单与全局属性NUM_METGRID_SOIL_LEVELS不匹配
> -------------------------------------- -----

是什么原因引起的?

A22 如果您在WRFV3.6.1或更早版本中使用GFS初始条件,并且开始日期为2015年1月7日或更晚,那么您将需要使用新的Vtable,因为GFS从1/7/15开始更新了其所有数据。您可以在此处找到更新的Vtable 。有关GFS数据更新的其他信息,请单击此处。

您将需要将此Vtable复制到WPS / ungrib / Variable_Tables /目录中,并将其命名为Vtable.GFS(这将覆盖以前的GFS Vtable)。之后,您需要返回WPS /目录并重新运行ungrib.exe。在运行ungrib.exe之前,您需要链接到新的Vtable:

ln -sf ungrib / Variable_Tables / Vtable.GFS Vtable

一旦确定WPS /目录中的“ Vtable”文件是* NEW * Vtable.GFS,就可以运行ungrib.exe,然后运行metgrid.exe,然后转到WRFV3 /目录,链接到您的met_em *文件并运行real.exe。您可以通过发出以下命令来验证met_em *文件中的土壤含量是否为4:

ncdump -h met_em.d01 *

其中“ *”仅代表您的met_em文件之一。

您应该看到类别(朝下)NUM_METGRID_SOIL_LEVELS = 4 。

Q23 为什么即使启用正定对流方案,QVAPOR仍为负?

A23 负值很小,四舍五入。正定方案无法摆脱如此小的值。

Q24 是什么引起以下错误:

ERROR: troubles, could not find trapping x locations

A24 当您的p_top_requested太高(即,大气层太低)时,通常会看到这种情况。尝试将其设置回默认值(= 5000),看看是否有帮助。如果您的域设置不佳,有时会经常看到此错误。有关设置您的域(和嵌套域)的

最佳实践,请参阅我们的WRF教程:WRF中的最佳实践嵌套中的这些讲座。

Q25 是什么引起以下错误:

ERROR: dz above fixed eta levels is too large

A25 当您将p_top_requested设置得太低(即,大气层太高)时,通常会看到这种情况。尝试将其设置回默认值(= 5000),看看是否有帮助。

Q26 我正在尝试使用与原始运行不同的历史记录间隔来运行重新启动,但是在旧的间隔时间我仍会得到输出。我该如何纠正?

A26 在namelist的&time_control部分中,添加以下行:

override_restart_timers = .true。

Q27 如何估算运行时间?

A27 在某些计算机上,您始终可以从输出文件中找到作业所需的CPU和时钟时间。在其他机器(例如Linux机器)上,您可以通过查看生成第一个和最后一个wrfout文件的时间来估计墙钟时间。两者之间的差异是对工作所需的墙钟时间的粗略估计。

[Wrf-users] Max number of CPUs for WRF

http://mailman.ucar.edu/pipermail/wrf-users/2012/002670.html

WRF rsl.out文件研究的更多相关文章

  1. JIRA 破解文件研究(Win 7环境)

    最近再次回来研究 Win 7 下的 JIRA,按网上的很多方法去尝试,竟然无法正常安装! 经过几次的弯路尝试,终究还是成功了. 嗯,有必要总结一下: 发觉网上的很多破解方法都太老!不管是什么原因,在6 ...

  2. JVM虚拟机Class类文件研究分析

    前言 为了研究Class文件,先编写一个最简单的代码: package com.courage; public class T0100_ByteCode01 { } 之所以说最简单,是因为这个类里面任 ...

  3. 关于makefile文件研究

    makefile文件采用依赖倒推的模式进行编译. 主要由以下几步构成: 1 申明 2 default 默认生成的对象 3 TARGET 链接过程 4 cpp 编译过程 5 生成一个version.h文 ...

  4. js上传文件研究

    https://github.com/shengulong/javascript-file-upload

  5. iOS 关于文件的操作

    最近做东西,遇到了使用文件方面的问题,花了点时间把文件研究了一下! 一  关于文件路径的生成 我用的方法是: -(NSString*)dataFilePath { NSArray * paths = ...

  6. WRF 安装备忘

    ▶ n 年前在笔记本上安装 WRF 的一个过程 ● 安装 cpp,csh,m4,quota,samba # apt-get install cpp csh m4 quota samba ● 网上教程有 ...

  7. 数据处理之PostgreSQL过程语言学习

    前段时间,公司更换新的PostgreSQL数据集市的系统过程中,自己下载了postgresqlAPI的pdf文件研究了一下PostgreSQL数据集市.发现使用PostgreSQL过程语言可以大大加快 ...

  8. Xcode的command+shift+o是一个不错的工具

    一,经历 1.在向UITextField中输入图片的时候,可以使用 NSAttributedString 添加,但是很难找到能够返回NSAttributedString对象的方法. 2.通过comma ...

  9. JQuery zoom插件学习

    jquery zoom是一款图片放大插件,经常用在商城商品页面里. 使用JQuery zoom插件,除了需要引入JQuery.js外,还要引入JQuery.zoom.js文件及jqzoom.css文件 ...

  10. (转)dedecms代码详解 很全面

    dedecms代码研究(1)开篇dedecms 相信大家一定都知道这个cms 系统,功能比较强大,有比较完善的内容发布,还有内容静态化系统,还有就是它有自己独特的标签系统和模板系统.而模板系统也是其他 ...

随机推荐

  1. linux 信号 未决信号集和屏蔽信号集

    有的地方,将屏蔽又叫阻塞? 在虚拟地址空间中,内核区的PCB中 有两个64位的值(集合),分别表示64个信号的未决状态(未被处理)和屏蔽与否 kill -l 可以查看linux中的所有信号,共64个 ...

  2. 使用elasticsearch-head修改一个索引的副本数

    一.背景 有一个很久以前设置的无副本索引放入了ES集群中,为了提升该索引的稳定性,需要添加一个副本 尝试curl方法失败以及因为es版本太旧(低于5.0.0)用不了kibana,并且用Python修改 ...

  3. How to present a paper 怎么讲好一篇文献

    Author : 如果在冬夜一个旅人 Date : 2022/05/24 目录 背景说明 1 读文献 1.1 读文献的层次 1.2 论文阅读的首轮次序 2 讲文献 2.1 The Problem to ...

  4. calico 关闭SNAT

    calico 关闭SNAT 默认情况下,calico 访问集群外网络是通过 SNAT 成宿主机 ip 方式,在一些金融客户环境中为了能实现防火墙规则,需要直接针对 POD ip 进行进行规则配置,所以 ...

  5. Centos.JAVA 环境安装

    JAVA 环境安装 0x00.环境准备 OS CentOS JDK1.8 安装包 jdk-8u131-linux-x64.tar.gz 0x01.卸载自带的open jdk 执行rpm -qa | g ...

  6. minio对象存储集群安装

    环境:centos7.6 .两台服务器部署4个节点集群 minio简介: MinIO 是一个基于Apache License v2.0开源协议的对象存储服务.它兼容亚马逊S3云存储服务接口,非常适合于 ...

  7. centos 7 删除乱码文件

    1.通过ls -li 获取要删除乱码文件名文件的inode号,比如得到的是 33575029 2.通过以下命令删除文件:find ./ -inum 33575029 -exec rm -rf {} \ ...

  8. element ui tabs 标签页支持展开收起修改

    <template> <div class="com-resource-legend" style=""> <el-tabs ty ...

  9. pip设置镜像

    国内镜像网站 镜像站名 网址 阿里云开源镜像站 http://mirrors.aliyun.com/ 网易开源镜像站 http://mirrors.163.com/ 搜狐开源镜像 http://mir ...

  10. Blender中服装网格重新拓扑实录

    最近了解到游戏行业服装的一些处理流程.简单来说: 用MD等做衣服的软件,将服装做出来: 导出2种模型:缝合好的服装模型(叫它3d)以及没有变形的平铺板片模型(叫它2d),建议导出单层的,都要带着UV, ...