gphys 1.2.2.1 → 1.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (405) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +8 -17
  3. data/.rspec +2 -0
  4. data/.travis.yml +3 -0
  5. data/ChangeLog +5762 -753
  6. data/LICENSE.txt +30 -18
  7. data/Rakefile +1 -0
  8. data/bin/console +14 -0
  9. data/bin/gpcat +43 -2
  10. data/bin/gpcut +16 -0
  11. data/bin/gpvect +167 -15
  12. data/bin/gpview +254 -51
  13. data/bin/setup +7 -0
  14. data/dim_op.c +1220 -0
  15. data/doc/attribute.html +19 -0
  16. data/doc/attributenetcdf.html +15 -0
  17. data/doc/axis.html +387 -0
  18. data/doc/coordmapping.html +111 -0
  19. data/doc/coordtransform.html +36 -0
  20. data/doc/dclext.html +821 -0
  21. data/doc/derivative/gphys-derivative.html +100 -0
  22. data/doc/derivative/index.html +21 -0
  23. data/doc/derivative/index.rd +14 -0
  24. data/doc/derivative/math-doc/document.pdf +0 -0
  25. data/doc/derivative/math-doc/document.tex +158 -0
  26. data/doc/derivative/math-doc/document/document.css +30 -0
  27. data/doc/derivative/math-doc/document/document.html +57 -0
  28. data/doc/derivative/math-doc/document/images.aux +1 -0
  29. data/doc/derivative/math-doc/document/images.log +385 -0
  30. data/doc/derivative/math-doc/document/images.pl +186 -0
  31. data/doc/derivative/math-doc/document/images.tex +364 -0
  32. data/doc/derivative/math-doc/document/img1.png +0 -0
  33. data/doc/derivative/math-doc/document/img10.png +0 -0
  34. data/doc/derivative/math-doc/document/img11.png +0 -0
  35. data/doc/derivative/math-doc/document/img12.png +0 -0
  36. data/doc/derivative/math-doc/document/img13.png +0 -0
  37. data/doc/derivative/math-doc/document/img14.png +0 -0
  38. data/doc/derivative/math-doc/document/img15.png +0 -0
  39. data/doc/derivative/math-doc/document/img16.png +0 -0
  40. data/doc/derivative/math-doc/document/img17.png +0 -0
  41. data/doc/derivative/math-doc/document/img18.png +0 -0
  42. data/doc/derivative/math-doc/document/img19.png +0 -0
  43. data/doc/derivative/math-doc/document/img2.png +0 -0
  44. data/doc/derivative/math-doc/document/img20.png +0 -0
  45. data/doc/derivative/math-doc/document/img21.png +0 -0
  46. data/doc/derivative/math-doc/document/img22.png +0 -0
  47. data/doc/derivative/math-doc/document/img23.png +0 -0
  48. data/doc/derivative/math-doc/document/img24.png +0 -0
  49. data/doc/derivative/math-doc/document/img25.png +0 -0
  50. data/doc/derivative/math-doc/document/img26.png +0 -0
  51. data/doc/derivative/math-doc/document/img27.png +0 -0
  52. data/doc/derivative/math-doc/document/img28.png +0 -0
  53. data/doc/derivative/math-doc/document/img29.png +0 -0
  54. data/doc/derivative/math-doc/document/img3.png +0 -0
  55. data/doc/derivative/math-doc/document/img30.png +0 -0
  56. data/doc/derivative/math-doc/document/img4.png +0 -0
  57. data/doc/derivative/math-doc/document/img5.png +0 -0
  58. data/doc/derivative/math-doc/document/img6.png +0 -0
  59. data/doc/derivative/math-doc/document/img7.png +0 -0
  60. data/doc/derivative/math-doc/document/img8.png +0 -0
  61. data/doc/derivative/math-doc/document/img9.png +0 -0
  62. data/doc/derivative/math-doc/document/index.html +57 -0
  63. data/doc/derivative/math-doc/document/labels.pl +13 -0
  64. data/doc/derivative/math-doc/document/next.png +0 -0
  65. data/doc/derivative/math-doc/document/next_g.png +0 -0
  66. data/doc/derivative/math-doc/document/node1.html +238 -0
  67. data/doc/derivative/math-doc/document/node2.html +75 -0
  68. data/doc/derivative/math-doc/document/prev.png +0 -0
  69. data/doc/derivative/math-doc/document/prev_g.png +0 -0
  70. data/doc/derivative/math-doc/document/up.png +0 -0
  71. data/doc/derivative/math-doc/document/up_g.png +0 -0
  72. data/doc/derivative/numru-derivative.html +158 -0
  73. data/doc/ep_flux/ep_flux.html +469 -0
  74. data/doc/ep_flux/ggraph_on_merdional_section.html +71 -0
  75. data/doc/ep_flux/index.html +31 -0
  76. data/doc/ep_flux/index.rd +24 -0
  77. data/doc/ep_flux/math-doc/document.pdf +0 -0
  78. data/doc/ep_flux/math-doc/document.tex +2018 -0
  79. data/doc/ep_flux/math-doc/document/WARNINGS +1 -0
  80. data/doc/ep_flux/math-doc/document/contents.png +0 -0
  81. data/doc/ep_flux/math-doc/document/crossref.png +0 -0
  82. data/doc/ep_flux/math-doc/document/document.css +30 -0
  83. data/doc/ep_flux/math-doc/document/document.html +101 -0
  84. data/doc/ep_flux/math-doc/document/images.aux +1 -0
  85. data/doc/ep_flux/math-doc/document/images.log +1375 -0
  86. data/doc/ep_flux/math-doc/document/images.pl +1328 -0
  87. data/doc/ep_flux/math-doc/document/images.tex +1471 -0
  88. data/doc/ep_flux/math-doc/document/img1.png +0 -0
  89. data/doc/ep_flux/math-doc/document/img10.png +0 -0
  90. data/doc/ep_flux/math-doc/document/img100.png +0 -0
  91. data/doc/ep_flux/math-doc/document/img101.png +0 -0
  92. data/doc/ep_flux/math-doc/document/img102.png +0 -0
  93. data/doc/ep_flux/math-doc/document/img103.png +0 -0
  94. data/doc/ep_flux/math-doc/document/img104.png +0 -0
  95. data/doc/ep_flux/math-doc/document/img105.png +0 -0
  96. data/doc/ep_flux/math-doc/document/img106.png +0 -0
  97. data/doc/ep_flux/math-doc/document/img107.png +0 -0
  98. data/doc/ep_flux/math-doc/document/img108.png +0 -0
  99. data/doc/ep_flux/math-doc/document/img109.png +0 -0
  100. data/doc/ep_flux/math-doc/document/img11.png +0 -0
  101. data/doc/ep_flux/math-doc/document/img110.png +0 -0
  102. data/doc/ep_flux/math-doc/document/img111.png +0 -0
  103. data/doc/ep_flux/math-doc/document/img112.png +0 -0
  104. data/doc/ep_flux/math-doc/document/img113.png +0 -0
  105. data/doc/ep_flux/math-doc/document/img114.png +0 -0
  106. data/doc/ep_flux/math-doc/document/img115.png +0 -0
  107. data/doc/ep_flux/math-doc/document/img116.png +0 -0
  108. data/doc/ep_flux/math-doc/document/img117.png +0 -0
  109. data/doc/ep_flux/math-doc/document/img118.png +0 -0
  110. data/doc/ep_flux/math-doc/document/img119.png +0 -0
  111. data/doc/ep_flux/math-doc/document/img12.png +0 -0
  112. data/doc/ep_flux/math-doc/document/img120.png +0 -0
  113. data/doc/ep_flux/math-doc/document/img121.png +0 -0
  114. data/doc/ep_flux/math-doc/document/img122.png +0 -0
  115. data/doc/ep_flux/math-doc/document/img123.png +0 -0
  116. data/doc/ep_flux/math-doc/document/img124.png +0 -0
  117. data/doc/ep_flux/math-doc/document/img125.png +0 -0
  118. data/doc/ep_flux/math-doc/document/img126.png +0 -0
  119. data/doc/ep_flux/math-doc/document/img127.png +0 -0
  120. data/doc/ep_flux/math-doc/document/img128.png +0 -0
  121. data/doc/ep_flux/math-doc/document/img129.png +0 -0
  122. data/doc/ep_flux/math-doc/document/img13.png +0 -0
  123. data/doc/ep_flux/math-doc/document/img130.png +0 -0
  124. data/doc/ep_flux/math-doc/document/img131.png +0 -0
  125. data/doc/ep_flux/math-doc/document/img132.png +0 -0
  126. data/doc/ep_flux/math-doc/document/img133.png +0 -0
  127. data/doc/ep_flux/math-doc/document/img134.png +0 -0
  128. data/doc/ep_flux/math-doc/document/img135.png +0 -0
  129. data/doc/ep_flux/math-doc/document/img136.png +0 -0
  130. data/doc/ep_flux/math-doc/document/img137.png +0 -0
  131. data/doc/ep_flux/math-doc/document/img138.png +0 -0
  132. data/doc/ep_flux/math-doc/document/img139.png +0 -0
  133. data/doc/ep_flux/math-doc/document/img14.png +0 -0
  134. data/doc/ep_flux/math-doc/document/img140.png +0 -0
  135. data/doc/ep_flux/math-doc/document/img141.png +0 -0
  136. data/doc/ep_flux/math-doc/document/img142.png +0 -0
  137. data/doc/ep_flux/math-doc/document/img143.png +0 -0
  138. data/doc/ep_flux/math-doc/document/img144.png +0 -0
  139. data/doc/ep_flux/math-doc/document/img145.png +0 -0
  140. data/doc/ep_flux/math-doc/document/img146.png +0 -0
  141. data/doc/ep_flux/math-doc/document/img147.png +0 -0
  142. data/doc/ep_flux/math-doc/document/img148.png +0 -0
  143. data/doc/ep_flux/math-doc/document/img149.png +0 -0
  144. data/doc/ep_flux/math-doc/document/img15.png +0 -0
  145. data/doc/ep_flux/math-doc/document/img150.png +0 -0
  146. data/doc/ep_flux/math-doc/document/img151.png +0 -0
  147. data/doc/ep_flux/math-doc/document/img152.png +0 -0
  148. data/doc/ep_flux/math-doc/document/img153.png +0 -0
  149. data/doc/ep_flux/math-doc/document/img154.png +0 -0
  150. data/doc/ep_flux/math-doc/document/img155.png +0 -0
  151. data/doc/ep_flux/math-doc/document/img156.png +0 -0
  152. data/doc/ep_flux/math-doc/document/img157.png +0 -0
  153. data/doc/ep_flux/math-doc/document/img158.png +0 -0
  154. data/doc/ep_flux/math-doc/document/img159.png +0 -0
  155. data/doc/ep_flux/math-doc/document/img16.png +0 -0
  156. data/doc/ep_flux/math-doc/document/img160.png +0 -0
  157. data/doc/ep_flux/math-doc/document/img161.png +0 -0
  158. data/doc/ep_flux/math-doc/document/img162.png +0 -0
  159. data/doc/ep_flux/math-doc/document/img163.png +0 -0
  160. data/doc/ep_flux/math-doc/document/img164.png +0 -0
  161. data/doc/ep_flux/math-doc/document/img165.png +0 -0
  162. data/doc/ep_flux/math-doc/document/img166.png +0 -0
  163. data/doc/ep_flux/math-doc/document/img167.png +0 -0
  164. data/doc/ep_flux/math-doc/document/img168.png +0 -0
  165. data/doc/ep_flux/math-doc/document/img169.png +0 -0
  166. data/doc/ep_flux/math-doc/document/img17.png +0 -0
  167. data/doc/ep_flux/math-doc/document/img170.png +0 -0
  168. data/doc/ep_flux/math-doc/document/img171.png +0 -0
  169. data/doc/ep_flux/math-doc/document/img172.png +0 -0
  170. data/doc/ep_flux/math-doc/document/img173.png +0 -0
  171. data/doc/ep_flux/math-doc/document/img174.png +0 -0
  172. data/doc/ep_flux/math-doc/document/img175.png +0 -0
  173. data/doc/ep_flux/math-doc/document/img176.png +0 -0
  174. data/doc/ep_flux/math-doc/document/img177.png +0 -0
  175. data/doc/ep_flux/math-doc/document/img178.png +0 -0
  176. data/doc/ep_flux/math-doc/document/img179.png +0 -0
  177. data/doc/ep_flux/math-doc/document/img18.png +0 -0
  178. data/doc/ep_flux/math-doc/document/img180.png +0 -0
  179. data/doc/ep_flux/math-doc/document/img181.png +0 -0
  180. data/doc/ep_flux/math-doc/document/img182.png +0 -0
  181. data/doc/ep_flux/math-doc/document/img183.png +0 -0
  182. data/doc/ep_flux/math-doc/document/img184.png +0 -0
  183. data/doc/ep_flux/math-doc/document/img185.png +0 -0
  184. data/doc/ep_flux/math-doc/document/img186.png +0 -0
  185. data/doc/ep_flux/math-doc/document/img187.png +0 -0
  186. data/doc/ep_flux/math-doc/document/img188.png +0 -0
  187. data/doc/ep_flux/math-doc/document/img189.png +0 -0
  188. data/doc/ep_flux/math-doc/document/img19.png +0 -0
  189. data/doc/ep_flux/math-doc/document/img190.png +0 -0
  190. data/doc/ep_flux/math-doc/document/img191.png +0 -0
  191. data/doc/ep_flux/math-doc/document/img192.png +0 -0
  192. data/doc/ep_flux/math-doc/document/img193.png +0 -0
  193. data/doc/ep_flux/math-doc/document/img194.png +0 -0
  194. data/doc/ep_flux/math-doc/document/img195.png +0 -0
  195. data/doc/ep_flux/math-doc/document/img196.png +0 -0
  196. data/doc/ep_flux/math-doc/document/img197.png +0 -0
  197. data/doc/ep_flux/math-doc/document/img198.png +0 -0
  198. data/doc/ep_flux/math-doc/document/img199.png +0 -0
  199. data/doc/ep_flux/math-doc/document/img2.png +0 -0
  200. data/doc/ep_flux/math-doc/document/img20.png +0 -0
  201. data/doc/ep_flux/math-doc/document/img200.png +0 -0
  202. data/doc/ep_flux/math-doc/document/img21.png +0 -0
  203. data/doc/ep_flux/math-doc/document/img22.png +0 -0
  204. data/doc/ep_flux/math-doc/document/img23.png +0 -0
  205. data/doc/ep_flux/math-doc/document/img24.png +0 -0
  206. data/doc/ep_flux/math-doc/document/img25.png +0 -0
  207. data/doc/ep_flux/math-doc/document/img26.png +0 -0
  208. data/doc/ep_flux/math-doc/document/img27.png +0 -0
  209. data/doc/ep_flux/math-doc/document/img28.png +0 -0
  210. data/doc/ep_flux/math-doc/document/img29.png +0 -0
  211. data/doc/ep_flux/math-doc/document/img3.png +0 -0
  212. data/doc/ep_flux/math-doc/document/img30.png +0 -0
  213. data/doc/ep_flux/math-doc/document/img31.png +0 -0
  214. data/doc/ep_flux/math-doc/document/img32.png +0 -0
  215. data/doc/ep_flux/math-doc/document/img33.png +0 -0
  216. data/doc/ep_flux/math-doc/document/img34.png +0 -0
  217. data/doc/ep_flux/math-doc/document/img35.png +0 -0
  218. data/doc/ep_flux/math-doc/document/img36.png +0 -0
  219. data/doc/ep_flux/math-doc/document/img37.png +0 -0
  220. data/doc/ep_flux/math-doc/document/img38.png +0 -0
  221. data/doc/ep_flux/math-doc/document/img39.png +0 -0
  222. data/doc/ep_flux/math-doc/document/img4.png +0 -0
  223. data/doc/ep_flux/math-doc/document/img40.png +0 -0
  224. data/doc/ep_flux/math-doc/document/img41.png +0 -0
  225. data/doc/ep_flux/math-doc/document/img42.png +0 -0
  226. data/doc/ep_flux/math-doc/document/img43.png +0 -0
  227. data/doc/ep_flux/math-doc/document/img44.png +0 -0
  228. data/doc/ep_flux/math-doc/document/img45.png +0 -0
  229. data/doc/ep_flux/math-doc/document/img46.png +0 -0
  230. data/doc/ep_flux/math-doc/document/img47.png +0 -0
  231. data/doc/ep_flux/math-doc/document/img48.png +0 -0
  232. data/doc/ep_flux/math-doc/document/img49.png +0 -0
  233. data/doc/ep_flux/math-doc/document/img5.png +0 -0
  234. data/doc/ep_flux/math-doc/document/img50.png +0 -0
  235. data/doc/ep_flux/math-doc/document/img51.png +0 -0
  236. data/doc/ep_flux/math-doc/document/img52.png +0 -0
  237. data/doc/ep_flux/math-doc/document/img53.png +0 -0
  238. data/doc/ep_flux/math-doc/document/img54.png +0 -0
  239. data/doc/ep_flux/math-doc/document/img55.png +0 -0
  240. data/doc/ep_flux/math-doc/document/img56.png +0 -0
  241. data/doc/ep_flux/math-doc/document/img57.png +0 -0
  242. data/doc/ep_flux/math-doc/document/img58.png +0 -0
  243. data/doc/ep_flux/math-doc/document/img59.png +0 -0
  244. data/doc/ep_flux/math-doc/document/img6.png +0 -0
  245. data/doc/ep_flux/math-doc/document/img60.png +0 -0
  246. data/doc/ep_flux/math-doc/document/img61.png +0 -0
  247. data/doc/ep_flux/math-doc/document/img62.png +0 -0
  248. data/doc/ep_flux/math-doc/document/img63.png +0 -0
  249. data/doc/ep_flux/math-doc/document/img64.png +0 -0
  250. data/doc/ep_flux/math-doc/document/img65.png +0 -0
  251. data/doc/ep_flux/math-doc/document/img66.png +0 -0
  252. data/doc/ep_flux/math-doc/document/img67.png +0 -0
  253. data/doc/ep_flux/math-doc/document/img68.png +0 -0
  254. data/doc/ep_flux/math-doc/document/img69.png +0 -0
  255. data/doc/ep_flux/math-doc/document/img7.png +0 -0
  256. data/doc/ep_flux/math-doc/document/img70.png +0 -0
  257. data/doc/ep_flux/math-doc/document/img71.png +0 -0
  258. data/doc/ep_flux/math-doc/document/img72.png +0 -0
  259. data/doc/ep_flux/math-doc/document/img73.png +0 -0
  260. data/doc/ep_flux/math-doc/document/img74.png +0 -0
  261. data/doc/ep_flux/math-doc/document/img75.png +0 -0
  262. data/doc/ep_flux/math-doc/document/img76.png +0 -0
  263. data/doc/ep_flux/math-doc/document/img77.png +0 -0
  264. data/doc/ep_flux/math-doc/document/img78.png +0 -0
  265. data/doc/ep_flux/math-doc/document/img79.png +0 -0
  266. data/doc/ep_flux/math-doc/document/img8.png +0 -0
  267. data/doc/ep_flux/math-doc/document/img80.png +0 -0
  268. data/doc/ep_flux/math-doc/document/img81.png +0 -0
  269. data/doc/ep_flux/math-doc/document/img82.png +0 -0
  270. data/doc/ep_flux/math-doc/document/img83.png +0 -0
  271. data/doc/ep_flux/math-doc/document/img84.png +0 -0
  272. data/doc/ep_flux/math-doc/document/img85.png +0 -0
  273. data/doc/ep_flux/math-doc/document/img86.png +0 -0
  274. data/doc/ep_flux/math-doc/document/img87.png +0 -0
  275. data/doc/ep_flux/math-doc/document/img88.png +0 -0
  276. data/doc/ep_flux/math-doc/document/img89.png +0 -0
  277. data/doc/ep_flux/math-doc/document/img9.png +0 -0
  278. data/doc/ep_flux/math-doc/document/img90.png +0 -0
  279. data/doc/ep_flux/math-doc/document/img91.png +0 -0
  280. data/doc/ep_flux/math-doc/document/img92.png +0 -0
  281. data/doc/ep_flux/math-doc/document/img93.png +0 -0
  282. data/doc/ep_flux/math-doc/document/img94.png +0 -0
  283. data/doc/ep_flux/math-doc/document/img95.png +0 -0
  284. data/doc/ep_flux/math-doc/document/img96.png +0 -0
  285. data/doc/ep_flux/math-doc/document/img97.png +0 -0
  286. data/doc/ep_flux/math-doc/document/img98.png +0 -0
  287. data/doc/ep_flux/math-doc/document/img99.png +0 -0
  288. data/doc/ep_flux/math-doc/document/index.html +101 -0
  289. data/doc/ep_flux/math-doc/document/internals.pl +258 -0
  290. data/doc/ep_flux/math-doc/document/labels.pl +265 -0
  291. data/doc/ep_flux/math-doc/document/next.png +0 -0
  292. data/doc/ep_flux/math-doc/document/next_g.png +0 -0
  293. data/doc/ep_flux/math-doc/document/node1.html +104 -0
  294. data/doc/ep_flux/math-doc/document/node10.html +164 -0
  295. data/doc/ep_flux/math-doc/document/node11.html +86 -0
  296. data/doc/ep_flux/math-doc/document/node12.html +166 -0
  297. data/doc/ep_flux/math-doc/document/node13.html +897 -0
  298. data/doc/ep_flux/math-doc/document/node14.html +1065 -0
  299. data/doc/ep_flux/math-doc/document/node15.html +72 -0
  300. data/doc/ep_flux/math-doc/document/node16.html +81 -0
  301. data/doc/ep_flux/math-doc/document/node2.html +82 -0
  302. data/doc/ep_flux/math-doc/document/node3.html +91 -0
  303. data/doc/ep_flux/math-doc/document/node4.html +149 -0
  304. data/doc/ep_flux/math-doc/document/node5.html +330 -0
  305. data/doc/ep_flux/math-doc/document/node6.html +99 -0
  306. data/doc/ep_flux/math-doc/document/node7.html +98 -0
  307. data/doc/ep_flux/math-doc/document/node8.html +83 -0
  308. data/doc/ep_flux/math-doc/document/node9.html +140 -0
  309. data/doc/ep_flux/math-doc/document/prev.png +0 -0
  310. data/doc/ep_flux/math-doc/document/prev_g.png +0 -0
  311. data/doc/ep_flux/math-doc/document/up.png +0 -0
  312. data/doc/ep_flux/math-doc/document/up_g.png +0 -0
  313. data/doc/gdir.html +412 -0
  314. data/doc/gdir_client.html +16 -0
  315. data/doc/gdir_connect_ftp-like.html +61 -0
  316. data/doc/gdir_server.html +45 -0
  317. data/doc/ggraph.html +1119 -0
  318. data/doc/gpcat.html +45 -0
  319. data/doc/gpcut.html +47 -0
  320. data/doc/gphys.html +624 -0
  321. data/doc/gphys_fft.html +324 -0
  322. data/doc/gphys_grads_io.html +69 -0
  323. data/doc/gphys_grib_io.html +82 -0
  324. data/doc/gphys_io.html +183 -0
  325. data/doc/gphys_io_common.html +18 -0
  326. data/doc/gphys_netcdf_io.html +283 -0
  327. data/doc/gplist.html +24 -0
  328. data/doc/gpmath.html +52 -0
  329. data/doc/gpmaxmin.html +32 -0
  330. data/doc/gpprint.html +35 -0
  331. data/doc/gpview.html +349 -0
  332. data/doc/grads2nc_with_gphys.html +21 -0
  333. data/doc/grads_gridded.html +307 -0
  334. data/doc/grib.html +149 -0
  335. data/doc/grid.html +224 -0
  336. data/doc/index.html +145 -0
  337. data/doc/index.rd +138 -0
  338. data/doc/netcdf_convention.html +136 -0
  339. data/doc/unumeric.html +176 -0
  340. data/doc/update +69 -0
  341. data/doc/update_rdoc +8 -0
  342. data/doc/varray.html +299 -0
  343. data/doc/varraycomposite.html +67 -0
  344. data/ext_init.c +1 -0
  345. data/extconf.rb +16 -6
  346. data/gphys.gemspec +33 -26
  347. data/interpo.c +1 -1
  348. data/lib/numru/dclext.rb +718 -546
  349. data/lib/numru/derivative.rb +2 -0
  350. data/lib/numru/ganalysis.rb +38 -0
  351. data/lib/numru/ganalysis/beta_plane.rb +103 -0
  352. data/lib/numru/ganalysis/eof.rb +3 -2
  353. data/lib/numru/ganalysis/fitting.rb +559 -0
  354. data/lib/numru/ganalysis/histogram.rb +36 -19
  355. data/lib/numru/ganalysis/log_p.rb +130 -0
  356. data/lib/numru/ganalysis/met.rb +396 -2
  357. data/lib/numru/ganalysis/met_z.rb +300 -0
  358. data/lib/numru/ganalysis/planet.rb +17 -7
  359. data/lib/numru/ganalysis/qg.rb +685 -0
  360. data/lib/numru/ganalysis/sigma_coord.rb +90 -0
  361. data/lib/numru/gdir.rb +2 -1
  362. data/lib/numru/ggraph.rb +204 -60
  363. data/lib/numru/ggraph_on_merdional_section.rb +1 -1
  364. data/lib/numru/gphys.rb +6 -0
  365. data/lib/numru/gphys/assoccoords.rb +18 -3
  366. data/lib/numru/gphys/axis.rb +209 -8
  367. data/lib/numru/gphys/derivative.rb +11 -0
  368. data/lib/numru/gphys/gphys.rb +539 -48
  369. data/lib/numru/gphys/gphys_dim_op.rb +331 -0
  370. data/lib/numru/gphys/gphys_fft.rb +48 -2
  371. data/lib/numru/gphys/gphys_io.rb +241 -13
  372. data/lib/numru/gphys/gphys_netcdf_io.rb +77 -39
  373. data/lib/numru/gphys/gphys_nusdas_io.rb +3 -0
  374. data/lib/numru/gphys/grib.rb +133 -54
  375. data/lib/numru/gphys/grib_params.rb +26 -3
  376. data/lib/numru/gphys/grid.rb +75 -34
  377. data/lib/numru/gphys/interpolate.rb +24 -10
  378. data/lib/numru/gphys/mdstorage.rb +160 -0
  379. data/lib/numru/gphys/netcdf_convention.rb +4 -2
  380. data/lib/numru/gphys/subsetmapping.rb +0 -1
  381. data/lib/numru/gphys/unumeric.rb +50 -5
  382. data/lib/numru/gphys/varray.rb +15 -30
  383. data/lib/numru/gphys/varraycomposite.rb +107 -24
  384. data/lib/numru/gphys/varraynetcdf.rb +9 -3
  385. data/lib/numru/gphys/version.rb +5 -0
  386. data/sample/druby_cli1.rb +2 -0
  387. data/sample/druby_cli2.rb +0 -6
  388. data/sample/druby_serv2.rb +0 -13
  389. data/spec/gphys_spec.rb +11 -0
  390. data/spec/spec_helper.rb +2 -0
  391. data/test/test_assoccoords.rb +102 -0
  392. data/test/test_axis.rb +61 -0
  393. data/test/test_fitting.rb +116 -0
  394. data/test/test_gphys.rb +20 -0
  395. data/test/test_met_z.rb +96 -0
  396. data/test/test_sigma_coord.rb +50 -0
  397. data/{test → test_old}/eof_slp.rb +0 -0
  398. data/{test → test_old}/mltbit.dat +0 -0
  399. data/{test → test_old}/test_ep_flux.rb +0 -0
  400. data/{test → test_old}/test_multibitIO.rb +0 -0
  401. metadata +530 -191
  402. data/README.md +0 -29
  403. data/lib/gphys.rb +0 -2
  404. data/lib/numru/dclext_datetime_ax.rb +0 -220
  405. data/lib/version.rb +0 -3
@@ -0,0 +1,83 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
2
+
3
+ <!--Converted with jLaTeX2HTML 2K.1beta (1.48) JA patch-1.4
4
+ patched version by: Kenshi Muto, Debian Project.
5
+ LaTeX2HTML 2K.1beta (1.48),
6
+ original version by: Nikos Drakos, CBLU, University of Leeds
7
+ * revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
8
+ * with significant contributions from:
9
+ Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
10
+ <HTML>
11
+ <HEAD>
12
+ <TITLE>$B;R8aLL>e$NH/;61i;;;R(B</TITLE>
13
+ <META NAME="description" CONTENT="$B;R8aLL>e$NH/;61i;;;R(B">
14
+ <META NAME="keywords" CONTENT="document">
15
+ <META NAME="resource-type" CONTENT="document">
16
+ <META NAME="distribution" CONTENT="global">
17
+
18
+ <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-2022-jp">
19
+ <META NAME="Generator" CONTENT="jLaTeX2HTML v2K.1beta JA patch-1.4">
20
+ <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
21
+
22
+ <LINK REL="STYLESHEET" HREF="document.css">
23
+
24
+ <LINK REL="next" HREF="node9.html">
25
+ <LINK REL="previous" HREF="node7.html">
26
+ <LINK REL="up" HREF="node3.html">
27
+ <LINK REL="next" HREF="node9.html">
28
+ </HEAD>
29
+
30
+ <BODY >
31
+ <!--Navigation Panel-->
32
+ <A NAME="tex2html135"
33
+ HREF="node9.html">
34
+ <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
35
+ <A NAME="tex2html131"
36
+ HREF="node3.html">
37
+ <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
38
+ <A NAME="tex2html125"
39
+ HREF="node7.html">
40
+ <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
41
+ <A NAME="tex2html133"
42
+ HREF="node1.html">
43
+ <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
44
+ <BR>
45
+ <B> :</B> <A NAME="tex2html136"
46
+ HREF="node9.html">$B<ANLN.@~4X?t(B</A>
47
+ <B> :</B> <A NAME="tex2html132"
48
+ HREF="node3.html">NumRu::GPhys::EP_Flux $B$G7W;;$5$l$k=oNL(B</A>
49
+ <B> :</B> <A NAME="tex2html126"
50
+ HREF="node7.html">$BJ?6QEl@>N.$N<0(B</A>
51
+ &nbsp <B> <A NAME="tex2html134"
52
+ HREF="node1.html">$BL\<!(B</A></B>
53
+ <BR>
54
+ <BR>
55
+ <!--End of Navigation Panel-->
56
+
57
+ <H1><A NAME="SECTION003500000000000000000">
58
+ $B;R8aLL>e$NH/;61i;;;R(B</A>
59
+ </H1>
60
+
61
+ $B;R8aLL$K$*$1$kH/;61i;;;R$O(B, <IMG
62
+ WIDTH="21" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
63
+ SRC="img47.png"
64
+ ALT="$ \Dvect{F}$"> $B$rG$0U$N%Y%/%H%k$7$?;~$K(B
65
+ $B0J2<$N7A$GDj5A$5$l$k(B.
66
+ <P></P>
67
+ <DIV ALIGN="CENTER"><TABLE CELLPADDING="0" WIDTH="100%" ALIGN="CENTER">
68
+ <TR VALIGN="MIDDLE">
69
+ <TD NOWRAP ALIGN="CENTER"><IMG
70
+ WIDTH="279" HEIGHT="62" ALIGN="MIDDLE" BORDER="0"
71
+ SRC="img48.png"
72
+ ALT="$\displaystyle \Ddiv{} \Dvect{F}= \Dinv{a \cos \phi} \DP{(\cos \phi F_{\phi})}{\phi}
73
  + \DP{F_{z^{*}}}{z^*}$"></TD>
74
+ <TD NOWRAP WIDTH="10" ALIGN="RIGHT">
75
+ <A NAME="eq:div">(2.9)</A></TD></TR>
76
+ </TABLE></DIV>
77
+ <BR CLEAR="ALL"><P></P>
78
+ <BR><HR>
79
+ <ADDRESS>
80
+ Tsukahara Daisuke
81
+ $BJ?@.(B17$BG/(B2$B7n(B19$BF|(B
82
+ </ADDRESS>
83
+ </BODY>
84
+ </HTML>
@@ -0,0 +1,140 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
2
+
3
+ <!--Converted with jLaTeX2HTML 2K.1beta (1.48) JA patch-1.4
4
+ patched version by: Kenshi Muto, Debian Project.
5
+ LaTeX2HTML 2K.1beta (1.48),
6
+ original version by: Nikos Drakos, CBLU, University of Leeds
7
+ * revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
8
+ * with significant contributions from:
9
+ Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
10
+ <HTML>
11
+ <HEAD>
12
+ <TITLE>$B<ANLN.@~4X?t(B</TITLE>
13
+ <META NAME="description" CONTENT="$B<ANLN.@~4X?t(B">
14
+ <META NAME="keywords" CONTENT="document">
15
+ <META NAME="resource-type" CONTENT="document">
16
+ <META NAME="distribution" CONTENT="global">
17
+
18
+ <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-2022-jp">
19
+ <META NAME="Generator" CONTENT="jLaTeX2HTML v2K.1beta JA patch-1.4">
20
+ <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
21
+
22
+ <LINK REL="STYLESHEET" HREF="document.css">
23
+
24
+ <LINK REL="next" HREF="node10.html">
25
+ <LINK REL="previous" HREF="node8.html">
26
+ <LINK REL="up" HREF="node3.html">
27
+ <LINK REL="next" HREF="node10.html">
28
+ </HEAD>
29
+
30
+ <BODY >
31
+ <!--Navigation Panel-->
32
+ <A NAME="tex2html147"
33
+ HREF="node10.html">
34
+ <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
35
+ <A NAME="tex2html143"
36
+ HREF="node3.html">
37
+ <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
38
+ <A NAME="tex2html137"
39
+ HREF="node8.html">
40
+ <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
41
+ <A NAME="tex2html145"
42
+ HREF="node1.html">
43
+ <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
44
+ <BR>
45
+ <B> :</B> <A NAME="tex2html148"
46
+ HREF="node10.html">$BJQ?tJQ49(B</A>
47
+ <B> :</B> <A NAME="tex2html144"
48
+ HREF="node3.html">NumRu::GPhys::EP_Flux $B$G7W;;$5$l$k=oNL(B</A>
49
+ <B> :</B> <A NAME="tex2html138"
50
+ HREF="node8.html">$B;R8aLL>e$NH/;61i;;;R(B</A>
51
+ &nbsp <B> <A NAME="tex2html146"
52
+ HREF="node1.html">$BL\<!(B</A></B>
53
+ <BR>
54
+ <BR>
55
+ <!--End of Navigation Panel-->
56
+
57
+ <H1><A NAME="SECTION003600000000000000000">
58
+ $B<ANLN.@~4X?t(B</A>
59
+ </H1>
60
+
61
+ $B;D:9=[4D$N<ANLN.@~4X?t(B <IMG
62
+ WIDTH="27" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
63
+ SRC="img49.png"
64
+ ALT="$ \Psi^*$"> $B$r(B
65
+
66
+ <DIV ALIGN="CENTER"><!-- MATH
67
+ \begin{subequations}
68
+ \begin{align}
69
+ \sigma \overline{v}^* &= -g\Dinv{2\pi a \cos\phi }\DP{\Psi^*}{z^{*}}, \\
70
+ \sigma \overline{w}^* &= g\Dinv{2\pi a^2\cos\phi}\DP{\Psi^*}{\phi}
71
+ \end{align}
72
+ \end{subequations}
73
+ -->
74
+ <TABLE CELLPADDING="0" WIDTH="100%" ALIGN="CENTER">
75
+ <TR VALIGN="MIDDLE">
76
+ <TD NOWRAP ALIGN="CENTER"><IMG
77
+ WIDTH="555" HEIGHT="98" ALIGN="BOTTOM" BORDER="0"
78
+ SRC="img50.png"
79
+ ALT="\begin{subequations}\begin{align}
80
  \sigma \overline{v}^* &amp;= -g\Dinv{2\pi a \cos\...
81
+ ...w}^* &amp;= g\Dinv{2\pi a^2\cos\phi}\DP{\Psi^*}{\phi}
1
82
  \end{align}\end{subequations}"></TD></TR>
83
+ </TABLE></DIV>
84
+ <BR CLEAR="ALL">
85
+ $B$HDj5A$9$k(B.
86
+ $B>e<0$r@QJ,$7$F(B <IMG
87
+ WIDTH="27" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
88
+ SRC="img49.png"
89
+ ALT="$ \Psi^*$"> $B$r5a$a$k$?$a$K(B,
90
+ $BK\%b%8%e!<%k$G$O(B (<A HREF="node4.html#eq:logp"><IMG ALIGN="BOTTOM" BORDER="1" ALT="[*]" SRC="crossref.png"></A>) $B$r;HMQ$7$F(B
91
+ $BBP?t05NO:BI8(B (<IMG
92
+ WIDTH="22" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
93
+ SRC="img3.png"
94
+ ALT="$ z^*$">) $B7O$+$i05NO:BI8(B(<IMG
95
+ WIDTH="14" HEIGHT="33" ALIGN="MIDDLE" BORDER="0"
96
+ SRC="img14.png"
97
+ ALT="$ p$">)$B7O$X(B
98
+ <P></P>
99
+ <DIV ALIGN="CENTER"><TABLE CELLPADDING="0" WIDTH="100%" ALIGN="CENTER">
100
+ <TR VALIGN="MIDDLE">
101
+ <TD NOWRAP ALIGN="RIGHT"><IMG
102
+ WIDTH="59" HEIGHT="60" ALIGN="MIDDLE" BORDER="0"
103
+ SRC="img51.png"
104
+ ALT="$\displaystyle \DP{}{z^*}\Psi^*$"></TD>
105
+ <TD NOWRAP ALIGN="LEFT"><IMG
106
+ WIDTH="107" HEIGHT="60" ALIGN="MIDDLE" BORDER="0"
107
+ SRC="img52.png"
108
+ ALT="$\displaystyle = -\frac{p}{H}\DP{}{p}\Psi^*$"></TD>
109
+ <TD NOWRAP WIDTH="10" ALIGN="RIGHT">
110
+ (2.11)</TD></TR>
111
+ </TABLE></DIV>
112
+ <BR CLEAR="ALL"><P></P>
113
+ $B$HJQ49$7(B, $BBg5$>eC<(B(<IMG
114
+ WIDTH="49" HEIGHT="33" ALIGN="MIDDLE" BORDER="0"
115
+ SRC="img53.png"
116
+ ALT="$ p=0$">)$B$K$*$$$F(B <!-- MATH
117
+ $\Psi^* = 0$
118
+ -->
119
+ <IMG
120
+ WIDTH="61" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
121
+ SRC="img54.png"
122
+ ALT="$ \Psi^* = 0$"> $B$H$7$F@QJ,$7(B
123
+ <P></P>
124
+ <DIV ALIGN="CENTER"><TABLE CELLPADDING="0" WIDTH="100%" ALIGN="CENTER">
125
+ <TR VALIGN="MIDDLE">
126
+ <TD NOWRAP ALIGN="CENTER"><IMG
127
+ WIDTH="243" HEIGHT="61" ALIGN="MIDDLE" BORDER="0"
128
+ SRC="img55.png"
129
+ ALT="$\displaystyle \Psi^*(\theta, p) = \frac{2\pi a \cos\phi}{g} \int_{0}^{p}\overline{v}^*\Dd p$"></TD>
130
+ <TD NOWRAP WIDTH="10" ALIGN="RIGHT">
131
+ (2.12)</TD></TR>
132
+ </TABLE></DIV>
133
+ <BR CLEAR="ALL"><P></P>
134
+ $B$H<ANLN.@~4X?t$rF3$$$F$$$k(B.
135
+
136
+ <BR><HR>
137
+ <ADDRESS>
138
+ Tsukahara Daisuke
139
+ $BJ?@.(B17$BG/(B2$B7n(B19$BF|(B
140
+ </ADDRESS>
141
+ </BODY>
142
+ </HTML>
@@ -0,0 +1,412 @@
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/gdir.rb</title>
8
+ </head>
9
+ <body>
10
+ <h1><a name="label-0" id="label-0">class NumRu::GDir</a></h1><!-- RDLabel: "class NumRu::GDir" -->
11
+ <p>A class to represent diretories and data files for GPhys.</p>
12
+ <h2><a name="label-1" id="label-1">Overview</a></h2><!-- RDLabel: "Overview" -->
13
+ <p>A GDir object represents a directory, or a file (such as a NetCDF
14
+ file or GrADS control file), for which
15
+ GPhys objects can be defined for the variables in it.
16
+ This means that a NetCDF file, for example, is treated a
17
+ directory, rather than a plain file.</p>
18
+ <p>GDir serves a directory tree under a root (top) directory, which can
19
+ be set as a class variable with <a href="#label-3">GDir.top=</a>. All the absolute path
20
+ of GDir is actually relative to the root directory, and to access
21
+ outside the root directory is prohibited. Furthermore, it has a
22
+ working directory as a class variable, whose initial value is the top
23
+ directory and can be changed by <a href="#label-8">GDir.cd</a>.</p>
24
+ <p>NEW(2005/06): Now GDir can accept DODS URL as a path. Also,
25
+ the top directory can be set to a DODS URL.</p>
26
+ <h2><a name="label-2" id="label-2">Class Methods</a></h2><!-- RDLabel: "Class Methods" -->
27
+ <dl>
28
+ <dt><h4><a name="label-3" id="label-3"><code>GDir.top=(<var>top</var>)</code></a></h4></dt><!-- RDLabel: "GDir.top=" -->
29
+ <dd>
30
+ <p>Sets the root directory. This should be done before making
31
+ any GDir objects by <a href="#label-5">GDir.new</a>. The default root directory
32
+ is the root directory of the local file system ('/').</p>
33
+ <p>ARGUMENTS</p>
34
+ <ul>
35
+ <li><var>top</var> (String): path of the top directory</li>
36
+ </ul>
37
+ <p>RETURN VALUE</p>
38
+ <ul>
39
+ <li>absolute path of the top directory (String) (followed by a '/')</li>
40
+ </ul></dd>
41
+ <dt><h4><a name="label-4" id="label-4"><code>GDir.top</code></a></h4></dt><!-- RDLabel: "GDir.top" -->
42
+ <dd>
43
+ RETURN VALUE
44
+ <ul>
45
+ <li>absolute path of the top directory (String) (followed by a '/')</li>
46
+ </ul></dd>
47
+ <dt><h4><a name="label-5" id="label-5"><code>GDir.new(<var>path</var>)</code></a></h4></dt><!-- RDLabel: "GDir.new" -->
48
+ <dd>
49
+ <p>Constructor.</p>
50
+ <p>ARGUMENTS</p>
51
+ <ul>
52
+ <li><var>path</var> (String): path of the directory to open as a GDir.
53
+ The path is expressed in terms of the top directory.</li>
54
+ </ul>
55
+ <p>RETURN VALUE</p>
56
+ <ul>
57
+ <li>a GDir</li>
58
+ </ul>
59
+ <p>ERRORS</p>
60
+ <ul>
61
+ <li>ArgumentError if <var>path</var> is out of the directory
62
+ tree (originated at the top directory).</li>
63
+ </ul>
64
+ <p>EXAMPLES</p>
65
+ <ul>
66
+ <li><p>If the top directory is "/hoge", you can open
67
+ "/hoge/ho" directory by any of the following.</p>
68
+ <pre>gdir = GDir.new("/ho")
69
+ gdir = GDir.new("./ho")</pre>
70
+ <p>If you want to open "/hoge" (the top directly), then</p>
71
+ <pre>gdir = GDir.new("/")
72
+ gdir = GDir.new(".")</pre>
73
+ <p>To open a NetCDF file or GrADS control file,</p>
74
+ <pre>gdir = GDir.new("/ho/data.nc")
75
+ gdir = GDir.new("/ho/data.ctl")</pre></li>
76
+ </ul></dd>
77
+ <dt><h4><a name="label-6" id="label-6"><code>GDir.set_text_pattern(*<var>regexps</var>)</code></a></h4></dt><!-- RDLabel: "GDir.set_text_pattern" -->
78
+ <dd>
79
+ <p>Sets regular expressions to match the file name of text files.
80
+ The default is /\.txt$/ and /^\w*$/.</p>
81
+ <p>ARGUMENTS</p>
82
+ <ul>
83
+ <li>zero or more Regular expressions (zero means no file will be treated
84
+ as a NetCDF file).</li>
85
+ </ul>
86
+ <p>RETURN VALUE</p>
87
+ <ul>
88
+ <li>nil</li>
89
+ </ul>
90
+ <p>ERRORS</p>
91
+ <ul>
92
+ <li>TypeError if any of the arguments is not a Regexp</li>
93
+ </ul></dd>
94
+ <dt><h4><a name="label-7" id="label-7"><code>GDir.add_text_pattern(<var>regexp</var> [, <var>regexp</var> [, ...]])</code></a></h4></dt><!-- RDLabel: "GDir.add_text_pattern" -->
95
+ <dd>
96
+ <p>Similar to <a href="#label-6">GDir.set_text_pattern</a>, but adds regular expressions
97
+ instead of replacing existing ones.</p>
98
+ <p>RETURN VALUE</p>
99
+ <ul>
100
+ <li>nil</li>
101
+ </ul>
102
+ <p>ERRORS</p>
103
+ <ul>
104
+ <li>TypeError if any of the arguments is not a Regexp</li>
105
+ </ul></dd>
106
+ <dt><h4><a name="label-8" id="label-8"><code>GDir.cd(<var>path</var>)</code></a></h4></dt><!-- RDLabel: "GDir.cd" -->
107
+ <dd>
108
+ <p>Changes the working directory of the class.</p>
109
+ <p>RETURN VALUE</p>
110
+ <ul>
111
+ <li>a GDir</li>
112
+ </ul></dd>
113
+ <dt><h4><a name="label-9" id="label-9"><code>GDir.cwd=(<var>path</var>)</code></a></h4></dt><!-- RDLabel: "GDir.cwd=" -->
114
+ <dd>
115
+ Aliased to <a href="#label-8">GDir.cd</a>.</dd>
116
+ <dt><h4><a name="label-10" id="label-10"><code>GDir.cwd</code></a></h4></dt><!-- RDLabel: "GDir.cwd" -->
117
+ <dd>
118
+ <p>Returns the current working directory as a GDir. The initial value of
119
+ the working directory is the top directory.</p>
120
+ <p>RETURN VALUE</p>
121
+ <ul>
122
+ <li>a GDir</li>
123
+ </ul></dd>
124
+ <dt><h4><a name="label-11" id="label-11"><code>GDir.cd(<var>path</var>)</code></a></h4></dt><!-- RDLabel: "GDir.cd" -->
125
+ <dd>
126
+ <p>Changes the working directory to path</p>
127
+ <p>RETURN VALUE</p>
128
+ <ul>
129
+ <li>a GDir (current working directory changed by path)</li>
130
+ </ul></dd>
131
+ <dt><h4><a name="label-12" id="label-12"><code>GDir[]</code></a></h4></dt><!-- RDLabel: "GDir[]" -->
132
+ <dt><h4><a name="label-13" id="label-13"><code>GDir.data</code></a></h4></dt><!-- RDLabel: "GDir.data" -->
133
+ <dt><h4><a name="label-14" id="label-14"><code>GDir.text</code></a></h4></dt><!-- RDLabel: "GDir.text" -->
134
+ <dt><h4><a name="label-15" id="label-15"><code>GDir.list_dirs</code></a></h4></dt><!-- RDLabel: "GDir.list_dirs" -->
135
+ <dt><h4><a name="label-16" id="label-16"><code>GDir.list_dirs_v</code></a></h4></dt><!-- RDLabel: "GDir.list_dirs_v" -->
136
+ <dt><h4><a name="label-17" id="label-17"><code>GDir.list_data</code></a></h4></dt><!-- RDLabel: "GDir.list_data" -->
137
+ <dt><h4><a name="label-18" id="label-18"><code>GDir.list_data_v</code></a></h4></dt><!-- RDLabel: "GDir.list_data_v" -->
138
+ <dt><h4><a name="label-19" id="label-19"><code>GDir.list_texts</code></a></h4></dt><!-- RDLabel: "GDir.list_texts" -->
139
+ <dt><h4><a name="label-20" id="label-20"><code>GDir.list_texts_v</code></a></h4></dt><!-- RDLabel: "GDir.list_texts_v" -->
140
+ <dt><h4><a name="label-21" id="label-21"><code>GDir.ls</code></a></h4></dt><!-- RDLabel: "GDir.ls" -->
141
+ <dt><h4><a name="label-22" id="label-22"><code>GDir.ls_v</code></a></h4></dt><!-- RDLabel: "GDir.ls_v" -->
142
+ <dd>
143
+ All of these are dispatched to the current working directory.
144
+ Thus, GDir.show is equivalent to GDir.cwd.show, for example.</dd>
145
+ </dl>
146
+ <h2><a name="label-23" id="label-23">Instance Methods</a></h2><!-- RDLabel: "Instance Methods" -->
147
+ <dl>
148
+ <dt><h4><a name="label-24" id="label-24"><code>close</code></a></h4></dt><!-- RDLabel: "close" -->
149
+ <dd>
150
+ Closes the file/directory objects in the GDir.</dd>
151
+ <dt><h4><a name="label-25" id="label-25"><code>path</code></a></h4></dt><!-- RDLabel: "path" -->
152
+ <dd>
153
+ <p>Returns the path (relative to the top directory)</p>
154
+ <p>RETURN VALUE</p>
155
+ <ul>
156
+ <li>a String</li>
157
+ </ul></dd>
158
+ <dt><h4><a name="label-26" id="label-26"><code>name</code></a></h4></dt><!-- RDLabel: "name" -->
159
+ <dd>
160
+ <p>Name of the GDir</p>
161
+ <p>RETURN VALUE</p>
162
+ <ul>
163
+ <li>a String</li>
164
+ </ul></dd>
165
+ <dt><h4><a name="label-27" id="label-27"><code>inspect</code></a></h4></dt><!-- RDLabel: "inspect" -->
166
+ <dd>
167
+ <p>Returns the path</p>
168
+ <p>RETURN VALUE</p>
169
+ <ul>
170
+ <li>a String</li>
171
+ </ul></dd>
172
+ <dt><h4><a name="label-28" id="label-28"><code>[<var>path</var>]</code></a></h4></dt><!-- RDLabel: "[]" -->
173
+ <dd>
174
+ <p>Returns a GDir, GPhys, or File (text), by calling
175
+ <a href="#label-29">dir</a>, <a href="#label-30">data</a>, or <a href="#label-31">text</a> depending on path.</p>
176
+ <p>ARGUMENTS</p>
177
+ <ul>
178
+ <li><var>path</var> (String): Either relative or absolute.</li>
179
+ </ul>
180
+ <p>RETURN VALUE</p>
181
+ <ul>
182
+ <li>a GDir, GPhys, or File (text assumed)</li>
183
+ </ul>
184
+ <p>ERROR</p>
185
+ <ul>
186
+ <li>an exception is raised if <var>path</var> is not appropriate.</li>
187
+ </ul></dd>
188
+ <dt><h4><a name="label-29" id="label-29"><code>dir(<var>path</var>)</code></a></h4></dt><!-- RDLabel: "dir" -->
189
+ <dd>
190
+ <p>Returns a GDir specified the <var>path</var>.</p>
191
+ <p>ARGUMENTS</p>
192
+ <ul>
193
+ <li><var>path</var> (String): Either relative or absolute.</li>
194
+ </ul>
195
+ <p>RETURN VALUE</p>
196
+ <ul>
197
+ <li>a GDir</li>
198
+ </ul>
199
+ <p>ERROR</p>
200
+ <ul>
201
+ <li>an exception is raised if <var>path</var> is invalid as a GDir.</li>
202
+ </ul></dd>
203
+ <dt><h4><a name="label-30" id="label-30"><code>data(<var>path</var>)</code></a></h4></dt><!-- RDLabel: "data" -->
204
+ <dd>
205
+ <p>Returns a GPhys specified the <var>path</var>.</p>
206
+ <p>ARGUMENTS</p>
207
+ <ul>
208
+ <li><var>path</var> (String): Either relative or absolute.</li>
209
+ </ul>
210
+ <p>RETURN VALUE</p>
211
+ <ul>
212
+ <li>a GPhys</li>
213
+ </ul>
214
+ <p>ERROR</p>
215
+ <ul>
216
+ <li>an exception is raised if <var>path</var> is invalid as a GPhys.</li>
217
+ </ul></dd>
218
+ <dt><h4><a name="label-31" id="label-31"><code>text(<var>path</var>)</code></a></h4></dt><!-- RDLabel: "text" -->
219
+ <dd>
220
+ <p>Returns a text file object specified the <var>path</var>.</p>
221
+ <p>ARGUMENTS</p>
222
+ <ul>
223
+ <li><var>path</var> (String): Either relative or absolute.</li>
224
+ </ul>
225
+ <p>RETURN VALUE</p>
226
+ <ul>
227
+ <li>a File</li>
228
+ </ul>
229
+ <p>ERROR</p>
230
+ <ul>
231
+ <li>an exception is raised if <var>path</var> is invalid as a text file
232
+ (based on the pattern: see above).</li>
233
+ </ul></dd>
234
+ <dt><h4><a name="label-32" id="label-32"><code>find_dir( <var>filt</var> )</code></a></h4></dt><!-- RDLabel: "find_dir" -->
235
+ <dd>
236
+ <p>Recursively search a GDir whose name match <var>filt</var>..</p>
237
+ <p>ARGUMENTS</p>
238
+ <ul>
239
+ <li><var>filt</var> (Regexp or String) If String, converted to Regexp
240
+ with Regexp.new(filt).</li>
241
+ </ul>
242
+ <p>RETURN VALUE</p>
243
+ <ul>
244
+ <li>an Array holding pathes (String) that matched.</li>
245
+ </ul></dd>
246
+ <dt><h4><a name="label-33" id="label-33"><code>find_data( <var>name</var>=<var>nil</var>,<var>long_name</var>=<var>nil</var>,<var>units</var>=<var>nil</var> )</code></a></h4></dt><!-- RDLabel: "find_data" -->
247
+ <dd>
248
+ <p>Recursively search data variables under the directory.
249
+ Mathces are by taking "AND" for non-nil arguments.
250
+ (At least one of the three arguments must be non-nil.)</p>
251
+ <p>ARGUMENTS</p>
252
+ <ul>
253
+ <li><var>name</var> (Regexp or String or nil) Variable name. If String,
254
+ converted to Regexp with Regexp.new(name).</li>
255
+ <li><var>long_name</var> (Regexp or String or nil) long_name. If String,
256
+ converted to Regexp with Regexp.new(long_name).</li>
257
+ <li><var>long_name</var> (Units or String or nil) long_name. If String,
258
+ converted to Units with Units.new(units).</li>
259
+ </ul>
260
+ <p>RETURN VALUE</p>
261
+ <ul>
262
+ <li>an Array holding the path and variable name that matched
263
+ (two-element Array of String; [path, variable_name] ).</li>
264
+ </ul></dd>
265
+ <dt><h4><a name="label-34" id="label-34"><code>list_dirs(<var>path</var>=<var>nil</var>)</code></a></h4></dt><!-- RDLabel: "list_dirs" -->
266
+ <dd>
267
+ <p>Returns the names of the directories.</p>
268
+ <p>See also <a href="#label-40">ls</a>.</p>
269
+ <p>ARGUMENTS</p>
270
+ <ul>
271
+ <li><var>path</var> (nil or String): if nil, the method is applied to the
272
+ current directory. If specified, listing is made for the directory
273
+ designated by it. Either relative or absolute.</li>
274
+ </ul>
275
+ <p>RETURN VALUE</p>
276
+ <ul>
277
+ <li>an Array of String</li>
278
+ </ul></dd>
279
+ <dt><h4><a name="label-35" id="label-35"><code>list_dirs_v(<var>path</var>=<var>nil</var>)</code></a></h4></dt><!-- RDLabel: "list_dirs_v" -->
280
+ <dd>
281
+ <p>Verbose version of <a href="#label-34">list_dirs</a>, showing size and mtime like 'ls -l'.</p>
282
+ <p>See also <a href="#label-43">ls_l</a>.</p>
283
+ <p>ARGUMENTS</p>
284
+ <ul>
285
+ <li>See <a href="#label-34">list_dirs</a>.</li>
286
+ </ul>
287
+ <p>RETURN VALUE</p>
288
+ <ul>
289
+ <li><p>an Array of String</p>
290
+ <p>Example of a string:</p>
291
+ <pre>275492 Apr 12 19:15 hogehoge_data.nc/</pre></li>
292
+ </ul></dd>
293
+ <dt><h4><a name="label-36" id="label-36"><code>list_data(<var>path</var>=<var>nil</var>)</code></a></h4></dt><!-- RDLabel: "list_data" -->
294
+ <dd>
295
+ <p>Returns the names of the data (variables on which GPhys objects
296
+ can be defined.) Returns a non-empty array if the GDir (current
297
+ or at the path) is actually a file recognized by GPhys (i.e.,
298
+ NetCDF or GrADS control file).</p>
299
+ <p>ARGUMENTS</p>
300
+ <ul>
301
+ <li><var>path</var> (nil or String): if nil, the method is applied to the
302
+ current directory. If specified, listing is made for the directory
303
+ designated by it. Either relative or absolute.</li>
304
+ </ul>
305
+ <p>RETURN VALUE</p>
306
+ <ul>
307
+ <li>an Array of String</li>
308
+ </ul></dd>
309
+ <dt><h4><a name="label-37" id="label-37"><code>list_data_v(<var>path</var>=<var>nil</var>)</code></a></h4></dt><!-- RDLabel: "list_data_v" -->
310
+ <dd>
311
+ <p>Verbose version of <a href="#label-36">list_data</a>, showing shape, long_name,
312
+ and units.</p>
313
+ <p>See also <a href="#label-43">ls_l</a>.</p>
314
+ <p>ARGUMENTS</p>
315
+ <ul>
316
+ <li>See <a href="#label-36">list_data</a>.</li>
317
+ </ul>
318
+ <p>RETURN VALUE</p>
319
+ <ul>
320
+ <li><p>an Array of String</p>
321
+ <p>Example of a string:</p>
322
+ <pre>u [lon=120,lat=120,z=40,t=73] 'x components of velocity' (m/s)</pre></li>
323
+ </ul></dd>
324
+ <dt><h4><a name="label-38" id="label-38"><code>list_texts(<var>path</var>=<var>nil</var>)</code></a></h4></dt><!-- RDLabel: "list_texts" -->
325
+ <dd>
326
+ <p>Returns the names of the text files.
327
+ Whether a file is a text file or not is judged based on the
328
+ name of the file: That matched the predefined patters is
329
+ judged as a text file regardless whether it is really so.
330
+ The default pattern is /\.txt$/ and /^\w*$/. The patterns
331
+ can be customized by <!-- Reference, RDLabel "set_text_patterns" doesn't exist --><em class="label-not-found">set_text_patterns</em><!-- Reference end --> or
332
+ <!-- Reference, RDLabel "add_text_patterns" doesn't exist --><em class="label-not-found">add_text_patterns</em><!-- Reference end -->.</p>
333
+ <p>ARGUMENTS</p>
334
+ <ul>
335
+ <li><var>path</var> (nil or String): if nil, the method is applied to the
336
+ current directory. If specified, listing is made for the directory
337
+ designated by it. Either relative or absolute.</li>
338
+ </ul>
339
+ <p>RETURN VALUE</p>
340
+ <ul>
341
+ <li>an Array of String</li>
342
+ </ul></dd>
343
+ <dt><h4><a name="label-39" id="label-39"><code>list_texts_v(<var>path</var>=<var>nil</var>)</code></a></h4></dt><!-- RDLabel: "list_texts_v" -->
344
+ <dd>
345
+ <p>Verbose version of <a href="#label-38">list_texts</a>, showing size and mtime like 'ls -l'.</p>
346
+ <p>See also <a href="#label-43">ls_l</a>.</p>
347
+ <p>ARGUMENTS</p>
348
+ <ul>
349
+ <li>See <a href="#label-38">list_texts</a>.</li>
350
+ </ul>
351
+ <p>RETURN VALUE</p>
352
+ <ul>
353
+ <li>an Array of String</li>
354
+ </ul></dd>
355
+ <dt><h4><a name="label-40" id="label-40"><code>ls(<var>path</var>=<var>nil</var>)</code></a></h4></dt><!-- RDLabel: "ls" -->
356
+ <dd>
357
+ <p>Prints the results of <a href="#label-34">list_dirs</a>, <a href="#label-36">list_data</a>, and
358
+ <a href="#label-38">list_texts</a> on the standard output.</p>
359
+ <p>RETURN VALUE</p>
360
+ <ul>
361
+ <li>nil</li>
362
+ </ul></dd>
363
+ <dt><h4><a name="label-41" id="label-41"><code>each_dir</code></a></h4></dt><!-- RDLabel: "each_dir" -->
364
+ <dd>
365
+ Iterator for each directory (GDir) under self.</dd>
366
+ <dt><h4><a name="label-42" id="label-42"><code>each_data</code></a></h4></dt><!-- RDLabel: "each_data" -->
367
+ <dd>
368
+ Iterator for each GPhys under self.</dd>
369
+ <dt><h4><a name="label-43" id="label-43"><code>ls_l(<var>path</var>=<var>nil</var>)</code></a></h4></dt><!-- RDLabel: "ls_l" -->
370
+ <dd>
371
+ <p>Verbose version of <a href="#label-40">ls</a>.
372
+ Prints the results of <a href="#label-35">list_dirs_v</a>, <a href="#label-37">list_data_v</a>, and
373
+ <a href="#label-39">list_texts_v</a> on the standard output.</p>
374
+ <p>RETURN VALUE</p>
375
+ <ul>
376
+ <li>nil</li>
377
+ </ul></dd>
378
+ <dt><h4><a name="label-44" id="label-44"><code>mtime</code></a></h4></dt><!-- RDLabel: "mtime" -->
379
+ <dd>
380
+ <p>Returns the last modified time.</p>
381
+ <p>RETURN VALUE</p>
382
+ <ul>
383
+ <li>a Time</li>
384
+ </ul></dd>
385
+ <dt><h4><a name="label-45" id="label-45"><code>atime</code></a></h4></dt><!-- RDLabel: "atime" -->
386
+ <dd>
387
+ <p>Returns the last accessed time.</p>
388
+ <p>RETURN VALUE</p>
389
+ <ul>
390
+ <li>a Time</li>
391
+ </ul></dd>
392
+ <dt><h4><a name="label-46" id="label-46"><code>ctime</code></a></h4></dt><!-- RDLabel: "ctime" -->
393
+ <dd>
394
+ <p>Returns ctime.</p>
395
+ <p>RETURN VALUE</p>
396
+ <ul>
397
+ <li>a Time</li>
398
+ </ul></dd>
399
+ <dt><h4><a name="label-47" id="label-47"><code>mtime_like_ls_l</code></a></h4></dt><!-- RDLabel: "mtime_like_ls_l" -->
400
+ <dd>
401
+ <p>Returns the last modified time formated as in ls -l.
402
+ That is, if the time of last modification is greater than
403
+ six months ago, it is shown in the format 'month date year';
404
+ otherwise, 'month date time'.</p>
405
+ <p>RETURN VALUE</p>
406
+ <ul>
407
+ <li>a String.</li>
408
+ </ul></dd>
409
+ </dl>
410
+
411
+ </body>
412
+ </html>