登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
关于WRF也是刚开始接触不久,因为模拟时间比较久,所以想用下restart这个语句。之前在一个博客上看到了用法的介绍,
但是我再搜就找不到了,所以这也是借鉴下别人的。希望那个博客主不要生气。
首先,需要创建restart文件。这个创建通过在namelist.input中设置restart_interval(单位分钟)来实现。restart_interval的数值应该等于或小于首次模拟的时间,其他操作与正常情况一致,这样在运行real.exe,wrf.exe后,除产生wrfout外,将产生wrfrst_d_文件。是restart被写入时的时间。例子: run_hours = 12, run_minutes = 0, start_year = 2010, start_month = 03, start_day = 06, start_hour = 00, end_year = 2010, end_month = 03, end_day = 07, end_hour = 00, interval_seconds = 21600, history_interval = 180, frames_per_outfile = 1000, restart = .false., restart_interval = 720, 注意,尽管模式运行结束时间为设置为07_00,run_hours=12 会覆盖它,即模式在运行12小时后结束。但run_hours对real.exe不起作用,real.exe仍将产生24个小时的边界条件。 设置restart_interval = 720将会在模式运行每12个小时产生restart文件(wrfrst文件)。 例子最后运行成功后,产生wrfout_d01_2010-03-06_00:00:00,wrfrst_d01_2010-03-06_12:00:00。
然后,选择最后一次写出的restart文件,进行restart操作。编辑namelist.input文件,将其start_*时间设置成restart的时间(即最后一个restart文件被写入的时间),同时设置restart=.true.。再次运行wrf.exe。例子: run_hours = 12, run_minutes = 0, start_year = 2010, start_month = 03, start_day= 06, start_hour= 12, end_year = 2010, end_month = 03, end_day = 07, end_hour = 00, interval_seconds = 21600, history_interval = 180, frames_per_outfile = 1000, restart= .true., restart_interval = 720, 注意,将 START 时间设置成 06_12,这就和上一个 restart 文件的时间相一致。不需要执行 real.exe,只需执行 wrf.exe。 成功运行后,生成 wrfout_d01_2010-03-06_12:00:00。 注意,此时将无法获得模式再次运行起始时刻2010-03-06_12:00:00的wrfout文件。需要保留下来,在namelist中的&time_control部分添加: write_hist_at_0h_rst = .true. 接下来就是我想问的问题。
第二次运行时候,要不要链接之前生成的wrfrst文件?
因为我尝试了好几次,比如我运行模拟5天的,第一次运行设置为 run_days=5 run_hours = 0, run_minutes = 0, start_year = 2010, start_month = 03, start_day = 01, start_hour = 00, end_year = 2010, end_month = 03, end_day = 06, end_hour = 00, interval_seconds = 21600, history_interval = 180, frames_per_outfile = 1000, restart = .false., restart_interval = 720, 运行结束生成了1-6号的wrfout文件,之后第二次运行,就是修改了namelist.input,我设置重启时间是12个小时。 run_days=5 run_hours = 0, run_minutes = 0, start_year = 2010, start_month = 03, start_day = 05, start_hour = 12, end_year = 2010, end_month = 03, end_day = 06, end_hour = 00, interval_seconds = 21600, history_interval = 180, frames_per_outfile = 1000, restart = .true., restart_interval = 720, 之后不连接,也不运行./real.exe。这样重新生成的只有5号那天的wrfout。并不是我想想的会全部都重新生成,替换原来的。 因为实际上我要模拟三个月的数据,所以我就不知道这样restart的用法对不对。因为只有最后十二个小时的变了,那么和没有restart根本就没什么差别啊。
求助各位做过这个的!! PS:WRF直接模拟转三个月时间的话,不用restart的话,是不是结果根本就不可信?
来自群组: 兰州气象学院 |