爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 13643|回复: 11

关于RegCM4海温资料的问题求教!

[复制链接]

新浪微博达人勋

发表于 2014-1-15 09:31:05 | 显示全部楼层 |阅读模式

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

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

x
我在用RegCM4做2013年个例时碰到了这种问题:
我从RegCM4 Data Web上面下载的sst.wkmean.1990-present.nc在做icbc时提示: SST file is not the right one,为什么呢?
数据下载的应该没有问题,我用grads画图试了,最后一个时次的图也是合适的。


sst.wkmean.1990-present.nc这个数据类型是OI_WK吧?
这个数据如果转2010年以前的个例是可以通过的,但是2011年以后就不行了 。

另外,如果用另一个OISST类型的数据sst.mnmean.nc是可以的,但是这个数据在2013年4月以后也会出现错误,不知道为什么?

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

新浪微博达人勋

发表于 2014-1-16 00:09:34 | 显示全部楼层
Which version you used? 4.0 ?

评分

参与人数 1金钱 +10 贡献 +2 收起 理由
letsdo8 + 10 + 2

查看全部评分

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

新浪微博达人勋

 楼主| 发表于 2014-1-22 11:26:20 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-1-22 21:14:42 | 显示全部楼层
本帖最后由 bjj948 于 2014-1-22 21:20 编辑

% cd RegCM-4.0/PreProc/ICBC
% grep 427 *
mod_date.f90:      integer , dimension(427+1097) :: wkday
mod_date.f90:      do i = 2 , 427
mod_date.f90:      do i = 429 , 427 + 1097
mod_mksst.f90:      ks = 427 + 1097
mod_mksst.f90:      do k = 427 + 1097 , 1 , -1
mod_mksst.f90:      do k = 1 , 427 + 1097
mod_mksst.f90:      ks = 427 + 1097
mod_mksst.f90:      do k = 427 + 1097 , 1 , -1
mod_mksst.f90:      do k = 1 , 427 + 1097
mod_sst_1deg.f90:      integer , dimension(427+1097) :: wkday
mod_sst_1deg.f90:        do k = 427 + 1097 , 1 , -1
mod_sst_1deg.f90:        do k = 1 , 427 + 1097
mod_sst_1deg.f90:      integer , intent(out) , dimension(427+1097) :: wkday
mod_sst_1deg.f90:      do i = 2 , 427
mod_sst_1deg.f90:      do i = 429 , 427 + 1097
mod_sst_1deg.f90:      if ( kkk>427 ) it = kkk - 427
mod_sst_1deg.f90:      if ( kkk>427 ) it = kkk - 427

% vi mod_date.f90 mod_mksst.f90 mod_sst_1deg.f90
replace all 427 + 1097 to 427 + 2000

The above 2000 could also be 1500 (or you find the exact record number of weeks in your netcdf format sst data sst.wkmean.1990-present.nc).

评分

参与人数 1金钱 +10 收起 理由
letsdo8 + 10 赞一个!

查看全部评分

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

新浪微博达人勋

发表于 2014-1-22 23:25:43 | 显示全部楼层
本帖最后由 bjj948 于 2014-1-23 00:01 编辑

If you download the data today, the number is 1255.
这是原先的1097不行的原因。

评分

参与人数 1金钱 +10 贡献 +2 收起 理由
letsdo8 + 10 + 2 赞一个!

查看全部评分

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

新浪微博达人勋

 楼主| 发表于 2014-1-23 10:32:10 | 显示全部楼层
bjj948 发表于 2014-1-22 23:25
If you download the data today, the number is 1255.
这是原先的1097不行的原因。

我按照你上面说的把那几个程序里面的1097都改成了2000,还是不行,
提示:READ IN fields at DATE:  2013010100
SST file is not the right one
12

难道需要重新编译吗?我试着重新编译了,但是编译不通过了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-1-23 11:43:57 | 显示全部楼层
段段 发表于 2014-1-23 10:32
我按照你上面说的把那几个程序里面的1097都改成了2000,还是不行,
提示:READ IN fields at DATE:  20 ...

当然得重编译。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-1-23 11:44:08 | 显示全部楼层
段段 发表于 2014-1-23 10:32
我按照你上面说的把那几个程序里面的1097都改成了2000,还是不行,
提示:READ IN fields at DATE:  20 ...

当然得重编译。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-1-23 11:44:34 | 显示全部楼层
当然得重编译。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-1-24 10:53:18 | 显示全部楼层
letsdo8 发表于 2014-1-23 11:44
当然得重编译。

直接make regcm就可以了是吗?可是我这样编译了,提示有错误,错误如下:


make: svnversion: Command not found
make[1]: svnversion: Command not found
make[1]: Entering directory `/data1/dhx/regcm/RegCM-4.0/PreProc/ICBC'
ifort -c -I/data1/dhx/netcdf-3.6.2/include -O3 -fp-model precise -convert big_endian -assume byterecl  -c
mod_sst_1deg.f90
fortcom: Error: mod_sst_1deg.f90, line 920: Error in opening the compiled module file.  Check INCLUDE pat
hs.   [NETCDF]
      use netcdf
----------^
fortcom: Error: mod_sst_1deg.f90, line 1019: Error in opening the compiled module file.  Check INCLUDE pa
ths.   [NETCDF]
      use netcdf
----------^
fortcom: Error: mod_sst_1deg.f90, line 1118: Error in opening the compiled module file.  Check INCLUDE pa
ths.   [NETCDF]
      use netcdf
----------^
fortcom: Error: mod_sst_1deg.f90, line 1245: Error in opening the compiled module file.  Check INCLUDE pa
ths.   [NETCDF]
      use netcdf
----------^
fortcom: Error: mod_sst_1deg.f90, line 961: This name does not have a type, and must have an explicit typ
e.   [NF90_NOWRITE]
        istatus = nf90_open(pathaddname,nf90_nowrite,inet)
----------------------------------------^
fortcom: Error: mod_sst_1deg.f90, line 961: This name does not have a type, and must have an explicit typ
e.   [NF90_OPEN]
        istatus = nf90_open(pathaddname,nf90_nowrite,inet)
------------------^
fortcom: Error: mod_sst_1deg.f90, line 962: This name does not have a type, and must have an explicit typ
e.   [NF90_NOERR]
        if ( istatus/=nf90_noerr ) then
----------------------^
fortcom: Error: mod_sst_1deg.f90, line 966: This name does not have a type, and must have an explicit typ
e.   [NF90_INQ_VARID]
        istatus = nf90_inq_varid(inet,varname,ivar)
------------------^
fortcom: Error: mod_sst_1deg.f90, line 972: This name does not have a type, and must have an explicit typ
e.   [NF90_GET_ATT]
        istatus = nf90_get_att(inet,ivar,'scale_factor',xscale)
------------------^
fortcom: Error: mod_sst_1deg.f90, line 994: This name does not have a type, and must have an explicit typ
e.   [NF90_GET_VAR]
      istatus = nf90_get_var(inet,ivar,work,istart,icount)
----------------^
fortcom: Error: mod_sst_1deg.f90, line 999: This name does not have a type, and must have an explicit typ
e.   [NF90_STRERROR]
        write ( 6,* ) nf90_strerror(istatus)
----------------------^
fortcom: Error: mod_sst_1deg.f90, line 1060: This name does not have a type, and must have an explicit ty
pe.   [NF90_OPEN]
        istatus = nf90_open(pathaddname,nf90_nowrite,inet)
------------------^
fortcom: Error: mod_sst_1deg.f90, line 1065: This name does not have a type, and must have an explicit ty
pe.   [NF90_INQ_VARID]
        istatus = nf90_inq_varid(inet,varname,ivar)

------------------^
fortcom: Error: mod_sst_1deg.f90, line 1071: This name does not have a type, and must have an explicit ty
pe.   [NF90_GET_ATT]
        istatus = nf90_get_att(inet,ivar,'scale_factor',xscale)
------------------^
fortcom: Error: mod_sst_1deg.f90, line 1093: This name does not have a type, and must have an explicit ty
pe.   [NF90_GET_VAR]
      istatus = nf90_get_var(inet,ivar,work,istart,icount)
----------------^
fortcom: Error: mod_sst_1deg.f90, line 1098: This name does not have a type, and must have an explicit ty
pe.   [NF90_STRERROR]
        write ( 6,* ) nf90_strerror(istatus)
----------------------^
fortcom: Error: mod_sst_1deg.f90, line 1159: This name does not have a type, and must have an explicit ty
pe.   [NF90_OPEN]
        istatus = nf90_open(pathaddname,nf90_nowrite,inet)
------------------^
fortcom: Error: mod_sst_1deg.f90, line 1164: This name does not have a type, and must have an explicit ty
pe.   [NF90_INQ_VARID]
        istatus = nf90_inq_varid(inet,varname,ivar)
------------------^
fortcom: Error: mod_sst_1deg.f90, line 1170: This name does not have a type, and must have an explicit ty
pe.   [NF90_GET_ATT]
        istatus = nf90_get_att(inet,ivar,'scale_factor',xscale)
------------------^
fortcom: Error: mod_sst_1deg.f90, line 1182: This name does not have a type, and must have an explicit ty
pe.   [NF90_CLOSE]
        istatus = nf90_close(inet)
------------------^
fortcom: Error: mod_sst_1deg.f90, line 1221: This name does not have a type, and must have an explicit ty
pe.   [NF90_GET_VAR]
      istatus = nf90_get_var(inet,ivar,work,istart,icount)
----------------^
fortcom: Error: mod_sst_1deg.f90, line 1226: This name does not have a type, and must have an explicit ty
pe.   [NF90_STRERROR]
        write ( 6,* ) nf90_strerror(istatus)
----------------------^
fortcom: Error: mod_sst_1deg.f90, line 1286: This name does not have a type, and must have an explicit ty
pe.   [NF90_OPEN]
        istatus = nf90_open(pathaddname,nf90_nowrite,inet)
------------------^
fortcom: Error: mod_sst_1deg.f90, line 1291: This name does not have a type, and must have an explicit ty
pe.   [NF90_INQ_VARID]
        istatus = nf90_inq_varid(inet,varname,ivar)
------------------^
fortcom: Error: mod_sst_1deg.f90, line 1297: This name does not have a type, and must have an explicit ty
pe.   [NF90_GET_ATT]
        istatus = nf90_get_att(inet,ivar,'scale_factor',xscale)
------------------^
fortcom: Error: mod_sst_1deg.f90, line 1309: This name does not have a type, and must have an explicit ty
pe.   [NF90_CLOSE]
        istatus = nf90_close(inet)
------------------^
fortcom: Error: mod_sst_1deg.f90, line 1348: This name does not have a type, and must have an explicit ty
pe.   [NF90_GET_VAR]
      istatus = nf90_get_var(inet,ivar,work,istart,icount)

----------------^
fortcom: Error: mod_sst_1deg.f90, line 1353: This name does not have a type, and must have an explicit ty
pe.   [NF90_STRERROR]
        write ( 6,* ) nf90_strerror(istatus)
----------------------^
compilation aborted for mod_sst_1deg.f90 (code 1)
make[1]: *** [mod_sst_1deg.o] Error 1
make[1]: Leaving directory `/data1/dhx/regcm/RegCM-4.0/PreProc/ICBC'
make: *** [icbc] Error 2



NETCDF安装是合适的,mod_sst_1deg.f90这个程序只是改了1097这个数字而已,怎么会出现这种错误呢?
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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