gphys 1.1.1a

Sign up to get free protection for your applications and to get access to all the features.
Files changed (428) hide show
  1. data/ChangeLog +1777 -0
  2. data/LICENSE.txt +34 -0
  3. data/README +33 -0
  4. data/Rakefile +57 -0
  5. data/TODO_ep_flux +6 -0
  6. data/bin/gdir_client +27 -0
  7. data/bin/gdir_server +129 -0
  8. data/bin/gpaop +146 -0
  9. data/bin/gpcat +148 -0
  10. data/bin/gpcut +102 -0
  11. data/bin/gpedit +228 -0
  12. data/bin/gplist +68 -0
  13. data/bin/gpmath +120 -0
  14. data/bin/gpmaxmin +128 -0
  15. data/bin/gpprint +60 -0
  16. data/bin/gpvect +706 -0
  17. data/bin/gpview +704 -0
  18. data/bin/grads2nc_with_gphys +61 -0
  19. data/doc/attribute.html +19 -0
  20. data/doc/attributenetcdf.html +15 -0
  21. data/doc/axis.html +376 -0
  22. data/doc/coordmapping.html +111 -0
  23. data/doc/coordtransform.html +36 -0
  24. data/doc/derivative/gphys-derivative.html +80 -0
  25. data/doc/derivative/index.html +21 -0
  26. data/doc/derivative/index.rd +14 -0
  27. data/doc/derivative/math-doc/document/document.css +30 -0
  28. data/doc/derivative/math-doc/document/document.html +57 -0
  29. data/doc/derivative/math-doc/document/images.aux +1 -0
  30. data/doc/derivative/math-doc/document/images.log +385 -0
  31. data/doc/derivative/math-doc/document/images.pl +186 -0
  32. data/doc/derivative/math-doc/document/images.tex +364 -0
  33. data/doc/derivative/math-doc/document/img1.png +0 -0
  34. data/doc/derivative/math-doc/document/img10.png +0 -0
  35. data/doc/derivative/math-doc/document/img11.png +0 -0
  36. data/doc/derivative/math-doc/document/img12.png +0 -0
  37. data/doc/derivative/math-doc/document/img13.png +0 -0
  38. data/doc/derivative/math-doc/document/img14.png +0 -0
  39. data/doc/derivative/math-doc/document/img15.png +0 -0
  40. data/doc/derivative/math-doc/document/img16.png +0 -0
  41. data/doc/derivative/math-doc/document/img17.png +0 -0
  42. data/doc/derivative/math-doc/document/img18.png +0 -0
  43. data/doc/derivative/math-doc/document/img19.png +0 -0
  44. data/doc/derivative/math-doc/document/img2.png +0 -0
  45. data/doc/derivative/math-doc/document/img20.png +0 -0
  46. data/doc/derivative/math-doc/document/img21.png +0 -0
  47. data/doc/derivative/math-doc/document/img22.png +0 -0
  48. data/doc/derivative/math-doc/document/img23.png +0 -0
  49. data/doc/derivative/math-doc/document/img24.png +0 -0
  50. data/doc/derivative/math-doc/document/img25.png +0 -0
  51. data/doc/derivative/math-doc/document/img26.png +0 -0
  52. data/doc/derivative/math-doc/document/img27.png +0 -0
  53. data/doc/derivative/math-doc/document/img28.png +0 -0
  54. data/doc/derivative/math-doc/document/img29.png +0 -0
  55. data/doc/derivative/math-doc/document/img3.png +0 -0
  56. data/doc/derivative/math-doc/document/img30.png +0 -0
  57. data/doc/derivative/math-doc/document/img4.png +0 -0
  58. data/doc/derivative/math-doc/document/img5.png +0 -0
  59. data/doc/derivative/math-doc/document/img6.png +0 -0
  60. data/doc/derivative/math-doc/document/img7.png +0 -0
  61. data/doc/derivative/math-doc/document/img8.png +0 -0
  62. data/doc/derivative/math-doc/document/img9.png +0 -0
  63. data/doc/derivative/math-doc/document/index.html +57 -0
  64. data/doc/derivative/math-doc/document/labels.pl +13 -0
  65. data/doc/derivative/math-doc/document/next.png +0 -0
  66. data/doc/derivative/math-doc/document/next_g.png +0 -0
  67. data/doc/derivative/math-doc/document/node1.html +238 -0
  68. data/doc/derivative/math-doc/document/node2.html +75 -0
  69. data/doc/derivative/math-doc/document/prev.png +0 -0
  70. data/doc/derivative/math-doc/document/prev_g.png +0 -0
  71. data/doc/derivative/math-doc/document/up.png +0 -0
  72. data/doc/derivative/math-doc/document/up_g.png +0 -0
  73. data/doc/derivative/math-doc/document.pdf +0 -0
  74. data/doc/derivative/math-doc/document.tex +158 -0
  75. data/doc/derivative/numru-derivative.html +129 -0
  76. data/doc/ep_flux/ep_flux.html +469 -0
  77. data/doc/ep_flux/ggraph_on_merdional_section.html +71 -0
  78. data/doc/ep_flux/index.html +31 -0
  79. data/doc/ep_flux/index.rd +24 -0
  80. data/doc/ep_flux/math-doc/document/WARNINGS +1 -0
  81. data/doc/ep_flux/math-doc/document/contents.png +0 -0
  82. data/doc/ep_flux/math-doc/document/crossref.png +0 -0
  83. data/doc/ep_flux/math-doc/document/document.css +30 -0
  84. data/doc/ep_flux/math-doc/document/document.html +101 -0
  85. data/doc/ep_flux/math-doc/document/images.aux +1 -0
  86. data/doc/ep_flux/math-doc/document/images.log +1375 -0
  87. data/doc/ep_flux/math-doc/document/images.pl +1328 -0
  88. data/doc/ep_flux/math-doc/document/images.tex +1471 -0
  89. data/doc/ep_flux/math-doc/document/img1.png +0 -0
  90. data/doc/ep_flux/math-doc/document/img10.png +0 -0
  91. data/doc/ep_flux/math-doc/document/img100.png +0 -0
  92. data/doc/ep_flux/math-doc/document/img101.png +0 -0
  93. data/doc/ep_flux/math-doc/document/img102.png +0 -0
  94. data/doc/ep_flux/math-doc/document/img103.png +0 -0
  95. data/doc/ep_flux/math-doc/document/img104.png +0 -0
  96. data/doc/ep_flux/math-doc/document/img105.png +0 -0
  97. data/doc/ep_flux/math-doc/document/img106.png +0 -0
  98. data/doc/ep_flux/math-doc/document/img107.png +0 -0
  99. data/doc/ep_flux/math-doc/document/img108.png +0 -0
  100. data/doc/ep_flux/math-doc/document/img109.png +0 -0
  101. data/doc/ep_flux/math-doc/document/img11.png +0 -0
  102. data/doc/ep_flux/math-doc/document/img110.png +0 -0
  103. data/doc/ep_flux/math-doc/document/img111.png +0 -0
  104. data/doc/ep_flux/math-doc/document/img112.png +0 -0
  105. data/doc/ep_flux/math-doc/document/img113.png +0 -0
  106. data/doc/ep_flux/math-doc/document/img114.png +0 -0
  107. data/doc/ep_flux/math-doc/document/img115.png +0 -0
  108. data/doc/ep_flux/math-doc/document/img116.png +0 -0
  109. data/doc/ep_flux/math-doc/document/img117.png +0 -0
  110. data/doc/ep_flux/math-doc/document/img118.png +0 -0
  111. data/doc/ep_flux/math-doc/document/img119.png +0 -0
  112. data/doc/ep_flux/math-doc/document/img12.png +0 -0
  113. data/doc/ep_flux/math-doc/document/img120.png +0 -0
  114. data/doc/ep_flux/math-doc/document/img121.png +0 -0
  115. data/doc/ep_flux/math-doc/document/img122.png +0 -0
  116. data/doc/ep_flux/math-doc/document/img123.png +0 -0
  117. data/doc/ep_flux/math-doc/document/img124.png +0 -0
  118. data/doc/ep_flux/math-doc/document/img125.png +0 -0
  119. data/doc/ep_flux/math-doc/document/img126.png +0 -0
  120. data/doc/ep_flux/math-doc/document/img127.png +0 -0
  121. data/doc/ep_flux/math-doc/document/img128.png +0 -0
  122. data/doc/ep_flux/math-doc/document/img129.png +0 -0
  123. data/doc/ep_flux/math-doc/document/img13.png +0 -0
  124. data/doc/ep_flux/math-doc/document/img130.png +0 -0
  125. data/doc/ep_flux/math-doc/document/img131.png +0 -0
  126. data/doc/ep_flux/math-doc/document/img132.png +0 -0
  127. data/doc/ep_flux/math-doc/document/img133.png +0 -0
  128. data/doc/ep_flux/math-doc/document/img134.png +0 -0
  129. data/doc/ep_flux/math-doc/document/img135.png +0 -0
  130. data/doc/ep_flux/math-doc/document/img136.png +0 -0
  131. data/doc/ep_flux/math-doc/document/img137.png +0 -0
  132. data/doc/ep_flux/math-doc/document/img138.png +0 -0
  133. data/doc/ep_flux/math-doc/document/img139.png +0 -0
  134. data/doc/ep_flux/math-doc/document/img14.png +0 -0
  135. data/doc/ep_flux/math-doc/document/img140.png +0 -0
  136. data/doc/ep_flux/math-doc/document/img141.png +0 -0
  137. data/doc/ep_flux/math-doc/document/img142.png +0 -0
  138. data/doc/ep_flux/math-doc/document/img143.png +0 -0
  139. data/doc/ep_flux/math-doc/document/img144.png +0 -0
  140. data/doc/ep_flux/math-doc/document/img145.png +0 -0
  141. data/doc/ep_flux/math-doc/document/img146.png +0 -0
  142. data/doc/ep_flux/math-doc/document/img147.png +0 -0
  143. data/doc/ep_flux/math-doc/document/img148.png +0 -0
  144. data/doc/ep_flux/math-doc/document/img149.png +0 -0
  145. data/doc/ep_flux/math-doc/document/img15.png +0 -0
  146. data/doc/ep_flux/math-doc/document/img150.png +0 -0
  147. data/doc/ep_flux/math-doc/document/img151.png +0 -0
  148. data/doc/ep_flux/math-doc/document/img152.png +0 -0
  149. data/doc/ep_flux/math-doc/document/img153.png +0 -0
  150. data/doc/ep_flux/math-doc/document/img154.png +0 -0
  151. data/doc/ep_flux/math-doc/document/img155.png +0 -0
  152. data/doc/ep_flux/math-doc/document/img156.png +0 -0
  153. data/doc/ep_flux/math-doc/document/img157.png +0 -0
  154. data/doc/ep_flux/math-doc/document/img158.png +0 -0
  155. data/doc/ep_flux/math-doc/document/img159.png +0 -0
  156. data/doc/ep_flux/math-doc/document/img16.png +0 -0
  157. data/doc/ep_flux/math-doc/document/img160.png +0 -0
  158. data/doc/ep_flux/math-doc/document/img161.png +0 -0
  159. data/doc/ep_flux/math-doc/document/img162.png +0 -0
  160. data/doc/ep_flux/math-doc/document/img163.png +0 -0
  161. data/doc/ep_flux/math-doc/document/img164.png +0 -0
  162. data/doc/ep_flux/math-doc/document/img165.png +0 -0
  163. data/doc/ep_flux/math-doc/document/img166.png +0 -0
  164. data/doc/ep_flux/math-doc/document/img167.png +0 -0
  165. data/doc/ep_flux/math-doc/document/img168.png +0 -0
  166. data/doc/ep_flux/math-doc/document/img169.png +0 -0
  167. data/doc/ep_flux/math-doc/document/img17.png +0 -0
  168. data/doc/ep_flux/math-doc/document/img170.png +0 -0
  169. data/doc/ep_flux/math-doc/document/img171.png +0 -0
  170. data/doc/ep_flux/math-doc/document/img172.png +0 -0
  171. data/doc/ep_flux/math-doc/document/img173.png +0 -0
  172. data/doc/ep_flux/math-doc/document/img174.png +0 -0
  173. data/doc/ep_flux/math-doc/document/img175.png +0 -0
  174. data/doc/ep_flux/math-doc/document/img176.png +0 -0
  175. data/doc/ep_flux/math-doc/document/img177.png +0 -0
  176. data/doc/ep_flux/math-doc/document/img178.png +0 -0
  177. data/doc/ep_flux/math-doc/document/img179.png +0 -0
  178. data/doc/ep_flux/math-doc/document/img18.png +0 -0
  179. data/doc/ep_flux/math-doc/document/img180.png +0 -0
  180. data/doc/ep_flux/math-doc/document/img181.png +0 -0
  181. data/doc/ep_flux/math-doc/document/img182.png +0 -0
  182. data/doc/ep_flux/math-doc/document/img183.png +0 -0
  183. data/doc/ep_flux/math-doc/document/img184.png +0 -0
  184. data/doc/ep_flux/math-doc/document/img185.png +0 -0
  185. data/doc/ep_flux/math-doc/document/img186.png +0 -0
  186. data/doc/ep_flux/math-doc/document/img187.png +0 -0
  187. data/doc/ep_flux/math-doc/document/img188.png +0 -0
  188. data/doc/ep_flux/math-doc/document/img189.png +0 -0
  189. data/doc/ep_flux/math-doc/document/img19.png +0 -0
  190. data/doc/ep_flux/math-doc/document/img190.png +0 -0
  191. data/doc/ep_flux/math-doc/document/img191.png +0 -0
  192. data/doc/ep_flux/math-doc/document/img192.png +0 -0
  193. data/doc/ep_flux/math-doc/document/img193.png +0 -0
  194. data/doc/ep_flux/math-doc/document/img194.png +0 -0
  195. data/doc/ep_flux/math-doc/document/img195.png +0 -0
  196. data/doc/ep_flux/math-doc/document/img196.png +0 -0
  197. data/doc/ep_flux/math-doc/document/img197.png +0 -0
  198. data/doc/ep_flux/math-doc/document/img198.png +0 -0
  199. data/doc/ep_flux/math-doc/document/img199.png +0 -0
  200. data/doc/ep_flux/math-doc/document/img2.png +0 -0
  201. data/doc/ep_flux/math-doc/document/img20.png +0 -0
  202. data/doc/ep_flux/math-doc/document/img200.png +0 -0
  203. data/doc/ep_flux/math-doc/document/img21.png +0 -0
  204. data/doc/ep_flux/math-doc/document/img22.png +0 -0
  205. data/doc/ep_flux/math-doc/document/img23.png +0 -0
  206. data/doc/ep_flux/math-doc/document/img24.png +0 -0
  207. data/doc/ep_flux/math-doc/document/img25.png +0 -0
  208. data/doc/ep_flux/math-doc/document/img26.png +0 -0
  209. data/doc/ep_flux/math-doc/document/img27.png +0 -0
  210. data/doc/ep_flux/math-doc/document/img28.png +0 -0
  211. data/doc/ep_flux/math-doc/document/img29.png +0 -0
  212. data/doc/ep_flux/math-doc/document/img3.png +0 -0
  213. data/doc/ep_flux/math-doc/document/img30.png +0 -0
  214. data/doc/ep_flux/math-doc/document/img31.png +0 -0
  215. data/doc/ep_flux/math-doc/document/img32.png +0 -0
  216. data/doc/ep_flux/math-doc/document/img33.png +0 -0
  217. data/doc/ep_flux/math-doc/document/img34.png +0 -0
  218. data/doc/ep_flux/math-doc/document/img35.png +0 -0
  219. data/doc/ep_flux/math-doc/document/img36.png +0 -0
  220. data/doc/ep_flux/math-doc/document/img37.png +0 -0
  221. data/doc/ep_flux/math-doc/document/img38.png +0 -0
  222. data/doc/ep_flux/math-doc/document/img39.png +0 -0
  223. data/doc/ep_flux/math-doc/document/img4.png +0 -0
  224. data/doc/ep_flux/math-doc/document/img40.png +0 -0
  225. data/doc/ep_flux/math-doc/document/img41.png +0 -0
  226. data/doc/ep_flux/math-doc/document/img42.png +0 -0
  227. data/doc/ep_flux/math-doc/document/img43.png +0 -0
  228. data/doc/ep_flux/math-doc/document/img44.png +0 -0
  229. data/doc/ep_flux/math-doc/document/img45.png +0 -0
  230. data/doc/ep_flux/math-doc/document/img46.png +0 -0
  231. data/doc/ep_flux/math-doc/document/img47.png +0 -0
  232. data/doc/ep_flux/math-doc/document/img48.png +0 -0
  233. data/doc/ep_flux/math-doc/document/img49.png +0 -0
  234. data/doc/ep_flux/math-doc/document/img5.png +0 -0
  235. data/doc/ep_flux/math-doc/document/img50.png +0 -0
  236. data/doc/ep_flux/math-doc/document/img51.png +0 -0
  237. data/doc/ep_flux/math-doc/document/img52.png +0 -0
  238. data/doc/ep_flux/math-doc/document/img53.png +0 -0
  239. data/doc/ep_flux/math-doc/document/img54.png +0 -0
  240. data/doc/ep_flux/math-doc/document/img55.png +0 -0
  241. data/doc/ep_flux/math-doc/document/img56.png +0 -0
  242. data/doc/ep_flux/math-doc/document/img57.png +0 -0
  243. data/doc/ep_flux/math-doc/document/img58.png +0 -0
  244. data/doc/ep_flux/math-doc/document/img59.png +0 -0
  245. data/doc/ep_flux/math-doc/document/img6.png +0 -0
  246. data/doc/ep_flux/math-doc/document/img60.png +0 -0
  247. data/doc/ep_flux/math-doc/document/img61.png +0 -0
  248. data/doc/ep_flux/math-doc/document/img62.png +0 -0
  249. data/doc/ep_flux/math-doc/document/img63.png +0 -0
  250. data/doc/ep_flux/math-doc/document/img64.png +0 -0
  251. data/doc/ep_flux/math-doc/document/img65.png +0 -0
  252. data/doc/ep_flux/math-doc/document/img66.png +0 -0
  253. data/doc/ep_flux/math-doc/document/img67.png +0 -0
  254. data/doc/ep_flux/math-doc/document/img68.png +0 -0
  255. data/doc/ep_flux/math-doc/document/img69.png +0 -0
  256. data/doc/ep_flux/math-doc/document/img7.png +0 -0
  257. data/doc/ep_flux/math-doc/document/img70.png +0 -0
  258. data/doc/ep_flux/math-doc/document/img71.png +0 -0
  259. data/doc/ep_flux/math-doc/document/img72.png +0 -0
  260. data/doc/ep_flux/math-doc/document/img73.png +0 -0
  261. data/doc/ep_flux/math-doc/document/img74.png +0 -0
  262. data/doc/ep_flux/math-doc/document/img75.png +0 -0
  263. data/doc/ep_flux/math-doc/document/img76.png +0 -0
  264. data/doc/ep_flux/math-doc/document/img77.png +0 -0
  265. data/doc/ep_flux/math-doc/document/img78.png +0 -0
  266. data/doc/ep_flux/math-doc/document/img79.png +0 -0
  267. data/doc/ep_flux/math-doc/document/img8.png +0 -0
  268. data/doc/ep_flux/math-doc/document/img80.png +0 -0
  269. data/doc/ep_flux/math-doc/document/img81.png +0 -0
  270. data/doc/ep_flux/math-doc/document/img82.png +0 -0
  271. data/doc/ep_flux/math-doc/document/img83.png +0 -0
  272. data/doc/ep_flux/math-doc/document/img84.png +0 -0
  273. data/doc/ep_flux/math-doc/document/img85.png +0 -0
  274. data/doc/ep_flux/math-doc/document/img86.png +0 -0
  275. data/doc/ep_flux/math-doc/document/img87.png +0 -0
  276. data/doc/ep_flux/math-doc/document/img88.png +0 -0
  277. data/doc/ep_flux/math-doc/document/img89.png +0 -0
  278. data/doc/ep_flux/math-doc/document/img9.png +0 -0
  279. data/doc/ep_flux/math-doc/document/img90.png +0 -0
  280. data/doc/ep_flux/math-doc/document/img91.png +0 -0
  281. data/doc/ep_flux/math-doc/document/img92.png +0 -0
  282. data/doc/ep_flux/math-doc/document/img93.png +0 -0
  283. data/doc/ep_flux/math-doc/document/img94.png +0 -0
  284. data/doc/ep_flux/math-doc/document/img95.png +0 -0
  285. data/doc/ep_flux/math-doc/document/img96.png +0 -0
  286. data/doc/ep_flux/math-doc/document/img97.png +0 -0
  287. data/doc/ep_flux/math-doc/document/img98.png +0 -0
  288. data/doc/ep_flux/math-doc/document/img99.png +0 -0
  289. data/doc/ep_flux/math-doc/document/index.html +101 -0
  290. data/doc/ep_flux/math-doc/document/internals.pl +258 -0
  291. data/doc/ep_flux/math-doc/document/labels.pl +265 -0
  292. data/doc/ep_flux/math-doc/document/next.png +0 -0
  293. data/doc/ep_flux/math-doc/document/next_g.png +0 -0
  294. data/doc/ep_flux/math-doc/document/node1.html +104 -0
  295. data/doc/ep_flux/math-doc/document/node10.html +164 -0
  296. data/doc/ep_flux/math-doc/document/node11.html +86 -0
  297. data/doc/ep_flux/math-doc/document/node12.html +166 -0
  298. data/doc/ep_flux/math-doc/document/node13.html +897 -0
  299. data/doc/ep_flux/math-doc/document/node14.html +1065 -0
  300. data/doc/ep_flux/math-doc/document/node15.html +72 -0
  301. data/doc/ep_flux/math-doc/document/node16.html +81 -0
  302. data/doc/ep_flux/math-doc/document/node2.html +82 -0
  303. data/doc/ep_flux/math-doc/document/node3.html +91 -0
  304. data/doc/ep_flux/math-doc/document/node4.html +149 -0
  305. data/doc/ep_flux/math-doc/document/node5.html +330 -0
  306. data/doc/ep_flux/math-doc/document/node6.html +99 -0
  307. data/doc/ep_flux/math-doc/document/node7.html +98 -0
  308. data/doc/ep_flux/math-doc/document/node8.html +83 -0
  309. data/doc/ep_flux/math-doc/document/node9.html +140 -0
  310. data/doc/ep_flux/math-doc/document/prev.png +0 -0
  311. data/doc/ep_flux/math-doc/document/prev_g.png +0 -0
  312. data/doc/ep_flux/math-doc/document/up.png +0 -0
  313. data/doc/ep_flux/math-doc/document/up_g.png +0 -0
  314. data/doc/ep_flux/math-doc/document.pdf +0 -0
  315. data/doc/ep_flux/math-doc/document.tex +2018 -0
  316. data/doc/gdir.html +412 -0
  317. data/doc/gdir_client.html +16 -0
  318. data/doc/gdir_connect_ftp-like.html +61 -0
  319. data/doc/gdir_server.html +45 -0
  320. data/doc/ggraph.html +1615 -0
  321. data/doc/gpcat.html +44 -0
  322. data/doc/gpcut.html +41 -0
  323. data/doc/gphys.html +532 -0
  324. data/doc/gphys_fft.html +324 -0
  325. data/doc/gphys_grads_io.html +69 -0
  326. data/doc/gphys_grib_io.html +82 -0
  327. data/doc/gphys_io.html +120 -0
  328. data/doc/gphys_io_common.html +18 -0
  329. data/doc/gphys_netcdf_io.html +283 -0
  330. data/doc/gplist.html +24 -0
  331. data/doc/gpmath.html +51 -0
  332. data/doc/gpmaxmin.html +31 -0
  333. data/doc/gpprint.html +34 -0
  334. data/doc/gpview.html +270 -0
  335. data/doc/grads2nc_with_gphys.html +21 -0
  336. data/doc/grads_gridded.html +307 -0
  337. data/doc/grib.html +144 -0
  338. data/doc/grid.html +212 -0
  339. data/doc/index.html +133 -0
  340. data/doc/index.rd +127 -0
  341. data/doc/netcdf_convention.html +136 -0
  342. data/doc/unumeric.html +176 -0
  343. data/doc/update +64 -0
  344. data/doc/varray.html +299 -0
  345. data/doc/varraycomposite.html +67 -0
  346. data/ext_coord.c +209 -0
  347. data/ext_init.c +7 -0
  348. data/extconf.rb +42 -0
  349. data/install.rb +130 -0
  350. data/interpo.c +497 -0
  351. data/lib/numru/dcl_mouse.rb +71 -0
  352. data/lib/numru/dclext_datetime_ax.rb +220 -0
  353. data/lib/numru/derivative.rb +348 -0
  354. data/lib/numru/ganalysis/covariance.rb +154 -0
  355. data/lib/numru/ganalysis/eof.rb +298 -0
  356. data/lib/numru/ganalysis/histogram.rb +252 -0
  357. data/lib/numru/ganalysis/met.rb +317 -0
  358. data/lib/numru/ganalysis/planet.rb +182 -0
  359. data/lib/numru/ganalysis.rb +7 -0
  360. data/lib/numru/gdir.rb +1038 -0
  361. data/lib/numru/gdir_connect_ftp-like.rb +149 -0
  362. data/lib/numru/ggraph.rb +5838 -0
  363. data/lib/numru/ggraph_on_merdional_section.rb +178 -0
  364. data/lib/numru/gphys/assoccoords.rb +359 -0
  365. data/lib/numru/gphys/attribute.rb +129 -0
  366. data/lib/numru/gphys/attributenetcdf.rb +80 -0
  367. data/lib/numru/gphys/axis.rb +963 -0
  368. data/lib/numru/gphys/coordmapping.rb +286 -0
  369. data/lib/numru/gphys/coordtransform.rb +209 -0
  370. data/lib/numru/gphys/derivative.rb +314 -0
  371. data/lib/numru/gphys/ep_flux.rb +868 -0
  372. data/lib/numru/gphys/gpcommon.rb +52 -0
  373. data/lib/numru/gphys/gphys.rb +1207 -0
  374. data/lib/numru/gphys/gphys_fft.rb +886 -0
  375. data/lib/numru/gphys/gphys_grads_io.rb +212 -0
  376. data/lib/numru/gphys/gphys_grib_io.rb +214 -0
  377. data/lib/numru/gphys/gphys_gtool3_io.rb +162 -0
  378. data/lib/numru/gphys/gphys_hdfeos5_io.rb +672 -0
  379. data/lib/numru/gphys/gphys_io.rb +452 -0
  380. data/lib/numru/gphys/gphys_io_common.rb +126 -0
  381. data/lib/numru/gphys/gphys_netcdf_io.rb +800 -0
  382. data/lib/numru/gphys/gphys_nusdas_io.rb +132 -0
  383. data/lib/numru/gphys/grads_gridded.rb +1638 -0
  384. data/lib/numru/gphys/grib.rb +2049 -0
  385. data/lib/numru/gphys/grib_params.rb +1465 -0
  386. data/lib/numru/gphys/grid.rb +723 -0
  387. data/lib/numru/gphys/gtool3.rb +771 -0
  388. data/lib/numru/gphys/interpolate.rb +854 -0
  389. data/lib/numru/gphys/narray_ext.rb +34 -0
  390. data/lib/numru/gphys/netcdf_convention.rb +406 -0
  391. data/lib/numru/gphys/subsetmapping.rb +332 -0
  392. data/lib/numru/gphys/unumeric.rb +522 -0
  393. data/lib/numru/gphys/varray.rb +1109 -0
  394. data/lib/numru/gphys/varraycomposite.rb +415 -0
  395. data/lib/numru/gphys/varraygrads.rb +225 -0
  396. data/lib/numru/gphys/varraygrib.rb +177 -0
  397. data/lib/numru/gphys/varraygtool3.rb +226 -0
  398. data/lib/numru/gphys/varrayhdfeos5.rb +451 -0
  399. data/lib/numru/gphys/varraynetcdf.rb +350 -0
  400. data/lib/numru/gphys/varraynusdas.rb +59 -0
  401. data/lib/numru/gphys.rb +9 -0
  402. data/lib/numru/htdir.rb +170 -0
  403. data/multibitIO.c +567 -0
  404. data/sample/cira86_to_nc.rb +122 -0
  405. data/sample/druby_cli1.rb +21 -0
  406. data/sample/druby_cli2.rb +34 -0
  407. data/sample/druby_serv1.rb +30 -0
  408. data/sample/druby_serv2.rb +64 -0
  409. data/sample/ep_flux/demo_NCEP_1.rb +48 -0
  410. data/sample/ep_flux/demo_NCEP_2.rb +57 -0
  411. data/sample/ep_flux/demo_NCEP_3.rb +81 -0
  412. data/sample/ggraph_latlon_labelling_dr002690.rb +159 -0
  413. data/sample/ggraph_mapfit-axes_dr002687.rb +131 -0
  414. data/sample/map_projection.rb +121 -0
  415. data/sample/ncep_theta_coord.rb +79 -0
  416. data/test/eof_slp.rb +28 -0
  417. data/test/mltbit.dat +0 -0
  418. data/test/test_ep_flux.rb +533 -0
  419. data/test/test_multibitIO.rb +19 -0
  420. data/testdata/T.jan.ctl +12 -0
  421. data/testdata/T.jan.dat +0 -0
  422. data/testdata/T.jan.grib +0 -0
  423. data/testdata/T.jan.nc +0 -0
  424. data/testdata/T.jan.packed.withmiss.nc +0 -0
  425. data/testdata/UV.jan.nc +0 -0
  426. data/testdata/assoc_crds.nc +0 -0
  427. data/testdata/cira86.dat +1332 -0
  428. metadata +621 -0
data/doc/gpview.html ADDED
@@ -0,0 +1,270 @@
1
+ <?xml version="1.0" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml">
6
+ <head>
7
+ <title>../bin/gpview</title>
8
+ </head>
9
+ <body>
10
+ <h1><a name="label-0" id="label-0">NAME</a></h1><!-- RDLabel: "NAME" -->
11
+ <p>gpview - quick viewer for the values of a variable specified by a gtool4-type URL. </p>
12
+ <ol>
13
+ <li>for 1-dimensional variable, make line plot.</li>
14
+ <li>for 2-dimensional variable, make contour/tone plot.</li>
15
+ <li>for 3/more-dimensional variable, make contour/tone plot,
16
+ select first 2D. possible to make animation.</li>
17
+ </ol>
18
+ <h1><a name="label-1" id="label-1">USAGE</a></h1><!-- RDLabel: "USAGE" -->
19
+ <p>The first command form is </p>
20
+ <pre>% gpview [options] gturl1 gturl2 gturl3 ...</pre>
21
+ <p>where the format of the gturl is</p>
22
+ <pre>path@varname[,dimname=pos1[:pos2[:thinning_intv]][,dimname=...]]</pre>
23
+ <p>The second commnad form is </p>
24
+ <pre>% gpview --var url [options] gtfile1 gtfile2 ...</pre>
25
+ <p>where the format of the url is </p>
26
+ <pre>varname[,dimname=pos1[:pos2[:thinning_intv]][,dimname=...]]</pre>
27
+ <h1><a name="label-2" id="label-2">OPTIONS</a></h1><!-- RDLabel: "OPTIONS" -->
28
+ <p>if you want to know more description, please read</p>
29
+ <pre>http://ruby.gfd-dennou.org/products/gphys/doc/gpview.html</pre>
30
+ <h2><a name="label-3" id="label-3">GLOBAL OPTIONS</a></h2><!-- RDLabel: "GLOBAL OPTIONS" -->
31
+ <dl>
32
+ <dt><h4><a name="label-4" id="label-4">--help:</a></h4></dt><!-- RDLabel: "&shy;&shy;help:" -->
33
+ <dd>
34
+ print this message.
35
+ </dd>
36
+ <dt><h4><a name="label-5" id="label-5">--var url:</a></h4></dt><!-- RDLabel: "&shy;&shy;var url:" -->
37
+ <dd>
38
+ set the variable name and slicing parameters.
39
+ </dd>
40
+ <dt><h4><a name="label-6" id="label-6">--wsn [1-4]:</a></h4></dt><!-- RDLabel: "&shy;&shy;wsn [1-4]:" -->
41
+ <dd>
42
+ set work staion number. each number represent output device:
43
+ 1 : X window.
44
+ 2 : PS file. (named dcl.ps)
45
+ 3 : Tcl/Tk file.
46
+ 4 : GTK Windows (depend on dcl-5.3)
47
+ </dd>
48
+ <dt><h4><a name="label-7" id="label-7">--clrmap [1-]:</a></h4></dt><!-- RDLabel: "&shy;&shy;clrmap [1-]:" -->
49
+ <dd>
50
+ set colormap to draw tone/contour.
51
+ </dd>
52
+ <dt><h4><a name="label-8" id="label-8">--itr [1-4,5-7,10-15,20-23,30-33]:</a></h4></dt><!-- RDLabel: "&shy;&shy;itr [1-4,5-7,10-15,20-23,30-33]:" -->
53
+ <dd>
54
+ set axis scale. default is 1.
55
+ 1 : linear scale for x/y axis
56
+ 2 : linear scale for x , log scale for y axis
57
+ 3 : log scale for x , linear scale for y axis
58
+ 4 : log scale for x/y axis
59
+ </dd>
60
+ <dt><h4><a name="label-9" id="label-9">--similar [simfac,vxoff,vyoff]:</a></h4></dt><!-- RDLabel: "&shy;&shy;similar [simfac,vxoff,vyoff]:" -->
61
+ <dd>
62
+ (for 5&lt;=itr&lt;=7) set similarity parameters which are fed in DCL.grssim.
63
+ </dd>
64
+ <dt><h4><a name="label-10" id="label-10">--map_axis [uxc,uyc,rot]:</a></h4></dt><!-- RDLabel: "&shy;&shy;map_axis [uxc,uyc,rot]:" -->
65
+ <dd>
66
+ (for 10&lt;=itr&lt;=33) set mapping parameters which are fed in DCL.umpcnt.
67
+ </dd>
68
+ <dt><h4><a name="label-11" id="label-11">--title:</a></h4></dt><!-- RDLabel: "&shy;&shy;title:" -->
69
+ <dd>
70
+ set title of figure
71
+ </dd>
72
+ <dt><h4><a name="label-12" id="label-12">--aspect &lt;aspect&gt;:</a></h4></dt><!-- RDLabel: "&shy;&shy;aspect <aspect>:" -->
73
+ <dd>
74
+ set aspect ratio of Viewport. default is 2.0.
75
+ </dd>
76
+ <dt><h4><a name="label-13" id="label-13">--noannotate:</a></h4></dt><!-- RDLabel: "&shy;&shy;noannotate:" -->
77
+ <dd>
78
+ not draw annotations.
79
+ </dd>
80
+ <dt><h4><a name="label-14" id="label-14">--animate/anim &lt;dim&gt;:</a></h4></dt><!-- RDLabel: "&shy;&shy;animate/anim <dim>:" -->
81
+ <dd>
82
+ plot animation along &lt;dim&gt;. &lt;dim&gt; must be name of dimension.
83
+ </dd>
84
+ <dt><h4><a name="label-15" id="label-15">--alternate, --Ga:</a></h4></dt><!-- RDLabel: "&shy;&shy;alternate, &shy;&shy;Ga:" -->
85
+ <dd>
86
+ enable to backing store.
87
+ </dd>
88
+ <dt><h4><a name="label-16" id="label-16">--nowait, --Gw:</a></h4></dt><!-- RDLabel: "&shy;&shy;nowait, &shy;&shy;Gw:" -->
89
+ <dd>
90
+ not wait for any actions if animate
91
+ </dd>
92
+ <dt><h4><a name="label-17" id="label-17">--reverse, --Gr:</a></h4></dt><!-- RDLabel: "&shy;&shy;reverse, &shy;&shy;Gr:" -->
93
+ <dd>
94
+ plot animation reversible if animate
95
+ </dd>
96
+ <dt><h4><a name="label-18" id="label-18">--smooth, --Gaw:</a></h4></dt><!-- RDLabel: "&shy;&shy;smooth, &shy;&shy;Gaw:" -->
97
+ <dd>
98
+ equal to --anlternate &amp;&amp; --nowait
99
+ </dd>
100
+ <dt><h4><a name="label-19" id="label-19">--exch:</a></h4></dt><!-- RDLabel: "&shy;&shy;exch:" -->
101
+ <dd>
102
+ exchange(transpose) x/y axis.
103
+ </dd>
104
+ <dt><h4><a name="label-20" id="label-20">--mean &lt;dim&gt;:</a></h4></dt><!-- RDLabel: "&shy;&shy;mean <dim>:" -->
105
+ <dd>
106
+ mean along axis &lt;dim&gt;.
107
+ </dd>
108
+ <dt><h4><a name="label-21" id="label-21">--m, --map &lt;map_type&gt;:</a></h4></dt><!-- RDLabel: "&shy;&shy;m, &shy;&shy;map <map_type>:" -->
109
+ <dd>
110
+ plot map. itr number must be set. this option is neglect if itr
111
+ number is 1-4. abailable map type is coast_world, border_world,
112
+ plate_world, state_usa, coast_japan, pref_japan
113
+ </dd>
114
+ <dt><h4><a name="label-22" id="label-22">--operation &lt;math_func&gt;:</a></h4></dt><!-- RDLabel: "&shy;&shy;operation <math_func>:" -->
115
+ <dd>
116
+ operation of the specified math function on the data.
117
+ &lt;math_func&gt; should be a math function with one argument
118
+ such as log10, sqrt, sin, etc.
119
+ </dd>
120
+ </dl>
121
+ <h2><a name="label-23" id="label-23">LINE/MARK OPTIONS</a></h2><!-- RDLabel: "LINE/MARK OPTIONS" -->
122
+ <dl>
123
+ <dt><h4><a name="label-24" id="label-24">--line:</a></h4></dt><!-- RDLabel: "&shy;&shy;line:" -->
124
+ <dd>
125
+ make line plot forced. (about first 1D)
126
+ </dd>
127
+ <dt><h4><a name="label-25" id="label-25">--mark:</a></h4></dt><!-- RDLabel: "&shy;&shy;mark:" -->
128
+ <dd>
129
+ make mark plot forced. (about first 1D)
130
+ </dd>
131
+ <dt><h4><a name="label-26" id="label-26">--index:</a></h4></dt><!-- RDLabel: "&shy;&shy;index:" -->
132
+ <dd>
133
+ set DCL line index, which set the color/thickness of the line
134
+ primitive. please see DCL documents.
135
+ </dd>
136
+ <dt><h4><a name="label-27" id="label-27">--type:</a></h4></dt><!-- RDLabel: "&shy;&shy;type:" -->
137
+ <dd>
138
+ set line type.
139
+ </dd>
140
+ <dt><h4><a name="label-28" id="label-28">--range [min:max]</a></h4></dt><!-- RDLabel: "&shy;&shy;range [min:max]" -->
141
+ <dd>
142
+ set min/max value for line plot. min or max must be set.
143
+ </dd>
144
+ <dt><h4><a name="label-29" id="label-29">--overplot</a></h4></dt><!-- RDLabel: "&shy;&shy;overplot" -->
145
+ <dd>
146
+ set number of lines on each figure
147
+ </dd>
148
+ </dl>
149
+ <h2><a name="label-30" id="label-30">CONTOUR/TONE OPTIONS</a></h2><!-- RDLabel: "CONTOUR/TONE OPTIONS" -->
150
+ <dl>
151
+ <dt><h4><a name="label-31" id="label-31">--shade:</a></h4></dt><!-- RDLabel: "&shy;&shy;shade:" -->
152
+ <dd>
153
+ make contour and tone plot.
154
+ </dd>
155
+ <dt><h4><a name="label-32" id="label-32">--noshade:</a></h4></dt><!-- RDLabel: "&shy;&shy;noshade:" -->
156
+ <dd>
157
+ make contour plot, without tone.
158
+ </dd>
159
+ <dt><h4><a name="label-33" id="label-33">--nocont:</a></h4></dt><!-- RDLabel: "&shy;&shy;nocont:" -->
160
+ <dd>
161
+ make tone plot, without contour.
162
+ </dd>
163
+ <dt><h4><a name="label-34" id="label-34">--range [min:max]:</a></h4></dt><!-- RDLabel: "&shy;&shy;range [min:max]:" -->
164
+ <dd>
165
+ set min/max value for contour/tone plot. min or max must be set.
166
+ </dd>
167
+ <dt><h4><a name="label-35" id="label-35">--crange:</a></h4></dt><!-- RDLabel: "&shy;&shy;crange:" -->
168
+ <dd>
169
+ set min/max value for contour plot. this is more dominant than --range
170
+ </dd>
171
+ <dt><h4><a name="label-36" id="label-36">--srange:</a></h4></dt><!-- RDLabel: "&shy;&shy;srange:" -->
172
+ <dd>
173
+ set min/max value for tone plot. this is more dominant than --interval/int
174
+ </dd>
175
+ <dt><h4><a name="label-37" id="label-37">--interval,--int [num]:</a></h4></dt><!-- RDLabel: "&shy;&shy;interval,&shy;&shy;int [num]:" -->
176
+ <dd>
177
+ set interval value for contour/tone plot. set the number of lines if
178
+ you set negative value.
179
+ </dd>
180
+ <dt><h4><a name="label-38" id="label-38">--cint:</a></h4></dt><!-- RDLabel: "&shy;&shy;cint:" -->
181
+ <dd>
182
+ set interval value for contour plot. this is more dominant
183
+ than --interval/int
184
+ </dd>
185
+ <dt><h4><a name="label-39" id="label-39">--sint:</a></h4></dt><!-- RDLabel: "&shy;&shy;sint:" -->
186
+ <dd>
187
+ set interval value for tone plot. this is more dominant than --interval/int.
188
+ </dd>
189
+ <dt><h4><a name="label-40" id="label-40">--levels:</a></h4></dt><!-- RDLabel: "&shy;&shy;levels:" -->
190
+ <dd>
191
+ set values of contour/tone levels.
192
+ </dd>
193
+ <dt><h4><a name="label-41" id="label-41">--clevels:</a></h4></dt><!-- RDLabel: "&shy;&shy;clevels:" -->
194
+ <dd>
195
+ set values of contour levels.
196
+ </dd>
197
+ <dt><h4><a name="label-42" id="label-42">--slevels:</a></h4></dt><!-- RDLabel: "&shy;&shy;slevels:" -->
198
+ <dd>
199
+ set tone of contour levels.
200
+ </dd>
201
+ <dt><h4><a name="label-43" id="label-43">--patterns:</a></h4></dt><!-- RDLabel: "&shy;&shy;patterns:" -->
202
+ <dd>
203
+ set each patterns for tone plot.
204
+ </dd>
205
+ <dt><h4><a name="label-44" id="label-44">--nocolorbar:</a></h4></dt><!-- RDLabel: "&shy;&shy;nocolorbar:" -->
206
+ <dd>
207
+ do not draw color bar
208
+ </dd>
209
+ <dt><h4><a name="label-45" id="label-45">--nozero:</a></h4></dt><!-- RDLabel: "&shy;&shy;nozero:" -->
210
+ <dd>
211
+ do not draw zero contour
212
+ </dd>
213
+ </dl>
214
+ <h2><a name="label-46" id="label-46">EXAMPLES</a></h2><!-- RDLabel: "EXAMPLES" -->
215
+ <p>For a single GPhys variable, </p>
216
+ <pre>% gpview data.nc@temp
217
+ % gpview data.nc@temp,lon=130:150,lat=0:90:2
218
+ % gpview --nocont data.nc@temp,lon=130:150,lat=0
219
+ % gpview --noshade data.nc@temp,lon=130:150,lat=0
220
+ % gpview --mean lon data.nc@temp,lon=130:150,lat=0
221
+ % gpview --exch data.nc@temp,lon=130:150,lat=0
222
+ % gpview --animate lon data.nc@temp,lon=130:150
223
+ % gpview --animate lon --alternate data.nc@temp
224
+ % gpview --smooth lon data.nc@temp,lon=130:150
225
+ % gpview --levels 0,10,20,30 --pattern 30999,40999,50999,60999,70999 data.nc@temp
226
+ % gpview --overplot=3 --anim t data.nc@temp,lon=0
227
+ % gpview --mark data.nc@temp,lon=0,lat=0
228
+ % gpview --operation log10 data.nc@temp,lon=0</pre>
229
+ <p>For multiple GPhys variables, </p>
230
+ <pre>% gpview data1.nc@temp data2.nc@temp
231
+ % gpview data1.nc@temp,lon=130:150 data2.nc@temp,lon=150:170
232
+ % gpview --overplot=3 --anim t data.nc@temp,lon=0 data.nc@temp,lon=10
233
+ % gpview --var temp,lon=130:150 data?.nc
234
+ % gpview --anim t --var temp,lon=130:150 data*.nc </pre>
235
+ <h2><a name="label-47" id="label-47">HISTORY</a></h2><!-- RDLabel: "HISTORY" -->
236
+ <pre>2004/12/14 D Tsukahara &amp;&amp; T Horinouti(parse_gturl)
237
+ 2005/01/08 D Tsukahara (add option --exch and able to invalid value)
238
+ 2005/01/09 D Tsukahara (add option --animate, smooth, alternate, index )
239
+ 2005/01/10 D Tsukahara (transpose axis with attr "positive:down" ,
240
+ abailable loopsense_flag. )
241
+ 2005/01/10 D Tsukahara (implement GGraph::color_bar, and margin_info,
242
+ which file name, date, and toolname. )
243
+ 2005/01/11 D Tsukahara ( 1. write document about OPTIONS.
244
+ 2. add many options. more info please see document. )
245
+ 2005/01/23 S Takehiro (add option --similar, map_axis)
246
+ 2005/02/09 D Tsukahara &amp;&amp; M Nakano (add option --reverse, --Gr, --map)
247
+ 2005/02/10 D Tsukahara (change option parser (getopts =&gt; getoptlong))
248
+ 2005/02/24 D Tsukahara (apply --range for line plot)
249
+ 2005/06/15 S Takehiro (add option --levels, --clevels, --slevels, --patterns)
250
+ 2005/06/17 S Takehiro (missing_value attribute setting removed)
251
+ 2005/06/22 S Takehiro (debug, clipping control added to GGraph::annotate)
252
+ 2005/06/23 S Takehiro (debug, option --title implemented)
253
+ 2005/07/15 S Takehiro (option --noannotate implemented)
254
+ 2005/08/07 S Takehiro (option --overplot implemented)
255
+ 2005/08/09 S Takehiro &amp;&amp; T Horinouchi (add option --help and help function.
256
+ URL information corrected. )
257
+ 2005/08/23 S Takehiro (multiple Gphys variables plotting
258
+ and option --var implemented)
259
+ 2005/08/23 S Takehiro (common methods to gp* command moved to gpcommon.rb)
260
+ 2005/10/30 S Takehiro (option --animate recoverd)
261
+ 2005/10/31 S Takehiro (option --smooth bug fixed)
262
+ 2006/03/07 M Nakano (option --int bug fixed)
263
+ 2007/10/03 S Takehiro (option --nocolorbar implemented)
264
+ 2008/04/03 S Takehiro (option --nozero implemented)
265
+ 2008/12/14 S Takehiro (option --mark implemented)
266
+ 2010/03/10 Y SASAKI (change help block into RD format)
267
+ 2011/01/14 T Tanigawa &amp;&amp; S Takehiro (option --operation implemented)</pre>
268
+
269
+ </body>
270
+ </html>
@@ -0,0 +1,21 @@
1
+ <?xml version="1.0" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml">
6
+ <head>
7
+ <title>../bin/grads2nc_with_gphys</title>
8
+ </head>
9
+ <body>
10
+ <h1><a name="label-0" id="label-0">NAME</a></h1><!-- RDLabel: "NAME" -->
11
+ <p>grads2nc_with_gphys - GrADS to NetCDF converter</p>
12
+ <h1><a name="label-1" id="label-1">WARNING</a></h1><!-- RDLabel: "WARNING" -->
13
+ <p>Not efficient if the GrADS file has many variables.</p>
14
+ <h1><a name="label-2" id="label-2">USAGE</a></h1><!-- RDLabel: "USAGE" -->
15
+ <pre>% grads2nc_with_gphys infilename outfilename [-v varname1 [varname2 ...]]</pre>
16
+ <h1><a name="label-3" id="label-3">EXAMPLE</a></h1><!-- RDLabel: "EXAMPLE" -->
17
+ <pre>% grads2nc_with_gphys ../testdata/T.jan.ctl tmp.nc
18
+ % grads2nc_with_gphys ../testdata/T.jan.ctl tmp.nc -v T</pre>
19
+
20
+ </body>
21
+ </html>
@@ -0,0 +1,307 @@
1
+ <?xml version="1.0" ?>
2
+ <!DOCTYPE html
3
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
+ <html xmlns="http://www.w3.org/1999/xhtml">
6
+ <head>
7
+ <title>../lib/numru/gphys/grads_gridded.rb</title>
8
+ </head>
9
+ <body>
10
+ <h1><a name="label-0" id="label-0">NumRu::GrADS_Gridded -- a class for GrADS gridded datasets</a></h1><!-- RDLabel: "NumRu::GrADS_Gridded &shy;&shy; a class for GrADS gridded datasets" -->
11
+ <p>by T Horinouchi and R Mizuta</p>
12
+ <h2><a name="label-1" id="label-1">Overview</a></h2><!-- RDLabel: "Overview" -->
13
+ <p>a GrADS_Gridded object corresponds to a GrADS control file,
14
+ through which the users can also access its binary data file(s).</p>
15
+ <h2><a name="label-2" id="label-2">Current Limitations</a></h2><!-- RDLabel: "Current Limitations" -->
16
+ <ul>
17
+ <li>option 365_day_calendar is not interpreted</li>
18
+ <li>Partial support of the "template" option
19
+ (only %y2,%y4,%m1,%m2,%d1,%d2,%h1,%h2,%n2)
20
+ (Time is assumed to be increasing monotonically).</li>
21
+ </ul>
22
+ <h2><a name="label-3" id="label-3">Class Methods</a></h2><!-- RDLabel: "Class Methods" -->
23
+ <dl>
24
+ <dt><h4><a name="label-4" id="label-4"><code>GrADS_Gridded.new(<var>ctlfilename</var>, <var>mode</var>="<var>r</var>")</code></a></h4></dt><!-- RDLabel: "GrADS_Gridded.new" -->
25
+ <dd>
26
+ same as GrADS_Gridded.open</dd>
27
+ <dt><h4><a name="label-5" id="label-5"><code>GrADS_Gridded.open(<var>ctlfilename</var>, <var>mode</var>="<var>r</var>")</code></a></h4></dt><!-- RDLabel: "GrADS_Gridded.open" -->
28
+ <dd>
29
+ <p>make a new GrADS_Gridded object. </p>
30
+ <p>ARGUMENTS</p>
31
+ <ul>
32
+ <li>ctlfilename (String): name of the control file to open</li>
33
+ <li>mode (String): IO mode. "r" (read only) or "w" (write only).</li>
34
+ </ul>
35
+ <p>REMARK</p>
36
+ <ul>
37
+ <li>You can modify the object through instance methods even if mode=="r".
38
+ In that case, the modification will not be written in the original
39
+ control file.</li>
40
+ </ul></dd>
41
+ <dt><h4><a name="label-6" id="label-6"><code>GrADS_Gridded.create(<var>ctlfilename</var>, <var>noclobber</var>=<var>false</var>, <var>share</var>=<var>false</var>)</code></a></h4></dt><!-- RDLabel: "GrADS_Gridded.create" -->
42
+ <dd>
43
+ <p>make a new GrADS_Gridded object with creating a new control file</p>
44
+ <p>REMARK</p>
45
+ <ul>
46
+ <li>It is used with writing methods, but currently writing methods
47
+ does not work. </li>
48
+ </ul></dd>
49
+ </dl>
50
+ <h2><a name="label-7" id="label-7">Methods</a></h2><!-- RDLabel: "Methods" -->
51
+ <dl>
52
+ <dt><h4><a name="label-8" id="label-8"><code>ndims</code></a></h4></dt><!-- RDLabel: "ndims" -->
53
+ <dd>
54
+ returns the number of dimensions in the file (always 4). </dd>
55
+ <dt><h4><a name="label-9" id="label-9"><code>nvars</code></a></h4></dt><!-- RDLabel: "nvars" -->
56
+ <dd>
57
+ returns the number of variables in the file. </dd>
58
+ <dt><h4><a name="label-10" id="label-10"><code>natts</code></a></h4></dt><!-- RDLabel: "natts" -->
59
+ <dd>
60
+ returns the number of attributes of the variable.</dd>
61
+ <dt><h4><a name="label-11" id="label-11"><code>path</code></a></h4></dt><!-- RDLabel: "path" -->
62
+ <dd>
63
+ returns the path of the control file.</dd>
64
+ <dt><h4><a name="label-12" id="label-12"><code>put_att( <var>attname</var>, <var>value</var> )</code></a></h4></dt><!-- RDLabel: "put_att" -->
65
+ <dd>
66
+ <p>set global attribute</p>
67
+ <p>ARGUMENTS</p>
68
+ <ul>
69
+ <li>attrname (String): name of an attribute</li>
70
+ <li>value (String): value of an attribute</li>
71
+ </ul></dd>
72
+ <dt><h4><a name="label-13" id="label-13"><code>def_var(<var>name</var>="<var>noname</var>",<var>nlev</var>=<var>0</var>,<var>option</var>="<var>99</var>",<var>description</var>="")</code></a></h4></dt><!-- RDLabel: "def_var" -->
73
+ <dd>
74
+ <p>define a variable</p>
75
+ <p>ARGUMENTS</p>
76
+ <ul>
77
+ <li>name (String): name of the variable</li>
78
+ <li>nlev (Integer): number of vertical levels</li>
79
+ <li>option (String): variable placement option
80
+ ("99": normal, "-1,30": transpose lon and lat)</li>
81
+ </ul></dd>
82
+ <dt><h4><a name="label-14" id="label-14"><code>var( <var>varname</var>=<var>nil</var> )</code></a></h4></dt><!-- RDLabel: "var" -->
83
+ <dd>
84
+ <p>opens an existing variable in the file. </p>
85
+ <p>ARGUMENTS</p>
86
+ <ul>
87
+ <li>varname (String): name of the variable to open</li>
88
+ </ul>
89
+ <p>RETURN VALUE</p>
90
+ <ul>
91
+ <li>a GrADSVar object. </li>
92
+ </ul></dd>
93
+ <dt><h4><a name="label-15" id="label-15"><code>vars( <var>names</var>=<var>nil</var> )</code></a></h4></dt><!-- RDLabel: "vars" -->
94
+ <dd>
95
+ <p>opens existing variables in the file. </p>
96
+ <p>ARGUMENTS</p>
97
+ <ul>
98
+ <li>names (Array): names(String) of the variable to open</li>
99
+ </ul>
100
+ <p>RETURN VALUE</p>
101
+ <ul>
102
+ <li>Array of GrADSVar objects.
103
+ returns all variables if names==nil</li>
104
+ </ul></dd>
105
+ <dt><h4><a name="label-16" id="label-16"><code>get_att( <var>key</var>=<var>nil</var> )</code></a></h4></dt><!-- RDLabel: "get_att" -->
106
+ <dd>
107
+ returns tha value of the global attribute</dd>
108
+ <dt><h4><a name="label-17" id="label-17"><code>dim_names</code></a></h4></dt><!-- RDLabel: "dim_names" -->
109
+ <dd>
110
+ returns the names of all dimensions in the control file.</dd>
111
+ <dt><h4><a name="label-18" id="label-18"><code>var_names</code></a></h4></dt><!-- RDLabel: "var_names" -->
112
+ <dd>
113
+ returns the names of all variables in the control file.</dd>
114
+ <dt><h4><a name="label-19" id="label-19"><code>att_names</code></a></h4></dt><!-- RDLabel: "att_names" -->
115
+ <dd>
116
+ returns the names of all the global attributes.</dd>
117
+ <dt><h4><a name="label-20" id="label-20"><code>to_ctl</code></a></h4></dt><!-- RDLabel: "to_ctl" -->
118
+ <dd>
119
+ <p>returns the contents of the corresponding control file as a String.</p>
120
+ <p>REMARK</p>
121
+ <ul>
122
+ <li>The contents is reconstructed from the internal data of the object.
123
+ Therefore, even when the object is based on a read-only control file,
124
+ it is not necessarily the same as the original one. It is especially
125
+ true when the object was modified after it is opened.</li>
126
+ </ul></dd>
127
+ <dt><h4><a name="label-21" id="label-21"><code>get(<var>name</var>, <var>z</var>, <var>t</var>)</code></a></h4></dt><!-- RDLabel: "get" -->
128
+ <dd>
129
+ <p>reads the binary data and returns as a NArray.</p>
130
+ <p>ARGUMENTS</p>
131
+ <ul>
132
+ <li>name (String): name of the variable to read</li>
133
+ <li>z (Integer, currently): vertical level to read (0,1,2,...; starting
134
+ from 0). Currently only one vertical levels must be chosen, but in the
135
+ future, it is planned to support multiple levels.</li>
136
+ <li>t (Integer, currently): time to read (0,1,2,...; starting
137
+ from 0). Currently only one time must be chosen, but in the
138
+ future, it is planned to support multiple times.</li>
139
+ </ul></dd>
140
+ <dt><h4><a name="label-22" id="label-22"><code>put(<var>ary</var>)</code></a></h4></dt><!-- RDLabel: "put" -->
141
+ <dd>
142
+ <p>writes the NArray on the binary data file. </p>
143
+ <p>ARGUMENTS</p>
144
+ <ul>
145
+ <li>ary (NArray): data to write. </li>
146
+ </ul></dd>
147
+ <dt><h4><a name="label-23" id="label-23"><code>varnames</code></a></h4></dt><!-- RDLabel: "varnames" -->
148
+ <dd>
149
+ Returns names of the variable in the GrADS file as an Array in the order
150
+ placed.</dd>
151
+ <dt><h4><a name="label-24" id="label-24"><code>dimensions</code></a></h4></dt><!-- RDLabel: "dimensions" -->
152
+ <dd>
153
+ <p>Returns info on the four dimensions.</p>
154
+ <p>RETURN VALUE</p>
155
+ <ul>
156
+ <li><p>an Array of 4 elements: dimension[0] for x, dimension[1] for y,
157
+ dimension[2] for z, and dimension[3] for t. Each of them is a
158
+ Hash like the following:</p>
159
+ <pre>{:name=&gt;"x",
160
+ :len=&gt;132,
161
+ :flag=&gt;"LINEAR",
162
+ :spec=&gt;"-0.7500 1.5000",
163
+ :start=&gt;-0.75, :increment=&gt;1.5,
164
+ :description=&gt;"longitude",
165
+ :units=&gt;"degrees_east"}</pre>
166
+ <p>Here, :len, :flag, and :spec are directly from the control file, while
167
+ others are derived properties for internal use. </p></li>
168
+ </ul>
169
+ <p>WARNING</p>
170
+ <ul>
171
+ <li>Each elements of the return value is not a clone but is a direct
172
+ association to an internal object of the object. Therefore, to
173
+ modify it is to modify the object. That is, dimensions[0][:len]=10
174
+ would actually change the internal variable, while dimensions[0]=nil
175
+ has no effect (the former is a substitution IN a Hash, while the latter
176
+ is a substitution OF the Hash).</li>
177
+ </ul></dd>
178
+ <dt><h4><a name="label-25" id="label-25"><code>get_dim(<var>dim</var>)</code></a></h4></dt><!-- RDLabel: "get_dim" -->
179
+ <dd>
180
+ <p>returns positions of a dimension as an NArray.</p>
181
+ <p>ARGUMENTS</p>
182
+ <ul>
183
+ <li>dim (String): a dimension name</li>
184
+ </ul>
185
+ <p>RETURN VALUE</p>
186
+ <ul>
187
+ <li>an NArray</li>
188
+ </ul></dd>
189
+ <dt><h4><a name="label-26" id="label-26"><code>title</code></a></h4></dt><!-- RDLabel: "title" -->
190
+ <dt><h4><a name="label-27" id="label-27"><code>title=</code></a></h4></dt><!-- RDLabel: "title=" -->
191
+ <dd>
192
+ get/set the title</dd>
193
+ <dt><h4><a name="label-28" id="label-28"><code>undef</code></a></h4></dt><!-- RDLabel: "undef" -->
194
+ <dt><h4><a name="label-29" id="label-29"><code>undef=</code></a></h4></dt><!-- RDLabel: "undef=" -->
195
+ <dd>
196
+ get/set the undef value</dd>
197
+ <dt><h4><a name="label-30" id="label-30"><code>dset</code></a></h4></dt><!-- RDLabel: "dset" -->
198
+ <dt><h4><a name="label-31" id="label-31"><code>dset=</code></a></h4></dt><!-- RDLabel: "dset=" -->
199
+ <dd>
200
+ get/set the dset string</dd>
201
+ </dl>
202
+ <h1><a name="label-32" id="label-32">GrADSVar -- a class for a variable of GrADS gridded datasets</a></h1><!-- RDLabel: "GrADSVar &shy;&shy; a class for a variable of GrADS gridded datasets" -->
203
+ <p>by R Mizuta</p>
204
+ <h2><a name="label-33" id="label-33">Overview</a></h2><!-- RDLabel: "Overview" -->
205
+ <p>a GrADSVar object corresponds to one variable in a GrADS control file.
206
+ It is intended to behave as a correspondent of a NetCDFVar object. </p>
207
+ <h2><a name="label-34" id="label-34">Current Limitations</a></h2><!-- RDLabel: "Current Limitations" -->
208
+ <ul>
209
+ <li>Only a part of the methods can work. </li>
210
+ <li>Writing methods are not supported. </li>
211
+ </ul>
212
+ <h2><a name="label-35" id="label-35">Class Methods</a></h2><!-- RDLabel: "Class Methods" -->
213
+ <dl>
214
+ <dt><h4><a name="label-36" id="label-36"><code>GrADSVar.new(<var>file</var>, <var>varname</var>)</code></a></h4></dt><!-- RDLabel: "GrADSVar.new" -->
215
+ <dd>
216
+ <p>make a new GrADSVar object. </p>
217
+ <p>ARGUMENTS</p>
218
+ <ul>
219
+ <li>file (GrADS_Gridded or String): a GrADS_Gridded object or
220
+ a name of the control file to open</li>
221
+ <li>varname (String): name of the variable to open</li>
222
+ </ul></dd>
223
+ </dl>
224
+ <h2><a name="label-37" id="label-37">Methods</a></h2><!-- RDLabel: "Methods" -->
225
+ <dl>
226
+ <dt><h4><a name="label-38" id="label-38"><code>shape_ul0</code></a></h4></dt><!-- RDLabel: "shape_ul0" -->
227
+ <dd>
228
+ <p>returns the shape of the variable, but the length of the unlimited
229
+ dimension is set to zero.</p>
230
+ <p>RETURN VALUE</p>
231
+ <ul>
232
+ <li>Array. [length of 0th dim, length of 1st dim,.. ]</li>
233
+ </ul></dd>
234
+ <dt><h4><a name="label-39" id="label-39"><code>shape_current</code></a></h4></dt><!-- RDLabel: "shape_current" -->
235
+ <dd>
236
+ <p>returns the current shape of the variable.</p>
237
+ <p>RETURN VALUE</p>
238
+ <ul>
239
+ <li>Array. [length of 0th dim, length of 1st dim,.. ]</li>
240
+ </ul></dd>
241
+ <dt><h4><a name="label-40" id="label-40"><code>dim_names</code></a></h4></dt><!-- RDLabel: "dim_names" -->
242
+ <dd>
243
+ returns the names of all dimensions of the variable.</dd>
244
+ <dt><h4><a name="label-41" id="label-41"><code>att_names</code></a></h4></dt><!-- RDLabel: "att_names" -->
245
+ <dd>
246
+ returns the names of all attributes of the variable.</dd>
247
+ <dt><h4><a name="label-42" id="label-42"><code>name</code></a></h4></dt><!-- RDLabel: "name" -->
248
+ <dd>
249
+ returns the name of the variable. </dd>
250
+ <dt><h4><a name="label-43" id="label-43"><code>ndims</code></a></h4></dt><!-- RDLabel: "ndims" -->
251
+ <dd>
252
+ returns the number of dimensions in the file (always 4). </dd>
253
+ <dt><h4><a name="label-44" id="label-44"><code>rank</code></a></h4></dt><!-- RDLabel: "rank" -->
254
+ <dd>
255
+ alias of ndims</dd>
256
+ <dt><h4><a name="label-45" id="label-45"><code>vartype</code></a></h4></dt><!-- RDLabel: "vartype" -->
257
+ <dd>
258
+ returns "sfloat" in order to behave as NetCDFVar#vartype. </dd>
259
+ <dt><h4><a name="label-46" id="label-46"><code>natts</code></a></h4></dt><!-- RDLabel: "natts" -->
260
+ <dd>
261
+ returns the number of attributes of the variable.</dd>
262
+ <dt><h4><a name="label-47" id="label-47"><code>file</code></a></h4></dt><!-- RDLabel: "file" -->
263
+ <dd>
264
+ returns the file name that controls the variable. </dd>
265
+ <dt><h4><a name="label-48" id="label-48"><code>get_att( <var>name</var>=<var>nil</var> )</code></a></h4></dt><!-- RDLabel: "get_att" -->
266
+ <dd>
267
+ returns tha value of the attribute of the variable.</dd>
268
+ <dt><h4><a name="label-49" id="label-49"><code>put_att( <var>name</var>, <var>value</var> )</code></a></h4></dt><!-- RDLabel: "put_att" -->
269
+ <dd>
270
+ <p>set an attribute of the variable. </p>
271
+ <p>ARGUMENTS</p>
272
+ <ul>
273
+ <li>name (String): name of an attribute</li>
274
+ <li>value (String): value of an attribute</li>
275
+ </ul></dd>
276
+ <dt><h4><a name="label-50" id="label-50"><code>get(<var>hash</var>=<var>nil</var>)</code></a></h4></dt><!-- RDLabel: "get" -->
277
+ <dd>
278
+ <p>returns values of the variable.</p>
279
+ <p>ARGUMENTS</p>
280
+ <ul>
281
+ <li>hash (Hash) : Optional argument to limit the portion of the
282
+ variable to output values. If omitted, the whole variable is
283
+ subject to the output. This argument accepts a Hash whose keys
284
+ contain either "index" or a combination of "start","end", and
285
+ "stride". The value of "index" points the index of a scalar
286
+ portion of the variable. The other case is used to designate a
287
+ regularly ordered subset, where "start" and "end" specifies
288
+ bounds in each dimension and "stride" specifies intervals in
289
+ it. As in Array "start", "end", and "index" can take negative
290
+ values to specify index backward from the end. However,
291
+ "stride" has to be positive, so reversing the array must be
292
+ done afterwards if you like.</li>
293
+ </ul>
294
+ <p>RETURN VALUE</p>
295
+ <ul>
296
+ <li>an NArray object</li>
297
+ </ul>
298
+ <p>REMARK
299
+ "stride","index" is not supported yet.</p></dd>
300
+ <dt><h4><a name="label-51" id="label-51"><code>[]</code></a></h4></dt><!-- RDLabel: "[]" -->
301
+ <dd>
302
+ Same as GrADSVar#get but a subset is specified as in the method []
303
+ of NArray. </dd>
304
+ </dl>
305
+
306
+ </body>
307
+ </html>