本文翻译自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. python获取当前季度或上一季度的起止日期

    import datetime import calendar def get_quarter_date(quarter='current'): """ 获取当前季度或上 ...

  2. vue2的反向代理

    // 在vue.config.js中的配置项配置 devServer: { proxy: { // 当我们的本地的请求 有/api的时候,就会代理我们的请求地址向另外一个服务器发出请求 '/api': ...

  3. IsNotEmpty和isNotBlank的区别

    isNotEmpty和isNotBlank都是判断字符串非空首先查看isNotEmpty( )isNotEmpty判断是否为空(null或size=0),不为空就返回true StringUtils. ...

  4. MeterSphere中dubbo接口测试分享

    一.域名解释 1.1.接口文档:UserAccountAssetServiceI.getUserAccountVirtualAsset UserAccountAssetServiceI(接口名,需要用 ...

  5. 其他6-break,continue,exit,return区别

    break.continue.exit.return的区别 break 跳出整个循环语句 continue 跳过本次循环,进入下一次循环语句 exit n 退出当前shell,并返回状态值 retur ...

  6. nginx重启报错 nginx: [error] open() “/run/nginx.pid“ failed (2: No such file or directory)

    原文: https://blog.csdn.net/CRMEB/article/details/120779362 nginx [error] open() "/usr/local/var/ ...

  7. kafka在阿里云上的配置

    只需要改server.properties listeners=PLAINTEXT://  内网的ip地址和9092端口advertised.listeners=PLAINTEXT://外网的ip的地 ...

  8. win10企业版在线转换成win10专业版

    1.下载windows附件包,解压到C盘根目录 https://pan.baidu.com/s/19Zyrav9sriS9nFyJsM8ydQ 提取码:gsp6 2.运行命令 2.1.以管理员身份运行 ...

  9. WARN hdfs.DataStreamer: Caught exception

    在向hdfs上传文件的时候,报了这么一个错: Exception in thread "main" java.lang.RuntimeException: org.apache.h ...

  10. 「postOI」Cross Swapping

    题意 给出一个 \(n\times n\) 的矩阵 \(A\),你可以进行下述操作任意多次:指定整数 \(k\)(\(1\le k\le n\)),使 \(A_{ni}\) 与 \(A_{in}\) ...