[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [jmadata-users33] software to read GPV (and to convert intoNetCDF)



ËÙÇ·ÆâÍÍ
(Bjmadata-users ¤Î³§ÍÍ
(B
(BËɺҲʸ¦¤ÎÎëÌڤǤ¹¡£
(B¤¹¤¤¤Þ¤»¤ó¡¢¤Á¤ç¤Ã¤ÈŤ¤¤Ç¤¹¡£
(B
(B>>>>> In article '[jmadata-users33] software to read GPV (and to convert into NetCDF)',
(B>>>>>   on Thu, 18 Jul 2002 12:05:57 +0900,
(B>>>>> horinout@xxxxxx(Takeshi Horinouchi)  said ...
(B> 
(B> MSMµÚ¤ÓRSM¤Î¥Ç¡¼¥¿¡Êin¡Ö¹ñÆ⣲¿Ê·Á¼°¡×¡Ë¤òÆɤि¤á¤Î¥½¥Õ¥È¤òºî¤ê
(B> ¤Þ¤·¤¿¡£µ¤¾ÝÄ£¤ÎË­ÅĤµ¤ó¤Ë¥¢¥É¥Ð¥¤¥¹¤ò夭¤Þ¤·¤¿¤Î¤Ç¡¢µ­¤·¤Æ´¶¼Õ
(B> Ãפ·¤Þ¤¹¡£
(B
(B¤³¤ì¤òÍøÍѤ·¤Æ¡¢msm ¤Î¥Ç¡¼¥¿¤ò netcdf ¤ØÊÑ´¹¤·¤Æ¤ß¤Þ¤·¤¿¡£
(B»ä¤Ï GrADS ¥æ¡¼¥¶¤Ê¤Î¤Ç¡¢GrADS ¤ÇľÀÜÆɤá¤ë¤ÈÂçÊÑÊØÍø¤Ê¤Î¤Ç¤¹¤¬¡¢
(B¤³¤Î¥½¥Õ¥È¤ÇÊÑ´¹¤·¤¿¤â¤Î¤ò GrADS ¾å¤Ç³«¤¯¤È
(Bga-> sdfopen MSM00PLM018_1.nc 
(BScanning self-describing file:  MSM00PLM018_1.nc
(BSDF file has no discernable X coordinate.
(B¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤·¤Þ¤¤¡¢¤¦¤Þ¤¯Æɤá¤Þ¤»¤ó¡£
(B
(Bncdump ¤Ç¥Õ¥¡¥¤¥ë¤ÎÍͻҤò¤ß¤ë¤È¡¢GrADS ¤Çɽ¼¨²Äǽ¤Ê¥Õ¥¡¥¤¥ë¤Ï
(B--------------------------------------------------------------¤³¤³¤«¤é
(Bvariables:
(B        float level(level) ;
(B                level:units = "millibar" ;
(B                level:actual_range = 1000.f, 10.f ;
(B                level:long_name = "Level" ;
(B                level:positive = "down" ;
(B                level:GRIB_id = 100s ;
(B                level:GRIB_name = "hPa" ;
(B        float lat(lat) ;
(B                lat:units = "degrees_north" ;
(B                lat:actual_range = 90.f, -90.f ;
(B                lat:long_name = "Latitude" ;
(B        float lon(lon) ;
(B                lon:units = "degrees_east" ;
(B                lon:long_name = "Longitude" ;
(B                lon:actual_range = 0.f, 357.5f ;
(B        double time(time) ;
(B                time:units = "hours since 1-1-1 00:00:0.0" ;
(B                time:long_name = "Time" ;
(B                time:actual_range = 17531687.999998, 17540442. ;
(B                time:delta_t = "0000-00-00 06:00:00" ;
(B--------------------------------------------------------------¤³¤³¤Þ¤Ç
(B¤Î¤è¤¦¤Ë¼¡¸µ¤ÎÊÑ¿ô¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤¹¤¬¡¢msm ¤Î¥Ç¡¼¥¿¤òÊÑ´¹¤·¤¿¤â¤Î¤Ï
(B--------------------------------------------------------------¤³¤³¤«¤é
(B        float lon(lon) ;
(B        float lat(lat) ;
(B        float p(p) ;
(B        float time(time) ;
(B--------------------------------------------------------------¤³¤³¤Þ¤Ç
(B¤È¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£
(B
(B¤³¤³¤ò¤Ê¤ó¤È¤«¤¹¤ì¤Ð¤¤¤¤¤Î¤«¤Ê¡¢¤È»×¤¤¡¢¥½¥Õ¥È¤Î¥½¡¼¥¹¤Î
(Bgpv2nc.rb ¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òÊѹ¹¤·¤Æ¤ß¤Þ¤·¤¿¡£
(B¤Þ¤º¡¢±ôľÊý¸þ¤Î´Ø¿ô¤¬ p ¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Î¤ò level ¤ËÊѤ¨¤Æ¤ß¤Þ¤·¤¿¡£
(B¤Þ¤¿¡¢
(B--------------------------------------------------------------¤³¤³¤«¤é
(B    output.def_var('lon', "sfloat", [dimx])
(B    output.def_var('lat', "sfloat", [dimy])
(B    output.def_var('level', "sfloat", [dimz])  if not plane.first.nil?
(B    output.def_var('time', "sfloat", [dimt])
(B--------------------------------------------------------------¤³¤³¤Þ¤Ç
(B¤È¤Ê¤Ã¤Æ¤¤¤ëÉôʬ¤ò
(B--------------------------------------------------------------¤³¤³¤«¤é
(B    output.def_var('lon', "sfloat", [dimx])
(B    output.var('lon').put_att('units', 'degrees_east')
(B    output.var('lon').put_att('long_name', 'Longitude')
(B    output.def_var('lat', "sfloat", [dimy])
(B    output.var('lat').put_att('units', 'degrees_north')
(B    output.var('lat').put_att('long_name', 'Latitude')
(B    output.def_var('level', "sfloat", [dimz])  if not plane.first.nil?
(B    output.var('level').put_att('units', 'millibar') if not plane.first.nil?
(B    output.var('level').put_att('long_name', 'Level') if not plane.first.nil?
(B    output.var('level').put_att('positive', 'down')  if not plane.first.nil?
(B    output.def_var('time', "sfloat", [dimt])
(B    output.var('time').put_att('units', 'hours')
(B    output.var('time').put_att('long_name', 'Time')
(B--------------------------------------------------------------¤³¤³¤Þ¤Ç
(B¤È½ñ¤­²Ã¤¨¤ÆÊѹ¹¤·¤Þ¤·¤¿¡£
(B¤¹¤ë¤È¡¢¤È¤ê¤¢¤¨¤º GrADS ¤Çɽ¼¨¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤ê¤Þ¤·¤¿¡£
(B¤¬¡¢¤Þ¤À²þÁ±¤·¤¿¤¤¤³¤È¤¬¤¢¤ê¤Þ¤¹¡£
(B
(Blon, lat, level ¤Ë´Ø¤·¤Æ¤Ï¤É¤Î¥Õ¥¡¥¤¥ë¤â¤Û¤ÜƱ¤¸¤Ç¤·¤ç¤¦¤«¤é
(B¤³¤Î¤Þ¤Þ¤Ç¤â¤¤¤¤¤Î¤Ç¤¹¤¬¡¢»þ´Ö¤Ë´Ø¤·¤Æ¤Ï¥Õ¥¡¥¤¥ëËè¤Ë°ã¤¤¤Þ¤¹¡£
(Bº£¤Î¾õÂ֤ǤϤɤ¦¤·¤¿¤â¤Î¤«¤ï¤«¤é¤Ê¤¤¤Î¤Ç¡¢¤È¤ê¤¢¤¨¤ºÀßÄê¤Ï¤»¤º¡¢
(B·ë²Ì¤È¤·¤Æ1ǯ1·î1Æü00Z ¤«¤é3»þ´Ö¤ª¤­¡¢¤È¤¤¤¦ÆâÍƤˤʤäƤ¤¤Þ¤¹¡£
(B¤ª¤½¤é¤¯¡¢¤â¤È¤Î msm ¤Î¥Ç¡¼¥¿¥Õ¥¡¥¤¥ë¤«¤é»þ´Ö¤ÎÃͤòÆɤó¤Ç netcdf 
(B¥Õ¥¡¥¤¥ë¤Ë½ñ¤­¤³¤á¤ë¤Î¤Ç¤Ï¤Ê¤¤¤«¤È»×¤Ã¤Æ¤¤¤ë¤Î¤Ç¤¹¤¬¡¢
(Bº£¤Î»ä¤Ë¤Ï¼ê¤¬Í¾¤ê¤½¤¦¤Ç¤¹¡£
(B
(B¤Þ¤¿¡¢»ä¤Ï ruby ¤ÏÁ´¤¯¤¤¤¸¤Ã¤¿¤³¤È¤Ï¤Ê¤¯¡¢netcdf ¥Õ¥¡¥¤¥ë¤ÎÊÔ½¸¤â
(B¼«Ê¬¤Ç¥×¥í¥°¥é¥à¤Ï½ñ¤¤¤¿¤³¤È¤¬¤Ê¤¤¤Î¤Ç¡¢¤Á¤ã¤ó¤È¤·¤¿¤³¤È¤ò¤ä¤Ã¤Æ¤¤¤ë¤Î¤«
(BÉ԰¤Ǥ¹¡£ÆÃ¤Ë 'level' ¤Î¹à¼þÊդʤɡ£¤É¤Ê¤¿¤«¸«¤Æ¤¤¤¿¤À¤±¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡£
(B
(BÂçÊÑ¿½¤·Ìõ¤Ê¤¤¤Ç¤¹¤¬¡¢¡Ö¤³¤¦¤¤¤¦´Ø¿ô¤Ç¥×¥í¥°¥é¥àÃæ¤Ç°·¤Ã¤Æ¤¤¤ë¡×¤Ê¤É¡¢
(B¤É¤Ê¤¿¤«¥¢¥É¥Ð¥¤¥¹¤ò¤¤¤¿¤À¤±¤Ê¤¤¤Ç¤·¤ç¤¦¤«¡£
(B¡ô ¤â¤Á¤í¤ó¡¢Ä¾ÀܲþÎɤ·¤Æ¤¯¤ì¤ì¤Ð¤¢¤ê¤¬¤¿¤¤¤Ç¤¹¤¬¡Ä¡Ä
(B
(B--------------------------------------------------
(B ÎëÌÚ ¿¿°ì ¡¿ ËɺҲʳص»½Ñ¸¦µæ½ê Áí¹çËɺҸ¦µæÉôÌç
(B e-mail : ssuzuki@xxxxxx  
(B--------------------------------------------------