爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 280|回复: 5

WRF-CMAQ转换时报错

[复制链接]
回帖奖励 1 金钱 回复本帖可获得 1 金钱奖励! 每人限 1 次
发表于 2025-5-17 12:04:12 | 显示全部楼层 |阅读模式

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

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

x
应该是识别WRF V3这几个字符,但是我将wrfout nc文件里的WRFV3.9.1改成WRF V3、WRF V3.9.1都不行。。。
求问应该怎么解决
我用的是mcip5.1,适配WRF3.9.1




827caa375f3a7930611ca8482e32208.png
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2025-5-17 12:06:31 | 显示全部楼层
这是setup.f90
  USE mcipparm
  USE metinfo
  USE files
  USE netcdf

  IMPLICIT NONE

  INTEGER                           :: cdfid
  REAL,               INTENT(INOUT) :: ctmlays   ( maxlays )
  CHARACTER(LEN=19)                 :: gridtype
  INTEGER                           :: istat
  CHARACTER(LEN=16),  PARAMETER     :: pname     = 'SETUP'
  INTEGER                           :: rcode
  CHARACTER(LEN=80)                 :: wrfversion

!-------------------------------------------------------------------------------
! Error, warning, and informational messages.
!-------------------------------------------------------------------------------

  CHARACTER(LEN=256), PARAMETER :: f9000 = "(/, 1x, 70('*'), &
    & /, 1x, '*** SUBROUTINE: ', a, &
    & /, 1x, '***   ERROR OPENING WRF NETCDF FILE', &
    & /, 1x, '***   FILE = ', a, &
    & /, 1x, '***   NCF:  ', a, &
    & /, 1x, 70('*'))"

  CHARACTER(LEN=256), PARAMETER :: f9200 = "(/, 1x, 70('*'), &
    & /, 1x, '*** SUBROUTINE: ', a, &
    & /, 1x, '***   UNKNOWN WRF OUTPUT VERSION', &
    & /, 1x, '***   IVERSION = ', i3, &
    & /, 1x, '***   GRIDTYPE = ', a, &
    & /, 1x, 70('*'))"

  CHARACTER(LEN=256), PARAMETER :: f9300 = "(/, 1x, 70('*'), &
    & /, 1x, '*** SUBROUTINE: ', a, &
    & /, 1x, '***   ERROR RETRIEVING VARIABLE FROM WRF FILE', &
    & /, 1x, '***   VARIABLE = ', a, &
    & /, 1x, '***   NCF: ', a, &
    & /, 1x, 70('*'))"

  CHARACTER(LEN=256), PARAMETER :: f9400 = "(/, 1x, 70('*'), &
    & /, 1x, '*** SUBROUTINE: ', a, &
    & /, 1x, '***   UNKNOWN OR UNSUPPORTED WRF OUTPUT VERSION', &
    & /, 1x, '***   VERSION = ', a, &
    & /, 1x, 70('*'))"

  CHARACTER(LEN=256), PARAMETER :: f9500 = "(/, 1x, 70('*'), &
    & /, 1x, '*** SUBROUTINE: ', a, &
    & /, 1x, '***   ERROR CLOSING WRF FILE', &
    & /, 1x, '***   NCF: ', a, &
    & /, 1x, 70('*'))"

!-------------------------------------------------------------------------------
! Try to determine if input meteorology file is in NetCDF format or not.
! If NetCDF format, it is probably WRF.
!-------------------------------------------------------------------------------

  rcode = nf90_open (file_mm(1), nf90_nowrite, cdfid)

  IF ( rcode == nf90_noerr ) THEN  ! successfully opened NetCDF file; assume WRF

    !---------------------------------------------------------------------------
    ! If WRF, determine whether or not the Advanced Research WRF, ARW, formerly
    ! known as Eulerian mass, EM) version was used.
    !---------------------------------------------------------------------------

      met_model = 2

    !        룺  ȡ WRF  ļ    VERSION     
    rcode = nf90_get_att(cdfid, nf90_global, 'VERSION', wrfversion)
    IF (rcode /= nf90_noerr) THEN
      WRITE (*,f9300) TRIM(pname), 'VERSION', TRIM(nf90_strerror(rcode))
      CALL graceful_stop (pname)
    ENDIF

    !     汾 ַ      ж
    wrfversion_trimmed = ADJUSTL(TRIM(wrfversion))  ! ȥ   ո      
    IF (INDEX(wrfversion_trimmed, "WRF V3") > 0) THEN
      met_iversion = 2
    ELSE
      WRITE (*,f9400) TRIM(pname), TRIM(wrfversion)
      CALL graceful_stop (pname)
    ENDIF

    !     ԭ д  룺  ȡ GRIDTYPE
    rcode = nf90_get_att (cdfid, nf90_global, 'GRIDTYPE', gridtype)
    IF ( rcode /= nf90_noerr ) THEN
      WRITE (*,f9300) TRIM(pname), 'GRIDTYPE', rcode
      CALL graceful_stop (pname)
    ENDIF

    IF ( ( met_iversion == 2 ) .AND. ( gridtype(1:1) == "C" ) ) THEN
      CALL setup_wrfem (cdfid, ctmlays)
    ELSE
      WRITE (*,f9200) TRIM(pname), met_iversion, gridtype
      CALL graceful_stop (pname)
    ENDIF

    rcode = nf90_close (cdfid)
    IF ( rcode /= nf90_noerr ) THEN
      WRITE (*,f9500) TRIM(pname), TRIM(nf90_strerror(rcode))
      CALL graceful_stop (pname)
    ENDIF

  ELSE  ! error opening file as NetCDF

    WRITE (*,f9000) TRIM(pname), TRIM(file_mm(1)), TRIM(nf90_strerror(rcode))
    CALL graceful_stop (pname)

  ENDIF

END SUBROUTINE setup
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 2025-5-19 10:45:03 | 显示全部楼层

回帖奖励 +1 金钱

您好,你用的CMAQ版本是多少,我查看了CMAQ-5.3.3版本中的MCIP中setup.f90和你给的版本不一样,建议使用CMAQ中对应版本的MCIP。
或者你的wrfout输出文件的global attributes中TITLE变量对应的字符是不是和你给的setup.f90程序对应?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-5-20 12:19:14 | 显示全部楼层
才仔 发表于 2025-5-19 10:45
您好,你用的CMAQ版本是多少,我查看了CMAQ-5.3.3版本中的MCIP中setup.f90和你给的版本不一样,建议使用CMA ...

我的CMAQ是5.3.1,MCIP中setup.f90被我修改过本来其中识别WRF使用的是第几字符,被我修改未识别WRFV3
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

发表于 2025-5-20 15:34:42 | 显示全部楼层
wsj123 发表于 2025-5-20 12:19
我的CMAQ是5.3.1,MCIP中setup.f90被我修改过本来其中识别WRF使用的是第几字符,被我修改未识别 ...

你试试CMAQ-5.3.3,或者试试CMAQ-5.3.3带的mcip,应该是通用的
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

 楼主| 发表于 2025-5-20 16:59:27 | 显示全部楼层
才仔 发表于 2025-5-20 15:34
你试试CMAQ-5.3.3,或者试试CMAQ-5.3.3带的mcip,应该是通用的

收到,我试试。感谢!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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