gphys 1.2.2.1 → 1.4.3

Sign up to get free protection for your applications and to get access to all the features.
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,19 @@
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/attribute.rb</title>
8
+ </head>
9
+ <body>
10
+ <h1><a name="label-0" id="label-0">class Attribute &lt; Hash</a></h1><!-- RDLabel: "class Attribute < Hash" -->
11
+ <p>A Hash class compatible with NetCDF attributes.</p>
12
+ <ul>
13
+ <li>Values are restricted to NetCDFAttr values</li>
14
+ <li>Keys must be String or Symbol (Symbol is converted into String such that
15
+ they are used interchangeably. E.g., attr[:units] == attr["units"] )</li>
16
+ </ul>
17
+
18
+ </body>
19
+ </html>
@@ -0,0 +1,15 @@
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/attributenetcdf.rb</title>
8
+ </head>
9
+ <body>
10
+ <h1><a name="label-0" id="label-0">class Attribute_NetCDF</a></h1><!-- RDLabel: "class Attribute_NetCDF" -->
11
+ <p>A class to handle NetCDF attributes in the same way as in the
12
+ NumRu::Attribute class.</p>
13
+
14
+ </body>
15
+ </html>
@@ -0,0 +1,387 @@
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/axis.rb</title>
8
+ </head>
9
+ <body>
10
+ <h1><a name="label-0" id="label-0">class NumRu::Axis</a></h1><!-- RDLabel: "class NumRu::Axis" -->
11
+ <p>A class of to handle a descretized physical coordinate.</p>
12
+ <h2><a name="label-1" id="label-1">Overview</a></h2><!-- RDLabel: "Overview" -->
13
+ <p>An NumRu::Axis object is meant to represent a dimension in a NumRu::Grid
14
+ object, which is used in NumRu::Grid (Hereafter, NumRu:: is omitted).
15
+ An Axis has 1-dimensional data on grid-point posisions as a VArray.
16
+ In addition, it can have supplementary data (as VArray objects).</p>
17
+ <p>Three types of axes are supported in this class:</p>
18
+ <pre>1. Simple (mostly point-sampled) axes
19
+ 2. Cell-type axes. In this case, grid points are either
20
+ at cell boundaries or within the cells (oftern at the center).
21
+ 3. Simple ("bare") indexing (without particular physical meaning)</pre>
22
+ <p>In most applications, the 1st type would be enough, but
23
+ the 2nd type would be useful for some type of numerical
24
+ simulation. The 3rd is not physical and may not be considered as
25
+ "axes", but this could be convenient for some practical applications.</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>Axis.new(<var>cell</var>=<var>false</var>,<var>bare_index</var>=<var>false</var>,<var>name</var>=<var>nil</var>)</code></a></h4></dt><!-- RDLabel: "Axis.new" -->
29
+ <dd>
30
+ <p>Constructor. The first two arguments are to specify one of the
31
+ types explained above.</p>
32
+ <p>ARGUMENTS</p>
33
+ <ul>
34
+ <li>cell (true or false)</li>
35
+ <li>bare_index (true or false)</li>
36
+ <li>name (String or nil): the default name (when nil) is "noname"</li>
37
+ </ul>
38
+ <p>RETURN VALUE</p>
39
+ <ul>
40
+ <li>an Axis</li>
41
+ </ul></dd>
42
+ <dt><h4><a name="label-4" id="label-4"><code>Axis.defined_operations</code></a></h4></dt><!-- RDLabel: "Axis.defined_operations" -->
43
+ <dd>
44
+ <p>Returns the name of the methods defined in Axis to do
45
+ some operation along the axis.</p>
46
+ <p>RETURN VALUE</p>
47
+ <ul>
48
+ <li>an Array of String. Current default value is ["integrate","average"].</li>
49
+ </ul></dd>
50
+ <dt><h4><a name="label-5" id="label-5"><code>Axis.humane_messaging = <var>t_or_f</var></code></a></h4></dt><!-- RDLabel: "Axis.humane_messaging = t_or_f" -->
51
+ <dd>
52
+ If false is given, the [] method is changed to return a naive
53
+ straightforward message if the axis is lost. -- By default,
54
+ it returns a fancy but sometimes unwanted message if the
55
+ axis is the time with since field in the form of yyyy-mm-dd.... </dd>
56
+ <dt><h4><a name="label-6" id="label-6"><code>Axis.join(<var>ary</var>)</code></a></h4></dt><!-- RDLabel: "Axis.join" -->
57
+ <dd>
58
+ <p>Join multiple axis objects. (simple concatenation without sort)</p>
59
+ <p>ARGUMENTS</p>
60
+ <ul>
61
+ <li>ary : Array (or 1D NArray) of Axis objects</li>
62
+ </ul>
63
+ <p>RETURN VALUE</p>
64
+ <ul>
65
+ <li>an Axis</li>
66
+ </ul></dd>
67
+ </dl>
68
+ <h2><a name="label-7" id="label-7">Instance Methods</a></h2><!-- RDLabel: "Instance Methods" -->
69
+ <dl>
70
+ <dt><h4><a name="label-8" id="label-8"><code>name=(<var>nm</var>)</code></a></h4></dt><!-- RDLabel: "name=" -->
71
+ <dd>
72
+ <p>Set a name.</p>
73
+ <p>ARGUMENTS</p>
74
+ <ul>
75
+ <li>name (String)</li>
76
+ </ul>
77
+ <p>RETURN VALUE</p>
78
+ <ul>
79
+ <li>name (the argument)</li>
80
+ </ul></dd>
81
+ <dt><h4><a name="label-9" id="label-9"><code>name</code></a></h4></dt><!-- RDLabel: "name" -->
82
+ <dd>
83
+ <p>Returns the name.</p>
84
+ <p>RETURN VALUE</p>
85
+ <ul>
86
+ <li>a String</li>
87
+ </ul></dd>
88
+ <dt><h4><a name="label-10" id="label-10"><code>cell?</code></a></h4></dt><!-- RDLabel: "cell?" -->
89
+ <dd>
90
+ <p>Whether or not self is a cell-type axis.</p>
91
+ <p>RETURN VALUE</p>
92
+ <ul>
93
+ <li>true or false</li>
94
+ </ul></dd>
95
+ <dt><h4><a name="label-11" id="label-11"><code>cell_center?</code></a></h4></dt><!-- RDLabel: "cell_center?" -->
96
+ <dd>
97
+ <p>Whether or not self represents data points within the cells (which is
98
+ often, but not necessarily, the centers of the cells).</p>
99
+ <p>RETURN VALUE</p>
100
+ <ul>
101
+ <li>true, false, or nil (when the axis is not cell-type)</li>
102
+ </ul></dd>
103
+ <dt><h4><a name="label-12" id="label-12"><code>cell_bounds?</code></a></h4></dt><!-- RDLabel: "cell_bounds?" -->
104
+ <dd>
105
+ <p>Whether or not self represents data points at the cell bondaries.</p>
106
+ <p>RETURN VALUE</p>
107
+ <ul>
108
+ <li>true, false, or nil (when the axis is not cell-type)</li>
109
+ </ul></dd>
110
+ <dt><h4><a name="label-13" id="label-13"><code>bare_index?</code></a></h4></dt><!-- RDLabel: "bare_index?" -->
111
+ <dd>
112
+ <p>Whether or not self is of the bare-index type.</p>
113
+ <p>RETURN VALUE</p>
114
+ <ul>
115
+ <li>true or false.</li>
116
+ </ul></dd>
117
+ <dt><h4><a name="label-14" id="label-14"><code>flatten</code></a></h4></dt><!-- RDLabel: "flatten" -->
118
+ <dd>
119
+ <p>Returns the VArray objects in self as a flat Array. No cloning is made.</p>
120
+ <p>RETURN VALUE</p>
121
+ <ul>
122
+ <li>an Array of VArray objects.</li>
123
+ </ul></dd>
124
+ <dt><h4><a name="label-15" id="label-15"><code>each_varray</code></a></h4></dt><!-- RDLabel: "each_varray" -->
125
+ <dd>
126
+ <p>Iterator for each VArray object in self (dependent on <a href="#label-14">flatten</a>.</p>
127
+ <p>RETURN VALUE</p>
128
+ <ul>
129
+ <li>an Array of VArray objects (same as <a href="#label-14">flatten</a>).</li>
130
+ </ul></dd>
131
+ <dt><h4><a name="label-16" id="label-16"><code>copy</code></a></h4></dt><!-- RDLabel: "copy" -->
132
+ <dd>
133
+ <p>Make a deep clone onto memory.
134
+ All the VArray objects in the return value will be
135
+ of the root class of VArray.</p>
136
+ <p>RETURN VALUE</p>
137
+ <ul>
138
+ <li>an Axis</li>
139
+ </ul></dd>
140
+ <dt><h4><a name="label-17" id="label-17"><code>collect</code></a></h4></dt><!-- RDLabel: "collect" -->
141
+ <dd>
142
+ <p>This method is like <a href="#label-16">copy</a>, but it is the 'collect'
143
+ iterator for each VArray in self (block required).</p>
144
+ <p>RETURN VALUE</p>
145
+ <ul>
146
+ <li>an Axis</li>
147
+ </ul></dd>
148
+ <dt><h4><a name="label-18" id="label-18"><code>pos=(<var>pos</var>)</code></a></h4></dt><!-- RDLabel: "pos=" -->
149
+ <dd>
150
+ <p>Sets the grid-point positions (disretized coordinate values).</p>
151
+ <p>ARGUMENTS</p>
152
+ <ul>
153
+ <li>pos (a 1D VArray)</li>
154
+ </ul>
155
+ <p>RETURN VALUE</p>
156
+ <ul>
157
+ <li>pos (the argument)</li>
158
+ </ul></dd>
159
+ <dt><h4><a name="label-19" id="label-19"><code>set_pos(<var>pos</var>)</code></a></h4></dt><!-- RDLabel: "set_pos" -->
160
+ <dd>
161
+ <p>Sets the grid-point positions (disretized coordinate values).</p>
162
+ <p>ARGUMENTS</p>
163
+ <ul>
164
+ <li>pos (a 1D VArray)</li>
165
+ </ul>
166
+ <p>RETURN VALUE</p>
167
+ <ul>
168
+ <li>self</li>
169
+ </ul></dd>
170
+ <dt><h4><a name="label-20" id="label-20"><code>pos</code></a></h4></dt><!-- RDLabel: "pos" -->
171
+ <dd>
172
+ <p>Returns the grid-point positions (disretized coordinate values).</p>
173
+ <p>RETURN VALUE</p>
174
+ <ul>
175
+ <li>a VArray (no duplication is made)</li>
176
+ </ul></dd>
177
+ <dt><h4><a name="label-21" id="label-21"><code>cell_center</code></a></h4></dt><!-- RDLabel: "cell_center" -->
178
+ <dd>
179
+ <p>When cell-type, returns the positions of grid points at cell centers.</p>
180
+ <p>RETURN VALUE</p>
181
+ <ul>
182
+ <li>a VArray (no duplication is made)</li>
183
+ </ul></dd>
184
+ <dt><h4><a name="label-22" id="label-22"><code>cell_bounds</code></a></h4></dt><!-- RDLabel: "cell_bounds" -->
185
+ <dd>
186
+ <p>When cell-type, returns the positions of grid points at cell boundaries.</p>
187
+ <p>RETURN VALUE</p>
188
+ <ul>
189
+ <li>a VArray (no duplication is made)</li>
190
+ </ul></dd>
191
+ <dt><h4><a name="label-23" id="label-23"><code>length</code></a></h4></dt><!-- RDLabel: "length" -->
192
+ <dd>
193
+ <p>Returns the length of the axis.</p>
194
+ <p>RETURN VALUE</p>
195
+ <ul>
196
+ <li>an Integer</li>
197
+ </ul></dd>
198
+ <dt><h4><a name="label-24" id="label-24"><code>set_cell(<var>center</var>, <var>bounds</var>, <var>name</var>=<var>nil</var>)</code></a></h4></dt><!-- RDLabel: "set_cell" -->
199
+ <dd>
200
+ <p>Set up cell-type axis, by giving both the cell centers and boundaries.
201
+ Completion of the set up is deferred until one of <a href="#label-26">set_pos_to_center</a>
202
+ and <a href="#label-27">set_pos_to_bounds</a> is called.</p>
203
+ <p>ARGUMENTS</p>
204
+ <ul>
205
+ <li>center (a 1D VArray)</li>
206
+ <li>bounds (a 1D VArray)</li>
207
+ <li>name (String)</li>
208
+ </ul>
209
+ <p>RETURN VALUE</p>
210
+ <ul>
211
+ <li>self</li>
212
+ </ul></dd>
213
+ <dt><h4><a name="label-25" id="label-25"><code>set_cell_guess_bounds(<var>center</var>, <var>name</var>=<var>nil</var>)</code></a></h4></dt><!-- RDLabel: "set_cell_guess_bounds" -->
214
+ <dd>
215
+ <p>Set up cell-type axis, by specifing only the cell centers
216
+ and deriving bounds with a naive assumption.</p>
217
+ <p>ARGUMENTS</p>
218
+ <ul>
219
+ <li>center (a 1D VArray)</li>
220
+ <li>name (String)</li>
221
+ </ul>
222
+ <p>RETURN VALUE</p>
223
+ <ul>
224
+ <li>self</li>
225
+ </ul></dd>
226
+ <dt><h4><a name="label-26" id="label-26"><code>set_pos_to_center</code></a></h4></dt><!-- RDLabel: "set_pos_to_center" -->
227
+ <dd>
228
+ Set the position of the current axis to the centers of the cells.
229
+ This or <a href="#label-27">set_pos_to_bounds</a> is needed to complete the set up
230
+ with set_cell_* methods.</dd>
231
+ <dt><h4><a name="label-27" id="label-27"><code>set_pos_to_bounds</code></a></h4></dt><!-- RDLabel: "set_pos_to_bounds" -->
232
+ <dd>
233
+ Set the position of the current axis to the cell bondaries.
234
+ This or <a href="#label-26">set_pos_to_center</a> is needed to complete the set up
235
+ with set_cell_* methods.</dd>
236
+ <dt><h4><a name="label-28" id="label-28"><code>set_aux(<var>name</var>,<var>vary</var>)</code></a></h4></dt><!-- RDLabel: "set_aux" -->
237
+ <dd>
238
+ <p>Set auxiliary data</p>
239
+ <p>ARGUMENTS</p>
240
+ <ul>
241
+ <li>name (String) a tag to express the kind of the data</li>
242
+ <li>vary (a VArray) the data</li>
243
+ </ul>
244
+ <p>RETURN VALUE</p>
245
+ <ul>
246
+ <li>vary (the 2nd argument)</li>
247
+ </ul></dd>
248
+ <dt><h4><a name="label-29" id="label-29"><code>get_aux(<var>name</var>)</code></a></h4></dt><!-- RDLabel: "get_aux" -->
249
+ <dd>
250
+ <p>Returns auxiliary data</p>
251
+ <p>ARGUMENTS</p>
252
+ <ul>
253
+ <li>name (String) a tag to express the kind of the data (see <a href="#label-28">set_aux</a>).</li>
254
+ </ul>
255
+ <p>RETURN VALUE</p>
256
+ <ul>
257
+ <li>a VArray</li>
258
+ </ul></dd>
259
+ <dt><h4><a name="label-30" id="label-30"><code>aux_names</code></a></h4></dt><!-- RDLabel: "aux_names" -->
260
+ <dd>
261
+ <p>Returns a list of the names of auxiliary data</p>
262
+ <p>RETURN VALUE</p>
263
+ <ul>
264
+ <li>an Array of String</li>
265
+ </ul></dd>
266
+ <dt><h4><a name="label-31" id="label-31"><code>to_gphys(<var>datavary1d</var>=<var>nil</var>)</code></a></h4></dt><!-- RDLabel: "to_gphys" -->
267
+ <dd>
268
+ <p>To construct a GPhys object from an Axis.</p>
269
+ <p>ARGUMENTS</p>
270
+ <ul>
271
+ <li>datavary1d (nil or VArray) :
272
+ If nil, the position object of self becomes the main data object.
273
+ If a VArray, it is used as the main data object.</li>
274
+ </ul>
275
+ <p>RETURN VALUE</p>
276
+ <ul>
277
+ <li>a GPhys</li>
278
+ </ul></dd>
279
+ <dt><h4><a name="label-32" id="label-32"><code>[<var>slicer</var>]</code></a></h4></dt><!-- RDLabel: "[]" -->
280
+ <dd>
281
+ <p>Returns a subset. Its specification is the same as in NArray.</p>
282
+ <p>RETURN VALUE</p>
283
+ <ul>
284
+ <li>an Axis</li>
285
+ </ul></dd>
286
+ <dt><h4><a name="label-33" id="label-33"><code>cut(<var>coord_cutter</var>)</code></a></h4></dt><!-- RDLabel: "cut" -->
287
+ <dd>
288
+ <p>Similar to <a href="#label-32">[]</a>, but is based on the physical coordinate.</p>
289
+ <p>RETURN VALUE</p>
290
+ <ul>
291
+ <li>an Axis</li>
292
+ </ul></dd>
293
+ <dt><h4><a name="label-34" id="label-34"><code>cut_rank_conserving(<var>coord_cutter</var>)</code></a></h4></dt><!-- RDLabel: "cut_rank_conserving" -->
294
+ <dd>
295
+ <p>Similar to <a href="#label-33">cut</a>, but is always rank-conserving. That is,
296
+ a subset specification like [i] is treated as [i..i]</p>
297
+ <p>RETURN VALUE</p>
298
+ <ul>
299
+ <li>an Axis</li>
300
+ </ul></dd>
301
+ <dt><h4><a name="label-35" id="label-35"><code>integrate(<var>ary</var>,<var>dim</var>)</code></a></h4></dt><!-- RDLabel: "integrate" -->
302
+ <dd>
303
+ <p>Does integration along the axis</p>
304
+ <p>ARGUMENTS</p>
305
+ <ul>
306
+ <li>ary (NArray or NArray-like multi-dimensional data class)
307
+ the data, whose dim-th dimension must have the same length as the axis.</li>
308
+ <li>dim (Integer) : The dimension of ary, to which the operation is applied.</li>
309
+ </ul>
310
+ <p>RETURN VALUE</p>
311
+ <ul>
312
+ <li>an obejct with the same class as ary, or of a Numeric
313
+ class if ary is 1D.</li>
314
+ </ul></dd>
315
+ <dt><h4><a name="label-36" id="label-36"><code>integ_weight</code></a></h4></dt><!-- RDLabel: "integ_weight" -->
316
+ <dd>
317
+ Returns the integration weight (whose default is nil).</dd>
318
+ <dt><h4><a name="label-37" id="label-37"><code>integ_weight=(<var>wgt</var>)</code></a></h4></dt><!-- RDLabel: "integ_weight=" -->
319
+ <dd>
320
+ Sets the integration weight (whose default is nil).</dd>
321
+ <dt><h4><a name="label-38" id="label-38"><code>average(<var>ary</var>,<var>dim</var>)</code></a></h4></dt><!-- RDLabel: "average" -->
322
+ <dd>
323
+ <p>Similar to <a href="#label-35">integrate</a>, but does averaging</p>
324
+ <p>ARGUMENTS</p>
325
+ <ul>
326
+ <li>see <a href="#label-35">integrate</a></li>
327
+ </ul>
328
+ <p>RETURN VALUE</p>
329
+ <ul>
330
+ <li>see <a href="#label-35">integrate</a></li>
331
+ </ul></dd>
332
+ <dt><h4><a name="label-39" id="label-39"><code>average_weight</code></a></h4></dt><!-- RDLabel: "average_weight" -->
333
+ <dd>
334
+ Returns the integration weight (whose default is nil).</dd>
335
+ <dt><h4><a name="label-40" id="label-40"><code>average_weight=(<var>wgt</var>)</code></a></h4></dt><!-- RDLabel: "average_weight=" -->
336
+ <dd>
337
+ Sets the integration weight (whose default is nil).</dd>
338
+ <dt><h4><a name="label-41" id="label-41"><code>draw_positive</code></a></h4></dt><!-- RDLabel: "draw_positive" -->
339
+ <dd>
340
+ <p>Returns the direction to plot the axis, which relies on the
341
+ VArray#axis_draw_positive method.</p>
342
+ <p>RETURN VALUE</p>
343
+ <ul>
344
+ <li>one of the following:
345
+ <ul>
346
+ <li>true: axis should be drawn in the increasing order (to right/upward)</li>
347
+ <li>false: axis should be drawn in the decreasing order</li>
348
+ <li>nil: not specified</li>
349
+ </ul></li>
350
+ </ul></dd>
351
+ <dt><h4><a name="label-42" id="label-42"><code>cyclic?</code></a></h4></dt><!-- RDLabel: "cyclic?" -->
352
+ <dd>
353
+ <p>Returns whether the axis is cyclic.
354
+ (Relies on the VArray#axis_cyclic? method.)</p>
355
+ <p>RETURN VALUE</p>
356
+ <ul>
357
+ <li>one of the following:
358
+ <ul>
359
+ <li>true: cyclic</li>
360
+ <li>false: not cyclic</li>
361
+ <li>nil: not specified</li>
362
+ </ul></li>
363
+ </ul></dd>
364
+ <dt><h4><a name="label-43" id="label-43"><code>modulo</code></a></h4></dt><!-- RDLabel: "modulo" -->
365
+ <dd>
366
+ <p>Returns the modulo of a cyclic axis
367
+ (Relies on the VArray#axis_modulo method.)</p>
368
+ <p>RETURN VALUE</p>
369
+ <ul>
370
+ <li>one of the following:
371
+ <ul>
372
+ <li>Float if the modulo is defined</li>
373
+ <li>nil if modulo is not found</li>
374
+ </ul></li>
375
+ </ul></dd>
376
+ <dt><h4><a name="label-44" id="label-44"><code>cyclic_extendible?</code></a></h4></dt><!-- RDLabel: "cyclic_extendible?" -->
377
+ <dd>
378
+ <p>Returns whether the axis is cyclic and appropriate to extend.
379
+ (Relies on the VArray#axis_cyclic_extendible? method.)</p>
380
+ <p>RETURN VALUE</p>
381
+ <ul>
382
+ <li>true or false</li>
383
+ </ul></dd>
384
+ </dl>
385
+
386
+ </body>
387
+ </html>
@@ -0,0 +1,111 @@
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/coordmapping.rb</title>
8
+ </head>
9
+ <body>
10
+ <h1><a name="label-0" id="label-0">class CoordMapping</a></h1><!-- RDLabel: "class CoordMapping" -->
11
+ <h2><a name="label-1" id="label-1">Overview</a></h2><!-- RDLabel: "Overview" -->
12
+ <p>Mapping of a coordinate to another. It supports analytic and
13
+ grid-point-based mapping in subclasses. Here in this root
14
+ CoordMapping class only the invariant unity mapping (or no mapping)
15
+ is defined.</p>
16
+ <h2><a name="label-2" id="label-2">Class methods</a></h2><!-- RDLabel: "Class methods" -->
17
+ <dl>
18
+ <dt><h4><a name="label-3" id="label-3"><code>CoordMapping.new</code></a></h4></dt><!-- RDLabel: "CoordMapping.new" -->
19
+ <dd>
20
+ Constructor. One or more arguments can be needed in subclasses</dd>
21
+ </dl>
22
+ <h2><a name="label-4" id="label-4">Methods</a></h2><!-- RDLabel: "Methods" -->
23
+ <dl>
24
+ <dt><h4><a name="label-5" id="label-5"><code>map(<var>x</var>,<var>y</var>,<var>z</var>,...)</code></a></h4></dt><!-- RDLabel: "map" -->
25
+ <dd>
26
+ <p>Maps data point(s)</p>
27
+ <p>ARGUMENTS</p>
28
+ <ul>
29
+ <li>x,y,z,... (one or more Numeric or NArray) : data points.
30
+ Mapping is made of [x,y,z,..] (if Numeric) or
31
+ [x[0],y[0],z[0],..], [x[1],y[1],z[1],..], ..(if NArray).
32
+ Thus, the number of arguments must be equal to the rank of
33
+ the mapping. Also, their lengths must agree with each other.</li>
34
+ </ul>
35
+ <p>RETURN VALUE</p>
36
+ <ul>
37
+ <li>Array of p,q,r,... (Numeric or NArray) : mapping result</li>
38
+ </ul></dd>
39
+ <dt><h4><a name="label-6" id="label-6"><code>map_grid(<var>x</var>,<var>y</var>,<var>z</var>,...)</code></a></h4></dt><!-- RDLabel: "map_grid" -->
40
+ <dd>
41
+ <p>Same as <a href="#label-5">map</a> but for a regular grid.</p>
42
+ <p>ARGUMENTS</p>
43
+ <ul>
44
+ <li>x,y,z,... (one or more 1D NArray) : coordinate values of
45
+ a regular grid [x_i, y_j, z_k,..]. The shape of the grid is thus
46
+ [x.length, y.length, z.length,..]. This method needs no redefinition,
47
+ since it calls <a href="#label-5">map</a> inside.</li>
48
+ </ul></dd>
49
+ <dt><h4><a name="label-7" id="label-7"><code>inverse_map(<var>p</var>,<var>q</var>,<var>r</var>,...)</code></a></h4></dt><!-- RDLabel: "inverse_map" -->
50
+ <dd>
51
+ <p>Inversely maps data point(s).</p>
52
+ <p>ARGUMENTS</p>
53
+ <ul>
54
+ <li>p,q,r,... (one or more Numeric or NArray) : data points.
55
+ Inverse mapping is made of [p,q,r,..] (if Numeric) or
56
+ [p[0],q[0],r[0],..], [p[1],q[1],r[1],..], ..(if NArray).
57
+ Thus, the number of arguments must be equal to the rank of
58
+ the mapping. Also, if NArray, their lengths must agree with each other.</li>
59
+ </ul>
60
+ <p>RETURN VALUE</p>
61
+ <ul>
62
+ <li>Array of x,y,z,... (Numeric or NArray) : inverse mapping result</li>
63
+ </ul></dd>
64
+ <dt><h4><a name="label-8" id="label-8"><code>inverse</code></a></h4></dt><!-- RDLabel: "inverse" -->
65
+ <dd>
66
+ <p>Returns the inverse mapping.</p>
67
+ <p>RETURN VALUE</p>
68
+ <ul>
69
+ <li>a CoordMapping</li>
70
+ </ul></dd>
71
+ <dt><h4><a name="label-9" id="label-9"><code>inversion_rigorous?</code></a></h4></dt><!-- RDLabel: "inversion_rigorous?" -->
72
+ <dd>
73
+ <p>Whether the inversion is rigorous (analytical)</p>
74
+ <p>RETURN VALUE</p>
75
+ <ul>
76
+ <li>true or false</li>
77
+ </ul></dd>
78
+ </dl>
79
+ <h1><a name="label-10" id="label-10">class LinearCoordMapping &lt; CoordMapping</a></h1><!-- RDLabel: "class LinearCoordMapping < CoordMapping" -->
80
+ <h2><a name="label-11" id="label-11">Overview</a></h2><!-- RDLabel: "Overview" -->
81
+ <p>Linear coordinate mapping expressed as offset + factor*x,
82
+ where offset is a vector (NVect) and factor is a matrix (NMatrix).</p>
83
+ <p>Methods listed below are only those newly defined or those whose
84
+ arguments are changed.</p>
85
+ <h2><a name="label-12" id="label-12">Class methods</a></h2><!-- RDLabel: "Class methods" -->
86
+ <dl>
87
+ <dt><h4><a name="label-13" id="label-13"><code>LinearCoordMapping.new(<var>offset</var>=<var>nil</var>, <var>factor</var>=<var>nil</var>)</code></a></h4></dt><!-- RDLabel: "LinearCoordMapping.new" -->
88
+ <dd>
89
+ <p>Constructor. If one of offset and factor is not
90
+ specified (nil), a zero vector / a unit matrix is used (at least
91
+ one of them must be given).</p>
92
+ <p>ARGUMENTS</p>
93
+ <ul>
94
+ <li>offset (NVector or nil) : the offset. Its length represents the rank
95
+ of mapping. (if nil a zero vector is assumed)</li>
96
+ <li>factor (NMatrix or nil) : the factor. For consistency,
97
+ ( offset.length == factor.shape[0] == factor.shape[1] ) is required.</li>
98
+ </ul></dd>
99
+ </dl>
100
+ <h2><a name="label-14" id="label-14">Methods</a></h2><!-- RDLabel: "Methods" -->
101
+ <dl>
102
+ <dt><h4><a name="label-15" id="label-15"><code>offset</code></a></h4></dt><!-- RDLabel: "offset" -->
103
+ <dd>
104
+ Returns the internally stored offset.</dd>
105
+ <dt><h4><a name="label-16" id="label-16"><code>factor</code></a></h4></dt><!-- RDLabel: "factor" -->
106
+ <dd>
107
+ Returns the internally stored factor.</dd>
108
+ </dl>
109
+
110
+ </body>
111
+ </html>