24小时热门版块排行榜    

查看: 961  |  回复: 2

无知小白菜

新虫 (初入文坛)

[求助] 师兄给了一段处理气象数据的程序 看不太懂 跪求大神指导解惑

这是子程序部分

subroutine readcmfd(ix,jx,iyear,imon,nmstep,dir,cmfd)  !fang

      implicit none

      character(len=256),intent(in) :: dir

      integer, intent(in) :: ix,jx
      integer, intent(in) :: iyear,imon
      integer, intent(in) :: nmstep
      real, intent(out),dimension(ix,jx,248,7) :: cmfd

      integer :: i,j,itm,ivar
      integer, parameter :: nvar = 7
      real, allocatable, dimension(:,:, :: var

      include 'netcdf.inc'

      CHARACTER(len=256) :: ncfile
      CHARACTER(len=12)  :: varname(nvar)
      INTEGER STATUS
      INTEGER NCIDin
      INTEGER varID
      INTEGER START(3), COUNT(3)

      data (varname(ivar), ivar=1,nvar)            &
                    /'temp','shum','wind','pres',  &
                     'prec','srad','lrad'/

      allocate( var (ix,jx,nmstep) )

      START(1) = 1
      START(2) = 1
      START(3) = 1

      COUNT(1) = IX
      COUNT(2) = JX
      COUNT(3) = NMSTEP

      do ivar=1,7
      do itm=1,NMSTEP
      do J=1,JX
      do I=1,IX
           CMFD(i,j,itm,ivar)      = -999.
      end do
      end do
      end do
      end do

      write(*,*) '-------------------------------------------'
      
      do ivar = 1,  nvar
         write(*,*) varname(ivar)
         !write(*,'(I4.4,I2.2)') iyear,imon
         write(ncfile,100) iyear,varname(ivar),iyear,imon
         ncfile = TRIM(DIR)//ncfile

         write(*,*) 'READFORC: opening ',trim(ncfile)
         STATUS=NF_OPEN(ncfile,NF_NOWRITE,NCIDin)

         IF (STATUS .NE. NF_NOERR) then
           print *,'error when reading forcing data'
           print *,NF_STRERROR(status)
           stop
         ENDIF

         STATUS=NF_INQ_VARID (NCIDin, varname(ivar), varID)
         STATUS=NF_GET_VARA_real(NCIDin,varID,START,COUNT,var)
         !print *,status

        ! if (ivar .eq. 7) then
        !    !print *,var(223,209,1)
        !    !print *,var(223,209,1) * 1.e-6  + 0.025
        !    print *,var(223,209,1) * 2.5e-1 + 685.

         !   do j=1,400
         !     write(1215,"(700F10.3)" (var(i,jx-j+1,1) * 2.5e-1 +685.,i=1,700)
         !   enddo

         !endif

         do I=1,IX
         do J=1,JX
         do itm=1,nmstep
           cmfd(i,jx-j+1,itm,ivar) = var(i,j,itm)
         end do
         end do
         end do

         STATUS=NF_CLOSE(NCIDin)
      end do

100  format('/',i4.4,'/',a4,                              &
             '_ITPCAS-CMFD_V0106_B-01_03hr_010deg_',i4.4,i2.2,'.nc')

      write(*,*) '-------------------------------------------'

  10 format(1x,5f15.5)

      return
      end subroutine readcmfd
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

无知小白菜

新虫 (初入文坛)

这段程序已经看了个大概  差不多明白了  谢谢~~
2楼2016-03-31 14:19:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yituoshiniao

至尊木虫 (著名写手)

楼主 问下啊 怎么批处理得到多个nc文件平均值呢
3楼2016-08-02 21:11:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 无知小白菜 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 国基金的申报应该改成非等额制,评价高的钱多评价低的钱少,但是增加资助率 +7 a089 2026-08-07 7/350 2026-08-08 18:05 by gltch
[基金申请] 好奇怪的filecode +3 布布和一二 2026-08-08 4/200 2026-08-08 17:46 by zhanghaozhu
[基金申请] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 qTvzQBRAHjCi 2026-08-07 4/200 2026-08-08 17:22 by oEVWOejN9taj
[考博] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 Vi50GxzrFcSG 2026-08-07 4/200 2026-08-08 16:27 by oEVWOejN9taj
[考博] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 Vi50GxzrFcSG 2026-08-07 4/200 2026-08-08 16:22 by oEVWOejN9taj
[论文投稿] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 Vi50GxzrFcSG 2026-08-07 6/300 2026-08-08 15:07 by oEVWOejN9taj
[论文投稿] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +3 WQyTGMbfH7Cx 2026-08-07 4/200 2026-08-08 15:02 by oEVWOejN9taj
[博后之家] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 HEQlVqMTIA7d 2026-08-07 6/300 2026-08-08 14:42 by oEVWOejN9taj
[公派出国] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 HEQlVqMTIA7d 2026-08-07 6/300 2026-08-08 14:39 by oEVWOejN9taj
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +4 HEQlVqMTIA7d 2026-08-07 5/250 2026-08-08 14:27 by oEVWOejN9taj
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 KXLV3nuBVBY7 2026-08-07 5/250 2026-08-08 14:07 by oEVWOejN9taj
[基金申请] 关于代码变化问题,想知道的进来 +11 且听虎啸 2026-08-07 14/700 2026-08-08 12:50 by 布布和一二
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 HEQlVqMTIA7d 2026-08-07 3/150 2026-08-08 03:47 by 6vVgjDL4CnGu
[基金申请] 关于filecode +4 布布和一二 2026-08-07 7/350 2026-08-07 22:55 by zhanghaozhu
[基金申请] 化学口download_prp&fileCode的固定段好像这几天一直没变,有变的大神么? +3 Tide man 2026-08-07 4/200 2026-08-07 22:39 by Tide man
[基金申请] 固定端突然变了,今天 +6 archvillain 2026-08-06 10/500 2026-08-07 16:03 by 医学老男孩
[基金申请] 听说今天filecode变了 +24 布布和一二 2026-08-06 47/2350 2026-08-07 16:02 by zhiyanjiang
[基金申请] filecode与中标关系的预测 +3 布布和一二 2026-08-07 3/150 2026-08-07 15:09 by gltch
[基金申请] 好消息?这个有何含义??? +8 Tide man 2026-08-05 10/500 2026-08-05 16:14 by xmuxiaoyu
[基金申请] 面上提前没消息,有中的吗 +14 archvillain 2026-08-02 18/900 2026-08-04 14:42 by archvillain
信息提示
请填处理意见