爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
12
返回列表 发新帖
楼主: Eternity

[分享资料] grads基础问题

[复制链接]

新浪微博达人勋

发表于 2014-8-2 21:44:24 | 显示全部楼层
Eternity 发表于 2014-7-31 09:02
嗯,谢谢鼓励。刚学感觉困难重重,有点不自信。

加了个油~一起进步~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-8-3 15:29:09 | 显示全部楼层
谢谢大家关心。问题解决了,总结下。同一目录下,不同时次的数据文件可以用一个ctl来描述,实现批处理。我遇到的问题是,所要处理的数据文件分散在不同的子文件夹下,每个月形成一个文件夹,几十年的数据,对此我同样想实现批处理。问题的关键是路径名的循环。把gs文件关键的部分复制在下面(非完整),需要的朋友应该会看得出来。


(1)year = 1979;   
while(year < 2012)
'cd '%year%'';
month = 1;     
while(month < 13)
  if(month < 10)   
   yrmo = year%0%month   
  else
   yrmo = year%month
  endif
  'cd '%yrmo%'';
(2)  'set fwrite E:/'%yrmo%'.dat'


这样可以循环进入不同的路径。说白其实就是连接符%的运用。
WISH IT HELPS


注:另外,在做的过程中遇到个小问题,望点拨。不同月的数据各自构成一个文件夹,而不同月的天数是不同的,在批处理过程中对t循环时会遇到小麻烦,就是不知道该文件夹下到底有多少文件。当然似乎笨方法把12个月的天数都写入gs里也可以,但是想知道grads能否做到这一点,就是返回某文件夹下到底有多少个文件。
THAT'S ALL.













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

新浪微博达人勋

发表于 2014-8-4 14:52:26 | 显示全部楼层
open(1,file="d:\"//sta(i)//".txt"),把年月数据赋值给sta(i)试一下,(其实这是一句Fortran)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-8-4 19:54:14 | 显示全部楼层
学习一下再说
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-8-4 21:40:26 | 显示全部楼层
XiaoyuBai 发表于 2014-8-4 14:52
open(1,file="d:\"//sta(i)//".txt"),把年月数据赋值给sta(i)试一下,(其实这是一句Fortran)
...

fortran也是新手。记得了,谢谢!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-8-5 08:26:07 | 显示全部楼层
跟帖,参与学习中。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2014-8-5 13:25:31 | 显示全部楼层
Eternity 发表于 2014-8-3 15:29
谢谢大家关心。问题解决了,总结下。同一目录下,不同时次的数据文件可以用一个ctl来描述,实现批处理。我 ...

一个月有多少天是相对固定的 直接弄个子函数判断就行了  传入年份月份 返回天数  判断的时候最简单的就是各种if语句,2月的时候加个闰年判断
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-8-5 16:53:54 | 显示全部楼层
mofangbao 发表于 2014-8-5 13:25
一个月有多少天是相对固定的 直接弄个子函数判断就行了  传入年份月份 返回天数  判断的时候最简单的就是 ...

Got it. 谢谢啦。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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