10
\ begingroup美元

我是一个用户WRF V3.5针对气象模拟。
有时候,我将运行模型在很长一段

我的尝试

我将长期(e。薮猫短g 1年)。

例如:

# # WPS名称列表。wps start_date = ' 2014 - 01 - 01 _06:00:00 end_date = ' 2014 - 01 - 31 _23:00:00 # # WRF运行期.csh文件中设置。设置年= " 2014 " foreach strtime(010106010512 010500011012 011000011512 011500012012 011000011512 010500011012 010106010512)设置smon =“echo $ {strtime} |削减-c1-2 ' sday =“echo $ {strtime} |削减-c3-4”设置月=“echo $ {strtime} |削减-c5-6”设置emon =“echo $ {strtime} |削减-c7-8”设置eday =“echo $ {strtime} |削减-c9-10”设置ehr =“echo $ {strtime} |削减-c11-12 &time_control run_days = 0, run_hours = 132, run_minutes = 0, run_seconds = 0, start_year = ${一},{一},美元start_month = $ {smon}, {smon}美元,start_day = $ {sday}, {sday}美元,start_hour = ${月},{月}美元,start_minute = 00 00, start_second = 00 00, end_year = ${一},{一},美元end_month = $ {emon}, {emon}美元,end_day = $ {eday}, {eday}美元,end_hour = $ {ehr}, {ehr}美元,end_minute = 00 00, end_second = 00 00, interval_seconds = 21600

在这些短时间内,我第一个12 h设置为旋转周期(除了开始。)

这是图表的时序建模从互联网上设置我剪。

http://i12.tietuku.cn/afd906ddd823ddd6.png

结果

它生成8 .nc文件,每个包含132帧的数据。
现在,我使用了netCDF运营商(NCO)处理输出文件。

  1. 使用ncks删除第一个12 h帧分别为每个文件。

  2. 使用ncrcatconcat 8 .nc所有文件在一起得到一个文件代表整个模拟时间。

问题

我用这个方法。但当文件的数量是巨大的,它真的是一个转储的方法。

有人提供你的处理方法有向上数据删除?

我的目标

  • 模型只能生成一个文件,其中包含所有仿真。
  • 向上的时间可以被自动最后文件的框架。

更新:祝你分享你的方法!

\ endgroup美元
3
  • 1
    \ begingroup美元 我经常做同样的事,除了削减向上时期。你真的需要的一切只是一个文件?我所做的就是有WRF输出每个时间框架在一个单独的(在我的情况下每小时)文件,我组织单独运行在单独的目录。当我需要整体连接,我只选择我需要从一个shell或Python脚本文件。 \ endgroup美元
    - - - - - -milancurcic
    2016年3月17日,15:21
  • \ begingroup美元 谢谢你的回复。所以,你的意思是每小时设置为一个WRF输出文件。如何避免后者的叠加帧?例如,wrfout_2016_03_17_00是最后一个仿真的框架。接下来的仿真wrfout_2016_03_17_00光板的文件将被重写。但我想保持旧的技术。 \ endgroup美元
    - - - - - -汉Zhengzu
    2016年3月17日15:56
  • 2
    \ begingroup美元 我从不同的运行在不同的存储输出文件目录,以避免年长的输出被更新的覆盖。 \ endgroup美元
    - - - - - -milancurcic
    2016年3月17日21:45

2答案2

2
\ begingroup美元

有一个功能的- d选择的召唤ncks多余的。然而,它可以自NCO版本4.2.1(2012年8月)准备。

ncrcat - d时间,13日,132120 wrfout *总结。数控# - d昏暗,[min] [(max),[[步],[[子循环]]]]

这个特性深深隐藏在在线手册。你会发现在这里:nco.sourceforge.net/nco.html #次循环

解释:

  • 13:我们认为第一次步骤
  • (空):直到最后
  • 132:我们有一个周期的长度132步
  • 120:我们把第一个120个值每个周期(从13日开始)

如果我们写0132年- d, 13日,等于0132年- d, 13日,1,我们只会得到从13日开始每隔132价值。

我不处理WRF输出但我们使用化学CMAQ运输模型。我们得到每小时解决每天的浓度输出文件。这些文件有25的时间步骤(0点的当前,第二天),我们需要删除其中一个)点时间步骤和附加的文件。为此,我使用ncrcat - d TSTEP 0, 25日24 [infiles](输出文件)

直接的方法是编写一个Fortran程序。但是,我也喜欢甲的。也许你可以尝试cdo的(code.zmaw.de /项目/ cdo)作为替代。然而,我的解决方案与cdo的任务更笨重的NCO的解决方案。

\ endgroup美元
8
  • \ begingroup美元 兴奋的读你的答案。我认为学习WRF-CMAQ。所以,你的意思是一天气象模拟,删除第一个1小时以后中医的数据是合理的吗?我现在没有试过中医,就好奇的问。 \ endgroup美元
    - - - - - -汉Zhengzu
    2016年3月27日,40
  • 1
    \ begingroup美元 的原因有25而不是24小时每输出文件只是技术性质:第一次步骤包含模型的初始浓度的一天。因此,每一天我们有一个时间步的初始浓度和24次用新浓度建模步骤。我们有一个向上的一段大约4天-我经常向上确保需要10天。 \ endgroup美元
    - - - - - -daniel.heydebreck
    2016年3月27日,十五19
  • 1
    \ begingroup美元 是的,削减了10天,但对于CMAQ运行。我们不使用WRF气象学。在另一个部门的同事产生流星追COSMO-CLM与模型。我不确定如何设置COSMO-CLM向上。我们刚刚得到他们的数据和预处理CMAQ作为输入。对于CMAQ,向上的4天足够了,一个同事测试2天向上,也看起来不错。我10天,因为它是一个圆:质检工一直尽职尽责做-)。 \ endgroup美元
    - - - - - -daniel.heydebreck
    2016年3月28日,31
  • 1
    \ begingroup美元 感谢你的回复!我也听到一些模型COSMO-ART等发达的欧洲,雷莫,等等。在中国,WRF是最受欢迎的一个。 \ endgroup美元
    - - - - - -汉Zhengzu
    2016年3月28日12:39
  • 1
    \ begingroup美元 有一个真正的模型在欧洲动物园;-)。 \ endgroup美元
    - - - - - -daniel.heydebreck
    2016年3月29日8点45分
2
\ begingroup美元

这是我现在的方法。

  1. 所有wrfout-files位于相同的路径。
  2. 使用pynco在python中循环将向上dataframe

    进口一滴nco =甲(fn) glob.iglob (* .nc):文件名,extname = os.path.splitext (fn) output_fn =文件名[22]+ str (int(文件名[22:24])+ 12)+ extname甲。ncks(输入= fn、输出= output_fn尺寸= 13,)

输入显示:2014 - 04 - 04 - _12.nc(120帧内)
输出显示:wrfout_2014-04-04_00:00:00.nc(133帧内)

\ endgroup美元

    你的答案

    通过点击“发布你的答案”,你同意我们服务条款并承认您已阅读并理解我们的隐私政策的行为准则

    不是你要找的答案?浏览其他问题标记问你自己的问题