Changeset 187
- Timestamp:
- 09/20/06 13:36:10 (18 years ago)
- Location:
- trunk/SRC/Documentation
- Files:
-
- 417 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SRC/Documentation/idldoc_assistant_output/Calendar/caldat.html
r177 r187 278 278 279 279 280 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:05 2006.</font></p>280 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 281 281 282 282 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Calendar/date2jul.html
r177 r187 165 165 166 166 167 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:05 2006.</font></p>167 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 168 168 169 169 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Calendar/date2string.html
r177 r187 166 166 167 167 168 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:05 2006.</font></p>168 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 169 169 170 170 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Calendar/daysinmonth.html
r177 r187 162 162 163 163 164 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:06 2006.</font></p>164 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 165 165 166 166 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Calendar/jul2date.html
r177 r187 141 141 142 142 143 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:06 2006.</font></p>143 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 144 144 145 145 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Calendar/julday.html
r177 r187 283 283 284 284 285 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:06 2006.</font></p>285 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 286 286 287 287 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Calendar/leapyr.html
r177 r187 157 157 158 158 159 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:06 2006.</font></p>159 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 160 160 161 161 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Calendar/monthname.html
r177 r187 160 160 161 161 162 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:06 2006.</font></p>162 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 163 163 164 164 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Colors/color24.html
r177 r187 150 150 151 151 152 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:06 2006.</font></p>152 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 153 153 154 154 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Colors/colorbar.html
r177 r187 479 479 480 480 481 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:07 2006.</font></p>481 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 482 482 483 483 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Colors/getcolor.html
r177 r187 375 375 376 376 377 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:07 2006.</font></p>377 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 378 378 379 379 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Colors/lct.html
r177 r187 210 210 211 211 212 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:07 2006.</font></p>212 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 213 213 214 214 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Colors/newpalette.html
r177 r187 190 190 191 191 192 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:07 2006.</font></p>192 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 193 193 194 194 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Colors/xlct.html
r177 r187 304 304 305 305 306 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:07 2006.</font></p>306 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 307 307 308 308 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Colors/xpal.html
r177 r187 301 301 302 302 303 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:07 2006.</font></p>303 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 304 304 305 305 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Commons/all_cm.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:08 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Commons/cm_4cal.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:08 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Commons/cm_4data.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:08 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Commons/cm_4mesh.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:08 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Commons/cm_4ps.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:08 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Commons/cm_demomode.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:08 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Commons/cm_general.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:08 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Computation/curl.html
r177 r187 204 204 205 205 206 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:08 2006.</font></p>206 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 207 207 208 208 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Computation/div.html
r177 r187 203 203 204 204 205 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:08 2006.</font></p>205 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 206 206 207 207 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Computation/grad.html
r177 r187 171 171 172 172 173 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:08 2006.</font></p>173 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 174 174 175 175 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Documentation/xmldoc/idlfiles/init_example.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:09 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ForOldVersion/keep_compatibility.html
r177 r187 142 142 143 143 144 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:09 2006.</font></p>144 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 145 145 146 146 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ForOldVersion/oldcm_empty.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:09 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ForOldVersion/oldcm_full.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:09 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ForOldVersion/updatekwd.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:09 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ForOldVersion/updatenew.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:09 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ForOldVersion/updateold.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:09 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Grid/changemsk.html
r177 r187 143 143 144 144 145 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:09 2006.</font></p>145 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 146 146 147 147 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Grid/computegrid.html
r177 r187 517 517 518 518 519 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:10 2006.</font></p>519 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 520 520 521 521 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Grid/micromeshmask.html
r177 r187 300 300 301 301 302 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:10 2006.</font></p>302 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 303 303 304 304 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Grid/n128gaussian.html
r177 r187 118 118 119 119 120 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:10 2006.</font></p>120 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 121 121 122 122 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Grid/n160gaussian.html
r177 r187 119 119 120 120 121 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:10 2006.</font></p>121 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 122 122 123 123 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Grid/n256gaussian.html
r177 r187 119 119 120 120 121 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:10 2006.</font></p>121 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 122 122 123 123 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Grid/n48gaussian.html
r177 r187 119 119 120 120 121 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:10 2006.</font></p>121 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 122 122 123 123 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Grid/n80gaussian.html
r177 r187 119 119 120 120 121 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:11 2006.</font></p>121 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 122 122 123 123 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Grid/ncdf_meshread.html
r177 r187 312 312 313 313 314 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:11 2006.</font></p>314 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 315 315 316 316 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Grid/ncdf_meshroms.html
r178 r187 318 318 319 319 320 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:11 2006.</font></p>320 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 321 321 322 322 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Grid/restoreboxparam.html
r177 r187 138 138 139 139 140 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:11 2006.</font></p>140 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 141 141 142 142 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Grid/romsdepth.html
r178 r187 121 121 122 122 123 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:11 2006.</font></p>123 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 124 124 125 125 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Grid/saveboxparam.html
r177 r187 138 138 139 139 140 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:11 2006.</font></p>140 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 141 141 142 142 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Grid/smallmeshmask.html
r177 r187 305 305 306 306 307 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:12 2006.</font></p>307 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 308 308 309 309 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Interpolation/angle.html
r177 r187 384 384 385 385 386 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:12 2006.</font></p>386 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 387 387 388 388 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Interpolation/clickincell.html
r177 r187 229 229 230 230 231 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:12 2006.</font></p>231 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 232 232 233 233 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Interpolation/compute_fromirr_bilinear_weigaddr.html
r177 r187 268 268 269 269 270 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:12 2006.</font></p>270 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 271 271 272 272 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Interpolation/compute_fromreg_bilinear_weigaddr.html
r177 r187 267 267 268 268 269 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:12 2006.</font></p>269 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 270 270 271 271 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Interpolation/compute_fromreg_imoms3_weigaddr.html
r177 r187 268 268 269 269 270 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:13 2006.</font></p>270 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 271 271 272 272 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Interpolation/cutpar.html
r177 r187 317 317 318 318 319 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:13 2006.</font></p>319 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 320 320 321 321 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Interpolation/cutsegment.html
r177 r187 251 251 252 252 253 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:13 2006.</font></p>253 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 254 254 255 255 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Interpolation/extrapolate.html
r177 r187 213 213 214 214 215 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:13 2006.</font></p>215 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 216 216 217 217 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Interpolation/fromirr.html
r177 r187 315 315 316 316 317 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:13 2006.</font></p>317 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 318 318 319 319 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Interpolation/fromreg.html
r177 r187 315 315 316 316 317 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:14 2006.</font></p>317 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 318 318 319 319 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Interpolation/get_gridparams.html
r177 r187 307 307 308 308 309 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:14 2006.</font></p>309 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 310 310 311 311 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Interpolation/imoms3.html
r177 r187 129 129 130 130 131 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:14 2006.</font></p>131 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 132 132 133 133 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Interpolation/inquad.html
r177 r187 392 392 393 393 394 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:14 2006.</font></p>394 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 395 395 396 396 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Interpolation/inrecgrid.html
r177 r187 243 243 244 244 245 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:14 2006.</font></p>245 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 246 246 247 247 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Interpolation/ll_narcs_distances.html
r177 r187 242 242 243 243 244 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:14 2006.</font></p>244 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 245 245 246 246 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Interpolation/map_npoints.html
r177 r187 328 328 329 329 330 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:15 2006.</font></p>330 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 331 331 332 332 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Interpolation/neighbor.html
r177 r187 245 245 246 246 247 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:15 2006.</font></p>247 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 248 248 249 249 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Interpolation/quadrilateral2square.html
r177 r187 332 332 333 333 334 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:15 2006.</font></p>334 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 335 335 336 336 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Interpolation/spl_fstdrv.html
r177 r187 63 63 64 64 SPL_FSTDRV returns the values of the first derivative of 65 the interpolating function at the points X2i. it is a double65 the interpolating function at the points X2i. It is a double 66 66 precision array. 67 67 … … 86 86 87 87 <h3>Return value</h3> 88 89 88 y2: f'(x2) = y2. 90 89 … … 173 172 <h3>Version history</h3> 174 173 175 <h4>Version</h4> $Id: spl_fstdrv.pro 1 34 2006-07-07 10:19:08Z navarro$174 <h4>Version</h4> $Id: spl_fstdrv.pro 186 2006-09-20 10:50:37Z pinsard $ 176 175 177 176 <h4>History</h4> … … 200 199 201 200 202 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:15 2006.</font></p>201 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 203 202 204 203 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Interpolation/spl_incr.html
r177 r187 532 532 533 533 534 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:16 2006.</font></p>534 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 535 535 536 536 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Interpolation/spl_keep_mean.html
r177 r187 261 261 262 262 263 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:16 2006.</font></p>263 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 264 264 265 265 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Interpolation/square2quadrilateral.html
r177 r187 308 308 309 309 310 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:16 2006.</font></p>310 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 311 311 312 312 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Matrix/cmapply.html
r177 r187 582 582 583 583 584 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:16 2006.</font></p>584 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 585 585 586 586 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Matrix/cmset_op.html
r177 r187 414 414 415 415 416 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:17 2006.</font></p>416 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 417 417 418 418 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Matrix/different.html
r177 r187 164 164 165 165 166 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:17 2006.</font></p>166 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 167 167 168 168 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Matrix/extrac2.html
r177 r187 249 249 250 250 251 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:17 2006.</font></p>251 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 252 252 253 253 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Matrix/inter.html
r177 r187 162 162 163 163 164 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:17 2006.</font></p>164 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 165 165 166 166 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Matrix/make_selection.html
r177 r187 238 238 239 239 240 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:17 2006.</font></p>240 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 241 241 242 242 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Matrix/union.html
r177 r187 162 162 163 163 164 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:17 2006.</font></p>164 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 165 165 166 166 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Matrix/zero_one.html
r177 r187 149 149 150 150 151 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:17 2006.</font></p>151 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 152 152 153 153 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Obsolete/common.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:18 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Obsolete/congridseb.html
r177 r187 191 191 192 192 193 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:18 2006.</font></p>193 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 194 194 195 195 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Obsolete/cp.html
r177 r187 168 168 169 169 170 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:18 2006.</font></p>170 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 171 171 172 172 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Obsolete/extrait.html
r177 r187 253 253 254 254 255 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:18 2006.</font></p>255 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 256 256 257 257 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Obsolete/ficdate.html
r177 r187 169 169 170 170 171 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:18 2006.</font></p>171 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 172 172 173 173 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Obsolete/fictype.html
r177 r187 151 151 152 152 153 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:18 2006.</font></p>153 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 154 154 155 155 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Obsolete/imprime.html
r177 r187 167 167 168 168 169 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:18 2006.</font></p>169 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 170 170 171 171 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Obsolete/jourdsmois.html
r177 r187 148 148 149 149 150 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:18 2006.</font></p>150 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 151 151 152 152 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Obsolete/juldate.html
r177 r187 166 166 167 167 168 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:19 2006.</font></p>168 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 169 169 170 170 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Obsolete/lec.html
r177 r187 334 334 335 335 336 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:19 2006.</font></p>336 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 337 337 338 338 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Obsolete/lect.html
r177 r187 267 267 268 268 269 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:19 2006.</font></p>269 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 270 270 271 271 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Obsolete/meshlec.html
r177 r187 211 211 212 212 213 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:19 2006.</font></p>213 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 214 214 215 215 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Obsolete/ncdf_meshlec.html
r177 r187 151 151 152 152 153 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:19 2006.</font></p>153 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 154 154 155 155 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Obsolete/nlec.html
r177 r187 319 319 320 320 321 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:19 2006.</font></p>321 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 322 322 323 323 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Obsolete/nlec5j.html
r177 r187 242 242 243 243 244 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:20 2006.</font></p>244 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 245 245 246 246 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Obsolete/nlecan.html
r177 r187 238 238 239 239 240 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:20 2006.</font></p>240 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 241 241 242 242 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Obsolete/nlecmois.html
r177 r187 229 229 230 230 231 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:20 2006.</font></p>231 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 232 232 233 233 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Obsolete/nlecsaison.html
r177 r187 240 240 241 241 242 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:20 2006.</font></p>242 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 243 243 244 244 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Obsolete/nlecserie.html
r177 r187 238 238 239 239 240 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:20 2006.</font></p>240 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 241 241 242 242 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Obsolete/vairdate.html
r177 r187 200 200 201 201 202 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:21 2006.</font></p>202 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 203 203 204 204 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Obsolete/vraidate.html
r177 r187 174 174 175 175 176 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:21 2006.</font></p>176 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 177 177 178 178 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Obsolete/zeroun.html
r177 r187 152 152 153 153 154 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:21 2006.</font></p>154 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 155 155 156 156 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Picture/image_viewer.html
r177 r187 674 674 675 675 676 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:21 2006.</font></p>676 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 677 677 678 678 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Picture/imdisp.html
r177 r187 661 661 662 662 663 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:22 2006.</font></p>663 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 664 664 665 665 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Picture/saveimage.html
r177 r187 342 342 343 343 344 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:22 2006.</font></p>344 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 345 345 346 346 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Picture/showimage.html
r177 r187 71 71 JPEG 24-bit true color, 72 72 73 74 73 Any conversions necessary to translate 8-bit or 24-bit files 74 to 8-bit or 24-bit images on-screen are done automatically. 75 75 76 76 … … 152 152 153 153 154 <h3>Examples</h3> $154 <h3>Examples</h3> 155 155 IDL> showimage, filepath('rose.jpg', subdir='examples/data') 156 156 157 157 <h3>Version history</h3> 158 158 159 <h4>Version</h4> $Id: showimage.pro 1 63 2006-08-29 12:59:46Z navarro$159 <h4>Version</h4> $Id: showimage.pro 186 2006-09-20 10:50:37Z pinsard $ 160 160 161 161 <h4>History</h4> Liam.Gumley@ssec.wisc.edu … … 203 203 204 204 205 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:22 2006.</font></p>205 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 206 206 207 207 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Postscript/closeps.html
r177 r187 140 140 141 141 142 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:22 2006.</font></p>142 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 143 143 144 144 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Postscript/openps.html
r177 r187 119 119 120 120 121 to define the name of the postscript file through 122 a keyword rather than with nameps input argument 123 (in this case the keyword can be pass through 121 to define the name of the postscript file through a keyword rather than with 122 nameps input argument (in this case the keyword can be pass through 124 123 different routines via _EXTRA keyword). 125 124 … … 138 137 139 138 140 If INFOWIDGET is present, it specifies a named 141 variable into which the id of the widget giving informations 142 about the postscript creation is stored as a long integer. 143 This id is needed by close ps to kill the information widget. 139 If INFOWIDGET is present, it specifies a named variable into which the id of 140 the widget giving information about the postscript creation is stored as a 141 long integer. 142 This id is needed by <a href="./closeps.html">closeps</a> to kill 143 the information widget. 144 144 145 145 … … 246 246 <h3>Version history</h3> 247 247 248 <h4>Version</h4> $Id: openps.pro 1 67 2006-09-05 12:24:07Z smasson$248 <h4>Version</h4> $Id: openps.pro 186 2006-09-20 10:50:37Z pinsard $ 249 249 250 250 <h4>History</h4> Sebastien Masson (smasson@lodyc.jussieu.fr) … … 277 277 278 278 279 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:23 2006.</font></p>279 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 280 280 281 281 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Postscript/printps.html
r177 r187 249 249 250 250 251 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:23 2006.</font></p>251 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 252 252 253 253 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ReadWrite/idl-NetCDF/ncdf_listdims.html
r177 r187 139 139 140 140 141 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:23 2006.</font></p>141 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 142 142 143 143 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ReadWrite/idl-NetCDF/ncdf_listvars.html
r177 r187 141 141 142 142 143 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:23 2006.</font></p>143 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 144 144 145 145 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ReadWrite/idl-NetCDF/ncdf_quickread/ncdf_quickread.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:23 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ReadWrite/idl-NetCDF/ncdf_quickread/ncdf_quickread_helper.html
r177 r187 473 473 474 474 475 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:24 2006.</font></p>475 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 476 476 477 477 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ReadWrite/idl-NetCDF/ncdf_quickwrite/ncdf_quickwrite.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:24 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ReadWrite/idl-NetCDF/ncdf_quickwrite/ncdf_quickwrite_helper1.html
r177 r187 175 175 176 176 177 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:24 2006.</font></p>177 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 178 178 179 179 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ReadWrite/idl-NetCDF/ncdf_quickwrite/ncdf_quickwrite_helper2.html
r177 r187 359 359 360 360 361 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:24 2006.</font></p>361 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 362 362 363 363 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ReadWrite/idl-NetCDF/ncdf_quickwrite/ncdf_quickwrite_helper3.html
r177 r187 142 142 143 143 144 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:24 2006.</font></p>144 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 145 145 146 146 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ReadWrite/idl-NetCDF/ncdf_quickwrite/ncdf_quickwrite_verbose.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:25 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ReadWrite/idl-NetCDF/ncdf_read.html
r177 r187 244 244 245 245 246 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:23 2006.</font></p>246 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 247 247 248 248 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ReadWrite/idl-NetCDF/ncdf_struct.html
r177 r187 177 177 178 178 179 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:23 2006.</font></p>179 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 180 180 181 181 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ReadWrite/idl-NetCDF/ncdf_struct_free.html
r177 r187 142 142 143 143 144 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:23 2006.</font></p>144 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 145 145 146 146 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ReadWrite/ncdf_timeget.html
r177 r187 198 198 199 199 200 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:25 2006.</font></p>200 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 201 201 202 202 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ReadWrite/read_grads.html
r177 r187 258 258 259 259 260 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:25 2006.</font></p>260 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 261 261 262 262 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ReadWrite/read_oasis.html
r177 r187 250 250 251 251 252 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:25 2006.</font></p>252 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 253 253 254 254 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ReadWrite/readbat.html
r177 r187 155 155 156 156 157 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:25 2006.</font></p>157 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 158 158 159 159 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ReadWrite/readoldopadistcoast.html
r177 r187 356 356 357 357 358 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:25 2006.</font></p>358 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 359 359 360 360 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ReadWrite/readoldoparestart.html
r177 r187 773 773 774 774 775 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:26 2006.</font></p>775 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 776 776 777 777 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ReadWrite/scanctl.html
r177 r187 328 328 329 329 330 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:26 2006.</font></p>330 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 331 331 332 332 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ReadWrite/scanoasis.html
r177 r187 135 135 136 136 137 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:27 2006.</font></p>137 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 138 138 139 139 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ReadWrite/write_oasis.html
r177 r187 247 247 248 248 249 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:27 2006.</font></p>249 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 250 250 251 251 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ReadWrite/writebat.html
r177 r187 152 152 153 153 154 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:27 2006.</font></p>154 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 155 155 156 156 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/TestsOld/tst_basic_old.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:27 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/TestsOld/tst_initlev_index_old.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:27 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/TestsOld/tst_initlev_index_stride_old.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:27 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/TestsOld/tst_initlev_old.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:27 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/TestsOld/tst_initlev_stride_old.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:27 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/TestsOld/tst_initorca05_index_old.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:27 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/TestsOld/tst_initorca05_index_stride_old.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:28 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/TestsOld/tst_initorca05_old.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:28 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/TestsOld/tst_initorca05_short_old.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:28 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/TestsOld/tst_initorca05_short_stride_old.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:28 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/TestsOld/tst_initorca05_stride_old.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:28 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/TestsOld/tst_initorca2_index_old.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:28 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/TestsOld/tst_initorca2_index_stride_old.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:28 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/TestsOld/tst_initorca2_old.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:28 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/TestsOld/tst_initorca2_short_old.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:28 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/TestsOld/tst_initorca2_short_stride_old.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:29 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/TestsOld/tst_initorca2_stride_old.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:29 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/TestsOld/tst_plt_old.html
r177 r187 140 140 141 141 142 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:29 2006.</font></p>142 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 143 143 144 144 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/TestsOld/tst_pltt_old.html
r177 r187 140 140 141 141 142 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:29 2006.</font></p>142 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 143 143 144 144 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/TestsOld/tst_pltz_old.html
r177 r187 140 140 141 141 142 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:29 2006.</font></p>142 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 143 143 144 144 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/tst_basic.html
r177 r187 112 112 113 113 114 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:29 2006.</font></p>114 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 115 115 116 116 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/tst_initlev.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:29 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/tst_initlev_index.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:29 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/tst_initlev_index_stride.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:29 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/tst_initlev_stride.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:29 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/tst_initorca05.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:30 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/tst_initorca05_index.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:30 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/tst_initorca05_index_stride.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:30 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/tst_initorca05_short.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:30 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/tst_initorca05_short_stride.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:30 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/tst_initorca05_stride.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:30 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/tst_initorca2.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:30 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/tst_initorca2_index.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:30 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/tst_initorca2_index_stride.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:30 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/tst_initorca2_short.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:30 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/tst_initorca2_short_stride.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:31 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/tst_initorca2_stride.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:31 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/tst_plt.html
r177 r187 133 133 134 134 135 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:31 2006.</font></p>135 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 136 136 137 137 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/tst_pltt.html
r177 r187 133 133 134 134 135 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:31 2006.</font></p>135 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 136 136 137 137 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Tests/tst_pltz.html
r177 r187 133 133 134 134 135 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:31 2006.</font></p>135 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 136 136 137 137 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Textoidl/matchdelim.html
r177 r187 225 225 226 226 227 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:31 2006.</font></p>227 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 228 228 229 229 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Textoidl/nexttok.html
r177 r187 221 221 222 222 223 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:31 2006.</font></p>223 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 224 224 225 225 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Textoidl/showtex.html
r177 r187 184 184 185 185 186 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:31 2006.</font></p>186 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 187 187 188 188 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Textoidl/str_token.html
r177 r187 230 230 231 231 232 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:31 2006.</font></p>232 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 233 233 234 234 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Textoidl/strcnt.html
r177 r187 209 209 210 210 211 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:32 2006.</font></p>211 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 212 212 213 213 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Textoidl/strtrans.html
r177 r187 257 257 258 258 259 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:32 2006.</font></p>259 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 260 260 261 261 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Textoidl/sub_sup_idl.html
r177 r187 174 174 175 175 176 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:32 2006.</font></p>176 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 177 177 178 178 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Textoidl/textable.html
r177 r187 203 203 204 204 205 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:32 2006.</font></p>205 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 206 206 207 207 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Textoidl/textoidl.html
r177 r187 228 228 229 229 230 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:32 2006.</font></p>230 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 231 231 232 232 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Textoidl/translate_sub_super.html
r177 r187 359 359 360 360 361 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:32 2006.</font></p>361 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 362 362 363 363 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/CALCULS/depth2floatlevel.html
r177 r187 169 169 170 170 171 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:32 2006.</font></p>171 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 172 172 173 173 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/CALCULS/depth2level.html
r177 r187 227 227 228 228 229 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:33 2006.</font></p>229 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 230 230 231 231 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/CALCULS/depth2mask.html
r177 r187 162 162 163 163 164 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:33 2006.</font></p>164 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 165 165 166 166 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/CALCULS/determ2.html
r177 r187 200 200 201 201 202 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:33 2006.</font></p>202 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 203 203 204 204 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/CALCULS/determ3.html
r177 r187 294 294 295 295 296 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:33 2006.</font></p>296 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 297 297 298 298 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/CALCULS/floatlevel2depth.html
r177 r187 166 166 167 167 168 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:33 2006.</font></p>168 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 169 169 170 170 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/CALCULS/fsfzpt.html
r177 r187 173 173 174 174 175 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:33 2006.</font></p>175 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 176 176 177 177 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/CALCULS/grossemoyenne.html
r177 r187 314 314 315 315 316 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:33 2006.</font></p>316 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 317 317 318 318 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/CALCULS/hdyn.html
r177 r187 275 275 276 276 277 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:34 2006.</font></p>277 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 278 278 279 279 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/CALCULS/level2depth.html
r177 r187 162 162 163 163 164 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:34 2006.</font></p>164 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 165 165 166 166 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/CALCULS/level2index.html
r177 r187 143 143 144 144 145 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:34 2006.</font></p>145 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 146 146 147 147 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/CALCULS/level2mask.html
r177 r187 146 146 147 147 148 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:34 2006.</font></p>148 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 149 149 150 150 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/CALCULS/moyenne.html
r177 r187 276 276 277 277 278 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:34 2006.</font></p>278 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 279 279 280 280 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/CALCULS/norme.html
r177 r187 237 237 238 238 239 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:34 2006.</font></p>239 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 240 240 241 241 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/CALCULS/projectondepth.html
r177 r187 172 172 173 173 174 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:34 2006.</font></p>174 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 175 175 176 176 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/CALCULS/remplit.html
r177 r187 291 291 292 292 293 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:35 2006.</font></p>293 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 294 294 295 295 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/CALCULS/rhon.html
r177 r187 205 205 206 206 207 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:35 2006.</font></p>207 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 208 208 209 209 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/CALENDRIER/def_month.html
r177 r187 160 160 161 161 162 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:35 2006.</font></p>162 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 163 163 164 164 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/COULEURS/palit.html
r177 r187 176 176 177 177 178 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:35 2006.</font></p>178 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 179 179 180 180 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/GRILLE/changegrid.html
r177 r187 145 145 146 146 147 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:35 2006.</font></p>147 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 148 148 149 149 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/GRILLE/cmpgrid.html
r177 r187 145 145 146 146 147 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:35 2006.</font></p>147 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 148 148 149 149 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/GRILLE/decoupeterre.html
r177 r187 352 352 353 353 354 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:35 2006.</font></p>354 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 355 355 356 356 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/GRILLE/domdef.html
r177 r187 409 409 410 410 411 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:36 2006.</font></p>411 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 412 412 413 413 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/GRILLE/f2v.html
r177 r187 151 151 152 152 153 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:36 2006.</font></p>153 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 154 154 155 155 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/GRILLE/fmask.html
r177 r187 122 122 123 123 124 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:36 2006.</font></p>124 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 125 125 126 126 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/GRILLE/grille.html
r177 r187 527 527 528 528 529 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:36 2006.</font></p>529 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 530 530 531 531 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/GRILLE/t2v.html
r177 r187 150 150 151 151 152 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:36 2006.</font></p>152 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 153 153 154 154 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/GRILLE/tracegrille.html
r177 r187 268 268 269 269 270 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:37 2006.</font></p>270 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 271 271 272 272 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/GRILLE/u2t.html
r177 r187 151 151 152 152 153 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:37 2006.</font></p>153 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 154 154 155 155 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/GRILLE/umask.html
r177 r187 126 126 127 127 128 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:37 2006.</font></p>128 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 129 129 130 130 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/GRILLE/v2t.html
r177 r187 152 152 153 153 154 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:37 2006.</font></p>154 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 155 155 156 156 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/GRILLE/vmask.html
r177 r187 123 123 124 124 125 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:37 2006.</font></p>125 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 126 126 127 127 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/HOPE/completetype.html
r177 r187 144 144 145 145 146 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:37 2006.</font></p>146 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 147 147 148 148 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/HOPE/computehopegrid.html
r177 r187 265 265 266 266 267 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:37 2006.</font></p>267 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 268 268 269 269 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/HOPE/createhopestruct.html
r177 r187 144 144 145 145 146 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:37 2006.</font></p>146 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 147 147 148 148 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/HOPE/cw_selectinterval.html
r177 r187 325 325 326 326 327 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:38 2006.</font></p>327 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 328 328 329 329 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/HOPE/domainpart.html
r177 r187 198 198 199 199 200 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:38 2006.</font></p>200 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 201 201 202 202 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/HOPE/findlineandpointtype.html
r177 r187 195 195 196 196 197 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:38 2006.</font></p>197 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 198 198 199 199 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/HOPE/read_hope.html
r177 r187 451 451 452 452 453 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:38 2006.</font></p>453 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 454 454 455 455 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/HOPE/rh_alldomains.html
r177 r187 161 161 162 162 163 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:38 2006.</font></p>163 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 164 164 165 165 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/HOPE/sortdim.html
r177 r187 164 164 165 165 166 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:39 2006.</font></p>166 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 167 167 168 168 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/HOPE/xrh.html
r177 r187 144 144 145 145 146 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:39 2006.</font></p>146 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 147 147 148 148 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/IMAGE/animgif.html
r177 r187 152 152 153 153 154 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:39 2006.</font></p>154 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 155 155 156 156 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/INIT/initncdf.html
r177 r187 345 345 346 346 347 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:39 2006.</font></p>347 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 348 348 349 349 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/INIT/initncdfxxx.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:39 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/INIT/initorca05.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:39 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/INIT/initorca2.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:39 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/INIT/initorca2full.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:39 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/LECTURE/GRIB/bit2int.html
r177 r187 165 165 166 166 167 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:40 2006.</font></p>167 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 168 168 169 169 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/LECTURE/GRIB/read_grib.html
r177 r187 194 194 195 195 196 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:40 2006.</font></p>196 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 197 197 198 198 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/LECTURE/GRIB/read_grib_bds.html
r177 r187 191 191 192 192 193 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:40 2006.</font></p>193 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 194 194 195 195 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/LECTURE/GRIB/read_grib_end.html
r177 r187 157 157 158 158 159 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:40 2006.</font></p>159 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 160 160 161 161 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/LECTURE/GRIB/read_grib_gds.html
r177 r187 157 157 158 158 159 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:40 2006.</font></p>159 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 160 160 161 161 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/LECTURE/GRIB/read_grib_is.html
r177 r187 157 157 158 158 159 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:40 2006.</font></p>159 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 160 160 161 161 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/LECTURE/GRIB/read_grib_pds.html
r177 r187 157 157 158 158 159 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:40 2006.</font></p>159 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 160 160 161 161 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/LECTURE/GRIB/read_gribtable.html
r177 r187 211 211 212 212 213 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:40 2006.</font></p>213 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 214 214 215 215 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/LECTURE/GRIB/scan_grib_code.html
r177 r187 157 157 158 158 159 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:40 2006.</font></p>159 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 160 160 161 161 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/LECTURE/GRIB/scan_grib_date.html
r177 r187 157 157 158 158 159 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:41 2006.</font></p>159 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 160 160 161 161 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/LECTURE/GRIB/scan_grib_messize.html
r177 r187 157 157 158 158 159 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:41 2006.</font></p>159 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 160 160 161 161 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/LECTURE/GRIB/scan_grib_nbits.html
r177 r187 157 157 158 158 159 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:41 2006.</font></p>159 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 160 160 161 161 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/LECTURE/GRIB/scan_grib_recstart.html
r177 r187 140 140 141 141 142 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:41 2006.</font></p>142 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 143 143 144 144 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/LECTURE/binary.html
r177 r187 161 161 162 162 163 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:41 2006.</font></p>163 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 164 164 165 165 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/LECTURE/changeread.html
r177 r187 144 144 145 145 146 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:41 2006.</font></p>146 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 147 147 148 148 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/LECTURE/inverse_binary.html
r177 r187 175 175 176 176 177 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:41 2006.</font></p>177 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 178 178 179 179 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/LECTURE/litchamp.html
r177 r187 309 309 310 310 311 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:41 2006.</font></p>311 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 312 312 313 313 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/LECTURE/ncdf_lec.html
r177 r187 230 230 231 231 232 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:42 2006.</font></p>232 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 233 233 234 234 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/LECTURE/read_ftp.html
r177 r187 579 579 580 580 581 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:42 2006.</font></p>581 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 582 582 583 583 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/LECTURE/read_ncdf.html
r177 r187 437 437 438 438 <h4>Version</h4> 439 $Id: read_ncdf.pro 1 74 2006-09-12 07:07:57Z smasson $439 $Id: read_ncdf.pro 181 2006-09-15 08:24:36Z smasson $ 440 440 <h4>History</h4> 441 441 Sebastien Masson (smasson@lodyc.jussieu.fr) … … 468 468 469 469 470 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:42 2006.</font></p>470 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 471 471 472 472 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/LECTURE/read_ncdf_varget.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:43 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/LECTURE/xncdf_lec.html
r177 r187 520 520 521 521 522 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:43 2006.</font></p>522 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 523 523 524 524 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/MATRICE/colle.html
r177 r187 485 485 486 486 487 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:43 2006.</font></p>487 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 488 488 489 489 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/DESSINE/bar_plot.html
r177 r187 447 447 448 448 449 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:44 2006.</font></p>449 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 450 450 451 451 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/DESSINE/plt.html
r177 r187 707 707 708 708 709 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:44 2006.</font></p>709 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 710 710 711 711 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/DESSINE/plt1d.html
r177 r187 492 492 493 493 494 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:45 2006.</font></p>494 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 495 495 496 496 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/DESSINE/pltbase.html
r177 r187 844 844 845 845 846 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:46 2006.</font></p>846 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 847 847 848 848 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/DESSINE/pltsc.html
r177 r187 336 336 337 337 338 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:46 2006.</font></p>338 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 339 339 340 340 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/DESSINE/pltt.html
r177 r187 779 779 780 780 781 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:47 2006.</font></p>781 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 782 782 783 783 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/DESSINE/pltv.html
r177 r187 320 320 321 321 <h4>Version</h4> 322 $Id: pltv.pro 1 63 2006-08-29 12:59:46Z navarro$322 $Id: pltv.pro 181 2006-09-15 08:24:36Z smasson $ 323 323 324 324 <h4>History</h4> … … 347 347 348 348 349 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:47 2006.</font></p>349 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 350 350 351 351 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/DESSINE/pltz.html
r177 r187 718 718 719 719 720 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:48 2006.</font></p>720 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 721 721 722 722 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/DESSINE/sbar_plot.html
r177 r187 203 203 204 204 205 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:48 2006.</font></p>205 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 206 206 207 207 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/DESSINE/scontour.html
r177 r187 207 207 208 208 209 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:48 2006.</font></p>209 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 210 210 211 211 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/DESSINE/splot.html
r177 r187 197 197 198 198 199 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:48 2006.</font></p>199 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 200 200 201 201 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/DESSINE/tvplus.html
r177 r187 377 377 378 378 379 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:48 2006.</font></p>379 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 380 380 381 381 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/DIVERS/addaxe.html
r177 r187 192 192 193 193 194 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:48 2006.</font></p>194 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 195 195 196 196 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/DIVERS/autoscale.html
r177 r187 174 174 175 175 176 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:49 2006.</font></p>176 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 177 177 178 178 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/DIVERS/axis4pltz.html
r177 r187 332 332 333 333 334 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:49 2006.</font></p>334 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 335 335 336 336 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/DIVERS/barrecouleur.html
r177 r187 353 353 354 354 355 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:49 2006.</font></p>355 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 356 356 357 357 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/DIVERS/checkfield.html
r177 r187 703 703 704 704 705 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:50 2006.</font></p>705 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 706 706 707 707 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/DIVERS/checktypeminmax.html
r177 r187 419 419 420 420 421 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:50 2006.</font></p>421 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 422 422 423 423 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/DIVERS/determineminmax.html
r177 r187 322 322 323 323 324 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:50 2006.</font></p>324 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 325 325 326 326 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/DIVERS/givewindowsize.html
r177 r187 123 123 124 124 125 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:51 2006.</font></p>125 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 126 126 127 127 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/DIVERS/meridienparallele.html
r177 r187 139 139 140 140 141 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:51 2006.</font></p>141 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 142 142 143 143 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/DIVERS/placecolor.html
r177 r187 165 165 166 166 167 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:51 2006.</font></p>167 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 168 168 169 169 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/DIVERS/placedessin.html
r177 r187 555 555 556 556 557 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:51 2006.</font></p>557 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 558 558 559 559 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/DIVERS/projsegment.html
r177 r187 190 190 191 191 192 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:51 2006.</font></p>192 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 193 193 194 194 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/DIVERS/restoreatt.html
r177 r187 144 144 145 145 146 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:51 2006.</font></p>146 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 147 147 148 148 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/DIVERS/rotation.html
r177 r187 202 202 203 203 204 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:52 2006.</font></p>204 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 205 205 206 206 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/DIVERS/saveatt.html
r177 r187 122 122 123 123 124 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:52 2006.</font></p>124 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 125 125 126 126 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/DIVERS/terminedessin.html
r177 r187 183 183 184 184 185 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:52 2006.</font></p>185 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 186 186 187 187 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/LABEL/label.html
r177 r187 276 276 277 277 278 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:52 2006.</font></p>278 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 279 279 280 280 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/LABEL/label_date.html
r177 r187 284 284 285 285 286 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:52 2006.</font></p>286 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 287 287 288 288 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/LABEL/label_gmt.html
r177 r187 240 240 241 241 242 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:52 2006.</font></p>242 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 243 243 244 244 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/LABEL/lataxe.html
r177 r187 174 174 175 175 176 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:53 2006.</font></p>176 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 177 177 178 178 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/LABEL/lonaxe.html
r177 r187 174 174 175 175 176 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:53 2006.</font></p>176 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 177 177 178 178 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/VECTEUR/ajoutvect.html
r177 r187 228 228 229 229 230 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:53 2006.</font></p>230 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 231 231 232 232 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/VECTEUR/vecteur.html
r177 r187 566 566 567 567 568 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:53 2006.</font></p>568 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 569 569 570 570 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/VECTEUR/velovect.html
r177 r187 361 361 362 362 363 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:54 2006.</font></p>363 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 364 364 365 365 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/axe.html
r177 r187 281 281 282 282 283 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:54 2006.</font></p>283 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 284 284 285 285 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/legende.html
r177 r187 315 315 316 316 317 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:54 2006.</font></p>317 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 318 318 319 319 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/plotsym.html
r177 r187 254 254 255 255 256 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:54 2006.</font></p>256 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 257 257 258 258 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/reinitplt.html
r177 r187 226 226 227 227 228 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:54 2006.</font></p>228 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 229 229 230 230 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/style.html
r177 r187 195 195 196 196 197 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:55 2006.</font></p>197 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 198 198 199 199 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/PLOTS/symbols.html
r177 r187 192 192 193 193 194 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:55 2006.</font></p>194 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 195 195 196 196 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/POSTSCRIPT/calibre.html
r177 r187 334 334 335 335 336 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:55 2006.</font></p>336 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 337 337 338 338 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/POSTSCRIPT/chcolps.html
r177 r187 367 367 368 368 369 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:55 2006.</font></p>369 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 370 370 371 371 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/POSTSCRIPT/ps.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:55 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/STATISTICS/a_correlate2d.html
r177 r187 331 331 332 332 333 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:56 2006.</font></p>333 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 334 334 335 335 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/STATISTICS/a_timecorrelate.html
r177 r187 369 369 370 370 371 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:56 2006.</font></p>371 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 372 372 373 373 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/STATISTICS/c_timecorrelate.html
r177 r187 422 422 423 423 424 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:56 2006.</font></p>424 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 425 425 426 426 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/STRING/chkeywd.html
r177 r187 250 250 251 251 252 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:56 2006.</font></p>252 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 253 253 254 254 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/STRING/delchr.html
r177 r187 182 182 183 183 184 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:56 2006.</font></p>184 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 185 185 186 186 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/STRING/getfile.html
r177 r187 238 238 239 239 240 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:57 2006.</font></p>240 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 241 241 242 242 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/STRING/getwrd.html
r177 r187 296 296 297 297 298 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:57 2006.</font></p>298 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 299 299 300 300 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/STRING/isnumber.html
r177 r187 188 188 189 189 190 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:57 2006.</font></p>190 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 191 191 192 192 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/STRING/lenstr.html
r177 r187 153 153 154 154 155 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:57 2006.</font></p>155 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 156 156 157 157 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/STRING/nwrds.html
r177 r187 182 182 183 183 184 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:57 2006.</font></p>184 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 185 185 186 186 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/STRING/putfile.html
r177 r187 193 193 194 194 195 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:57 2006.</font></p>195 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 196 196 197 197 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/STRING/str_size.html
r177 r187 212 212 213 213 214 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:57 2006.</font></p>214 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 215 215 216 216 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/STRING/string2struct.html
r177 r187 253 253 254 254 255 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:58 2006.</font></p>255 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 256 256 257 257 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/STRING/strkeywd.html
r177 r187 169 169 170 170 171 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:58 2006.</font></p>171 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 172 172 173 173 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/STRING/strrepl.html
r177 r187 195 195 196 196 197 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:58 2006.</font></p>197 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 198 198 199 199 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/STRING/strright.html
r177 r187 159 159 160 160 161 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:58 2006.</font></p>161 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 162 162 163 163 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/STRING/strsci.html
r177 r187 268 268 269 269 270 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:58 2006.</font></p>270 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 271 271 272 272 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/STRING/strtok.html
r177 r187 101 101 102 102 103 String to be split. Contains text after in, out 104 token on output. 103 String to be split. Contains text after in, out token on output. 105 104 106 105 … … 141 140 142 141 143 set to remove leading blanks from old 144 before returning. 142 set to remove leading blanks from old before returning. 145 143 146 144 … … 174 172 175 173 <h4>Version</h4> 176 $Id: strtok.pro 1 63 2006-08-29 12:59:46Z navarro$174 $Id: strtok.pro 186 2006-09-20 10:50:37Z pinsard $ 177 175 178 176 <h4>History</h4> … … 226 224 227 225 228 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:58 2006.</font></p>226 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 229 227 230 228 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/STRING/strwhere.html
r177 r187 180 180 181 181 182 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:58 2006.</font></p>182 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 183 183 184 184 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/STRING/tostr.html
r177 r187 158 158 159 159 160 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:58 2006.</font></p>160 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 161 161 162 162 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/STRUCTURE/chkstru.html
r177 r187 228 228 229 229 230 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:59 2006.</font></p>230 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 231 231 232 232 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/STRUCTURE/extractstru.html
r177 r187 208 208 209 209 210 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:59 2006.</font></p>210 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 211 211 212 212 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/STRUCTURE/mixstru.html
r177 r187 187 187 188 188 189 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:59 2006.</font></p>189 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 190 190 191 191 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/STRUCTURE/struct2string.html
r177 r187 200 200 201 201 202 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:59 2006.</font></p>202 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 203 203 204 204 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/STRUCTURE/where_tag.html
r177 r187 268 268 269 269 270 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:59 2006.</font></p>270 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 271 271 272 272 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/TRIANGULATION/ciseauxtri.html
r177 r187 206 206 207 207 208 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:59 2006.</font></p>208 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 209 209 210 210 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/TRIANGULATION/completecointerre.html
r177 r187 361 361 362 362 363 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:00 2006.</font></p>363 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 364 364 365 365 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/TRIANGULATION/definetri.html
r177 r187 66 66 the points are regulary-gridded on nx*ny array. 67 67 Find a Delaunay triangulation for this set of points is easy: 68 Points define (nx-1)*(ny-1) rectangles which we can cut in 2 69 triangles.cf. figure above68 Points define (nx-1)*(ny-1) rectangles which we can cut in 2 triangles. 69 cf. figure above 70 70 71 71 <pre style="font-family: Courier;"> 72 fixe 72 73 ny-1*---*---*. . . . . .*---*---* 73 74 | +| +| | +| +| … … 113 114 114 115 <h3>Return value</h3> 115 triangles is a 2d array and is dimensions are 3 and 116 2*(nx-1)*(ny-1) 117 triangles is define like in the TRIANGULATE procedure. 116 triangles is a 2d array and its dimensions are 3 and 2*(nx-1)*(ny-1). 117 triangles is defined like in the TRIANGULATE procedure. 118 118 119 119 … … 169 169 170 170 171 When downward is undefine all rectangles are cut 172 in using the upward diagonal. Downward is a vector which173 contains the rectangles numbers which are cut in using the174 downward diagonal.175 The rectangle number is define by the index (in a nx*ny176 vector) of thelower-left corner of the rectangle.171 When downward is undefine all rectangles are cut in using the upward 172 diagonal. 173 Downward is a vector which contains the rectangles numbers which are cut in 174 using the downward diagonal. 175 The rectangle number is defined by the index (in a nx*ny vector) of the 176 lower-left corner of the rectangle. 177 177 178 178 … … 183 183 <h3>Examples</h3> 184 184 185 triangles=definetri(3,3,[1,3])186 triangles will be athis kind of triangulation:185 IDL> triangles=definetri(3,3,[1,3]) 186 triangles will be this kind of triangulation: 187 187 188 188 *---*---* 189 190 191 189 |+ | +| 190 | + | + | 191 | +|+ | 192 192 *---*---* 193 194 195 193 | +|+ | 194 | + | + | 195 |+ | +| 196 196 *---*---* 197 197 … … 200 200 201 201 <h4>Version</h4> 202 $Id: definetri.pro 1 63 2006-08-29 12:59:46Z navarro$202 $Id: definetri.pro 186 2006-09-20 10:50:37Z pinsard $ 203 203 <h4>History</h4> 204 204 sebastien Masson (smlod@ipsl.jussieu.fr) … … 227 227 228 228 229 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:00 2006.</font></p>229 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 230 230 231 231 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/TRIANGULATION/definetri_e.html
r177 r187 165 165 166 166 <h4>Version</h4> 167 $Id: definetri_e.pro 1 57 2006-08-21 09:01:50Z navarro$167 $Id: definetri_e.pro 186 2006-09-20 10:50:37Z pinsard $ 168 168 <h4>History</h4> 169 169 … … 202 202 203 203 <h3>Return value</h3> 204 Triangles is a 2d array and is dimensions are 3 and 205 (nx-1)*(ny-1) 204 Triangles is a 2d array and is dimensions are 3 and (nx-1)*(ny-1). 206 205 Triangles is defined like in the TRIANGULATE procedure. 207 206 … … 258 257 259 258 260 When singular is undefined all rectangles are cut 261 in using the vertical diagonal. Singular is a vector which262 contains the rectangles numbers which are cut in using the263 horizontal diagonal.264 The rectangle number is define by the index (in a nx*ny265 vector) of thelower-left corner of the rectangle.259 When singular is undefined all rectangles are cut in using the vertical 260 diagonal. 261 Singular is a vector which contains the rectangles numbers which are cut in 262 using the horizontal diagonal. 263 The rectangle number is defined by the index (in a nx*ny vector) of the 264 lower-left corner of the rectangle. 266 265 267 266 … … 294 293 295 294 <h4>Version</h4> 296 $Id: definetri_e.pro 1 57 2006-08-21 09:01:50Z navarro$295 $Id: definetri_e.pro 186 2006-09-20 10:50:37Z pinsard $ 297 296 298 297 <h4>History</h4> … … 323 322 324 323 325 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:00 2006.</font></p>324 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 326 325 327 326 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/TRIANGULATION/dessinetri.html
r177 r187 257 257 258 258 259 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:00 2006.</font></p>259 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 260 260 261 261 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/TRIANGULATION/drawcoast_c.html
r177 r187 301 301 302 302 303 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:00 2006.</font></p>303 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 304 304 305 305 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/TRIANGULATION/drawcoast_e.html
r177 r187 315 315 316 316 317 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:01 2006.</font></p>317 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 318 318 319 319 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/TRIANGULATION/drawsectionbottom.html
r177 r187 269 269 270 270 271 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:01 2006.</font></p>271 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 272 272 273 273 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/TRIANGULATION/fillcornermask.html
r177 r187 230 230 231 231 232 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:01 2006.</font></p>232 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 233 233 234 234 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/TRIANGULATION/section.html
r177 r187 295 295 296 296 <h4>Version</h4> 297 $Id: section.pro 186 2006-09-20 10:50:37Z pinsard $ 297 298 298 299 <h4>History</h4> … … 325 326 326 327 327 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:01 2006.</font></p>328 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 328 329 329 330 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/TRIANGULATION/tracecote.html
r177 r187 157 157 158 158 159 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:01 2006.</font></p>159 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 160 160 161 161 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/TRIANGULATION/tracemask.html
r177 r187 241 241 242 242 243 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:02 2006.</font></p>243 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 244 244 245 245 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/TRIANGULATION/triangule.html
r177 r187 217 217 218 218 219 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:02 2006.</font></p>219 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 220 220 221 221 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/TRIANGULATION/triangule_c.html
r177 r187 244 244 245 245 246 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:02 2006.</font></p>246 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 247 247 248 248 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/TRIANGULATION/triangule_e.html
r177 r187 211 211 212 212 213 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:02 2006.</font></p>213 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 214 214 215 215 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/UTILITAIRE/get_extra.html
r177 r187 126 126 127 127 128 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:02 2006.</font></p>128 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 129 129 130 130 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/UTILITAIRE/oups.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:02 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/UTILITAIRE/vzoom.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:02 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/AUTOUR_de_XXX/buildcmd.html
r177 r187 178 178 179 179 180 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:02 2006.</font></p>180 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 181 181 182 182 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/AUTOUR_de_XXX/buildreadcmd.html
r177 r187 246 246 247 247 248 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:03 2006.</font></p>248 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 249 249 250 250 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/AUTOUR_de_XXX/changefield.html
r177 r187 189 189 190 190 191 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:03 2006.</font></p>191 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 192 192 193 193 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/AUTOUR_de_XXX/changefile.html
r177 r187 235 235 236 236 237 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:03 2006.</font></p>237 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 238 238 239 239 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/AUTOUR_de_XXX/createhistory.html
r177 r187 172 172 173 173 174 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:03 2006.</font></p>174 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 175 175 176 176 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/AUTOUR_de_XXX/cutcmd.html
r177 r187 230 230 231 231 232 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:03 2006.</font></p>232 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 233 233 234 234 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/AUTOUR_de_XXX/definedefaultextra.html
r177 r187 145 145 146 146 147 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:03 2006.</font></p>147 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 148 148 149 149 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/AUTOUR_de_XXX/doubleclickaction.html
r177 r187 145 145 146 146 147 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:03 2006.</font></p>147 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 148 148 149 149 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/AUTOUR_de_XXX/extractatt.html
r177 r187 162 162 163 163 164 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:04 2006.</font></p>164 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 165 165 166 166 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/AUTOUR_de_XXX/findline.html
r177 r187 162 162 163 163 164 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:04 2006.</font></p>164 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 165 165 166 166 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/AUTOUR_de_XXX/identifyclick.html
r177 r187 145 145 146 146 147 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:04 2006.</font></p>147 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 148 148 149 149 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/AUTOUR_de_XXX/inserthistory.html
r177 r187 196 196 197 197 198 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:04 2006.</font></p>198 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 199 199 200 200 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/AUTOUR_de_XXX/letsdraw.html
r177 r187 175 175 176 176 177 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:04 2006.</font></p>177 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 178 178 179 179 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/AUTOUR_de_XXX/loadgrid.html
r177 r187 132 132 133 133 <h4>Version</h4> 134 $Id: loadgrid.pro 1 50 2006-08-09 10:12:54Z navarro$134 $Id: loadgrid.pro 181 2006-09-15 08:24:36Z smasson $ 135 135 136 136 <h4>History</h4> … … 165 165 166 166 167 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:04 2006.</font></p>167 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 168 168 169 169 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/AUTOUR_de_XXX/longclickaction.html
r177 r187 145 145 146 146 147 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:04 2006.</font></p>147 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 148 148 149 149 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/AUTOUR_de_XXX/read_vermair.html
r177 r187 255 255 256 256 257 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:04 2006.</font></p>257 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 258 258 259 259 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/AUTOUR_de_XXX/scanfile.html
r177 r187 148 148 149 149 <h4>Version</h4> 150 $Id: scanfile.pro 1 72 2006-09-11 07:11:26Z smasson $150 $Id: scanfile.pro 181 2006-09-15 08:24:36Z smasson $ 151 151 152 152 <h4>History</h4> … … 181 181 182 182 183 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:05 2006.</font></p>183 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 184 184 185 185 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/AUTOUR_de_XXX/selectfile.html
r177 r187 129 129 130 130 <h4>Version</h4> 131 $Id: selectfile.pro 1 57 2006-08-21 09:01:50Z navarro$131 $Id: selectfile.pro 181 2006-09-15 08:24:36Z smasson $ 132 132 133 133 <h4>History</h4> … … 256 256 257 257 <h4>Version</h4> 258 $Id: selectfile.pro 1 57 2006-08-21 09:01:50Z navarro$258 $Id: selectfile.pro 181 2006-09-15 08:24:36Z smasson $ 259 259 260 260 <h4>History</h4> … … 289 289 290 290 291 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:05 2006.</font></p>291 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 292 292 293 293 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/AUTOUR_de_XXX/singleclickaction.html
r177 r187 145 145 146 146 147 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:05 2006.</font></p>147 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 148 148 149 149 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/AUTOUR_de_XXX/tracecadre.html
r177 r187 197 197 198 198 199 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:05 2006.</font></p>199 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 200 200 201 201 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/AUTOUR_de_XXX/updatewidget.html
r177 r187 197 197 198 198 199 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:05 2006.</font></p>199 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 200 200 201 201 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/AUTOUR_de_XXX/xcreateanim.html
r177 r187 236 236 237 237 238 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:05 2006.</font></p>238 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 239 239 240 240 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/AUTOUR_de_XXX/xxxmenubar_event.html
r177 r187 144 144 145 145 146 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:05 2006.</font></p>146 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 147 147 148 148 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_bgroup.html
r177 r187 967 967 968 968 969 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:06 2006.</font></p>969 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 970 970 971 971 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_calendar.html
r177 r187 821 821 822 822 823 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:07 2006.</font></p>823 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 824 824 825 825 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_combobox_pm.html
r177 r187 564 564 565 565 566 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:07 2006.</font></p>566 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 567 567 568 568 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_domain.html
r177 r187 511 511 512 512 513 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:08 2006.</font></p>513 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 514 514 515 515 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_droplist_pm.html
r177 r187 547 547 548 548 549 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:08 2006.</font></p>549 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 550 550 551 551 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_pagelayout.html
r177 r187 352 352 353 353 354 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:09 2006.</font></p>354 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 355 355 356 356 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_slide_slice.html
r177 r187 452 452 453 453 454 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:09 2006.</font></p>454 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 455 455 456 456 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_slider_pm.html
r177 r187 741 741 742 742 743 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:09 2006.</font></p>743 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 744 744 745 745 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_specifie.html
r177 r187 523 523 524 524 525 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:10 2006.</font></p>525 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 526 526 527 527 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/findtopid.html
r177 r187 142 142 143 143 144 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:10 2006.</font></p>144 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 145 145 146 146 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/slec.html
r177 r187 256 256 257 257 258 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:10 2006.</font></p>258 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 259 259 260 260 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/xnotice.html
r177 r187 168 168 169 169 170 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:10 2006.</font></p>170 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 171 171 172 172 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/xquestion.html
r177 r187 296 296 297 297 298 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:11 2006.</font></p>298 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 299 299 300 300 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/xx.html
r177 r187 240 240 241 241 242 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:11 2006.</font></p>242 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 243 243 244 244 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/ToBeReviewed/WIDGET/xxx.html
r177 r187 62 62 63 63 64 64 see <a href="../../../xmldoc/mini_notice.html">Mini Guide for Basic Commands in the XXX Program</a> 65 65 66 66 … … 129 129 130 130 <h4>Version</h4> 131 $Id: xxx.pro 1 63 2006-08-29 12:59:46Z navarro$131 $Id: xxx.pro 186 2006-09-20 10:50:37Z pinsard $ 132 132 <h4>History</h4> 133 133 … … 337 337 338 338 <h4>Version</h4> 339 $Id: xxx.pro 1 63 2006-08-29 12:59:46Z navarro$339 $Id: xxx.pro 186 2006-09-20 10:50:37Z pinsard $ 340 340 341 341 <h4>History</h4> … … 368 368 369 369 370 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:11 2006.</font></p>370 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 371 371 372 372 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Utilities/createfunc.html
r177 r187 196 196 197 197 198 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:11 2006.</font></p>198 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 199 199 200 200 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Utilities/createpro.html
r177 r187 215 215 216 216 217 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:11 2006.</font></p>217 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 218 218 219 219 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Utilities/def_myuniquetmpdir.html
r177 r187 118 118 119 119 120 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:11 2006.</font></p>120 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 121 121 122 122 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Utilities/demomode_compatibility.html
r177 r187 107 107 108 108 109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:11 2006.</font></p>109 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 110 110 111 111 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Utilities/find.html
r177 r187 367 367 368 368 369 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:12 2006.</font></p>369 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 370 370 371 371 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Utilities/fitintobox.html
r177 r187 316 316 317 317 318 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:12 2006.</font></p>318 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 319 319 320 320 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Utilities/isadirectory.html
r177 r187 200 200 201 201 202 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:12 2006.</font></p>202 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 203 203 204 204 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Utilities/isafile.html
r177 r187 274 274 275 275 276 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:12 2006.</font></p>276 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 277 277 278 278 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Utilities/linearequation.html
r177 r187 169 169 170 170 171 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:12 2006.</font></p>171 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 172 172 173 173 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Utilities/lineintersection.html
r177 r187 200 200 201 201 202 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:13 2006.</font></p>202 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 203 203 204 204 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Utilities/mergeonline_help.html
r178 r187 88 88 89 89 <h4>Version</h4> 90 $Id: mergeonline_help.pro 17 5 2006-09-13 12:54:31Z smasson $90 $Id: mergeonline_help.pro 177 2006-09-13 15:50:54Z smasson $ 91 91 <h4>History</h4> 92 92 Sept 2006: Sebastien Masson (smasson@lodyc.jussieu.fr) … … 119 119 120 120 121 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:13 2006.</font></p>121 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 122 122 123 123 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Utilities/protype.html
r177 r187 147 147 148 148 149 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:13 2006.</font></p>149 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 150 150 151 151 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Utilities/pwd.html
r177 r187 113 113 114 114 115 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:13 2006.</font></p>115 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 116 116 117 117 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Utilities/report.html
r177 r187 246 246 247 247 248 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:13 2006.</font></p>248 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 249 249 250 250 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Utilities/routine_name.html
r177 r187 154 154 155 155 156 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:13 2006.</font></p>156 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 157 157 158 158 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Utilities/testvar.html
r177 r187 142 142 143 143 144 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:13 2006.</font></p>144 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 145 145 146 146 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Utilities/text_box.html
r177 r187 276 276 277 277 278 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:13 2006.</font></p>278 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 279 279 280 280 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Utilities/undefine.html
r177 r187 149 149 150 150 151 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:14 2006.</font></p>151 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 152 152 153 153 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Utilities/xfile.html
r177 r187 161 161 162 162 163 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:14 2006.</font></p>163 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 164 164 165 165 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/Utilities/xhelp.html
r177 r187 170 170 171 171 172 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:14 2006.</font></p>172 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 173 173 174 174 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/buildinit.html
r177 r187 954 954 955 955 956 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:15 2006.</font></p>956 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 957 957 958 958 </body> -
trunk/SRC/Documentation/idldoc_assistant_output/home.html
r177 r187 324 324 325 325 326 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:33:15 2006.</font></p>326 <p><font color="gray" size="-3"> Produced by IDLdoc 2.0.</font></p> 327 327 </body> 328 328 </html> -
trunk/SRC/Documentation/idldoc_html_output/Interpolation/spl_fstdrv.html
r168 r187 701 701 <div id="file_comments"> 702 702 SPL_FSTDRV returns the values of the first derivative of 703 the interpolating function at the points X2i. it is a double703 the interpolating function at the points X2i. It is a double 704 704 precision array. 705 705 … … 733 733 734 734 <h3>Return value</h3><div class="preformat"> 735 736 735 y2: f'(x2) = y2. 737 736 </div> … … 814 813 <h3>Version history</h3> 815 814 816 <h4>Version</h4><div class="preformat"> $Id: spl_fstdrv.pro 1 34 2006-07-07 10:19:08Z navarro$815 <h4>Version</h4><div class="preformat"> $Id: spl_fstdrv.pro 186 2006-09-20 10:50:37Z pinsard $ 817 816 </div> 818 817 <h4>History</h4><div class="preformat"> -
trunk/SRC/Documentation/idldoc_html_output/Picture/showimage.html
r168 r187 709 709 JPEG 24-bit true color, 710 710 711 712 711 Any conversions necessary to translate 8-bit or 24-bit files 712 to 8-bit or 24-bit images on-screen are done automatically. 713 713 </div> 714 714 … … 797 797 798 798 799 <h3>Examples</h3><div class="preformat"> $799 <h3>Examples</h3><div class="preformat"> 800 800 IDL> showimage, filepath('rose.jpg', subdir='examples/data') 801 801 </div> 802 802 <h3>Version history</h3> 803 803 804 <h4>Version</h4><div class="preformat"> $Id: showimage.pro 1 63 2006-08-29 12:59:46Z navarro$804 <h4>Version</h4><div class="preformat"> $Id: showimage.pro 186 2006-09-20 10:50:37Z pinsard $ 805 805 </div> 806 806 <h4>History</h4><div class="preformat"> Liam.Gumley@ssec.wisc.edu -
trunk/SRC/Documentation/idldoc_html_output/Postscript/openps.html
r168 r187 765 765 766 766 <div class="comments"> 767 to define the name of the postscript file through 768 a keyword rather than with nameps input argument 769 (in this case the keyword can be pass through 767 to define the name of the postscript file through a keyword rather than with 768 nameps input argument (in this case the keyword can be pass through 770 769 different routines via _EXTRA keyword). 771 770 </div> … … 783 782 784 783 <div class="comments"> 785 If INFOWIDGET is present, it specifies a named 786 variable into which the id of the widget giving informations 787 about the postscript creation is stored as a long integer. 788 This id is needed by close ps to kill the information widget. 784 If INFOWIDGET is present, it specifies a named variable into which the id of 785 the widget giving information about the postscript creation is stored as a 786 long integer. 787 This id is needed by <a href="./closeps.html?format=raw">closeps</a> to kill 788 the information widget. 789 789 </div> 790 790 … … 885 885 <h3>Version history</h3> 886 886 887 <h4>Version</h4><div class="preformat"> $Id: openps.pro 1 67 2006-09-05 12:24:07Z smasson$887 <h4>Version</h4><div class="preformat"> $Id: openps.pro 186 2006-09-20 10:50:37Z pinsard $ 888 888 </div> 889 889 <h4>History</h4><div class="preformat"> Sebastien Masson (smasson@lodyc.jussieu.fr) -
trunk/SRC/Documentation/idldoc_html_output/ToBeReviewed/LECTURE/read_ncdf.html
r177 r187 1062 1062 1063 1063 <h4>Version</h4><div class="preformat"> 1064 $Id: read_ncdf.pro 1 74 2006-09-12 07:07:57Z smasson $ </div>1064 $Id: read_ncdf.pro 181 2006-09-15 08:24:36Z smasson $ </div> 1065 1065 <h4>History</h4><div class="preformat"> 1066 1066 Sebastien Masson (smasson@lodyc.jussieu.fr) -
trunk/SRC/Documentation/idldoc_html_output/ToBeReviewed/PLOTS/DESSINE/pltv.html
r168 r187 953 953 954 954 <h4>Version</h4><div class="preformat"> 955 $Id: pltv.pro 1 63 2006-08-29 12:59:46Z navarro$955 $Id: pltv.pro 181 2006-09-15 08:24:36Z smasson $ 956 956 </div> 957 957 <h4>History</h4><div class="preformat"> -
trunk/SRC/Documentation/idldoc_html_output/ToBeReviewed/STRING/strtok.html
r168 r187 747 747 748 748 <div class="comments"> 749 String to be split. Contains text after in, out 750 token on output. 749 String to be split. Contains text after in, out token on output. 751 750 </div> 752 751 … … 785 784 786 785 <div class="comments"> 787 set to remove leading blanks from old 788 before returning. 786 set to remove leading blanks from old before returning. 789 787 </div> 790 788 … … 817 815 818 816 <h4>Version</h4><div class="preformat"> 819 $Id: strtok.pro 1 63 2006-08-29 12:59:46Z navarro$817 $Id: strtok.pro 186 2006-09-20 10:50:37Z pinsard $ 820 818 </div> 821 819 <h4>History</h4><div class="preformat"> -
trunk/SRC/Documentation/idldoc_html_output/ToBeReviewed/TRIANGULATION/definetri.html
r168 r187 704 704 the points are regulary-gridded on nx*ny array. 705 705 Find a Delaunay triangulation for this set of points is easy: 706 Points define (nx-1)*(ny-1) rectangles which we can cut in 2 707 triangles.cf. figure above706 Points define (nx-1)*(ny-1) rectangles which we can cut in 2 triangles. 707 cf. figure above 708 708 709 709 <p class="preformat"> 710 fixe 710 711 ny-1*---*---*. . . . . .*---*---* 711 712 | +| +| | +| +| … … 760 761 761 762 <h3>Return value</h3><div class="preformat"> 762 triangles is a 2d array and is dimensions are 3 and 763 2*(nx-1)*(ny-1) 764 triangles is define like in the TRIANGULATE procedure. 763 triangles is a 2d array and its dimensions are 3 and 2*(nx-1)*(ny-1). 764 triangles is defined like in the TRIANGULATE procedure. 765 765 </div> 766 766 … … 811 811 812 812 <div class="comments"> 813 When downward is undefine all rectangles are cut 814 in using the upward diagonal. Downward is a vector which815 contains the rectangles numbers which are cut in using the816 downward diagonal.817 The rectangle number is define by the index (in a nx*ny818 vector) of thelower-left corner of the rectangle.813 When downward is undefine all rectangles are cut in using the upward 814 diagonal. 815 Downward is a vector which contains the rectangles numbers which are cut in 816 using the downward diagonal. 817 The rectangle number is defined by the index (in a nx*ny vector) of the 818 lower-left corner of the rectangle. 819 819 </div> 820 820 … … 826 826 <h3>Examples</h3><div class="preformat"> 827 827 828 triangles=definetri(3,3,[1,3])829 triangles will be athis kind of triangulation:828 IDL> triangles=definetri(3,3,[1,3]) 829 triangles will be this kind of triangulation: 830 830 831 831 *---*---* 832 833 834 832 |+ | +| 833 | + | + | 834 | +|+ | 835 835 *---*---* 836 837 838 836 | +|+ | 837 | + | + | 838 |+ | +| 839 839 *---*---* 840 840 … … 843 843 844 844 <h4>Version</h4><div class="preformat"> 845 $Id: definetri.pro 1 63 2006-08-29 12:59:46Z navarro$</div>845 $Id: definetri.pro 186 2006-09-20 10:50:37Z pinsard $</div> 846 846 <h4>History</h4><div class="preformat"> 847 847 sebastien Masson (smlod@ipsl.jussieu.fr) -
trunk/SRC/Documentation/idldoc_html_output/ToBeReviewed/TRIANGULATION/definetri_e.html
r168 r187 808 808 809 809 <h4>Version</h4><div class="preformat"> 810 $Id: definetri_e.pro 1 57 2006-08-21 09:01:50Z navarro$</div>810 $Id: definetri_e.pro 186 2006-09-20 10:50:37Z pinsard $</div> 811 811 <h4>History</h4><div class="preformat"> 812 812 … … 854 854 855 855 <h3>Return value</h3><div class="preformat"> 856 Triangles is a 2d array and is dimensions are 3 and 857 (nx-1)*(ny-1) 856 Triangles is a 2d array and is dimensions are 3 and (nx-1)*(ny-1). 858 857 Triangles is defined like in the TRIANGULATE procedure. 859 858 </div> … … 905 904 906 905 <div class="comments"> 907 When singular is undefined all rectangles are cut 908 in using the vertical diagonal. Singular is a vector which909 contains the rectangles numbers which are cut in using the910 horizontal diagonal.911 The rectangle number is define by the index (in a nx*ny912 vector) of thelower-left corner of the rectangle.906 When singular is undefined all rectangles are cut in using the vertical 907 diagonal. 908 Singular is a vector which contains the rectangles numbers which are cut in 909 using the horizontal diagonal. 910 The rectangle number is defined by the index (in a nx*ny vector) of the 911 lower-left corner of the rectangle. 913 912 </div> 914 913 … … 941 940 942 941 <h4>Version</h4><div class="preformat"> 943 $Id: definetri_e.pro 1 57 2006-08-21 09:01:50Z navarro$942 $Id: definetri_e.pro 186 2006-09-20 10:50:37Z pinsard $ 944 943 </div> 945 944 <h4>History</h4><div class="preformat"> -
trunk/SRC/Documentation/idldoc_html_output/ToBeReviewed/TRIANGULATION/section.html
r168 r187 928 928 929 929 <h4>Version</h4><div class="preformat"> 930 $Id: section.pro 186 2006-09-20 10:50:37Z pinsard $ 930 931 </div> 931 932 <h4>History</h4><div class="preformat"> -
trunk/SRC/Documentation/idldoc_html_output/ToBeReviewed/WIDGET/AUTOUR_de_XXX/loadgrid.html
r168 r187 778 778 779 779 <h4>Version</h4><div class="preformat"> 780 $Id: loadgrid.pro 1 50 2006-08-09 10:12:54Z navarro$780 $Id: loadgrid.pro 181 2006-09-15 08:24:36Z smasson $ 781 781 </div> 782 782 <h4>History</h4><div class="preformat"> … … 807 807 <h3>Statistics</h3> 808 808 <table class="statistics"> 809 <tr><td>McCabe cyclic</td><td> 9</td></tr>809 <tr><td>McCabe cyclic</td><td> 11</td></tr> 810 810 <tr><td>McCabe essential</td><td> 1</td></tr> 811 811 <tr><td>McCabe modular design</td><td> 1</td></tr> -
trunk/SRC/Documentation/idldoc_html_output/ToBeReviewed/WIDGET/AUTOUR_de_XXX/scanfile.html
r177 r187 793 793 794 794 <h4>Version</h4><div class="preformat"> 795 $Id: scanfile.pro 1 72 2006-09-11 07:11:26Z smasson $795 $Id: scanfile.pro 181 2006-09-15 08:24:36Z smasson $ 796 796 </div> 797 797 <h4>History</h4><div class="preformat"> -
trunk/SRC/Documentation/idldoc_html_output/ToBeReviewed/WIDGET/AUTOUR_de_XXX/selectfile.html
r168 r187 776 776 777 777 <h4>Version</h4><div class="preformat"> 778 $Id: selectfile.pro 1 57 2006-08-21 09:01:50Z navarro$778 $Id: selectfile.pro 181 2006-09-15 08:24:36Z smasson $ 779 779 </div> 780 780 <h4>History</h4><div class="preformat"> … … 907 907 908 908 <h4>Version</h4><div class="preformat"> 909 $Id: selectfile.pro 1 57 2006-08-21 09:01:50Z navarro$909 $Id: selectfile.pro 181 2006-09-15 08:24:36Z smasson $ 910 910 </div> 911 911 <h4>History</h4><div class="preformat"> -
trunk/SRC/Documentation/idldoc_html_output/ToBeReviewed/WIDGET/directory-overview.html
r168 r187 717 717 718 718 <dt><a href="xxx.html?format=raw">xxx.pro</a></dt> 719 <dd> A maximum of possibilities with a minimum of clics</dd>719 <dd> see <a href=".</dd> 720 720 721 721 </dl> -
trunk/SRC/Documentation/idldoc_html_output/ToBeReviewed/WIDGET/xxx.html
r168 r187 700 700 701 701 <div id="file_comments"> 702 702 see <a href="../../../xmldoc/mini_notice.html?format=raw">Mini Guide for Basic Commands in the XXX Program</a> 703 703 704 704 … … 776 776 777 777 <h4>Version</h4><div class="preformat"> 778 $Id: xxx.pro 1 63 2006-08-29 12:59:46Z navarro$</div>778 $Id: xxx.pro 186 2006-09-20 10:50:37Z pinsard $</div> 779 779 <h4>History</h4><div class="preformat"> 780 780 … … 983 983 984 984 <h4>Version</h4><div class="preformat"> 985 $Id: xxx.pro 1 63 2006-08-29 12:59:46Z navarro$985 $Id: xxx.pro 186 2006-09-20 10:50:37Z pinsard $ 986 986 </div> 987 987 <h4>History</h4><div class="preformat"> -
trunk/SRC/Documentation/idldoc_html_output/Utilities/mergeonline_help.html
r178 r187 735 735 736 736 <h4>Version</h4><div class="preformat"> 737 $Id: mergeonline_help.pro 17 5 2006-09-13 12:54:31Z smasson $</div>737 $Id: mergeonline_help.pro 177 2006-09-13 15:50:54Z smasson $</div> 738 738 <h4>History</h4><div class="preformat"> 739 739 Sept 2006: Sebastien Masson (smasson@lodyc.jussieu.fr) … … 762 762 <h3>Statistics</h3> 763 763 <table class="statistics"> 764 <tr><td>McCabe cyclic</td><td> 1 1</td></tr>764 <tr><td>McCabe cyclic</td><td> 12</td></tr> 765 765 <tr><td>McCabe essential</td><td> 1</td></tr> 766 766 <tr><td>McCabe modular design</td><td> 1</td></tr> -
trunk/SRC/Documentation/idldoc_html_output/idldoc-index-GH.html
r177 r187 73 73 font-family: Courier; 74 74 } 75 p.preformat { 76 font-family: Courier; 77 } 78 p.preformat { 79 font-family: Courier; 80 } 75 81 76 82 body { … … 368 374 table.variables td.image { width: 64px; } 369 375 370 div#file_comments { white-space: pre; white-space: pre; 376 div#file_comments { white-space: pre; white-space: pre; white-space: pre; white-space: pre; 371 377 margin: 2em; 372 378 font-size: 80%; -
trunk/SRC/Documentation/idldoc_html_output/idldoc-warnings.html
r177 r187 3955 3955 <tr> 3956 3956 <td class="statroutine"><a href="./ToBeReviewed/WIDGET/AUTOUR_de_XXX/loadgrid.html?format=raw#_loadgrid">loadgrid</a></td> 3957 <td class="stat caution"> 9</td>3957 <td class="stat warning"> 11</td> 3958 3958 </tr> 3959 3959 … … 4251 4251 <tr> 4252 4252 <td class="statroutine"><a href="./Utilities/mergeonline_help.html?format=raw#_mergeonline_help">mergeonline_help</a></td> 4253 <td class="stat warning"> 1 1</td>4253 <td class="stat warning"> 12</td> 4254 4254 </tr> 4255 4255 -
trunk/SRC/Documentation/idldoc_html_output/overview.html
r177 r187 994 994 <tr> 995 995 <td>Lines of code</td> 996 <td class="value"> 636 51</td>996 <td class="value"> 63660</td> 997 997 </tr> 998 998 </table> -
trunk/SRC/Documentation/idldoc_html_output/search.js
r177 r187 65 65 a[63] = new Array("./Interpolation/neighbor.html", "neighbor.pro", "", " file_comments find the closetest point of P0 within a list of np1 points P1 Which can be on a sphere categories Maps param p0lon in required scalar longitudes of point P0 param p0lat in required scalar latitudes of point P0 param neighlon in optional param neighlat in optional keyword RADIANS if set inputs and angular outputs are in radians otherwise degrees keyword DISTANCE dis to get back the distances between P0 and the np1 points P1 in the variable dis keyword SPHERE to activate if points are located on a sphere returns index giving the P1 index point that is the closest point of P0 examples IDL print neighbor 105 15 40 02 0 07 100 50 51 30 20 0 IDL distance dis 0 IDL print dis 105 684 206 125 160 228 history Sebastien Masson smasson lodyc jussieu fr October 2003 version Id: neighbor pro 136 2006 07 10 15:20:19Z pinsard FUNCTION neighbor p0lon p0lat neighlon neighlat sphere sphere distance distance radians radians compile_opt idl2 strictarrsubs somme checks IF n_elements p0lon NE 1 THEN MESSAGE Sorry p0lon must be a scalar p0lon p0lon 0 IF n_elements p0lat NE 1 THEN MESSAGE Sorry p0lat must be a scalar p0lat p0lat 0 nneig n_elements neighlon IF n_elements neighlat NE nneig THEN MESSAGE neighlon and neighlat must have the same number of elements distance between P0 and the others points IF keyword_set sphere THEN BEGIN IF sphere NE 1 THEN radius sphere distance Map_nPoints p0lon p0lat neighlon neighlat radius radius radians radians ENDIF ELSE BEGIN distance neighlon p0lon 2 neighlat p0lat 2 IF arg_present distance THEN distance sqrt distance ENDELSE RETURN where distance EQ min distance END"); 66 66 a[64] = new Array("./Interpolation/quadrilateral2square.html", "quadrilateral2square.pro", "", " file_comments warm or map an arbitrary quadrilateral onto a unit square according to the 4 point correspondences: x0 y0 0 0 x1 y1 1 0 x2 y2 1 1 x3 y3 0 1 This is the inverse function of square2quadrilateral pro The mapping is done using perspective transformation which preserve lines in all orientations and permit quadrilateral to quadrilateral mappings see ref bellow categories Picture Grid param x0in in required param y0in in required param x1in in required param y1in in required param x2in in required param y2in in required param x3in in required param y3in in required the coordinates of the quadrilateral see above for correspondence with the unit square Can be scalar or array x0 y0 x1 y1 x2 y2 and x3 y3 are given in the anticlockwise order param xxin in required the coordinates of the point s for which we want to do the mapping Can be scalar or array param yyin in required the coordinates of the point s for which we want to do the mapping Can be scalar or array keyword PERF returns 2 n array: the new coordinates xout yout of the xin yin point s after mapping If xin is a scalar then n is equal to the number of elements of x0 If xin is an array then n is equal to the number of elements of xin restrictions I think degenerated quadrilateral e g flat of twisted is not work This has to be tested examples IDL splot 0 5 0 3 nodata xstyle 1 ystyle 1 IDL tracegrille findgen 11 1 findgen 11 1 color indgen 12 20 IDL xin findgen 11 1 replicate 1 11 IDL yin replicate 1 11 findgen 11 1 IDL out square2quadrilateral 2 1 3 0 5 1 2 3 xin yin IDL tracegrille reform out 0 11 11 reform out 1 11 11 color indgen 12 20 IDL inorg quadrilateral2square 2 1 3 0 5 1 2 3 out 0 out 1 IDL tracegrille reform inorg 0 11 11 reform inorg 1 11 11 color indgen 12 20 history Sebastien Masson smasson lodyc jussieu fr August 2003 Based on Digital Image Warping by G Wolberg IEEE Computer Society Press Los Alamitos California Chapter 3 see p 52 56 version Id: quadrilateral2square pro 163 2006 08 29 12:59:46Z navarro FUNCTION quadrilateral2square x0in y0in x1in y1in x2in y2in x3in y3in xxin yyin PERF perf compile_opt idl2 strictarrsubs tempsone systime 1 Warning wrong definition of x2 y2 and x3 y3 at the bottom of page 54 of Wolberg s book see figure 3 7 page 56 for the good definition IF keyword_set double THEN BEGIN x0 double x0in x1 double x1in x2 double x2in x3 double x3in y0 double y0in y1 double y1in y2 double y2in y3 double y3in xin double xxin yin double yyin ENDIF ELSE BEGIN x0 float x0in x1 float x1in x2 float x2in x3 float x3in y0 float y0in y1 float y1in y2 float y2in y3 float y3in xin float xxin yin float yyin ENDELSE get the matrix A a square2quadrilateral x0in y0in x1in y1in x2in y2in x3in y3in compute the adjoint matrix IF keyword_set double THEN adj dblarr 9 n_elements x0 ELSE adj fltarr 9 n_elements x0 adj 0 a 4 a 7 a 5 adj 1 a 7 a 2 a 1 adj 2 a 1 a 5 a 4 a 2 adj 3 a 6 a 5 a 3 adj 4 a 0 a 6 a 2 adj 5 a 3 a 2 a 0 a 5 adj 6 a 3 a 7 a 6 a 4 adj 7 a 6 a 1 a 0 a 7 adj 8 a 0 a 4 a 3 a 1 IF n_elements xin EQ 1 THEN BEGIN xin replicate xin n_elements x0 yin replicate yin n_elements x0 ENDIF compute xprime yprime and wprime IF n_elements x0 EQ 1 THEN BEGIN wpr 1 adj 6 xin adj 7 yin adj 8 ENDIF ELSE BEGIN wpr 1 adj 6 xin adj 7 yin adj 8 ENDELSE xpr xin wpr ypr yin wpr IF keyword_set double THEN res dblarr 2 n_elements xin ELSE res fltarr 2 n_elements xin IF n_elements x0 EQ 1 THEN BEGIN res 0 xpr adj 0 ypr adj 1 wpr adj 2 res 1 xpr adj 3 ypr adj 4 wpr adj 5 ENDIF ELSE BEGIN res 0 xpr adj 0 ypr adj 1 wpr adj 2 res 1 xpr adj 3 ypr adj 4 wpr adj 5 ENDELSE IF keyword_set perf THEN print time quadrilateral2square systime 1 tempsone RETURN res END"); 67 a[65] = new Array("./Interpolation/spl_fstdrv.html", "spl_fstdrv.pro", "", " file_comments SPL_FSTDRV returns the values of the first derivative of the interpolating function at the points X2i it is a double precision array Given the arrays X and Y which tabulate a function with the X i AND Y i in ascending order and given an input value X2 the SPL_INCR function returns an interpolated value for the given values of X2 The interpolation method is based on cubic spline corrected in a way that interpolated value are also in ascending order examples IDL y2 spl_fstdrv x y yscd x2 param x in required An n element at least 2 input vector that specifies the tabulate points in ascending order param y in required f x y An n element input vector that specifies the values of the tabulated function F Xi corresponding to Xi param yscd in required The output from SPL_INIT for the specified X and Y param x2 in required The input values for which the first derivative values are desired X can be scalar or an array of values returns y2: f x2 y2 history Sebastien Masson smasson lodyc jussieu fr : May 2005 version Id: spl_fstdrv pro 134 2006 07 07 10:19:08Z navarroFUNCTION spl_fstdrv x y yscd x2 compute the first derivative of the spline function compile_opt idl2 strictarrsubs nx n_elements x ny n_elements y x must have at least 2 elements IF nx LT 2 THEN stop y must have the same number of elements than x IF nx NE ny THEN stop define loc in a way that if loc i eq 1 : x2 i x nx 1 else : x loc i extrapolation use x nx 2 and x nx 1 even if x2 i x nx 1 extrapolation loc 0 temporary loc nx 2 distance between to consecutive x deltax x loc 1 x loc distance between to consecutive y deltay y loc 1 y loc relative distance between x2 i and x loc i 1 a x loc 1 x2 deltax relative distance between x2 i and x loc i b 1 0d a compute the first derivative on x see numerical recipes Chap 3 3 yfrst temporary deltay deltax 1 0d 6 0d 3 0d a a 1 0d deltax yscd loc 1 0d 6 0d 3 0d b b 1 0d deltax yscd loc 1 beware of the computation precision force near zero values to be exactly 0 0 zero where abs yfrst LT 1 e 10 IF zero 0 NE 1 THEN yfrst zero 0 0d RETURN yfrst END ");67 a[65] = new Array("./Interpolation/spl_fstdrv.html", "spl_fstdrv.pro", "", " file_comments SPL_FSTDRV returns the values of the first derivative of the interpolating function at the points X2i It is a double precision array Given the arrays X and Y which tabulate a function with the X i AND Y i in ascending order and given an input value X2 the SPL_INCR function returns an interpolated value for the given values of X2 The interpolation method is based on cubic spline corrected in a way that interpolated value are also in ascending order examples IDL y2 spl_fstdrv x y yscd x2 param x in required An n element at least 2 input vector that specifies the tabulate points in ascending order param y in required f x y An n element input vector that specifies the values of the tabulated function F Xi corresponding to Xi param yscd in required The output from SPL_INIT for the specified X and Y param x2 in required The input values for which the first derivative values are desired X can be scalar or an array of values returns y2: f x2 y2 history Sebastien Masson smasson lodyc jussieu fr : May 2005 version Id: spl_fstdrv pro 186 2006 09 20 10:50:37Z pinsard FUNCTION spl_fstdrv x y yscd x2 compute the first derivative of the spline function compile_opt idl2 strictarrsubs nx n_elements x ny n_elements y x must have at least 2 elements IF nx LT 2 THEN stop y must have the same number of elements than x IF nx NE ny THEN stop define loc in a way that if loc i eq 1 : x2 i x nx 1 else : x loc i extrapolation use x nx 2 and x nx 1 even if x2 i x nx 1 extrapolation loc 0 temporary loc nx 2 distance between to consecutive x deltax x loc 1 x loc distance between to consecutive y deltay y loc 1 y loc relative distance between x2 i and x loc i 1 a x loc 1 x2 deltax relative distance between x2 i and x loc i b 1 0d a compute the first derivative on x see numerical recipes Chap 3 3 yfrst temporary deltay deltax 1 0d 6 0d 3 0d a a 1 0d deltax yscd loc 1 0d 6 0d 3 0d b b 1 0d deltax yscd loc 1 beware of the computation precision force near zero values to be exactly 0 0 zero where abs yfrst LT 1 e 10 IF zero 0 NE 1 THEN yfrst zero 0 0d RETURN yfrst END "); 68 68 a[66] = new Array("./Interpolation/spl_incr.html", "spl_incr.pro", "", " file_comments Given the arrays X and Y which tabulate a function with the X i AND Y i in ascending order and given an input value X2 the SPL_INCR function returns an interpolated value for the given values of X2 The interpolation method is based on cubic spline corrected in a way that interpolated values are also monotonically increasing param x1 in required An n element at least 2 input vector that specifies the tabulate points in a strict ascending order param y1 in required f x y An n element input vector that specifies the values of the tabulated function F Xi corresponding to Xi As f is supposed to be monotonically increasing y values must be monotonically increasing y can have equal consecutive values param x2 in required The input values for which the interpolated values are desired Its values must be strictly monotonically increasing param der2 param x returns y2: f x2 y2 Double precision array restrictions It might be possible that y2 i 1 y2 i has very small negative values amplitude smaller than 1 e 6 examples IDL n 100L IDL x dindgen n 2 IDL y abs randomn 0 n IDL y n 2:n 2 1 0 IDL y n n 3 0 IDL y n n 6:n n 6 5 0 IDL y total y cumulative double IDL x2 dindgen n 1 2 IDL n2 n_elements x2 IDL print min y 1:n 1 y 0:n 2 LT 0 IDL y2 spl_incr x y x2 IDL splot x y xstyle 1 ystyle 1 ysurx 25 petit 1 2 1 land IDL oplot x2 y2 color 100 IDL c y2 1:n2 1 y2 0:n2 2 IDL print min c LT 0 IDL print min c max ma ma IDL splot c xstyle 1 ystyle 1 yrange 01 05 ysurx 25 petit 1 2 2 noerase IDL oplot 0 n_elements c 0 0 linestyle 1 history Sebastien Masson smasson lodyc jussieu fr : May Dec 2005 version Id: spl_incr pro 163 2006 08 29 12:59:46Z navarro FUNCTION pure_concave x1 x2 y1 y2 der2 x X n type compile_opt idl2 strictarrsubs xx double x double x1 double x2 double x1 f double x2 double x1 double y2 double y1 n der2 temporary f res xx n IF check_math GT 0 THEN BEGIN zero where abs res LT 1 e 10 IF zero 0 NE 1 THEN res zero 0 0d END res temporary res double y2 double y1 y1 IF array_equal sort res lindgen n_elements res NE 1 THEN stop RETURN res END param x1 in required An n element at least 2 input vector that specifies the tabulate points in a strict ascending order param y1 in required f x y An n element input vector that specifies the values of the tabulated function F Xi corresponding to Xi As f is supposed to be monotonically increasing y values must be monotonically increasing y can have equal consecutive values param x2 in required The input values for which the interpolated values are desired Its values must be strictly monotonically increasing param der2 param x FUNCTION pure_convex x1 x2 y1 y2 der2 x 1 1 X n type compile_opt idl2 strictarrsubs xx 1 0d double x double x1 double x2 double x1 f double x2 double x1 double y2 double y1 n der2 temporary f res xx n IF check_math GT 0 THEN BEGIN zero where abs res LT 1 e 10 IF zero 0 NE 1 THEN res zero 0 0d END res 1 0d temporary res res temporary res y2 y1 y1 IF array_equal sort res lindgen n_elements res NE 1 THEN stop RETURN res END param x param y param x2 keyword YP0 The first derivative of the interpolating function at the point X0 If YP0 is omitted the second derivative at the boundary is set to zero resulting in a natural spline keyword YPN_1 The first derivative of the interpolating function at the point Xn 1 If YPN_1 is omitted the second derivative at the boundary is set to zero resulting in a natural spline FUNCTION spl_incr x y x2 YP0 yp0 YPN_1 ypn_1 compile_opt idl2 strictarrsubs check and initialization nx n_elements x ny n_elements y nx2 n_elements x2 x must have at least 2 elements IF nx LT 2 THEN stop y must have the same number of elements than x IF nx NE ny THEN stop x be monotonically increasing IF min x 1:nx 1 x 0:nx 2 LE 0 THEN stop x2 be monotonically increasing IF N_ELEMENTS X2 GE 2 THEN IF min x2 1:nx2 1 x2 0:nx2 2 LE 0 THEN stop y be monotonically increasing IF min y 1:ny 1 y 0:ny 2 LT 0 THEN stop first check: check if two consecutive values are equal bad where y 1:ny 1 y 0:ny 2 EQ 0 cntbad IF cntbad NE 0 THEN BEGIN define the results: y2 y2 dblarr nx2 define xinx2: see help of value_locate if xinx2 i eq 1 : x bad i x2 nx2 1 else : x2 xinx2 i x2 nx2 1 else : x2 xinx2 i we have middle pieces for which we force yp0 0 0d and ypn_1 0 0d IF cntbad GT 1 THEN BEGIN we take care of the piece located wetween bad ib 1 and bad ib FOR ib 1 cntbad 1 DO BEGIN if there is x2 values smaller that x bad ib then the x2 values located between bad ib 1 and bad ib are xinx2 ib 1 1:xinx2 ib IF xinx2 ib NE 1 THEN begin y2 xinx2 ib 1 1 0 y i 1 y i 2 y reach its minimum value between x i and x i 1 0 y i 1 0 y i we do a first selection by looking for those points loc lindgen nx 1 maybebad where yscd loc LE 0 0d AND yscd loc 1 GE 0 0d cntbad IF cntbad NE 0 THEN BEGIN mbbloc loc maybebad aaa yscd mbbloc 1 yscd mbbloc 6 0d x mbbloc 1 x mbbloc bbb 0 5d yscd mbbloc ccc yifrst mbbloc ddd y mbbloc definitive selection: y can become negative if and only if 2b 2 4 3a c 0 y can become negative if and only if b 2 3a c 0 delta bbb bbb 3 0d aaa ccc bad where delta GT 0 cntbad IF cntbad NE 0 THEN BEGIN delta delta bad aaa aaa bad bbb bbb bad ccc ccc bad ddd ddd bad bad maybebad bad define xinx2_1: see help of value_locate if xinx2_1 i eq 1 : x bad i x2 nx2 1 else : x2 xinx2_1 i x2 nx2 1 else : x2 xinx2_2 i y bad ib 1 then we cannot applay the method we want to apply we use then convex concave case by changing by hand the value of yinfl and xinfl IF yzero GT y bad ib 1 THEN BEGIN yinfl 0 5d y bad ib 1 y bad ib xinfl 0 5d x bad ib 1 x bad ib GOTO convexconcave ENDIF define xinx2_3: see help of value_locate if xinx2_3 ib eq 1 : x bad ib xzero x2 nx2 1 else : x2 xinx2_3 we use then convex concave case by changing by hand the value of yinfl and xinfl IF yzero lt y bad ib THEN BEGIN yinfl 0 5d y bad ib 1 y bad ib xinfl 0 5d x bad ib 1 x bad ib GOTO convexconcave ENDIF define xinx2_3: see help of value_locate if xinx2_3 ib eq 1 : x bad ib xzero x2 nx2 1 else : x2 xinx2_3 x2 nx2 1 else : x2 xinx2_3 x bad ib xzero x2 xinx3_2 1 xinx2_3 value_locate x2 x bad ib xinfl IF xinx2_3 ge xinx2_1 ib 1 THEN BEGIN y2 xinx2_1 ib 1:xinx2_3 pure_convex x bad ib x bad ib xinfl y bad ib yinfl yifrst bad ib x2 xinx2_1 ib 1:xinx2_3 ENDIF IF xinx2_2 ib GE xinx2_3 1 THEN BEGIN y2 xinx2_3 1:xinx2_2 ib pure_concave x bad ib xinfl x bad ib 1 yinfl y bad ib 1 yifrst bad ib 1 x2 xinx2_3 1:xinx2_2 ib ENDIF END ENDCASE END ENDCASE ENDIF ENDFOR ENDIF ENDIF RETURN y2 END"); 69 69 a[67] = new Array("./Interpolation/spl_keep_mean.html", "spl_keep_mean.pro", "", " file_comments Given the arrays X and Y which tabulate a function with the X i AND Y i in ascending order and given an input value X2 the SPL_INCR function returns an interpolated value for the given values of X2 The interpolation method is based on cubic spline corrected in a way that integral of the interpolated values is the same as the integral of the input values for exemple to build daily data from monthly mean and keep the monthly mean of the computed daily data equa to the original values param x in required An n element at least 2 input vector that specifies the tabulate points in a strict ascending order param yin in required type array an array with one element less than x y i represents the mean value between x i and x i 1 if GE0 is activated y must have positive values param x2 in required The input values for which the interpolated values are desired Its values must be strictly monotonically increasing keyword GE0 to force that y2 is always GE than 0 In that case y must also be GE than 0 keyword YP0 The first derivative of the interpolating function at the point X0 If YP0 is omitted the second derivative at the boundary is set to zero resulting in a natural spline keyword YPN_1 The first derivative of the interpolating function at the point Xn 1 If YPN_1 is omitted the second derivative at the boundary is set to zero resulting in a natural spline returns y2: the mean value between two consecutive values of x2 This array has one element less than y2 y2 has double precision restrictions It might be possible that y2 has very small negative values amplitude smaller than 1 e 6 examples 12 monthly values of precipitations into daily values: IDL yr1 1990 IDL yr2 1992 IDL nyr yr2 yr1 1 IDL n1 12 nyr 1 IDL x julday 1 findgen n1 replicate 1 n1 IDL replicate yr1 n1 fltarr n1 IDL n2 365 nyr total leapyr yr1 indgen nyr 1 IDL x2 julday replicate 1 n2 1 findgen n2 IDL replicate yr1 n2 fltarr n2 IDL y abs randomn 0 n1 1 IDL y2 spl_keep_mean x y x2 ge0 IDL print min x max ma ma IDL print min x2 max ma ma IDL print vairdate min x max ma ma IDL print total y x 1:n1 1 x 0:n1 2 IDL print total y2 x2 1:n2 1 x2 0:n2 2 history Sebastien Masson smasson lodyc jussieu fr : May 2005 version Id: spl_keep_mean pro 163 2006 08 29 12:59:46Z navarro FUNCTION spl_keep_mean x yin x2 YP0 yp0 YPN_1 ypn_1 GE0 ge0 compile_opt idl2 strictarrsubs check and initialization nx n_elements x ny n_elements yin nx2 n_elements x2 x must have at least 2 elements IF nx LT 2 THEN stop x2 must have at least 2 elements IF nx2 LT 2 THEN stop x be monotonically increasing IF min x 1:nx 1 x 0:nx 2 LE 0 THEN stop x2 be monotonically increasing IF min x2 1:nx2 1 x2 0:nx2 2 LE 0 THEN stop compute the integral of y if spl_keep_mean is called by the user and not by itself we must compute the integral of y yin must have one element less than x IF nx NE ny 1 THEN stop y double yin double x 1:nx 1 x 0:nx 2 y 0 0d temporary y y total temporary y cumulative double compute the spline interpolation IF keyword_set ge0 THEN BEGIN if the want that the interpolated values are always 0 we must have yin 0 0d IF min yin LT 0 THEN stop call spl_incr y2 spl_incr x temporary y x2 yp0 yp0 ypn_1 ypn_1 ENDIF ELSE BEGIN yscd spl_init x y yp0 yp0 ypn_1 ypn_1 double y2 spl_interp x y temporary yscd x2 double ENDELSE Compute the derivative of y yfrst y2 1:nx2 1 y2 0:nx2 2 x2 1:nx2 1 x2 0:nx2 2 it can happen that we have very small negative values 1 e 6 for ex yfrst 0 0d temporary yfrst RETURN yfrst END"); … … 102 102 a[100] = new Array("./Picture/imdisp.html", "imdisp.pro", "", " hidden FUNCTION imdisp_getpos ASPECT POSITION POSITION MARGIN MARGIN compile_opt idl2 strictarrsubs Compute a position vector given an aspect ratio called by IMDISP_IMSIZE Check arguments if n_params ne 1 then message Usage: RESULT IMDISP_GETPOS ASPECT if n_elements aspect eq 0 then message ASPECT is undefined Check keywords if n_elements position eq 0 then position 0 0 0 0 1 0 1 0 if n_elements margin eq 0 then margin 0 1 Get range limited aspect ratio and margin input values aspect_val float aspect 0 0 01 0 0 0L y0 round position 1 d y_vsize 0L Compute size of image device units xsize round position 2 position 0 d x_vsize 2L ysize round position 3 position 1 d y_vsize 2L Recompute the image position based on actual image size position fltarr 4 position 0 x0 float d x_vsize position 1 y0 float d y_vsize position 2 x0 xsize float d x_vsize position 3 y0 ysize float d y_vsize END file_comments Display an image on the current graphics device IMDISP is an advanced replacement for TV and TVSCL Supports WIN MAC X CGM PCL PRINTER PS and Z graphics devices Image is automatically byte scaled can be disabled Custom byte scaling of Pseudo color images via the RANGE keyword Pseudo indexed color and True color images are handled automatically 8 bit and 24 bit graphics devices are handled automatically Decomposed color settings are handled automatically Image is automatically sized to fit the display can be disabled The P MULTI system variable is honored for multiple image display Image can be positioned via the POSITION keyword Color table splitting via the BOTTOM and NCOLORS keywords Image aspect ratio customization via the ASPECT keyword Resized images can be resampled default or interpolated Top down image display via the ORDER keyword ORDER is ignored Selectable display channel R G B via the CHANNEL keyword Background can be set to a specified color via the BACKGROUND keyword Screen can be erased prior to image display via the ERASE keyword Plot axes can be drawn on the image via the AXIS keyword Photographic negative images can be displayed via the NEGATIVE keyword categories Picture param IMAGE in required Array containing image data Pseudo indexed color images must have 2 dimensions True color images must have 3 dimensions in either 3 NX NY NX 3 NY or NX NY 3 form keyword RANGE type vector default min and max array values For Pseudo Color images only a vector with two elements specifying the minimum and maximum values of the image array to be considered when the image is byte scaled This keyword is ignored for True Color images or if the NOSCALE keyword is set keyword BOTTOM default 0 Bottom value in the color table to be used for the byte scaled image This keyword is ignored if the NOSCALE keyword is set keyword NCOLORS default D TABLE_SIZE BOTTOM Number of colors in the color table to be used for the byte scaled image This keyword is ignored if the NOSCALE keyword is set keyword MARGIN default 0 1 or 0 025 if P MULTI is set to display multiple images A scalar value specifying the margin to be maintained around the image in normal coordinates keyword INTERP default nearest neighbor sampling If set the resized image will be interpolated using bilinear interpolation keyword DITHER default no dithering If set true color images will be dithered when displayed on an 8 bit graphics device keyword ASPECT default maintain native aspect ratio A scalar value specifying the aspect ratio height width for the displayed image keyword POSITION default 0 0 0 0 1 0 1 0 On input a 4 element vector specifying the position of the displayed image in the form X0 Y0 X1 Y1 in in normal coordinates See the examples below to display an image where only the offset and size are known e g MAP_IMAGE output keyword OUT_POS On output a 4 element vector specifying the position actually used to display the image keyword NOSCALE default to byte scale the image If set the image will not be byte scaled keyword NORESIZE default To resize the image to fit the display If set the image will not be resized keyword ORDER default To display the image from the bottom up If set the image is displayed from the top down Note that the system variable ORDER is always ignored keyword USEPOS default To honor ASPECT and MARGIN when POSITION vector is supplied If set the image will be sized to exactly fit a supplied POSITION vector over riding ASPECT and MARGIN keyword CHANNEL Display channel Red Green or Blue to be written 0 All channels the default 1 Red channel 2 Green channel 3 Blue channel This keyword is only recognized by graphics devices which support 24 bit decomposed color WIN MAC X It is ignored by all other graphics devices However True color RGB images can be displayed on any device supported by IMDISP keyword BACKGROUND If set to a positive integer the background will be filled with the color defined by BACKGROUND keyword ERASE If set the screen contents will be erased Note that if P MULTI is set to display multiple images the screen is always erased when the first image is displayed keyword AXIS If set plot axes will be drawn on the image The default x and y axis ranges are determined by the size of the image When the AXIS keyword is set IMDISP accepts any keywords supported by PLOT e g TITLE COLOR CHARSIZE etc keyword NEGATIVE If set a photographic negative of the image is displayed The values of BOTTOM and NCOLORS are honored This keyword allows True color images scanned from color negatives to be displayed It also allows Pseudo color images to be displayed as negatives without reversing the color table This keyword is ignored if the NOSCALE keyword is set restrictions The image is displayed on the current graphics device restrictions Requires IDL 5 0 or higher square bracket array syntax examples Load test data openr lun filepath ctscan dat subdir examples data get_lun ctscan bytarr 256 256 readu lun ctscan free_lun lun openr lun filepath hurric dat subdir examples data get_lun hurric bytarr 440 330 readu lun hurric free_lun lun read_jpeg filepath rose jpg subdir examples data rose help ctscan hurric rose Display single images p multi 0 loadct 0 imdisp hurric erase wait 3 0 imdisp rose interp erase wait 3 0 Display multiple images without color table splitting works on 24 bit displays only top 2 images are garbled on 8 bit displays p multi 0 1 3 0 0 loadct 0 imdisp ctscan margin 0 02 loadct 13 imdisp hurric margin 0 02 imdisp rose margin 0 02 wait 3 0 Display multiple images with color table splitting works on 8 bit or 24 bit displays p multi 0 1 3 0 0 loadct 0 ncolors 64 bottom 0 imdisp ctscan margin 0 02 ncolors 64 bottom 0 loadct 13 ncolors 64 bottom 64 imdisp hurric margin 0 02 ncolors 64 bottom 64 imdisp rose margin 0 02 ncolors 64 bottom 128 wait 3 0 Display an image at a specific position over riding aspect and margin p multi 0 loadct 0 imdisp hurric position 0 0 0 0 1 0 0 5 usepos erase wait 3 0 Display an image with axis overlay p multi 0 loadct 0 imdisp rose axis erase wait 3 0 Display an image with contour plot overlay p multi 0 loadct 0 imdisp hurric out_pos out_pos erase contour smooth hurric 10 edge noerase position out_pos xstyle 1 ystyle 1 levels findgen 5 40 0 follow wait 3 0 Display a small image with correct resizing p multi 0 loadct 0 data dist 8 1:7 1:7 imdisp data erase wait 3 0 imdisp data interp wait 3 0 Display a true color image without and with interpolation p multi 0 imdisp rose erase wait 3 0 imdisp rose interp wait 3 0 Display a true color image as a photographic negative imdisp rose negative erase wait 3 0 Display a true color image on PostScript output note that color table is handled automatically current_device d name set_plot PS device color bits_per_pixel 8 filename imdisp_true ps imdisp rose axis title PostScript True Color Output device close set_plot current_device Display a pseudo color image on PostScript output current_device d name set_plot PS device color bits_per_pixel 8 filename imdisp_pseudo ps loadct 0 imdisp hurric axis title PostScript Pseudo Color Output device close set_plot current_device Display an image where only the offset and size are known Read world elevation data file filepath worldelv dat subdir examples data openr lun file get_lun data bytarr 360 360 readu lun data free_lun lun Reorganize array so it spans 180W to 180E world data world 0:179 data 180: world 180: data 0:179 Create remapped image map_set orthographic isotropic noborder remap map_image world x0 y0 xsize ysize compress 1 Convert offset and size to position vector pos fltarr 4 pos 0 x0 float d x_vsize pos 1 y0 float d y_vsize pos 2 x0 xsize float d x_vsize pos 3 y0 ysize float d y_vsize Display the image loadct 0 imdisp remap pos pos usepos map_continents map_grid history Liam Gumley ssec wisc edu http: cimss ssec wisc edu gumley Copyright C 1999 2000 Liam E Gumley This program is free software you can redistribute it and or modify it under the terms of the GNU General Public License as published by the Free Software Foundation either version 2 of the License or at your option any later version This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the GNU General Public License for more details You should have received a copy of the GNU General Public License along with this program if not write to the Free Software Foundation Inc 59 Temple Place Suite 330 Boston MA 02111 1307 USA version Id: imdisp pro 163 2006 08 29 12:59:46Z navarro PRO imdisp IMAGE RANGE RANGE BOTTOM BOTTOM NCOLORS NCOLORS MARGIN MARGIN INTERP INTERP DITHER DITHER ASPECT ASPECT POSITION POSITION OUT_POS OUT_POS NOSCALE NOSCALE NORESIZE NORESIZE ORDER ORDER USEPOS USEPOS CHANNEL CHANNEL BACKGROUND BACKGROUND ERASE ERASE AXIS AXIS NEGATIVE NEGATIVE _EXTRA EXTRA_KEYWORDS compile_opt idl2 strictarrsubs rcs_id Id: imdisp pro 163 2006 08 29 12:59:46Z navarro CHECK INPUT Check arguments if n_params ne 1 then message Usage: IMDISP IMAGE if n_elements image eq 0 then message Argument IMAGE is undefined if max p multi eq 0 then begin if n_elements margin eq 0 then begin if n_elements position eq 4 then margin 0 0 else margin 0 1 endif endif else begin if n_elements margin eq 0 then margin 0 025 endelse if n_elements order eq 0 then order 0 if n_elements channel eq 0 then channel 0 Check position vector if n_elements position gt 0 then begin if n_elements position ne 4 then message POSITION must be a 4 element vector of the form X0 Y0 X1 Y1 if position 0 lt 0 0 then message POSITION 0 must be GE 0 0 if position 1 lt 0 0 then message POSITION 1 must be GE 0 0 if position 2 gt 1 0 then message POSITION 2 must be LE 1 0 if position 3 gt 1 0 then message POSITION 3 must be LE 1 0 if position 0 ge position 2 then message POSITION 0 must be LT POSITION 2 if position 1 ge position 3 then message POSITION 1 must be LT POSITION 3 endif Check the image dimensions result size image ndims result 0 if ndims lt 2 or ndims gt 3 then message IMAGE must be a Pseudo Color 2D or True Color 3D image array dims result 1:ndims Check that 3D image array is in valid true color format true 0 if ndims eq 3 then begin index where dims eq 3L count if count eq 0 then message True Color dimensions must be 3 NX NY NX 3 NY or NX NY 3 true 1 truedim index 0 endif Check scaling range for pseudo color images if true eq 0 then begin if n_elements range eq 0 then begin min_value min image max max_value range min_value max_value endif if n_elements range ne 2 then message RANGE keyword must be a 2 element vector endif else begin if n_elements range gt 0 then message RANGE keyword is not used for True Color images continue endelse Check for supported graphics devices names WIN MAC X CGM PCL PRINTER PS Z result where d name eq names count if count eq 0 then message Graphics device is not supported Get color table information if d flags and 256 ne 0 and d window lt 0 then begin window free pixmap wdelete d window endif if n_elements bottom eq 0 then bottom 0 if n_elements ncolors eq 0 then ncolors d table_size bottom Get IDL version number version float version release Check for IDL 5 2 or higher if printer device is selected if version lt 5 2 and d name eq PRINTER then message IDL 5 2 or higher is required for PRINTER device support GET RED GREEN AND BLUE COMPONENTS OF TRUE COLOR IMAGE if true eq 1 then begin case truedim of 0 : begin red image 0 grn image 1 blu image 2 end 1 : begin red image 0 grn image 1 blu image 2 end 2 : begin red image 0 grn image 1 blu image 2 end endcase red reform red overwrite grn reform grn overwrite blu reform blu overwrite endif COMPUTE POSITION FOR IMAGE Save first element of p multi multi_first p multi 0 Establish image position if not defined if n_elements position eq 0 then begin if max p multi eq 0 then begin position 0 0 0 0 1 0 1 0 endif else begin plot 0 nodata xstyle 4 ystyle 4 xmargin 0 0 ymargin 0 0 position x window 0 y window 0 x window 1 y window 1 endelse endif Erase and fill the background if required if multi_first eq 0 then begin if keyword_set erase then erase if n_elements background gt 0 then begin polyfill 0 01 1 01 1 01 0 01 0 01 0 01 0 01 1 01 1 01 0 01 normal color background 0 endif endif Compute image aspect ratio if not defined if n_elements aspect eq 0 then begin case true of 0 : result size image 1 : result size red endcase dims result 1:2 aspect float dims 1 float dims 0 endif Save image xrange and yrange for axis overlays xrange 0 dims 0 yrange 0 dims 1 if order eq 1 then yrange reverse yrange Set the aspect ratio and margin to fill the position window if requested if keyword_set usepos then begin xpos_size float d x_vsize position 2 position 0 ypos_size float d y_vsize position 3 position 1 aspect_value ypos_size xpos_size margin_value 0 0 endif else begin aspect_value aspect margin_value margin endelse Compute size of displayed image and save output position pos position case true of 0 : imdisp_imsize image x0 y0 xsize ysize position pos aspect aspect_value margin margin_value 1 : imdisp_imsize red x0 y0 xsize ysize position pos aspect aspect_value margin margin_value endcase out_pos pos BYTE SCALE THE IMAGE IF REQUIRED Choose whether to scale the image or not if keyword_set noscale eq 0 then begin Scale the image case true of 0 : scaled imdisp_imscale image bottom bottom ncolors ncolors range range negative keyword_set negative 1 : begin scaled_dims size red 1:2 scaled bytarr scaled_dims 0 scaled_dims 1 3 scaled 0 0 0 imdisp_imscale red bottom 0 ncolors 256 negative keyword_set negative scaled 0 0 1 imdisp_imscale grn bottom 0 ncolors 256 negative keyword_set negative scaled 0 0 2 imdisp_imscale blu bottom 0 ncolors 256 negative keyword_set negative end endcase endif else begin Don t scale the image case true of 0 : scaled image 1 : begin scaled_dims size red 1:2 scaled replicate red 0 scaled_dims 0 scaled_dims 1 3 scaled 0 0 0 red scaled 0 0 1 grn scaled 0 0 2 blu end endcase endelse DISPLAY IMAGE ON PRINTER DEVICE if d name eq PRINTER then begin Display the image case true of 0 : begin device index_color tv scaled x0 y0 xsize xsize ysize ysize order order end 1 : begin device true_color tv scaled x0 y0 xsize xsize ysize ysize order order true 3 end endcase Draw axes if required if keyword_set axis then plot 0 nodata noerase position out_pos xrange xrange xstyle 1 yrange yrange ystyle 1 _extra extra_keywords Return to caller return endif DISPLAY IMAGE ON GRAPHICS DEVICES WHICH HAVE SCALEABLE PIXELS if d flags and 1 ne 0 then begin Display the image case true of 0 : tv scaled x0 y0 xsize xsize ysize ysize order order 1 : begin tvlct r g b get loadct 0 silent tv scaled x0 y0 xsize xsize ysize ysize order order true 3 tvlct r g b end endcase Draw axes if required if keyword_set axis then plot 0 nodata noerase position out_pos xrange xrange xstyle 1 yrange yrange ystyle 1 _extra extra_keywords Return to caller return endif RESIZE THE IMAGE Resize the image if keyword_set noresize eq 0 then begin if true eq 0 then begin resized imdisp_imregrid scaled xsize ysize interp keyword_set interp endif else begin resized replicate scaled 0 xsize ysize 3 resized 0 0 0 imdisp_imregrid reform scaled 0 xsize ysize interp keyword_set interp resized 0 0 1 imdisp_imregrid reform scaled 1 xsize ysize interp keyword_set interp resized 0 0 2 imdisp_imregrid reform scaled 2 xsize ysize interp keyword_set interp endelse endif else begin resized temporary scaled x0 0 y0 0 endelse GET BIT DEPTH FOR THIS DISPLAY If this device supports windows make sure a window has been opened if d flags and 256 ne 0 then begin if d window lt 0 then begin window free pixmap wdelete d window endif endif Set default display depth depth 8 Get actual bit depth on supported displays if d name eq WIN or d name eq MAC or d name eq X then begin if version ge 5 1 then begin device get_visual_depth depth endif else begin if d n_colors gt 256 then depth 24 endelse endif SELECT DECOMPOSED COLOR MODE ON OR OFF FOR 24 BIT DISPLAYS if d name eq WIN or d name eq MAC or d name eq X then begin if depth gt 8 then begin if version ge 5 2 then device get_decomposed entry_decomposed else entry_decomposed 0 if true eq 1 or channel gt 0 then device decomposed 1 else device decomposed 0 endif endif DISPLAY THE IMAGE If the display is 8 bit and the image is true color convert image from true color to indexed color if depth le 8 and true eq 1 then begin resized color_quan temporary resized 3 r g b colors ncolors dither keyword_set dither byte bottom tvlct r g b bottom true 0 endif Set channel value for supported devices if d name eq WIN or d name eq MAC or d name eq X then begin channel_value channel endif else begin channel_value 0 endelse Display the image case true of 0 : tv resized x0 y0 order order channel channel_value 1 : tv resized x0 y0 order order true 3 endcase RESTORE THE DECOMPOSED COLOR MODE FOR 24 BIT DISPLAYS if d name eq WIN or d name eq MAC or d name eq X and depth gt 8 then begin device decomposed entry_decomposed if d name eq MAC then tv 0 1 1 endif DRAW AXES IF REQUIRED if keyword_set axis then plot 0 nodata noerase position out_pos xrange xrange xstyle 1 yrange yrange ystyle 1 _extra extra_keywords END"); 103 103 a[101] = new Array("./Picture/saveimage.html", "saveimage.pro", "", " file_comments Save the current graphics window to an output file GIF by default The output formats supported are: GIF 8 bit with color table BMP 8 bit with color table PNG 8 bit with color table PICT 8 bit with color table JPEG 24 bit true color TIFF 24 bit true color Any conversions necessary to convert 8 bit or 24 bit images onscreen to 8 bit or 24 bit output files are done automatically categories Input Output param FILE in required default format GIF Name of the output file keyword BMP Set this keyword to create BMP format 8 bit with color table keyword PNG Set this keyword to create PNG format 8 bit with color table keyword PICT Set this keyword to create PICT format 8 bit with color table keyword JPEG Set this keyword to create JPEG format 24 bit true color keyword TIFF Set this keyword to create TIFF format 24 bit true color keyword QUALITY default 75 If set to a named variable specifies the quality for JPEG output Ranges from 0 terrible to 100 excellent Smaller quality values yield higher compression ratios and smaller output files keyword DITHER default no dithering If set dither the output image when creating 8 bit output which is read from a 24 bit display keyword CUBE default to use statistical method If set use the color cube method to quantize colors when creating 8 bit output which is read from a 24 bit display This may improve the accuracy of colors in the output image especially white keyword QUIET default to print an information message Set this keyword to suppress the information message restrictions The output file is overwritten if it exists restrictions requires IDL 5 0 or higher square bracket array syntax examples IDL openr lun filepath hurric dat subdir examples data get_lun IDL image bytarr 440 330 IDL readu lun image IDL free_lun lun IDL loadct 13 IDL tvscl image IDL saveimage hurric gif history Liam Gumley ssec wisc edu http: cimss ssec wisc edu gumley This program is free software you can redistribute it and or modify it under the terms of the GNU General Public License as published by the Free Software Foundation either version 2 of the License or at your option any later version This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the GNU General Public License for more details You should have received a copy of the GNU General Public License along with this program if not write to the Free Software Foundation Inc 59 Temple Place Suite 330 Boston MA 02111 1307 USA version Id: saveimage pro 163 2006 08 29 12:59:46Z navarro PRO saveimage FILE BMP BMP PNG PNG PICT PICT JPEG JPEG TIFF TIFF QUALITY QUALITY DITHER DITHER CUBE CUBE QUIET QUIET MULTIPLE multiple compile_opt idl2 strictarrsubs rcs_id Id: saveimage pro 163 2006 08 29 12:59:46Z navarro CHECK INPUT Check arguments if n_params ne 1 then message Usage: SAVEIMAGE FILE if n_elements file eq 0 then message Argument FILE is undefined if n_elements file gt 1 then message Argument FILE must be a scalar string Check keywords output GIF if keyword_set bmp then output BMP if keyword_Set png then output PNG if keyword_set pict then output PICT if keyword_set jpeg then output JPEG if keyword_set tiff then output TIFF if n_elements quality eq 0 then quality 75 Check for TVRD capable device if d flags and 128 eq 0 then message Unsupported graphics device Check for open window if d flags and 256 ne 0 then begin if d window lt 0 then message No graphics windows are open endif Get display depth depth 8 if d n_colors gt 256 then depth 24 GET CONTENTS OF GRAPHICS WINDOW Handle window devices other than the Z buffer if d flags and 256 ne 0 then begin Copy the contents of the current display to a pixmap current_window d window xsize d x_size ysize d y_size window free pixmap xsize xsize ysize ysize retain 2 device copy 0 0 xsize ysize 0 0 current_window Set decomposed color mode for 24 bit displays version float version release if depth gt 8 then begin if version gt 5 1 then device get_decomposed entry_decomposed device decomposed 1 endif endif Read the pixmap contents into an array if depth gt 8 then begin image tvrd order 0 true 1 endif else begin image tvrd order 0 endelse Handle window devices other than the Z buffer if d flags and 256 ne 0 then begin Restore decomposed color mode for 24 bit displays if depth gt 8 then begin if version gt 5 1 then begin device decomposed entry_decomposed endif else begin device decomposed 0 if keyword_set quiet eq 0 then print Decomposed color was turned off endelse endif Delete the pixmap wdelete d window wset current_window endif Get the current color table tvlct r g b get If an 8 bit image was read reduce the number of colors if depth le 8 then begin reduce_colors image index r r index g g index b b index endif WRITE OUTPUT FILE case 1 of Save the image in 8 bit output format output eq GIF or output eq BMP or output eq PICT or output eq PNG : begin if depth gt 8 then begin Convert 24 bit image to 8 bit case keyword_set cube of 0 : image color_quan image 1 r g b colors 256 dither keyword_set dither 1 : image color_quan image 1 r g b cube 6 endcase Sort the color table from darkest to brightest table_sum total long r long g long b 2 table_index sort table_sum image_index sort table_index r r table_index g g table_index b b table_index oldimage image image image_index temporary oldimage endif Save the image case output of GIF : write_gif file image r g b MULTIPLE multiple BMP : write_bmp file image r g b PNG : write_png file image r g b PICT : write_pict file image r g b endcase end Save the image in 24 bit output format output eq JPEG or output eq TIFF : begin Convert 8 bit image to 24 bit if depth le 8 then begin info size image nx info 1 ny info 2 true bytarr 3 nx ny true 0 r image true 1 g image true 2 b image image temporary true endif If TIFF format output reverse image top to bottom if output eq TIFF then image reverse temporary image 3 Write the image case output of JPEG : write_jpeg file image true 1 quality quality TIFF : write_tiff file image 1 endcase end endcase Print information for the user if keyword_set quiet eq 0 then print file output format Created a in a format END"); 104 a[102] = new Array("./Picture/showimage.html", "showimage.pro", "", " file_comments Show the contents of a graphics file in the current window The input formats supported are: GIF 8 bit with color table BMP 8 bit with color table or 24 bit true color PICT 8 bit with color table TIFF 8 bit with color table or 24 bit true color JPEG 24 bit true color Any conversions necessary to translate 8 bit or 24 bit files to 8 bit or 24 bit images on screen are done automatically categories Input Output param FILE in required Name of the output file format is identified automatically keyword DITHER default no dithering Set this keyword to dither the input image when displaying 24 bit images on an 8 bit display keyword CURRENT Set this keyword to display the image in the current window default is to create a new window sized to fit the image restrictions The color table is modified restrictions Requires IDL 5 2 or higher image QUERY functions examples IDL showimage filepath rose jpg subdir examples data history Liam Gumley ssec wisc edu http: cimss ssec wisc edu gumley This program is free software you can redistribute it and or modify it under the terms of the GNU General Public License as published by the Free Software Foundation either version 2 of the License or at your option any later version This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the GNU General Public License for more details You should have received a copy of the GNU General Public License along with this program if not write to the Free Software Foundation Inc 59 Temple Place Suite 330 Boston MA 02111 1307 USA version Id: showimage pro 163 2006 08 29 12:59:46Z navarro PRO showimage FILE DITHER DITHER CURRENT CURRENT compile_opt idl2 strictarrsubs rcs_id Id: showimage pro 163 2006 08 29 12:59:46Z navarroCHECK INPUT Check IDL version if float version release lt 5 2 then begin message IDL 5 2 or higher is required continue return endif Check input arguments case 1 of n_params ne 1 : error Usage: SHOWIMAGE FILE n_elements file eq 0 : error Argument FILE is undefined n_elements file gt 1 : error Argument FILE must be a scalar string findfile file 0 eq : error Argument FILE was not found else : error endcase if error ne then begin message error continue return endif CHECK THE GRAPHICS DEVICE Check for device supporting windows and tvrd if d flags and 256 eq 0 or d flags and 128 eq 0 then begin error string d name format Graphics device a is not supported message error continue return endif Make sure a window has been opened in this session and get visual depth if d window lt 0 then begin window free pixmap xsize 20 ysize 20 wdelete d window endif device get_visual_depth depth If 8 bit display is low on colors print a message if depth eq 8 and d table_size lt 64 then message Display has less than 64 colors image quality may degrade continue IDENTIFY FILE AND READ IMAGE Identify the file format result query_gif file info if result eq 0 then result query_bmp file info if result eq 0 then result query_pict file info if result eq 0 then result query_tiff file info if result eq 0 then result query_jpeg file info if result eq 0 then begin message File format not recognized continue return endif Fix the channel information for GIF images if info type eq GIF then info channels 1 Read the image case info type of GIF : read_gif file image r g b BMP : begin if info channels eq 1 then begin image read_bmp file r g b endif else begin image read_bmp file image reverse temporary image 1 endelse end PICT : read_pict file image r g b TIFF : begin if info channels eq 1 then begin image read_tiff file r g b order order image reverse temporary image 2 endif else begin image read_tiff file order order image reverse temporary image 3 endelse end JPEG : read_jpeg file image endcase If an 8 bit image was read reduce the number of colors if info channels eq 1 then begin reduce_colors image index r r index g g index b b index endif Get image size dims size image dimensions if n_elements dims eq 2 then begin nx dims 0 ny dims 1 endif else begin nx dims 1 ny dims 2 endelse CREATE A WINDOW Create a draw widget sized to fit the image if not keyword_set current then begin Set default window size scroll 0 xsize nx ysize ny draw_xsize nx draw_ysize ny Adjust the window size if the image is too large device get_screen_size screen screen_xsize screen 0 screen_ysize screen 1 if nx gt screen_xsize then begin xsize 0 9 screen_xsize scroll 1 endif if ny gt screen_ysize then begin ysize 0 9 screen_ysize scroll 1 endif Create the draw widget base widget_base title file draw widget_draw base scroll scroll widget_control draw xsize xsize ysize ysize draw_xsize draw_xsize draw_ysize draw_ysize endif HANDLE IDL 8 BIT MODE if depth eq 8 then begin If the color table of an 8 bit image is larger than the current display table convert the image to 24 bit if info channels eq 1 and n_elements r gt d table_size then begin Convert to 24 bit dims size image dimensions nx dims 0 ny dims 1 true bytarr 3 nx ny true 0 r image true 1 g image true 2 b image image temporary true Reset the number of channels info channels 3 endif If image is 24 bit convert to 8 bit if info channels eq 3 then begin Convert 24 bit image to 8 bit image color_quan image 1 r g b colors d table_size dither keyword_set dither Sort the color table from darkest to brightest table_sum total long r long g long b 2 table_index sort table_sum image_index sort table_index r r table_index g g table_index b b table_index oldimage image image image_index temporary oldimage Reset the number of channels info channels 1 endif endif DISPLAY THE IMAGE Realize the draw widget if not keyword_set current then widget_control base realize Save current decomposed mode and display order device get_decomposed current_decomposed current_order order Set image to display from bottom up order 0 Display the image if info channels eq 1 then begin device decomposed 0 tvlct r g b tv image endif else begin device decomposed 1 tv image true 1 endelse Restore decomposed mode and display order device decomposed current_decomposed order current_order END");104 a[102] = new Array("./Picture/showimage.html", "showimage.pro", "", " file_comments Show the contents of a graphics file in the current window The input formats supported are: GIF 8 bit with color table BMP 8 bit with color table or 24 bit true color PICT 8 bit with color table TIFF 8 bit with color table or 24 bit true color JPEG 24 bit true color Any conversions necessary to translate 8 bit or 24 bit files to 8 bit or 24 bit images on screen are done automatically categories Input Output param FILE in required Name of the output file format is identified automatically keyword DITHER default no dithering Set this keyword to dither the input image when displaying 24 bit images on an 8 bit display keyword CURRENT Set this keyword to display the image in the current window default is to create a new window sized to fit the image restrictions The color table is modified restrictions Requires IDL 5 2 or higher image QUERY functions examples IDL showimage filepath rose jpg subdir examples data history Liam Gumley ssec wisc edu http: cimss ssec wisc edu gumley This program is free software you can redistribute it and or modify it under the terms of the GNU General Public License as published by the Free Software Foundation either version 2 of the License or at your option any later version This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE See the GNU General Public License for more details You should have received a copy of the GNU General Public License along with this program if not write to the Free Software Foundation Inc 59 Temple Place Suite 330 Boston MA 02111 1307 USA version Id: showimage pro 186 2006 09 20 10:50:37Z pinsard PRO showimage FILE DITHER DITHER CURRENT CURRENT compile_opt idl2 strictarrsubs rcs_id Id: showimage pro 186 2006 09 20 10:50:37Z pinsard CHECK INPUT Check IDL version if float version release lt 5 2 then begin message IDL 5 2 or higher is required continue return endif Check input arguments case 1 of n_params ne 1 : error Usage: SHOWIMAGE FILE n_elements file eq 0 : error Argument FILE is undefined n_elements file gt 1 : error Argument FILE must be a scalar string findfile file 0 eq : error Argument FILE was not found else : error endcase if error ne then begin message error continue return endif CHECK THE GRAPHICS DEVICE Check for device supporting windows and tvrd if d flags and 256 eq 0 or d flags and 128 eq 0 then begin error string d name format Graphics device a is not supported message error continue return endif Make sure a window has been opened in this session and get visual depth if d window lt 0 then begin window free pixmap xsize 20 ysize 20 wdelete d window endif device get_visual_depth depth If 8 bit display is low on colors print a message if depth eq 8 and d table_size lt 64 then message Display has less than 64 colors image quality may degrade continue IDENTIFY FILE AND READ IMAGE Identify the file format result query_gif file info if result eq 0 then result query_bmp file info if result eq 0 then result query_pict file info if result eq 0 then result query_tiff file info if result eq 0 then result query_jpeg file info if result eq 0 then begin message File format not recognized continue return endif Fix the channel information for GIF images if info type eq GIF then info channels 1 Read the image case info type of GIF : read_gif file image r g b BMP : begin if info channels eq 1 then begin image read_bmp file r g b endif else begin image read_bmp file image reverse temporary image 1 endelse end PICT : read_pict file image r g b TIFF : begin if info channels eq 1 then begin image read_tiff file r g b order order image reverse temporary image 2 endif else begin image read_tiff file order order image reverse temporary image 3 endelse end JPEG : read_jpeg file image endcase If an 8 bit image was read reduce the number of colors if info channels eq 1 then begin reduce_colors image index r r index g g index b b index endif Get image size dims size image dimensions if n_elements dims eq 2 then begin nx dims 0 ny dims 1 endif else begin nx dims 1 ny dims 2 endelse CREATE A WINDOW Create a draw widget sized to fit the image if not keyword_set current then begin Set default window size scroll 0 xsize nx ysize ny draw_xsize nx draw_ysize ny Adjust the window size if the image is too large device get_screen_size screen screen_xsize screen 0 screen_ysize screen 1 if nx gt screen_xsize then begin xsize 0 9 screen_xsize scroll 1 endif if ny gt screen_ysize then begin ysize 0 9 screen_ysize scroll 1 endif Create the draw widget base widget_base title file draw widget_draw base scroll scroll widget_control draw xsize xsize ysize ysize draw_xsize draw_xsize draw_ysize draw_ysize endif HANDLE IDL 8 BIT MODE if depth eq 8 then begin If the color table of an 8 bit image is larger than the current display table convert the image to 24 bit if info channels eq 1 and n_elements r gt d table_size then begin Convert to 24 bit dims size image dimensions nx dims 0 ny dims 1 true bytarr 3 nx ny true 0 r image true 1 g image true 2 b image image temporary true Reset the number of channels info channels 3 endif If image is 24 bit convert to 8 bit if info channels eq 3 then begin Convert 24 bit image to 8 bit image color_quan image 1 r g b colors d table_size dither keyword_set dither Sort the color table from darkest to brightest table_sum total long r long g long b 2 table_index sort table_sum image_index sort table_index r r table_index g g table_index b b table_index oldimage image image image_index temporary oldimage Reset the number of channels info channels 1 endif endif DISPLAY THE IMAGE Realize the draw widget if not keyword_set current then widget_control base realize Save current decomposed mode and display order device get_decomposed current_decomposed current_order order Set image to display from bottom up order 0 Display the image if info channels eq 1 then begin device decomposed 0 tvlct r g b tv image endif else begin device decomposed 1 tv image true 1 endelse Restore decomposed mode and display order device decomposed current_decomposed order current_order END"); 105 105 a[103] = new Array("./Postscript/closeps.html", "closeps.pro", "", " file_comments Close the Postscript mode when archive_ps ne 0 we add the name and the date at the bottom left corner of the postscript page If the postscript is called idl ps we change its name to number ps number automatically found to be 1 larger that any of the existing ps file keyword INFOWIDGET A long integer giving the id of the information widget created by openps that we have to destroy at the end of closeps when the postscript is done uses cm_4ps history Sebastien Masson smasson lodyc jussieu fr 21 12 98 June 2005: Sebastien Masson english version with new commons version Id: closeps pro 136 2006 07 10 15:20:19Z pinsard PRO closeps INFOWIDGET infowidget compile_opt idl2 strictarrsubs IF lmgr demo EQ 1 THEN return include commons cm_4ps IF NOT keyword_set key_forgetold THEN BEGIN updatenew ENDIF IF d name NE PS THEN GOTO last_part if archive_ps 0 we will add its name and the date at the bottom left corner of the page in case if the postscript will be archived in printps IF keyword_set archive_ps THEN BEGIN we get the name of the latest created postscript psdir isadirectory psdir title Select psdir nameps file_search psdir ps test_regular test_write nosort dates file_info nameps mtime lastdate reverse sort temporary dates 0 nameps nameps lastdate nameps file_basename nameps ps If this name is idl ps then we change it to the number ps IF nameps EQ idl then BEGIN get the name of all the ps or ps gz files available in psdir allps file_search psdir ps ps gz pdf test_regular nosort allps file_basename file_basename allps gz ps allps file_basename allps pdf find which of these names corresponds to numbers get ascii codes of the names testnumb byte allps longest name maxstrlen size testnumb dimensions 0 ascii codes can be 0 or between byte 0 and byte 9 testnumb testnumb EQ 0 OR testnumb GE byte 0 0 AND testnumb LE byte 9 0 testnumb where total testnumb 1 EQ maxstrlen count IF count NE 0 THEN BEGIN get the largest number psnumber fix allps testnumb psnumber psnumber reverse sort psnumber 0 1 ENDIF ELSE psnumber 0 nameps strtrim psnumber 2 ENDIF we annotate the postscript date byte systime 0 we get the date xyouts d x_px_cm d y_px_cm nameps string date 4:10 string date 20:23 device charsize 75 ENDIF close the postscript mode device close last_part: thisOS strupcase strmid version os_family 0 3 CASE thisOS of MAC : SET_PLOT thisOS WIN : SET_PLOT thisOS ELSE: SET_PLOT X ENDCASE def_myuniquetmpdir colorfile myuniquetmpdir original_colors dat IF file_test colorfile regular THEN BEGIN restore colorfile file_delete colorfile quiet reload the original colors tvlct red green blue ENDIF p font 1 force background color to the last color white p BACKGROUND d n_colors 1 255 p color 0 if d n_colors gt 256 then p background ffffff x if keyword_set infowidget then widget_control long infowidget bad_id toto destroy return end"); 106 a[104] = new Array("./Postscript/openps.html", "openps.pro", "", " file_comments switch to postscript mode and define it param namepsin in optional name of the postscript file Extension ps is added if missing It will be stored in the psdir directory keyword FILENAME to define the name of the postscript file through a keyword rather than with nameps input argument in this case the keyword can be pass through different routines via _EXTRA keyword keyword INFOWIDGET If INFOWIDGET is present it specifies a named variable into which the id of the widget giving informations about the postscript creation is stored as a long integer This id is needed by close ps to kill the information widget keyword KEEP_PFONT activate to suppress the modification of p font by default we force p font 0 to make smaller postscripts keyword PORTRAIT keyword LANDSCAPE keyword KEEPPFONT same as keep_pfont keyword LIGHTNESS a scalar used to change the Lightness of the color palette to be able to adjust according to the printer we use the media paper or slide 1 to get darker colors keyword _EXTRA used to pass any keyword to device procedure uses cm_4ps history Sebastien Masson smasson lodyc jussieu fr 21 12 98 1 2 98: ajout de nameps en input 1 9 1999: ajout du mot cle FILENAME et du widget June 2005: Sebastien Masson cleaning english version with new commons version Id: openps pro 167 2006 09 05 12:24:07Z smassonpro openps namepsin FILENAME filename INFOWIDGET infowidget KEEPPFONT keeppfont KEEP_PFONT keep_pfont PORTRAIT portrait LANDSCAPE landscape LIGHTNESS Lightness _extra ex compile_opt idl2 strictarrsubs IF lmgr demo EQ 1 THEN BEGIN dummy report impossible to create a PS in demo mode return ENDIF include commons cm_4ps IF NOT keyword_set key_forgetold THEN BEGIN updatenew ENDIF close the postscript device if we are already in postscript mode IF d name EQ PS THEN device close switch to postscript mode set_plot ps if we use keyword Lightness save the actual color palette in a temporary file to be restored when calling closeps IF n_elements Lightness NE 0 THEN BEGIN IF Lightness NE 1 THEN BEGIN tvlct red green blue get def_myuniquetmpdir save red green blue filename myuniquetmpdir original_colors dat palit Lightness red green blue ENDIF ENDIF we define the name of the file CASE 1 OF n_params EQ 1:nameps namepsin keyword_set filename : nameps filename ELSE:nameps xquestion Name of the postscript file idl ps chkwid ENDCASE make sure that nameps ends with ps nameps file_dirname nameps mark_directory file_basename nameps ps ps add path psdir and check that nameps is ok nameps isafile nameps iodir psdir new we define xsize ysize xoffset et yoffset IF n_elements portrait NE 0 OR n_elements landscape NE 0 THEN key_portrait keyword_set portrait 1 keyword_set landscape if key_portrait EQ 1 then begin xs min page_size ys max page_size xoff 0 yoff 0 ENDIF ELSE BEGIN xs max page_size ys min page_size xoff 0 yoff max page_size ENDELSE We define the device of the postscript mode device color palatino filename strcompress nameps remove_all LANDSCAPE 1 key_portrait PORTRAIT key_portrait xsize xs ysize ys xoffset xoff yoffset yoff bits_per_pixel 8 language_level 2 _extra ex to make smaller postcripts IF NOT keyword_set keeppfont OR keyword_set keep_pfont THEN p font 0 show some informations IF arg_present infowidget THEN infowidget xnotice Postcript file is currently processed RETURN END ");106 a[104] = new Array("./Postscript/openps.html", "openps.pro", "", " file_comments switch to postscript mode and define it param namepsin in optional name of the postscript file Extension ps is added if missing It will be stored in the psdir directory keyword FILENAME to define the name of the postscript file through a keyword rather than with nameps input argument in this case the keyword can be pass through different routines via _EXTRA keyword keyword INFOWIDGET If INFOWIDGET is present it specifies a named variable into which the id of the widget giving information about the postscript creation is stored as a long integer This id is needed by closeps to kill the information widget keyword KEEP_PFONT activate to suppress the modification of p font by default we force p font 0 to make smaller postscripts keyword PORTRAIT keyword LANDSCAPE keyword KEEPPFONT same as keep_pfont keyword LIGHTNESS a scalar used to change the Lightness of the color palette to be able to adjust according to the printer we use the media paper or slide 1 to get darker colors keyword _EXTRA used to pass any keyword to device procedure uses cm_4ps history Sebastien Masson smasson lodyc jussieu fr 21 12 98 1 2 98: ajout de nameps en input 1 9 1999: ajout du mot cle FILENAME et du widget June 2005: Sebastien Masson cleaning english version with new commons version Id: openps pro 186 2006 09 20 10:50:37Z pinsard pro openps namepsin FILENAME filename INFOWIDGET infowidget KEEPPFONT keeppfont KEEP_PFONT keep_pfont PORTRAIT portrait LANDSCAPE landscape LIGHTNESS Lightness _extra ex compile_opt idl2 strictarrsubs IF lmgr demo EQ 1 THEN BEGIN dummy report impossible to create a PS in demo mode return ENDIF include commons cm_4ps IF NOT keyword_set key_forgetold THEN BEGIN updatenew ENDIF close the postscript device if we are already in postscript mode IF d name EQ PS THEN device close switch to postscript mode set_plot ps if we use keyword Lightness save the actual color palette in a temporary file to be restored when calling closeps IF n_elements Lightness NE 0 THEN BEGIN IF Lightness NE 1 THEN BEGIN tvlct red green blue get def_myuniquetmpdir save red green blue filename myuniquetmpdir original_colors dat palit Lightness red green blue ENDIF ENDIF we define the name of the file CASE 1 OF n_params EQ 1:nameps namepsin keyword_set filename : nameps filename ELSE:nameps xquestion Name of the postscript file idl ps chkwid ENDCASE make sure that nameps ends with ps nameps file_dirname nameps mark_directory file_basename nameps ps ps add path psdir and check that nameps is ok nameps isafile nameps iodir psdir new we define xsize ysize xoffset et yoffset IF n_elements portrait NE 0 OR n_elements landscape NE 0 THEN key_portrait keyword_set portrait 1 keyword_set landscape if key_portrait EQ 1 then begin xs min page_size ys max page_size xoff 0 yoff 0 ENDIF ELSE BEGIN xs max page_size ys min page_size xoff 0 yoff max page_size ENDELSE We define the device of the postscript mode device color palatino filename strcompress nameps remove_all LANDSCAPE 1 key_portrait PORTRAIT key_portrait xsize xs ysize ys xoffset xoff yoffset yoff bits_per_pixel 8 language_level 2 _extra ex to make smaller postcripts IF NOT keyword_set keeppfont OR keyword_set keep_pfont THEN p font 0 show some informations IF arg_present infowidget THEN infowidget xnotice Postcript file is currently processed RETURN END "); 107 107 a[105] = new Array("./Postscript/printps.html", "printps.pro", "", " file_comments archiving possibilities if archive_ps common variable of cm_4ps ne 0 then the postscript can be saved for archiving if it is printed or if the button archive ps is pressed if it is printed and archive_ps 1 then the archiving is done automatically whereas we ask if the postscript file must be archived or not If the postscript name is idl ps default name then this name will be changed to number ps number automatically found to be 1 larger that any of the existing ps file categories Postscripts param event restrictions 1 this is working only with unix linux osX machines 2 definition of the printing command the printing command is defined by the common variable print_command in cm_4ps This command must be defined build in a way that it the instruction: print_command i printer_machine_names i file ps or print_command printer_machine_names i file ps is working default definition is lpr P history Sebastien Masson smasson lodyc jussieu fr 21 12 98 25 8 19999 utilisation des widgets 8 9 1999 utilisation de cw_bgroup June 2005: Sebastien Masson: cleaning English version with new commons version Id: printps pro 157 2006 08 21 09:01:50Z navarro PRO printps_event event include commons compile_opt idl2 strictarrsubs cm_4ps IF NOT keyword_set key_forgetold THEN BEGIN updatenew ENDIF What kind of event do we have widget_control event id get_uvalue uval case on the event CASE uval name OF visualize case : postscript visualization visualize :BEGIN paper orientation if key_portrait EQ 1 then ori portrait ELSE ori seascape paper format CASE round 10 total page_size OF round 10 83 9611 118 816 : papsize a0 round 10 59 4078 83 9611 : papsize a1 round 10 41 9806 59 4078 : papsize a2 round 10 29 7039 41 9806 : papsize a3 round 10 20 9903 29 7039 : papsize a4 round 10 14 8519 20 9903 : papsize a5 round 10 10 4775 14 8519 : papsize a6 round 10 7 40833 10 4775 : papsize a7 round 10 5 22111 7 40833 : papsize a8 round 10 3 70417 5 22111 : papsize a9 round 10 2 61056 3 70417 : papsize a10 round 10 100 048 141 393 : papsize b0 round 10 70 6967 100 048 : papsize b1 round 10 50 0239 70 6967 : papsize b2 round 10 35 3483 50 0239 : papsize b3 round 10 25 0119 35 3483 : papsize b4 round 10 17 6742 25 0119 : papsize b5 round 10 22 86 30 48 : papsize archA round 10 30 48 45 72 : papsize archB round 10 45 72 60 96 : papsize archC round 10 60 96 91 44 : papsize archD round 10 91 44 121 92 : papsize archE round 10 21 59 33 02 : papsize flsa round 10 21 59 33 02 : papsize flse round 10 13 97 21 59 : papsize halfletter round 10 19 05 25 4 : papsize note round 10 21 59 27 94 : papsize letter round 10 21 59 35 56 : papsize legal round 10 27 94 43 18 : papsize 11x17 round 10 43 18 27 94 : papsize ledger ELSE:papsize a4 ENDCASE call the viewers CASE event value OF Ghostview :spawn ghostview papsize quiet ori uval nameps Ghostscript :spawn gs sPAPERSIZE papsize q uval nameps Kghostview :spawn kghostview uval nameps ENDCASE return END print case: print and archive the file if needed print :BEGIN printer selection printer printer_machine_names event value print CASE n_elements print_command OF 0:ptcmd lpr P 1:ptcmd print_command 0 n_elements printer_machine_names :ptcmd print_command event value ELSE:BEGIN ng report bad definition of print_command common variable of cm_4ps C we did not print the postscript file simple return END ENDCASE spawn ptcmd printer uval nameps printing informations spawn lpq P imprimante l info display them xdisplayfile nothing text info title Printing Info file_basename uval nameps height n_elements info printps history Sebastien Masson smasson lodyc jussieu fr 21 12 98 25 8 19999 utilisation des widgets 8 9 1999 utilisation de cw_bgroup June 2005: Sebastien Masson: cleaning English version with new commons version Id: printps pro 157 2006 08 21 09:01:50Z navarro PRO printps psfilename this is working only with unix linux osX machines compile_opt idl2 strictarrsubs thisOS strupcase strmid version os_family 0 3 CASE thisOS OF MAC :return WIN :return ELSE: ENDCASE include commons cm_4ps IF NOT keyword_set key_forgetold THEN BEGIN updatenew ENDIF we get the name of the latest created postscript psdir isadirectory psdir title Select psdir CASE N_PARAMS OF 0: BEGIN nameps file_search psdir ps test_regular nosort IF nameps 0 EQ THEN BEGIN ras report no postsrcipt file ending with ps found in : psdir RETURN ENDIF dates file_info nameps mtime lastdate reverse sort temporary dates 0 nameps nameps lastdate END 1: nameps psfilename ELSE: BEGIN ras report printps accept only one element: psfilename RETURN END ENDCASE we check if the file is exist in psdir if necessary we complete its name with ps and or gz nameps find nameps ps gz iodir psdir nopro IF nameps EQ NOT FOUND THEN BEGIN ng report file nameps ps gz does not exist return ENDIF gzipped strpos nameps gz if the file is gzipped we call gunzip et change its name IF gzipped NE 1 THEN BEGIN spawn gunzip nameps nameps strmid nameps 0 gzipped endif build the widget base widget_base row title Postscript file: file_basename nameps ps viewers grouped button psviewers no psviewers found IF file_which getenv PATH ghostview NE THEN psviewers psviewers Ghostview IF file_which getenv PATH gs NE THEN psviewers psviewers Ghostscript IF file_which getenv PATH kghostview NE THEN psviewers psviewers Kghostview if at least one of viewer was found we define these buttons IF n_elements psviewers GT 1 THEN BEGIN psviewers psviewers 1: notused cw_bgroup base psviewers frame label_top Visualize uvalue name: visualize nameps:nameps column return_name ENDIF printers list grouped buttons are the common variables printer_human_names and printer_human_names defined in a proper way CASE 1 OF n_elements printer_human_names eq 0: noting report the cm_4ps variable printer_human_names is not defined CWe could not propose any printer simple n_elements printer_human_names NE n_elements printer_machine_names : noting report the cm_4ps variables printer_human_names and Cprinter_machine_names do not have the same number of arguments CWe could not propose any printer simple printer_human_names 0 EQ : ELSE:notused cw_bgroup base printer_human_names frame column label_top Select printer uvalue name: print nameps:nameps gzip:gzipped NE 1 ENDCASE archive ps button can be created only if archive_ps ne 0 IF keyword_set archive_ps THEN notused widget_button base value archive ps uvalue name: archive nameps:nameps gzip:gzipped NE 1 quit button notused widget_button base value quit uvalue name: quit nameps:nameps gzip:gzipped NE 1 widget_control base realize xmanager printps base no_block return end"); 108 108 a[106] = new Array("./ReadWrite/idl-NetCDF/ncdf_listdims.html", "ncdf_listdims.pro", "", " file_comments categories param NCID restrictions examples history version Id: ncdf_listdims pro 157 2006 08 21 09:01:50Z navarro FUNCTION ncdf_listdims ncid compile_opt idl2 strictarrsubs n ncdf_inquire ncid ndims names strarr n for i 0 n 1 do begin ncdf_diminq ncid i name size names i name endfor return names end"); … … 245 245 a[243] = new Array("./ToBeReviewed/LECTURE/ncdf_lec.html", "ncdf_lec.pro", "", " file_comments Give informations on a file net cdf and allows to recuperate variables which are write in categories Reading param NOM in required Name of a file net cdf situated in the directory stipulated by iodir keyword ATT global or at the name of a variable Allows to see all attributes joined at a variable keyword DIM Give the list of dimensions keyword VAR 1 var: Gove the list of dimensions 2 var nom de variable : in this case the function send back the variable keyword IODIR String containing the directory containing the file to be read keyword _EXTRA Allows to pass keywords defined by IDL to functions NETCDF particularly OFFSET and COUNT in ncdf_varget returns 1 except if var nom de variable then the function send back the variable restrictions Variables s names of the program are similar to these used by the IDL manual scientific data formats history Sebastien Masson smasson lodyc jussieu fr 4 1 98 version Id: ncdf_lec pro 163 2006 08 29 12:59:46Z navarro function ncdf_lec nom ATT att DIM dim VAR var IODIR iodir _extra ex compile_opt idl2 strictarrsubs res 1 if NOT keyword_set IODIR then iodir if not keyword_set att or keyword_set dim or keyword_set var then BEGIN att 1 dim 1 var 1 commande ncdump c iodir nom spawn commande goto fini endif opening of the file name cdfid ncdf_open iodir nom Wht does the file contain wathinside ncdf_inquire cdfid print in the file iodir nom there are: if keyword_set dim then begin print nombre de dimensions: strtrim wathinside ndims 1 print numero de la dimension dont la valeur est infini: strtrim wathinside recdim 1 endif if keyword_set var then if size var type NE 7 then print nombre de variables : strtrim wathinside nvars 1 if keyword_set att then begin if strlowcase att ne global then goto nonglobal print nombre de attributs globaux : strtrim wathinside ngatts 1 endif Global attributes if keyword_set att then begin print print ATTRIBUTS GLOBAUX for attiq 0 wathinside ngatts 1 do begin name ncdf_attname cdfid attiq global attribute s name ncdf_attget cdfid name value global attribute s value print name : string value endfor endif nonglobal: Display of different dimensions if keyword_set dim then begin print print DIMENSIONS endif nomdim strarr wathinside ndims tailledim lonarr wathinside ndims for dimiq 0 wathinside ndims 1 do begin ncdf_diminq cdfid dimiq name value dimension s name and value nomdim dimiq name tailledim dimiq value if keyword_set dim then begin print dimension numero strtrim dimiq 1 nom: nomdim dimiq valeur: strtrim tailledim dimiq 1 endif endfor Display of different variables if keyword_set att or keyword_set var then begin var s value string or 1 help var output nature if strpos nature STRING 0 NE 1 then nature string ELSE nature 1 If we just have to read the variable if nature EQ string then begin ncdf_varget cdfid var res _extra ex GOTO sortie ENDIF If it is to have pieces of information if not keyword_set att then att rien print for varid 0 wathinside nvars 1 do begin varcontent ncdf_varinq cdfid varid What does variable contain if strlowcase att eq strlowcase varcontent name or keyword_set var then begin print variable numero: strtrim varid 1 nom: varcontent name type: varcontent datatype dimensions: nomdim varcontent dim if strlowcase att eq strlowcase varcontent name then begin for attiq 0 varcontent natts 1 do begin name ncdf_attname cdfid varid attiq ncdf_attget cdfid varid name value print strtrim attiq name : strtrim string value 1 endfor goto sortie endif endif endfor endif sortie: ncdf_close cdfid fini: return res end"); 246 246 a[244] = new Array("./ToBeReviewed/LECTURE/read_ftp.html", "read_ftp.pro", "", " file_comments categories param U param CMD param RES keyword OUT keyword COUNT Upon return the number of elements in the result set This is only important when the result set is the empty set in which case COUNT is set to zero restrictions examples history version Id: read_ftp pro 157 2006 08 21 09:01:50Z navarro pro ftp_post u cmd res out out count count compile_opt idl2 if cmd ne then begin printf u cmd format a comment out the following line to disable debug info print cmd endif if size out type eq 0 then out 2 catch err if err ne 0 then return line count 0 while arg_present res do begin readf u line if count eq 0 then res line else res res line count count 1 comment out the following line to disable debug info print READ_FTP ftp: ftp rsinc com pub gzip README GZIP DATA data IDL help data DATA BYTE Array 2134 IDL print string data README file: Research Systems Anonymous FTP site ftp rsinc com pub directory gzip directory 2 Retrieve some files from podaac jpl nasa gov and store the files in the current working directory: IDL files string lindgen 10 50 format MGB370 3 3d gz IDL READ_FTP podaac jpl nasa gov files IDL pub sea_surface_height topex_poseidon mgdrb data MGB_370 FILE IDL spawn dir MGB log_output Volume in drive C is Local Disk Volume Serial Number is 34CE 24DF Directory of C: test test0307 07 28 2003 11:58a 362 167 MGB370 050 gz 07 28 2003 11:58a 333 005 MGB370 051 gz 07 28 2003 11:58a 310 287 MGB370 052 gz 07 28 2003 11:58a 358 771 MGB370 053 gz 07 28 2003 11:59a 387 282 MGB370 054 gz 07 28 2003 11:59a 361 633 MGB370 055 gz 07 28 2003 11:59a 383 075 MGB370 056 gz 07 28 2003 11:59a 365 844 MGB370 057 gz 07 28 2003 11:59a 383 918 MGB370 058 gz 07 28 2003 12:00p 372 712 MGB370 059 gz 10 File s 3 618 694 bytes These compressed files can cosequently be opened with OPENR and the COMPRESSED keyword history version Id: read_ftp pro 157 2006 08 21 09:01:50Z navarro todo seb: que fait on de syntax au debut du header give examples with date in year 0 should not exists but may happen pro read_ftp site files dir port data data file file user user pass pass ptr ptr compile_opt idl2 if n_elements port eq 0 then port ftp if n_elements files eq 0 then begin if strcmp site ftp: 6 then host strmid site 6 else host site pos strpos host dir strmid host pos host strmid host 0 pos pos strpos dir reverse_search files strmid dir pos 1 dir strmid dir 0 pos endif else host site if size user type eq 0 then user anonymous if size pass type eq 0 then pass test test com socket u host port connect_timeout 5 read_timeout 5 get_lun ftp_post u res ftp_post u USER user res out 3 ftp_post u PASS pass res ftp_post u TYPE I res if size dir type ne 0 then ftp_post u CWD dir res if keyword_set file or arg_present data then begin bufsize 512 buffer bytarr bufsize n n_elements files if arg_present data then dat ptrarr n for i 0 n 1 do begin ftp_post u SIZE files i res out 213 sz long64 strmid res n_elements res 1 4 if arg_present data then dat i ptr_new bytarr sz ftp_post u PASV res ftp_parse_pasv res host port ftp_post u RETR files i res out 1 socket v host port connect_timeout 5 read_timeout 5 get_lun rawio tc 0ll if keyword_set file then openw w files i get_lun while tc lt sz do begin if sz tc lt bufsize then begin bufsize sz tc buffer bytarr bufsize endif readu v buffer transfer_count dtc if arg_present data then dat i tc dtc eq bufsize buffer:buffer 0:dtc 1 if keyword_set file then writeu w dtc eq bufsize buffer:buffer 0:dtc 1 tc tc dtc endwhile free_lun v if keyword_set file then free_lun w ftp_post u res endfor if arg_present data then begin if n gt 1 or keyword_set ptr then data dat else data temporary dat 0 endif endif ftp_post u QUIT res free_lun u end"); 247 a[245] = new Array("./ToBeReviewed/LECTURE/read_ncdf.html", "read_ncdf.pro", "", " file_comments Reading function for the file net_cdf This program is less universal than ncdf_lec it appeal to declared variables in common pro but it is very easier to be used It considerate the declaration of the different zooms which have been defined ixminmesh premierx the declaration of the variable key_shift To put it in a nutshell the result of read_ncdf can be directly used in plt This is also this program which is used by default in our reading widgets categories Reading param NAME in required type string It define the field to be read param BEGINNING in required Relative with the time axis These can be 2 date of the type yyyymmdd and in this case we select dates which are included between these two dates 2 indexes which define between which and which time step we have to extract the temporal dimension param ENDING in required Relative with the time axis See BEGINNING param COMPATIBILITY in optional Useless defined for compatibility keyword BOXZOOM Contain the boxzoom on which we have to do the reading keyword CALLITSELF default 0 type scalar: 0 or 1 For ROMS outputs Use by read_ncdf itself to access auxilliary data h and zeta keyword FILENAME required type string It contains he file s name keyword INIT default 0 type scalar: 0 or 1 To call automatically initncdf filename and thus redefine all the grid parameters keyword GRID UTVWF to specify the type of grid Default is 1 based on the name of the file if the file ends by GRID _ TUVFW NC not case sensible or 2 T if case 1 is not found keyword TIMESTEP default 0 type scalar: 0 or 1 Specify that BEGINNING and ENDING refer to indexes of the time axis and not to dates keyword TOUT default 0 type scalar: 0 or 1 We activate it if we want to read the file on the whole domain without considerate the sub domain defined by the boxzoom or lon1 lon2 lat1 lat2 vert1 vert2 keyword NOSTRUCT default 0 type scalar: 0 or 1 We activate it if we do not want that read_ncdf send back a structure but only the array referring to the field keyword TIMEVAR type string It define the name of the variable that contains the time axis This keyword can be useful if there is no unlimited dimension or if the time axis selected by default the first 1D array with unlimited dimension is not the good one keyword HFILENAME default FILENAME type string For ROMS outputs The filename of the file where h vriable should be read keyword ZETAFILENAME default FILENAME type string For ROMS outputs The filename of the file where zeta vriable should be read keyword ZETAZERO default 0 type scalar: 0 or 1 For ROMS outputs To define zeta to 0 instead of reading it keyword _EXTRA Used to pass your keywords returns Structure readable by litchamp pro or an array if NOSTRUCT is activated uses common pro restrictions The field must have a temporal dimension history Sebastien Masson smasson lodyc jussieu fr 15 10 1999 version Id: read_ncdf pro 1 74 2006 09 12 07:07:57Z smasson FUNCTION read_ncdf name beginning ending compatibility BOXZOOM boxzoom FILENAME filename PARENTIN parentin TIMESTEP timestep TIMEVAR timevar TOUT tout NOSTRUCT nostruct CONT_NOFILL CONT_NOFILL INIT init GRID grid FBASE2TBASE fbase2tbase CALLITSELF callitself HFILENAME hfilename ZETAFILENAME zetafilename ZETAZERO zetazero _EXTRA ex compile_opt idl2 strictarrsubs cm_4mesh cm_4data cm_4cal IF NOT keyword_set key_forgetold THEN BEGIN updatenew updatekwd ENDIF we find the filename print filename is parent a valid widget if keyword_set parentin then BEGIN parent long parentin parent parent widget_info parent managed ENDIF filename isafile filename filename IODIRECTORY iodir _EXTRA ex Opening of the name file if size filename type NE 7 then return report read_ncdf cancelled IF version OS_FAMILY EQ unix THEN spawn file filename dev null cdfid ncdf_open filename contient ncdf_inquire cdfid we check if the variable name exists in the file if ncdf_varid cdfid name EQ 1 then BEGIN ncdf_close cdfid return report variable name C not found in the file filename ENDIF varcontient ncdf_varinq cdfid name IF varcontient ndims LT 2 THEN return report read_ncdf cannot read scalar or 1D data look for the dimension names dimnames strarr varcontient ndims FOR i 0 varcontient ndims 1 DO BEGIN ncdf_diminq cdfid varcontient dim i tmp dimsize dimnames i tmp ENDFOR shall we redefine the grid parameters if keyword_set init THEN initncdf filename _extra ex check the time axis and the debut and ending dates if n_elements beginning EQ 0 then begin beginning 0 timestep 1 endif if keyword_set timestep then begin firsttps beginning 0 if n_elements ending NE 0 then lasttps ending 0 ELSE lasttps firsttps jpt lasttps firsttps 1 IF NOT keyword_set callitself then time julday 1 1 1 lindgen jpt ENDIF ELSE BEGIN if keyword_set parent then BEGIN widget_control parent get_uvalue top_uvalue filelist extractatt top_uvalue filelist IF filelist 0 EQ many THEN filelist filename currentfile where filelist EQ filename 0 time extractatt top_uvalue fileparameters currentfile time_counter date1 date2jul beginning 0 if n_elements ending NE 0 then date2 date2jul ending 0 ELSE date2 date1 firsttps where time EQ date1 firsttps firsttps 0 lasttps where time EQ date2 lasttps lasttps 0 ENDIF ELSE BEGIN IF keyword_set timevar THEN BEGIN timeid ncdf_varid cdfid timevar IF timeid EQ 1 THEN BEGIN ncdf_close cdfid return report the file filename as no variable timevar C Use the TIMESTEP keyword endif timecontient ncdf_varinq cdfid timeid contient recdim timecontient dim 0 ENDIF ELSE BEGIN we find the infinite dimension timedim contient recdim if timedim EQ 1 then BEGIN ncdf_close cdfid return report the file filename as no infinite dimension C Use TIMESTEP or TIMEVAR keyword endif we find the FIRST time axis timeid 0 repeat BEGIN As long as we have not find a variable having only one dimension: the infinite one timecontient ncdf_varinq cdfid timeid that the variable contain timeid timeid 1 endrep until n_elements timecontient dim EQ 1 AND timecontient dim 0 EQ contient recdim OR timeid EQ contient nvars 1 if timeid EQ contient nvars 1 then BEGIN ncdf_close cdfid return report the file filename as no time axis variable C Use the TIMESTEP keyword endif timeid timeid 1 ENDELSE we must found the time origin of the julian calendar used in the time axis does the attribut units an dcalendar exist for the variable time axis if timecontient natts EQ 0 then BEGIN ncdf_close cdfid return report the variable timecontient name has no attribut C Use the TIMESTEP keyword or add the attribut units to the variable endif attnames strarr timecontient natts for attiq 0 timecontient natts 1 do attnames attiq ncdf_attname cdfid timeid attiq if where attnames EQ units 0 EQ 1 then BEGIN ncdf_close cdfid return report Attribut units not found for the variable timecontient name C Use the TIMESTEP keyword ENDIF now we try to find the attribut called calendar the attribute calendar exists If no we suppose that the calendar is gregorian calendar if where attnames EQ calendar 0 NE 1 then BEGIN ncdf_attget cdfid timeid calendar value value string value CASE value OF noleap :key_caltype noleap 360d :key_caltype 360d greg :IF n_elements key_caltype EQ 0 THEN key_caltype greg ELSE:BEGIN notused report Unknown calendar: value we use greg calendar key_caltype greg END ENDCASE ENDIF ELSE BEGIN notused report Unknown calendar we use key_caltype calendar IF n_elements key_caltype EQ 0 THEN key_caltype greg ENDELSE now we take acre of units attribut ncdf_attget cdfid timeid units value time_counter:units seconds since 0001 01 01 00:00:00 time_counter:units hours since 0001 01 01 00:00:00 time_counter:units days since 1979 01 01 00:00:00 time_counter:units months since 1979 01 01 00:00:00 time_counter:units years since 1979 01 01 00:00:00 we decript the units attribut to find the time origin value strtrim strcompress string value 2 mots str_sep value unite mots 0 IF unite NE seconds AND unite NE hours AND unite NE days AND unite NE months AND unite NE years THEN BEGIN ncdf_close cdfid return report time units does not start with seconds hours days months years ENDIF IF stregex value since 0 9 4 0 9 2 0 9 2 boolean EQ 0 THEN BEGIN ncdf_close cdfid return report attribut units of time has not the good format: since 0 9 4 0 9 2 0 9 2 ENDIF depart str_sep mots 2 ncdf_varget cdfid timeid time time double time unite strlowcase unite IF strpos unite s strlen unite 1 NE 1 THEN unite strmid unite 0 strlen unite 1 IF strpos unite julian_ NE 1 THEN unite strmid unite 7 case unite of second :time julday depart 1 depart 2 depart 0 time 86400 d hour :time julday depart 1 depart 2 depart 0 time 24 d day :time julday depart 1 depart 2 depart 0 time month :BEGIN if total fix time NE time NE 0 then we switch to days with 30d m time julday depart 1 depart 2 depart 0 round time 30 ELSE for t 0 n_elements time 1 DO time t julday depart 1 time t depart 2 depart 0 END year :BEGIN if total fix time NE time NE 0 then we switch to days with 365d y time julday depart 1 depart 2 depart 0 round time 365 ELSE for t 0 n_elements time 1 do time t julday depart 1 depart 2 depart 0 time t END ELSE:BEGIN ncdf_close cdfid return report The units attribute of the time axis must be something like: C seconds since 0001 01 01 C days since 1979 01 01 C months since 1979 01 01 C years since 1979 01 01 end ENDCASE date1 date2jul beginning 0 if n_elements ending NE 0 then date2 date2jul ending 0 ELSE date2 date1 time double time firsttps where time GE date1 firsttps firsttps 0 if firsttps EQ 1 THEN BEGIN ncdf_close cdfid return report date 1: strtrim jul2date date1 1 is not found in the time axis ENDIF lasttps where time LE date2 if lasttps 0 EQ 1 THEN BEGIN ncdf_close cdfid return report the time axis as no date before date 2: strtrim jul2date date2 1 endif lasttps lasttps n_elements lasttps 1 if lasttps LT firsttps then BEGIN ncdf_close cdfid return report the time axis as no dates between date1 and date 2: strtrim jul2date date1 1 strtrim jul2date date2 1 endif ENDELSE time time firsttps:lasttps jpt lasttps firsttps 1 ENDELSE Name of the grid on which the field refer to IF keyword_set grid THEN vargrid strupcase grid ELSE BEGIN vargrid T default definition IF finite glamu 0 EQ 1 THEN BEGIN are we in one of the case corresponding to ROMS conventions CASE 1 OF dimnames 2 long key_stride key_shift long testvar var key_shift IF n_elements key_yreverse EQ 0 THEN key_yreverse 0 IF keyword_set key_yreverse THEN BEGIN tmp jpj 1 firsty firsty jpj 1 lasty lasty tmp ENDIF IF n_elements key_zreverse EQ 0 THEN key_zreverse 0 IF keyword_set key_zreverse THEN BEGIN tmp jpk 1 firstz firstz jpk 1 lastz lastz tmp ENDIF IF keyword_set fbase2tbase THEN BEGIN case strupcase vargrid of U :BEGIN IF NOT keyword_set key_periodic THEN BEGIN firstx firstx 1 lastx lastx 1 ENDIF END V :BEGIN firsty firsty 1 lasty lasty 1 END F :BEGIN firsty firsty 1 lasty lasty 1 IF NOT keyword_set key_periodic THEN BEGIN firstx firstx 1 lastx lastx 1 ENDIF END ELSE: endcase ENDIF IF keyword_set fbase2tbase AND keyword_set key_periodic AND strupcase vargrid EQ U OR strupcase vargrid EQ F THEN key_shift key_shift 1 read_ncdf_varget IF keyword_set fbase2tbase AND keyword_set key_periodic AND strupcase vargrid EQ U OR strupcase vargrid EQ F THEN key_shift key_shift 1 We define global variable joined with the variable varname IF NOT keyword_set callitself THEN varname name varunit if varcontient natts NE 0 then begin attnames strarr varcontient natts for attiq 0 varcontient natts 1 do attnames attiq ncdf_attname cdfid name attiq lowattnames strlowcase attnames found where lowattnames EQ units 0 IF found NE 1 then ncdf_attget cdfid name attnames found value ELSE value IF NOT keyword_set callitself THEN varunit strtrim string value 2 found where lowattnames EQ add_offset 0 if found NE 1 then ncdf_attget cdfid name attnames found add_offset ELSE add_offset 0 found where lowattnames EQ scale_factor 0 if found NE 1 then ncdf_attget cdfid name attnames found scale_factor ELSE scale_factor 1 missing_value no found where lowattnames EQ _fillvalue 0 if found NE 1 then ncdf_attget cdfid name attnames found missing_value found where lowattnames EQ missing_value 0 if found NE 1 then ncdf_attget cdfid name attnames found missing_value ENDIF ELSE BEGIN IF NOT keyword_set callitself THEN varunit add_offset 0 scale_factor 1 missing_value no ENDELSE vardate We make a legible date in function of the specified language year long beginning 0 10000 month long beginning 0 100 MOD 100 day long beginning 0 MOD 100 vardate string format C CMoA 31 month 1 strtrim day 1 strtrim year 1 varexp file_basename filename we apply reverse if keyword_set key_yreverse AND ny NE 1 THEN res reverse reform res nx ny nz jpt overwrite 2 if keyword_set key_zreverse AND nz NE 1 AND varcontient ndims where varcontient dim EQ contient recdim 0 NE 1 EQ 3 THEN res reverse reform res nx ny nz jpt overwrite 3 We apply the value valmask on land points if NOT keyword_set cont_nofill then begin valmask 1e20 case 1 of varcontient ndims eq 2:BEGIN xy array mask mask 0 earth where mask EQ 0 END varcontient ndims eq 3 AND where varcontient dim EQ contient recdim 0 EQ 1:BEGIN xyz array earth where mask EQ 0 END varcontient ndims eq 3 AND where varcontient dim EQ contient recdim 0 NE 1:BEGIN xyt array mask mask 0 earth where mask EQ 0 if earth 0 NE 1 then BEGIN earth earth replicate 1 jpt replicate nx ny n_elements earth lindgen jpt END END varcontient ndims eq 4:BEGIN xyzt array earth where mask EQ 0 if earth 0 NE 1 then BEGIN earth earth replicate 1 jpt replicate nx ny nz n_elements earth lindgen jpt END END endcase ENDIF ELSE earth 1 we look for missing_value IF size missing_value type NE 7 then BEGIN IF size missing_value type EQ 1 THEN BEGIN IF isnumber string missing_value tmp EQ 1 THEN missing_value tmp ENDIF if missing_value NE valmask then begin if abs missing_value LT 1e6 then missing where res EQ missing_value ELSE missing where abs res gt abs missing_value 10 ENDIF ELSE missing 1 ENDIF ELSE missing 1 we apply add_offset scale_factor and missing_value if scale_factor NE 1 then res temporary res scale_factor if add_offset NE 0 then res temporary res add_offset if missing 0 NE 1 then res temporary missing values f_nan if earth 0 NE 1 then res temporary earth 1 e20 if it is roms outputs we need to get additionals infos IF NOT keyword_set callitself THEN BEGIN IF strmid dimnames 0 0 3 EQ xi_ AND strmid dimnames 1 0 4 EQ eta_ THEN BEGIN ncdf_attget cdfid theta_s theta_s global ncdf_attget cdfid theta_b theta_b global ncdf_attget cdfid hc hc global look for all variables names allvarnames strarr varcontient nvars FOR i 0 varcontient nvars 1 DO BEGIN tmp ncdf_varinq cdfid i allvarnames i tmp name ENDFOR CASE 1 OF keyword_set hfilename : hroms read_ncdf h 0 0 FILENAME hfile TIMESTEP NOSTRUCT CONT_NOFILL CONT_NOFILL GRID vargrid CALLITSELF _EXTRA ex where allvarnames EQ h 0 NE 1: hroms read_ncdf h 0 0 FILENAME filename TIMESTEP NOSTRUCT CONT_NOFILL CONT_NOFILL GRID vargrid CALLITSELF _EXTRA ex ELSE:return report The variable h was not found in the file please use the keyword HFILENAME to specify the name of a file containing h ENDCASE CASE 1 OF keyword_set zetazero :zeta fltarr nx ny jpt keyword_set zetafilename : zeta read_ncdf zeta firsttps lasttps FILENAME zetafilename TIMESTEP NOSTRUCT CONT_NOFILL CONT_NOFILL GRID vargrid CALLITSELF _EXTRA ex where allvarnames EQ h0 NE 1: zeta read_ncdf zeta firsttps lasttps FILENAME filename TIMESTEP NOSTRUCT CONT_NOFILL CONT_NOFILL GRID vargrid CALLITSELF _EXTRA ex ELSE:return report The variable zeta was not found in the file please use the keyword ZETAFILENAME to specify the name of a file containing zeta or use keyword ZETAZERO to define zeta to 0 ENDCASE romszinfos h:temporary hroms zeta:temporary zeta theta_s:theta_s theta_b:theta_b hc:hc ENDIF ELSE romszinfos h: 1 zeta: 1 theta_s: 1 theta_b: 1 hc: 1 ENDIF ncdf_close cdfid IF keyword_set savedbox THEN restoreboxparam boxparam4rdncdf dat IF keyword_set nostruct THEN return res IF keyword_set key_forgetold THEN BEGIN return arr:temporary res grid:vargrid unit:varunit experiment:varexp name:varname ENDIF ELSE BEGIN return tab:temporary res grille:vargrid unite:varunit experience:varexp nom:varname ENDELSE END ");247 a[245] = new Array("./ToBeReviewed/LECTURE/read_ncdf.html", "read_ncdf.pro", "", " file_comments Reading function for the file net_cdf This program is less universal than ncdf_lec it appeal to declared variables in common pro but it is very easier to be used It considerate the declaration of the different zooms which have been defined ixminmesh premierx the declaration of the variable key_shift To put it in a nutshell the result of read_ncdf can be directly used in plt This is also this program which is used by default in our reading widgets categories Reading param NAME in required type string It define the field to be read param BEGINNING in required Relative with the time axis These can be 2 date of the type yyyymmdd and in this case we select dates which are included between these two dates 2 indexes which define between which and which time step we have to extract the temporal dimension param ENDING in required Relative with the time axis See BEGINNING param COMPATIBILITY in optional Useless defined for compatibility keyword BOXZOOM Contain the boxzoom on which we have to do the reading keyword CALLITSELF default 0 type scalar: 0 or 1 For ROMS outputs Use by read_ncdf itself to access auxilliary data h and zeta keyword FILENAME required type string It contains he file s name keyword INIT default 0 type scalar: 0 or 1 To call automatically initncdf filename and thus redefine all the grid parameters keyword GRID UTVWF to specify the type of grid Default is 1 based on the name of the file if the file ends by GRID _ TUVFW NC not case sensible or 2 T if case 1 is not found keyword TIMESTEP default 0 type scalar: 0 or 1 Specify that BEGINNING and ENDING refer to indexes of the time axis and not to dates keyword TOUT default 0 type scalar: 0 or 1 We activate it if we want to read the file on the whole domain without considerate the sub domain defined by the boxzoom or lon1 lon2 lat1 lat2 vert1 vert2 keyword NOSTRUCT default 0 type scalar: 0 or 1 We activate it if we do not want that read_ncdf send back a structure but only the array referring to the field keyword TIMEVAR type string It define the name of the variable that contains the time axis This keyword can be useful if there is no unlimited dimension or if the time axis selected by default the first 1D array with unlimited dimension is not the good one keyword HFILENAME default FILENAME type string For ROMS outputs The filename of the file where h vriable should be read keyword ZETAFILENAME default FILENAME type string For ROMS outputs The filename of the file where zeta vriable should be read keyword ZETAZERO default 0 type scalar: 0 or 1 For ROMS outputs To define zeta to 0 instead of reading it keyword _EXTRA Used to pass your keywords returns Structure readable by litchamp pro or an array if NOSTRUCT is activated uses common pro restrictions The field must have a temporal dimension history Sebastien Masson smasson lodyc jussieu fr 15 10 1999 version Id: read_ncdf pro 181 2006 09 15 08:24:36Z smasson FUNCTION read_ncdf name beginning ending compatibility BOXZOOM boxzoom FILENAME filename PARENTIN parentin TIMESTEP timestep TIMEVAR timevar TOUT tout NOSTRUCT nostruct CONT_NOFILL CONT_NOFILL INIT init GRID grid FBASE2TBASE fbase2tbase CALLITSELF callitself HFILENAME hfilename ZETAFILENAME zetafilename ZETAZERO zetazero _EXTRA ex compile_opt idl2 strictarrsubs cm_4mesh cm_4data cm_4cal IF NOT keyword_set key_forgetold THEN BEGIN updatenew updatekwd ENDIF we find the filename print filename is parent a valid widget if keyword_set parentin then BEGIN parent long parentin parent parent widget_info parent managed ENDIF filename isafile filename filename IODIRECTORY iodir _EXTRA ex Opening of the name file if size filename type NE 7 then return report read_ncdf cancelled IF version OS_FAMILY EQ unix THEN spawn file filename dev null cdfid ncdf_open filename contient ncdf_inquire cdfid we check if the variable name exists in the file if ncdf_varid cdfid name EQ 1 then BEGIN ncdf_close cdfid return report variable name C not found in the file filename ENDIF varcontient ncdf_varinq cdfid name IF varcontient ndims LT 2 THEN return report read_ncdf cannot read scalar or 1D data look for the dimension names dimnames strarr varcontient ndims FOR i 0 varcontient ndims 1 DO BEGIN ncdf_diminq cdfid varcontient dim i tmp dimsize dimnames i tmp ENDFOR shall we redefine the grid parameters if keyword_set init THEN initncdf filename _extra ex check the time axis and the debut and ending dates if n_elements beginning EQ 0 then begin beginning 0 timestep 1 endif if keyword_set timestep then begin firsttps beginning 0 if n_elements ending NE 0 then lasttps ending 0 ELSE lasttps firsttps jpt lasttps firsttps 1 IF NOT keyword_set callitself then time julday 1 1 1 lindgen jpt ENDIF ELSE BEGIN if keyword_set parent then BEGIN widget_control parent get_uvalue top_uvalue filelist extractatt top_uvalue filelist IF filelist 0 EQ many THEN filelist filename currentfile where filelist EQ filename 0 time extractatt top_uvalue fileparameters currentfile time_counter date1 date2jul beginning 0 if n_elements ending NE 0 then date2 date2jul ending 0 ELSE date2 date1 firsttps where time EQ date1 firsttps firsttps 0 lasttps where time EQ date2 lasttps lasttps 0 ENDIF ELSE BEGIN IF keyword_set timevar THEN BEGIN timeid ncdf_varid cdfid timevar IF timeid EQ 1 THEN BEGIN ncdf_close cdfid return report the file filename as no variable timevar C Use the TIMESTEP keyword endif timecontient ncdf_varinq cdfid timeid contient recdim timecontient dim 0 ENDIF ELSE BEGIN we find the infinite dimension timedim contient recdim if timedim EQ 1 then BEGIN ncdf_close cdfid return report the file filename as no infinite dimension C Use TIMESTEP or TIMEVAR keyword endif we find the FIRST time axis timeid 0 repeat BEGIN As long as we have not find a variable having only one dimension: the infinite one timecontient ncdf_varinq cdfid timeid that the variable contain timeid timeid 1 endrep until n_elements timecontient dim EQ 1 AND timecontient dim 0 EQ contient recdim OR timeid EQ contient nvars 1 if timeid EQ contient nvars 1 then BEGIN ncdf_close cdfid return report the file filename as no time axis variable C Use the TIMESTEP keyword endif timeid timeid 1 ENDELSE we must found the time origin of the julian calendar used in the time axis does the attribut units an dcalendar exist for the variable time axis if timecontient natts EQ 0 then BEGIN ncdf_close cdfid return report the variable timecontient name has no attribut C Use the TIMESTEP keyword or add the attribut units to the variable endif attnames strarr timecontient natts for attiq 0 timecontient natts 1 do attnames attiq ncdf_attname cdfid timeid attiq if where attnames EQ units 0 EQ 1 then BEGIN ncdf_close cdfid return report Attribut units not found for the variable timecontient name C Use the TIMESTEP keyword ENDIF now we try to find the attribut called calendar the attribute calendar exists If no we suppose that the calendar is gregorian calendar if where attnames EQ calendar 0 NE 1 then BEGIN ncdf_attget cdfid timeid calendar value value string value CASE value OF noleap :key_caltype noleap 360d :key_caltype 360d greg :IF n_elements key_caltype EQ 0 THEN key_caltype greg ELSE:BEGIN notused report Unknown calendar: value we use greg calendar key_caltype greg END ENDCASE ENDIF ELSE BEGIN notused report Unknown calendar we use key_caltype calendar IF n_elements key_caltype EQ 0 THEN key_caltype greg ENDELSE now we take acre of units attribut ncdf_attget cdfid timeid units value time_counter:units seconds since 0001 01 01 00:00:00 time_counter:units hours since 0001 01 01 00:00:00 time_counter:units days since 1979 01 01 00:00:00 time_counter:units months since 1979 01 01 00:00:00 time_counter:units years since 1979 01 01 00:00:00 we decript the units attribut to find the time origin value strtrim strcompress string value 2 mots str_sep value unite mots 0 IF unite NE seconds AND unite NE hours AND unite NE days AND unite NE months AND unite NE years THEN BEGIN ncdf_close cdfid return report time units does not start with seconds hours days months years ENDIF IF stregex value since 0 9 4 0 9 2 0 9 2 boolean EQ 0 THEN BEGIN ncdf_close cdfid return report attribut units of time has not the good format: since 0 9 4 0 9 2 0 9 2 ENDIF depart str_sep mots 2 ncdf_varget cdfid timeid time time double time unite strlowcase unite IF strpos unite s strlen unite 1 NE 1 THEN unite strmid unite 0 strlen unite 1 IF strpos unite julian_ NE 1 THEN unite strmid unite 7 case unite of second :time julday depart 1 depart 2 depart 0 time 86400 d hour :time julday depart 1 depart 2 depart 0 time 24 d day :time julday depart 1 depart 2 depart 0 time month :BEGIN if total fix time NE time NE 0 then we switch to days with 30d m time julday depart 1 depart 2 depart 0 round time 30 ELSE for t 0 n_elements time 1 DO time t julday depart 1 time t depart 2 depart 0 END year :BEGIN if total fix time NE time NE 0 then we switch to days with 365d y time julday depart 1 depart 2 depart 0 round time 365 ELSE for t 0 n_elements time 1 do time t julday depart 1 depart 2 depart 0 time t END ELSE:BEGIN ncdf_close cdfid return report The units attribute of the time axis must be something like: C seconds since 0001 01 01 C days since 1979 01 01 C months since 1979 01 01 C years since 1979 01 01 end ENDCASE date1 date2jul beginning 0 if n_elements ending NE 0 then date2 date2jul ending 0 ELSE date2 date1 time double time firsttps where time GE date1 firsttps firsttps 0 if firsttps EQ 1 THEN BEGIN ncdf_close cdfid return report date 1: strtrim jul2date date1 1 is not found in the time axis ENDIF lasttps where time LE date2 if lasttps 0 EQ 1 THEN BEGIN ncdf_close cdfid return report the time axis as no date before date 2: strtrim jul2date date2 1 endif lasttps lasttps n_elements lasttps 1 if lasttps LT firsttps then BEGIN ncdf_close cdfid return report the time axis as no dates between date1 and date 2: strtrim jul2date date1 1 strtrim jul2date date2 1 endif ENDELSE time time firsttps:lasttps jpt lasttps firsttps 1 ENDELSE Name of the grid on which the field refer to IF keyword_set grid THEN vargrid strupcase grid ELSE BEGIN vargrid T default definition IF finite glamu 0 EQ 1 THEN BEGIN are we in one of the case corresponding to ROMS conventions CASE 1 OF dimnames 2 long key_stride key_shift long testvar var key_shift IF n_elements key_yreverse EQ 0 THEN key_yreverse 0 IF keyword_set key_yreverse THEN BEGIN tmp jpj 1 firsty firsty jpj 1 lasty lasty tmp ENDIF IF n_elements key_zreverse EQ 0 THEN key_zreverse 0 IF keyword_set key_zreverse THEN BEGIN tmp jpk 1 firstz firstz jpk 1 lastz lastz tmp ENDIF IF keyword_set fbase2tbase THEN BEGIN case strupcase vargrid of U :BEGIN IF NOT keyword_set key_periodic THEN BEGIN firstx firstx 1 lastx lastx 1 ENDIF END V :BEGIN firsty firsty 1 lasty lasty 1 END F :BEGIN firsty firsty 1 lasty lasty 1 IF NOT keyword_set key_periodic THEN BEGIN firstx firstx 1 lastx lastx 1 ENDIF END ELSE: endcase ENDIF IF keyword_set fbase2tbase AND keyword_set key_periodic AND strupcase vargrid EQ U OR strupcase vargrid EQ F THEN key_shift key_shift 1 read_ncdf_varget IF keyword_set fbase2tbase AND keyword_set key_periodic AND strupcase vargrid EQ U OR strupcase vargrid EQ F THEN key_shift key_shift 1 We define global variable joined with the variable varname IF NOT keyword_set callitself THEN varname name varunit if varcontient natts NE 0 then begin attnames strarr varcontient natts for attiq 0 varcontient natts 1 do attnames attiq ncdf_attname cdfid name attiq lowattnames strlowcase attnames found where lowattnames EQ units 0 IF found NE 1 then ncdf_attget cdfid name attnames found value ELSE value IF NOT keyword_set callitself THEN varunit strtrim string value 2 found where lowattnames EQ add_offset 0 if found NE 1 then ncdf_attget cdfid name attnames found add_offset ELSE add_offset 0 found where lowattnames EQ scale_factor 0 if found NE 1 then ncdf_attget cdfid name attnames found scale_factor ELSE scale_factor 1 missing_value no found where lowattnames EQ _fillvalue 0 if found NE 1 then ncdf_attget cdfid name attnames found missing_value found where lowattnames EQ missing_value 0 if found NE 1 then ncdf_attget cdfid name attnames found missing_value ENDIF ELSE BEGIN IF NOT keyword_set callitself THEN varunit add_offset 0 scale_factor 1 missing_value no ENDELSE vardate We make a legible date in function of the specified language year long beginning 0 10000 month long beginning 0 100 MOD 100 day long beginning 0 MOD 100 vardate string format C CMoA 31 month 1 strtrim day 1 strtrim year 1 varexp file_basename filename we apply reverse if keyword_set key_yreverse AND ny NE 1 THEN res reverse reform res nx ny nz jpt overwrite 2 if keyword_set key_zreverse AND nz NE 1 AND varcontient ndims where varcontient dim EQ contient recdim 0 NE 1 EQ 3 THEN res reverse reform res nx ny nz jpt overwrite 3 We apply the value valmask on land points if NOT keyword_set cont_nofill then begin valmask 1e20 case 1 of varcontient ndims eq 2:BEGIN xy array mask mask 0 earth where mask EQ 0 END varcontient ndims eq 3 AND where varcontient dim EQ contient recdim 0 EQ 1:BEGIN xyz array earth where mask EQ 0 END varcontient ndims eq 3 AND where varcontient dim EQ contient recdim 0 NE 1:BEGIN xyt array mask mask 0 earth where mask EQ 0 if earth 0 NE 1 then BEGIN earth earth replicate 1 jpt replicate nx ny n_elements earth lindgen jpt END END varcontient ndims eq 4:BEGIN xyzt array earth where mask EQ 0 if earth 0 NE 1 then BEGIN earth earth replicate 1 jpt replicate nx ny nz n_elements earth lindgen jpt END END endcase ENDIF ELSE earth 1 we look for missing_value IF size missing_value type NE 7 then BEGIN IF size missing_value type EQ 1 THEN BEGIN IF isnumber string missing_value tmp EQ 1 THEN missing_value tmp ENDIF if missing_value NE valmask then begin if abs missing_value LT 1e6 then missing where res EQ missing_value ELSE missing where abs res gt abs missing_value 10 ENDIF ELSE missing 1 ENDIF ELSE missing 1 we apply add_offset scale_factor and missing_value if scale_factor NE 1 then res temporary res scale_factor if add_offset NE 0 then res temporary res add_offset if missing 0 NE 1 then res temporary missing values f_nan if earth 0 NE 1 then res temporary earth 1 e20 if it is roms outputs we need to get additionals infos IF NOT keyword_set callitself THEN BEGIN IF strmid dimnames 0 0 3 EQ xi_ AND strmid dimnames 1 0 4 EQ eta_ THEN BEGIN ncdf_attget cdfid theta_s theta_s global ncdf_attget cdfid theta_b theta_b global ncdf_attget cdfid hc hc global look for all variables names allvarnames strarr contient nvars FOR i 0 contient nvars 1 DO BEGIN tmp ncdf_varinq cdfid i allvarnames i tmp name ENDFOR CASE 1 OF keyword_set hfilename : hroms read_ncdf h 0 0 FILENAME hfilename TIMESTEP NOSTRUCT CONT_NOFILL CONT_NOFILL GRID vargrid CALLITSELF _EXTRA ex where allvarnames EQ h 0 NE 1: hroms read_ncdf h 0 0 FILENAME filename TIMESTEP NOSTRUCT CONT_NOFILL CONT_NOFILL GRID vargrid CALLITSELF _EXTRA ex ELSE:return report The variable h was not found in the file please use the keyword HFILENAME to specify the name of a file containing h ENDCASE CASE 1 OF keyword_set zetazero :zeta fltarr nx ny jpt keyword_set zetafilename : zeta read_ncdf zeta firsttps lasttps FILENAME zetafilename TIMESTEP NOSTRUCT CONT_NOFILL CONT_NOFILL GRID vargrid CALLITSELF _EXTRA ex where allvarnames EQ zeta 0 NE 1: zeta read_ncdf zeta firsttps lasttps FILENAME filename TIMESTEP NOSTRUCT CONT_NOFILL CONT_NOFILL GRID vargrid CALLITSELF _EXTRA ex ELSE:return report The variable zeta was not found in the file please use the keyword ZETAFILENAME to specify the name of a file containing zeta or use keyword ZETAZERO to define zeta to 0 ENDCASE romszinfos h:temporary hroms zeta:temporary zeta theta_s:theta_s theta_b:theta_b hc:hc ENDIF ELSE romszinfos h: 1 zeta: 1 theta_s: 1 theta_b: 1 hc: 1 ENDIF ncdf_close cdfid IF keyword_set savedbox THEN restoreboxparam boxparam4rdncdf dat IF keyword_set nostruct THEN return res IF keyword_set key_forgetold THEN BEGIN return arr:temporary res grid:vargrid unit:varunit experiment:varexp name:varname ENDIF ELSE BEGIN return tab:temporary res grille:vargrid unite:varunit experience:varexp nom:varname ENDELSE END "); 248 248 a[246] = new Array("./ToBeReviewed/LECTURE/read_ncdf_varget.html", "read_ncdf_varget.pro", "", ""); 249 249 a[247] = new Array("./ToBeReviewed/LECTURE/xncdf_lec.html", "xncdf_lec.pro", "", " file_comments Reading of a Net Cdf file with widgets categories Widget param NAME in optional type string It give the name of the file to be opened If NAME does not contain the separating character of directories under unix for example the file will be looked for in the current directory keyword IODIR type string It contains the directory where to go look for the file to be read If NAME does not contain the separating character of directories under unix for example the file will be called iodir nom_fichier keyword COUNT type vector An optional vector containing the counts to be used in reading Value COUNT is a 1 based vector with an element for each dimension of the data to be written The default matches the size of the variable so that all data is written out keyword GROUP The widget ID of the widget that calls XNCDF_LEC When this ID is specified a death of the caller results in a death of XNCDF_LEC keyword OFFSET type vector default 0 0 An optional vector containing the starting position for the read The default start position is 0 0 keyword SHIFT type vector default 0 0 A vector of integers specifying for each dimension how much we have to shift it By default it is 0 0 See the function shift for more explanations BEWARE the shift is done on the biggest array before a possible reduction determined by OFFSET and COUNT On the other hand it is done after the possible extraction created by the STRIDE keyword STRIDE type vector default 1 1 An optional vector containing the strides or sampling intervals between accessed values of the netCDF variable The default stride vector is that for a contiguous read 1 1 returns 2 different cases: 1 None attribute has been selected In this case res is the array we wanted to read 2 Some attributes has been selected In this case res is a structure whose the first element having the name of the variable is the values array and the other arguments are the select arguments uses wididbase infovariable resultat motcle examples help xncdf_lec history Sebastien Masson smasson lodyc jussieu fr 24 8 1999 version Id: xncdf_lec pro 163 2006 08 29 12:59:46Z navarro FUNCTION xncdf_lec name ATT att COUNT count GROUP group OFFSET offset IODIR iodir SHIFT shift STRIDE stride VAR var compile_opt idl2 strictarrsubs COMMON wididbase base COMMON infovariable cdfid listename contient nomdim tailledim varid varcontient COMMON resultat res COMMON motcle mcatt mccount mcoffset mciodir mcshift mcstride mcvar Trick for using keywords we pass by variables declarated in a common res 1 if keyword_set att then mcatt att ELSE mcatt 0 if keyword_set count then mccount count ELSE mccount 0 if keyword_set offset then mcoffset offset ELSE mcoffset 0 if keyword_set shift then mcshift shift ELSE mcshift 0 if keyword_set stride then mcstride stride ELSE mcstride 0 if keyword_set var then mcvar var ELSE mcvar 0 choice of the file s name What type of machine is used thisOS strupcase strmid version os_family 0 3 CASE thisOS of MAC :sep : WIN :sep ELSE: sep ENDCASE If IODIR is not defined we initialize it at the current directory if NOT keyword_set iodir then cd current iodir mciodir iodir We complete IODIR with a separating character if needed IF rstrpos iodir sep NE strlen iodir 1 THEN iodir iodir sep if n_elements name EQ 0 then BEGIN If NAME is not defined we find one thanks to the program dialog_pickfile name dialog_pickfile filter iodir nc if name 0 EQ then return 1 If we do not have find anything we go out We complete NAME by IODIR if NAME does not contain any directory separating character ENDIF ELSE if strpos name sep EQ 1 then name iodir name test findfile name Does the name looked for correspond to a file while test 0 EQ OR n_elements test GT 1 do BEGIN We look for one as long as it correspond to nothing test test 0 name dialog_pickfile filter iodir nc if name EQ then return 1 test findfile name endwhile Opening of the file name cdfid ncdf_open name contient ncdf_inquire cdfid What does this file contain Opening of the base window as columns if n_elements group EQ 0 then base widget_base column title Fichier: name align_left ELSE base widget_base column title Fichier: name align_left GROUP_LEADER group Opening of base sub windows base 1 title having the file s name base1 widget_base base column align_center rien widget_label base1 value Net Cdf filename align_center rien widget_text base1 value name align_center uvalue 1 editable File s name we can change rien widget_label base1 value We jump a line base 2 General informations on the file base2 widget_base base column Informations on global attributes if contient ngatts NE 1 then begin rien widget_label base2 value Nombre de attributs globaux: strtrim contient ngatts 1 align_left for attiq 0 contient ngatts 1 do BEGIN Loop on the number of global attributes name ncdf_attname cdfid attiq global Attribute s name ncdf_attget cdfid name value global Attribute s value rien widget_text base2 value name : strtrim string value 1 xsize 60 scroll wrap align_right endfor rien widget_label base2 value endif Informations on dimensions rien widget_label base2 value Nombre de dimensions: strtrim contient ndims 1 align_left if contient recdim NE 1 then begin Loop on the number of global attributes ncdf_diminq cdfid contient recdim name value Name and value of the dimension rien widget_label base2 value name de la dimension infinie: name align_left endif nomdim strarr contient ndims Vector containing dimensions s name tailledim lonarr contient ndims Vector containing dimensions s value for dimiq 0 contient ndims 1 do begin Loop on the number of dimensions ncdf_diminq cdfid dimiq name value Name and value of the dimension nomdim dimiq name tailledim dimiq value rien widget_label base2 value name de taille: strtrim value 1 align_right ENDFOR rien widget_label base2 value We jump a line base 3 choice of the variable base3 widget_base base column rien widget_label base3 value Nombre de variables: strtrim contient nvars 1 align_left base31 widget_base base3 row align_center Creation of a listename containing the name of all file s variables listename strarr contient nvars for varid 0 contient nvars 1 do begin varcontient ncdf_varinq cdfid varid that the variable contain listename varid varcontient name endfor rien widget_label base31 value variable Creation of a button with a pop up menu base311 widget_droplist base31 value listename uvalue 2 rien widget_label base3 value base 4 button done base4 widget_base base row base42 widget_button base4 value done uvalue 3 align_right Execution of the base window and of sub windows widget_control base realize xmanager xncdf_lec base return res end La lecture de ce programme se fait de bas en haut: 1 xncdf_lec 2 xncdf_lec_event 3 wid_var wid_var_event file_comments Procedure called by xmanager when we press on a button of a second widget created by wid_var param EVENT in required A structure caracterizing the type of event which arrive to a widget number1 2 uses wididbase resultat infovariable indicewid motcle version Id: xncdf_lec pro 163 2006 08 29 12:59:46Z navarro pro wid_var_event event compile_opt idl2 strictarrsubs COMMON wididbase base COMMON resultat res COMMON infovariable cdfid listename contient nomdim tailledim varid varcontient COMMON indicewid_var widbase1 widbase2111 widbase212 widbase213 selectatt COMMON motcle mcatt mccount mcoffset mciodir mcshift mcstride mcvar What is the type of event widget_control event id get_uvalue uval tailledimvar tailledim varcontient dim if n_elements uval EQ 0 then return case on the type of event case uval OF 1:BEGIN We change values in the array We check that values put in the array are not totally false widget_control widbase1 get_value table Is it the good type of argument If the type is wrong we automatically change it by default values if event x GT size table 1 then return if event y GT size table 2 then return if size table event x event y type GE 6 OR size table event x event y type EQ 0 then BEGIN if event x EQ 1 then widget_control widbase1 use_table_select 1 event y 1 event y set_value tailledimvar event y ELSE widget_control widbase1 use_table_select event x event y event x event y set_value 0 endif Argument with a wrong name value table fix table case event x of 0:BEGIN We touched the offset if table 0 event y LT 0 then BEGIN table 0 event y 0 widget_control widbase1 use_table_select 0 event y 0 event y set_value 0 endif If it exceed the dimension of the array we put it at the max and the cont at 1 if table 0 event y GT tailledimvar event y table 3 event y then begin widget_control widbase1 use_table_select 0 event y 1 event y set_value tailledimvar event y table 3 event y 1 ENDIF ELSE BEGIN If with the new offset the cont is too big we reduce it until it goes well if table 1 event y GT tailledimvar event y table 3 event y table 0 event y then begin widget_control widbase1 use_table_select 1 event y 1 event y set_value tailledimvar event y table 3 event y table 0 event y endif ENDELSE END 1:BEGIN We touched the cont if table 1 event y LT 1 then BEGIN table 1 event y 1 widget_control widbase1 use_table_select 1 event y 1 event y set_value 1 endif If it is too big we reduce it until it goes well if table 1 event y GT tailledimvar event y table 3 event y table 0 event y then BEGIN widget_control widbase1 use_table_select 1 event y 1 event y set_value tailledimvar event y table 3 event y table 0 event y endif END 2:BEGIN We touched the shift widget_control widbase1 use_table_select 2 event y 2 event y set_value table 2 event y MOD tailledimvar event y table 3 event y END 3:BEGIN We touched the stride if table 3 event y LT 1 then BEGIN table 3 event y 1 widget_control widbase1 use_table_select 3 event y 3 event y set_value 1 endif if table 3 event y EQ 0 then It must not be null widget_control widbase1 use_table_select 3 event y 3 event y set_value 1 It must not be too big if table 3 event y GT tailledimvar event y then widget_control widbase1 use_table_select 0 event y 3 event y set_value 0 1 0 tailledimvar event y ELSE BEGIN if table 1 event y GT tailledimvar event y table 3 event y table 0 event y then begin widget_control widbase1 use_table_select 1 event y 1 event y set_value tailledimvar event y table 3 event y table 0 event y endif ENDELSE END ELSE: endcase END 2111:BEGIN We touched buttons yes no We update the vector selectatt at 0 or 1 for the concerned attribute number event id selectatt where widbase2111 EQ event id event select end 31:BEGIN We pressed on get widget_control widbase1 get_value table table fix table mcshift where table 2 NE 0 mcoffset table 0 mccount table 1 mcstride table 3 if mcshift 0 NE 1 then BEGIN There are some shifts We read the wholeness of dimensions for which ones there is a shift mcoffset mcshift 0 mccount mcshift tailledimvar mcshift We do not activate stride when there is no need because it makes write something weird on the screen if total mcstride EQ n_elements mcstride then ncdf_varget cdfid varid res OFFSET mcoffset COUNT mccount ELSE ncdf_varget cdfid varid res OFFSET mcoffset COUNT mccount STRIDE mcstride To do the shift mcshift table 2 mcoffset table 0 mccount table 1 We define the command allowing to do a shift commande res shift res for dim 0 varcontient ndims 1 do commande commande string table 2 dim commande commande rien execute commande We redefine the command allowing to cut dimensions which has not been cut yet ones we shift commande res res initialization of the command for dim 0 varcontient ndims 1 do BEGIN if mcshift dim EQ 0 then commande commande ELSE commande commande string mcoffset dim : string mccount dim mcoffset dim 1 ENDFOR commande strmid commande 0 strlen commande 1 rien execute commande Case without shift we read directly the good part of the array ENDIF ELSE BEGIN if total mcstride EQ n_elements mcstride then ncdf_varget cdfid varid res OFFSET mcoffset COUNT mccount ELSE ncdf_varget cdfid varid res OFFSET mcoffset COUNT mccount STRIDE mcstride ENDELSE Do we have to constitute a structure with selected attributes if total selectatt NE 0 then BEGIN There are selected attributes res create_struct varcontient name res We create the structure selectatt where selectatt EQ 1 We find selected attributes for attid 0 n_elements selectatt 1 do BEGIN for which we take widget_control widbase212 selectatt attid get_value attname the name widget_control widbase213 selectatt attid get_value attvalue the value res create_struct res attname 0 attvalue 0 We concatenate the structure endfor endif widget_control event top destroy We shut the second widget widget_control base destroy We shut the first widget ncdf_close cdfid END 32: Case of the display of a held with xdisplayfile 33:widget_control event top destroy We shut the second widget ELSE: endcase return end file_comments This procedure manage the second created whiget when we call xncdf_lec This widget concern the reading of the variable param WIDID_PERE type scalar in required It contains the identity of the father widget which was created by xncdf_lec and which has allowed to select the variable to be read OUTPUTS: indirectement res le tableau ou la structure resultat uses resultat infovariable indicewid_var motcle version Id: xncdf_lec pro 163 2006 08 29 12:59:46Z navarro PRO wid_var widid_pere compile_opt idl2 strictarrsubs COMMON resultat res COMMON infovariable cdfid listename contient nomdim tailledim varid varcontient COMMON indicewid_var widbase1 widbase2111 widbase212 widbase213 selectatt COMMON motcle mcatt mccount mcoffset mciodir mcshift mcstride mcvar res 1 Opening of the base window as columns widbase widget_base column title variable: varcontient name align_center group_leader widid_pere Opening of the base subwindow widbase1 array of offsets rien widget_label widbase value We jump a line Definition of labels of lines of the array rowlab string tailledim varcontient dim for i 0 n_elements rowlab 1 do rowlab i strtrim rowlab i 1 rowlab nomdim varcontient dim replicate : n_elements varcontient dim rowlab Definition of array s initial values valinit lonarr 4 n_elements varcontient dim column 0 : offsets if keyword_set mcoffset AND n_elements mcoffset EQ varcontient ndims THEN valinit 0 mcoffset ELSE valinit 0 0 colomn 1 : counts if keyword_set mccount AND n_elements mccount EQ varcontient ndims THEN valinit 1 mccount ELSE valinit 1 tailledim varcontient dim column 2 : shifts if keyword_set mcshift AND n_elements mcshift EQ varcontient ndims THEN valinit 2 mcshift ELSE valinit 2 0 column 3 : strides if keyword_set mcstride AND n_elements mcstride EQ varcontient ndims THEN valinit 3 mcstride ELSE valinit 3 1 test of initial values of the array valinit fix valinit valinit 3 1 valinit 3 valinit 0 valinit 1 tailledim varcontient dim valinit 3 valinit 0 valinit 2 valinit 2 MOD tailledim varcontient dim valinit 3 test of shifts declaration of the array widbase1 widget_table widbase row_labels rowlab value valinit editable column_labels Offset Count Shift Stride uvalue 1 un petit blabla rien widget_label widbase value ATTENTION: Faire des return pour que les valeurs align_center rien widget_label widbase value du tableau ou des textes soient bien prises en compte align_center widbase2 choice of attributes rien widget_label widbase value We jump a line widbase2 widget_base widbase column To each attribute we created a widget widbase21 containing in line a button yes no widbase211 and two wigdet text widbase212 widbase213 comprising the name and the value of the attribute widbase21 lonarr varcontient natts widbase211 lonarr varcontient natts widbase2111 lonarr varcontient natts Vector which will serve to know which yes no are selected see wid_var_event selectatt lonarr varcontient natts selectatt 0 widbase212 lonarr varcontient natts widbase213 lonarr varcontient natts for attid 0 varcontient natts 1 do BEGIN Lop on the number of attribute widbase21 attid widget_base widbase2 row name ncdf_attname cdfid varid attid ncdf_attget cdfid varid name value widbase211 attid widget_base widbase21 attid nonexclusive widbase2111 attid widget_button widbase211 attid value uvalue 2111 widbase212 attid widget_text widbase21 attid value name editable widbase213 attid widget_text widbase21 attid value strtrim string value 1 editable endfor widbase3 buttons of the bottom widbase3 widget_base widbase row align_center widbase31 widget_button widbase3 value GET uvalue 31 widbase32 widget_button widbase3 value Help uvalue 32 widbase33 widget_button widbase3 value DONE uvalue 33 execution of the base window and of sub window widget_control widbase realize xmanager wid_var widbase return end file_comments Procedure called by xmanager when we press a button of the first widget created by par xncdf_lec param EVENT A structure caracterising the event type which arrive at the widget number 1 uses resultat infovariable motcle version Id: xncdf_lec pro 163 2006 08 29 12:59:46Z navarro PRO xncdf_lec_event event compile_opt idl2 strictarrsubs COMMON resultat res COMMON infovariable cdfid listename contient nomdim tailledim varid varcontient COMMON motcle mcatt mccount mcoffset mciodir mcshift mcstride mcvar What is the type of event widget_control event id get_uvalue uval case on the type of event case uval of 1:BEGIN We want to read an other file widget_control event id get_value nom We recuperate the name widget_control event top destroy We shut the widget ncdf_close cdfid We shut the wrong file which has been opened We call back xncdf_lec res xncdf_lec nom 0 ATT mcatt COUNT mccount OFFSET mcoffset IODIR mciodir SHIFT mcshift STRIDE mcstride VAR mcvar return END 2:BEGIN A variable is selected varid event index We recuperat its number in the file Netcdf varcontient ncdf_varinq cdfid varid wid_var event top We call the program which launch the second widget See sooner END 3:BEGIN button done widget_control event top destroy We delete the widget ncdf_close cdfid We shut the file END ELSE: endcase return end"); … … 255 255 a[253] = new Array("./ToBeReviewed/PLOTS/DESSINE/pltsc.html", "pltsc.pro", "", " file_comments categories param TAB1 param TAB2 param MIN1 param MAX1 param MIN2 param MAX2 param VARNAME2 keyword BOXZOOM Vector indicating the geographic zone on which we want to cut the map If BOXZOOM has : 1 element : The extraction is made on lon1 lon2 lat1 lat2 0 boxzoom 0 2 elements: The extraction is made on lon1 lon2 lat1 lat2 boxzoom 0 boxzoom 1 4 elements: The extraction is made on Boxzoom 0 max gdept gdepw 5 elements: The extraction is made on Boxzoom 0:3 0 Boxzoom 4 6 elements: The extraction is made on Boxzoom keyword COL1D keyword STY1D keyword OV1D keyword _EXTRA Used to pass your keywords returns uses restrictions examples history version Id: pltsc pro 163 2006 08 29 12:59:46Z navarro todo seb PRO pltsc tab1 tab2 min1 max1 min2 max2 varname2 BOXZOOM boxzoom COL1D col1d STY1D sty1d OV1D ov1d _extra ex scatter plot inspired from plt1d compile_opt idl2 strictarrsubs include common cm_4mesh cm_4data IF NOT keyword_set key_forgetold THEN BEGIN updatenew updatekwd ENDIF Comment: We do not reinitializate when we call back pltsc if NOT keyword_set ov1d then reinitplt reduce data xyzt domain if keyword_set boxzoom then BEGIN Case 1 Of N_Elements Boxzoom Eq 1:bte lon1 lon2 lat1 lat2 0 boxzoom 0 N_Elements Boxzoom Eq 2:bte lon1 lon2 lat1 lat2 boxzoom 0 boxzoom 1 N_Elements Boxzoom Eq 4:bte Boxzoom vert1 vert2 N_Elements Boxzoom Eq 5:bte Boxzoom 0:3 0 Boxzoom 4 N_Elements Boxzoom Eq 6:bte Boxzoom Else: Begin ras report Wrong Definition of Boxzoom return End endcase savedbox 1b saveboxparam boxparam4pltsc dat domdef bte GRIDTYPE vargrid ENDIF extract indexes to plot indexm where tab1 LE valmask 10 tab1 tab1 indexm tab2 tab2 indexm npts size indexm 1 deal with min and max of plot IF finite min1 EQ 0 THEN min1 min tab1 IF finite max1 EQ 0 THEN max1 max tab1 IF finite min2 EQ 0 THEN min2 min tab2 IF finite max2 EQ 0 THEN max2 max tab2 init plot if not overlay IF NOT keyword_set ov1d THEN placedessin yfx posfenetre posbar contour contour _extra ex yy tab1 xx tab2 axis range x range min2 abs max2 min2 5 max2 abs max2 min2 5 y range min1 abs max1 min1 5 max1 abs max1 min1 5 IF NOT keyword_set sty1d THEN sty1d 0 IF NOT keyword_set col1d THEN col1d 0 IF NOT keyword_set ov1d THEN BEGIN legende min1 max1 yfx VARNAME2 varname2 NPTS npts _EXTRA ex plot xx yy background 255 psym sty1d 1 color col1d thick 2 title subtitle _extra ex if n_elements ex NE 0 then BEGIN To have a 0 colored frame and trace a line at y 0 if where tag_names ex EQ COLOR 0 NE 1 then ex COLOR 0 if where tag_names ex EQ LINESTYLE 0 NE 1 then ex LINESTYLE 0 ENDIF plot x range 0 0 noerase nodata xstyle 1 ystyle 1 _extra ex trace a line at x 0 plot 0 0 y range noerase nodata title subtitle _extra ex ENDIF ELSE oplot xx yy color col1d linestyle sty1d thick 2 _extra ex 3rd part: Possible print fini: terminedessin _extra ex if keyword_set savedbox THEN restoreboxparam boxparam4pltsc dat if n_elements key_performance NE 0 then IF key_performance EQ 1 THEN print temps plt1d systime 1 tempsun return end "); 256 256 a[254] = new Array("./ToBeReviewed/PLOTS/DESSINE/pltt.html", "pltt.pro", "", " file_comments Trace hovmoller graphs: xt yt zt t categories Graphics param TAB in required The field whose we want to make the hovmoller map can be 2 kind of thing: 1 An array which can be: 3d or 4d: array xt yt zt t The last component is the time In this case the array will pass in grossemoyenne to be averaged and become an 1d or 2d array 2d: If the array is already 2d it is not modified beware lands must be masked at the value valmask and nevertheless type must be specified to we know of which trace it is about To have a correct caption respecify the extraction zone via BOXZOOM 1d: only for traces of the t type Nevertheless type must be specified to we know of which trace it is about To have a correct caption respecify the extraction zone via BOXZOOM 2 a structure respecting all criterions specified by litchamp pro See IDL xhelp litchamp The array contained in the structure respecting criterions of case 1 PARAM: MAX: valeur maximum que l on veut prendre en compte dans le trace des contours Par defaut on prend le max de tableau sur les pts mer MIN: valeur minimum que l on veut prendre en compte dans le trace des contours Par defaut on prend le min de tableau sur les pts mer DATMIN: c est la borne inf de l axe temporel c est un longinteger de la forme yyyymmdd ou bien yymmdd DATMAX: c est la borne max de l axe temporel c est un longinteger de la forme yyyymmdd ou bien yymmdd keyword BOXZOOM Vector indicating the geographic zone 3d on which the extraction of the field must be done to do the hovmoeller If BOXZOOM has : 1 element : The extraction is made on lon1 lon2 lat1 lat2 0 boxzoom 0 2 elements: The extraction is made on lon1 lon2 lat1 lat2 boxzoom 0 boxzoom 1 4 elements: The extraction is made on Boxzoom vert1 vert2 5 elements: The extraction is made on Boxzoom 0:3 0 Boxzoom 4 6 elements: The extraction is made on Boxzoom Where lon1 lon2 lat1 lat2 vert1 vert2 are global variables defined at the last domdef keyword CONTINTERVALLE When CONTOUR is activated it is the value between 2 isolines traced by a trait So it can be different from the one specified by INTERVALLE which in this case does not control colored isolines in color anymore If there is noone specified min we choose a contour min which goes well with the specified interval If this keyword is not specified we trace 20 isolines from the min to the max keyword CONTLABEL type integer When CONTOUR is activated if n is different of 0 choose the label type corresponding to n cases for the traced by a traitisolines To specify the type of label of the colored contour use LABEL keyword CONTMAX default we take the max of the array passed in the keyword CONTOUR on ocean points When CONTOUR is activated max value we want to consider in the isoline traced by a trait s line keyword CONTMIN default we take the min of the array passed in the keyword CONTOUR on ocean points When CONTOUR is activated min value we want to consider in the isoline traced by a trait s line keyword CONTNLEVEL default 20 When CONTOUR is activated it is the number of contours traced by a trait for drawing active if CONTLABEL 0 keyword CONTOUR If we want to trace contours of a different field than the one whose we have the colored drawing by example E P in color and QSR in contours It must be a field respecting same characteristics than the argument number one of pltt keyword ENDPOINTS keyword specifying that we want to make a vertical cut in diagonal Then coordinated of extremities of these one are defined by the 4 elements of the vector ENDPOINTS: x1 y1 x2 y2 which are coordinates keyword EXCHANGE_XY Allows to invert axes keyword FILTER Apply a slippery average of width FILTER keyword INTERVALLE Value of an internal between to isoline If there is none specified min we choose a min contour which goes well with the specified interval If this keyword is not specified we trace 20 isoline from the min to the max Comment: When CONTOUR is activated INTERVALLE only specify the interval between 2 colored isoline To specify the interval between 2 isolines traced by a trait use CONTINTERVALLE keyword INV Invert the color vector used to color the graph without use the black the white and the used palette keyword LABEL type integer If n different of 0 it choose the label s type corresponding to cases n cf label pro Comment: When CONTOUR is activated it only specify the label s type for colored isolines For these one traced by a trait use CONTLABEL keyword COL1d OBSOLETE Color number when we make a trace 1d by default 0 It is better to use the keyword COLOR used by plot keyword MAXIN to specify the max value we want to plot with a keyword instead of with the input parameter max If max is defined by both parameter and keyword the keyword is retained keyword MININ to specify the min value we want to plot with a keyword instead of with the input parameter min If min is defined by both parameter and keyword the keyword is retained keyword NLEVEL default 20 Number of contour to draw by default 20 active if LABEL 0 or is not specified keyword CONTNLEVEL default 20 When CONTOUR is activated it is the number of contours traced by a trait for drawing active if CONTLABEL 0 keyword OV1D Allows to overprint a 1d curve over a precedent 1d drawing keyword OVERPLOT To make a plot over an other one Comment: Contrarily to the use of CONTOUR or VECTEUR the use of this keyword does not the caption and or the color bar keyword STRICTFILL Activate this keyword to that the filling of contours be precisely done between the min and the max specified letting values inferior at the specified min and values superior at the specified max in white keyword STYLE default style 0 Contour s style to adopt to draw isolines keyword STY1D OBSOLETE Number of the style used when we make a 1d drawing We should better use the keyword LINESTYLE which is tho one of the plot Beware this keyword is still useful if we want to d bars instead of curves put sty1d bar keyword TREND_TYPE Modify field by calling trends pro keyword TYPEIN allows to specify the type of hovmoller we want to do xt yt zt t with help of a keyword rather than the argument type If the argument and the keyword are specified in the same time it is the value specified by the keyword which is retained keyword _EXTRA Used to pass your keywords uses common pro history Sebastien Masson smasson lodyc jussieu fr 27 5 98 Jerome Vialard adapting plt to hovmoller drawing 2 7 98 Sebastien Masson 14 8 98 continents barres 15 1 98 Adaptation for arrays 3 and 4d to the average be done in pltt rather than during the reading Sebastien Masson 14 8 98 7 1999 Eric Guilyardi 29 7 99 FILTER TREND_TYPE REPEAT_C Sebastien Masson 08 02 2000 checkfield and usetri keyword version Id: pltt pro 172 2006 09 11 07:11:26Z smasson todo seb: L 24 36 L 426 427 L 492 493 pro pltt tab giventype givenmin givenmax datmin datmax BOXZOOM boxzoom CONTOUR contour ENDPOINTS endpoints INTERVALLE intervalle INV inv CONTINTERVALLE contintervalle LABEL label CONTLABEL contlabel STYLE style CONTMAX contmax CONTMIN contmin NLEVEL nlevel CONTNLEVEL contnlevel COL1D col1d STY1D sty1d MININ minin MAXIN maxin OV1D ov1d FILTER filter TREND_TYPE trend_type REPEAT_C repeat_c TYPEIN typein XT XT YT YT ZT zt TT tt STRICTFILL strictfill OVERPLOT overplot EXCHANGE_XY exchange_xy _extra ex include common compile_opt idl2 strictarrsubs cm_4mesh cm_4data cm_4cal IF NOT keyword_set key_forgetold THEN BEGIN updatenew updatekwd ENDIF tempsun systime 1 For key_performance I2 reinitialization p x y Comment: we do not reinitializate when we call back plt in loop to use contour if n_elements contour ne 4 AND NOT keyword_set overplot AND NOT keyword_set ov1d then reinitplt I1 Reading of the field if keyword_set boxzoom OR keyword_set endpoints AND n_elements contour ne 4 THEN BEGIN savedbox 1b saveboxparam boxparam4pltt dat ENDIF if n_elements giventype NE 0 then type giventype if n_elements givenmin NE 0 then min givenmin if n_elements givenmax NE 0 then max givenmax if n_elements minin NE 0 then min minin if n_elements maxin NE 0 then max maxin if keyword_set typein then BEGIN if size type type NE 7 AND size type type NE 0 then begin if n_elements min NE 0 then max min min type endif type typein ENDIF checktypeminmax pltt TYPE type MIN min MAX max XT XT YT YT ZT zt TT tt ENDPOINTS endpoints _extra ex if keyword_set endpoints then begin section tab z2d glam gphi ENDPOINTS endpoints TYPE type BOXZOOM boxzoom DIREC direc nx n_elements glam ny nx if strupcase vargrid EQ W then begin z gdepw firstzw:lastzw nz nzw ENDIF ELSE BEGIN z gdept firstzt:lastzt nz nzt ENDELSE ENDIF ELSE BEGIN z2d checkfield tab pltt TYPE type BOXZOOM boxzoom direc direc _extra ex if z2d 0 EQ 1 then BEGIN IF keyword_set savedbox THEN restoreboxparam boxparam4pltt dat return endif grille mask glam gphi gdep nx ny nz type type ENDELSE Calculation of trend anomaly following TREND_TYPE IF NOT keyword_set trend_type THEN trend_type 0 IF trend_type GT 0 THEN z2d trends z2d trend_type type Filtering of fields in the t case IF type EQ t AND keyword_set filter THEN BEGIN print Applying a running mean filter of width string filter format I3 z2d smooth z2d filter z2d 0:filter 2 1 0 z2d size z2d 1 filter 2 1: size z2d 1 1 0 ENDIF Repetition of the temporal series IF NOT keyword_set repeat_c THEN repeat_c 1 temps time 0:jpt 1 IF repeat_c GT 1 THEN BEGIN taille size z2d CASE taille 0 OF 1: z2d reform z2d replicate 1 repeat_c taille 1 repeat_c 2: BEGIN z2d z2d replicate 1 repeat_c z2d reform z2d taille 1 taille 2 repeat_c over END ELSE: ENDCASE temps temps lindgen jpt REPEAT_c 1 1 temps 1 temps 0 temps jpt 1 ENDIF Selection of graphic s type taille size z2d case taille 0 of 2 : typdes 2d 1 : begin z1d z2d typdes 1d if keyword_set OV1D then begin yy z2d if n_elements datmin NE 0 then tempsmin date2jul datmin ELSE tempsmin temps 0 on shift l axe du temps pour des questions de precision sur les dates du calendier julien en long qui sont passes en float ds les axes xx temps tempsmin x range x range tempsmin x tickv x tickv tempsmin We do a false plot to apply these changes plot 0 0 noerase xstyle 5 ystyle 5 title subtitle ytitle xtitle goto trace1d endif end endcase We build the mask For that the table must be masked automaticaly done at the value valmask if we pass in moyenne or grossemoyenne nan total finite z2d nan z2d not very nice when xgridstyle 2 same if xticklen 0 5 not very nice in the middle so we draw the top right axis by hand using axis if n_elements ex NE 0 then BEGIN pour avoir un cadre de la couleur noire if where tag_names ex EQ COLOR 0 NE 1 then ex COLOR 0 ENDIF plot 0 0 nodata noerase _extra ex xstyle 1 4 keyword_set endpoints AND type EQ xt AND lat1 NE lat2 8 type EQ yt OR type EQ zt ystyle 1 4 keyword_set endpoints AND type EQ yt 8 type EQ xt call axis for the missing axis IF type EQ xt AND NOT keyword_set endpoints THEN BEGIN if n_elements ex NE 0 then if where tag_names ex EQ YTICKNAME 0 NE 1 then ex YTICKNAME replicate n_elements ex YTICKNAME axis yaxis 1 ystyle 1 yticklen 0 ytickname replicate y ticks 1 _extra ex ENDIF IF type EQ yt OR type EQ zt AND NOT keyword_set endpoints THEN BEGIN if n_elements ex NE 0 then if where tag_names ex EQ XTICKNAME 0 NE 1 then ex XTICKNAME replicate n_elements ex XTICKNAME axis xaxis 1 xstyle 1 xticklen 0 xtickname replicate x ticks 1 _extra ex ENDIF ajout d un axe ds le cas ou l on utilise endpoints if keyword_set endpoints then addaxe endpoints type posfenetre _EXTRA ex color bar colnumb colnumb 0:ncontour 1 keyword_set strictfill barrecouleur colnumb min max ncontour keyword_set strictfill 2 position posbar _extra ex endif 1d trace1d: if typdes eq 1d then begin if not keyword_set col1d then col1d 0 if keyword_set sty1d then BEGIN if we want to make bars IF strlowcase strtrim sty1d EQ bar then begin y range y range 0 y range 1 y range 0 05 y range 1 bar_plot yy background d n_colors 1 not very nice when xgridstyle 2 same if xticklen 0 5 not very nice in the middle so we draw the top axis by hand using axis if n_elements ex NE 0 then BEGIN To have a black frame if where tag_names ex EQ COLOR 0 NE 1 then ex COLOR 0 ENDIF plot 0 0 nodata noerase xstyle 1 8 1 keyword_set exchange_xy ystyle 1 8 keyword_set exchange_xy _extra ex call axis for the missing axis if n_elements ex NE 0 then BEGIN force tickname to blank array if where tag_names ex EQ YTICKNAME 0 NE 1 AND keyword_set exchange_xy then ex YTICKNAME replicate n_elements ex YTICKNAME if where tag_names ex EQ XTICKNAME 0 NE 1 AND NOT keyword_set exchange_xy then ex XTICKNAME replicate n_elements ex XTICKNAME ENDIF if keyword_set exchange_xy then axis yaxis 1 ystyle 1 yticklen 0 ytickname replicate y ticks 1 _extra ex ELSE axis xaxis 1 xstyle 1 xticklen 0 xtickname replicate x ticks 1 _extra ex ENDIF ELSE oplot xx yy color col1d linestyle sty1d thick 2 _extra ex endif fini: we reput time axis in IDL julian days and not in julian days count from tempsmin if type EQ xt then BEGIN y range y range tempsmin y tickv y tickv tempsmin ENDIF ELSE BEGIN x range x range tempsmin x tickv x tickv tempsmin ENDELSE We do a false plot to these values are considerated plot 0 0 nodata noerase xstyle 5 ystyle 5 title subtitle ytitle xtitle 3rd part: possible print terminedessin _extra ex if keyword_set savedbox THEN restoreboxparam boxparam4pltt dat if n_elements key_performance NE 0 then IF key_performance EQ 1 THEN print temps pltt systime 1 tempsun return end "); 257 a[255] = new Array("./ToBeReviewed/PLOTS/DESSINE/pltv.html", "pltv.pro", "", " file_comments Draw 2d plots with TV procedure categories find a file graphic param DATA in required The field we want to display can be: 1 an array If the array is not a 2D array its mean along the z and t direction will be automatically performed as it is done in plt 2 a structure respecting all criterions specified by litchamp pro cf IDL xhelp litchamp param MIN in optional default min of DATA on non masked points param MAX in optional default max of DATA on non masked points keyword BOTTOM default 0 The lowest color index of the colors to be used keyword BOXZOOM Vector indicating the geographic zone on which we want to cut the map If BOXZOOM has : 1 element : The extraction is made on lon1 lon2 lat1 lat2 0 boxzoom 0 2 elements: The extraction is made on lon1 lon2 lat1 lat2 boxzoom 0 boxzoom 1 4 elements: The extraction is made on Boxzoom 0 max gdept gdepw 5 elements: The extraction is made on Boxzoom 0:3 0 Boxzoom 4 6 elements: The extraction is made on Boxzoom Where lon1 lon2 lat1 lat2 are global variables defined at the last domdef keyword C_NAN default d n_colors 1 e6 the test to find the masked value is ge abs mask 10 This is necessary to avoid the rounding errors keyword NCOLORS default d n_colors tvplus dist 100 history Aug 2006: Sebastien Masson smasson lodyc jussieu fr version Id: pltv pro 1 63 2006 08 29 12:59:46Z navarro PRO pltv data min max BOTTOM bottom BOXZOOM boxzoom C_MASK c_mask C_NAN c_nan MININ minin MAXIN maxin MASKVAL maskval NCOLORS ncolors NOINTERP nointerp _EXTRA ex compile_opt idl2 strictarrsubs cm_general for key_performance tempsun systime 1 for key_performance I2 Reading of the field and checkup IF n_elements minin NE 0 THEN min minin IF n_elements maxin NE 0 THEN max maxin IF size data type NE 8 THEN z2d reform float data ELSE z2d data IF size z2d n_dimensions NE 2 then BEGIN if keyword_set boxzoom then BEGIN savedbox 1b saveboxparam boxparam4pltv dat ENDIF z2d checkfield temporary z2d plt TYPE xy direc direc BOXZOOM boxzoom if z2d 0 EQ 1 then BEGIN IF keyword_set savedbox THEN restoreboxparam boxparam4pltv dat return ENDIF ENDIF dtasize size z2d dimensions def of ncolmax bottom topcol et ncolors ncolmax d n_colorsc_nan c_mask ncolmax 1 ELSE cmask ncolmax 1 z2d maskind cmask ENDIF z2d round temporary z2d use byte type to save memory z2d byte temporary z2d if NOT keyword_set overplot then reinitplt z invert placedessin plt posplot posbar _extra ex 3 Drawing xsize p position 2 p position 0 ysize p position 3 p position 1 IF d name EQ X THEN BEGIN xsize ceil xsize d x_size ysize ceil ysize d y_size z2d congrid z2d xsize ysize ENDIF tv z2d p position 0 p position 1 xsize xsize ysize ysize normal _EXTRA ex caption display of these axe pltv dtasize _EXTRA ex legende truemin truemax plt DIREC direc INTERVALLE float max min topcol bottom _extra ex plot 0 0 noerase nodata xstyle 1 ystyle 1 IF keyword_set masked THEN tracemask msk indgen dtasize 0 indgen dtasize 1 color bar barrecouleur 0 min max 10 bottom bottom position posbar ncolors topcol bottom 1 _extra ex 4 End of drawing terminedessin _extra ex if keyword_set savedbox THEN restoreboxparam boxparam4pltv dat if keyword_set key_performance NE 0 THEN print time pltv systime 1 tempsun return end");257 a[255] = new Array("./ToBeReviewed/PLOTS/DESSINE/pltv.html", "pltv.pro", "", " file_comments Draw 2d plots with TV procedure categories find a file graphic param DATA in required The field we want to display can be: 1 an array If the array is not a 2D array its mean along the z and t direction will be automatically performed as it is done in plt 2 a structure respecting all criterions specified by litchamp pro cf IDL xhelp litchamp param MIN in optional default min of DATA on non masked points param MAX in optional default max of DATA on non masked points keyword BOTTOM default 0 The lowest color index of the colors to be used keyword BOXZOOM Vector indicating the geographic zone on which we want to cut the map If BOXZOOM has : 1 element : The extraction is made on lon1 lon2 lat1 lat2 0 boxzoom 0 2 elements: The extraction is made on lon1 lon2 lat1 lat2 boxzoom 0 boxzoom 1 4 elements: The extraction is made on Boxzoom 0 max gdept gdepw 5 elements: The extraction is made on Boxzoom 0:3 0 Boxzoom 4 6 elements: The extraction is made on Boxzoom Where lon1 lon2 lat1 lat2 are global variables defined at the last domdef keyword C_NAN default d n_colors 1 e6 the test to find the masked value is ge abs mask 10 This is necessary to avoid the rounding errors keyword NCOLORS default d n_colors tvplus dist 100 history Aug 2006: Sebastien Masson smasson lodyc jussieu fr version Id: pltv pro 181 2006 09 15 08:24:36Z smasson PRO pltv data min max BOTTOM bottom BOXZOOM boxzoom C_MASK c_mask C_NAN c_nan MININ minin MAXIN maxin MASKVAL maskval NCOLORS ncolors NOINTERP nointerp _EXTRA ex compile_opt idl2 strictarrsubs cm_general for key_performance tempsun systime 1 for key_performance I2 Reading of the field and checkup IF n_elements minin NE 0 THEN min minin IF n_elements maxin NE 0 THEN max maxin IF size data type NE 8 THEN z2d reform float data ELSE z2d data IF size z2d n_dimensions NE 2 then BEGIN if keyword_set boxzoom then BEGIN savedbox 1b saveboxparam boxparam4pltv dat ENDIF z2d checkfield temporary z2d plt TYPE xy direc direc BOXZOOM boxzoom if z2d 0 EQ 1 then BEGIN IF keyword_set savedbox THEN restoreboxparam boxparam4pltv dat return ENDIF ENDIF dtasize size z2d dimensions def of ncolmax bottom topcol et ncolors ncolmax d n_colors temporary z2d c_nan c_mask ncolmax 1 ELSE cmask ncolmax 1 z2d maskind cmask ENDIF z2d round temporary z2d use byte type to save memory z2d byte temporary z2d if NOT keyword_set overplot then reinitplt z invert placedessin plt posplot posbar _extra ex 3 Drawing xsize p position 2 p position 0 ysize p position 3 p position 1 IF d name EQ X THEN BEGIN xsize ceil xsize d x_size ysize ceil ysize d y_size z2d congrid z2d xsize ysize ENDIF tv z2d p position 0 p position 1 xsize xsize ysize ysize normal _EXTRA ex caption display of these axe pltv dtasize _EXTRA ex legende truemin truemax plt DIREC direc INTERVALLE float max min topcol bottom _extra ex plot 0 0 noerase nodata xstyle 1 ystyle 1 IF keyword_set masked THEN tracemask msk indgen dtasize 0 indgen dtasize 1 color bar barrecouleur 0 min max 10 bottom bottom position posbar ncolors topcol bottom 1 _extra ex 4 End of drawing terminedessin _extra ex if keyword_set savedbox THEN restoreboxparam boxparam4pltv dat if keyword_set key_performance NE 0 THEN print time pltv systime 1 tempsun return end"); 258 258 a[256] = new Array("./ToBeReviewed/PLOTS/DESSINE/pltz.html", "pltz.pro", "", " file_comments Trace vertical graphs categories Graphics param TAB The field whose we want to make a vertical cut can be 2 kind of thing: 1 An 2d or 3d array If the field is 2d indicate with the keyword BOXZOOM geographic delineations of the boxzoom If the field is 3d we extract the section on we average possibly before to do the plot 2 a structure respecting all criterions specified by litchamp pro See IDL xhelp litchamp The array contained in the structure must be 2 or 3d See case 1 ces arguments ne sont pas obligatoires: MAX: valeur maximum que l on veut prendre en compte dans le trace des contours Par defaut on prend le max de tab1 sur les pts mer MIN: valeur minimum que l on veut prendre en compte dans le trace des contours Par defaut on prend le min de tab1 sur les pts mer keyword BOXZOOM Vector indicating the geographic zone on which we want to cut the map If BOXZOOM has : 1 element : The extraction is made on lon1 lon2 lat1 lat2 0 boxzoom 0 2 elements: The extraction is made on lon1 lon2 lat1 lat2 boxzoom 0 boxzoom 1 4 elements: The extraction is made on Boxzoom 0 max gdept gdepw 5 elements: The extraction is made on Boxzoom 0:3 0 Boxzoom 4 6 elements: The extraction is made on Boxzoom Where lon1 lon2 lat1 lat2 are global variables defined at the last domdef keyword CONTINTERVALLE When CONTOUR is activated it is the value between 2 isolines traced by a trait So it can be different from the one specified by INTERVALLE which in this case does not control colored isolines in color anymore If there is noone specified min we choose a contour min which goes well with the specified interval If this keyword is not specified we trace 20 isolines from the min to the max keyword CONTLABEL type integer When CONTOUR is activated if n is different of 0 choose the label type corresponding to n cases for the traced by a traitisolines To specify the type of label of the colored contour use LABEL keyword CONTMAX default max of the keyword CONTOUR on ocean points When CONTOUR is activated max value we want to consider in the isoline traced by a trait s line keyword CONTMIN default min of the keyword CONTOUR on ocean points When CONTOUR is activated min value we want to consider in the isoline traced by a trait s line keyword CONTNLEVEL default 20 When CONTOUR is activated it is the number of contours traced by a trait for drawing active if CONTLABEL 0 keyword CONTOUR If we want to trace contours of a different field than the one whose we have the colored drawing by example E P in color and QSR in contours It must be a field respecting same characteristics than the argument number one of plt keyword ENDPOINTS keyword specifying that we want to make a vertical cut in diagonal Then coordinated of extremities of these one are defined by the 4 elements of the vector ENDPOINTS: x1 y1 x2 y2 which are coordinates keyword INTERVALLE Value of an internal between to isoline If there is none specified min we choose a min contour which goes well with the specified interval If this keyword is not specified we trace 20 isoline from the min to the max Comment: When CONTOUR is activated INTERVALLE only specify the interval between 2 colored isoline To specify the interval between 2 isolines traced by a trait use CONTINTERVALLE keyword INV Invert the color vector used to color the graph without use the black the white and the used palette keyword ZRATIO default 2 3 When the drawing has a zoomed part it is the size rapport between the zoomed part hz zoom height and the whole drawing ht total height keyword LABEL default 0 type integer It choose the label s type corresponding to cases in label pro Comment: When CONTOUR is activated it only specify the label s type for colored isolines For these one traced by a trait use CONTLABEL keyword MAXIN to specify the max value we want to plot with a keyword instead of with the input parameter max If max is defined by both parameter and keyword the keyword is retained keyword MININ to specify the min value we want to plot with a keyword instead of with the input parameter min If min is defined by both parameter and keyword the keyword is retained keyword NLEVEL default 20 Number of contour to draw by default 20 active if LABEL 0 or is not specified keyword NOTRI To force not to use the triangulation Beware in this case the drawing only works if the grid is undeformed It means that each point of a longitude give one latitude and each point of a latitude give one longitude except if we use the keyword CELL_FILL 2 Comment: if the field contain points values f_nan then we even do a triangulation keyword OVERPLOT To make a plot over an other one Comment: Contrarily to the use of CONTOUR or VECTEUR the use of this keyword does not the caption and or the color bar keyword SIN Activate this keyword if we want the x axis to be traced in sinus of the latitude when we make a drawing f y keyword STRICTFILL Activate this keyword to that the filling of contours be precisely done between the min and the max specified letting values inferior at the specified min and values superior at the specified max in white keyword STYLE default style 0 Contour s style to adopt to draw isolines keyword WDEPTH To specify that the field is at W depth instead of T depth automatically activated if vargrid eq W keyword XZ Force to make a cut following xz keyword YZ Force to make a cut following yz keyword ZOOM default 200m or max depth if it is inferior at 200m Depth where i can make our maximum zoom uses common pro history Sebastien Masson smasson lodyc jussieu fr 7 1999 Sebastien Masson 08 02 2000 checkfield and notri keyword version Id: pltz pro 172 2006 09 11 07:11:26Z smasson todo seb L 20 26 L 215 221 pro pltz tab giventype givenmin givenmax BOXZOOM boxzoom CONTOUR contour ENDPOINTS endpoints INTERVALLE intervalle INV inv ZRATIO zratio CONTINTERVALLE contintervalle LABEL label CONTLABEL contlabel STYLE style CONTMAX contmax SIN sin TYPEIN typein CONTMIN contmin NLEVEL nlevel CONTNLEVEL contnlevel NOTRI notri USETRI usetri FILLXDIR fillxdir ZOOM zoom XZ xz YZ yz MININ minin MAXIN maxin STRICTFILL strictfill OVERPLOT overplot MASKFILL maskfill WDEPTH wdepth REALSECTION realsection _EXTRA ex include common compile_opt idl2 strictarrsubs cm_4mesh cm_4data cm_4ps IF NOT keyword_set key_forgetold THEN BEGIN updatenew updatekwd ENDIF tempsun systime 1 For key_performance 1st part: initialization small calculations Comment: we do not reinitializate when we call back plt in loop to use contour if n_elements contour ne 4 AND NOT keyword_set overplot then reinitplt if n_elements contour ne 4 THEN saveboxparam boxparam4pltz dat Reading of the field if n_elements giventype NE 0 then type giventype if n_elements givenmin NE 0 then min givenmin if n_elements givenmax NE 0 then max givenmax if n_elements minin NE 0 then min minin if n_elements maxin NE 0 then max maxin if n_elements realsection EQ 0 then realsection 1 IF n_elements usetri EQ 0 THEN BEGIN IF n_elements notri NE 0 THEN usetri 2 notri ELSE usetri 1 ENDIF no need of triangulation IF usetri EQ 1 AND keyword_set realsection THEN usetri 0 did we specify the type if keyword_set typein then BEGIN if size type type NE 7 AND size type type NE 0 then begin if n_elements min NE 0 then max min min type endif type typein ENDIF checktypeminmax pltz TYPE type MIN min MAX max XZ xz YZ yz ENDPOINTS endpoints _extra ex if keyword_set endpoints then begin section tab z2d glam gphi ENDPOINTS endpoints TYPE type BOXZOOM boxzoom DIREC direc WDEPTH wdepth _extra ex if z2d 0 EQ 1 AND n_elements contour ne 4 then BEGIN restoreboxparam boxparam4pltz dat return ENDIF nx n_elements glam ny nx if strupcase vargrid EQ W then begin gdep gdepw firstzw:lastzw nz nzw ENDIF ELSE BEGIN gdep gdept firstzt:lastzt nz nzt ENDELSE mask z2d LE valmask 10 ENDIF ELSE BEGIN z2d checkfield tab pltz TYPE type BOXZOOM boxzoom DIREC direc WDEPTH wdepth _extra ex if z2d 0 EQ 1 AND n_elements contour ne 4 then BEGIN restoreboxparam boxparam4pltz dat return ENDIF IF realsection EQ 1 THEN grille mask glam gphi gdep nx ny nz type type WDEPTH wdepth ELSE grille mask glam gphi gdep nx ny nz WDEPTH wdepth ENDELSE IF size gdep n_dimensions EQ 2 THEN usetri 2 profmax y range 0 profmin y range 1 if not keyword_set zoom then zoom 200 zoom zoom 0 IF zoom LT profmin THEN zoom profmax if zoom GE vert2 then zoom profmax construction of the mask and of the axis axis4pltz type mask glam gphi gdep XXAXIS xxaxis ZZAXIS zzaxis SIN sin ZRATIO zratio ZOOM zoom PROFMAX profmax PROFMIN profmin _extra ex to draw from bottom to top avoid using cell_fill z2d reverse z2d 2 Determination of the mi:min and of the ma:max of z2d in the same way as max: max and min: min for the drawing nan total finite z2d nan z2d max if n_elements maskfill NE 0 then BEGIN z2d z2d mask masknan if maskfill NE 0 then z2d temporary z2d maskfill 1b mask masknan ENDIF check the mask and the triangulation according to the grid type and nan values find the coordinates of the mask if where mask EQ 0 0 EQ 1 AND NOT keyword_set nan then notri 1 if keyword_set notri then trifield 1 ELSE trifield triangule mask basic if usetri GE 1 AND vargrid EQ T OR vargrid EQ W OR usetri EQ 2 AND vargrid NE T AND vargrid NE W THEN trifield triangule mask basic IF NOT keyword_set endpoints THEN BEGIN if keyword_set nan then trinan triangule masknan basic coinmonte coinmontenan coindescend coindescendnan maskorg mask decoupeterre mask glammsk gphimsk gdepmsk type type WDEPTH wdepth REALSECTION realsection axis4pltz type mask glammsk gphimsk gdepmsk XXAXIS xmask ZZAXIS zmask SIN sin ZRATIO zratio ZOOM zoom PROFMAX profmax PROFMIN profmin _extra ex ENDIF ELSE BEGIN xmask xxaxis zmask zzaxis ENDELSE if usetri GE 1 AND vargrid NE T AND vargrid NE W THEN BEGIN IF keyword_set realsection THEN trimsk triangule mask basic ELSE trimsk triangule mask basic coinmonte coinmontemask coindescend coindescendmask ENDIF dessin en lui meme IF n_elements romszinfos EQ 1 THEN BEGIN add one line at bottom to have nicer plot colors go until the ocean bottom IF n_elements romszinfos h NE 1 THEN BEGIN CASE type OF xz :romsh moyenne romszinfos h y yz :romsh moyenne romszinfos h x ENDCASE IF nzt EQ jpk THEN BEGIN z2d z2d z2d jpk 1 zzaxis zzaxis romsh ENDIF ENDIF ENDIF pltbase z2d xxaxis zzaxis mask xmask zmask level_z2d colnumb overplot overplot contour contour trichamp trifield trimsk trimsk c_linestyle linestyle c_labels 1 indgen n_elements level_z2d MOD 2 c_thick thick unsur2 unsur2 maskorg maskorg masknan masknan trinan trinan coinmontenan coinmontenan coindescendnan coindescendnan coinmontemask coinmontemask coindescendmask coindescendmask REALSECTION realsection USETRI usetri _extra ex recall of pltz in loop when contour is activated if n_elements contour eq 4 then BEGIN It is the second time I pass in pltt contour mietma: mi ma unit:varunit inter:intervalle I send back the min the max and the unity return endif if keyword_set contour THEN BEGIN pourlegende 1 1 1 1 oldattributs saveatt oldcolnumb colnumb pltz contour contmin contmax CONTOUR pourlegende ZRATIO zratio INTERVALLE contintervalle LABEL contlabel STYLE style noerase NLEVEL contnlevel ZOOM zoom BOXZOOM boxzoom ENDPOINTS endpoints STRICTFILL strictfill REALSECTION realsection MASKFILL maskfill USETRI usetri WDEPTH wdepth _extra ex restoreatt oldattributs colnumb oldcolnumb ENDIF 3rd part: drawing of the frame caption colorbar if keyword_set overplot then BEGIN y range zoom profmin We get back on physic coordinates plot 0 0 nodata noerase title subtitle xstyle 5 ystyle 5 GOTO fini endif Caption dysplay of them legende mi ma type CONTOUR pourlegende INTERVALLE intervalle DIREC direc endpoints endpoints _EXTRA ex if type eq yz then xaxe lataxe else xaxe lonaxe if keyword_set sin OR NOT key_onearth then xaxe Frame applied by default plot xxaxis 0 xxaxis n_elements xxaxis 1 zratio zratio noerase xstyle 1 4 keyword_set endpoints AND type EQ xz AND lat1 NE lat2 OR type EQ yz AND lon1 NE lon2 xtickformat xaxe _extra ex Add of an axis in the case of we use endpoints if keyword_set endpoints then addaxe endpoints type posfenetre _EXTRA ex Y axis in 1 or 2 part if n_elements ex NE 0 then BEGIN To do not put title anymore if where tag_names ex EQ TITLE 0 NE 1 then ex TITLE To do not put subtitle anymore if where tag_names ex EQ SUBTITLE 0 NE 1 then ex SUBTITLE To have just one ytitle if where tag_names ex EQ YTITLE 0 NE 1 then BEGIN ytitle ex YTITLE ex YTITLE endif ENDIF htotal posfenetre 3 posfenetre 1 hzoom 1 zratio htotal if zoom LT profmax then plot 0 0 nodata noerase ystyle 1 yrange profmax zoom 0 001 position posfenetre 0 0 0 hzoom _extra ex title subtitle ytitle y range zoom profmin We get back in physic coordinates plot 0 0 nodata noerase ystyle 1 _extra ex title subtitle ytitle position posfenetre 0 htotal hzoom 0 0 to write the ytitle if d name EQ PS then xs max page_size min mi 1 key_portrait mi key_portrait d x_px_cm ELSE xs d x_size if n_elements ytitle NE 0 then y title ytitle charsize chkstru ex ycharsize extract if charsize EQ 1 then charsize p charsize IF chkstru ex charsize THEN ex charsize charsize if chkstru ex ytitle extract NE then decalage string format e10 3 profmax decalage float strmid decalage strpos decalage e 1 posy posfenetre 1 1 htotal 2 posx posfenetre 0 decalage 3 d x_ch_size charsize xs xyouts posx posy y title normal orientation 90 color 0 ALIGNMENT 5 charsize charsize _extra ex colorbar colnumb colnumb 0:ncontour 1 keyword_set strictfill barrecouleur colnumb min max ncontour keyword_set strictfill 2 position posbar _extra ex 4th part: possible print fini: terminedessin _extra ex sortie: restoreboxparam boxparam4pltz dat if keyword_set key_performance NE 0 THEN print temps pltz systime 1 tempsun return end "); 259 259 a[257] = new Array("./ToBeReviewed/PLOTS/DESSINE/sbar_plot.html", "sbar_plot.pro", "", " file_comments Same thing that bar_plot but compatible with the whole environment common pro included categories Graphics keyword COLORS type vector A vector the same size as VALUES containing the color index to be used for each bar If not specified the colors are selected based on spacing the color indices as widely as possible within the available colors specified by D N_COLORS keyword COLORS type integer I gives color of all colorbars contrarily to colors which is a vector giving the color of each colorbar keyword NOREINITPLT We active it if we do not want environment variables p x y z to be reinitializated by the procedure reinitplt keyword _EXTRA used to pass your keyword uses common pro restrictions If NOREINITPLT is not activated all environment variables p x y z are reinitializted by the procedure reinitplt examples IDL sbar_plot indgen 10 small 2 2 2 rempli IDL sbar_plot indgen 10 small 2 2 3 noerase IDL ps history Sebastien Masson smasson lodyc jussieu fr 10 10 1999 version Id: sbar_plot pro 163 2006 08 29 12:59:46Z navarro PRO sbar_plot Values COLORS colors NOREINITPLT noreinitplt _extra ex compile_opt idl2 strictarrsubs common 1 I reinitialize the graphic environment variables x y et p : if NOT keyword_set NOREINITPLT then reinitplt _extra ex 2 I place the drawing on the screen like on the postscript IF chkstru ex overplot EQ 0 THEN placedessin autre _extra ex 3 Drawing if n_elements COLORS NE 0 then BEGIN if n_elements COLORS EQ n_elements Values then col colors ELSE col replicate colors 0 n_elements Values ENDIF ELSE col congrid indgen d n_colors 256 n_elements Values bar_plot Values background p background colors col xstyle 1 ystyle 1 _extra ex 4 End of drawing terminedessin _extra ex return end"); … … 311 311 a[309] = new Array("./ToBeReviewed/STRING/strright.html", "strright.pro", "", " file_comments return right subportion from a string categories String param S in required the string to be searched param LASTN in required default 1 the number of characters to be returned If NLAST is the strlen STRING the complete string is returned returns The portion of LASTN characters of S counted from the back examples if strright path ne then path path history mgs 19 Nov 1997: VERSION 1 00 version Id: strright pro 163 2006 08 29 12:59:46Z navarro Copyright C 1997 Martin Schultz Harvard University This software is provided as is without any warranty whatsoever It may be freely used copied or distributed for non commercial purposes This copyright notice must be kept with any copy of this software If this software shall be used commercially or sold as part of a larger package please contact the author to arrange payment Bugs and comments should be directed to mgs io harvard edu with subject IDL routine strright function strright s lastn compile_opt idl2 strictarrsubs on_error 2 return to caller if n_elements s le 0 then return 1L l strlen s if n_elements lastn le 0 then lastn 1 if lastn gt l then lastn l result strmid s l lastn l return result end"); 312 312 a[310] = new Array("./ToBeReviewed/STRING/strsci.html", "strsci.pro", "", " file_comments Given a number returns a string of that B number in scientific notation format e g A x 10 categories String param DATA in required A floating point or integer number to be converted into a power of 10 keyword FORMAT default f12 2 The format specification used in the string conversion for the mantissa i e the A of A x 10 B keyword POT_ONLY Will return only the power of 10 part of the string i e the 10 B Default is to return the entire string e g A x 10 B keyword MANTISSA_ONLY return only mantissa of the string keyword SHORT return 10 0 as 1 and 10 1 as 10 keyword TRIM don t insert blanks i e return Ax10 B restrictions This function does not evaluate the format statement thoroughly which can result in somewhat quirky strings Example: print strsci 9 999 results in 10 0x10 0 instead of 1 0x10 1 Need a better symbol than the x for the multiplier examples Result STRSCI 2000000 format i1 print result 6 prints 2 x 10 u6 n which gets plotted as 2 x 10 Result STRSCI 0 0001 print result 4 prints 1 00 x 10 u 4 n which gets plotted as 1 00 x 10 Result STRSCI 0d0 format f13 8 print result prints 0 00000000 history bmy 28 May 1998: VERSION 1 00 B now returns string of the form A x 10 mgs 29 May 1998: bug fix: now allows negative numbers keyword MANTISSA_ONLY added default format changed to f12 2 bmy 02 Jun 1998: renamed to STRSCI STRing SCIentific notation mgs 03 Jun 1998: added TRIM keyword mgs 22 Sep 1998: added SHORT keyword modified handling of TRIM keyword mgs 24 Sep 1998: bug fix with SHORT flag bmy mgs 02 Jun 1999: now can handle DATA 0 0 correctly updated comments mgs 03 Jun 1999: can now also handle values lt 1 and doesn t choke on arrays version Id: strsci pro 163 2006 08 29 12:59:46Z navarro Copyright C 1998 1999 Bob Yantosca and Martin Schultz Harvard University This software is provided as is without any warranty whatsoever It may be freely used copied or distributed for non commercial purposes This copyright notice must be kept with any copy of this software If this software shall be used commercially or sold as part of a larger package please contact the author to arrange payment Bugs and comments should be directed to bmy io harvard edu or mgs io harvard edu with subject IDL routine strsci function strsci Data Format Format POT_Only POT_Only MANTISSA_ONLY MANTISSA_ONLY SHORT SHORT TRIM TRIM compile_opt idl2 strictarrsubs Error checking Keyword settings on_error 2 if n_elements Data eq 0 then begin return endif if not Keyword_Set Format then Format f12 2 POT_Only keyword_set POT_Only MANTISSA_Only keyword_set MANTISSA_Only Short Keyword_Set Short Trim Keyword_Set Trim NDat n_elements Data Result strarr NDat for i 0 NDat 1 do begin If ABS DATA 0 then we can proceed to take the common log For DATA 0 place a sign in front of the number if Abs Data i ne 0 0 then begin take the common log and store in LOG10DATA Log10Data ALog10 Abs Data i Boolean flag if data 0 sign Data i lt 0 0 Compute the characteristic int part Add the 1d 6 to prevent roundoff errors Characteristic Fix Log10Data 1 0d 6 if Log10Data lt 0 then Characteristic Characteristic 1 Compute the Mantissa frac part and take its antilog Mantissa Log10Data Characteristic Mantissa 10 0 Mantissa print data i log10data mantissa characteristic format 3f24 14 i8 String for the coefficient part The coefficient is just antilog of the Mantissa Add the minus sign if DATA 0 0 A StrTrim String Mantissa Format Format 2 if Sign then A A String for the power of 10 part B 10 u strtrim string Characteristic 2 n if Short then begin if Characteristic eq 0 then B 1 if Characteristic eq 1 then B 10 endif composite string Result i A x B if Short AND B eq 1 then Result i A If DATA 0 then we cannot take the common log so return zeroes for the result strings Use the FORMAT string endif else begin A String 0d0 Format Format B A Result i A endelse Return result to calling program depending on keyword settings Eliminate blanks if TRIM keyword is set if POT_Only then Result i B if MANTISSA_Only then Result i A if Trim then Result i StrCompress Result i Remove_All endfor if n_elements Result eq 1 then Result Result 0 return Result end"); 313 a[311] = new Array("./ToBeReviewed/STRING/strtok.html", "strtok.pro", "", " file_comments Retrieve portion of string up to token categories String param STRING in required String to be split Contains text after in out token on output param TOKEN in required Token to use in splitting old keyword TRIM set to remove leading blanks from old before returning keyword HELP print useful message and exit returns new portion of string up to token out old portion of old after token out in restrictions Input parameter old is modified Token may be one or more characters if token is not found returns old and sets old to examples If old is foo44 bar then strtok old 44 would return foo and upon return old will be left with bar If TRIM were set old would be bar on return If old xyz then new strtok old a would return with new xyz and old history Log: strtok pro v Revision 1 3 1996 06 14 20:00:27 mcraig Updated Copyright info Revision 1 2 1996 05 09 00:22:17 mcraig Added built in help Revision 1 1 1996 01 31 18:47:37 mcraig Initial revision Thanks: To D Linder who wrote GETTOK part of the goddard library upon which this is based Release: Name: Rel_1_2 Copyright: Copyright C 1996 The Regents of the University of California All Rights Reserved Written by Matthew W Craig See the file COPYRIGHT for restrictions on distrubting this code This code comes with absolutely NO warranty see DISCLAIMER for details version Id: strtok pro 163 2006 08 29 12:59:46Z navarroFUNCTION strtok string token TRIM trim HELP Help compile_opt idl2 strictarrsubs Back to the caller if error occurs On_error 2 IF n_params NE 2 OR keyword_set Help THEN BEGIN offset print offset Retrieve portion of string up to token print offset new strtok old token print offset Inputs: print offset offset old String to be split Contains text after in out print offset offset token on output print offset offset token Token to use in splitting old in print offset Keywords: print offset offset TRIM set to remove leading blanks from old print offset offset before returning print offset offset HELP print useful message and exit print offset Outputs: print offset offset new portion of string up to token out print offset offset old portion of old after token out in print offset Side effects: print offset offset Input parameter old is modified print offset Notes: print offset offset Token may be one or more characters print offset offset If token is not found returns old and sets old to print offset Examples: print offset offset If old is foo44 bar then strtok old 44 would return print offset offset foo and upon return old will be left with bar If TRIM print offset offset were set old would be bar on return print offset offset If old xyz then new strtok old a would return with print offset offset new xyz and old return 1 ENDIF pos strpos string token IF pos GE 0 THEN BEGIN front strmid string 0 pos string strmid string pos strlen token strlen string IF keyword_set trim THEN string strtrim string 1 return front ENDIF front string string return front END ");313 a[311] = new Array("./ToBeReviewed/STRING/strtok.html", "strtok.pro", "", " file_comments Retrieve portion of string up to token categories String param STRING in required String to be split Contains text after in out token on output param TOKEN in required Token to use in splitting old keyword TRIM set to remove leading blanks from old before returning keyword HELP print useful message and exit returns new portion of string up to token out old portion of old after token out in restrictions Input parameter old is modified Token may be one or more characters if token is not found returns old and sets old to examples If old is foo44 bar then strtok old 44 would return foo and upon return old will be left with bar If TRIM were set old would be bar on return If old xyz then new strtok old a would return with new xyz and old history Log: strtok pro v Revision 1 3 1996 06 14 20:00:27 mcraig Updated Copyright info Revision 1 2 1996 05 09 00:22:17 mcraig Added built in help Revision 1 1 1996 01 31 18:47:37 mcraig Initial revision Thanks: To D Linder who wrote GETTOK part of the goddard library upon which this is based Release: Name: Rel_1_2 Copyright: Copyright C 1996 The Regents of the University of California All Rights Reserved Written by Matthew W Craig See the file COPYRIGHT for restrictions on distrubting this code This code comes with absolutely NO warranty see DISCLAIMER for details version Id: strtok pro 186 2006 09 20 10:50:37Z pinsard FUNCTION strtok string token TRIM trim HELP Help compile_opt idl2 strictarrsubs Back to the caller if error occurs On_error 2 IF n_params NE 2 OR keyword_set Help THEN BEGIN offset print offset Retrieve portion of string up to token print offset new strtok old token print offset Inputs: print offset offset old String to be split Contains text after in out print offset offset token on output print offset offset token Token to use in splitting old in print offset Keywords: print offset offset TRIM set to remove leading blanks from old print offset offset before returning print offset offset HELP print useful message and exit print offset Outputs: print offset offset new portion of string up to token out print offset offset old portion of old after token out in print offset Side effects: print offset offset Input parameter old is modified print offset Notes: print offset offset Token may be one or more characters print offset offset If token is not found returns old and sets old to print offset Examples: print offset offset If old is foo44 bar then strtok old 44 would return print offset offset foo and upon return old will be left with bar If TRIM print offset offset were set old would be bar on return print offset offset If old xyz then new strtok old a would return with print offset offset new xyz and old return 1 ENDIF pos strpos string token IF pos GE 0 THEN BEGIN front strmid string 0 pos string strmid string pos strlen token strlen string IF keyword_set trim THEN string strtrim string 1 return front ENDIF front string string return front END "); 314 314 a[312] = new Array("./ToBeReviewed/STRING/strwhere.html", "strwhere.pro", "", " file_comments return position array for occurrence of a character in a string categories String param STR in required the string param SCHAR in required the character to look for returns COUNT out optional The number of matches that were found The function returns an index array similar to the result of the where function examples ind strwhere abcabcabc a returns 0 3 6 history mgs 02 Jun 1998: VERSION 1 00 bmy 30 Jun 1998: now returns COUNT the number of matches that are found this is analogous to the WHERE command version Id: strwhere pro 163 2006 08 29 12:59:46Z navarro Copyright C 1998 Martin Schultz Harvard University This software is provided as is without any warranty whatsoever It may be freely used copied or distributed for non commercial purposes This copyright notice must be kept with any copy of this software If this software shall be used commercially or sold as part of a larger package please contact the author to arrange payment Bugs and comments should be directed to mgs io harvard edu with subject IDL routine strwhere function strwhere str schar Count compile_opt idl2 strictarrsubs if n_elements str eq 0 then return 1 convert to byte BStr byte Str BSC byte schar 0 Search for matches Ind where Bstr eq BSC Count bmy return where BStr eq BSC return Ind end "); 315 315 a[313] = new Array("./ToBeReviewed/STRING/tostr.html", "tostr.pro", "", " file_comments Convert an input in a string categories String param INPUT in required input can not contain or be of the type of: Complex floating structure Double precision complex Pointer Object reference Unsigned Integer Unsigned Longword Integer 64 bit Integer Unsigned 64 bit Integer returns a string restrictions If keywdvalue is an array it will be convert in a vector restrictions Beware this function has loops ifs ad cases everywhere So it can not be used by big keywords with a lot of elements which are big arrays examples IDL help tostr 1 tostr a tostr indgen 4 tostr a jkfjo STRING 1 STRING a STRING 0 1 2 3 STRING a jkfjo IDL print tostr c est bon c est bon c est bon c est bon history Sebastien Masson smasson lodyc jussieu fr 18 10 1999 version Id: tostr pro 157 2006 08 21 09:01:50Z navarro FUNCTION tostr input compile_opt idl2 strictarrsubs case 1 of size input type LE 5:BEGIN if size input type EQ 1 then input long input if n_elements input EQ 1 then res strtrim input 1 ELSE BEGIN res strtrim input 0 1 for i 1 n_elements input 1 do res res strtrim input i 1 res res ENDELSE END size input type eq 7:BEGIN if n_elements input EQ 1 then BEGIN sinput strrepl input res sinput ENDIF ELSE BEGIN res strrepl input 0 for i 1 n_elements input 1 do res res strrepl input i res res ENDELSE END ELSE:BEGIN ras report la fonction tostr ne marche pas pour input qui est de type size input tname res END ENDCASE return res end"); … … 321 321 a[319] = new Array("./ToBeReviewed/TRIANGULATION/ciseauxtri.html", "ciseauxtri.pro", "", " file_comments Delete arrays which do not have to be drawn thanks to 2 tests: 1 Corners of the array must be in the window 2 Lengthes of side of triangles expressed in normalized coordinates must not surpass a sill length categories param TRIANG param GLAM param GPHI keyword ALL keyword _EXTRA Used to pass your keywords uses common pro history Sebastien Masson smasson lodyc jussieu fr 20 2 99 version Id: ciseauxtri pro 163 2006 08 29 12:59:46Z navarro FUNCTION ciseauxtri triang glam gphi ALL all _EXTRA ex compile_opt idl2 strictarrsubs cm_4mesh IF NOT keyword_set key_forgetold THEN BEGIN updatenew ENDIF IF NOT keyword_set key_periodic AND NOT keyword_set key_irregular AND NOT map projection LE 7 AND map projection NE 0 AND NOT map projection EQ 14 OR map projection EQ 15 OR map projection EQ 18 THEN return triang tempsun systime 1 For key_performance taille size glam nx taille 1 ny taille 2 tempdeux systime 1 For key_performance 2 z convert_coord glam gphi data to_normal x z 0 y z 1 tempvar SIZE TEMPORARY z delete z IF testvar var key_performance EQ 2 THEN print temps ciseauxtri: convert_coord data to_normal systime 1 tempdeux Beware following the projection some points x or y can become NaN see points behind the Earth in an orthographic projection In this case we have to remove all triangle which contain one of these points if map projection LE 7 AND map projection NE 0 OR map projection EQ 14 OR map projection EQ 15 OR map projection EQ 18 then begin tempdeux systime 1 For key_performance 2 test x y triang test finite temporary test nan test total temporary test 1 ind where temporary test EQ 0 if ind 0 NE 1 then triang triang temporary ind ELSE return 1 trichanged 1b IF testvar var key_performance EQ 2 THEN print temps ciseauxtri: recherche points a NAN systime 1 tempdeux endif seuil 5 indxtriang2 indxtriang indxmin nx 1 indxmin EQ 0 AND indxmax EQ nx 1 ENDIF ELSE indxtriang indxmin listrect nx indytriang indxtriang IF testvar var key_performance EQ 2 THEN print temps ciseauxtri: liste des rectangles systime 1 tempdeux Now we have this list we will make sure that we do not have triangles with only a common summit test bytarr nx ny test listrect 1 dejavire 1b test tempdeux systime 1 For key_performance 2 vire1 0 vire2 0 while vire1 0 NE 1 OR vire2 0 NE 1 ne 0 do begin vire1 where test shift test 1 1 1 shift test 0 1 1 shift test 1 0 EQ 1 if vire1 0 NE 1 THEN test vire1 0 We delete the rectangle vire2 where 1 test 1 shift test 1 1 shift test 0 1 shift test 1 0 EQ 1 We delete the top rectangle same x index but equal to 1 if vire2 0 NE 1 THEN test vire2 nx 0 ENDWHILE stop test test temporary dejavire avirer where temporary test EQ 0 IF testvar var key_performance EQ 2 THEN print temps ciseauxtri: determinationdes rectangles a virer systime 1 tempdeux if avirer 0 NE 1 then begin tempdeux systime 1 For key_performance 2 indnx n_elements listrect indny n_elements avirer ind listrect replicate 1l indny ind ind EQ replicate 1 indnx avirer if indny GT 1 then ind total ind 2 ind where ind EQ 0 if ind 0 NE 1 then triang triang ind ELSE return 1 endif IF testvar var key_performance EQ 2 THEN print temps ciseauxtri: derniere retouche de la triangulation systime 1 tempdeux endif if keyword_set key_performance THEN print temps ciseauxtri systime 1 tempsun return triang end"); 322 322 a[320] = new Array("./ToBeReviewed/TRIANGULATION/completecointerre.html", "completecointerre.pro", "", " file_comments categories Graphics param LONS param LATS param SEUIL keyword _EXTRA Used to pass your keywords keyword CONT_COLOR default d n_colors 1 white The color of the continent uses common pro history Sebastien Masson smasson lodyc jussieu fr 01 10 1999 version Id: completecointerre pro 163 2006 08 29 12:59:46Z navarro PRO draw_corner_triangle lons lats seuil CONT_COLOR cont_color _extra ex compile_opt idl2 strictarrsubs cm_4mesh the triangle must not be out of the domain IF min lons max maxlon GE lon1 AND maxlon LE lon2 AND min lats max maxlat GE lat1 AND maxlat LE lat2 then BEGIN the triangle must not be too big z convert_coord lons lats data to_normal alldist z 0 2 z 0 0 2 z 1 2 z 1 0 2 z 0 0 z 0 1 2 z 1 0 z 1 1 2 z 0 1 z 0 2 2 z 1 1 z 1 2 2 IF max alldist LT seuil 2 THEN polyfill lons lats color cont_color _extra ex return ENDIF end file_comments To color cleanly continents categories Graphics keyword _EXTRA Used to pass your keywords keyword CONT_COLOR The color of the continent default value is d n_colors 1 white keyword COINMONTE type array To obtain the array of ascending land corner to be treated with completecointerre pro in the variable array instead of make it pass by the global variable twin_corners_up keyword COINDESCEND type array See COINMONTE keyword INDICEZOOM The zoom s index uses common pro history Sebastien Masson smasson lodyc jussieu fr 01 10 1999 version Id: completecointerre pro 163 2006 08 29 12:59:46Z navarro PRO completecointerre COINMONTE coinmonte COINDESCEND coindescend CONT_COLOR cont_color INDICEZOOM indicezoom _extra ex compile_opt idl2 strictarrsubs common if NOT keyword_set coinmonte then return if NOT keyword_set coindescend then return if NOT keyword_set indicezoom then return tempsun systime 1 For key_performance definitions of vectors coinmont and coindesc if keyword_set coinmonte then coinmont coinmonte ELSE coinmont twin_corners_up if keyword_set coindescend then coindesc coindescend ELSE coindesc twin_corners_dn IF NOT keyword_set cont_color THEN cont_color d n_colors 1 255 definition of coordinates of points numbered 1 2 3 4 5 6 see figures below tempdeux systime 1 For key_performance 2 if coinmont 0 NE 1 OR coindesc 0 NE 1 then BEGIN if keyword_set indicezoom then BEGIN if we use key_stide the t u v and f points are no more related to the same cell because glamf and gphif has be recomputed to be in the middle of two t points IF total key_stride EQ 3 AND finite glamv 0 gphiv 0 NE 0 THEN BEGIN long1 glamv indicezoom lati1 gphiv indicezoom ENDIF ELSE BEGIN long1 glamt indicezoom lati1 gphif indicezoom ENDELSE IF total key_stride EQ 3 AND finite glamu 0 gphiu 0 NE 0 THEN BEGIN long2 glamu indicezoom lati2 gphiu indicezoom ENDIF ELSE BEGIN long2 glamf indicezoom lati2 gphit indicezoom ENDELSE long3 glamf indicezoom lati3 gphif indicezoom ENDIF ELSE BEGIN IF total key_stride EQ 3 AND finite glamv 0 gphiv 0 NE 0 THEN BEGIN long1 glamv lati1 gphiv ENDIF ELSE BEGIN long1 glamt lati1 gphif ENDELSE IF total key_stride EQ 3 AND finite glamu 0 gphiu 0 NE 0 THEN BEGIN long2 glamu lati2 gphiu ENDIF ELSE BEGIN long2 glamf lati2 gphit ENDELSE long3 glamf lati3 gphif ENDELSE nx size long1 dimensions 0 ny size long1 dimensions 1 seuil 5 min nx ny 2 seuil min p position 2 p position 0 seuil p position 3 p position 1 seuil ENDIF IF testvar var key_performance EQ 2 THEN print temps completecointerre: positions des points systime 1 tempdeux Case land corner in ascent: 2 land points in diagonal ascending with 2 ocean points on the descendant diagonal 4 t i nx 1 u i nx t i nx 1 0 1 3 5 v i f i v i 1 t i 0 2 u i t i 1 1 if coinmont 0 NE 1 then BEGIN tempdeux systime 1 For key_performance 2 for id 0 n_elements coinmont 1 do BEGIN i coinmont id ii i MOD nx ij i nx bottom triangle lons long1 i long2 i long3 i lats lati1 i lati2 i lati3 i draw_corner_triangle lons lats seuil CONT_COLOR cont_color _extra ex upper triangle IF ii NE nx 1 AND ij NE ny 1 THEN BEGIN lons long3 i long1 i 1 long2 i nx lats lati3 i lati1 i 1 lati2 i nx draw_corner_triangle lons lats seuil CONT_COLOR cont_color _extra ex ENDIF ENDFOR IF testvar var key_performance EQ 2 THEN print temps completecointerre: trace de cointerremonte systime 1 tempdeux ENDIF Case land corner in descent: 2 land points in diagonal descending with 2 ocean points on the ascendant diagonal 4 t i nx 1 u i nx t i nx 1 0 3 5 v i f i v i 1 1 t i 0 2 u i t i 1 1 if coindesc 0 NE 1 then begin tempdeux systime 1 For key_performance 2 for id 0 n_elements coindesc 1 do BEGIN i coindesc id ii i MOD nx ij i nx IF ii NE nx 1 AND ij NE ny 1 THEN BEGIN left triangle lons long1 i long3 i long2 i nx lats lati1 i lati3 i lati2 i nx draw_corner_triangle lons lats seuil CONT_COLOR cont_color _extra ex right triangle lons long3 i long2 i long1 i 1 lats lati3 i lati2 i lati1 i 1 draw_corner_triangle lons lats seuil CONT_COLOR cont_color _extra ex ENDIF ENDFOR IF testvar var key_performance EQ 2 THEN print temps completecointerre: trace de cointerredescend systime 1 tempdeux ENDIF IF keyword_set key_performance THEN print temps completecointerre systime 1 tempsun return end"); 323 a[321] = new Array("./ToBeReviewed/TRIANGULATION/definetri.html", "definetri.pro", "", " file_comments Define a triangulation array like TRIANGULATE But in a VERY SIMPLE CASE: the points are regulary gridded on nx ny array Find a Delaunay triangulation for this set of points is easy: Points define nx 1 ny 1 rectangles which we can cut in 2 triangles cf figure above ny 1 ny 2 1 0 0 1 2 nx 3 nx 2 nx 1 You have 2 ways to cut a rectangle: 1 the upward diagonal 2 the downward diagonal categories Utilities param NX in required The x dimension array param NY in required The y dimension array param DOWNWARD in optional When downward is undefine all rectangles are cut in using the upward diagonal Downward is a vector which contains the rectangles numbers which are cut in using the downward diagonal The rectangle number is define by the index in a nx ny vector of the lower left corner of the rectangle returns triangles is a 2d array and is dimensions are 3 and 2 nx 1 ny 1 triangles is define like in the TRIANGULATE procedure examples triangles definetri 3 3 1 3 triangles will be a this kind of triangulation: history sebastien Masson smlod ipsl jussieu fr 4 3 1999 version Id: definetri pro 163 2006 08 29 12:59:46Z navarro FUNCTION definetri nx ny downward compile_opt idl2 strictarrsubs nx long nx ny long ny if n_elements downward NE 0 THEN BEGIN if n_elements downward GT nx 1 ny 1 then begin print downward a trop d elements par rapport a nx et ny return 1 endif downward long downward ENDIF we define triangles triangles lonarr 3 2 nx 1 ny 1 we cut the rectangles with the upward diagonal if n_elements downward NE nx 1 ny 1 then BEGIN there is some rectangle to cut we define upward: upward is a vector which contains the rectangles numbers which are cut in using the upward diagonal The rectangle number is defineby the index in a nx ny vector of the lower left corner of the rectangle upward bytarr nx ny 1 upward ny 1 0 upward nx 1 0 if n_elements downward NE 0 then upward downward 0 upward where upward EQ 1 n1 n_elements upward 4 corners indexes of a rectangle number i are i nx i nx 1 i i 1 trinumber 2 upward upward nx we define the right triangles triangles 0 trinumber upward triangles 1 trinumber upward 1 triangles 2 trinumber upward 1 nx we define the left triangles triangles 0 trinumber 1 upward 1 nx triangles 1 trinumber 1 upward nx triangles 2 trinumber 1 upward ENDIF ELSE n1 0 we cut the rectangles with the downward diagonal if n_elements downward NE 0 then BEGIN n2 n_elements downward trinumber 2 downward downward nx we define the right triangles triangles 0 trinumber downward 1 triangles 1 trinumber downward nx 1 triangles 2 trinumber downward nx we define the left triangles triangles 0 trinumber 1 downward nx triangles 1 trinumber 1 downward triangles 2 trinumber 1 downward 1 endif return triangles end");324 a[322] = new Array("./ToBeReviewed/TRIANGULATION/definetri_e.html", "definetri_e.pro", "", " file_comments categories param INDEX It is the tick mark index which starts at 0 param NX in required The x dimension array param NY in required The y dimension array returns restrictions examples history version Id: definetri_e pro 1 57 2006 08 21 09:01:50Z navarro function numtri index nx ny compile_opt idl2 strictarrsubs y index nx x index y nx numtri y NE 0 nx 1 2 y 1 1 2 y EQ ny 1 OR y EQ ny 1 x return numtri end file_comments Define a triangulation array like TRIANGULATE but for a E grid type categories Make contours with E grid type param NX in required The x dimension array param NY in required The y dimension array param SINGULAR in optional When singular is undefined all rectangles are cut in using the vertical diagonal Singular is a vector which contains the rectangles numbers which are cut in using the horizontal diagonal The rectangle number is define by the index in a nx ny vector of the lower left corner of the rectangle keyword SHIFTED returns Triangles is a 2d array and is dimensions are 3 and nx 1 ny 1 Triangles is defined like in the TRIANGULATE procedure history Sebastien Masson smlod ipsl jussieu fr June 2001 version Id: definetri_e pro 157 2006 08 21 09:01:50Z navarrotodo seb: documenter SHIFTED FUNCTION definetri_e nx ny singular SHIFTED shifted compile_opt idl2 strictarrsubs nx long nx ny long ny triangles lonarr 3 2 nx 1 ny 1 build the base triangulation with the diamond cut in two triangles by the vertical diagonal first line index lindgen nx 1 trinumber index triangles 0 trinumber index triangles 1 trinumber index 1 triangles 2 trinumber index nx 1 shifted last line index ny 1 nx lindgen nx 1 trinumber numtri index nx ny triangles 0 trinumber index triangles 1 trinumber index nx index nx 1 shifted MOD 2 triangles 2 trinumber index 1 other lines if ny GT 2 then begin index lindgen nx ny index index 0:nx 2 1:ny 2 index index oddeven index nx 1 shifted MOD 2 trinumber numtri index nx ny triangles 0 trinumber index triangles 1 trinumber index nx oddeven triangles 2 trinumber index nx oddeven triangles 0 trinumber 1 index nx oddeven triangles 1 trinumber 1 index nx oddeven triangles 2 trinumber 1 index 1 endif cut the diamond specified by singular in two triangles by the horizontal diagonal IF keyword_set singular then BEGIN yindex singular nx otherline where yindex NE 0 AND yindex NE ny 1 if otherline 0 NE 1 then begin index singular otherline oddeven index nx 1 shifted MOD 2 trinumber numtri index nx ny triangles 0 trinumber index triangles 1 trinumber index nx oddeven triangles 2 trinumber index 1 triangles 0 trinumber 1 index triangles 1 trinumber 1 index 1 triangles 2 trinumber 1 index nx oddeven endif endif return triangles end ");323 a[321] = new Array("./ToBeReviewed/TRIANGULATION/definetri.html", "definetri.pro", "", " file_comments Define a triangulation array like TRIANGULATE But in a VERY SIMPLE CASE: the points are regulary gridded on nx ny array Find a Delaunay triangulation for this set of points is easy: Points define nx 1 ny 1 rectangles which we can cut in 2 triangles cf figure above fixe ny 1 ny 2 1 0 0 1 2 nx 3 nx 2 nx 1 You have 2 ways to cut a rectangle: 1 the upward diagonal 2 the downward diagonal categories Utilities param NX in required The x dimension array param NY in required The y dimension array param DOWNWARD in optional When downward is undefine all rectangles are cut in using the upward diagonal Downward is a vector which contains the rectangles numbers which are cut in using the downward diagonal The rectangle number is defined by the index in a nx ny vector of the lower left corner of the rectangle returns triangles is a 2d array and its dimensions are 3 and 2 nx 1 ny 1 triangles is defined like in the TRIANGULATE procedure examples IDL triangles definetri 3 3 1 3 triangles will be this kind of triangulation: history sebastien Masson smlod ipsl jussieu fr 4 3 1999 version Id: definetri pro 186 2006 09 20 10:50:37Z pinsard FUNCTION definetri nx ny downward compile_opt idl2 strictarrsubs nx long nx ny long ny if n_elements downward NE 0 THEN BEGIN if n_elements downward GT nx 1 ny 1 then begin print downward a trop d elements par rapport a nx et ny return 1 endif downward long downward ENDIF we define triangles triangles lonarr 3 2 nx 1 ny 1 we cut the rectangles with the upward diagonal if n_elements downward NE nx 1 ny 1 then BEGIN there is some rectangle to cut we define upward: upward is a vector which contains the rectangles numbers which are cut in using the upward diagonal The rectangle number is defined by the index in a nx ny vector of the lower left corner of the rectangle upward bytarr nx ny 1 upward ny 1 0 upward nx 1 0 if n_elements downward NE 0 then upward downward 0 upward where upward EQ 1 n1 n_elements upward 4 corners indexes of a rectangle number i are i nx i nx 1 i i 1 trinumber 2 upward upward nx we define the right triangles triangles 0 trinumber upward triangles 1 trinumber upward 1 triangles 2 trinumber upward 1 nx we define the left triangles triangles 0 trinumber 1 upward 1 nx triangles 1 trinumber 1 upward nx triangles 2 trinumber 1 upward ENDIF ELSE n1 0 we cut the rectangles with the downward diagonal if n_elements downward NE 0 then BEGIN n2 n_elements downward trinumber 2 downward downward nx we define the right triangles triangles 0 trinumber downward 1 triangles 1 trinumber downward nx 1 triangles 2 trinumber downward nx we define the left triangles triangles 0 trinumber 1 downward nx triangles 1 trinumber 1 downward triangles 2 trinumber 1 downward 1 endif return triangles end"); 324 a[322] = new Array("./ToBeReviewed/TRIANGULATION/definetri_e.html", "definetri_e.pro", "", " file_comments categories param INDEX It is the tick mark index which starts at 0 param NX in required The x dimension array param NY in required The y dimension array returns restrictions examples history version Id: definetri_e pro 186 2006 09 20 10:50:37Z pinsard function numtri index nx ny compile_opt idl2 strictarrsubs y index nx x index y nx numtri y NE 0 nx 1 2 y 1 1 2 y EQ ny 1 OR y EQ ny 1 x return numtri end file_comments Define a triangulation array like TRIANGULATE but for a E grid type categories Make contours with E grid type param NX in required The x dimension array param NY in required The y dimension array param SINGULAR in optional When singular is undefined all rectangles are cut in using the vertical diagonal Singular is a vector which contains the rectangles numbers which are cut in using the horizontal diagonal The rectangle number is defined by the index in a nx ny vector of the lower left corner of the rectangle keyword SHIFTED returns Triangles is a 2d array and is dimensions are 3 and nx 1 ny 1 Triangles is defined like in the TRIANGULATE procedure history Sebastien Masson smlod ipsl jussieu fr June 2001 version Id: definetri_e pro 186 2006 09 20 10:50:37Z pinsard todo seb: documenter SHIFTED FUNCTION definetri_e nx ny singular SHIFTED shifted compile_opt idl2 strictarrsubs nx long nx ny long ny triangles lonarr 3 2 nx 1 ny 1 build the base triangulation with the diamond cut in two triangles by the vertical diagonal first line index lindgen nx 1 trinumber index triangles 0 trinumber index triangles 1 trinumber index 1 triangles 2 trinumber index nx 1 shifted last line index ny 1 nx lindgen nx 1 trinumber numtri index nx ny triangles 0 trinumber index triangles 1 trinumber index nx index nx 1 shifted MOD 2 triangles 2 trinumber index 1 other lines if ny GT 2 then begin index lindgen nx ny index index 0:nx 2 1:ny 2 index index oddeven index nx 1 shifted MOD 2 trinumber numtri index nx ny triangles 0 trinumber index triangles 1 trinumber index nx oddeven triangles 2 trinumber index nx oddeven triangles 0 trinumber 1 index nx oddeven triangles 1 trinumber 1 index nx oddeven triangles 2 trinumber 1 index 1 endif cut the diamond specified by singular in two triangles by the horizontal diagonal IF keyword_set singular then BEGIN yindex singular nx otherline where yindex NE 0 AND yindex NE ny 1 if otherline 0 NE 1 then begin index singular otherline oddeven index nx 1 shifted MOD 2 trinumber numtri index nx ny triangles 0 trinumber index triangles 1 trinumber index nx oddeven triangles 2 trinumber index 1 triangles 0 trinumber 1 index triangles 1 trinumber 1 index 1 triangles 2 trinumber 1 index nx oddeven endif endif return triangles end "); 325 325 a[323] = new Array("./ToBeReviewed/TRIANGULATION/dessinetri.html", "dessinetri.pro", "", " file_comments Draw the triangulation categories Utilities param TRI in optional Array which define the triangulation provided by triangule pro or triangulate param X in optional The x position of points to which the trangulation refer to see the x array provided in triangulate param Y in optional The y position of points to which the trangulation refer to see the y array provided in triangulate keyword WAIT x to call wait x second between each triangle draw keyword ONEBYONE To draw the triangles one by one keyword FILL To fill the triangles using polyfill instead of plotting them keyword CHANGECOLOR n To change the color of each triangle n colors will be used and repeted if necessary uses common pro history Sebastien Masson smasson lodyc jussieu fr version Id: dessinetri pro 163 2006 08 29 12:59:46Z navarro PRO dessinetri tri x y WAIT wait ONEBYONE onebyone FILL fill CHANGECOLOR changecolor _extra ex compile_opt idl2 strictarrsubs common tempsun systime 1 For key_performance a if n_params EQ 3 then BEGIN CASE size x n_dimensions size y n_dimensions OF 2:BEGIN nx n_elements x ny n_elements y glam x replicate 1 ny gphi replicate 1 nx y END 4:BEGIN glam x gphi y END ELSE:BEGIN dummy report x and y inputs of dessinetri must have the same number of dimensions 1 or 2 return END ENDCASE ENDIF ELSE BEGIN grille mask glam gphi tri tri undefine mask tri ciseauxtri tri glam gphi ENDELSE IF keyword_set changecolor THEN BEGIN oldname d name if d name EQ PS OR d name EQ Z then BEGIN thisos strupcase strmid version os_family 0 3 CASE thisOS of MAC : set_plot thisOS WIN : set_plot thisOS ELSE: set_plot X ENDCASE ncolors d n_colors 1 255 set_plot oldname ENDIF ELSE ncolors d n_colors 1 255 color 1 indgen changecolor ncolors changecolor 1 ENDIF ELSE color 0 color color replicate 1 n_elements tri 3 n_elements color 1 tempdeux systime 1 For key_performance 2 for i 0L n_elements tri 3 1 do begin t tri i tri 0 i IF keyword_set fill THEN polyfill glam t gphi t color color i _extra ex ELSE plots glam t gphi t color color i _extra ex IF keyword_set wait THEN wait wait IF keyword_set onebyone THEN read a prompt press a key ENDFOR IF testvar var key_performance EQ 2 THEN print temps dessinetri: trace des triangles systime 1 tempdeux if keyword_set key_performance THEN print temps dessinetri systime 1 tempsun return end"); 326 326 a[324] = new Array("./ToBeReviewed/TRIANGULATION/drawcoast_c.html", "drawcoast_c.pro", "", " file_comments categories param MASK param XF param YF param NX param NY keyword COAST_COLOR default 0 The color of the coastline Default is black 0 keyword COAST_THICK default 1 The thick of the trait to trace continents keyword XSEUIL default 5 To eliminate segments of coasts which are to big which link points which can be close on the sphere but distant on the drawing We delete all segments whose the size surpass the size of the window following X XSEUIL But it can be to big if we do a big zoom or a little one for some projections We specify it the keyword thanks to this keyword keyword YSEUIL See XSEUIL keyword _EXTRA Used to pass our keywords returns uses restrictions examples history version todo Seb: remplir le header PRO drawcoast_c mask xf yf nx ny COAST_COLOR coast_color COAST_THICK coast_thick YSEUIL yseuil XSEUIL xseuil _extra ex compile_opt idl2 strictarrsubs cm_4mesh IF NOT keyword_set key_forgetold THEN BEGIN updatenew updatekwd ENDIF tempsun systime 1 For key_performance We trace vertical segments: if NOT keyword_set yseuil then yseuil 5 min nx ny 2 distanceseuil p position 3 p position 1 yseuil list: list of points i for which we will trace a segment between the point i j 1 and i j tempdeux systime 1 For key_performance 2 liste where mask shift mask 1 0 EQ 1 AND xf shift xf 0 1 2 yf shift yf 0 1 2 LE distanceseuil 2 IF liste 0 NE 1 THEN BEGIN We recuperate lx an dly which are indexes in a 2d array of points given by list ly liste nx lx temporary liste nx ly indice where ly NE 0 We do not take points concerning if indice 0 NE 1 then begin the first line because in this case the point j 1 is undefined lx lx indice ly ly temporary indice Loop on concerned points and drawing of the segment Comment: we use plots instead of plot because plots goes faster IF testvar var key_performance EQ 2 THEN print temps tracecote: determiner liste des points concernes par un trait vertical systime 1 tempdeux tempdeux systime 1 For key_performance 2 for pt 0L n_elements lx 1 do BEGIN i lx pt j ly pt plots xf i j 1 xf i j yf i j 1 yf i j color coast_color thick coast_thick normal _extra ex endfor IF testvar var key_performance EQ 2 THEN print temps tracecote: trace des traits verticaux systime 1 tempdeux endif ENDIF For the drawing of horizontal segments it is the same thing but we have to be careful if it is periodic If it is periodic we duplicate the first column and we put it at the end This is made not for the shift which is periodic by default but for the plots tempdeux systime 1 For key_performance 2 if keyword_set key_periodic AND nx EQ jpi then begin mask mask mask 0 xf xf xf 0 yf yf yf 0 nx nx 1 ENDIF if NOT keyword_set xseuil then xseuil 5 min nx ny 2 distanceseuil p position 2 p position 0 xseuil liste where mask shift mask 0 1 EQ 1 AND xf shift xf 1 0 2 yf shift yf 1 0 2 LE distanceseuil 2 IF liste 0 NE 1 THEN BEGIN ly liste nx lx temporary liste nx ly indice where ly NE ny 1 AND lx NE 0 if indice 0 NE 1 then begin We do not take points of the first column and of the last line because we added artificially lx lx indice ly ly temporary indice IF testvar var key_performance EQ 2 THEN print temps tracecote: determiner liste des points concernes par un trait horizontal systime 1 tempdeux tempdeux systime 1 For key_performance 2 for pt 0L n_elements lx 1 do BEGIN i lx pt j ly pt plots xf i 1 j xf i j yf i 1 j yf i j color coast_color thick coast_thick normal _extra ex endfor IF testvar var key_performance EQ 2 THEN print temps tracecote: trace des traits horizontaux systime 1 tempdeux endif endif if keyword_set key_performance THEN print temps drawcoast_c systime 1 tempsun return end"); … … 328 328 a[326] = new Array("./ToBeReviewed/TRIANGULATION/drawsectionbottom.html", "drawsectionbottom.pro", "", " file_comments Fill and draw the bottom continents for a real section categories param MASKIN in required param XXAXISIN in required param DEPTHSIN in required keyword COAST_COLOR default 0 The color of the coastline Default is black 0 keyword COAST_THICK default 1 The thickness of the coastline keyword CONT_COLOR default d n_colors 1 xx zz max y range xx float xx zz float zz filling of the continents IF NOT keyword_set cont_color THEN cont_color d n_colors 1 255 if NOT keyword_set cont_nofill then polyfill min xx max maxx xx maxx min zz max mazz zz mazz color cont_color if NOT keyword_set cont_nofill then polyfill min xx max maxx xx maxx y range 0 zz y range 0 color cont_color drawing of the coast bottom line we could have plot directly xx and yy but if countout ne 0 doing this will draw an non existing bottom line along y range values which is not so good we thus do this ugly for if loops to make sure that we don t draw these lines but we keep all vertical lines IF countout NE 0 THEN BEGIN FOR i 0 countout 1 DO BEGIN CASE 1 OF out i EQ 0:BEGIN if we start with a out point xxx values f_nan zzz values f_nan END i EQ 0:BEGIN i eq 0 but out i ne 0 xxx xx 0:out i values f_nan zzz zz 0:out i values f_nan END ELSE:BEGIN two consecutive out values at the same depth: we just keep values f_nan values until the next change of depth IF out i 1 EQ out i 1 AND zz out i 1 EQ zz out i THEN BEGIN xxx xxx values f_nan zzz zzz values f_nan ENDIF ELSE BEGIN we keep everything inbetween the out values including themselves for the vertical lines but we had values f_nan to remove the horizontal lines xxx xxx xx out i 1 :out i values f_nan zzz zzz zz out i 1 :out i values f_nan ENDELSE END ENDCASE IF i EQ countout 1 AND out i NE n_elements xx 1 THEN BEGIN xxx xxx xx out i : zzz zzz zz out i : ENDIF ENDFOR plots xxx zzz color coast_color thick coast_thick _extra ex ENDIF ELSE plots xx zz color coast_color thick coast_thick _extra ex return end "); 329 329 a[327] = new Array("./ToBeReviewed/TRIANGULATION/fillcornermask.html", "fillcornermask.pro", "", " file_comments To color cleanly continents categories Graphics keyword _EXTRA Used to pass your keywords keyword CONT_COLOR default d n_colors 1 white The color of the continent uses common pro history Sebastien Masson smasson lodyc jussieu fr 8 8 2002 version Id: fillcornermask pro 163 2006 08 29 12:59:46Z navarro PRO fillcornermask xin yin COINMONTE coinmonte COINDESCEND coindescend CONT_COLOR cont_color INDICEZOOM indicezoom _extra ex compile_opt idl2 strictarrsubs common if NOT keyword_set coinmonte AND NOT keyword_set coindescend then return tempsun systime 1 For key_performance IF NOT keyword_set cont_color THEN cont_color d n_colors 1 255 definition of coordinates of points numbered 1 2 3 4 5 6 see figures below x1 reform xin y1 reform yin IF size x1 0 EQ 2 THEN x1 x1 0 IF size y1 0 EQ 2 THEN y1 y1 0 x2 5 x1 shift x1 1 y2 5 y1 shift y1 1 nx n_elements x1 ny n_elements y1 Case land corner in ascent: 2 land points in diagonal ascending with 2 ocean points on the descendant diagonal 3 t i nx 1 u i nx t i nx 1 0 1 4 v i f i v i 1 t i 0 2 u i t i 1 1 if keyword_set coinmonte then BEGIN if coinmonte 0 NE 1 then BEGIN iup coinmonte MOD nx jup coinmonte nx for id 0 n_elements coinmonte 1 do BEGIN i iup id j jup id IF i NE nx 1 AND j NE ny 1 THEN BEGIN polyfill x1 i x2 i x2 i x1 i 1 x1 i y2 j y1 j y1 j 1 y2 j y2 j color cont_color _extra ex ENDIF endfor endif endif Case land corner in descent: 2 land points in diagonal descending with 2 ocean points on the ascendant diagonal 4 t i nx 1 u i nx t i nx 1 0 3 5 v i f i v i 1 1 t i 0 2 u i t i 1 1 if keyword_set coindescend then BEGIN if coindescend 0 NE 1 then begin idw coindescend MOD nx jdw coindescend nx for id 0 n_elements coindescend 1 do BEGIN i idw id j jdw id IF i NE nx 1 AND j NE ny 1 THEN BEGIN polyfill x1 i x2 i x2 i x1 i 1 x1 i y2 j y1 j 1 y1 j y2 j y2 j color cont_color _extra ex ENDIF endfor endif endif IF keyword_set key_performance THEN print temps fillcornermask systime 1 tempsun return end"); 330 a[328] = new Array("./ToBeReviewed/TRIANGULATION/section.html", "section.pro", "", " file_comments categories param FIELD param RES param GLAMAXE param GPHIAXE keyword ENDPOINTS keyword BOXZOOM keyword TYPE keyword WDEPTH keyword DIREC keyword SHOWBUILD keyword ONLYBOX keyword _EXTRA Used to pass your keywords returns uses common pro restrictions examples history Sebastien Masson smasson lodyc jussieu fr version PRO section field res glamaxe gphiaxe ENDPOINTS endpoints BOXZOOM boxzoom TYPE type WDEPTH wdepth DIREC direc SHOWBUILD showbuild ONLYBOX onlybox _extra ex include common compile_opt idl2 strictarrsubs cm_4mesh cm_4data cm_4cal IF NOT keyword_set key_forgetold THEN BEGIN updatenew updatekwd ENDIF definition of boxzoom in function of endpoints then redefinition of the domain boxzoom2d min endpoints 0 endpoints 2 max ma02 ma02 min endpoints 1 endpoints 3 max ma13 ma13 minprof 0 profdefault 200 if n_elements type EQ 0 then type nothing Case N_Elements Boxzoom OF 0:localbox boxzoom2d minprof profdefault 1:localbox boxzoom2d minprof boxzoom 0 2:localbox boxzoom2d boxzoom 0 4:if strpos type z NE 1 THEN localbox boxzoom2d minprof profdefault ELSE localbox boxzoom2d 5:localbox boxzoom2d minprof boxzoom 4 6:localbox boxzoom2d boxzoom 4:5 Else:BEGIN print report Bad definition of the box stop END ENDCASE nelbox n_elements localbox if keyword_set wdepth then grillechoice vargrid W ELSE grillechoice vargrid domdef localbox GRIDTYPE grillechoice findalways _extra ex grille 1 1 1 1 nx ny if less than 10 points where found we apply domdef over the whole domain problem why 10 points as a test value how can we find a good test value IF nx ny LE 10 THEN domdef GRIDTYPE grillechoice _extra ex We redefine lon1 in case findalways has been used in domdef lon1 min endpoints 0 endpoints 2 max lon2 lat1 min endpoints 1 endpoints 3 max lat2 we extend the box along the z axis i that way the plot will be drawn until its bottom part if strpos type z NE 1 THEN BEGIN We keep yranges axis z before changing the boxzoom y range localbox nelbox 1 localbox nelbox 2 if vargrid EQ W OR keyword_set wdepth then BEGIN firstzw 0 firstzw 1 lastzw lastzw 1 firstzt 1 lastzt lastzt 1 firstx 1 lastx lastx 1 firsty 1 lasty lasty 1 jpj 1 domdef firstx lastx firsty lasty firstz lastz index gridtype vargrid IF keyword_set onlybox THEN return grille mask glam gphi gdep nx ny nz firstx firsty firstz lastx lasty lastz We define the triangulation which will allows us to determinate the section We recalculate it because it must be defined on the Earth and on oceans Following the direction of the section rather longitude or rather latitude we define the way to triangulate if strpos type x NE 1 then BEGIN downward lindgen nx ny 0:nx 2 0:ny 2 tri definetri nx ny downward ENDIF ELSE tri definetri nx ny If we have an irregular grid that is periodic then it is possible that some of the triangle have a very large size neighborg points on the sphere but far away when doing the projection and should not be taken into account IF keyword_set key_irregular AND keyword_set key_periodic THEN BEGIN glamtri glam tri glamtri abs glamtri shift glamtri 1 0 good temporary glamtri LT 10 max glam nx good where total temporary good 1 EQ 3 tri temporary tri temporary good ENDIF Equation of the line on which we do the section abc linearequation endpoints 0:1 endpoints 2:3 glamtri glam tri gphitri gphi tri Which points of the triangulation are above and below the line if abc 1 NE 0 THEN test temporary gphitri GE abc 0 abc 1 temporary glamtri abc 2 abc 1 ELSE test temporary glamtri GE abc 1 abc 0 temporary gphitri abc 2 abc 0 zero123 total test 1 to keep: triangles of the triangulation which are over the line tokeep1 where zero123 EQ 1 tokeep2 where temporary zero123 EQ 2 tokeep tokeep1 tokeep2 test test tokeep tri tri tokeep Which summit of the triangle is alone in a side of the line single1 where test 0:n_elements tokeep1 1 EQ 1 single1 single1 single1 3 3 single2 where test n_elements tokeep1 :n_elements tokeep 1 EQ 0 single2 single2 single2 3 3 undefine tokeep undefine tokeep1 undefine tokeep2 undefine test single temporary single1 temporary single2 points1 the point of the triangle alone in a side of the line point2 the other point of the triangle in the other side of the line point1 single single point2 single EQ 0 1 single LE 1 undefine single ntri size tri 2 index lindgen ntri lindgen ntri points1 tri point1 index points2 tri point2 temporary index points : complex containing couples of points in a side and the other side of the line We have to delete duplicates points dcomplex points1 points2 points points uniq points sort points symetrique dcomplex imaginary points double points points points where points shift temporary symetrique 1 NE 0 points1 coordinates of the point of the triangle which is alone in a side of the line point2 coordinates of the other point of the triangle in the other side of the line points1 complex glam double points gphi double points points2 complex glam imaginary points gphi imaginary points droites equations of line whose we look for the intersection wit the section droites linearequation points1 points2 inter lineintersection droites abc replicate 1 n_elements points1 Geographic coordinates of points we look for on the section glamaxe float inter gphiaxe imaginary inter We arrange them in the growing order between boundaries of the section if strpos type x NE 1 then BEGIN sort sort glamaxe glamaxe glamaxe sort inbox where glamaxe GE lon1 AND glamaxe LE lon2 glamaxe glamaxe inbox sort sort inbox gphiaxe gphiaxe sort ENDIF ELSE BEGIN sort sort gphiaxe gphiaxe gphiaxe sort inbox where gphiaxe GE lat1 AND gphiaxe LE lat2 gphiaxe gphiaxe inbox sort sort inbox glamaxe glamaxe sort ENDELSE points points sort points1 points1 sort points2 points2 sort inter inter sort poids abs points2 inter abs points2 points1 array litchamp field array fitintobox array if array 0 EQ 1 THEN BEGIN res 1 return ENDIF if n_elements valmask EQ 0 THEN valmask 1e20 taille size array if jpt GT 1 AND taille 0 GE 3 AND strpos type t EQ 1 then BEGIN direc t array grossemoyenne array t taille size array jpt 1 ENDIF case 1 of xy taille 0 EQ 2:BEGIN value1 array double points terre where value1 GT valmask 10 if terre 0 NE 1 then value1 terre values f_nan value2 array imaginary points terre where value2 GT valmask 10 if terre 0 NE 1 then value2 terre values f_nan res poids value1 1 poids value2 END xyz taille 0 EQ 3 AND jpt EQ 1:BEGIN npoints n_elements points index double points replicate 1 nz replicate nx ny npoints lindgen nz value1 array index terre where value1 GT valmask 10 if terre 0 NE 1 then value1 terre values f_nan index imaginary points replicate 1 nz replicate nx ny npoints lindgen nz value2 array index terre where value2 GT valmask 10 if terre 0 NE 1 then value2 terre values f_nan poids poids replicate 1 nz res poids value1 1 poids value2 average following z if strpos type z EQ 1 then begin nan where finite res EQ 0 if vargrid EQ W then e3 e3w firstzw:lastzw ELSE e3 e3t firstzt:lastzt weight replicate 1 npoints e3 if nan 0 NE 1 then weight nan values f_nan totalweight total weight 2 nan zero where totalweight EQ 0 if zero 0 NE 1 then totalweight zero values f_nan res total res weight 2 nan totalweight direc z string byte testvar var toto endif END xyt taille 0 EQ 3 AND jpt NE 1:BEGIN npoints n_elements points index double points replicate 1 jpt replicate nx ny npoints lindgen jpt value1 array index terre where value1 GT valmask 10 if terre 0 NE 1 then value1 terre values f_nan index imaginary points replicate 1 jpt replicate nx ny npoints lindgen jpt value2 array index terre where value2 GT valmask 10 if terre 0 NE 1 then value2 terre values f_nan poids poids replicate 1 jpt res poids value1 1 poids value2 END xyzt taille 0 EQ 4:BEGIN npoints n_elements points index double points replicate 1 nz jpt replicate nx ny npoints lindgen nz jpt index reform index npoints nz jpt over value1 array index terre where value1 GT valmask 10 if terre 0 NE 1 then value1 terre values f_nan index imaginary points replicate 1 nz jpt replicate nx ny npoints lindgen nz jpt index reform index npoints nz jpt over value2 array index terre where value2 GT valmask 10 if terre 0 NE 1 then value2 terre values f_nan poids poids replicate 1 nz jpt poids reform poids npoints nz jpt over res poids value1 1 poids value2 average following z if strpos type z EQ 1 then begin nan where finite res EQ 0 if vargrid EQ W then e3 e3w firstzw:lastzw ELSE e3 e3t firstzt:lastzt weight replicate 1 npoints e3 weight weight replicate 1 jpt weight reform weight npoints nz jpt over if nan 0 NE 1 then weight nan values f_nan totalweight total weight 2 nan zero where totalweight EQ 0 if zero 0 NE 1 then totalweight zero values f_nan res total res weight 2 nan totalweight direc z string byte testvar var toto endif END endcase terre where finite res EQ 0 if terre 0 NE 1 then res terre valmask if n_elements showbuild then BEGIN winsave window psave p xsave x ysave y plt findgen nx ny nodata nofill rempli title subtitle coast_thick 2 window showbuild p title p subtitle plots endpoints 0 endpoints 2 endpoints 1 endpoints 3 color 50 plots endpoints 0 endpoints 2 endpoints 1 endpoints 3 color 50 psym 2 thick 2 FOR i 0 n_elements points1 1 DO plots float points1 i float points2 i imaginary points1 i imaginary points2 i color 150 plots float points1 imaginary points1 color 150 psym 1 plots float points2 imaginary points2 color 150 psym 1 plots float inter imaginary inter color 250 psym 1 bug IF terre 0 NE 1 THEN plots float terre inter imaginary terre inter color 0 psym 1 dummy read dummy prompt press return to continue IF d name EQ PS THEN erase ELSE wset winsave p psave x xsave y ysave ENDIF restoreboxparam boxparam4section dat return end");330 a[328] = new Array("./ToBeReviewed/TRIANGULATION/section.html", "section.pro", "", " file_comments categories param FIELD param RES param GLAMAXE param GPHIAXE keyword ENDPOINTS keyword BOXZOOM keyword TYPE keyword WDEPTH keyword DIREC keyword SHOWBUILD keyword ONLYBOX keyword _EXTRA Used to pass your keywords returns uses common pro restrictions examples history Sebastien Masson smasson lodyc jussieu fr version Id: section pro 186 2006 09 20 10:50:37Z pinsard PRO section field res glamaxe gphiaxe ENDPOINTS endpoints BOXZOOM boxzoom TYPE type WDEPTH wdepth DIREC direc SHOWBUILD showbuild ONLYBOX onlybox _extra ex include common compile_opt idl2 strictarrsubs cm_4mesh cm_4data cm_4cal IF NOT keyword_set key_forgetold THEN BEGIN updatenew updatekwd ENDIF definition of boxzoom in function of endpoints then redefinition of the domain boxzoom2d min endpoints 0 endpoints 2 max ma02 ma02 min endpoints 1 endpoints 3 max ma13 ma13 minprof 0 profdefault 200 if n_elements type EQ 0 then type nothing Case N_Elements Boxzoom OF 0:localbox boxzoom2d minprof profdefault 1:localbox boxzoom2d minprof boxzoom 0 2:localbox boxzoom2d boxzoom 0 4:if strpos type z NE 1 THEN localbox boxzoom2d minprof profdefault ELSE localbox boxzoom2d 5:localbox boxzoom2d minprof boxzoom 4 6:localbox boxzoom2d boxzoom 4:5 Else:BEGIN print report Bad definition of the box stop END ENDCASE nelbox n_elements localbox if keyword_set wdepth then grillechoice vargrid W ELSE grillechoice vargrid domdef localbox GRIDTYPE grillechoice findalways _extra ex grille 1 1 1 1 nx ny if less than 10 points where found we apply domdef over the whole domain problem why 10 points as a test value how can we find a good test value IF nx ny LE 10 THEN domdef GRIDTYPE grillechoice _extra ex We redefine lon1 in case findalways has been used in domdef lon1 min endpoints 0 endpoints 2 max lon2 lat1 min endpoints 1 endpoints 3 max lat2 we extend the box along the z axis i that way the plot will be drawn until its bottom part if strpos type z NE 1 THEN BEGIN We keep yranges axis z before changing the boxzoom y range localbox nelbox 1 localbox nelbox 2 if vargrid EQ W OR keyword_set wdepth then BEGIN firstzw 0 firstzw 1 lastzw lastzw 1 firstzt 1 lastzt lastzt 1 firstx 1 lastx lastx 1 firsty 1 lasty lasty 1 jpj 1 domdef firstx lastx firsty lasty firstz lastz index gridtype vargrid IF keyword_set onlybox THEN return grille mask glam gphi gdep nx ny nz firstx firsty firstz lastx lasty lastz We define the triangulation which will allows us to determinate the section We recalculate it because it must be defined on the Earth and on oceans Following the direction of the section rather longitude or rather latitude we define the way to triangulate if strpos type x NE 1 then BEGIN downward lindgen nx ny 0:nx 2 0:ny 2 tri definetri nx ny downward ENDIF ELSE tri definetri nx ny If we have an irregular grid that is periodic then it is possible that some of the triangle have a very large size neighborg points on the sphere but far away when doing the projection and should not be taken into account IF keyword_set key_irregular AND keyword_set key_periodic THEN BEGIN glamtri glam tri glamtri abs glamtri shift glamtri 1 0 good temporary glamtri LT 10 max glam nx good where total temporary good 1 EQ 3 tri temporary tri temporary good ENDIF Equation of the line on which we do the section abc linearequation endpoints 0:1 endpoints 2:3 glamtri glam tri gphitri gphi tri Which points of the triangulation are above and below the line if abc 1 NE 0 THEN test temporary gphitri GE abc 0 abc 1 temporary glamtri abc 2 abc 1 ELSE test temporary glamtri GE abc 1 abc 0 temporary gphitri abc 2 abc 0 zero123 total test 1 to keep: triangles of the triangulation which are over the line tokeep1 where zero123 EQ 1 tokeep2 where temporary zero123 EQ 2 tokeep tokeep1 tokeep2 test test tokeep tri tri tokeep Which summit of the triangle is alone in a side of the line single1 where test 0:n_elements tokeep1 1 EQ 1 single1 single1 single1 3 3 single2 where test n_elements tokeep1 :n_elements tokeep 1 EQ 0 single2 single2 single2 3 3 undefine tokeep undefine tokeep1 undefine tokeep2 undefine test single temporary single1 temporary single2 points1 the point of the triangle alone in a side of the line point2 the other point of the triangle in the other side of the line point1 single single point2 single EQ 0 1 single LE 1 undefine single ntri size tri 2 index lindgen ntri lindgen ntri points1 tri point1 index points2 tri point2 temporary index points : complex containing couples of points in a side and the other side of the line We have to delete duplicates points dcomplex points1 points2 points points uniq points sort points symetrique dcomplex imaginary points double points points points where points shift temporary symetrique 1 NE 0 points1 coordinates of the point of the triangle which is alone in a side of the line point2 coordinates of the other point of the triangle in the other side of the line points1 complex glam double points gphi double points points2 complex glam imaginary points gphi imaginary points droites equations of line whose we look for the intersection wit the section droites linearequation points1 points2 inter lineintersection droites abc replicate 1 n_elements points1 Geographic coordinates of points we look for on the section glamaxe float inter gphiaxe imaginary inter We arrange them in the growing order between boundaries of the section if strpos type x NE 1 then BEGIN sort sort glamaxe glamaxe glamaxe sort inbox where glamaxe GE lon1 AND glamaxe LE lon2 glamaxe glamaxe inbox sort sort inbox gphiaxe gphiaxe sort ENDIF ELSE BEGIN sort sort gphiaxe gphiaxe gphiaxe sort inbox where gphiaxe GE lat1 AND gphiaxe LE lat2 gphiaxe gphiaxe inbox sort sort inbox glamaxe glamaxe sort ENDELSE points points sort points1 points1 sort points2 points2 sort inter inter sort poids abs points2 inter abs points2 points1 array litchamp field array fitintobox array if array 0 EQ 1 THEN BEGIN res 1 return ENDIF if n_elements valmask EQ 0 THEN valmask 1e20 taille size array if jpt GT 1 AND taille 0 GE 3 AND strpos type t EQ 1 then BEGIN direc t array grossemoyenne array t taille size array jpt 1 ENDIF case 1 of xy taille 0 EQ 2:BEGIN value1 array double points terre where value1 GT valmask 10 if terre 0 NE 1 then value1 terre values f_nan value2 array imaginary points terre where value2 GT valmask 10 if terre 0 NE 1 then value2 terre values f_nan res poids value1 1 poids value2 END xyz taille 0 EQ 3 AND jpt EQ 1:BEGIN npoints n_elements points index double points replicate 1 nz replicate nx ny npoints lindgen nz value1 array index terre where value1 GT valmask 10 if terre 0 NE 1 then value1 terre values f_nan index imaginary points replicate 1 nz replicate nx ny npoints lindgen nz value2 array index terre where value2 GT valmask 10 if terre 0 NE 1 then value2 terre values f_nan poids poids replicate 1 nz res poids value1 1 poids value2 average following z if strpos type z EQ 1 then begin nan where finite res EQ 0 if vargrid EQ W then e3 e3w firstzw:lastzw ELSE e3 e3t firstzt:lastzt weight replicate 1 npoints e3 if nan 0 NE 1 then weight nan values f_nan totalweight total weight 2 nan zero where totalweight EQ 0 if zero 0 NE 1 then totalweight zero values f_nan res total res weight 2 nan totalweight direc z string byte testvar var toto endif END xyt taille 0 EQ 3 AND jpt NE 1:BEGIN npoints n_elements points index double points replicate 1 jpt replicate nx ny npoints lindgen jpt value1 array index terre where value1 GT valmask 10 if terre 0 NE 1 then value1 terre values f_nan index imaginary points replicate 1 jpt replicate nx ny npoints lindgen jpt value2 array index terre where value2 GT valmask 10 if terre 0 NE 1 then value2 terre values f_nan poids poids replicate 1 jpt res poids value1 1 poids value2 END xyzt taille 0 EQ 4:BEGIN npoints n_elements points index double points replicate 1 nz jpt replicate nx ny npoints lindgen nz jpt index reform index npoints nz jpt over value1 array index terre where value1 GT valmask 10 if terre 0 NE 1 then value1 terre values f_nan index imaginary points replicate 1 nz jpt replicate nx ny npoints lindgen nz jpt index reform index npoints nz jpt over value2 array index terre where value2 GT valmask 10 if terre 0 NE 1 then value2 terre values f_nan poids poids replicate 1 nz jpt poids reform poids npoints nz jpt over res poids value1 1 poids value2 average following z if strpos type z EQ 1 then begin nan where finite res EQ 0 if vargrid EQ W then e3 e3w firstzw:lastzw ELSE e3 e3t firstzt:lastzt weight replicate 1 npoints e3 weight weight replicate 1 jpt weight reform weight npoints nz jpt over if nan 0 NE 1 then weight nan values f_nan totalweight total weight 2 nan zero where totalweight EQ 0 if zero 0 NE 1 then totalweight zero values f_nan res total res weight 2 nan totalweight direc z string byte testvar var toto endif END endcase terre where finite res EQ 0 if terre 0 NE 1 then res terre valmask if n_elements showbuild then BEGIN winsave window psave p xsave x ysave y plt findgen nx ny nodata nofill rempli title subtitle coast_thick 2 window showbuild p title p subtitle plots endpoints 0 endpoints 2 endpoints 1 endpoints 3 color 50 plots endpoints 0 endpoints 2 endpoints 1 endpoints 3 color 50 psym 2 thick 2 FOR i 0 n_elements points1 1 DO plots float points1 i float points2 i imaginary points1 i imaginary points2 i color 150 plots float points1 imaginary points1 color 150 psym 1 plots float points2 imaginary points2 color 150 psym 1 plots float inter imaginary inter color 250 psym 1 bug IF terre 0 NE 1 THEN plots float terre inter imaginary terre inter color 0 psym 1 dummy read dummy prompt press return to continue IF d name EQ PS THEN erase ELSE wset winsave p psave x xsave y ysave ENDIF restoreboxparam boxparam4section dat return end"); 331 331 a[329] = new Array("./ToBeReviewed/TRIANGULATION/tracecote.html", "tracecote.pro", "", " file_comments Draw coasts in plt categories Graphics keyword SURFACE_COASTLINE To draw the surface coast line instead of the coast line at level firstz tw Useful only for deep plots keyword _EXTRA used to pass your keywords uses common pro history Sebastien Masson smasson lodyc jussieu fr 30 9 1999 version Id: tracecote pro 163 2006 08 29 12:59:46Z navarro PRO tracecote SURFACE_COASTLINE surface_coastline _EXTRA ex include commons compile_opt idl2 strictarrsubs cm_4data cm_4mesh IF NOT keyword_set key_forgetold THEN BEGIN updatenew ENDIF tempsun systime 1 For key_performance if n_elements key_gridtype EQ 0 then key_gridtype c We enlarge a bit the frame defined by firsts lasts in order to recuperate edges of the coast which are in the edging of the domain tempdeux systime 1 For key_performance 2 firstx 0 min firstxt firstxf 1 lastx max lastxt lastxf 1 min firstyt firstyf 1 lasty max lastyt lastyf 1 jpj 1 nx lastx firstx 1 ny lasty firsty 1 Which vertical level choose IF keyword_set surface_coastline THEN firstz 0 ELSE IF strupcase vargrid eq W THEN firstz firstzw ELSE firstz firstzt Attribution of the mask and of coordinates delimiting limits of the land coordinates f mask tmask firstx:lastx firsty:lasty firstz xf glamf firstx:lastx firsty:lasty yf gphif firstx:lastx firsty:lasty IF testvar var key_performance EQ 2 THEN print temps tracecote: determiner mask xf yf systime 1 tempdeux if key_gridtype EQ e then onemore xf 0 0 gT xf 0 1 We pass in normalized coordinates to be able to become independant from the projection s type choosen and from the support on which we do the drawing screen or postscript z convert_coord xf yf data to_normal xf reform z 0 nx ny yf reform z 1 nx ny tempvar SIZE TEMPORARY z Beware following the projection some points x or y can become NaN see point behind the earth in an orthographic projection We put points to be eliminated at a very big value so that they will not pass the test with distanceseuil see further if map projection LE 7 AND map projection NE 0 OR map projection EQ 14 OR map projection EQ 15 OR map projection EQ 18 then begin ind where finite xf yf EQ 0 IF ind 0 NE 1 THEN BEGIN xf ind 1e5 yf ind 1e5 ENDIF ENDIF ind where xf LT p position 0 OR xf GT p position 2 IF ind 0 NE 1 THEN xf ind 1e5 ind where yf LT p position 1 OR yf GT p position 3 IF ind 0 NE 1 THEN yf ind 1e5 tempvar SIZE TEMPORARY ind we delete ind if n_elements key_gridtype EQ 0 then key_gridtype c case key_gridtype of c :drawcoast_c mask xf yf nx ny _extra ex e :drawcoast_e mask xf yf nx ny onemore onemore _extra ex endcase if keyword_set key_performance THEN print temps tracecote systime 1 tempsun return end"); 332 332 a[330] = new Array("./ToBeReviewed/TRIANGULATION/tracemask.html", "tracemask.pro", "", " file_comments Draw contours of a mask categories Utilities param MASKENTREE in required 2d array specifying the mask param XIN in required 2d array specifying longitude coordinates param YIN in required 2d array specifying latitude coordinates keyword COAST_COLOR default 0 The color of the coastline Default is black 0 keyword COAST_THICK default 1 The thick of the trait to trace continents keyword OVERPLOT To do a plot over an other one keyword _EXTRA used to pass your keywords uses common pro history Sebastien Masson smasson lodyc jussieu fr version Id: tracemask pro 163 2006 08 29 12:59:46Z navarro PRO tracemask maskentree xin yin COAST_COLOR coast_color COAST_THICK coast_thick OVERPLOT overplot _extra ex compile_opt idl2 strictarrsubs if keyword_set overplot then return cm_general IF NOT keyword_set key_forgetold THEN BEGIN updatekwd ENDIF tempsun systime 1 For key_performance We avoid edging problems: tempdeux systime 1 For key_performance 2 tailleentree size maskentree nx tailleentree 1 1 ny tailleentree 2 1 we check the input axis IF n_elements xin EQ 0 THEN xentree findgen nx 1 ELSE xentree xin IF size xentree 0 EQ 1 THEN xentree xentree replicate 1 ny 1 IF n_elements yin EQ 0 THEN yentree findgen ny 1 ELSE yentree yin IF size yentree 0 EQ 1 THEN yentree replicate 1 nx 1 yentree We enlarge the mask by 1 column to the left an d1 line to the bottom mask intarr tailleentree 1 1 tailleentree 2 1 mask 1:tailleentree 1 1:tailleentree 2 maskentree The 2 first columns are identical mask 0 1:tailleentree 2 maskentree 0 The 2 first lines are identical mask 1:tailleentree 1 0 maskentree 0 We calculate the position following x of points which will serve to trace the mask They are situated between each points of the mask exept for the last column we can not calculate and so we put at max x range xrange x range sort x range if REVERSE_X is used xentree 5 xentree shift xentree 1 0 IF not keyword_set overplot THEN xentree nx 2 xrange 1 ELSE xentree nx 2 xentree nx 3 we sill xentree xrange 0 xentree yentree yrange 1 yf fltarr nx ny yf 1:nx 1 1:ny 1 yentree yf 0 1:ny 1 yentree 0 IF not keyword_set overplot THEN BEGIN if yinverse then yf 0 yrange 1 ELSE yf 0 yrange 0 ENDIF ELSE yentree 0 yentree 1 IF testvar var key_performance EQ 2 THEN print temps tracemask: determination du mask et des ses coordonnes systime 1 tempdeux We trace vertical segments: tempdeux systime 1 For key_performance 2 liste where mask shift mask 1 0 EQ 1 IF liste 0 NE 1 THEN BEGIN We recuperate lx and ly which are indexes in a 2d array of points given by list ly liste nx lx temporary liste nx ly indice where ly NE 0 We do not take points concernining the first line because in this case the point j 1 is not defined if indice 0 NE 1 then begin lx lx indice ly ly temporary indice IF testvar var key_performance EQ 2 THEN print temps tracemask: liste traits verticaux systime 1 tempdeux tempdeux systime 1 For key_performance 2 loop on concerned points and drawing of the segment comments: we use plots instead of plot because plots is faster for pt 0L n_elements lx 1 do BEGIN i lx pt j ly pt plots xf i j 1 xf i j yf i j 1 yf i j color coast_color thick coast_thick _extra ex if pt LT 5 then begin endif endfor IF testvar var key_performance EQ 2 THEN print temps tracemask: trace traits verticaux systime 1 tempdeux endif ENDIF We trace horizontal segments: tempdeux systime 1 For key_performance 2 liste where mask shift mask 0 1 EQ 1 IF liste 0 NE 1 THEN BEGIN ly liste nx lx temporary liste nx ly indice where lx NE 0 We do not take point sof the first column if indice 0 EQ 1 then return lx lx indice ly ly temporary indice IF testvar var key_performance EQ 2 THEN print temps tracemask: liste traits horizontaux systime 1 tempdeux tempdeux systime 1 For key_performance 2 for pt 0L n_elements lx 1 do BEGIN i lx pt j ly pt plots xf i 1 j xf i j yf i 1 j yf i j color coast_color thick coast_thick _extra ex endfor IF testvar var key_performance EQ 2 THEN print temps tracemask: trace traits horizontaux systime 1 tempdeux endif if keyword_set key_performance THEN print temps tracemask systime 1 tempsun return end "); … … 350 350 a[348] = new Array("./ToBeReviewed/WIDGET/AUTOUR_de_XXX/inserthistory.html", "inserthistory.pro", "", " file_comments categories param BASE param TEXT param LINE1 param LINE2 returns uses restrictions examples history version Id: inserthistory pro 150 2006 08 09 10:12:54Z navarro todo seb PRO inserthistory base text line1 line2 compile_opt idl2 strictarrsubs widget_control base get_uvalue top_uvalue globalcommand extractatt top_uvalue globalcommand top_uvalue 1 findline top_uvalue globaloldcommand globalcommand for i 0 n_elements globalcommand 1 do print globalcommand i we insert text between line1 and line2 index1 where globalcommand EQ line1 index1 index1 0 1 if index1 EQ 1 then begin rien report line1 n est pas trouve ds globalcommand return endif index2 where globalcommand EQ line2 index2 index2 0 if index2 EQ 1 then begin rien report line2 n est pas trouve ds globalcommand return ENDIF the new text: globalcommand globalcommand 0:index1 text globalcommand index2:n_elements globalcommand 1 the new globalcommand top_uvalue 1 findline top_uvalue globalcommand globalcommand return end"); 351 351 a[349] = new Array("./ToBeReviewed/WIDGET/AUTOUR_de_XXX/letsdraw.html", "letsdraw.pro", "", " file_comments It is the procedure launching the drawing If we do not give the command to it it call construitcommande to know what to trace categories param BASE in required The id of the widget where apply the drawing keyword COMMANDE type string A string of the style: read_data sst keyword _EXTRA Used to pass your keywords uses common pro history Sebastien Masson smasson lodyc jussieu fr version Id: letsdraw pro 163 2006 08 29 12:59:46Z navarro PRO letsdraw base COMMANDE commande _extra ex compile_opt idl2 strictarrsubs common we recuperate the uvalue of base widget_control base get_uvalue top_uvalue print help top_uvalue struct help top_uvalue exextra struct if NOT keyword_set commande then commande buildcmd base _extra ex if commande 0 EQ then return on recupere la uvalue de base widget_control base hourglass widget_control base get_uvalue top_uvalue print help top_uvalue struct print help top_uvalue exextra struct help top_uvalue extra struct print print commande help mixstru top_uvalue exextra top_uvalue extra struct we recuperate the id of the graphic associated to the widget of id base graphid extractatt top_uvalue graphid widget_control graphid get_value win We select it we will pass to it all commands concerning the window wset win erase 255 we clean the window We make sure that if we work with a screen coding colors on 24 bits the specified background color p background is the one applied if d n_colors gt 256 then begin device decomposed 1 p background ffffff x plot 0 0 device decomposed 0 ENDIF smallout long extractatt top_uvalue smallout numdessinout smallout 2 1 tracecadre smallout fill options extractatt top_uvalue options optionsflag extractatt top_uvalue optionsflag portrait strtrim optionsflag where options EQ Portrait Landscape 0 1 0 createpro common noerase 1 key_portrait portrait Commande filename myuniquetmpdir xxx_oneplot pro inserthistory base Commande beginning of strtrim smallout 2 1 end of strtrim smallout 2 1 top_uvalue 1 findline top_uvalue penvs numdessinout p top_uvalue 1 findline top_uvalue xenvs numdessinout x top_uvalue 1 findline top_uvalue yenvs numdessinout y return end"); 352 a[350] = new Array("./ToBeReviewed/WIDGET/AUTOUR_de_XXX/loadgrid.html", "loadgrid.pro", "", " file_comments categories param MESHFILEIN keyword _EXTRA Used to pass your keywords returns uses restrictions examples history version Id: loadgrid pro 1 50 2006 08 09 10:12:54Z navarro todo seb PRO loadgrid meshfilein _extra ex compile_opt idl2 strictarrsubs cm_4mesh ccmeshparameters filename meshfilein split the name according to delimiter meshfile strsplit meshfilein extract meshfile strtrim meshfile 2 try to find a pro file with this name filepro find meshfile 0 firstfound onlypro 0 if this is an idl batch file or a procedure if filepro NE NOT FOUND THEN BEGIN CASE protype filepro OF this is a procedure proc :listing file_basename filepro pro this is a function this case is not coded func :stop this is an IDL batch file batch :listing file_basename filepro pro ENDCASE ENDIF ELSE BEGIN filenc find meshfile 0 firstfound onlync 0 if filenc EQ NOT FOUND THEN stop listing initncdf filenc ENDELSE add the arguments and keywords if necessary IF n_elements meshfile GT 1 AND strmid listing 0 1 NE THEN BEGIN FOR i 1 filepro NE NOT FOUND n_elements meshfile 1 DO listing listing meshfile i ENDIF IF strmid listing 0 1 NE THEN listing listing strcalling meshfilein _extra excreatepro listing filename myuniquetmpdir for_createpro pro _extra ex return END ");352 a[350] = new Array("./ToBeReviewed/WIDGET/AUTOUR_de_XXX/loadgrid.html", "loadgrid.pro", "", " file_comments categories param MESHFILEIN keyword _EXTRA Used to pass your keywords returns uses restrictions examples history version Id: loadgrid pro 181 2006 09 15 08:24:36Z smasson todo seb PRO loadgrid meshfilein _extra ex compile_opt idl2 strictarrsubs cm_4mesh ccmeshparameters filename meshfilein split the name according to delimiter meshfile strsplit meshfilein extract meshfile strtrim meshfile 2 try to find a pro file with this name filepro find meshfile 0 firstfound onlypro 0 if this is an idl batch file or a procedure if filepro NE NOT FOUND THEN BEGIN CASE protype filepro OF this is a procedure proc :listing file_basename filepro pro this is a function this case is not coded func :stop this is an IDL batch file batch :listing file_basename filepro pro ENDCASE ENDIF ELSE BEGIN filenc find meshfile 0 firstfound onlync 0 if filenc EQ NOT FOUND THEN stop listing initncdf filenc ENDELSE add the arguments and keywords if necessary IF n_elements meshfile GT 1 AND strmid listing 0 1 NE THEN BEGIN FOR i 1 n_elements meshfile 1 DO BEGIN IF strpos meshfile i NE 1 THEN str isnumber meshfile i ELSE str createfunc n_elements meshfile i IF str EQ 0 THEN listing listing meshfile i ELSE listing listing meshfile i ENDFOR ENDIF IF strmid listing 0 1 NE THEN listing listing strcalling meshfilein _extra ex print listing createpro listing filename myuniquetmpdir for_createpro pro _extra ex return END "); 353 353 a[351] = new Array("./ToBeReviewed/WIDGET/AUTOUR_de_XXX/longclickaction.html", "longclickaction.pro", "", " file_comments categories param EVENT returns uses restrictions examples history version Id: longclickaction pro 154 2006 08 11 08:06:17Z smasson todo seb PRO longclickaction event compile_opt idl2 strictarrsubs widget_control event id get_uvalue uval widget_control event top get_uvalue top_uvalue What is the selected drawing smallout extractatt top_uvalue smallout smallin extractatt top_uvalue smallin small smallin x convert_coord uval x 0 uval y 0 device to_normal 0 y convert_coord uval x 0 uval y 0 device to_normal 1 numcolonne n_elements where findgen small 0 small 0 lt x 1 numligne n_elements where findgen small 1 small 1 lt 1 y 1 numdessin numcolonne numligne small 0 we put on numdessin as the leader plot tracecadre smallin erase if total smallin EQ smallout EQ 3 then tracecadre smallout out smallin smallin 0:1 numdessin 1 top_uvalue 1 findline top_uvalue smallin smallin tracecadre smallin p extractatt top_uvalue penvs numdessin x extractatt top_uvalue xenvs numdessin y extractatt top_uvalue yenvs numdessin actionid widget_info event top find_by_uname action type widget_info actionid combobox_gettext Change the domain box: coor convert_coord uval x uval y device to_data x coor 0 0 coor 0 1 y coor 1 0 coor 1 1 domainid widget_info event top find_by_uname domain IF type EQ pltv THEN BEGIN currentfile extractatt top_uvalue currentfile listgrid extractatt top_uvalue fileparameters currentfile listgrid listvar extractatt top_uvalue fileparameters currentfile listvar vlstid widget_info event top find_by_uname varlist namevar widget_info vlstid combobox_gettext indexvar where listvar EQ namevar vargrid strupcase listgrid indexvar grille 1 glam gphi boxzoom glam x 0 y 0 glam x 1 y 1 gphi x 0 y 0 gphi x 1 y 1 ENDIF ELSE boxzoom x y Do we have to pass the boxzoom in indexes currentplot extractatt top_uvalue smallin 2 1 options extractatt top_uvalue options flags extractatt top_uvalue optionsflag flags flags currentplot changex flags where options EQ Longitude x index 0 EQ 1 changey flags where options EQ Latitude y index 0 EQ 1 if changex OR changey then begin We want to find the type of grid which is used currentfile extractatt top_uvalue currentfile listgrid extractatt top_uvalue fileparameters currentfile listgrid listvar extractatt top_uvalue fileparameters currentfile listvar vlstid widget_info event top find_by_uname varlist namevar widget_info vlstid combobox_gettext indexvar where listvar EQ namevar vargrid strupcase listgrid indexvar domdef boxzoom gridtype vargrid grille 1 1 1 1 nx ny nz firstx firsty firstz lastx lasty lastz if changex then boxzoom 0:1 firstx lastx if changey then boxzoom 2:3 firsty lasty endif widget_control domainid set_value boxzoom case uval press of 1:BEGIN nodates type EQ xt OR type EQ yt OR type EQ zt OR type EQ t updatewidget event top noboxzoom nodates nodates notype type NE plt letsdraw event top END 2:BEGIN IF type EQ plt THEN BEGIN top_uvalue 1 findline top_uvalue types smallout 2 1 pltz forcetype pltz ENDIF updatewidget event top noboxzoom letsdraw event top forcetype forcetype END 4:BEGIN IF type EQ plt THEN BEGIN top_uvalue 1 findline top_uvalue types smallout 2 1 pltt forcetype pltt ENDIF updatewidget event top noboxzoom nodates letsdraw event top forcetype forcetype END endcase return end"); 354 354 a[352] = new Array("./ToBeReviewed/WIDGET/AUTOUR_de_XXX/read_vermair.html", "read_vermair.pro", "", " file_comments categories param NAME param DEBUT param FIN param NOMEXP keyword PARENT same as DIALOG_PARENT de dialog_message pro keyword BOXZOOM Vector indicating the geographic zone on which we want to cut the map If BOXZOOM has : 1 element : The extraction is made on lon1 lon2 lat1 lat2 0 boxzoom 0 2 elements: The extraction is made on lon1 lon2 lat1 lat2 boxzoom 0 boxzoom 1 4 elements: The extraction is made on Boxzoom 0 max gdept gdepw 5 elements: The extraction is made on Boxzoom 0:3 0 Boxzoom 4 6 elements: The extraction is made on Boxzoom Where lon1 lon2 lat1 lat2 are global variables defined at the last domdef keyword _EXTRA Used to pass your keywords returns uses restrictions examples history version Id: read_vermair pro 150 2006 08 09 10:12:54Z navarro todo seb FUNCTION read_vermair name debut fin nomexp PARENT parent BOXZOOM boxzoom _EXTRA ex compile_opt idl2 strictarrsubs common if name EQ un then name vozocrtx if name EQ vn then name vomecrty if debut EQ fin then begin res lec name debut nomexp BOXZOOM boxzoom _EXTRA ex ENDIF ELSE res lect name debut fin nomexp BOXZOOM boxzoom _EXTRA ex return tab:res grille:vargrid unite: experience:varexp nom:varname end"); 355 a[353] = new Array("./ToBeReviewed/WIDGET/AUTOUR_de_XXX/scanfile.html", "scanfile.pro", "", " file_comments categories param NAMEFILE keyword GRID keyword _EXTRA Used to pass your keywords returns uses restrictions examples history version Id: scanfile pro 1 72 2006 09 11 07:11:26Z smasson todo seb : I don t know what to do with that liste des presupposes: 1 le fichier a lire est un fichier netcdf 2 le nom de ce fichier finit par U nc V nc W nc T nc ou F nc la lettre avant le nc designant la grille a laquelle se rapporte la champ Si tel n est pas la cas le fichier est attribue a la grille T 3 ce fichier contient une dimension infinie qui doit etre celle qui se rapporte au temps et au mois 2 autres dimensions dont les noms sont x lon xi_ et y lat ou eta_ ou bien en majuscule 4 il doit exiter ds ce fichier une unique variable n ayant qu une dimension et etant la dimension temporelle cette variable sera prise comme axe des temps Rq: si plusieurs variables verifient ces criteres on considere la premiere variable 5 Cette variable axe des temps doit contenir l attribut units qui doit etre ecrit suivant la syntaxe: seconds since 0001 01 01 00:00:00 hours since 0001 01 01 00:00:00 days since 1979 01 01 00:59:59 months since 1979 01 01 00:59:59 years since 1979 01 01 00:59:59 je crois que c est tout GRID UTVWF to specify the type of grid Defaut is 1 based on the name of the file if the file ends by GRID _ TUVFW NC not case sensible or 2 T if case 1 is not found FUNCTION scanfile namefile GRID GRID _extra ex compile_opt idl2 strictarrsubs common res 1 filename fullname isafile filename namefile IODIRECTORY iodir _extra ex open file cdfid ncdf_open fullname What contains the file infile ncdf_inquire cdfid name of all dimensions namedim strarr infile ndims for dimiq 0 infile ndims 1 do begin ncdf_diminq cdfid dimiq tmpname value namedim dimiq strlowcase tmpname ENDFOR roms file dimidx where namedim EQ xi_rho OR namedim EQ xi_u OR namedim EQ xi_v OR namedim EQ xi_psi IF dimidx 0 EQ 1 THEN BEGIN we are looking for a x dimension with a name matching one of the following regular expression: testname longitude lon x longitude lon x longitude lon x cnt 1 ii 0 WHILE cnt NE 1 AND ii LT n_elements testname DO BEGIN dimidx where strmatch namedim testname ii EQ 1 cnt ii ii 1 ENDWHILE CASE cnt OF 0:begin dummy report none of the dimensions name matches one of the following regular expression: longitude lon x longitude lon x longitude lon x we cannot find the x dimension stop END 1:dimidx dimidx 0 ELSE:begin dummy report several and not one unique dimensions name matches the following regular expression: longitude lon x longitude lon x longitude lon x we cannot find the x dimension stop ENDELSE ENDCASE ENDIF roms file dimidy where namedim EQ eta_rho OR namedim EQ eta_u OR namedim EQ eta_v OR namedim EQ eta_psi IF dimidy 0 EQ 1 THEN BEGIN we are looking for a y dimension with a name matching one of the following regular expression: testname latitude lat y latitude lat y eta_ latitude lat y cnt 1 ii 0 WHILE cnt NE 1 AND ii LT n_elements testname DO BEGIN dimidy where strmatch namedim testname ii EQ 1 cnt ii ii 1 ENDWHILE CASE cnt OF 0:begin dummy report none of the dimensions name matches one of the following regular expression: latitude lat y latitude lat y eta_ latitude lat y we cannot find the y dimension stop END 1:dimidy dimidy 0 ELSE:begin dummy report several and not one unique dimensions name matches the following regular expression: latitude lat y latitude lat y eta_ latitude lat y we cannot find the x dimension stop ENDELSE ENDCASE ENDIF name of all variables we keep only the variables containing at least x y and time dimension if existing namevar strarr infile nvars for varid 0 infile nvars 1 do begin invar ncdf_varinq cdfid varid what contains the variable if inter invar dim dimidx 0 NE 1 AND inter invar dim dimidy 0 NE 1 AND where invar dim EQ infile recdim 0 NE 1 OR infile recdim EQ 1 THEN namevar varid invar name ENDFOR namevar namevar where namevar NE find vargrid for each selected variable listgrid strarr n_elements namevar default definitions IF keyword_set grid THEN vargrid strupcase grid ELSE vargrid T look for values of vargrid for each variable IF finite glamu 0 EQ 1 AND NOT keyword_set grid THEN BEGIN for each variable look if we in one of the case corresponding to ROMS conventions FOR i 0 n_elements namevar 1 do begin invar ncdf_varinq cdfid namevar i tmpnm namedim invar dim are we in one of the case corresponding to ROMS conventions CASE 1 OF tmpnm 2 invar ndims 1 EQ s_w :vargrid W tmpnm 0 EQ xi_rho AND tmpnm 1 EQ eta_rho :listgrid i T tmpnm 0 EQ xi_u AND tmpnm 1 EQ eta_u :listgrid i U tmpnm 0 EQ xi_v AND tmpnm 1 EQ eta_v :listgrid i V tmpnm 0 EQ xi_psi AND tmpnm 1 EQ eta_psi :listgrid i F tmpnm 0 EQ xi_rho AND tmpnm 1 EQ eta_v :listgrid i V tmpnm 0 EQ xi_u AND tmpnm 1 EQ eta_rho :listgrid i U tmpnm 0 EQ xi_u AND tmpnm 1 EQ eta_v :listgrid i F ELSE: ENDCASE ENDFOR empty where listgrid EQ IF empty 0 NE 1 THEN BEGIN could we define the grid type from the file name pattern GRID GRID_ GRID UPID_ 30ID_ gdtype T U V W F fnametest strupcase fullname FOR i 0 n_elements pattern 1 DO BEGIN FOR j 0 n_elements gdtype 1 DO BEGIN substr pattern i gdtype j pos strpos fnametest substr IF pos NE 1 THEN vargrid strmid fnametest pos strlen substr 1 1 ENDFOR ENDFOR listgrid empty vargrid ENDIF ENDIF ELSE listgrid vargrid time axis date0fk date2jul 19000101 IF infile recdim EQ 1 THEN BEGIN jpt 1 time date0fk fakecal 1 ENDIF ELSE BEGIN ncdf_diminq cdfid infile recdim timedimname jpt we look for the variable containing the time axis we look for the first variable having for only dimension infile recdim varid 0 repeat BEGIN IF varid LT infile nvars THEN BEGIN invar ncdf_varinq cdfid varid varid varid 1 ENDIF ELSE varid 0 endrep until n_elements invar dim EQ 1 AND invar dim 0 EQ infile recdim OR varid EQ 0 varid varid 1 CASE 1 OF varid EQ 1:BEGIN dummy report the file fullname has no time axis C we create a fake calendar fakecal 1 time date0fk lindgen jpt END invar natts EQ 0:BEGIN dummy report the variable invar name has no attribut C we create a fake calendar fakecal 1 time date0fk lindgen jpt END ELSE:BEGIN we want to know which attributes are attached to the time variable attnames strarr invar natts for attiq 0 invar natts 1 do attnames attiq ncdf_attname cdfid varid attiq if where attnames EQ units 0 EQ 1 then BEGIN dummy report Attribut units not found for the variable invar name C we create a fake calendar fakecal 1 time date0fk lindgen jpt ENDIF ELSE BEGIN we read the time axis ncdf_varget cdfid varid time time double time ncdf_attget cdfid varid units value time_counter:units seconds since 0001 01 01 00:00:00 time_counter:units hours since 0001 01 01 00:00:00 time_counter:units days since 1979 01 01 00:00:00 time_counter:units months since 1979 01 01 00:00:00 time_counter:units years since 1979 01 01 00:00:00 value strtrim strcompress string value 2 mots str_sep value unite mots 0 err 0 IF unite NE seconds AND unite NE hours AND unite NE days AND unite NE months AND unite NE years THEN BEGIN dummy report time units does not start with seconds hours days months years err 1 ENDIF err err 1 stregex value since 0 9 4 0 9 2 0 9 2 boolean IF err GT 0 THEN BEGIN dummy report attribut units of time has not the good format: since 0 9 4 0 9 2 0 9 2 fakecal 1 time date0fk lindgen jpt ENDIF ELSE BEGIN debut str_sep mots 2 now we try to find the attribut called calendar the the attribute calendar exists If no we suppose that the calendar is gregorian calendar if where attnames EQ calendar 0 NE 1 then BEGIN ncdf_attget cdfid varid calendar value value string value CASE value OF noleap :key_caltype noleap 360d :key_caltype 360d greg :IF n_elements key_caltype EQ 0 THEN key_caltype greg ELSE:BEGIN notused report Unknown calendar: value we use greg calendar key_caltype greg END ENDCASE ENDIF ELSE BEGIN notused report Unknown calendar we use key_caltype calendar IF n_elements key_caltype EQ 0 THEN key_caltype greg ENDELSE BEWARE we have to get back the calendar attribute and ajust time by consequence We pass time in IDL julian days unite strlowcase unite IF strpos unite s strlen unite 1 NE 1 THEN unite strmid unite 0 strlen unite 1 IF strpos unite julian_ NE 1 THEN unite strmid unite 7 case unite of second :time julday debut 1 debut 2 debut 0 time 86400 d hour :time julday debut 1 debut 2 debut 0 time 24 d day :time julday debut 1 debut 2 debut 0 time month :BEGIN if total fix time NE time NE 0 then we switch to days with 30d m time julday debut 1 debut 2 debut 0 round time 30 ELSE for t 0 n_elements time 1 DO time t julday debut 1 time t debut 2 debut 0 END year :BEGIN if total fix time NE time NE 0 then we switch to days with 365d y time julday debut 1 debut 2 debut 0 round time 365 ELSE for t 0 n_elements time 1 do time t julday debut 1 debut 2 debut 0 time t END ENDCASE high frequency calendar: more than one element per day IF max histogram long time time 0 GT 1 THEN fakecal 1 ELSE fakecal 0 date0fk date2jul 19000101 IF keyword_set fakecal THEN time date0fk lindgenjpt ELSE time long time ENDELSE ENDELSE END ENDCASE ENDELSE ncdf_close cdfid return filename:fullname time_counter:time listvar:namevar listgrid:strupcase listgrid caltype:key_caltype fakecal:date0fk fakecal end");356 a[354] = new Array("./ToBeReviewed/WIDGET/AUTOUR_de_XXX/selectfile.html", "selectfile.pro", "", " file_comments categories param EVENT returns uses restrictions examples history version Id: selectfile pro 1 57 2006 08 21 09:01:50Z navarro todo seb: documenter EVENT PRO selectfile_event event compile_opt idl2 strictarrsubs common widget_control event id get_uvalue eventuvalue default definition of messenger when selectfile_event is called directly without calling xmanager widget_control event handler get_uvalue messenger messenger 1 IF chkstru eventuvalue name EQ 0 THEN return case eventuvalue name of cancel button Global Cancel :BEGIN widget_control event handler get_uvalue messenger messenger 1 widget_control event handler destroy END data file informations datafilename :BEGIN widget_control event id get_value filename filename isafile filename filename 0 onlync title data file name tryfind fully_qualify_path if size filename type NE 7 then BEGIN widget_control event id set_value return ENDIF widget_control event id set_value filename END browse datafilename :BEGIN filename isafile onlync title data file name tryfind fully_qualify_path if size filename type NE 7 then return widget_control widget_info event handler find_by_uname datafilename set_value filename END switch automatic by and mesh definition buttons gridload :BEGIN IF event select EQ 1 THEN BEGIN widget_control widget_info event handler find_by_uname argtxt set_value widget_control widget_info event handler find_by_uname kwdtxt set_value widget_control widget_info event handler find_by_uname kwd base sensitive 1 CASE event value OF via initnetcdf :BEGIN widget_control widget_info event handler find_by_uname meshload set_value initncdf editable 0 widget_control widget_info event handler find_by_uname arg base sensitive 0 widget_control widget_info event handler find_by_uname kwdlab set_value initncdf keywords: END via perso :BEGIN widget_control widget_info event handler find_by_uname meshload set_value editable 1 widget_control widget_info event handler find_by_uname arg base sensitive 1 widget_control widget_info event handler find_by_uname kwdlab set_value keywords of IDL procedure: END ENDCASE ENDIF END name of the procedure or batch file meshload :BEGIN widget_control event id get_value filename filename find filename 0 onlypro firstfound 0 if filename EQ NOT FOUND then begin widget_control event id set_value return endif CASE protype filename OF this is a procedure proc :BEGIN widget_control widget_info event handler find_by_uname arg base sensitive 1 widget_control widget_info event handler find_by_uname kwd base sensitive 1 widget_control widget_info event handler find_by_uname kwdlab set_value file_basename filename pro keywords: END this is a function this case is not accepted func :BEGIN widget_control event id set_value return END this is an IDL batch file batch :BEGIN widget_control widget_info event handler find_by_uname arg base sensitive 0 widget_control widget_info event handler find_by_uname kwd base sensitive 0 widget_control widget_info event handler find_by_uname kwdlab set_value no keywords: END ENDCASE widget_control widget_info event handler find_by_uname argtxt set_value widget_control widget_info event handler find_by_uname kwdtxt set_value widget_control event id set_value file_basename filename pro END browse meshload :BEGIN filename isafile iodir homedir onlypro title to load the grid file if size filename type NE 7 then return meshload_id widget_info event handler find_by_uname meshload widget_control meshload_id set_value filename selectfile_event ID:meshload_id TOP:event top HANDLER:event handler END Lets Go button Lets Go :BEGIN widget_control widget_info event handler find_by_uname datafilename get_value datafilename datafilename datafilename 0 IF datafilename EQ THEN return datafilename isafile filename datafilename tryfind onlync title data file name fully_qualify_path if size datafilename type NE 7 then BEGIN widget_control widget_info event handler find_by_uname datafilename set_value return ENDIF widget_control widget_info event handler find_by_uname gridload get_value gridload widget_control widget_info event handler find_by_uname argtxt get_value argtxt argtxt strtrim argtxt 0 2 IF strpos argtxt EQ 0 THEN argtxt strmid argtxt 1 widget_control widget_info event handler find_by_uname kwdtxt get_value kwdtxt kwdtxt strtrim kwdtxt 0 2 IF strpos kwdtxt EQ 0 THEN kwdtxt strmid kwdtxt 1 CASE gridload 0 OF via perso :BEGIN meshload_id widget_info event handler find_by_uname meshload widget_control meshload_id get_value meshload meshload meshload 0 IF meshload EQ THEN return meshload find meshload 0 onlypro firstfound 0 if meshload EQ NOT FOUND then begin widget_control meshload_id set_value return endif END via initnetcdf :meshload datafilename ENDCASE IF strlen argtxt NE 0 THEN meshload meshload argtxt IF strlen kwdtxt NE 0 THEN meshload meshload kwdtxt widget_control event handler get_uvalue messenger messenger create_struct datafilename datafilename meshload meshload widget_control event handler destroy END endcase return end file_comments categories param DATAFILENAME param IDLFILE param ARGSPRO keyword _EXTRA Used to pass your keywords returns uses restrictions examples history version Id: selectfile pro 157 2006 08 21 09:01:50Z navarro todo seb: documenter les params FUNCTION selectfile datafilename idlfile argspro _extra ex compile_opt idl2 strictarrsubs common We create a pointer in the uvalue to recuperate answers at setted questions atthe time of the use of this widget So when the widget is deleted in the procedure event pro the variable on which the pointer pointed contained in the uvalue of the widget is not deleted and we can recuperate the result messenger ptr_new allocate_heap base widget_base column title selectfile align_center uvalue messenger _EXTRA ex cancel button dummyid widget_button base value Cancel uvalue name: Global Cancel data file informations basea widget_base base row align_center dummyid widget_label basea value Data file name: database widget_text basea value uvalue name: datafilename uname datafilename xsize 45 EDITABLE dummyid widget_button basea value Browse uvalue name: browse datafilename switch automatic by and mesh definition buttons baseb widget_base base row align_center gdldid cw_bgroup baseb automatic grid construction with initncdf pro grid construction with other IDL batch or procedure exclusive set_value 0 uvalue name: gridload uname gridload button_uvalue via initnetcdf via perso name of the procedure or batch file basec widget_base base row align_center uname pro base dummyid widget_label basec value IDL batch file of procedure basemeshload widget_text basec value initncdf uvalue name: meshload uname meshload xsize 45 editable 0 dummyid widget_button basec value Browse uvalue name: browse meshload arguments informations based widget_base base row align_center uname arg base sensitive 0 dummyid widget_label based value procedure arguments agrbase widget_text based value uvalue name: argtxt uname argtxt xsize 45 EDITABLE keyword informations basee widget_base base row align_center uname kwd base dummyid widget_label basee uname kwdlab value keywords of initncdf: dummyid widget_text basee value uvalue name: kwdtxt uname kwdtxt xsize 45 EDITABLE Lets Go button basego widget_button base value Lets Go uvalue name: Lets Go IF n_elements datafilename NE 0 THEN BEGIN widget_control database set_value datafilename selectfile_event ID:database TOP:base HANDLER:base ENDIF IF n_elements idlfile NE 0 THEN BEGIN widget_control basemeshload set_value idlfile selectfile_event ID:basemeshload TOP:base HANDLER:base widget_control basemeshload get_value idlfile2 IF idlfile2 0 NE THEN widget_control gdldid set_value 1 ENDIF IF n_elements argspro NE 0 THEN widget_control argbase set_value argspro IF n_elements datafilename EQ 0 THEN BEGIN widget_control base realize xmanager selectfile base event_handler selectfile_event no_block 0 ENDIF ELSE selectfile_event ID:basego TOP:base HANDLER:base get back the information from selectfile_event res messenger ptr_free messenger if size res type NE 8 then return 1 loadgrid res meshload _extra ex ccreadparameters funclec_name: read_ncdf jpidta:jpidta jpjdta:jpjdta jpkdta:jpkdta ixmindta:ixmindta ixmaxdta:ixmaxdta iymindta:iymindta iymaxdta:iymaxdta izmindta:izmindta izmaxdta:izmaxdta res3 scanfile res datafilename _extra ex if size res3 type NE 8 then return 1 return fileparameters:res3 readparameters:ccreadparameters meshparameters:ccmeshparameters end");355 a[353] = new Array("./ToBeReviewed/WIDGET/AUTOUR_de_XXX/scanfile.html", "scanfile.pro", "", " file_comments categories param NAMEFILE keyword GRID keyword _EXTRA Used to pass your keywords returns uses restrictions examples history version Id: scanfile pro 181 2006 09 15 08:24:36Z smasson todo seb : I don t know what to do with that liste des presupposes: 1 le fichier a lire est un fichier netcdf 2 le nom de ce fichier finit par U nc V nc W nc T nc ou F nc la lettre avant le nc designant la grille a laquelle se rapporte la champ Si tel n est pas la cas le fichier est attribue a la grille T 3 ce fichier contient une dimension infinie qui doit etre celle qui se rapporte au temps et au mois 2 autres dimensions dont les noms sont x lon xi_ et y lat ou eta_ ou bien en majuscule 4 il doit exiter ds ce fichier une unique variable n ayant qu une dimension et etant la dimension temporelle cette variable sera prise comme axe des temps Rq: si plusieurs variables verifient ces criteres on considere la premiere variable 5 Cette variable axe des temps doit contenir l attribut units qui doit etre ecrit suivant la syntaxe: seconds since 0001 01 01 00:00:00 hours since 0001 01 01 00:00:00 days since 1979 01 01 00:59:59 months since 1979 01 01 00:59:59 years since 1979 01 01 00:59:59 je crois que c est tout GRID UTVWF to specify the type of grid Defaut is 1 based on the name of the file if the file ends by GRID _ TUVFW NC not case sensible or 2 T if case 1 is not found FUNCTION scanfile namefile GRID GRID _extra ex compile_opt idl2 strictarrsubs common res 1 filename fullname isafile filename namefile IODIRECTORY iodir _extra ex open file cdfid ncdf_open fullname What contains the file infile ncdf_inquire cdfid name of all dimensions namedim strarr infile ndims for dimiq 0 infile ndims 1 do begin ncdf_diminq cdfid dimiq tmpname value namedim dimiq strlowcase tmpname ENDFOR roms file dimidx where namedim EQ xi_rho OR namedim EQ xi_u OR namedim EQ xi_v OR namedim EQ xi_psi IF dimidx 0 EQ 1 THEN BEGIN we are looking for a x dimension with a name matching one of the following regular expression: testname longitude lon x longitude lon x longitude lon x cnt 1 ii 0 WHILE cnt NE 1 AND ii LT n_elements testname DO BEGIN dimidx where strmatch namedim testname ii EQ 1 cnt ii ii 1 ENDWHILE CASE cnt OF 0:begin dummy report none of the dimensions name matches one of the following regular expression: longitude lon x longitude lon x longitude lon x we cannot find the x dimension stop END 1:dimidx dimidx 0 ELSE:begin dummy report several and not one unique dimensions name matches the following regular expression: longitude lon x longitude lon x longitude lon x we cannot find the x dimension stop ENDELSE ENDCASE ENDIF roms file dimidy where namedim EQ eta_rho OR namedim EQ eta_u OR namedim EQ eta_v OR namedim EQ eta_psi IF dimidy 0 EQ 1 THEN BEGIN we are looking for a y dimension with a name matching one of the following regular expression: testname latitude lat y latitude lat y eta_ latitude lat y cnt 1 ii 0 WHILE cnt NE 1 AND ii LT n_elements testname DO BEGIN dimidy where strmatch namedim testname ii EQ 1 cnt ii ii 1 ENDWHILE CASE cnt OF 0:begin dummy report none of the dimensions name matches one of the following regular expression: latitude lat y latitude lat y eta_ latitude lat y we cannot find the y dimension stop END 1:dimidy dimidy 0 ELSE:begin dummy report several and not one unique dimensions name matches the following regular expression: latitude lat y latitude lat y eta_ latitude lat y we cannot find the x dimension stop ENDELSE ENDCASE ENDIF name of all variables we keep only the variables containing at least x y and time dimension if existing namevar strarr infile nvars for varid 0 infile nvars 1 do begin invar ncdf_varinq cdfid varid what contains the variable if inter invar dim dimidx 0 NE 1 AND inter invar dim dimidy 0 NE 1 AND where invar dim EQ infile recdim 0 NE 1 OR infile recdim EQ 1 THEN namevar varid invar name ENDFOR namevar namevar where namevar NE find vargrid for each selected variable listgrid strarr n_elements namevar default definitions IF keyword_set grid THEN vargrid strupcase grid ELSE vargrid T look for values of vargrid for each variable IF finite glamu 0 EQ 1 AND NOT keyword_set grid THEN BEGIN for each variable look if we in one of the case corresponding to ROMS conventions FOR i 0 n_elements namevar 1 do begin invar ncdf_varinq cdfid namevar i tmpnm namedim invar dim are we in one of the case corresponding to ROMS conventions CASE 1 OF tmpnm 2 jpt END invar natts EQ 0:BEGIN dummy report the variable invar name has no attribut C we create a fake calendar fakecal 1 time date0fk lindgen 1 jpt END ELSE:BEGIN we want to know which attributes are attached to the time variable attnames strarr invar natts for attiq 0 invar natts 1 do attnames attiq ncdf_attname cdfid varid attiq if where attnames EQ units 0 EQ 1 then BEGIN dummy report Attribut units not found for the variable invar name C we create a fake calendar fakecal 1 time date0fk lindgen 1 jpt ENDIF ELSE BEGIN we read the time axis ncdf_varget cdfid varid time time double time ncdf_attget cdfid varid units value time_counter:units seconds since 0001 01 01 00:00:00 time_counter:units hours since 0001 01 01 00:00:00 time_counter:units days since 1979 01 01 00:00:00 time_counter:units months since 1979 01 01 00:00:00 time_counter:units years since 1979 01 01 00:00:00 value strtrim strcompress string value 2 mots str_sep value unite mots 0 err 0 IF unite NE seconds AND unite NE hours AND unite NE days AND unite NE months AND unite NE years THEN BEGIN dummy report time units does not start with seconds hours days months years err 1 ENDIF err err 1 stregex value since 0 9 4 0 9 2 0 9 2 boolean IF err GT 0 THEN BEGIN dummy report attribut units of time has not the good format: since 0 9 4 0 9 2 0 9 2 fakecal 1 time date0fk lindgen 1 jpt ENDIF ELSE BEGIN debut str_sep mots 2 now we try to find the attribut called calendar the the attribute calendar exists If no we suppose that the calendar is gregorian calendar if where attnames EQ calendar 0 NE 1 then BEGIN ncdf_attget cdfid varid calendar value value string value CASE value OF noleap :key_caltype noleap 360d :key_caltype 360d greg :IF n_elements key_caltype EQ 0 THEN key_caltype greg ELSE:BEGIN notused report Unknown calendar: value we use greg calendar key_caltype greg END ENDCASE ENDIF ELSE BEGIN notused report Unknown calendar we use key_caltype calendar IF n_elements key_caltype EQ 0 THEN key_caltype greg ENDELSE BEWARE we have to get back the calendar attribute and ajust time by consequence We pass time in IDL julian days unite strlowcase unite IF strpos unite s strlen unite 1 NE 1 THEN unite strmid unite 0 strlen unite 1 IF strpos unite julian_ NE 1 THEN unite strmid unite 7 case unite of second :time julday debut 1 debut 2 debut 0 time 86400 d hour :time julday debut 1 debut 2 debut 0 time 24 d day :time julday debut 1 debut 2 debut 0 time month :BEGIN if total fix time NE time NE 0 then we switch to days with 30d m time julday debut 1 debut 2 debut 0 round time 30 ELSE for t 0 n_elements time 1 DO time t julday debut 1 time t debut 2 debut 0 END year :BEGIN if total fix time NE time NE 0 then we switch to days with 365d y time julday debut 1 debut 2 debut 0 round time 365 ELSE for t 0 n_elements time 1 do time t julday debut 1 debut 2 debut 0 time t END ENDCASE high frequency calendar: more than one element per day IF max histogram long time time 0 GT 1 THEN fakecal 1 ELSE fakecal 0 date0fk date2jul 19000101 IF keyword_set fakecal THEN time date0fk lindgen 1 jpt ELSE time long time ENDELSE ENDELSE END ENDCASE ENDELSE ncdf_close cdfid return filename:fullname time_counter:time listvar:namevar listgrid:strupcase listgrid caltype:key_caltype fakecal:date0fk fakecal end"); 356 a[354] = new Array("./ToBeReviewed/WIDGET/AUTOUR_de_XXX/selectfile.html", "selectfile.pro", "", " file_comments categories param EVENT returns uses restrictions examples history version Id: selectfile pro 181 2006 09 15 08:24:36Z smasson todo seb: documenter EVENT PRO selectfile_event event compile_opt idl2 strictarrsubs common widget_control event id get_uvalue eventuvalue default definition of messenger when selectfile_event is called directly without calling xmanager widget_control event handler get_uvalue messenger messenger 1 IF chkstru eventuvalue name EQ 0 THEN return case eventuvalue name of cancel button Global Cancel :BEGIN widget_control event handler get_uvalue messenger messenger 1 widget_control event handler destroy END data file informations datafilename :BEGIN widget_control event id get_value filename filename isafile filename filename 0 onlync title data file name tryfind fully_qualify_path if size filename type NE 7 then BEGIN widget_control event id set_value return ENDIF widget_control event id set_value filename END browse datafilename :BEGIN filename isafile onlync title data file name tryfind fully_qualify_path if size filename type NE 7 then return widget_control widget_info event handler find_by_uname datafilename set_value filename END switch automatic by and mesh definition buttons gridload :BEGIN IF event select EQ 1 THEN BEGIN widget_control widget_info event handler find_by_uname argtxt set_value widget_control widget_info event handler find_by_uname kwdtxt set_value widget_control widget_info event handler find_by_uname kwd base sensitive 1 CASE event value OF via initnetcdf :BEGIN widget_control widget_info event handler find_by_uname meshload set_value initncdf editable 0 widget_control widget_info event handler find_by_uname arg base sensitive 0 widget_control widget_info event handler find_by_uname kwdlab set_value initncdf keywords: END via perso :BEGIN widget_control widget_info event handler find_by_uname meshload set_value editable 1 widget_control widget_info event handler find_by_uname arg base sensitive 1 widget_control widget_info event handler find_by_uname kwdlab set_value keywords of IDL procedure: END ENDCASE ENDIF END name of the procedure or batch file meshload :BEGIN widget_control event id get_value filename filename find filename 0 onlypro firstfound 0 if filename EQ NOT FOUND then begin widget_control event id set_value return endif CASE protype filename OF this is a procedure proc :BEGIN widget_control widget_info event handler find_by_uname arg base sensitive 1 widget_control widget_info event handler find_by_uname kwd base sensitive 1 widget_control widget_info event handler find_by_uname kwdlab set_value file_basename filename pro keywords: END this is a function this case is not accepted func :BEGIN widget_control event id set_value return END this is an IDL batch file batch :BEGIN widget_control widget_info event handler find_by_uname arg base sensitive 0 widget_control widget_info event handler find_by_uname kwd base sensitive 0 widget_control widget_info event handler find_by_uname kwdlab set_value no keywords: END ENDCASE widget_control widget_info event handler find_by_uname argtxt set_value widget_control widget_info event handler find_by_uname kwdtxt set_value widget_control event id set_value file_basename filename pro END browse meshload :BEGIN filename isafile iodir homedir onlypro title to load the grid file if size filename type NE 7 then return meshload_id widget_info event handler find_by_uname meshload widget_control meshload_id set_value filename selectfile_event ID:meshload_id TOP:event top HANDLER:event handler END Lets Go button Lets Go :BEGIN widget_control widget_info event handler find_by_uname datafilename get_value datafilename datafilename datafilename 0 IF datafilename EQ THEN return datafilename isafile filename datafilename tryfind onlync title data file name fully_qualify_path if size datafilename type NE 7 then BEGIN widget_control widget_info event handler find_by_uname datafilename set_value return ENDIF widget_control widget_info event handler find_by_uname gridload get_value gridload widget_control widget_info event handler find_by_uname argtxt get_value argtxt argtxt strtrim argtxt 0 2 IF strpos argtxt EQ 0 THEN argtxt strmid argtxt 1 widget_control widget_info event handler find_by_uname kwdtxt get_value kwdtxt kwdtxt strtrim kwdtxt 0 2 IF strpos kwdtxt EQ 0 THEN kwdtxt strmid kwdtxt 1 CASE gridload 0 OF via perso :BEGIN meshload_id widget_info event handler find_by_uname meshload widget_control meshload_id get_value meshload meshload meshload 0 IF meshload EQ THEN return meshload find meshload 0 onlypro firstfound 0 if meshload EQ NOT FOUND then begin widget_control meshload_id set_value return endif END via initnetcdf :meshload datafilename ENDCASE IF strlen argtxt NE 0 THEN meshload meshload argtxt IF strlen kwdtxt NE 0 THEN meshload meshload kwdtxt widget_control event handler get_uvalue messenger messenger create_struct datafilename datafilename meshload meshload widget_control event handler destroy END endcase return end file_comments categories param DATAFILENAME param IDLFILE param ARGSPRO keyword _EXTRA Used to pass your keywords returns uses restrictions examples history version Id: selectfile pro 181 2006 09 15 08:24:36Z smasson todo seb: documenter les params FUNCTION selectfile datafilename idlfile argspro _extra ex compile_opt idl2 strictarrsubs common We create a pointer in the uvalue to recuperate answers at setted questions atthe time of the use of this widget So when the widget is deleted in the procedure event pro the variable on which the pointer pointed contained in the uvalue of the widget is not deleted and we can recuperate the result messenger ptr_new allocate_heap base widget_base column title selectfile align_center uvalue messenger _EXTRA ex cancel button dummyid widget_button base value Cancel uvalue name: Global Cancel data file informations basea widget_base base row align_center dummyid widget_label basea value Data file name: database widget_text basea value uvalue name: datafilename uname datafilename xsize 45 EDITABLE dummyid widget_button basea value Browse uvalue name: browse datafilename switch automatic by and mesh definition buttons baseb widget_base base row align_center gdldid cw_bgroup baseb automatic grid construction with initncdf pro grid construction with other IDL batch or procedure exclusive set_value 0 uvalue name: gridload uname gridload button_uvalue via initnetcdf via perso name of the procedure or batch file basec widget_base base row align_center uname pro base dummyid widget_label basec value IDL batch file of procedure basemeshload widget_text basec value initncdf uvalue name: meshload uname meshload xsize 45 editable 0 dummyid widget_button basec value Browse uvalue name: browse meshload arguments informations based widget_base base row align_center uname arg base sensitive 0 dummyid widget_label based value procedure arguments argbase widget_text based value uvalue name: argtxt uname argtxt xsize 45 EDITABLE keyword informations basee widget_base base row align_center uname kwd base dummyid widget_label basee uname kwdlab value keywords of initncdf: dummyid widget_text basee value uvalue name: kwdtxt uname kwdtxt xsize 45 EDITABLE Lets Go button basego widget_button base value Lets Go uvalue name: Lets Go IF n_elements datafilename NE 0 THEN BEGIN widget_control database set_value datafilename selectfile_event ID:database TOP:base HANDLER:base ENDIF IF n_elements idlfile NE 0 THEN BEGIN widget_control basemeshload set_value idlfile selectfile_event ID:basemeshload TOP:base HANDLER:base widget_control basemeshload get_value idlfile2 IF idlfile2 0 NE THEN widget_control gdldid set_value 1 ENDIF IF n_elements argspro NE 0 THEN widget_control argbase set_value argspro IF n_elements datafilename EQ 0 THEN BEGIN widget_control base realize xmanager selectfile base event_handler selectfile_event no_block 0 ENDIF ELSE selectfile_event ID:basego TOP:base HANDLER:base get back the information from selectfile_event res messenger ptr_free messenger if size res type NE 8 then return 1 loadgrid res meshload _extra ex ccreadparameters funclec_name: read_ncdf jpidta:jpidta jpjdta:jpjdta jpkdta:jpkdta ixmindta:ixmindta ixmaxdta:ixmaxdta iymindta:iymindta iymaxdta:iymaxdta izmindta:izmindta izmaxdta:izmaxdta res3 scanfile res datafilename _extra ex if size res3 type NE 8 then return 1 return fileparameters:res3 readparameters:ccreadparameters meshparameters:ccmeshparameters end"); 357 357 a[355] = new Array("./ToBeReviewed/WIDGET/AUTOUR_de_XXX/singleclickaction.html", "singleclickaction.pro", "", " file_comments categories param EVENT returns uses restrictions examples history version Id: singleclickaction pro 150 2006 08 09 10:12:54Z navarro todo seb PRO singleclickaction event compile_opt idl2 strictarrsubs cm_4mesh cm_4data return widget_control event id get_uvalue uval widget_control event top get_uvalue top_uvalue actionid widget_info event top find_by_uname action type widget_info actionid combobox_gettext IF type NE plt THEN return We activate the right window widget_control event id get_value win wset win choice of the type of action case uval press of 1:BEGIN coor convert_coord uval x 0 uval y 0 device to_data x coor 0 y coor 1 help x y oldgrid vargrid CASE strupcase vargrid OF T :vargrid F W :vargrid F U :vargrid V V :vargrid U F :vargrid T ENDCASE grille 1 glam gphi 1 nx ny nz firstx firsty firstz lastx lasty lastz vargrid oldgrid define the corner of the cells in the clockwise direction IF keyword_set key_periodic AND nx EQ jpi THEN BEGIN x1 glam 0:ny 2 y1 gphi 0:ny 2 x2 glam 1:ny 1 y2 gphi 1:ny 1 x3 shift glam 1:ny 1 1 0 y3 shift gphi 1:ny 1 1 0 x4 shift glam 0:ny 2 1 0 y4 shift gphi 0:ny 2 1 0 ENDIF ELSE BEGIN x1 glam 0:nx 2 0:ny 2 y1 gphi 0:nx 2 0:ny 2 x2 glam 0:nx 2 1:ny 1 y2 gphi 0:nx 2 1:ny 1 x3 glam 1:nx 1 1:ny 1 y3 gphi 1:nx 1 1:ny 1 x4 glam 1:nx 1 0:ny 2 y4 gphi 1:nx 1 0:ny 2 ENDELSE glam 1 free memory gphi 1 free memory What is the longitude WHILE x GT x range 1 DO x x 360 WHILE x LT x range 0 DO x x 360 IF x GT x range 1 THEN RETURN IF y GT y range 1 THEN RETURN IF y LT y range 0 THEN RETURN cell inquad x y x1 y1 x2 y2 x3 y3 x4 y4 onsphere key_onearth x1 1 free memory y1 1 free memory x2 1 free memory y2 1 free memory x3 1 free memory y3 1 free memory x4 1 free memory y4 1 free memory IF cell 0 EQ 1 OR n_elements cell GT 1 THEN RETURN yy cell 0 nx 1 key_periodic nx EQ jpi xx cell 0 MOD nx 1 key_periodic nx EQ jpi CASE strupcase vargrid OF T :BEGIN xx xx firstx 1 yy yy firsty 1 END W :BEGIN xx xx firstx 1 yy yy firsty 1 END U :BEGIN xx xx firstx yy yy firsty 1 END V :BEGIN xx xx firstx 1 yy yy firsty END F :BEGIN xx xx firstx yy yy firsty END ENDCASE bad where xx GE jpi IF bad 0 NE 1 THEN BEGIN xx bad xx bad jpi yy bad yy bad 1 ENDIF bad where yy GE jpj IF bad 0 NE 1 THEN stop print glamt xx yy gphit xx yy cmd buildcmd event top boxzoom boxzoom END ELSE: endcase RETURN end"); 358 358 a[356] = new Array("./ToBeReviewed/WIDGET/AUTOUR_de_XXX/tracecadre.html", "tracecadre.pro", "", " file_comments categories param SMALL keyword OUT keyword ERASE keyword FILL returns uses restrictions examples history version Id: tracecadre pro 150 2006 08 09 10:12:54Z navarro todo seb PRO tracecadre small out out erase erase fill fill determination of the column and of the line corresponding in input to small compile_opt idl2 strictarrsubs numdessin small 2 1 numligne numdessin small 0 numcolonne numdessin numligne small 0 determination of poscadre largeurcolonne 1 small 0 largeurligne 1 small 1 cadre numcolonne largeurcolonne 1 numligne 1 largeurligne numcolonne 1 largeurcolonne 1 numligne largeurligne decale 0 001 cadre cadre decale decale decale decale reinitplt p position 0 0 1 1 IF keyword_set fill then begin polyfill cadre 0 cadre 2 cadre 2 cadre 0 cadre 0 cadre 1 cadre 1 cadre 3 cadre 3 cadre 1 color 255 normal ENDIF ELSE BEGIN plot cadre 0 cadre 2 cadre 2 cadre 0 cadre 0 cadre 1 cadre 1 cadre 3 cadre 3 cadre 1 xrange 0 1 yrange 0 1 linestyle 2 keyword_set out noerase normal thick 2 color 0 255 keyword_set erase ENDELSE return end"); … … 374 374 a[372] = new Array("./ToBeReviewed/WIDGET/xquestion.html", "xquestion.pro", "", " file_comments categories param EVENT returns uses restrictions examples history version Id: xquestion pro 163 2006 08 29 12:59:46Z navarro pro xquestion_event event compile_opt idl2 strictarrsubs we get the answer widget_control widget_info event top find_by_uname text get_value answer answer answer 0 now we give the answer to xquestion pro by using the pointer uvalue widget_control event top get_uvalue ptranswer ptranswer answer we destroy the widget widget_control event top destroy return end file_comments A small widget who ask a question and give an answer WARNING: For a binary question with yes no answer use DIALOG_MESSAGE categories Widget param QUESTION A scalar string or a array of string If this argument is set to : an array of strings: each array element is displayed as a separate line of text a scalar string: we are looking for the separate line character C param PROPOSEDANSWER type string A string proposing a answer keyword CHKWIDGET Active this keyword if you want that xquestion check if managed widget are present If not xquestion do not open a widget but print the question in the IDL window keyword _EXTRA Used to pass your keywords returns answer: a string restrictions The function does not return to its caller until the user press Enter key in the widget examples IDL help xquestion Postscript name STRING toto ps history Sebastien Masson smasson lodyc jussieu fr 13 10 1999 version Id: xquestion pro 163 2006 08 29 12:59:46Z navarro FUNCTION xquestion question proposedanswer CHKWIDGET chkwidget _extra ex compile_opt idl2 strictarrsubs is separate line a scalar we must cut it into pieces if n_elements question EQ 1 then question str_sep question C trim is a widget necessary if keyword_set chkwidget then BEGIN if widget_info managed 0 EQ 0 then BEGIN if n_elements proposedanswer EQ 0 then BEGIN proposedanswer answer complete ENDIF ELSE BEGIN answer proposedanswer complete default answer is proposedanswer ENDELSE if n_elements question GT 1 THEN for i 0 n_elements question 2 do print question i read question n_elements question 1 complete answer if keyword_set answer EQ 0 then answer proposedanswer return answer endif endif definition of the widget BaseId widget_base column title Question _extra ex screensize get_screen_size widget_control BaseId tlb_set_xoffset screensize 0 2 2 tlb_set_yoffset screensize 1 2 2 for i 0 n_elements question 1 DO trash widget_label BaseId value question i align_left if n_elements proposedanswer EQ 0 then answer ELSE answer proposedanswer trash widget_text BaseId value answer editable _extra ex uname text trash widget_button BaseId value ok ptranswer ptr_new allocate_heap widget_control BaseId set_uvalue ptranswer we realize the widget and wait for an answer widget_control BaseId realize xmanager xquestion BaseId we get the answer answer ptranswer we freeing the pointer ptr_free ptranswer return answer end"); 375 375 a[373] = new Array("./ToBeReviewed/WIDGET/xx.html", "xx.pro", "", " file_comments categories keyword JOUR keyword MESHFILENAME keyword LISTVAR keyword LISTGRID keyword FUNCLEC_NAME keyword CALENDAR keyword _EXTRA Used to pass your keywords uses restrictions examples history version Id: xx pro 157 2006 08 21 09:01:50Z navarro todo seb documenter PRO xx JOUR jour MESHFILENAME meshfilename LISTVAR listvar LISTGRID listgrid FUNCLEC_NAME funclec_name CALENDAR calendar _extra ex compile_opt idl2 strictarrsubs common Name of the part to be changed Name of the reading function if NOT keyword_set funclec_name then funclec_name slec varexp INF list of variables if NOT keyword_set listvar then listvar tn sn un vn taux tauy hdep20 hdep28 hdep15 hturb hpycn htoth emp qn qs smltot11 smltot12 smltot13 smltot14 smltot15 smltot16 tmltot11 tmltot12 tmltot13 tmltot14 tmltot15 tmltot16 list of grids to which variables refer to if NOT keyword_set listgrid then BEGIN listgrid replicate T n_elements listvar listgrid 2 4 U listgrid 3 5 V ENDIF calendar to be used in IDL julian days if NOT keyword_set calendar then BEGIN if keyword_set jour then calendar calendriertotem julian_day ELSE calendar calendriertotem julian_day mensuel ENDIF Name of the file refering to the mask if NOT keyword_set meshfilename then meshfilename usr1 com smasson IDL INIT inittotem pro meshparameters whichgrid meshfilename parameters specifing how the field must be read readparameters funclec_name: funclec_name jpidta: jpidta jpjdta: jpjdta jpkdta: jpkdta ixmindta: ixmindta ixmaxdta: ixmaxdta iymindta: iymindta iymaxdta: iymaxdta izmindta: izmindta izmaxdta: izmaxdta End of the part to be change fileparameters filename: many time_counter: calendar listvar: listvar listgrid: strupcase listgrid multistructure fileparameters: temporary fileparameters readparameters: temporary readparameters meshparameters: temporary meshparameters xxx multistructure temporary multistructure _extra ex return end"); 376 a[374] = new Array("./ToBeReviewed/WIDGET/xxx.html", "xxx.pro", "", " file_comments categories param EVENT returns uses restrictions examples history version Id: xxx pro 163 2006 08 29 12:59:46Z navarro PRO xxx_event event compile_opt idl2 strictarrsubs common widget_info event top find_by_uname What is the type of evenment if event id EQ 622 then help event struct widget_control event id get_uvalue uval if tag_names event structure_name 0 EQ WIDGET_TRACKING then uval name: ActiverFenetre if keyword_set uval EQ 0 then return help event struct help uval struct case on the type of evenment widget_control event top get_uvalue top_uvalue If we activate the keyword separate at the call of xxx if size top_uvalue type EQ 3 then begin event top top_uvalue widget_control event top get_uvalue top_uvalue endif we delete the small widget created by notice pro if it exists noticebase extractatt top_uvalue noticebase if noticebase NE 0 then BEGIN widget_control noticebase destroy top_uvalue 1 findline top_uvalue noticebase 0l endif options extractatt top_uvalue options case uval name OF menubar :xxxmenubar_event event ok :nouveaudessin 1 specifie : action : calendar1 :BEGIN date2id widget_info event top find_by_uname calendar2 widget_control date2id get_value date2 if event value GT date2 then widget_control date2id set_value event value END calendar2 :BEGIN date1id widget_info event top find_by_uname calendar1 widget_control date1id get_value date1 if event value LT date1 then widget_control date1id set_value event value END domain : varlist :BEGIN currentfile extractatt top_uvalue currentfile listvar extractatt top_uvalue fileparameters currentfile listvar name listvar event index changefield event top name END txtcmd : filelist :BEGIN changefile event top event index END ActiverFenetre :BEGIN if event enter EQ 1 AND d name NE PS then BEGIN graphid widget_info event top find_by_uname graph graphid extractatt top_uvalue graphid widget_control graphid get_value win wset win widget_control event top get_uvalue top_uvalue numdessinin extractatt top_uvalue smallin 2 1 p extractatt top_uvalue penvs numdessinin x extractatt top_uvalue xenvs numdessinin y extractatt top_uvalue yenvs numdessinin endif END graph :BEGIN quelclick identifyclick event case quelclick type of inutile :return long :longclickaction event single :singleclickaction event double :doubleclickaction event endcase END endcase if keyword_set nouveaudessin then letsdraw event top return end file_comments A maximum of possibilities with a minimum of clics categories Widget param DATAFILENAME param IDLFILE param ARGSPRO keyword SEPARATE To separate the button part and the drawing part in 2 windows Useful for small screens but be careful to do not saturate the video memory of some antiquated Tx keyword RESTORE toto dat or toto dat is a file created at the time of a precedent use of xxx thanks to the command Widget of the menu save as keyword _EXTRA Used to pass your keywords keyword CALLERWIDID keyword REDRAW keyword SEPARATE keyword UVALUE The user value to be associated with the widget uses common pro history Sebastien Masson smasson lodyc jussieu fr version Id: xxx pro 163 2006 08 29 12:59:46Z navarrotodo seb: documenter le reste des keywords PRO xxx datafilename idlfile argspro CALLERWIDID CallerWidId REDRAW redraw SEPARATE separate UVALUE uvalue RESTORE restore _EXTRA ex compile_opt idl2 strictarrsubs all_cm reinitialize the p x y z variables reinitplt we get back the uvalue of the widget that called xxx to create a new widget if keyword_set restore then BEGIN restore isafile filename restore iodir homedir _extra ex if size restore type NE 7 then restore 0 ELSE BEGIN restore isafile file restore iodir homedir _extra ex newgrid extractatt uvalue meshparameters 0 change changegrid newgrid ENDELSE endif if n_elements CallerWidId NE 0 THEN widget_control CallerWidId get_uvalue uvalue ELSE CallerWidId 0 list of files we want to look at if keyword_set uvalue then BEGIN currentfile extractatt uvalue currentfile filelist extractatt uvalue filelist fileparameters extractatt uvalue fileparameters readparameters extractatt uvalue readparameters meshparameters extractatt uvalue meshparameters ENDIF ELSE BEGIN newfile selectfile datafilename idlfile argspro _extra ex if size newfile type NE 8 then return fileparameters ptrarr 1 allocate_heap fileparameters 0 newfile fileparameters readparameters ptrarr 1 allocate_heap readparameters 0 newfile readparameters meshparameters ptrarr 1 allocate_heap meshparameters 0 newfile meshparameters currentfile 0 filelist newfile fileparameters filename ENDELSE if keyword_set uvalue THEN BEGIN smallin extractatt uvalue smallin smallout extractatt uvalue smallout ENDIF ELSE BEGIN smallin 1 1 1 smallout 1 1 1 ENDELSE nbredessin smallin 0 smallin 1 numdessinin smallin 2 1 warning flg definition must be consistent with cw_pdmenu argument see also flag definition in cw_pagelayout if keyword_set uvalue then BEGIN flag extractatt uvalue optionsflag key_portrait flag 0 numdessinin ENDIF ELSE flag key_portrait 0 0 0 0 replicate 1 nbredessin We start the widget definition widget and screen size scrsize get_screen_size 0 95 windsize givewindowsize xxxsize windsize 0 1 keyword_set separate 350 windsize 1 The top base IF xxxsize 0 LE scrsize 0 AND xxxsize 1 LE scrsize 1 THEN BEGIN base widget_base title xxx GROUP_LEADER group tracking_events uname base space 0 ENDIF ELSE BEGIN base widget_base title xxx GROUP_LEADER group tracking_events uname base space 0 xsize xxxsize 0 ysize xxxsize 1 x_scroll_size xxxsize 0 selectact ENDIF ELSE selectfile 0 menu options xoff xoff 110 if keyword_set uvalue then begin options extractatt uvalue options ENDIF ELSE options Portrait Landscape Overlay Vecteur Longitude x index Latitude y index desc 1 File 0 Open 0 New xxx 2 Quit 1 Save as 0 PostScript 0 Animated gif 0 Gif 0 IDL procedure 0 RESTORE kwd of xxx 2 Print to prompt 1 Flag options descsuite options if n_elements descsuite GE 2 then descsuite 0:n_elements descsuite 2 0 descsuite 0:n_elements descsuite 2 descsuite n_elements descsuite 1 2 descsuite n_elements descsuite 1 desc desc descsuite menu cw_pdmenu base desc RETURN_NAME uname menubar uvalue name: menubar xoffset xoff yoffset yoff Ok button yoff yoff 37 xoff 5 boutton OK baseok widget_button base value OK uvalue name: ok uname ok button frame xoffset xoff yoffset yoff Page Layout page layout xoff xoff 65 dummyid cw_pagelayout base smallin row frame xoffset xoff yoffset yoff List of Variables xoff xoff 140 currentlistvar fileparameters currentfile listvar vlstid widget_combobox base value currentlistvar uvalue name: varlist uname varlist xoffset xoff yoffset yoff 1 if keyword_set uvalue then BEGIN selectvar extractatt uvalue varinfo 1 numdessinin selectvar where currentlistvar EQ selectvar 0 widget_control vlstid set_combobox_select 0 selectvar ENDIF ELSE selectvar 0 List of files yoff yoff 35 flstid widget_combobox base value file_basename filelist uname filelist xsize 345 yoffset yoff uvalue name: filelist if keyword_set uvalue then BEGIN selectfile extractatt uvalue varinfo 0 numdessinin selectfile where file_basename filelist EQ selectfile 0 widget_control flstid set_combobox_select 0 selectfile ENDIF ELSE selectfile 0 Text for computation yoff yoff 32 computation done on the files if keyword_set uvalue then txtvalue extractatt uvalue txtcmd numdessinin ELSE txtvalue varexp dummyid widget_text base value txtvalue uvalue name: txtcmd uname txtcmd editable yoffset yoff xsize 54 frame Calendar yoff yoff 40 currentcalendar fileparameters currentfile time_counter key_caltype fileparameters currentfile caltype fakecal fileparameters currentfile fakecal if keyword_set uvalue then begin dates extractatt uvalue dates numdessinin date1 date2jul dates 0 date2 date2jul dates 1 ENDIF basecalid widget_base base column 2 space 0 yoffset yoff uname basecal dummyid cw_calendar basecalid currentcalendar date1 FAKECAL fakecal uname calendar1 uvalue name: calendar1 frame dummyid cw_calendar basecalid currentcalendar date2 FAKECAL fakecal uname calendar2 uvalue name: calendar2 frame Domain yoff yoff 60 vargrid strupcase fileparameters currentfile listgrid selectvar IF vargrid EQ W then zgrid W ELSE zgrid T if keyword_set uvalue then boxzoom extractatt uvalue domaines numdessinin dummyid cw_domain base uname domain uvalue name: domain unzoom frame boxzoom boxzoom yoffset yoff xoffset 15 Plots specifications yoff yoff 230 speid cw_specifie base uname specifie uvalue name: specifie frame column forxxx yoffset yoff if keyword_set uvalue then BEGIN exextra extractatt uvalue exextra numdessinin IF n_elements exextra NE 0 THEN widget_control speid set_value exextra ENDIF drawing part if keyword_set separate then basegraph widget_base title xxx window group_leader base uvalue base ELSE basegraph base graphid widget_draw basegraph uname graph button_events retain 2 uvalue name: graph press:0 click:0 x: 0 0 y: 0 0 xoffset 350 1 keyword_set separate xsize windsize 0 ysize windsize 1 tooltip toto realize the widget widget_control base realize if keyword_set separate then begin widget_control basegraph realize xmanager xxx basegraph no_block endif if keyword_set uvalue then BEGIN We recopy the pointer uvalue in top_uvalue Beware we have to redefine completely top_value from variables pointed by uvalue Otherwise if we simply do top_value uvalue when we delete by uvalue and variables on which it point we also delete variables on which point top_value case 1 of keyword_set redraw :BEGIN top_uvalue uvalue widget_control base set_uvalue top_uvalue we find homedir homedir isadirectory io homedir title Bad definition of homedir We recuperae the list of instructions globalcommand extractatt top_uvalue globalcommand We complete by first and last lines of the program createpro globalcommand filename myuniquetmpdir xxx2ps pro KWDLIST NOERASE noerase POSTSCRIPT postscript PORTRAIT portrait LANDSCAPE landscape noerase END keyword_set restore :begin top_uvalue uvalue widget_control base set_uvalue top_uvalue widget_control graphid get_value win wshow win wset win tv image true widgets s state updatewidget base END ELSE:BEGIN top_uvalue ptrarr 2 29 allocate_heap FOR i 0 28 do top_uvalue 0 i uvalue 0 i FOR i 0 14 do top_uvalue 1 i uvalue 1 i FOR i 18 27 do top_uvalue 1 i uvalue 1 i numfile n_elements extractatt uvalue filelist top_uvalue 1 15 ptrarr numfile allocate_heap top_uvalue 1 16 ptrarr numfile allocate_heap top_uvalue 1 17 ptrarr numfile allocate_heap for i 0 numfile 1 do begin top_uvalue 1 15 i uvalue 1 15 i top_uvalue 1 16 i uvalue 1 16 i top_uvalue 1 17 i uvalue 1 17 i endfor top_uvalue 1 28 ptrarr nbredessin allocate_heap for i 0 nbredessin 1 do top_uvalue 1 28 i uvalue 1 28 i widget_control base set_uvalue top_uvalue Copy the screen of the widget of uvalue in top_value s one if keyword_set CallerWidId then begin widget_control extractatt uvalue graphid get_value win wshow win wset win image tvrd true widget_control graphid get_value win wshow win wset win tv image true ENDIF END endcase top_uvalue 1 findline top_uvalue graphid graphid ENDIF ELSE BEGIN Otherwise we will define all elements we will hook at the widget thanks to the top_value which is a pointer array with 2 columns: names and variables We initialize all these elements Variables concerning the widget in its generality if NOT keyword_set ex then ex nothing:0 variables se rapportant aux differents fichiers que l on peut lire variables specifiques a chaque dessin creation of the pointer we will hook at the widget top_uvalue ptrarr 2 29 allocate_heap variables refering to the widget top_uvalue 0 0 options top_uvalue 1 0 options top_uvalue 0 1 smallin top_uvalue 1 1 smallin top_uvalue 0 2 smallout top_uvalue 1 2 smallout top_uvalue 0 3 graphid top_uvalue 1 3 graphid top_uvalue 0 4 alreadyvector top_uvalue 1 4 1 top_uvalue 0 5 alreadyover top_uvalue 1 5 1 top_uvalue 0 6 alreadyread top_uvalue 1 6 1 top_uvalue 0 7 currentreadcmd top_uvalue 1 7 top_uvalue 0 8 globalcommand top_uvalue 1 8 top_uvalue 0 9 globaloldcommand top_uvalue 1 9 top_uvalue 0 10 no more used top_uvalue 1 10 9999 top_uvalue 0 11 noticebase top_uvalue 1 11 0l top_uvalue 0 12 extra top_uvalue 1 12 ex variables refering to different files we can read top_uvalue 0 13 currentfile top_uvalue 1 13 currentfile top_uvalue 0 14 filelist top_uvalue 1 14 filelist top_uvalue 0 15 fileparameters top_uvalue 1 15 fileparameters top_uvalue 0 16 readparameters top_uvalue 1 16 readparameters top_uvalue 0 17 meshparameters top_uvalue 1 17 meshparameters variables refering to different drawing we can do top_uvalue 0 18 penvs top_uvalue 1 18 replicate p nbredessin top_uvalue 0 19 xenvs top_uvalue 1 19 replicate x nbredessin top_uvalue 0 20 yenvs top_uvalue 1 20 replicate y nbredessin top_uvalue 0 21 nameprocedures top_uvalue 1 21 strarr nbredessin top_uvalue 0 22 types top_uvalue 1 22 strarr nbredessin top_uvalue 0 23 varinfo top_uvalue 1 23 strarr 2 nbredessin top_uvalue 0 24 domaines top_uvalue 1 24 fltarr 6 nbredessin top_uvalue 0 25 dates top_uvalue 1 25 lonarr 2 nbredessin top_uvalue 0 26 txtcmd top_uvalue 1 26 strarr nbredessin top_uvalue 0 27 optionsflag top_uvalue 1 27 flag top_uvalue 0 28 exextra top_uvalue 1 28 ptrarr nbredessin allocate_heap widget_control base set_uvalue top_uvalue createhistory base smallin ENDELSE xmanager xxx base no_block return end");376 a[374] = new Array("./ToBeReviewed/WIDGET/xxx.html", "xxx.pro", "", " file_comments see Mini Guide for Basic Commands in the XXX Program categories param EVENT returns uses restrictions examples history version Id: xxx pro 186 2006 09 20 10:50:37Z pinsard PRO xxx_event event compile_opt idl2 strictarrsubs common widget_info event top find_by_uname What is the type of evenment if event id EQ 622 then help event struct widget_control event id get_uvalue uval if tag_names event structure_name 0 EQ WIDGET_TRACKING then uval name: ActiverFenetre if keyword_set uval EQ 0 then return help event struct help uval struct case on the type of evenment widget_control event top get_uvalue top_uvalue If we activate the keyword separate at the call of xxx if size top_uvalue type EQ 3 then begin event top top_uvalue widget_control event top get_uvalue top_uvalue endif we delete the small widget created by notice pro if it exists noticebase extractatt top_uvalue noticebase if noticebase NE 0 then BEGIN widget_control noticebase destroy top_uvalue 1 findline top_uvalue noticebase 0l endif options extractatt top_uvalue options case uval name OF menubar :xxxmenubar_event event ok :nouveaudessin 1 specifie : action : calendar1 :BEGIN date2id widget_info event top find_by_uname calendar2 widget_control date2id get_value date2 if event value GT date2 then widget_control date2id set_value event value END calendar2 :BEGIN date1id widget_info event top find_by_uname calendar1 widget_control date1id get_value date1 if event value LT date1 then widget_control date1id set_value event value END domain : varlist :BEGIN currentfile extractatt top_uvalue currentfile listvar extractatt top_uvalue fileparameters currentfile listvar name listvar event index changefield event top name END txtcmd : filelist :BEGIN changefile event top event index END ActiverFenetre :BEGIN if event enter EQ 1 AND d name NE PS then BEGIN graphid widget_info event top find_by_uname graph graphid extractatt top_uvalue graphid widget_control graphid get_value win wset win widget_control event top get_uvalue top_uvalue numdessinin extractatt top_uvalue smallin 2 1 p extractatt top_uvalue penvs numdessinin x extractatt top_uvalue xenvs numdessinin y extractatt top_uvalue yenvs numdessinin endif END graph :BEGIN quelclick identifyclick event case quelclick type of inutile :return long :longclickaction event single :singleclickaction event double :doubleclickaction event endcase END endcase if keyword_set nouveaudessin then letsdraw event top return end file_comments A maximum of possibilities with a minimum of clics categories Widget param DATAFILENAME param IDLFILE param ARGSPRO keyword SEPARATE To separate the button part and the drawing part in 2 windows Useful for small screens but be careful to do not saturate the video memory of some antiquated Tx keyword RESTORE toto dat or toto dat is a file created at the time of a precedent use of xxx thanks to the command Widget of the menu save as keyword _EXTRA Used to pass your keywords keyword CALLERWIDID keyword REDRAW keyword SEPARATE keyword UVALUE The user value to be associated with the widget uses common pro history Sebastien Masson smasson lodyc jussieu fr version Id: xxx pro 186 2006 09 20 10:50:37Z pinsard todo seb: documenter le reste des keywords PRO xxx datafilename idlfile argspro CALLERWIDID CallerWidId REDRAW redraw SEPARATE separate UVALUE uvalue RESTORE restore _EXTRA ex compile_opt idl2 strictarrsubs all_cm reinitialize the p x y z variables reinitplt we get back the uvalue of the widget that called xxx to create a new widget if keyword_set restore then BEGIN restore isafile filename restore iodir homedir _extra ex if size restore type NE 7 then restore 0 ELSE BEGIN restore isafile file restore iodir homedir _extra ex newgrid extractatt uvalue meshparameters 0 change changegrid newgrid ENDELSE endif if n_elements CallerWidId NE 0 THEN widget_control CallerWidId get_uvalue uvalue ELSE CallerWidId 0 list of files we want to look at if keyword_set uvalue then BEGIN currentfile extractatt uvalue currentfile filelist extractatt uvalue filelist fileparameters extractatt uvalue fileparameters readparameters extractatt uvalue readparameters meshparameters extractatt uvalue meshparameters ENDIF ELSE BEGIN newfile selectfile datafilename idlfile argspro _extra ex if size newfile type NE 8 then return fileparameters ptrarr 1 allocate_heap fileparameters 0 newfile fileparameters readparameters ptrarr 1 allocate_heap readparameters 0 newfile readparameters meshparameters ptrarr 1 allocate_heap meshparameters 0 newfile meshparameters currentfile 0 filelist newfile fileparameters filename ENDELSE if keyword_set uvalue THEN BEGIN smallin extractatt uvalue smallin smallout extractatt uvalue smallout ENDIF ELSE BEGIN smallin 1 1 1 smallout 1 1 1 ENDELSE nbredessin smallin 0 smallin 1 numdessinin smallin 2 1 warning flg definition must be consistent with cw_pdmenu argument see also flag definition in cw_pagelayout if keyword_set uvalue then BEGIN flag extractatt uvalue optionsflag key_portrait flag 0 numdessinin ENDIF ELSE flag key_portrait 0 0 0 0 replicate 1 nbredessin We start the widget definition widget and screen size scrsize get_screen_size 0 95 windsize givewindowsize xxxsize windsize 0 1 keyword_set separate 350 windsize 1 The top base IF xxxsize 0 LE scrsize 0 AND xxxsize 1 LE scrsize 1 THEN BEGIN base widget_base title xxx GROUP_LEADER group tracking_events uname base space 0 ENDIF ELSE BEGIN base widget_base title xxx GROUP_LEADER group tracking_events uname base space 0 xsize xxxsize 0 ysize xxxsize 1 x_scroll_size xxxsize 0 selectact ENDIF ELSE selectfile 0 menu options xoff xoff 110 if keyword_set uvalue then begin options extractatt uvalue options ENDIF ELSE options Portrait Landscape Overlay Vecteur Longitude x index Latitude y index desc 1 File 0 Open 0 New xxx 2 Quit 1 Save as 0 PostScript 0 Animated gif 0 Gif 0 IDL procedure 0 RESTORE kwd of xxx 2 Print to prompt 1 Flag options descsuite options if n_elements descsuite GE 2 then descsuite 0:n_elements descsuite 2 0 descsuite 0:n_elements descsuite 2 descsuite n_elements descsuite 1 2 descsuite n_elements descsuite 1 desc desc descsuite menu cw_pdmenu base desc RETURN_NAME uname menubar uvalue name: menubar xoffset xoff yoffset yoff Ok button yoff yoff 37 xoff 5 boutton OK baseok widget_button base value OK uvalue name: ok uname ok button frame xoffset xoff yoffset yoff Page Layout page layout xoff xoff 65 dummyid cw_pagelayout base smallin row frame xoffset xoff yoffset yoff List of Variables xoff xoff 140 currentlistvar fileparameters currentfile listvar vlstid widget_combobox base value currentlistvar uvalue name: varlist uname varlist xoffset xoff yoffset yoff 1 if keyword_set uvalue then BEGIN selectvar extractatt uvalue varinfo 1 numdessinin selectvar where currentlistvar EQ selectvar 0 widget_control vlstid set_combobox_select 0 selectvar ENDIF ELSE selectvar 0 List of files yoff yoff 35 flstid widget_combobox base value file_basename filelist uname filelist xsize 345 yoffset yoff uvalue name: filelist if keyword_set uvalue then BEGIN selectfile extractatt uvalue varinfo 0 numdessinin selectfile where file_basename filelist EQ selectfile 0 widget_control flstid set_combobox_select 0 selectfile ENDIF ELSE selectfile 0 Text for computation yoff yoff 32 computation done on the files if keyword_set uvalue then txtvalue extractatt uvalue txtcmd numdessinin ELSE txtvalue varexp dummyid widget_text base value txtvalue uvalue name: txtcmd uname txtcmd editable yoffset yoff xsize 54 frame Calendar yoff yoff 40 currentcalendar fileparameters currentfile time_counter key_caltype fileparameters currentfile caltype fakecal fileparameters currentfile fakecal if keyword_set uvalue then begin dates extractatt uvalue dates numdessinin date1 date2jul dates 0 date2 date2jul dates 1 ENDIF basecalid widget_base base column 2 space 0 yoffset yoff uname basecal dummyid cw_calendar basecalid currentcalendar date1 FAKECAL fakecal uname calendar1 uvalue name: calendar1 frame dummyid cw_calendar basecalid currentcalendar date2 FAKECAL fakecal uname calendar2 uvalue name: calendar2 frame Domain yoff yoff 60 vargrid strupcase fileparameters currentfile listgrid selectvar IF vargrid EQ W then zgrid W ELSE zgrid T if keyword_set uvalue then boxzoom extractatt uvalue domaines numdessinin dummyid cw_domain base uname domain uvalue name: domain unzoom frame boxzoom boxzoom yoffset yoff xoffset 15 Plots specifications yoff yoff 230 speid cw_specifie base uname specifie uvalue name: specifie frame column forxxx yoffset yoff if keyword_set uvalue then BEGIN exextra extractatt uvalue exextra numdessinin IF n_elements exextra NE 0 THEN widget_control speid set_value exextra ENDIF drawing part if keyword_set separate then basegraph widget_base title xxx window group_leader base uvalue base ELSE basegraph base graphid widget_draw basegraph uname graph button_events retain 2 uvalue name: graph press:0 click:0 x: 0 0 y: 0 0 xoffset 350 1 keyword_set separate xsize windsize 0 ysize windsize 1 tooltip toto realize the widget widget_control base realize if keyword_set separate then begin widget_control basegraph realize xmanager xxx basegraph no_block endif if keyword_set uvalue then BEGIN We recopy the pointer uvalue in top_uvalue Beware we have to redefine completely top_value from variables pointed by uvalue Otherwise if we simply do top_value uvalue when we delete by uvalue and variables on which it point we also delete variables on which point top_value case 1 of keyword_set redraw :BEGIN top_uvalue uvalue widget_control base set_uvalue top_uvalue we find homedir homedir isadirectory io homedir title Bad definition of homedir We recuperae the list of instructions globalcommand extractatt top_uvalue globalcommand We complete by first and last lines of the program createpro globalcommand filename myuniquetmpdir xxx2ps pro KWDLIST NOERASE noerase POSTSCRIPT postscript PORTRAIT portrait LANDSCAPE landscape noerase END keyword_set restore :begin top_uvalue uvalue widget_control base set_uvalue top_uvalue widget_control graphid get_value win wshow win wset win tv image true widgets s state updatewidget base END ELSE:BEGIN top_uvalue ptrarr 2 29 allocate_heap FOR i 0 28 do top_uvalue 0 i uvalue 0 i FOR i 0 14 do top_uvalue 1 i uvalue 1 i FOR i 18 27 do top_uvalue 1 i uvalue 1 i numfile n_elements extractatt uvalue filelist top_uvalue 1 15 ptrarr numfile allocate_heap top_uvalue 1 16 ptrarr numfile allocate_heap top_uvalue 1 17 ptrarr numfile allocate_heap for i 0 numfile 1 do begin top_uvalue 1 15 i uvalue 1 15 i top_uvalue 1 16 i uvalue 1 16 i top_uvalue 1 17 i uvalue 1 17 i endfor top_uvalue 1 28 ptrarr nbredessin allocate_heap for i 0 nbredessin 1 do top_uvalue 1 28 i uvalue 1 28 i widget_control base set_uvalue top_uvalue Copy the screen of the widget of uvalue in top_value s one if keyword_set CallerWidId then begin widget_control extractatt uvalue graphid get_value win wshow win wset win image tvrd true widget_control graphid get_value win wshow win wset win tv image true ENDIF END endcase top_uvalue 1 findline top_uvalue graphid graphid ENDIF ELSE BEGIN Otherwise we will define all elements we will hook at the widget thanks to the top_value which is a pointer array with 2 columns: names and variables We initialize all these elements Variables concerning the widget in its generality if NOT keyword_set ex then ex nothing:0 variables se rapportant aux differents fichiers que l on peut lire variables specifiques a chaque dessin creation of the pointer we will hook at the widget top_uvalue ptrarr 2 29 allocate_heap variables refering to the widget top_uvalue 0 0 options top_uvalue 1 0 options top_uvalue 0 1 smallin top_uvalue 1 1 smallin top_uvalue 0 2 smallout top_uvalue 1 2 smallout top_uvalue 0 3 graphid top_uvalue 1 3 graphid top_uvalue 0 4 alreadyvector top_uvalue 1 4 1 top_uvalue 0 5 alreadyover top_uvalue 1 5 1 top_uvalue 0 6 alreadyread top_uvalue 1 6 1 top_uvalue 0 7 currentreadcmd top_uvalue 1 7 top_uvalue 0 8 globalcommand top_uvalue 1 8 top_uvalue 0 9 globaloldcommand top_uvalue 1 9 top_uvalue 0 10 no more used top_uvalue 1 10 9999 top_uvalue 0 11 noticebase top_uvalue 1 11 0l top_uvalue 0 12 extra top_uvalue 1 12 ex variables refering to different files we can read top_uvalue 0 13 currentfile top_uvalue 1 13 currentfile top_uvalue 0 14 filelist top_uvalue 1 14 filelist top_uvalue 0 15 fileparameters top_uvalue 1 15 fileparameters top_uvalue 0 16 readparameters top_uvalue 1 16 readparameters top_uvalue 0 17 meshparameters top_uvalue 1 17 meshparameters variables refering to different drawing we can do top_uvalue 0 18 penvs top_uvalue 1 18 replicate p nbredessin top_uvalue 0 19 xenvs top_uvalue 1 19 replicate x nbredessin top_uvalue 0 20 yenvs top_uvalue 1 20 replicate y nbredessin top_uvalue 0 21 nameprocedures top_uvalue 1 21 strarr nbredessin top_uvalue 0 22 types top_uvalue 1 22 strarr nbredessin top_uvalue 0 23 varinfo top_uvalue 1 23 strarr 2 nbredessin top_uvalue 0 24 domaines top_uvalue 1 24 fltarr 6 nbredessin top_uvalue 0 25 dates top_uvalue 1 25 lonarr 2 nbredessin top_uvalue 0 26 txtcmd top_uvalue 1 26 strarr nbredessin top_uvalue 0 27 optionsflag top_uvalue 1 27 flag top_uvalue 0 28 exextra top_uvalue 1 28 ptrarr nbredessin allocate_heap widget_control base set_uvalue top_uvalue createhistory base smallin ENDELSE xmanager xxx base no_block return end"); 377 377 a[375] = new Array("./Utilities/createfunc.html", "createfunc.pro", "", " file_comments write an IDL function compile it and execute it useful to avoid the use of execute param command in required a scalar string defining the result to be given back by the function see examples keyword FILENAMEIN in default for_createfunc pro name of the function to be created keyword KWDLIST in a vector string to specify a list of keywords that must be included in the function definition Warning: the string must start with a for example: KWDLIST TOTO toto keyword _EXTRA used to pass your keywords to the created function restrictions arguments can be given only through keywords ends the function name with pro if needed examples IDL print createfunc 3 2 filename test IDL print createfunc 3 two filename test IDL kwdlist two two two 2 history Sebastien Masson smasson lodyc jussieu fr May 2005 version Id: createfunc pro 136 2006 07 10 15:20:19Z pinsard FUNCTION createfunc command FILENAMEIN filenamein KWDLIST kwdlist _EXTRA ex compile_opt idl2 hidden strictarrsubs IF n_elements command NE 1 THEN stop define filename if needed if NOT keyword_set filenamein then filename for_createfunc pro ELSE filename filenamein get the name of the function not the name of the file containing the function shortfilename file_basename filename pro check if the directory exists dirname isadirectory file_dirname filename title Redefine shortfilename pro directory IF size dirname type NE 7 THEN return 1 filename dirname shortfilename pro create the file if NOT keyword_set kwdlist then kwdlist kwdlist kwdlist _EXTRA ex IF strmid kwdlist 0 1 NE THEN kwdlist kwdlist putfile filename function shortfilename kwdlist compile_opt idl2 hidden strictarrsubs res command return res end go in dirname directory cd dirname current old_dir compile it resolve_routine shortfilename is_function cd old_dir execute it res call_function shortfilename _EXTRA ex return res end"); 378 378 a[376] = new Array("./Utilities/createpro.html", "createpro.pro", "", " file_comments write an idl procedure compile it and execute it param command in required type string array a string array defining the procedure to be created each element will be a line of the created procedure keyword FILENAMEIN in default for_createpro pro name of the procedure to be created keyword KWDLIST in a vector string to specify a list of keywords that must be included in the procedure definition Warning: the string must start with a for example: KWDLIST TOTO toto keyword KWDUSED obsolete please pass directly your keywords through _EXTRA keyword _EXTRA used to pass your keywords to the created procedure restrictions is not working with functions use createfunc instead arguments can be given only through keywords ends the procedure name with pro if needed examples IDL createpro print OK filename test IDL createpro if keyword_set ok then print OK else print No IDL filename test kwdlist ok ok IDL createpro if keyword_set ok then print OK else print No IDL filename test kwdlist ok ok ok history Sebastien Masson smasson lodyc jussieu fr cleaning new keywords: October 2005 Feb 2006: supress keyword kwdused and use call_procedure instead of execute version Id: createpro pro 163 2006 08 29 12:59:46Z navarro PRO createpro command FILENAMEIN filenamein KWDLIST kwdlist KWDUSED kwdused _EXTRA ex compile_opt idl2 hidden strictarrsubs IF keyword_set kwdused THEN BEGIN dummy report keyword KWDUSED has been suppressed please pass directly your keywords through _extra see examples in createpro header return ENDIF define filename if needed if NOT keyword_set filenamein then filename for_createpro pro ELSE filename filenamein get the name of the procedure not the name of the file containing the procedure shortfilename file_basename filename pro check if the directory exists dirname isadirectory file_dirname filename title Redefine shortfilename pro directory IF size dirname type NE 7 THEN return filename dirname shortfilename pro create the file if NOT keyword_set kwdlist then kwdlist kwdlist kwdlist _extra ex kwdlist strtrim kwdlist 2 IF strmid kwdlist 0 1 NE THEN kwdlist kwdlist for i 0 n_elements command 1 do print command i putfile filename pro shortfilename kwdlist compile_opt idl2 hidden strictarrsubs command return end go in dirname directory cd dirname current old_dir compile it resolve_routine shortfilename cd old_dir execute it call_procedure shortfilename _extra ex return end"); … … 385 385 a[383] = new Array("./Utilities/linearequation.html", "linearequation.pro", "", " file_comments Calculate a linear equation of the type ax by c 0 thanks to coordinates of 2 points comment: we can have a table with pairs of points categories Utilities param POINT1 in required This is the first point of the straight line s whose we want to calculate equation s param POINT2 in required This is the second point of the straight line s whose we want to calculate equation s There is 2 possibilities: 1 point is a complex or a table of complex where each element is the coordinates of the point 2 point is a table of real of dimension 2 number_of_straight_line For each row of the table we have coordinates of the point returns abc is a table of dimension 3 number_of_straight_line where for each line of the table we obtain the 3 parameters a b and c of the linear equation ax by c 0 examples IDL abc linearequation complex 1 2 3 4 IDL print abc 0 1 abc 1 2 abc 2 0 00000 history Sebastien Masson smasson lodyc jussieu fr 10 juin 2000 version Id: linearequation pro 163 2006 08 29 12:59:46Z navarro FUNCTION linearequation point1 point2 compile_opt idl2 strictarrsubs if size point1 type EQ 6 OR size point1 type EQ 9 then begin x1 float point1 y1 imaginary point1 ENDIF ELSE BEGIN x1 float reform point1 0 y1 float reform point1 1 ENDELSE if size point2 type EQ 6 OR size point2 type EQ 9 then begin x2 float point2 y2 imaginary point2 ENDIF ELSE BEGIN x2 float reform point2 0 y2 float reform point2 1 ENDELSE vertical where x1 EQ x2 novertical where x1 NE x2 abc fltarr 3 n_elements x1 IF novertical 0 NE 1 then BEGIN y mx p nele n_elements novertical m y2 novertical y1 novertical x2 novertical x1 novertical p x2 novertical y1 novertical y2 novertical x1 novertical x2 novertical x1 novertical abc novertical reform m 1 nele replicate 1 1 nele reform p 1 nele ENDIF IF vertical 0 NE 1 then BEGIN x ny p nele n_elements vertical n x2 vertical x1 vertical y2 vertical y1 vertical p y2 vertical x1 vertical x2 vertical y1 vertical y2 vertical y1 vertical abc vertical replicate 1 1 nele reform n 1 nele reform p 1 nele ENDIF return abc end"); 386 386 a[384] = new Array("./Utilities/lineintersection.html", "lineintersection.pro", "", " file_comments Calculate coordinates of the intersection between 2 straight lines or of a succession of 2 straight lines categories Utilities param ABC1 in required type 3d array is the first array of dimension 3 number_of_pairs_of_straight_lines whose each line contain the 3 parameters a b and c of the first linear equation of the type ax by c 0 param ABC2 in required type 3d array is second array of dimension 3 number_of_pairs_of_straight_lines whose each line contain the 3 parameters a b and c of the second linear equation of the type ax by c 0 keyword FLOAT To return the output as a array of real numbers instead of vectors of complex by default returns 2 possibilities: 1 by default: it is a vector of complex whose each element is the coordinates of the intersection point of a pair of straight lines 2 if FLOAT is activated it is a array of reels of dimension 2 number_of_pairs_of_straight_lines whose each row is the coordinates of the intersection point of a pair of straight line restrictions If the 2 straight line are parallel we return coordinates values f_nan values f_nan restrictions Beware of the precision of the machine which make that calculated coordinates may not exactly verify equations of the pair of straight lines examples IDL abc1 linearequation complex 1 2 3 4 IDL abc2 linearequation complex 1 2 8 15 IDL print lineintersection abc1 abc2 1 00000 2 00000 IDL print lineintersection abc1 abc2 float 1 00000 2 00000 history Sebastien Masson smasson lodyc jussieu fr 10 juin 2000 version Id: lineintersection pro 163 2006 08 29 12:59:46Z navarro FUNCTION lineintersection abc1 abc2 FLOAT float compile_opt idl2 strictarrsubs a1 float reform abc1 0 b1 float reform abc1 1 c1 float reform abc1 2 a2 float reform abc2 0 b2 float reform abc2 1 c2 float reform abc2 2 determinant a1 b2 a2 b1 nan where determinant EQ 0 if nan 0 NE 1 THEN determinant values f_nan x b1 c2 c1 b2 determinant y c1 a2 a1 c2 determinant if keyword_set float then begin npts n_elements x res reform x 1 npts over reform y 1 npts over ENDIF ELSE res complex x y return res end"); 387 a[385] = new Array("./Utilities/mergeonline_help.html", "mergeonline_help.pro", "", " file_comments Have one unique online help for IDL and SAXO categories Documentation uses mergeonline_help sh restrictions Works only with Unix type machine Needs at least version 6 2 history Sept 2006: Sebastien Masson smasson lodyc jussieu fr version Id: mergeonline_help pro 17 5 2006 09 13 12:54:31Z smasson PRO mergeonline_help compile_opt idl2 strictarrsubs Are we using a Unix machine IF d name NE X THEN return is the IDL version at least 6 2 IF float strmid version release 0 3 LT 6 2 THEN return get the environment variable HOME home getenv HOME is it defined IF home EQ THEN return is HOME a writable directory home file_search home test_directory test_write mark_directory 0 IF home EQ THEN return is HOME assistant a directory if not create it homeassist home assistant IF file_test homeassist directory EQ 0 THEN file_mkdir homeassist is HOME assistant a writable directory homeassist file_search homeassist test_directory test_write mark_directory 0 IF homeassist EQ THEN return is HOME assistant src a directory if not create it homesrc homeassist src IF file_test homesrc directory EQ 0 THEN file_mkdir homesrc is HOME assistant src a writable directory homesrc file_search homesrc test_directory test_write mark_directory 0 IF homesrc EQ THEN return do idl adp and home html already exists IF file_test homesrc home html AND file_test homesrc idl adp AND file_test homesrc aboutsaxo txt THEN BEGIN help_path homesrc return ENDIF create idl adp and home html homeidladp file_dirname isafile help_path idl adphomesaxoadp file_dirname find buildinit pro mark_directory Documentation idldoc_assistant_output spawn homesaxoadp xmldoc mergeonline_help sh homeidladp homesaxoadp homesrc version release sh exit_status err IF err EQ 0 THEN help_path homesrc RETURN END");387 a[385] = new Array("./Utilities/mergeonline_help.html", "mergeonline_help.pro", "", " file_comments Have one unique online help for IDL and SAXO categories Documentation uses mergeonline_help sh restrictions Works only with Unix type machine Needs at least version 6 2 history Sept 2006: Sebastien Masson smasson lodyc jussieu fr version Id: mergeonline_help pro 177 2006 09 13 15:50:54Z smasson PRO mergeonline_help compile_opt idl2 strictarrsubs Are we using a Unix machine IF d name NE X THEN return is the IDL version at least 6 2 IF float strmid version release 0 3 LT 6 2 THEN return get the environment variable HOME home getenv HOME is it defined IF home EQ THEN return is HOME a writable directory home file_search home test_directory test_write mark_directory 0 IF home EQ THEN return is HOME assistant a directory if not create it homeassist home assistant IF file_test homeassist directory EQ 0 THEN file_mkdir homeassist is HOME assistant a writable directory homeassist file_search homeassist test_directory test_write mark_directory 0 IF homeassist EQ THEN return is HOME assistant src a directory if not create it homesrc homeassist src IF file_test homesrc directory EQ 0 THEN file_mkdir homesrc is HOME assistant src a writable directory homesrc file_search homesrc test_directory test_write mark_directory 0 IF homesrc EQ THEN return do idl adp and home html already exists IF file_test homesrc home html AND file_test homesrc idl adp AND file_test homesrc aboutsaxo txt THEN BEGIN help_path homesrc return ENDIF create idl adp and home html homeidladp dir help online_help IF file_test homeidladp idl adp EQ 0 THEN BEGIN print Error when looking for the file homeidladp idl adp print Check the value or your environment variable IDL_DIR that defines dir return ENDIF homesaxoadp file_dirname find buildinit pro mark_directory Documentation idldoc_assistant_output spawn homesaxoadp xmldoc mergeonline_help sh homeidladp homesaxoadp homesrc version release sh exit_status err IF err EQ 0 THEN help_path homesrc RETURN END"); 388 388 a[386] = new Array("./Utilities/protype.html", "protype.pro", "", " file_comments test is a pro file corresponds to an IDL procedure function or batch file categories Utilities param FILE in A scalar of string type the name of the pro file to be tested if necessary the input name is completed with pro and its path found in path returns A scalar of string type: proc func or batch examples IDL print protype protype func IDL print protype protype pro func IDL print protype init batch IDL print protype plt proc history Sebastien Masson smasson lodyc jussieu fr Feb 2006 version Id: protype pro 163 2006 08 29 12:59:46Z navarro FUNCTION protype file compile_opt idl2 strictarrsubs filepro find file 0 onlypro firstfound 0 if filepro EQ NOT FOUND then return 1 name file_basename filepro pro allines getfile filepro CASE 1 OF this is a procedure max stregex allines pro name fold_case boolean :RETURN proc this is a function max stregex allines function name fold_case boolean :RETURN func this is an IDL batch file ELSE:RETURN batch ENDCASE RETURN 1 END"); 389 389 a[387] = new Array("./Utilities/pwd.html", "pwd.pro", "", " file_comments print the current directory categories like unix function history Sebastien Masson smasson lodyc jussieu fr version Id: pwd pro 136 2006 07 10 15:20:19Z pinsard PRO pwd compile_opt idl2 strictarrsubs cd current pwd print pwd return end"); -
trunk/SRC/Documentation/xmldoc/faqsaxo.html
r184 r187 37 37 </div> 38 38 <div><span class="pubdate">svn Id of xml source file : $Id: 39 faqsaxo.xml 18 3 2006-09-18 13:49:14Z pinsard $<br>39 faqsaxo.xml 186 2006-09-20 10:50:37Z pinsard $<br> 40 40 <br></span></div> 41 41 <div> … … 100 100 ?</a></dt> 101 101 <dt>4.2. <a href="#d0e208">Is there any trouble with IDLdoc 102 ?</a></dt> 103 <dt>4.3. <a href="#d0e272">How can I check spelling of xml files 104 ?</a></dt> 105 <dt>4.4. <a href="#d0e300">How can I see online help update 102 106 ?</a></dt> 103 107 </dl> … … 311 315 ?</a></dt> 312 316 <dt>4.2. <a href="#d0e208">Is there any trouble with IDLdoc 317 ?</a></dt> 318 <dt>4.3. <a href="#d0e272">How can I check spelling of xml files 319 ?</a></dt> 320 <dt>4.4. <a href="#d0e300">How can I see online help update 313 321 ?</a></dt> 314 322 </dl> … … 366 374 </li> 367 375 <li> 368 <p><span class="guimenu">Search</span> does 'nt handle characters376 <p><span class="guimenu">Search</span> doesn't handle characters 369 377 like <code class="literal">-</code> and <code class= 370 378 "literal">|</code>.</p> … … 387 395 </td> 388 396 </tr> 397 <tr class="question"> 398 <td align="left" valign="top"><a name="d0e272" id= 399 "d0e272"></a><a name="d0e273" id="d0e273"></a><b>4.3.</b></td> 400 <td align="left" valign="top"> 401 <p>How can I check spelling of xml files ?</p> 402 </td> 403 </tr> 404 <tr class="answer"> 405 <td align="left" valign="top"></td> 406 <td align="left" valign="top"> 407 <p>There is one way with command line :</p> 408 <pre class="screen"> 409 <code class="prompt">$</code> <strong class= 410 "userinput"><code><span><strong class= 411 "command">aspell</strong></span> <code class= 412 "option">--mode=sgml</code> <code class= 413 "option">-c</code> <em class="parameter"><code><code class= 414 "filename"><em class= 415 "replaceable"><code>xmlfile</code></em></code></code></em></code></strong> 416 417 </pre></td> 418 </tr> 419 <tr class="question"> 420 <td align="left" valign="top"><a name="d0e300" id= 421 "d0e300"></a><a name="d0e301" id="d0e301"></a><b>4.4.</b></td> 422 <td align="left" valign="top"> 423 <p>How can I see online help update ?</p> 424 </td> 425 </tr> 426 <tr class="answer"> 427 <td align="left" valign="top"></td> 428 <td align="left" valign="top"> 429 <p>You won't see online help update if you are working with the 430 official distribution because of <code class= 431 "varname">!HELP_PATH</code>. To override this problem, when you are 432 in <code class="filename"><em class= 433 "replaceable"><code>SAXO_basedirectory</code></em>/SAXO_DIR/SRC/Documentation/xmldoc/</code>, 434 you can call online help like this :</p> 435 <pre class="screen"> 436 <code class="prompt">IDL</code> <strong class= 437 "userinput"><code><span><strong class= 438 "command">ONLINE_HELP</strong></span>,<code class= 439 "option">book="../idldoc_assistant_output/idldoc-lib.adp"</code></code></strong> 440 441 </pre></td> 442 </tr> 389 443 </tbody> 390 444 </table> -
trunk/SRC/Documentation/xmldoc/savesaxo.sh
r186 r187 3 3 # update : 4 4 # $Id$ 5 # fplod 2006-09-20T11:05:23Z aedon.locean-ipsl.upmc.fr (Darwin) 6 # correction to really suppress date in idldoc assistant outputs (font 7 # instaed of div in html output) 5 8 # fplod 2006-09-18T13:25:12Z aedon.locean-ipsl.upmc.fr (Darwin) 6 9 # add status checking after makehtml.sh … … 341 344 # will be replaced by 342 345 # <!-- Generated by IDLdoc 2.0 --> 343 # < div id="tagline">Produced by IDLdoc 2.0 on Wed Jun 7 10:54:37 2006.</div346 # <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:10 2006.</font></p> 344 347 # will be replaced by 345 # < div id="tagline">Produced by IDLdoc 2.0</div>348 # <p><font color="gray" size="-3"> Produced by IDLdoc 2.0</font></p> 346 349 # <h2>Produced on Wed Jun 7 10:23:13 2006</h2> 347 350 # will be delete … … 365 368 sed \ 366 369 -e "s/\(Generated by IDLdoc 2.0\)\( on .*\)\( -->\)/\1\3/" \ 367 -e "s/\(Produced by IDLdoc 2.0\)\( on .*\)\(\.<\/ div>\)/\1\3/" \370 -e "s/\(Produced by IDLdoc 2.0\)\( on .*\)\(\.<\/font>\)/\1\3/" \ 368 371 -e "/<h2>Produced on/d" \ 369 372 -e "/Last modification:/d" \
Note: See TracChangeset
for help on using the changeset viewer.