Google

PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-strict.dtd">

RubyNetCDF ¥ì¥Õ¥¡¥ì¥ó¥¹¥Þ¥Ë¥å¥¢¥ë

---------------------------------------------

³µÍ×

RubyNetCDF ¤Ï NetCDF ¥é¥¤¥Ö¥é¥ê¡¼¤Î Ruby ¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ç¤¢¤ë¡£Ruby ¤Ï¥Õ¥ê¡¼¤Ê¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¥¹¥¯¥ê¥×¥È¸À¸ì¤Ç¤¢¤ê¡¢ http://www.ruby-lang.org/ja/ ¤«¤éÆþ¼ê¤Ç¤­¤ë¡£RubyNetCDF ¤Ï¿ôÃÍÇÛÎó¤È¤·¤Æ¡¢ Ruby ¤Ç°ìÈÌŪ¤Ë»È¤ï¤ì¤Æ¤¤¤ë¿¼¡¸µ¿ôÃÍÇÛÎó¥é¥¤¥Ö¥é¥ê¡¼ NArray ¤òÍѤ¤¤Æ ¤¤¤ë(http://www.ruby-lang.org/en/raa-list.rhtml?name=NArray)¡£ NArray ¤Ï¥Ç¡¼¥¿¤ò¡¢C ¤Î¥Ý¥¤¥ó¥¿¡¼¤¬»Ø¤¹Ï¢Â³¤·¤¿¥á¥â¥ê¡¼ÎÎ°è ¤ËÊÝ»ý¤·¡¢·×»»µ¡»ñ¸»¤ò¸úΨ¤è¤¯ÍøÍѤ¹¤ë¡£NArray ¤Ï Python ¤Ë¤ª¤±¤ë NumPy ¤È»÷¤ë¤¬¡¢´ö¤Ä¤«¤Î¥Æ¥¹¥È¤Ï NArray ¤Î¤Û¤¦¤¬ NumPy ¤è¤ê¸úΨ¤¬Îɤ¤ ¤³¤È¤ò¼¨º¶¤·¤Æ¤¤¤ë¡£

¹½À®

RubyNetCDF ¤Ï°Ê²¼¤Î£´¤Ä¤Î¥¯¥é¥¹¤«¤é¹½À®¤µ¤ì¤ë¡£

  • ¥¯¥é¥¹ NetCDF -- ¥Õ¥¡¥¤¥ë¤Î¥¯¥é¥¹

    °ì¤Ä¤ÎNetCDF¥¯¥é¥¹¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï°ì¤Ä¤Î NetCDF ¥Õ¥¡¥¤¥ë¤ËÂбþ¤¹¤ë

  • ¥¯¥é¥¹ NetCDFDim -- ¼¡¸µ¤Î¥¯¥é¥¹

    C ÈÇ NetCDF ¤Ç¤Ï¡¢¼¡¸µ¤Ï¡¢¥Õ¥¡¥¤¥ë¤ÎID¤È¼¡¸µID¤È¤¤¤¦£²ÊÑ¿ô¤ÎÁȤÇɽ¤µ¤ì¤ë¤¬¡¢ Ruby ÈǤǤϰì¤Ä¤Î NetCDFDim ¥ª¥Ö¥¸¥§¥¯¥È¤ÇÂåɽ¤µ¤ì¤ë

  • ¥¯¥é¥¹ NetCDFVar -- ÊÑ¿ô¤Î¥¯¥é¥¹

    C ÈÇ NetCDF ¤Ç¤Ï¡¢ÊÑ¿ô¤Ï¡¢¥Õ¥¡¥¤¥ë¤ÎID¤ÈÊÑ¿ôID¤È¤¤¤¦£²ÊÑ¿ô¤ÎÁȤÇɽ¤µ¤ì¤ë¤¬¡¢ Ruby ÈǤǤϰì¤Ä¤Î NetCDFVar ¥ª¥Ö¥¸¥§¥¯¥È¤ÇÂåɽ¤µ¤ì¤ë

  • ¥¯¥é¥¹ NetCDFAtt -- °À­¤Î¥¯¥é¥¹

    C ÈÇ NetCDF ¤Ç¤Ï¡¢Â°À­¤Ï¡¢¥Õ¥¡¥¤¥ë¤ÎID¤ÈÊÑ¿ôID¤È°À­Ì¾¤ÎÁȤÇɽ¤µ¤ì¤ë¤¬¡¢ Ruby ÈǤǤϰì¤Ä¤Î NetCDFAtt ¥ª¥Ö¥¸¥§¥¯¥È¤ÇÂåɽ¤µ¤ì¤ë

¥Ç¡¼¥¿·¿

Ëܥ饤¥Ö¥é¥ê¡¼¤Ç¤ÏÁ´¤Æ¤Î NetCDF ÊÑ¿ô¤Î·¿ char, byte, short, int, float, double ¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¡£¤·¤«¤·¡¢¤³¤ì¤é¤Ï Ruby ¤Î¡Ê¤è¤êÀµ³Î ¤Ë¸À¤¦¤È NArray ¤Î¡Ë´·Îã¤Ë½¾¤Ã¤Æ¡¢¤½¤ì¤¾¤ì "char", "byte", "sint", "int", "sfloat", "float" ¤È¸Æ¤Ð¤ì¤ë¡£½¾¤Ã¤Æ¡¢NetCDFVar ¥¯¥é¥¹¤Î vartype (=ntype) ¤Ï¤³¤ì¤é¤Îʸ»úÎó¤Î°ì¤Ä¤òÊÖ¤¹¡£¤Þ¤¿¡¢NetCDF¥¯¥é¥¹¤Î def_var ¥á ¥½¥Ã¥É¤Ï¡¢ÊÑ¿ô¤òÄêµÁ¤¹¤ëºÝ¡¢¤³¤ì¤é¤ò¼õ¤±ÉÕ¤±¤ë¡£ÆÃ¤ËÃí°Õ¤¹¤ëɬÍפ¬¤¢¤ë ¤Î¤Ï¡¢Ëܥ饤¥Ö¥é¥ê¡¼¤Ç¤Î "float" ¤Ï C ¤Ç¸À¤¦¤È¤³¤í¤Î double ¤ò°ÕÌ£¤¹¤ë ¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£¤³¤ì¤Ï Ruby ¤Î´·Îã¤Î¤»¤¤¤Ç¤¢¤ë -- ÁȤ߹þ¤ß¤Î Float ¥¯¥é¥¹¤Ï¡¢C ¤Î float ¤Ç¤Ê¤¯ double ¤ËÂбþ¤¹¤ë¤Î¤Ç¤¢¤ë¡£

NetCDFVar ¥¯¥é¥¹¤Î get ¥á¥½¥Ã¥É¤Ï¥Õ¥¡¥¤¥ëÃæ¤ÈƱ¤¸·¿¤Î NArray ÊÑ¿ô¤ËÃÍ ¤òÆÉ¤ß¹þ¤à¤¬¡¢"char" ·¿ÊÑ¿ô¤Ë¤Ä¤¤¤Æ¤Ï "byte" ·¿ NArray ¤ËÆÉ¤ß¹þ¤Þ¤ì¤ë¡£ ¤³¤ì¤Ï NArray ¤¬ "char" ·¿¤ò»ý¤¿¤Ê¤¤¤«¤é¤Ç¤¢¤ë¡£¤¿¤À¡¢¤½¤â¤½¤â NArray ¤Ï byte ·¿¤Çʸ»úÎó¤ò´Êñ¤Ë°·¤¨¤ë¤Î¤Ç¡¢ÆÃ¤ËÉÔÅÔ¹ç¤Ï¤Ê¤¤¤È¹Í¤¨¤é¤ì¤ë¡£

¥¨¥é¡¼½èÍý

¥¨¥é¡¼¤Ï´ðËÜŪ¤Ë¤ÏÎã³°¤òȯÀ¸¤¹¤ë¤³¤È¤Ë¤è¤êÂн褹¤ë¡£Ã¢¤·¡¢ÃͤòÊÖ¤¹¥á¥½¥Ã ¥É¤Ç¤Ï·ÚÈù¤Ê¥¨¥é¡¼¤Ï nil ¤òÊÖ¤¹¤³¤È¤ÇÂн褹¤ë¡Ê°À­ÃͤòÆÀ¤ë¤¿¤á¤Ë»ØÄê ¤µ¤ì¤¿Ì¾Á°¤Î°À­¤¬Â¸ºß¤·¤Ê¤¤¤È¤­¤Ê¤É¡Ë¡£Î㳰Ū¤Ê¾õ¶·¤Ç nil ¤òȯÀ¸¤¹¤ë ¥á¥½¥Ã¥É¤Ë¤Ä¤¤¤Æ¤Ï¥Þ¥Ë¥å¥¢¥ë¤ËÌÀµ­¤·¤Æ¤¢¤ë¡£

¥»¥­¥å¥ê¥Æ¥£

ÁȤ߹þ¤ß¤Î File ¥¯¥é¥¹¤ÈƱ¤¸¥»¥­¥å¥ê¥Æ¥£¡¼Âбþ¤ò¤·¤Æ¤¤¤Æ¤ë¡£

»ÈÍÑË¡

RubyNetCDF¥é¥¤¥Ö¥é¥ê¡¼¤òÍøÍѤ¹¤ë¤¿¤á¤Ë¤Ï¡¢¤Þ¤º¼¡¤Î¹Ô¤ò Ruby ¥×¥í¥°¥é¥à¤Ë½ñ¤¤ ¤Æ¥é¥¤¥Ö¥é¥ê¡¼¤ò¥í¡¼¥É¤¹¤ëɬÍפ¬¤¢¤ë¡£

require 'numru/netcdf'

¤³¤³¤Ç¡¢'numru' ("Numerical Ruby"¤«¤é¼è¤é¤ì¤¿) ¤Ï¥æ¡¼¥¶¡¼¤Î¥é¥¤¥Ö¥é¥ê¡¼ ¥í¡¼¥É¥Ñ¥¹Ãæ¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¡¼¤Ç¡¢RubyNetCDF ¥é¥¤¥Ö¥é¥ê¡¼¤¬ÃÖ¤«¤ì¤ë¡£ ¤¹¤ë¤È¡¢°Ê²¼¤Î¤è¤¦¤ËÍøÍѤǤ­¤ë¤è¤¦¤Ë¤Ê¤ë¡£

file = NumRu::NetCDF.create('tmp.nc')
x = file.def_dim('x',10)
y = file.def_dim('y',10)
v = file.def_var('v','float',[x,y])
file.close

¤³¤³¤Ç¡¢NumRu ¤Ï¤³¤Î¥é¥¤¥Ö¥é¥ê¡¼¤ò´Þ¤à¥â¥¸¥å¡¼¥ë¤Ç¤¢¤ë¡£¤³¤Î¤è¤¦¤Ê¥â¥¸¥å¡¼ ¥ë¤Ë¤¯¤ë¤ó¤Ç¤¢¤ë¤Î¤Ï¡¢Ì¾Á°¶õ´Ö¤Ç¤Î¾×ÆÍ¤òÈò¤±¤ë¤¿¤á¤Ç¤¢¤ë¡£¤³¤Î¤è¤¦¤Ê°· ¤¤¤ò¤·¤Ê¤¤¾ì¹ç¡¢¤â¤·¤â¥æ¡¼¥¶¡¼¤¬¡¢Ëܥ饤¥Ö¥é¥ê¡¼Ãæ¤Î¥¯¥é¥¹¤È̾Á°¤¬¾×ÆÍ ¤¹¤ë¥¯¥é¥¹¤ä¥â¥¸¥å¡¼¥ë¤ò´Þ¤à¥é¥¤¥Ö¥é¥ê¡¼¤ò»È¤ª¤¦¤È¤¹¤ë¤È¡¢ÌäÂ꤬µ¯¤ë¡£

¤³¤Î¤è¤¦¤ÊÌäÂ꤬µ¯¤³¤é¤Ê¤¤¤Ç¤¢¤í¤¦¾ì¹ç¤Ï¡¢"NumRu::" ¤È¤¤¤¦´§¤Ï¡¢NumRu ¥â¥¸¥å¡¼¥ë¤ò¡Ö¥¤¥ó¥¯¥ë¡¼¥É¡×¤¹¤ë¤³¤È¤Ç³°¤»¤ë¡Ê¸½ºß¤Î¥¹¥³¡¼¥×¤Ë¤ª¤¤¤Æ¤È ¤¤¤¦¤³¤Ç¤¢¤ë¡Ë¡£½¾¤Ã¤Æ¼¡¤Î¤è¤¦¤Ë½ñ¤±¤ë¡£

include NumRu
file = NetCDF.create('tmp.nc')
...

¤µ¤é¤Ê¤ë»ÈÍÑÎã¤È¤·¤Æ¤Ï¥À¥¦¥ó¥í¡¼¥ÉÍѥѥ屡¼¥¸¤Ë´Þ¤Þ¤ì¤ë demo ¤ä test ¥×¥í¥°¥é¥à¤ò»²¾È¤»¤è¡£

---------------------------------------------

¥Þ¥Ë¥å¥¢¥ë¤Î¸«Êý

¥á¥½¥Ã¥É̾(°ú¿ô1, °ú¿ô2, ...) -- ¾Êά²Äǽ¤Ê°ú¿ô¤Ï °ú¿ô̾=¥Ç¥Õ¥©¥ë¥ÈÃÍ ¤Î·Á¤Ç¼¨¤¹

µ¡Ç½¤Î²òÀâ

°ú¿ô

  • °ú¿ô1¤Î̾ (¤½¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¼è¤êÆÀ¤ëÃÍ): ÀâÌÀ
  • °ú¿ô2¤Î̾ (¤½¤Î¥¯¥é¥¹¤Þ¤¿¤Ï¼è¤êÆÀ¤ëÃÍ): ÀâÌÀ
  • ...

Ìá¤êÃÍ

  • Ìá¤êÃͤÎÀâÌÀ

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • NetCDF ver 3 ¤Î´Ø¿ô̾¡£³ç¸Ì¤¬¤Ê¤¤¾ì¹ç¡¢¤½¤Î´Ø¿ô¤ÈƱÅù¤Îµ¡Ç½¤òÍ­ ¤¹¤ë¤³¤È¤ò¼¨¤¹¡£Ä¾ÀÜŪ¤ÊÂбþ¤¬¤Ê¤¤¾ì¹ç¡¢³ç¸ÌÆâ¤Ë°Í¸¤¹¤ë´Ø¿ô¤òµó¤²¤ë¡£

---------------------------------------------

¥á¥½¥Ã¥É¥¤¥ó¥Ç¥Ã¥¯¥¹

  • ¥¯¥é¥¹ NetCDF

    ¥¯¥é¥¹¥á¥½¥Ã¥É

    • NetCDF.open ¥Õ¥¡¥¤¥ë¥ª¡¼¥×¥ó¡Ê¥¯¥é¥¹¥á¥½¥Ã¥É¡Ëmode="w" ¤Ç¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤±¤ì¤Ð¿·µ¬ºîÀ®
    • NetCDF.new NetCDF.open¥á¥½¥Ã¥É¤Î¥¨¥¤¥ê¥¢¥¹¤Ç¤¢¤ë
    • NetCDF.create NetCDF¥Õ¥¡¥¤¥ë¤òºî¤ë¡Ê¥¯¥é¥¹¥á¥½¥Ã¥É)
    • NetCDF.create_tmp ¥Æ¥ó¥Ý¥é¥ê¡¼NetCDF¥Õ¥¡¥¤¥ë¤òºî¤ë¡Ê¥¯¥é¥¹¥á¥½¥Ã¥É)

    ¥¤¥ó¥¹¥¿¥ó¥¹¥á¥½¥Ã¥É

    • close ¥Õ¥¡¥¤¥ë¥¯¥í¡¼¥º
    • ndims ¥Õ¥¡¥¤¥ëÃæ¤Î¼¡¸µ¤Î¿ô¤òÊÖ¤¹
    • nvars ¥Õ¥¡¥¤¥ëÃæ¤ÎÊÑ¿ô¤Î¿ô¤òÊÖ¤¹
    • natts ¥Õ¥¡¥¤¥ëÃæ¤Î¥°¥í¡¼¥Ð¥ë°À­¤Î¿ô¤òÊÖ¤¹
    • unlimited ¥Õ¥¡¥¤¥ëÃæ¤Îunlimited dimension¤òÊÖ¤¹
    • path ¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹. open/create»þ¤Îfilename°ú¿ô¤ÎÃæ¿È¤òÊÖ¤¹.
    • redef define mode¤Ë¤¹¤ë¡£´û¤Ë¤½¤¦¤Ê¤é²¿¤â¤·¤Ê¤¤¡£
    • enddef data mode ¤ËÆþ¤ë¡£´û¤Ë¤½¤¦¤Ê¤é²¿¤â¤·¤Ê¤¤¡£
    • sync ¥á¥â¥ê¡¼Ãæ¤Î¥Ð¥Ã¥Õ¥¡¡¼¤ò¥Ç¥£¥¹¥¯¾å¤ËÈ¿±Ç¤·¤Æ¥Õ¥¡¥¤¥ë¤òƱ´ü¤µ¤»¤ë
    • def_dim dimension¤òÄêµÁ
    • put_att ¥°¥í¡¼¥Ð¥ë°À­¤òÀßÄê
    • def_var ÊÑ¿ô¤òÄêµÁ
    • def_var_with_dim def_var¤ÈƱ¤¸¤À¤¬É¬Íפʤé¤Þ¤º¼¡¸µ¤òÄêµÁ¤¹¤ë¡£
    • var ¥Õ¥¡¥¤¥ë¤Ë´û¸¤ÎÊÑ¿ô¤ò¥ª¡¼¥×¥ó
    • dim ´û¸¤Î¼¡¸µ¤ò¥ª¡¼¥×¥ó
    • att ´û¸¤Î¥°¥í¡¼¥Ð¥ë°À­¤ò¥ª¡¼¥×¥ó
    • fill= fillmode¤ÎÊѹ¹¡£(NetCDF ¤Î¥Ç¥Õ¥©¥ë¥È¤Ï FILL ¤Ç¤¢¤ë¡£)
    • each_dim ¼¡¸µ¤Ë´Ø¤¹¤ë¥¤¥Æ¥ì¡¼¥¿.
    • each_var ÊÑ¿ô¤Ë´Ø¤¹¤ë¥¤¥Æ¥ì¡¼¥¿.
    • each_att ¥°¥í¡¼¥Ð¥ë°À­¤Ë´Ø¤¹¤ë¥¤¥Æ¥ì¡¼¥¿.
    • dim_names ¥Õ¥¡¥¤¥ëÃæ¤ÎÁ´¼¡¸µ¤Î̾Á°¤òÇÛÎó¤ËÆþ¤ì¤ÆÊÖ¤¹¡£
    • var_names ¥Õ¥¡¥¤¥ëÃæ¤ÎÁ´ÊÑ¿ô¤Î̾Á°¤òÇÛÎó¤ËÆþ¤ì¤ÆÊÖ¤¹¡£
    • att_names ¥Õ¥¡¥¤¥ëÃæ¤ÎÁ´¥°¥í¡¼¥Ð¥ë°À­¤Î̾Á°¤òÇÛÎó¤ËÆþ¤ì¤ÆÊÖ¤¹¡£
  • ¥¯¥é¥¹ NetCDFDim

    ¥¯¥é¥¹¥á¥½¥Ã¥É

    ¥¤¥ó¥¹¥¿¥ó¥¹¥á¥½¥Ã¥É

    • length ¼¡¸µ¤ÎŤµ¤òÊÖ¤¹
    • length_ul0 length ¤ÈƱ¤¸¤À¤¬¡¢ÌµÀ©¸Â¼¡¸µ¤Ë´Ø¤·¥¼¥í¤òÊÖ¤¹
    • name= ̾Á°¤ò¤Ä¤±¤«¤¨¤ë
    • name ̾Á°¤òÊÖ¤¹
    • unlimited? ̵À©¸Â¼¡¸µ¤«¤É¤¦¤«¡©
  • ¥¯¥é¥¹ NetCDFVar

    ¥¯¥é¥¹¥á¥½¥Ã¥É

    • NetCDFVar.new NetCDF.open ¤È NetCDF#Var ¤òÁȤ߹ç¤ï¤»¤Æ°ì¹Ô¤ÇºÑ¤Þ¤¹(»È¤ï¤Ê¤¯¤ÆÎɤ¤).

    ¥¤¥ó¥¹¥¿¥ó¥¹¥á¥½¥Ã¥É

    • dim ¤½¤ÎÊÑ¿ô¤Ë¤ª¤±¤ë dim_num ÈÖÌÜ(0¤«¤é¿ô¤¨¤ë)¤Î¼¡¸µ¤òÌä¹ç¤ï¤»¤ë¡£
    • dims ¤½¤ÎÊÑ¿ô¤ÎÁ´¼¡¸µ¤òÇÛÎó¤Ë¤¤¤ì¤ÆÊÖ¤¹
    • shape_ul0 ÊÑ¿ô¤Î·Á¤òÊÖ¤¹. ⤷̵À©¸Â¼¡¸µ¤ÎŤµ¤Ï¥¼¥í.
    • shape_current ÊÑ¿ô¤Î¸½ºß¤Î·Á¤òÊÖ¤¹.
    • each_att ÊÑ¿ôÃæ¤ÎÁ´Â°À­(NetCDFAtt)¤Ë´Ø¤¹¤ë¥¤¥Æ¥ì¡¼¥¿
    • dim_names ÊÑ¿ôÃæ¤ÎÁ´¼¡¸µ¤Î̾Á°¤òÇÛÎó¤ËÆþ¤ì¤ÆÊÖ¤¹¡£
    • att_names ÊÑ¿ôÃæ¤ÎÁ´Â°À­¤Î̾Á°¤òÇÛÎó¤ËÆþ¤ì¤ÆÊÖ¤¹¡£
    • name ÊÑ¿ô¤Î̾Á°¤òÊÖ¤¹
    • name= ̾Á°¤òÉÕ¤±Âؤ¨¤ë
    • ndims ¼¡¸µ¤Î¿ô¤òÌ䤦
    • ntype vartype ¤ÎÊÌ̾
    • vartype ÊÑ¿ôÃͤη¿¤òÌ䤦
    • natts °À­¤Î¿ô¤òÌ䤦
    • file ¤½¤ÎÊÑ¿ô¤¬Â°¤¹¤ë¥Õ¥¡¥¤¥ë¤òÌä¹ç¤ï¤»¤ë
    • att ̾Á°¤ò»ØÄꤷ¤¿Â°À­¤òÊÖ¤¹
    • put_att °À­¤òÀßÄê
    • put ÃͤòÆþ¤ì¤ë
    • scaled_put put ¤ÈƱÍͤÀ¤¬¡¢Â°À­ scale_factor ¤È add_offset ¤ò²ò¼á¤¹¤ë
    • get Ãͤò¼è¤ê½Ð¤¹
    • scaled_get get ¤ÈƱÍͤÀ¤¬¡¢Â°À­ scale_factor ¤È add_offset ¤ò²ò¼á¤¹¤ë
  • ¥¯¥é¥¹ NetCDFAtt

    ¥¯¥é¥¹¥á¥½¥Ã¥É

    ¥¤¥ó¥¹¥¿¥ó¥¹¥á¥½¥Ã¥É

    • name °À­¤Î̾Á°¤òÊÖ¤¹
    • name= °À­¤Î̾Á°¤òÊѹ¹
    • copy °À­¤òÊ̤ÎÊÑ¿ô¤Þ¤¿¤Ï¥Õ¥¡¥¤¥ë¤Ë¥³¥Ô¡¼¡£¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¤Ï¥°¥í¡¼¥Ð¥ë°À­¤Ë¤Ê¤ë
    • delete °À­¤òºï½ü
    • put °À­¤ÎÃͤòÀßÄê
    • get °À­¤ÎÃæ¿È¤ò¼è¤ê½Ð¤¹
    • atttype °À­¤Î¼ïÎà¤òÌ䤦

---------------------------------------------

¥¯¥é¥¹ NetCDF

¥¯¥é¥¹¥á¥½¥Ã¥É

NetCDF.open(filename, mode="r", share=false)

¥Õ¥¡¥¤¥ë¥ª¡¼¥×¥ó¡Ê¥¯¥é¥¹¥á¥½¥Ã¥É¡Ëmode="w" ¤Ç¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤·¤Ê¤±¤ì¤Ð¿·µ¬ºîÀ®

°ú¿ô

  • filename (String): ¥Õ¥¡¥¤¥ë̾
  • mode (String) : Æþ½ÐÎϥ⡼¥É "r"(ÆÉ¤ß¼è¤ê), "w"(½ñ¤­¹þ¤ß²Ä)
  • share (true or false) : shared¥â¡¼¥É¤Ë¤¹¤ë¤« (½ñ¤­¹þ¤ßÃæ¤Î¥Õ¥¡ ¥¤¥ë¤Ë¾¤Î¥×¥í¥»¥¹¤«¤é¤ÎÆÉ¤ß¹þ¤ß¤¬¤¢¤êÆÀ¤ë¾ì¹ç¤Ë true ¤È¤¹¤ë¡£CÈǥ桼 ¥¶¡¼¥º¥¬¥¤¥ÉÂè5¾Ï¤Î nc_open ¤Î¹à¤ò»²¾È¤Î¤³¤È)

Ìá¤êÃÍ

  • NetCDF¥¯¥é¥¹¤Î¥ª¥Ö¥¸¥§¥¯¥È

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_open, nc_create
NetCDF.new

NetCDF.open¥á¥½¥Ã¥É¤Î¥¨¥¤¥ê¥¢¥¹¤Ç¤¢¤ë

NetCDF.create(filename, noclobber=false, share=false)

NetCDF¥Õ¥¡¥¤¥ë¤òºî¤ë¡Ê¥¯¥é¥¹¥á¥½¥Ã¥É)

°ú¿ô

  • filename (String) : ¥Õ¥¡¥¤¥ë̾
  • noclobber (true or false) : ¾å½ñ¤­¤¹¤ë¤«¤·¤Ê¤¤¤«
  • share (true or false) : shared mode ¤ò»È¤¦¤«

Ìá¤êÃÍ

  • NetCDF¥¯¥é¥¹¤Î¥ª¥Ö¥¸¥§¥¯¥È

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_create
NetCDF.create_tmp(tmpdir=ENV['TMPDIR']||ENV['TMP']||ENV['TEMP']||'.', share=false)

¥Æ¥ó¥Ý¥é¥ê¡¼NetCDF¥Õ¥¡¥¤¥ë¤òºî¤ë¡Ê¥¯¥é¥¹¥á¥½¥Ã¥É) ̾Á°¤Ï¼«Æ°¤Ç·è¤Þ¤ë¡£¥¯¥í¡¼¥º¤µ¤ì¤ë¤È¾Ã¤µ¤ì¤ë¡£

°ú¿ô

  • tmpdir (String) : ¥Æ¥ó¥Ý¥é¥ê¡¼¥Õ¥¡¥¤¥ë¤òÃÖ¤¯¥Ç¥£¥ì¥¯¥È¥ê¡¼Ì¾¡£ ¥Ç¥Õ¥©¥ë¥È¤Ï´Ä¶­ÊÑ¿ô¤Ç»ØÄꤵ¤ì¤¿¥Ç¥£¥ì¥¯¥È¥ê¡¼¡ÊTMPDIR,TMP,or TEMP¡Ë¤Þ¤¿¤Ï '.'¡£¥»¥­¥å¥¢¡¼¥â¡¼¥É¤Ç¤Ï '.' ¤Î¤ß¤¬¥Ç¥Õ¥©¥ë¥È¤È¤Ê ¤ë¡£
  • share (true or false) : shared mode ¤ò»È¤¦¤«

Ìá¤êÃÍ

  • NetCDF¥¯¥é¥¹¤Î¥ª¥Ö¥¸¥§¥¯¥È

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_create

¥¤¥ó¥¹¥¿¥ó¥¹¥á¥½¥Ã¥É

close

¥Õ¥¡¥¤¥ë¥¯¥í¡¼¥º

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • nil

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_close
ndims

¥Õ¥¡¥¤¥ëÃæ¤Î¼¡¸µ¤Î¿ô¤òÊÖ¤¹

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • Integer

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_inq_ndims
nvars

¥Õ¥¡¥¤¥ëÃæ¤ÎÊÑ¿ô¤Î¿ô¤òÊÖ¤¹

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • Integer

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_inq_nvars
natts

¥Õ¥¡¥¤¥ëÃæ¤Î¥°¥í¡¼¥Ð¥ë°À­¤Î¿ô¤òÊÖ¤¹

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • Integer

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_inq_natts
unlimited

¥Õ¥¡¥¤¥ëÃæ¤Îunlimited dimension¤òÊÖ¤¹

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • ¸ºß¤¹¤ë¤È¤­NetCDFDim¥¯¥é¥¹¤Î¥ª¥Ö¥¸¥§¥¯¥È¡£¤Ê¤¤¤È¤­¤Ïnil

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_inq_unlimdim
path

¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹. open/create»þ¤Îfilename°ú¿ô¤ÎÃæ¿È¤òÊÖ¤¹.

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • String

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • ¤Ê¤·
redef

define mode¤Ë¤¹¤ë¡£´û¤Ë¤½¤¦¤Ê¤é²¿¤â¤·¤Ê¤¤¡£

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • nil

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_redef
enddef

data mode ¤ËÆþ¤ë¡£´û¤Ë¤½¤¦¤Ê¤é²¿¤â¤·¤Ê¤¤¡£

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • nil

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_enddef
sync

¥á¥â¥ê¡¼Ãæ¤Î¥Ð¥Ã¥Õ¥¡¡¼¤ò¥Ç¥£¥¹¥¯¾å¤ËÈ¿±Ç¤·¤Æ¥Õ¥¡¥¤¥ë¤òƱ´ü¤µ¤»¤ë

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • nil

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_sync
def_dim(dimension_name, length)

dimension¤òÄêµÁ

°ú¿ô

  • dimension_name (String) : ÄêµÁ¤¹¤ëdimension¤Î̾Á°
  • length (Integer) : dimension¤ÎŤµ¡£ÌµÀ©¸Â¼¡¸µ¤Ï 0¡£

Ìá¤êÃÍ

  • ÄêµÁ¤µ¤ì¤¿¼¡¸µ (NetCDFDim¥ª¥Ö¥¸¥§¥¯¥È)

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_def_dim
put_att(attribute_name, value, atttype=nil)

¥°¥í¡¼¥Ð¥ë°À­¤òÀßÄê

°ú¿ô

  • attribute_name (String) : ¥°¥í¡¼¥Ð¥ë°À­¤Î̾Á°
  • value (Numeric, String, Array of Numeric, or NArray) : ÀßÄꤹ¤ëÃÍ
  • atttype (nil or String) : °À­¤Î·¿. "char"(="string"),"byte", "sint","int","sfloat", "float" (¤½¤ì ¤¾¤ì,1,1,2,4,4,8 ¥Ð¥¤¥È)) ¤Þ¤¿¤Ï nil (¤Ä¤Þ¤ê¤ªÇ¤¤»)

Ìá¤êÃÍ

  • ÀßÄꤵ¤ì¤¿Â°À­ (NetCDFAtt¥ª¥Ö¥¸¥§¥¯¥È)

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_put_att_<type>
def_var(variable_name, vartype, dimensions)

ÊÑ¿ô¤òÄêµÁ

°ú¿ô

  • variable_name (String) : ÄêµÁ¤¹¤ëvariable¤Î̾Á°
  • vartype (String) : ÊÑ¿ô¤Î¥¿¥¤¥× ("char", "byte", "sint", "sint", "int", "sfloat", "float" ¤Î¤¤¤º¤ì¤«)
  • dimensions (Array) : variable¤Î¼¡¸µ¡£NetCDFDim ¤Î Array¡£ºÇ¤â ¡Ö®¤¯²ó¤ë¡×¼¡¸µ¤«¤é¡ÖÃÙ¤¯²ó¤ë¡×¼¡¸µ¤Î½ç¤Ë¡£¤½¤ÎŤµ¤¬ÊÑ¿ô¤Î rank ¤È¤Ê¤ë¡£

Ìá¤êÃÍ

  • ÄêµÁ¤·¤¿ÊÑ¿ô(NetCDFVar¥ª¥Ö¥¸¥§¥¯¥È)

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_def_var
def_var_with_dim(variable_name, vartype, shape_ul0, dimnames)

def_var¤ÈƱ¤¸¤À¤¬É¬Íפʤé¤Þ¤º¼¡¸µ¤òÄêµÁ¤¹¤ë¡£ ´û¸¼¡¸µ¤ÎŤµ¤È¹ç¤ï¤Ê¤¤¾ì¹çÎã³°¡£

°ú¿ô

  • variable_name (String) : ÄêµÁ¤¹¤ëvariable¤Î̾Á°
  • vartype (String) : ÊÑ¿ô¤Î¥¿¥¤¥× ("char", "byte", "sint", "sint", "int", "sfloat", "float" ¤Î¤¤¤º¤ì¤«)
  • shape_ul0 (Array of Integer) : ÊÑ¿ô¤Î·Á¡¢Â¨¤Á¡¢³Æ¼¡¸µ¤ÎŤµ¡£Ìµ À©¸Â¼¡¸µ¤Ï¥¼¥í¤Çɽ¤¹¡£Ä¹¤µ¤¬ÊÑ¿ô¤Î rank ¤È¤Ê¤ë¡£
  • dimnames (Array of String) : ³Æ¼¡¸µ¤Î̾Á°. Ťµ(=>rank) ¤Ï shape_ul0 ¤ÈÅù¤·¤¯¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£

Ìá¤êÃÍ

  • ÄêµÁ¤·¤¿ÊÑ¿ô(NetCDFVar¥ª¥Ö¥¸¥§¥¯¥È)

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • (nc_def_var)
var(var_name)

¥Õ¥¡¥¤¥ë¤Ë´û¸¤ÎÊÑ¿ô¤ò¥ª¡¼¥×¥ó

°ú¿ô

  • var_name (String) : ¥ª¡¼¥×¥ó¤¹¤ëÊÑ¿ô̾

Ìá¤êÃÍ

  • ¸ºß¤¹¤ì¤Ð NetCDFVar ¥¯¥é¥¹¤Î¥ª¥Ö¥¸¥§¥¯¥È¡£Â¸ºß¤·¤Ê¤±¤ì¤Ðnil¡£

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_inq_varid
dim(dimension_name)

´û¸¤Î¼¡¸µ¤ò¥ª¡¼¥×¥ó

°ú¿ô

  • dimension_name (String) : ¥ª¡¼¥×¥ó¤¹¤ë¼¡¸µÌ¾

Ìá¤êÃÍ

  • ¸ºß¤¹¤ì¤Ð NetCDFDim¥¯¥é¥¹¤Î¥ª¥Ö¥¸¥§¥¯¥È¡£Â¸ºß¤·¤Ê¤±¤ì¤Ðnil

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_inq_dimid
att(attribute_name)

´û¸¤Î¥°¥í¡¼¥Ð¥ë°À­¤ò¥ª¡¼¥×¥ó

°ú¿ô

  • attribute_name (String) : ¥ª¡¼¥×¥ó¤¹¤ë¥°¥í¡¼¥Ð¥ë°À­Ì¾

Ìá¤êÃÍ

  • ¸ºß¤¹¤ì¤Ð NetCDFAtt¥¯¥é¥¹¤Î¥ª¥Ö¥¸¥§¥¯¥È¡£Â¸ºß¤·¤Ê¤±¤ì¤Ðnil

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • (nc_inq_attid¤ò¸¡ºº¤ËÍøÍÑ)
fill=(filemode)

fillmode¤ÎÊѹ¹¡£(NetCDF ¤Î¥Ç¥Õ¥©¥ë¥È¤Ï FILL ¤Ç¤¢¤ë¡£)

°ú¿ô

  • fillmode (true for FILL or false for NOFILL)

Ìá¤êÃÍ

  • nil

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_set_fill
each_dim{ ... }

¼¡¸µ¤Ë´Ø¤¹¤ë¥¤¥Æ¥ì¡¼¥¿. Îã: {|i| print i.name,"\n"} ¤ÇÁ´¼¡¸µ¤Î̾Á°¤òɽ¼¨.

°ú¿ô

  • { ... } : ¥¤¥Æ¥ì¡¼¥¿¡¼ÍÑ¥Ö¥í¥Ã¥¯¡£do end¥Ö¥í¥Ã¥¯¤Ç¤â¤è¤¤¡£

Ìá¤êÃÍ

  • self

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • (nc_inq_ndims¤òÍøÍÑ)
each_var{ ... }

ÊÑ¿ô¤Ë´Ø¤¹¤ë¥¤¥Æ¥ì¡¼¥¿. Îã: {|i| print i.name,"\n"} ¤ÇÁ´ÊÑ¿ô¤Î̾Á°¤òɽ¼¨.

°ú¿ô

  • { ... } : ¥¤¥Æ¥ì¡¼¥¿¡¼ÍÑ¥Ö¥í¥Ã¥¯¡£do end¥Ö¥í¥Ã¥¯¤Ç¤â¤è¤¤¡£

Ìá¤êÃÍ

  • self

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • (nc_inq_nvars¤òÍøÍÑ)
each_att{ ... }

¥°¥í¡¼¥Ð¥ë°À­¤Ë´Ø¤¹¤ë¥¤¥Æ¥ì¡¼¥¿. Îã: {|i| print i.name,"\n"} ¤ÇÁ´Â°À­¤Î̾Á°¤òɽ¼¨.

°ú¿ô

  • { ... } : ¥¤¥Æ¥ì¡¼¥¿¡¼ÍÑ¥Ö¥í¥Ã¥¯¡£do end¥Ö¥í¥Ã¥¯¤Ç¤â¤è¤¤¡£

Ìá¤êÃÍ

  • self

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • (nc_inq_natts, nc_inq_attname¤òÍøÍÑ)
dim_names

¥Õ¥¡¥¤¥ëÃæ¤ÎÁ´¼¡¸µ¤Î̾Á°¤òÇÛÎó¤ËÆþ¤ì¤ÆÊÖ¤¹¡£

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • String ¤Î Array

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • (nc_inq_ndims, nc_inq_dimname¤òÍøÍÑ)
var_names

¥Õ¥¡¥¤¥ëÃæ¤ÎÁ´ÊÑ¿ô¤Î̾Á°¤òÇÛÎó¤ËÆþ¤ì¤ÆÊÖ¤¹¡£

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • String ¤Î Array

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • (nc_inq_nvars, nc_inq_varname¤òÍøÍÑ)
att_names

¥Õ¥¡¥¤¥ëÃæ¤ÎÁ´¥°¥í¡¼¥Ð¥ë°À­¤Î̾Á°¤òÇÛÎó¤ËÆþ¤ì¤ÆÊÖ¤¹¡£ °ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • String ¤Î Array

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • (nc_inq_natts, nc_inq_attname¤òÍøÍÑ)

---------------------------------------------

¥¯¥é¥¹ NetCDFDim

¥¯¥é¥¹¥á¥½¥Ã¥É

¥¤¥ó¥¹¥¿¥ó¥¹¥á¥½¥Ã¥É

length

¼¡¸µ¤ÎŤµ¤òÊÖ¤¹

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • Integer

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_inq_dimlen
length_ul0

length ¤ÈƱ¤¸¤À¤¬¡¢ÌµÀ©¸Â¼¡¸µ¤Ë´Ø¤·¥¼¥í¤òÊÖ¤¹

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • Integer

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_inq_dimlen
name=(dimension_newname)

̾Á°¤ò¤Ä¤±¤«¤¨¤ë

°ú¿ô

  • dimension_newname (String) : ¿·¤·¤¤Ì¾Á°

Ìá¤êÃÍ

  • nil

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_rename_dim
name

̾Á°¤òÊÖ¤¹

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • String

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_inq_dimname
unlimited?

̵À©¸Â¼¡¸µ¤«¤É¤¦¤«¡©

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • true or false

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • (nc_inq_unlimdim ¤òÍøÍÑ)

---------------------------------------------

¥¯¥é¥¹ NetCDFVar

¥¯¥é¥¹¥á¥½¥Ã¥É

NetCDFVar.new(file,varname,mode="r",share=false)

NetCDFÊÑ¿ô¤ò¥ª¡¼¥×¥ó¤¹¤ë¡£¤³¤ì¤Ï¡¢NetCDF#var (NetCDF¥¯¥é¥¹¤Î¥¤¥ó ¥¹¥¿¥ó¥¹¥á¥½¥Ã¥Évar) ¤ò»È¤Ã¤Æ¤â½ÐÍè¤ë¤·¡¢¤½¤Á¤é¤Î¤Û¤¦¤ò¿ä¾©¤¹¤ë¡£

°ú¿ô

  • file (NetCDF or String) : NetCDF¥ª¥Ö¥¸¥§¥¯¥È(NetCDF) ¤Þ¤¿¤Ï NetCDF ¥Õ¥¡¥¤¥ë¤Î¥Ñ¥¹(String)
  • varname (String) : fileÃæ¤ÎÊÑ¿ô̾
  • mode (String) : Æþ½ÐÎϥ⡼¥É "r"(ÆÉ¤ß¼è¤ê), "w"(½ñ¤­¹þ¤ß²Ä)
  • share (true or false) : shared¥â¡¼¥É¤Ë¤¹¤ë¤« (½ñ¤­¹þ¤ßÃæ¤Î¥Õ¥¡ ¥¤¥ë¤Ë¾¤Î¥×¥í¥»¥¹¤«¤é¤ÎÆÉ¤ß¹þ¤ß¤¬¤¢¤êÆÀ¤ë¾ì¹ç¤Ë true ¤È¤¹¤ë¡£CÈǥ桼 ¥¶¡¼¥º¥¬¥¤¥ÉÂè5¾Ï¤Î nc_open ¤Î¹à¤ò»²¾È¤Î¤³¤È)

Ìá¤êÃÍ

  • NetCDFVar¥¯¥é¥¹¤Î¥ª¥Ö¥¸¥§¥¯¥È

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • (nc_open, nc_create, nc_inq_varid Åù¤òÍøÍѤ¹¤ë)

¥¤¥ó¥¹¥¿¥ó¥¹¥á¥½¥Ã¥É

dim(dim_num)

¤½¤ÎÊÑ¿ô¤Ë¤ª¤±¤ë dim_num ÈÖÌÜ(0¤«¤é¿ô¤¨¤ë)¤Î¼¡¸µ¤òÌä¹ç¤ï¤»¤ë¡£

°ú¿ô

  • dim_num (Fixnum) : 0,1,2,...¡£ºÇ¤â®¤¯²ó¤ë¼¡¸µ¤¬0¡£

Ìá¤êÃÍ

  • NetCDFDim¥ª¥Ö¥¸¥§¥¯¥È

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • (nc_inq_vardimidÍøÍÑ)
dims

¤½¤ÎÊÑ¿ô¤ÎÁ´¼¡¸µ¤òÇÛÎó¤Ë¤¤¤ì¤ÆÊÖ¤¹

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • NetCDFDim¥ª¥Ö¥¸¥§¥¯¥È¤ÎArray

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_inq_vardimid
shape_ul0

ÊÑ¿ô¤Î·Á¤òÊÖ¤¹. ⤷̵À©¸Â¼¡¸µ¤ÎŤµ¤Ï¥¼¥í. ¾¤ÎÊÑ¿ô¤ÎÄêµÁ¤ËÊØÍø.

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • Array. [0¼¡¸µÌܤÎŤµ, 1¼¡¸µÌܤÎŤµ,.. ]

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • (nc_inq_vardimid, nc_inq_unlimdim Åù¤òÍøÍÑ)
shape_current

ÊÑ¿ô¤Î¸½ºß¤Î·Á¤òÊÖ¤¹.

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • Array. [0¼¡¸µÌܤÎŤµ, 1¼¡¸µÌܤÎŤµ,.. ]

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • (nc_inq_vardimid Åù¤òÍøÍÑ)
each_att{ ... }

ÊÑ¿ôÃæ¤ÎÁ´Â°À­(NetCDFAtt)¤Ë´Ø¤¹¤ë¥¤¥Æ¥ì¡¼¥¿

°ú¿ô

  • { ... } : ·«¤êÊÖ¤¹¥Ö¥í¥Ã¥¯

Ìá¤êÃÍ

  • self

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • (nc_inq_natts, nc_inq_attname¤òÍøÍÑ)
dim_names

ÊÑ¿ôÃæ¤ÎÁ´¼¡¸µ¤Î̾Á°¤òÇÛÎó¤ËÆþ¤ì¤ÆÊÖ¤¹¡£

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • String ¤Î Array

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • (nc_inq_varndims, nc_inq_vardimid, nc_inq_dimname ¤òÍøÍÑ)
att_names

ÊÑ¿ôÃæ¤ÎÁ´Â°À­¤Î̾Á°¤òÇÛÎó¤ËÆþ¤ì¤ÆÊÖ¤¹¡£

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • String ¤Î Array

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • (nc_inq_natts, nc_inq_attname¤òÍøÍÑ)
name

ÊÑ¿ô¤Î̾Á°¤òÊÖ¤¹

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • String

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_inq_varname
name=(variable_newname)

̾Á°¤òÉÕ¤±Âؤ¨¤ë

°ú¿ô

  • variable_newname (String) : ¿·¤·¤¤Ì¾Á°

Ìá¤êÃÍ

  • nil

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_rename_var
ndims

¼¡¸µ¤Î¿ô¤òÌ䤦

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • Integer

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_inq_varndims
ntype

vartype¤ÎÊÌ̾

vartype

ÊÑ¿ôÃͤη¿¤òÌ䤦

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • String ("char","byte","sint","int","sfloat", or "float")

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_inq_vartype
natts

°À­¤Î¿ô¤òÌ䤦

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • Integer

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_inq_varnatts
file

¤½¤ÎÊÑ¿ô¤¬Â°¤¹¤ë¥Õ¥¡¥¤¥ë¤òÌä¹ç¤ï¤»¤ë

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • NetCDF¥¯¥é¥¹¤Î¥ª¥Ö¥¸¥§¥¯¥È

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • ¤Ê¤·
att(attribute_name)

̾Á°¤ò»ØÄꤷ¤¿Â°À­¤òÊÖ¤¹

°ú¿ô

  • attribute_name (String) : ¼è¤ê½Ð¤¹Â°À­Ì¾

Ìá¤êÃÍ

  • NetCDFAtt¥ª¥Ö¥¸¥§¥¯¥È. ¸ºß¤·¤Ê¤±¤ì¤Ðnil

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • (nc_inq_attid¤ò¸¡ºº¤ËÍøÍÑ)
put_att(attribute_name, value, atttype=nil)

°À­¤òÀßÄê

°ú¿ô

  • attribute_name (String) : attribute̾
  • value (Numeric, String, Array of Numeric, or NArray) : ÀßÄꤹ¤ëÃÍ
  • atttype (nil or String) : °À­¤Î·¿. "char"(="string"),"byte", "sint","int","sfloat", "float" (¤½¤ì ¤¾¤ì,1,1,2,4,4,8 ¥Ð¥¤¥È)) ¤Þ¤¿¤Ï nil (¤Ä¤Þ¤ê¤ªÇ¤¤»)

Ìá¤êÃÍ

  • NetCDFAtt¤Î¥ª¥Ö¥¸¥§¥¯¥È

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_put_att_<type>
put(value, option=nil)

ÃͤòÆþ¤ì¤ë

°ú¿ô

  • value : Æþ¤ì¤ëÃÍ (Numeric,Array(Numeric¤Î1¼¡¸µÇÛÎó)¡¢NArray)
  • option (Hash) : ÊÑ¿ô¤Î°ìÉôʬ¤ò»ØÄꤹ¤ë¤¿¤á¤Î¥ª¥×¥·¥ç¥ó°ú¿ô¡£¾Ê ά¤¹¤ì¤Ð¡¢ÊÑ¿ôÁ´ÂΤ¬ÂоݤȤʤ롣¥Ï¥Ã¥·¥å¤Î¥­¡¼¤È¤·¤Æ¤Ï¡¢ "start","end","stride"¤ÎÁÈ¡¢¤Þ¤¿¤Ï"index"¤¬»ÈÍѤǤ­¤ë¡£"index" ¤Ï1Í×Áǡʥ¹¥«¥é¡¼¡Ë¤ò»Ø¤¹¡£"end","stride"¤Ï¾Êά²Ä¡£¾Êά¤¹¤ë¤Ë¤· ¤í¤·¤Ê¤¤¤Ë¤·¤í¡¢½ñ¤­¤³¤à¤Ù¤­Í×ÁǤοô¤¬ value¤Î¤½¤ì¤È°ìÃפ¹¤ë¤è¤¦¤Ë¤· ¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£start,end,index¤Ç¤ÏArray¤Î¾ì¹ç¤ÈƱÍÍ¡¢Éé¤ÎÃͤǸå¤í ¤«¤é¤Î°ÌÃÖ¤ò»ØÄê¤Ç¤­¤ë¡£"stride"¤ÏÀµ¤ÎÃͤΤ߼õ¤±ÉÕ¤±¤ë¤Î¤Ç¡¢ÇÛ Îó¤ò°ú¤Ã¤¯¤êÊÖ¤·¤¿¤±¤ì¤Ð¸å¤«¤éÊÌÅÓ¤ä¤ë¤³¤È¤Ë¤Ê¤ë¡£

    Îã¡§ ÊÑ¿ô¤¬2¼¡¸µ¤Î¾ì¹ç:

    {"start"=>[2,5],"end"=>[6,-1],"stride"=>[2,4]} -- Âè1¼¡¸µÌܤϡ¢ Í×ÁÇ 2 ¤«¤é 6 ¤Þ¤Ç 1 ¤Ä¤ª¤­ (0¤«¤é¿ô¤¨¤ë¤Î¤ÇÍ×ÁÇ 2 ¤Ï 3 ÈÖÌܤǤ¢ ¤ë¤³¤È¤ËÃí°Õ)¡¢Âè2¼¡¸µÌܤϡ¢Í×ÁÇ 6 ¤«¤é ºÇ¸å(=-1)¤Þ¤Ç 3 ¤Ä¤ª¤­ ¤Ë¤È¤Ã¤¿¥µ¥Ö¥»¥Ã¥È¡£

    {"index"=>[0,0]}: ºÇ½é¤ÎÍ×ÁǤˤ¢¤¿ ¤ë¥¹¥«¥é¡¼ÃÍ

    {"index"=>[0,-2]}: 1¼¡¸µÌܤϺǽé, 2¼¡¸µÌܤϺǸ夫¤é2ÈÖÌܤˤ¢¤¿ ¤ë¥¹¥«¥é¡¼ÃÍ

Ìá¤êÃÍ

  • nil

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_put_var_<type>, nc_put_vars_<type>, nc_put_var1_<type>
scaled_put(value, option=nil)

put ¤ÈƱÍͤÀ¤¬¡¢Â°À­ scale_factor ¤È add_offset ¤ò²ò¼á¤¹¤ë

scale_factor ¤È¡¿¤Þ¤¿¤Ï add_offset ¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤¿¤é¡¢½ñ¤­¹þ¤àÁ° ¤Ë (value-add_offset)/scale_factor ¤ò¹Ô¤¦¡£ ¤â¤·¤â¤É¤Á¤é¤«°ì¤Ä¤Î°À­¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢¥Õ¥¡¥¯¥¿¡¼¤Ê¤é£±¡¢¥ª ¥Õ¥»¥Ã¥È¤Ê¤é£°¤ò²¾Äꤹ¤ë¡£

°ú¿ôÅù¤Ë¤Ä¤¤¤Æ¤Ï put ¤Î²òÀâ¤ò»²¾È¤Î¤³¤È

get(option=nil)

Ãͤò¼è¤ê½Ð¤¹

°ú¿ô

  • option (Hash) : ÊÑ¿ô¤Î°ìÉôʬ¤ò»ØÄꤹ¤ë¤¿¤á¤Î¥ª¥×¥·¥ç¥ó°ú¿ô¡£»Å ÍÍ¤Ï put ¤ËƱ¤¸¡£

Ìá¤êÃÍ

  • NArray¥¯¥é¥¹¤Î¥ª¥Ö¥¸¥§¥¯¥È

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_get_var_<type>, nc_get_vars_<type>, nc_get_var1_<type>
scaled_get(option=nil)

get ¤ÈƱÍͤÀ¤¬¡¢Â°À­ scale_factor ¤È add_offset ¤ò²ò¼á¤¹¤ë

scale_factor ¤È¡¿¤Þ¤¿¤Ï add_offset ¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤¿¤é¡¢ value*scale_factor+add_offset ¤òÊÖ¤¹¡£ ¤â¤·¤â¤É¤Á¤é¤«°ì¤Ä¤Î°À­¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¡¢¥Õ¥¡¥¯¥¿¡¼¤Ê¤é£±¡¢¥ª ¥Õ¥»¥Ã¥È¤Ê¤é£°¤ò²¾Äꤹ¤ë¡£ ÊÖ¤êÃÍ(NArray)¤Î·¿¤Ï¡¢NetCDFÊÑ¿ô¤¬ int ¤Þ¤¿¤Ï float ¤Ê¤é float (ÇÜ ÀºÅÙ)¡¢¤½¤ì°Ê³°¤Ê¤é sfloat (ñÀºÅÙ) ¤È¤Ê¤ë¡£

°ú¿ôÅù¤Ë¤Ä¤¤¤Æ¤Ï put ¤Î²òÀâ¤ò»²¾È¤Î¤³¤È

---------------------------------------------

¥¯¥é¥¹ NetCDFAtt

¥¯¥é¥¹¥á¥½¥Ã¥É

¥¤¥ó¥¹¥¿¥ó¥¹¥á¥½¥Ã¥É

name

°À­¤Î̾Á°¤òÊÖ¤¹

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • String

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • ¤Ê¤·
name=(attribute_newname)

°À­¤Î̾Á°¤òÊѹ¹

°ú¿ô

  • attribute_newname (String) : ¿·¤·¤¤Ì¾Á°

Ìá¤êÃÍ

  • nil

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_rename_att
copy(var_or_file)

°À­¤òÊ̤ÎÊÑ¿ô¤Þ¤¿¤Ï¥Õ¥¡¥¤¥ë¤Ë¥³¥Ô¡¼¡£¥Õ¥¡¥¤¥ë¤Î¾ì¹ç¤Ï¥°¥í¡¼¥Ð¥ë°À­¤Ë¤Ê¤ë

°ú¿ô

  • var_or_file (NetCDFVar or NetCDF)

Ìá¤êÃÍ

  • ¥³¥Ô¡¼¤·¤Æºî¤é¤ì¤¿Â°À­ (NetCDFAtt)

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_copy_att
delete

°À­¤òºï½ü

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • nil

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_del_att
put(value, atttype=nil)

°À­¤ÎÃͤòÀßÄê

°ú¿ô

  • value (Numeric, String, Array of Numeric, or NArray) : Æþ¤ì¤ëÃÍ
  • atttype (nil or String) : °À­¤Î·¿. "char"(="string"),"byte", "sint","int","sfloat", "float" (¤½¤ì ¤¾¤ì,1,1,2,4,4,8 ¥Ð¥¤¥È)) ¤Þ¤¿¤Ï nil (¤Ä¤Þ¤ê¤ªÇ¤¤»)

Ìá¤êÃÍ

  • nil

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_put_att_<type>
get

°À­¤ÎÃæ¿È¤ò¼è¤ê½Ð¤¹

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • ʸ»úÎó¤Þ¤¿¤ÏNArray¥ª¥Ö¥¸¥§¥¯¥È (Ãí°Õ: ¥¹¥«¥é¡¼¤Î¾ì¹ç¤âŤµ1¤Î
NArray¤Ë¤Ê¤ë)
Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô
*  nc_get_att_<type>
atttype

°À­¤Î¼ïÎà¤òÌ䤦

°ú¿ô

  • ¤Ê¤·

Ìá¤êÃÍ

  • "char","byte","sint","int","sfloat","float"

Âбþ¤¹¤ë(ÍøÍѤ¹¤ë) C ÈÇ NetCDF ¤Î´Ø¿ô

  • nc_inq_atttype