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,224 @@
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/grid.rb</title>
8
+ </head>
9
+ <body>
10
+ <h1><a name="label-0" id="label-0">class NumRU::Grid</a></h1><!-- RDLabel: "class NumRU::Grid" -->
11
+ <p>A class to handle discretized grids of physical quantities.</p>
12
+ <h2><a name="label-1" id="label-1">Class Methods</a></h2><!-- RDLabel: "Class Methods" -->
13
+ <dl>
14
+ <dt><h4><a name="label-2" id="label-2"><code>Grid.new( *<var>axes</var> )</code></a></h4></dt><!-- RDLabel: "Grid.new" -->
15
+ <dd>
16
+ <p>Constructor.</p>
17
+ <p>RETURN VALUE</p>
18
+ <ul>
19
+ <li>a Grid</li>
20
+ </ul></dd>
21
+ </dl>
22
+ <h2><a name="label-3" id="label-3">Instance Methods</a></h2><!-- RDLabel: "Instance Methods" -->
23
+ <dl>
24
+ <dt><h4><a name="label-4" id="label-4"><code>axnames</code></a></h4></dt><!-- RDLabel: "axnames" -->
25
+ <dd>
26
+ <p>Returns the names of the axes</p>
27
+ <p>RETURN VALUE</p>
28
+ <ul>
29
+ <li>an Array of String</li>
30
+ </ul></dd>
31
+ <dt><h4><a name="label-5" id="label-5"><code>lost_axes</code></a></h4></dt><!-- RDLabel: "lost_axes" -->
32
+ <dd>
33
+ <p>Returns info on axes eliminated during operations.</p>
34
+ <p>Useful for annotation in plots, for example (See the code of GGraph
35
+ for an application).</p>
36
+ <p>RETURN VALUE</p>
37
+ <ul>
38
+ <li>an Array of String</li>
39
+ </ul></dd>
40
+ <dt><h4><a name="label-6" id="label-6"><code>axis(<var>dim_or_dimname</var>)</code></a></h4></dt><!-- RDLabel: "axis" -->
41
+ <dd>
42
+ <p>Returns an Axis</p>
43
+ <p>ARGUMENTS</p>
44
+ <ul>
45
+ <li>dim_or_dimname (String or Integer) to specify an axis.</li>
46
+ </ul>
47
+ <p>RETURN VALUE</p>
48
+ <ul>
49
+ <li>an Axis</li>
50
+ </ul></dd>
51
+ <dt><h4><a name="label-7" id="label-7"><code>dim_index(<var>dimname</var>)</code></a></h4></dt><!-- RDLabel: "dim_index" -->
52
+ <dd>
53
+ <p>Returns the integer id (count from zero) of the dimension</p>
54
+ <p>ARGUMENT</p>
55
+ <ul>
56
+ <li>dimname (String or Integer) : this method is trivial if is is an integer</li>
57
+ </ul>
58
+ <p>RETURN VALUE</p>
59
+ <ul>
60
+ <li>an Integer</li>
61
+ </ul></dd>
62
+ <dt><h4><a name="label-8" id="label-8"><code>coord_dim_indices(<var>coordname</var>)</code></a></h4></dt><!-- RDLabel: "coord_dim_indices" -->
63
+ <dd>
64
+ <p>Coordinate name --&gt; dimension indices.</p>
65
+ <p>ARGUMENT</p>
66
+ <ul>
67
+ <li>coordname (String) : Name of a coordinate</li>
68
+ </ul>
69
+ <p>RETURN VALUE</p>
70
+ <ul>
71
+ <li>Array of Integer or nil --
72
+ If the coordinate is present it is an Array
73
+ containing dimension indices (If the coordinate is 1D,
74
+ the lengthof the array is 1.)</li>
75
+ </ul></dd>
76
+ <dt><h4><a name="label-9" id="label-9"><code>set_axis(<var>dim_or_dimname</var>,<var>ax</var>)</code></a></h4></dt><!-- RDLabel: "set_axis" -->
77
+ <dd>
78
+ <p>Sets an axis.</p>
79
+ <p>ARGUMENTS</p>
80
+ <ul>
81
+ <li>dim_or_dimname (String or Integer) to specify an axis.</li>
82
+ <li>ax (Axis) the axis</li>
83
+ </ul>
84
+ <p>RETURN VALUE</p>
85
+ <ul>
86
+ <li>self</li>
87
+ </ul></dd>
88
+ <dt><h4><a name="label-10" id="label-10"><code>set_lost_axes( <var>lost</var> )</code></a></h4></dt><!-- RDLabel: "set_lost_axes" -->
89
+ <dd>
90
+ <p>Sets info on axes eliminated.</p>
91
+ <p>RETURN VALUE</p>
92
+ <ul>
93
+ <li>self</li>
94
+ </ul></dd>
95
+ <dt><h4><a name="label-11" id="label-11"><code>add_lost_axes( <var>lost</var> )</code></a></h4></dt><!-- RDLabel: "add_lost_axes" -->
96
+ <dd>
97
+ <p>Adds info on axes eliminated to existing ones.</p>
98
+ <p>RETURN VALUE</p>
99
+ <ul>
100
+ <li>self</li>
101
+ </ul></dd>
102
+ <dt><h4><a name="label-12" id="label-12"><code>delete_axes( <var>at</var>, <var>deleted_by</var>=<var>nil</var> )</code></a></h4></dt><!-- RDLabel: "delete_axes" -->
103
+ <dd>
104
+ <p>Delete an axis.</p>
105
+ <p>ARGUMENTS</p>
106
+ <ul>
107
+ <li>at (String or Integer) to specify an axis.</li>
108
+ <li>deleted_by (String or nil) if non-nil, it is written in
109
+ the internal lost-axis info. Best if you put the name of the
110
+ method, in which this method is called.</li>
111
+ </ul>
112
+ <p>RETURN VALUE</p>
113
+ <ul>
114
+ <li>a Grid</li>
115
+ </ul></dd>
116
+ <dt><h4><a name="label-13" id="label-13"><code>copy</code></a></h4></dt><!-- RDLabel: "copy" -->
117
+ <dd>
118
+ <p>Makes a deep clone onto memory.</p>
119
+ <p>RETURN VALUE</p>
120
+ <ul>
121
+ <li>a Grid</li>
122
+ </ul></dd>
123
+ <dt><h4><a name="label-14" id="label-14"><code>merge(<var>other</var>)</code></a></h4></dt><!-- RDLabel: "merge" -->
124
+ <dd>
125
+ <p>merge two grids by basically using copies of self's axes but
126
+ using the other's if the length in self is 1 and
127
+ the length in the other is longer</p>
128
+ <p>ARGUMENTS</p>
129
+ <ul>
130
+ <li>other (Grid)</li>
131
+ </ul>
132
+ <p>RETURN VALUE</p>
133
+ <ul>
134
+ <li>a Grid</li>
135
+ </ul></dd>
136
+ <dt><h4><a name="label-15" id="label-15"><code>shape</code></a></h4></dt><!-- RDLabel: "shape" -->
137
+ <dd>
138
+ <p>Returns the shape of self.</p>
139
+ <p>RETURN VALUE</p>
140
+ <ul>
141
+ <li>an Array of Integer</li>
142
+ </ul></dd>
143
+ <dt><h4><a name="label-16" id="label-16"><code>[*<var>slicer</var>]</code></a></h4></dt><!-- RDLabel: "[]" -->
144
+ <dd>
145
+ <p>Returns a subset.</p>
146
+ <p>ARGUMENTS</p>
147
+ <ul>
148
+ <li>Same as those for NArray#[], NetCDFVar#[], etc.</li>
149
+ </ul>
150
+ <p>RETURN VALUE</p>
151
+ <ul>
152
+ <li>a Grid</li>
153
+ </ul></dd>
154
+ <dt><h4><a name="label-17" id="label-17"><code>cut(*<var>args</var>)</code></a></h4></dt><!-- RDLabel: "cut" -->
155
+ <dd>
156
+ <p>Similar to <a href="#label-16">[]</a>, but the subset is specified by physical coordinate.</p>
157
+ <p>ARGUMENTS</p>
158
+ <ul>
159
+ <li>pattern 1: similar to those for <a href="#label-16">[]</a>, where the first
160
+ argument specifies a subset for the first dimension.</li>
161
+ <li>pattern 2: by a Hash, in which keys are axis names.</li>
162
+ </ul>
163
+ <p>EXAMPLES</p>
164
+ <ul>
165
+ <li><p>Pattern 1</p>
166
+ <pre>gphys.cut(135.5,0..20.5,false)</pre></li>
167
+ <li><p>Pattern 2</p>
168
+ <pre>gphys.cut({'lon'=&gt;135.5,'lat'=&gt;0..20})</pre></li>
169
+ </ul>
170
+ <p>RETURN VALUE</p>
171
+ <ul>
172
+ <li>an Array : [a Grid, slicer], where slicer is an array
173
+ to be used to make a subset of an corresponding varray
174
+ (to be used in GPhys#cut).</li>
175
+ </ul></dd>
176
+ <dt><h4><a name="label-18" id="label-18"><code>cut_rank_conserving(*<var>args</var>)</code></a></h4></dt><!-- RDLabel: "cut_rank_conserving" -->
177
+ <dd>
178
+ Similar to <a href="#label-17">cut</a>, but the rank is conserved by not eliminating
179
+ any dimension (whose length could be one).</dd>
180
+ <dt><h4><a name="label-19" id="label-19"><code>cut_assoccoord(<var>hasharg</var>)</code></a></h4></dt><!-- RDLabel: "cut_assoccoord" -->
181
+ <dd>
182
+ Cut with respect to the asscoated coordinates. Similar to cut,
183
+ when the argeuemnt is a Hash, but hash keys are the names of the
184
+ asscoated coordinates.</dd>
185
+ <dt><h4><a name="label-20" id="label-20"><code>change_axis(<var>dim</var>, <var>axis</var>)</code></a></h4></dt><!-- RDLabel: "change_axis" -->
186
+ <dd>
187
+ <p>Replaces an axis. (Returns a new object)</p>
188
+ <p>ARGUMENTS</p>
189
+ <ul>
190
+ <li>dim_or_dimname (String or Integer) to specify an axis.</li>
191
+ <li>axis (Axis)</li>
192
+ </ul>
193
+ <p>RETURN VALUE</p>
194
+ <ul>
195
+ <li>a Grid</li>
196
+ </ul></dd>
197
+ <dt><h4><a name="label-21" id="label-21"><code>insert_axis(<var>dim</var>, <var>axis</var>)</code></a></h4></dt><!-- RDLabel: "insert_axis" -->
198
+ <dd>
199
+ <p>Inserts an axis. (non destructive; returns a new object)</p>
200
+ <p>ARGUMENTS</p>
201
+ <ul>
202
+ <li>dim (Integer) to specify the position to insert</li>
203
+ <li>axis (Axis)</li>
204
+ </ul>
205
+ <p>RETURN VALUE</p>
206
+ <ul>
207
+ <li>a Grid</li>
208
+ </ul></dd>
209
+ <dt><h4><a name="label-22" id="label-22"><code>transpose( *<var>dims</var> )</code></a></h4></dt><!-- RDLabel: "transpose" -->
210
+ <dd>
211
+ <p>Transpose.</p>
212
+ <p>ARGUMENTS</p>
213
+ <ul>
214
+ <li>dims (integers) : for example, [1,0] to transpose a 2D object.
215
+ For 3D objects, [1,0,2], [2,1,0], etc.etc.</li>
216
+ </ul>
217
+ <p>RETURN VALUE</p>
218
+ <ul>
219
+ <li>a Grid</li>
220
+ </ul></dd>
221
+ </dl>
222
+
223
+ </body>
224
+ </html>
@@ -0,0 +1,145 @@
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>index.rd</title>
8
+ </head>
9
+ <body>
10
+ <h1><a name="label-0" id="label-0">Reference manuals of the GPhys library</a></h1><!-- RDLabel: "Reference manuals of the GPhys library" -->
11
+ <h2><a name="label-1" id="label-1">Highlight</a></h2><!-- RDLabel: "Highlight" -->
12
+ <p>Core part of the GPhys class</p>
13
+ <ul>
14
+ <li><a href="gphys.html">class NumRu::GPhys</a> </li>
15
+ <li>See also the entire <a href="#label-3">GPhys Core Part</a> section.</li>
16
+ </ul>
17
+ <p>Visualization library</p>
18
+ <ul>
19
+ <li><a href="ggraph.html">module NumRu::GGraph</a></li>
20
+ </ul>
21
+ <p>Data analysis library</p>
22
+ <ul>
23
+ <li><a href="ganalysis/doc/">module NumRu::GAnalysis</a></li>
24
+ </ul>
25
+ <p><a href="#label-8">Application Commands</a></p>
26
+ <p>---------------------------------------------------------------------</p>
27
+ <h2><a name="label-2" id="label-2">GPhys and its components</a></h2><!-- RDLabel: "GPhys and its components" -->
28
+ <h4><a name="label-3" id="label-3">GPhys Core Part</a></h4><!-- RDLabel: "GPhys Core Part" -->
29
+ <p>A GPhys object has the following structure:</p>
30
+ <pre>-
31
+ has 1
32
+ a GPhys --------- array-like data (VArray)
33
+ | has 1
34
+ --------- grid (Grid)
35
+ | has rank
36
+ ------------ axis (Axis)
37
+ | has 1
38
+ -------- 1D position data (VArray)
39
+ | has 0..
40
+ -------- ancillary data (VArray)</pre>
41
+ <p>That is, a GPhys object consists of data (whose class is VArray) and
42
+ grid (whose class is Grid). The latter consists of axes (whose class is
43
+ Axis), which consist of VArray objects (such as ones that have
44
+ 1-dimensional grid-point position data). To use GPhys, it is
45
+ useful to know these four classes.</p>
46
+ <ul>
47
+ <li><a href="varray.html">class NumRu::VArray</a> :
48
+ Virtual Array class, which holds multi-dimensional data of various
49
+ format and media (on memory or in file).
50
+ <ul>
51
+ <li><a href="varraycomposite.html">class NumRu::VArrayComposite</a> :
52
+ Subclass of VArray to bundle multiple VArrays by "tiling".</li>
53
+ </ul></li>
54
+ <li><a href="axis.html">class NumRu::Axis</a> : A class to represent a discretized physical coordinate.</li>
55
+ <li><a href="grid.html">class NumRu::Grid</a> : A class to represent discretized grids of physical quantities.</li>
56
+ <li><a href="gphys.html">class NumRu::GPhys</a> : Core part of the GPhys class</li>
57
+ </ul>
58
+ <h4><a name="label-4" id="label-4">Miscellaneous Extensions of GPhys</a></h4><!-- RDLabel: "Miscellaneous Extensions of GPhys" -->
59
+ <ul>
60
+ <li><a href="coordtransform.html">coordinate transformation</a> :
61
+ Extension of the NumRu::GPhys class for coordinate transformation.</li>
62
+ <li><a href="gphys_fft.html">FFT</a> :
63
+ Extension of the NumRu::GPhys class
64
+ for the Fast Fourier Transformation and its applications</li>
65
+ <li><a href="derivative/index.html">module NumRu::GPhys::Derivative</a> :
66
+ Module functions to make differentiation of GPhys objects.</li>
67
+ <li><a href="ep_flux/index.html">module NumRu::GPhys::EP_Flux</a> :
68
+ Module functions to derive the Eliassen-Palm flux and related
69
+ quantities (such as the residual circulation and its mass stream function).</li>
70
+ <li><a href="interpolate/index.html">interpolation</a> : Interpolation library</li>
71
+ <li><a href="ganalysis/doc/">module NumRu::GAnalysis</a>
72
+ <ul>
73
+ <li>The following are old documents:
74
+ <ul>
75
+ <li><a href="ganalysis_planet/index.html">GAnalysis::Planet</a> : Library for spherical planets (default: Earth)</li>
76
+ <li><a href="ganalysis_met/index.html">GAnalysis::Met</a> : Meteorological analysis library</li>
77
+ </ul></li>
78
+ </ul></li>
79
+ </ul>
80
+ <h4><a name="label-5" id="label-5">Miscellaneous Dependent Libraries Distributed with GPhys</a></h4><!-- RDLabel: "Miscellaneous Dependent Libraries Distributed with GPhys" -->
81
+ <ul>
82
+ <li><a href="unumeric.html">class NumRu::UNumeric</a> :
83
+ Numeric with units (combination of Numeric and Units)</li>
84
+ <li><a href="derivative/index.html">module NumRu::Derivative</a> :
85
+ Module functions to make differentiation using NArray.</li>
86
+ <li><!-- Reference, RDLabel "class NumRu::SubsetMapping" doesn't exist --><em class="label-not-found">class NumRu::SubsetMapping</em><!-- Reference end --> : Sorry, yet to be written.</li>
87
+ <li><a href="attribute.html">class NumRu::Attribute</a> : A Hash class compatible with NetCDF attributes.</li>
88
+ <li><a href="coordmapping.html">class NumRu::CoordMapping</a> :
89
+ <ul>
90
+ <li><a href="coordmapping.html">class NumRu::LinearCoordMapping</a> :</li>
91
+ </ul></li>
92
+ <li><a href="grads_gridded.html">class NumRu::GrADS_Gridded</a> :
93
+ Class to handle GrADS data.</li>
94
+ <li><a href="grib.html">class NumRu::Grib</a> :
95
+ a class for GRIB datasets.</li>
96
+ <li><a href="htdir.html">class NumRu::GDir::HtDir</a> :
97
+ A class to treat the URL of a "directory" as a directory (used in
98
+ GDir).</li>
99
+ <li><a href="derivative/dclext.html">module NumRu::DCLExt</a> :
100
+ An extension of RubyDCL.</li>
101
+ </ul>
102
+ <h4><a name="label-6" id="label-6">External File Handlers of GPhys</a></h4><!-- RDLabel: "External File Handlers of GPhys" -->
103
+ <ul>
104
+ <li><a href="gphys_io.html">module NumRu::GPhys::IO</a> :
105
+ GPhys file IO module for all file types.</li>
106
+ <li><a href="gphys_netcdf_io.html">module NumRu::GPhys::NetCDF_IO</a> :
107
+ NetCDF data input/output.</li>
108
+ <li><a href="netcdf_convention.html">module NumRu::NetCDF_Conventions,
109
+ module NumRu::NetCDF_Convention_Users_Guide etc.
110
+ </a> :
111
+ NetCDF convention handler.</li>
112
+ <li><a href="gphys_grads_io.html">module NumRu::GPhys::GrADS_IO</a> :
113
+ GrADS data input/output.</li>
114
+ <li><a href="gphys_grib_io.html">module NumRu::GPhys::Grib_IO</a> :
115
+ GRIB data IO.</li>
116
+ </ul>
117
+ <h2><a name="label-7" id="label-7">Applications distributed with GPhys</a></h2><!-- RDLabel: "Applications distributed with GPhys" -->
118
+ <p>To use the following, you have to <var>require</var> explicitly. </p>
119
+ <ul>
120
+ <li><a href="ggraph.html">module NumRu::GGraph</a> :
121
+ A graphic library using GPhys.</li>
122
+ <li><a href="gdir.html">class NumRu::GDir</a> :
123
+ A class to represent directories and data files for GPhys.</li>
124
+ <li><a href="gdir_connect_ftp-like.html">irb start-up program gdir_connect_ftp-like</a> A library to be required
125
+ to interactively connect with a <a href="gdir_server.html">gdir_server</a>.</li>
126
+ </ul>
127
+ <h2><a name="label-8" id="label-8">Application Commands</a></h2><!-- RDLabel: "Application Commands" -->
128
+ <ul>
129
+ <li><a href="grads2nc_with_gphys.html">grads2nc_with_gphys</a> file converter
130
+ from the GrADS format to NetCDF</li>
131
+ <li><a href="gdir_server.html">gdir_server</a> A dRuby server with a GDir
132
+ at the front end.</li>
133
+ <li><a href="gdir_client.html">gdir_client</a> : A client of gdir_server
134
+ using irb with <a href="gdir_connect_ftp-like.html">gdir_connect_ftp-like</a></li>
135
+ <li><a href="gpcat.html">gpcat</a> Read a variable in multiple NetCDF files, concatenate and write them to a single netcdf file. </li>
136
+ <li><a href="gpcut.html">gpcut</a> extract, slicing and thinning a GPhys variable</li>
137
+ <li><a href="gplist.html">gplist</a> print out variables and their dimensions</li>
138
+ <li><a href="gpmath.html">gpmath</a> operate a math function to a GPhys variable</li>
139
+ <li><a href="gpmaxmin.html">gpmaxmin</a> prints maximum and minimum values of a GPhys variable</li>
140
+ <li><a href="gpprint.html">gpprint</a> prints the values of a GPhys variable </li>
141
+ <li><a href="gpview.html">gpview</a> visualizer (2D, 1D)</li>
142
+ </ul>
143
+
144
+ </body>
145
+ </html>
@@ -0,0 +1,138 @@
1
+ =begin
2
+
3
+ =Reference manuals of the GPhys library
4
+
5
+ ==Highlight
6
+ Core part of the GPhys class
7
+ * ((<class NumRu::GPhys|URL:gphys.html>))
8
+ * See also the entire ((<GPhys Core Part>)) section.
9
+ Visualization library
10
+ * ((<module NumRu::GGraph|URL:ggraph.html>))
11
+
12
+ Data analysis library
13
+ * ((<module NumRu::GAnalysis|URL:ganalysis/doc/>))
14
+
15
+ ((<Application Commands>))
16
+
17
+ ---------------------------------------------------------------------
18
+
19
+ ==GPhys and its components
20
+
21
+ ====GPhys Core Part
22
+
23
+ A GPhys object has the following structure:
24
+
25
+ -
26
+ has 1
27
+ a GPhys --------- array-like data (VArray)
28
+ | has 1
29
+ --------- grid (Grid)
30
+ | has rank
31
+ ------------ axis (Axis)
32
+ | has 1
33
+ -------- 1D position data (VArray)
34
+ | has 0..
35
+ -------- ancillary data (VArray)
36
+
37
+ That is, a GPhys object consists of data (whose class is VArray) and
38
+ grid (whose class is Grid). The latter consists of axes (whose class is
39
+ Axis), which consist of VArray objects (such as ones that have
40
+ 1-dimensional grid-point position data). To use GPhys, it is
41
+ useful to know these four classes.
42
+
43
+ * ((<class NumRu::VArray|URL:varray.html>)) :
44
+ Virtual Array class, which holds multi-dimensional data of various
45
+ format and media (on memory or in file).
46
+
47
+ * ((<class NumRu::VArrayComposite|URL:varraycomposite.html>)) :
48
+ Subclass of VArray to bundle multiple VArrays by "tiling".
49
+
50
+ * ((<class NumRu::Axis|URL:axis.html>)) : A class to represent a discretized physical coordinate.
51
+ * ((<class NumRu::Grid|URL:grid.html>)) : A class to represent discretized grids of physical quantities.
52
+ * ((<class NumRu::GPhys|URL:gphys.html>)) : Core part of the GPhys class
53
+
54
+ ====Miscellaneous Extensions of GPhys
55
+
56
+ * ((<coordinate transformation|URL:coordtransform.html>)) :
57
+ Extension of the NumRu::GPhys class for coordinate transformation.
58
+ * ((<FFT|URL:gphys_fft.html>)) :
59
+ Extension of the NumRu::GPhys class
60
+ for the Fast Fourier Transformation and its applications
61
+ * ((<module NumRu::GPhys::Derivative|URL:derivative/index.html>)) :
62
+ Module functions to make differentiation of GPhys objects.
63
+ * ((<module NumRu::GPhys::EP_Flux|URL:ep_flux/index.html>)) :
64
+ Module functions to derive the Eliassen-Palm flux and related
65
+ quantities (such as the residual circulation and its mass stream function).
66
+ * ((<interpolation|URL:interpolate/index.html>)) : Interpolation library
67
+
68
+ * ((<module NumRu::GAnalysis|URL:ganalysis/doc/>))
69
+ * The following are old documents:
70
+ * ((<GAnalysis::Planet|URL:ganalysis_planet/index.html>)) : Library for spherical planets (default: Earth)
71
+ * ((<GAnalysis::Met|URL:ganalysis_met/index.html>)) : Meteorological analysis library
72
+
73
+ ====Miscellaneous Dependent Libraries Distributed with GPhys
74
+
75
+ * ((<class NumRu::UNumeric|URL:unumeric.html>)) :
76
+ Numeric with units (combination of Numeric and Units)
77
+ * ((<module NumRu::Derivative|URL:derivative/index.html>)) :
78
+ Module functions to make differentiation using NArray.
79
+ * ((<class NumRu::SubsetMapping>)) : Sorry, yet to be written.
80
+ * ((<class NumRu::Attribute|URL:attribute.html>)) : A Hash class compatible with NetCDF attributes.
81
+ * ((<class NumRu::CoordMapping|URL:coordmapping.html>)) :
82
+ * ((<class NumRu::LinearCoordMapping|URL:coordmapping.html>)) :
83
+ * ((<class NumRu::GrADS_Gridded|URL:grads_gridded.html>)) :
84
+ Class to handle GrADS data.
85
+ * ((<class NumRu::Grib|URL:grib.html>)) :
86
+ a class for GRIB datasets.
87
+ * ((<class NumRu::GDir::HtDir|URL:htdir.html>)) :
88
+ A class to treat the URL of a "directory" as a directory (used in
89
+ GDir).
90
+ * ((<module NumRu::DCLExt|URL:derivative/dclext.html>)) :
91
+ An extension of RubyDCL.
92
+
93
+ ====External File Handlers of GPhys
94
+
95
+ * ((<module NumRu::GPhys::IO|URL:gphys_io.html>)) :
96
+ GPhys file IO module for all file types.
97
+ * ((<module NumRu::GPhys::NetCDF_IO|URL:gphys_netcdf_io.html>)) :
98
+ NetCDF data input/output.
99
+ * ((<module NumRu::NetCDF_Conventions,
100
+ module NumRu::NetCDF_Convention_Users_Guide etc.
101
+ |URL:netcdf_convention.html>)) :
102
+ NetCDF convention handler.
103
+ * ((<module NumRu::GPhys::GrADS_IO|URL:gphys_grads_io.html>)) :
104
+ GrADS data input/output.
105
+ * ((<module NumRu::GPhys::Grib_IO|URL:gphys_grib_io.html>)) :
106
+ GRIB data IO.
107
+
108
+ ==Applications distributed with GPhys
109
+
110
+ To use the following, you have to ((|require|)) explicitly.
111
+
112
+ * ((<module NumRu::GGraph|URL:ggraph.html>)) :
113
+ A graphic library using GPhys.
114
+
115
+ * ((<class NumRu::GDir|URL:gdir.html>)) :
116
+ A class to represent directories and data files for GPhys.
117
+
118
+ * ((<irb start-up program gdir_connect_ftp-like|URL:gdir_connect_ftp-like.html>)) A library to be required
119
+ to interactively connect with a ((<gdir_server|URL:gdir_server.html>)).
120
+
121
+ ==Application Commands
122
+
123
+ * ((<grads2nc_with_gphys|URL:grads2nc_with_gphys.html>)) file converter
124
+ from the GrADS format to NetCDF
125
+ * ((<gdir_server|URL:gdir_server.html>)) A dRuby server with a GDir
126
+ at the front end.
127
+ * ((<gdir_client|URL:gdir_client.html>)) : A client of gdir_server
128
+ using irb with ((<gdir_connect_ftp-like|URL:gdir_connect_ftp-like.html>))
129
+
130
+ * ((<gpcat|URL:gpcat.html>)) Read a variable in multiple NetCDF files, concatenate and write them to a single netcdf file.
131
+ * ((<gpcut|URL:gpcut.html>)) extract, slicing and thinning a GPhys variable
132
+ * ((<gplist|URL:gplist.html>)) print out variables and their dimensions
133
+ * ((<gpmath|URL:gpmath.html>)) operate a math function to a GPhys variable
134
+ * ((<gpmaxmin|URL:gpmaxmin.html>)) prints maximum and minimum values of a GPhys variable
135
+ * ((<gpprint|URL:gpprint.html>)) prints the values of a GPhys variable
136
+ * ((<gpview|URL:gpview.html>)) visualizer (2D, 1D)
137
+
138
+ =end