爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5491|回复: 7

关于WRFDA源代码的一些问题

[复制链接]
回帖奖励 20 金钱 回复本帖可获得 5 金钱奖励! 每人限 1 次(中奖概率 50%)

新浪微博达人勋

发表于 2018-6-17 13:51:52 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 今朝几朵白云生 于 2018-6-17 13:53 编辑

感谢浏览本帖的朋友!
我在学习转wrf3dvar的过程中,发现同化前后一些变量的值没有变化。比如,同化micaps地面资料后,T、U、V这些变量有变化,但T2却没有变化,事实上我就是将micaps中的2米温度作为同化变量。我不知道是设置的问题,还是模式本身就没有涉及到T2的内容。为了理解模式是如何处理这些变量,我读了WRFDA的code(http://www2.mmm.ucar.edu/wrf/users/wrfda/code_viewer/preprocessed_code/index.html)。由于程序很大,包含了n多个module和subroutine。还是不明白这些变量是如何参与到同化过程中的,我将主程序的代码已经附在帖子下面,关联的模块和调用的子程序的具体内容可以通过上面的链接查看,如有需要我可以上传同化过程中的诊断文件。希望做过这方面工作的朋友指点一二。再次感谢,祝大家端午节愉快!
  1. program da_wrfvar_main,19

  2.    !-----------------------------------------------------------------------
  3.    ! Purpose: Main program of WRF-Var.  Responsible for starting up, reading
  4.    ! in (and broadcasting for distributed memory) configuration data, defining
  5.    ! and initializing the top-level domain, either from initial or restart
  6.    ! data, setting up time-keeping, and then calling the da_solve
  7.    ! routine assimilation. After the assimilation is completed,
  8.    ! the model is properly shut down.
  9.    !-----------------------------------------------------------------------

  10.    use module_symbols_util, only : wrfu_finalize

  11.    use da_control, only : trace_use, var4d
  12.    use da_tracing, only : da_trace_init, da_trace_report, da_trace_entry, &
  13.       da_trace_exit
  14.    use da_wrf_interfaces, only : wrf_shutdown, wrf_message, disable_quilting
  15.    use da_wrfvar_top, only : da_wrfvar_init1,da_wrfvar_init2,da_wrfvar_run, &
  16.       da_wrfvar_finalize
  17. #ifdef VAR4D
  18.    use da_4dvar, only : clean_4dvar, da_finalize_model
  19. #endif

  20.    implicit none

  21.    ! Split initialisation into 2 parts so we can start and stop trace here

  22.    call disable_quilting

  23.    call da_wrfvar_init1

  24.    if (trace_use) call da_trace_init
  25.    if (trace_use) call da_trace_entry("da_wrfvar_main")

  26.    call da_wrfvar_init2

  27.    call da_wrfvar_run

  28.    call da_wrfvar_finalize

  29. #ifdef VAR4D
  30.    if (var4d) then
  31.       call clean_4dvar
  32.       call da_finalize_model
  33.    end if
  34. #endif

  35.    call wrf_message("*** WRF-Var completed successfully ***")

  36.    if (trace_use) call da_trace_exit("da_wrfvar_main")
  37.    if (trace_use) call da_trace_report

  38.    call wrfu_finalize
  39.    call wrf_shutdown

  40. end program da_wrfvar_main
复制代码

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-6-21 10:06:43 | 显示全部楼层
本帖最后由 kazami2003 于 2018-6-21 10:07 编辑

T2是"診斷"變量, 我想應該是沒有同化(如果我沒記錯)
基本上, 同化主要是針對3-D的變量(U,V,T,Q)....
你使用surface的temp去同化, 改變的是3-D的變量場。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-6-21 16:38:50 | 显示全部楼层
本帖最后由 今朝几朵白云生 于 2018-6-21 16:42 编辑

3-D的变量确实是有变化的,不过我看了模式里面的变量,是有T2这个变量。并且code里面有更新T2的语句,我还得再看看。感谢你的回复!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2019-6-10 15:06:41 | 显示全部楼层
之前在WRFDA3.8.1中同化地面观测一直没有更新T2、Q2、U10、V10、TH2等二维场变量是因为在WRFDA3.8.1中namelist.input(wrfvar1)中的update_sfc_diags默认设置为false。user's guide l里说明了update_sfc_diags = .true.: update T2/Q2/U10/V10/TH2 with WRFDAre-diagnosed values.
Use only with sf_sfclay_physics=91 in WRF.也就是说3.8.1中表面层方案选为1时,默认不更新上述这些二维变量。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-4-7 21:19:53 | 显示全部楼层
本帖最后由 nihaoyu 于 2024-4-7 21:32 编辑
今朝几朵白云生 发表于 2019-6-10 15:06
之前在WRFDA3.8.1中同化地面观测一直没有更新T2、Q2、U10、V10、TH2等二维场变量是因为在WRFDA3.8.1中namel ...


楼主您好,请问您成功了吗我想更新地面场的时候在namelist里加这句话直接报错,甚至我都不改成true,写false都是错的,可以保证不是全角或者中文输入问题,其他的命令都好使,就这个不行
*** VARIATIONAL ANALYSIS ***
WRFDA V4.3.3                                                                    

  ------ ERROR while reading namelist wrfvar1 ------
Maybe here?:     print_detail_grad=false,
Maybe here?:     update_sfc_diags=false,
-------------- FATAL CALLED ---------------
FATAL CALLED FROM FILE:  <stdin>  LINE:   12121
ERRORS while reading one or more namelists from namelist.input.
-------------------------------------------
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-4-7 21:44:36 | 显示全部楼层
nihaoyu 发表于 2024-4-7 21:19
楼主您好,请问您成功了吗我想更新地面场的时候在namelist里加这句话直接报错,甚至我都不改 ...

是这个命令update_sfcdiags = .false. ;
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-4-8 18:55:18 | 显示全部楼层

回帖奖励 +5 金钱

任性小王子 发表于 2024-4-7 21:44
是这个命令update_sfcdiags = .false. ;

谢谢大佬!确实是,真想不到这么多版本的手册是错的。万分感谢,太强了!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2024-4-8 19:11:40 | 显示全部楼层
nihaoyu 发表于 2024-4-8 18:55
谢谢大佬!确实是,真想不到这么多版本的手册是错的。万分感谢,太强了!

客气啦,相互学习,共同进步
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表