- Timestamp:
- 06/12/06 16:49:30 (18 years ago)
- Location:
- trunk/SRC
- Files:
-
- 33 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SRC/Documentation/idldoc_html_output/Interpolation/compute_fromreg_imoms3_weigaddr.html
r104 r106 104 104 <div class="routine_details" id="_compute_fromreg_imoms3_weigaddr"> 105 105 106 <h2><a class="top" href="#container">top</a>compute_fromreg_imoms3_weigaddr <span class="categories"> interpolation</span></h2> 106 <h2><a class="top" href="#container">top</a>compute_fromreg_imoms3_weigaddr <span class="categories"> interpolation 107 </span></h2> 107 108 108 109 <p class="header"> 109 compute_fromreg_imoms3_weigaddr<span class="result">, <a href="#_compute_fromreg_imoms3_weigaddr_param_alonin">alonin</a>, <a href="#_compute_fromreg_imoms3_weigaddr_param_alatin">alatin</a>, <a href="#_compute_fromreg_imoms3_weigaddr_param_olonin">olonin</a>, <a href="#_compute_fromreg_imoms3_weigaddr_param_olat">olat</a>, <a href="#_compute_fromreg_imoms3_weigaddr_param_weig">weig</a>, <a href="#_compute_fromreg_imoms3_weigaddr_param_addr PRO compute_fromreg_imoms3_weigaddr">addr PRO compute_fromreg_imoms3_weigaddr</a>, <a href="#_compute_fromreg_imoms3_weigaddr_param_alonin">alonin</a>, <a href="#_compute_fromreg_imoms3_weigaddr_param_alatin">alatin</a>, <a href="#_compute_fromreg_imoms3_weigaddr_param_olonin">olonin</a>, <a href="#_compute_fromreg_imoms3_weigaddr_param_olat">olat</a>, <a href="#_compute_fromreg_imoms3_weigaddr_param_weig">weig</a>, <a href="#_compute_fromreg_imoms3_weigaddr_param_addr">addr</a></span>, <a href="#_compute_fromreg_imoms3_weigaddr_keyword_NONORTHERNLINE">NONORTHERNLINE</a>=<span class="result">NONORTHERNLINE</span>, <a href="#_compute_fromreg_imoms3_weigaddr_keyword_NOSOUTHERNLINE">NOSOUTHERNLINE</a>=<span class="result">NOSOUTHERNLINE</span></p>110 compute_fromreg_imoms3_weigaddr<span class="result">, <a href="#_compute_fromreg_imoms3_weigaddr_param_alonin">alonin</a>, <a href="#_compute_fromreg_imoms3_weigaddr_param_alatin">alatin</a>, <a href="#_compute_fromreg_imoms3_weigaddr_param_olonin">olonin</a>, <a href="#_compute_fromreg_imoms3_weigaddr_param_olat">olat</a>, <a href="#_compute_fromreg_imoms3_weigaddr_param_weig">weig</a>, <a href="#_compute_fromreg_imoms3_weigaddr_param_addr">addr</a></span>, <a href="#_compute_fromreg_imoms3_weigaddr_keyword_NONORTHERNLINE">NONORTHERNLINE</a>=<span class="result">NONORTHERNLINE</span>, <a href="#_compute_fromreg_imoms3_weigaddr_keyword_NOSOUTHERNLINE">NOSOUTHERNLINE</a>=<span class="result">NOSOUTHERNLINE</span></p> 110 111 111 112 <div class="comments"> 112 113 </div> 113 114 114 115 <h3>Return value</h3><div class="value"> 116 weig, addr: 2D arrays, weig and addr are the weight and addresses used to 117 perform the interpolation: 118 dataout = total(weig*datain[addr], 1) 119 dataout = reform(dataout, jpio, jpjo, /over) 120 </div> 115 121 116 122 … … 119 125 120 126 <h4 id="_compute_fromreg_imoms3_weigaddr_param_alonin">alonin 127 <span class="attr">in</span> 128 129 130 <span class="attr">required</span> 131 132 133 134 135 </h4> 136 137 <div class="comments"> longitude of the input data </div> 138 139 <h4 id="_compute_fromreg_imoms3_weigaddr_param_alatin">alatin 140 <span class="attr">in</span> 141 142 143 <span class="attr">required</span> 144 145 146 147 148 </h4> 149 150 <div class="comments"> latitude of the input data </div> 151 152 <h4 id="_compute_fromreg_imoms3_weigaddr_param_olonin">olonin 153 <span class="attr">in</span> 154 155 156 <span class="attr">required</span> 157 158 159 160 161 </h4> 162 163 <div class="comments"> longitude of the output data </div> 164 165 <h4 id="_compute_fromreg_imoms3_weigaddr_param_olat">olat 166 <span class="attr">in</span> 167 168 169 <span class="attr">required</span> 170 171 172 173 174 </h4> 175 176 <div class="comments"> latitude of the output data 177 </div> 178 179 <h4 id="_compute_fromreg_imoms3_weigaddr_param_weig">weig 121 180 122 181 … … 131 190 <div class="comments"></div> 132 191 133 <h4 id="_compute_fromreg_imoms3_weigaddr_param_a latin">alatin 192 <h4 id="_compute_fromreg_imoms3_weigaddr_param_addr">addr 134 193 135 194 … … 144 203 <div class="comments"></div> 145 204 146 <h4 id="_compute_fromreg_imoms3_weigaddr_param_olonin">olonin 147 148 149 150 151 152 153 154 155 </h4>156 157 <div class="comments"></div>158 159 <h4 id="_compute_fromreg_imoms3_weigaddr_param_olat">olat 160 161 162 163 164 165 166 167 168 </h4>169 170 <div class="comments"></div>171 172 <h4 id="_compute_fromreg_imoms3_weigaddr_param_weig">weig 173 174 175 176 177 178 179 180 181 </h4>182 183 <div class="comments"></div>184 185 <h4 id="_compute_fromreg_imoms3_weigaddr_param_addr PRO compute_fromreg_imoms3_weigaddr">addr PRO compute_fromreg_imoms3_weigaddr 186 187 188 189 190 191 192 193 194 </h4>195 196 <div class="comments"></div>197 198 <h4 id="_compute_fromreg_imoms3_weigaddr_param_alonin">alonin 199 200 201 202 203 204 205 206 207 </h4>208 209 <div class="comments"></div>210 211 <h4 id="_compute_fromreg_imoms3_weigaddr_param_alatin">alatin 212 213 214 215 216 217 218 219 220 </h4>221 222 <div class="comments"></div>223 224 <h4 id="_compute_fromreg_imoms3_weigaddr_param_olonin">olonin 225 226 227 228 229 230 231 232 233 </h4>234 235 <div class="comments"></div>236 237 <h4 id="_compute_fromreg_imoms3_weigaddr_param_olat">olat 238 239 240 241 242 243 244 245 246 </h4>247 248 <div class="comments"></div>249 250 <h4 id="_compute_fromreg_imoms3_weigaddr_param_weig">weig 251 252 253 254 255 256 257 258 259 </h4>260 261 <div class="comments"></div>262 263 <h4 id="_compute_fromreg_imoms3_weigaddr_param_addr">addr 264 265 266 267 268 269 270 271 272 </h4>273 274 <div class="comments"></div>275 276 205 277 206 … … 292 221 </h4> 293 222 223 <div class="comments"> and /NOSOUTHERNLINE activate if you don't whant to take into 224 account the northen/southern line of the input data when perfoming the 225 interpolation. 226 </div> 227 228 <h4 id="_compute_fromreg_imoms3_weigaddr_keyword_NOSOUTHERNLINE">NOSOUTHERNLINE 229 230 231 232 233 234 235 236 237 </h4> 238 294 239 <div class="comments"></div> 295 240 296 <h4 id="_compute_fromreg_imoms3_weigaddr_keyword_NOSOUTHERNLINE">NOSOUTHERNLINE 297 298 299 300 301 302 303 304 305 </h4>306 307 <div class="comments"></div>308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 241 242 243 244 <h3>Version history</h3> 245 246 247 <h4>History</h4><div class="value"> 248 November 2005: Sebastien Masson (smasson@lodyc.jussieu.fr) 249 March 2006: works for rectangular grids</div> 250 251 252 <h3>Known issues</h3> 253 254 255 256 <h4>Restrictions</h4><div class="value"> 257 - the input grid must be a "regular/rectangular grid", defined as a grid for 258 which each lontitudes lines have the same latitude and each latitudes columns 259 have the same longitude. 260 - We supposed the data are located on a sphere, with a periodicity along 261 the longitude. 262 - points located between the first/last 2 lines are interpolated 263 using a imoms3 interpolation along the longitudinal direction and linear 264 interpolation along the latitudinal direction 265 - points located out of the southern and northern boundaries are interpolated 266 using a imoms3 interpolation only along the longitudinal direction. 267 </div> 323 268 324 269 -
trunk/SRC/Documentation/idldoc_html_output/Interpolation/square2quadrilateral.html
r104 r106 72 72 <div id="secondary_navbar"> 73 73 74 <a href="spl_keep_mean.html"><<prev file</a> | <a href="testinterp.html">next file >></a> <a href="square2quadrilateral.html" target="_TOP">view single page</a> | <a href="./../index.html?format=raw" target="_TOP">view frames</a> summary: fields | <a href="#routine_summary">routine</a> details: <a href="#routine_details">routine</a>74 <a href="spl_keep_mean.html"><<prev file</a> | <a href="testinterp.html">next file >></a> <a href="square2quadrilateral.html" target="_TOP">view single page</a> | <a href="./../index.html?format=raw" target="_TOP">view frames</a> summary: fields | routine details: <a href="#routine_details">routine</a> 75 75 76 76 </div> … … 105 105 106 106 107 <div id="routine_summary">108 <h2>Routine summary</h2>109 110 <dl>111 112 <dt><p><a href="#_square2quadrilateral"><span class="result">result = </span>square2quadrilateral(<span class="result">x0in, y0in, x1in, y1in, x2in, y2in, x3in, y3in, xxin, yyin</span>)</a></p><dt>113 <dd> </dd>114 115 <dt><p><a href="#_square2quadrilateral"><span class="result">result = </span>square2quadrilateral(<span class="result">x0in, y0in, x1in, y1in, x2in, y2in, x3in, y3in, xxin, yyin</span>)</a></p><dt>116 <dd></dd>117 118 </dl>119 </div>120 121 107 122 108 <div id="routine_details"> … … 134 120 </div> 135 121 136 122 <h3>Return value</h3><div class="value"> 123 124 (2,n) array: the new coodinates (xout, yout) of the (xin,yin) 125 point(s) after mapping. 126 If xin is a scalar, then n is equal to the number of elements of 127 x0. If xin is an array , then n is equal to the number of 128 elements of xin. 129 If xin and yin are omited, square2quadrilateral returns the 130 matrix A which is used for the inverse transformation. 131 132 </div> 137 133 138 134 … … 141 137 142 138 <h4 id="_square2quadrilateral_param_x0in">x0in 143 144 145 146 147 148 149 150 151 </h4> 152 153 <div class="comments"></div> 139 <span class="attr">in</span> 140 141 142 <span class="attr">required</span> 143 144 145 146 147 </h4> 148 149 <div class="comments"> the coordinates of the quadrilateral 150 (see above for correspondance with the unit square). Can be 151 scalar or array. (x0,y0), (x1,y1), (x2,y2) and (x3,y3) are 152 given in the anticlockwise order.</div> 154 153 155 154 <h4 id="_square2quadrilateral_param_y0in">y0in 156 157 158 159 160 161 162 163 164 </h4> 165 166 <div class="comments"></div> 155 <span class="attr">in</span> 156 157 158 <span class="attr">required</span> 159 160 161 162 163 </h4> 164 165 <div class="comments"> the coordinates of the quadrilateral 166 (see above for correspondance with the unit square). Can be 167 scalar or array. (x0,y0), (x1,y1), (x2,y2) and (x3,y3) are 168 given in the anticlockwise order.</div> 167 169 168 170 <h4 id="_square2quadrilateral_param_x1in">x1in 169 170 171 172 173 174 175 176 177 </h4> 178 179 <div class="comments"></div> 171 <span class="attr">in</span> 172 173 174 <span class="attr">required</span> 175 176 177 178 179 </h4> 180 181 <div class="comments"> the coordinates of the quadrilateral 182 (see above for correspondance with the unit square). Can be 183 scalar or array. (x0,y0), (x1,y1), (x2,y2) and (x3,y3) are 184 given in the anticlockwise order.</div> 180 185 181 186 <h4 id="_square2quadrilateral_param_y1in">y1in 182 183 184 185 186 187 188 189 190 </h4> 191 192 <div class="comments"></div> 187 <span class="attr">in</span> 188 189 190 <span class="attr">required</span> 191 192 193 194 195 </h4> 196 197 <div class="comments"> the coordinates of the quadrilateral 198 (see above for correspondance with the unit square). Can be 199 scalar or array. (x0,y0), (x1,y1), (x2,y2) and (x3,y3) are 200 given in the anticlockwise order.</div> 193 201 194 202 <h4 id="_square2quadrilateral_param_x2in">x2in 195 196 197 198 199 200 201 202 203 </h4> 204 205 <div class="comments"></div> 203 <span class="attr">in</span> 204 205 206 <span class="attr">required</span> 207 208 209 210 211 </h4> 212 213 <div class="comments"> the coordinates of the quadrilateral 214 (see above for correspondance with the unit square). Can be 215 scalar or array. (x0,y0), (x1,y1), (x2,y2) and (x3,y3) are 216 given in the anticlockwise order.</div> 206 217 207 218 <h4 id="_square2quadrilateral_param_y2in">y2in 208 209 210 211 212 213 214 215 216 </h4> 217 218 <div class="comments"></div> 219 <span class="attr">in</span> 220 221 222 <span class="attr">required</span> 223 224 225 226 227 </h4> 228 229 <div class="comments"> the coordinates of the quadrilateral 230 (see above for correspondance with the unit square). Can be 231 scalar or array. (x0,y0), (x1,y1), (x2,y2) and (x3,y3) are 232 given in the anticlockwise order.</div> 219 233 220 234 <h4 id="_square2quadrilateral_param_x3in">x3in 221 222 223 224 225 226 227 228 229 </h4> 230 231 <div class="comments"></div> 235 <span class="attr">in</span> 236 237 238 <span class="attr">required</span> 239 240 241 242 243 </h4> 244 245 <div class="comments"> the coordinates of the quadrilateral 246 (see above for correspondance with the unit square). Can be 247 scalar or array. (x0,y0), (x1,y1), (x2,y2) and (x3,y3) are 248 given in the anticlockwise order.</div> 232 249 233 250 <h4 id="_square2quadrilateral_param_y3in">y3in 234 235 236 237 238 239 240 241 242 </h4> 243 244 <div class="comments"></div> 251 <span class="attr">in</span> 252 253 254 <span class="attr">required</span> 255 256 257 258 259 </h4> 260 261 <div class="comments"> the coordinates of the quadrilateral 262 (see above for correspondance with the unit square). Can be 263 scalar or array. (x0,y0), (x1,y1), (x2,y2) and (x3,y3) are 264 given in the anticlockwise order. 265 </div> 245 266 246 267 <h4 id="_square2quadrilateral_param_xxin">xxin 247 248 249 250 251 252 253 254 255 </h4> 256 257 <div class="comments"></div> 268 <span class="attr">in</span> 269 270 271 <span class="attr">required</span> 272 273 274 275 276 </h4> 277 278 <div class="comments"> the coordinates of the point(s) for which we want to do the 279 mapping. Can be scalar or array.</div> 258 280 259 281 <h4 id="_square2quadrilateral_param_yyin">yyin 260 261 262 263 264 265 266 267 268 </h4> 269 270 <div class="comments"></div> 282 <span class="attr">in</span> 283 284 285 <span class="attr">required</span> 286 287 288 289 290 </h4> 291 292 <div class="comments"> the coordinates of the point(s) for which we want to do the 293 mapping. Can be scalar or array. 294 </div> 271 295 272 296 … … 276 300 277 301 <h3>Examples</h3><div class="value"> 278 279 res = square2quadrilateral(x0,y0,x1,y1,x2,y2,x3,y3[,xin,yin]) 280 </div> 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 </div> 304 305 306 <div class="routine_details" id="_square2quadrilateral"> 307 308 <h2><a class="top" href="#container">top</a>square2quadrilateral </h2> 309 310 <p class="header"> 311 <span class="result">result = </span>square2quadrilateral(<span class="result"><a href="#_square2quadrilateral_param_x0in">x0in</a>, <a href="#_square2quadrilateral_param_y0in">y0in</a>, <a href="#_square2quadrilateral_param_x1in">x1in</a>, <a href="#_square2quadrilateral_param_y1in">y1in</a>, <a href="#_square2quadrilateral_param_x2in">x2in</a>, <a href="#_square2quadrilateral_param_y2in">y2in</a>, <a href="#_square2quadrilateral_param_x3in">x3in</a>, <a href="#_square2quadrilateral_param_y3in">y3in</a>, <a href="#_square2quadrilateral_param_xxin">xxin</a>, <a href="#_square2quadrilateral_param_yyin">yyin</a></span>)</p> 312 313 <div class="comments"></div> 314 315 316 317 318 <h3>Parameters</h3> 319 320 321 <h4 id="_square2quadrilateral_param_x0in">x0in 322 323 324 325 326 327 328 329 330 </h4> 331 332 <div class="comments"></div> 333 334 <h4 id="_square2quadrilateral_param_y0in">y0in 335 336 337 338 339 340 341 342 343 </h4> 344 345 <div class="comments"></div> 346 347 <h4 id="_square2quadrilateral_param_x1in">x1in 348 349 350 351 352 353 354 355 356 </h4> 357 358 <div class="comments"></div> 359 360 <h4 id="_square2quadrilateral_param_y1in">y1in 361 362 363 364 365 366 367 368 369 </h4> 370 371 <div class="comments"></div> 372 373 <h4 id="_square2quadrilateral_param_x2in">x2in 374 375 376 377 378 379 380 381 382 </h4> 383 384 <div class="comments"></div> 385 386 <h4 id="_square2quadrilateral_param_y2in">y2in 387 388 389 390 391 392 393 394 395 </h4> 396 397 <div class="comments"></div> 398 399 <h4 id="_square2quadrilateral_param_x3in">x3in 400 401 402 403 404 405 406 407 408 </h4> 409 410 <div class="comments"></div> 411 412 <h4 id="_square2quadrilateral_param_y3in">y3in 413 414 415 416 417 418 419 420 421 </h4> 422 423 <div class="comments"></div> 424 425 <h4 id="_square2quadrilateral_param_xxin">xxin 426 427 428 429 430 431 432 433 434 </h4> 435 436 <div class="comments"></div> 437 438 <h4 id="_square2quadrilateral_param_yyin">yyin 439 440 441 442 443 444 445 446 447 </h4> 448 449 <div class="comments"></div> 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 302 IDL> res = square2quadrilateral(x0,y0,x1,y1,x2,y2,x3,y3[,xin,yin]) 303 304 305 306 IDL> splot,[0,5],[0,3],/nodata,xstyle=1,ystyle=1 307 IDL> tracegrille, findgen(11)*.1, findgen(11)*.1,color=indgen(12)*20 308 IDL> xin = (findgen(11)*.1)#replicate(1, 11) 309 IDL> yin = replicate(1, 11)#(findgen(11)*.1) 310 IDL> out = square2quadrilateral(2,1,3,0,5,1,2,3, xin, yin) 311 IDL> tracegrille, reform(out[0,*],11,11), reform(out[1,*],11,11),color=indgen(12)*20 312 </div> 313 <h3>Version history</h3> 314 315 316 <h4>History</h4><div class="value"> 317 Sebastien Masson (smasson@lodyc.jussieu.fr) 318 August 2003 319 Based on "Digital Image Warping" by G. Wolberg 320 IEEE Computer Society Press, Los Alamitos, California 321 Chapter 3, see p 52-56 322 </div> 323 324 325 <h3>Known issues</h3> 326 327 328 329 <h4>Restrictions</h4><div class="value"> I think degenerated quadrilateral (e.g. flat of 330 twisted) is not work. This has to be tested. 331 </div> 468 332 469 333 -
trunk/SRC/Documentation/idldoc_html_output/ReadWrite/directory-overview.html
r104 r106 90 90 91 91 <dt><a href="ncdf_timeget.html?format=raw">ncdf_timeget.pro</a></dt> 92 <dd> </dd>92 <dd> get the time axis fom a netcdf_file and transforms it in julian days of IDL.</dd> 93 93 94 94 <dt><a href="read_grads.html?format=raw">read_grads.pro</a></dt> 95 <dd> </dd>95 <dd> reading grads file (except "data type station" or "grib") from the grads control file even if there is multiple data files.</dd> 96 96 97 97 <dt><a href="read_oasis.html?format=raw">read_oasis.pro</a></dt> 98 <dd> </dd>98 <dd> read the f77 unformated files used in Oasis (version < 2.</dd> 99 99 100 100 <dt><a href="readbat.html?format=raw">readbat.pro</a></dt> 101 <dd> </dd>101 <dd> reading the bathymetry ASCII file of OPA </dd> 102 102 103 103 <dt><a href="readoldopadistcoast.html?format=raw">readoldopadistcoast.pro</a></dt> 104 <dd> </dd>104 <dd> read the old binary direct access file that contains the distance to the coast in OPA.</dd> 105 105 106 106 <dt><a href="readoldoparestart.html?format=raw">readoldoparestart.pro</a></dt> 107 <dd> </dd>107 <dd> read the old restart files of OPA (before NetCDF) based on the OPA subroutine dtrlec included at the end of the file.</dd> 108 108 109 109 <dt><a href="scanctl.html?format=raw">scanctl.pro</a></dt> 110 <dd> </dd>110 <dd> GLAMBOUNDARY 2 elements vector, {lon1,lon2], the longitute boundaries that should be used to visualize the data.</dd> 111 111 112 112 <dt><a href="scanoasis.html?format=raw">scanoasis.pro</a></dt> 113 <dd> </dd>113 <dd> scan an Oasis file (version < 2.</dd> 114 114 115 115 <dt><a href="write_oasis.html?format=raw">write_oasis.pro</a></dt> 116 <dd> </dd>116 <dd> write an Oasis file (version < 2.</dd> 117 117 118 118 <dt><a href="writebat.html?format=raw">writebat.pro</a></dt> 119 <dd> </dd>119 <dd> write the bathymetry ASCII file of OPA </dd> 120 120 121 121 </dl> -
trunk/SRC/Documentation/idldoc_html_output/ReadWrite/ncdf_timeget.html
r104 r106 87 87 </div> 88 88 89 <div id="file_comments"></div> 89 <div id="file_comments"> get the time axis fom a netcdf_file and transforms it in 90 julian days of IDL. 91 92 the keyword parameters of ncdf_varget 93 </div> 90 94 91 95 … … 102 106 <div class="routine_details" id="_ncdf_timeget"> 103 107 104 <h2><a class="top" href="#container">top</a>ncdf_timeget </h2> 108 <h2><a class="top" href="#container">top</a>ncdf_timeget <span class="categories"> reading ncdf_file 109 </span></h2> 105 110 106 111 <p class="header"> 107 112 <span class="result">result = </span>ncdf_timeget(<span class="result"><a href="#_ncdf_timeget_param_cdfid">cdfid</a>, <a href="#_ncdf_timeget_param_timeid">timeid</a></span>, <a href="#_ncdf_timeget_keyword_YYYYMMDD">YYYYMMDD</a>=<span class="result">YYYYMMDD</span>, <a href="#_ncdf_timeget_keyword__extra">_extra</a>=<span class="result">_extra</span>)</p> 108 113 109 <div class="comments"> 110 NAME: ncdf_timeget 111 112 PURPOSE: get the time axis fom a netcdf_file and transforms it in 113 julian days of IDL. 114 115 CATEGORY: reading ncdf_file 116 117 CALLING SEQUENCE: time = ncdf_timeget(cdfid, timeid) 118 119 INPUTS:cdfid: the ID of the ncdf_file, which is already open 120 timeid: the ID or the name of the variable which describe the calendar 121 122 KEYWORD PARAMETERS: 123 /YYYYMMDD: active to obtain the date as a longinterger with 114 <div class="comments"></div> 115 116 <h3>Return value</h3><div class="value"> a long array of IDL julian days 117 </div> 118 119 120 <h3>Parameters</h3> 121 122 123 <h4 id="_ncdf_timeget_param_cdfid">cdfid 124 <span class="attr">in</span> 125 126 127 <span class="attr">required</span> 128 129 130 131 132 </h4> 133 134 <div class="comments"> the ID of the ncdf_file, which is already open</div> 135 136 <h4 id="_ncdf_timeget_param_timeid">timeid 137 <span class="attr">in</span> 138 139 140 <span class="attr">required</span> 141 142 143 144 145 </h4> 146 147 <div class="comments"> the ID or the name of the variable which describe the calendar 148 </div> 149 150 151 152 153 154 155 <h3>Keywords</h3> 156 157 <h4 id="_ncdf_timeget_keyword_YYYYMMDD">YYYYMMDD 158 159 160 161 162 163 164 165 166 </h4> 167 168 <div class="comments"> active to obtain the date as a longinterger with 124 169 the format YearYearYearYearMonthMonthDayDay 125 126 the keyword parameters of ncdf_varget 127 128 OUTPUTS:a long array of IDL julian days 129 130 COMMON BLOCKS: 131 132 SIDE EFFECTS: 133 134 RESTRICTIONS: the calendar variable must have the units attribute 135 folowing the syntaxe bellow: 170 </div> 171 172 <h4 id="_ncdf_timeget_keyword__extra">_extra 173 174 175 176 177 178 179 180 181 </h4> 182 183 <div class="comments"></div> 184 185 186 187 188 <h3>Version history</h3> 189 190 191 <h4>History</h4><div class="value"> Sebastien Masson (smasson@lodyc.jussieu.fr) 192 June 2001</div> 193 194 195 <h3>Known issues</h3> 196 197 198 199 <h4>Restrictions</h4><div class="value"> the calendar variable must have the units attribute 200 following the syntaxe bellow: 136 201 137 202 time_counter:units = "seconds since 0001-01-01 00:00:00" ; … … 140 205 time_counter:units = "months since 1979-01-01 00:00:00" ; 141 206 time_counter:units = "years since 1979-01-01 00:00:00" ; 142 143 EXAMPLE: 144 </div> 145 146 147 148 149 <h3>Parameters</h3> 150 151 152 <h4 id="_ncdf_timeget_param_cdfid">cdfid 153 154 155 156 157 158 159 160 161 </h4> 162 163 <div class="comments"></div> 164 165 <h4 id="_ncdf_timeget_param_timeid">timeid 166 167 168 169 170 171 172 173 174 </h4> 175 176 <div class="comments"></div> 177 178 179 180 181 182 183 <h3>Keywords</h3> 184 185 <h4 id="_ncdf_timeget_keyword_YYYYMMDD">YYYYMMDD 186 187 188 189 190 191 192 193 194 </h4> 195 196 <div class="comments"></div> 197 198 <h4 id="_ncdf_timeget_keyword__extra">_extra 199 200 201 202 203 204 205 206 207 </h4> 208 209 <div class="comments"></div> 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 207 </div> 225 208 226 209 -
trunk/SRC/Documentation/idldoc_html_output/ReadWrite/read_grads.html
r104 r106 87 87 </div> 88 88 89 <div id="file_comments"></div> 89 <div id="file_comments"> reading grads file (except "data type station" or "grib") 90 from the grads control file even if there is multiple data files. 91 92 </div> 90 93 91 94 … … 102 105 <div class="routine_details" id="_read_grads"> 103 106 104 <h2><a class="top" href="#container">top</a>read_grads </h2> 107 <h2><a class="top" href="#container">top</a>read_grads <span class="categories"> reading function 108 </span></h2> 105 109 106 110 <p class="header"> 107 <span class="result">result = </span>read_grads(<span class="result"><a href="#_read_grads_param_var">var</a>, <a href="#_read_grads_param_date1">date1</a>, <a href="#_read_grads_param_date2">date2</a></span>, <a href="#_read_grads_keyword_FILENAME">FILENAME</a>=<span class="result">FILENAME</span>, <a href="#_read_grads_keyword_BOX">BOX</a>=<span class="result">BOX</span>, <a href="#_read_grads_keyword_TIMESTEP">TIMESTEP</a>=<span class="result">TIMESTEP</span>, <a href="#_read_grads_keyword_EVERYTHING">EVERYTHING</a>=<span class="result">EVERYTHING</span>, <a href="#_read_grads_keyword_NOSTRUCT">NOSTRUCT</a>=<span class="result">NOSTRUCT</span>, <a href="#_read_grads_keyword__EXTRA">_EXTRA</a>=<span class="result">_EXTRA</span>)</p> 108 109 <div class="comments"> 110 NAME:read_grads 111 112 PURPOSE:reading grads file (except "data type station" or "grib") 113 from the grads control file even if there is multiple data files. 114 115 CATEGORY:reading function 116 117 CALLING SEQUENCE: 118 res=read_grads(var, date1 [, date2], FILENAME = filename) 119 120 INPUTS: 121 var: the variable name 122 date1: date of the beginning (yyyymmdd if TIMESTEP is not activate) 123 date2: last date. Optionnal, if not scpecified date2=date1 124 125 KEYWORD PARAMETERS: 126 127 FILENAME: the grads control file name: 'xxxx.ctl' 128 129 GLAMBOUNDARY (via computegrid.pro):a 2 elements vector, 130 {lon1,lon2], giving the longitute boundaries that should be 131 used to visualize the data. 132 lon2 > lon1 133 lon2 - lon1 eq 360 134 key_shift will be automatically defined according to 135 GLAMBOUNDARY. 136 137 /TIMESTEP: to specify that the dates are time steps instead of 111 <span class="result">result = </span>read_grads(<span class="result"><a href="#_read_grads_param_var">var</a>, <a href="#_read_grads_param_date1">date1</a>[, <a href="#_read_grads_param_date2">date2</a>]</span>, <a href="#_read_grads_keyword_FILENAME">FILENAME</a>=<span class="result">FILENAME</span>, <a href="#_read_grads_keyword_BOX">BOX</a>=<span class="result">BOX</span>, <a href="#_read_grads_keyword_TIMESTEP">TIMESTEP</a>=<span class="result">TIMESTEP</span>, <a href="#_read_grads_keyword_EVERYTHING">EVERYTHING</a>=<span class="result">EVERYTHING</span>, <a href="#_read_grads_keyword_NOSTRUCT">NOSTRUCT</a>=<span class="result">NOSTRUCT</span>, <a href="#_read_grads_keyword__EXTRA">_EXTRA</a>=<span class="result">_EXTRA</span>)</p> 112 113 <div class="comments"></div> 114 115 116 117 118 <h3>Parameters</h3> 119 120 121 <h4 id="_read_grads_param_var">var 122 <span class="attr">in</span> 123 124 125 <span class="attr">required</span> 126 127 128 129 130 </h4> 131 132 <div class="comments"> the variable name</div> 133 134 <h4 id="_read_grads_param_date1">date1 135 <span class="attr">in</span> 136 137 138 <span class="attr">required</span> 139 140 141 142 143 </h4> 144 145 <div class="comments"> date of the beginning (yyyymmdd if TIMESTEP is not activate)</div> 146 147 <h4 id="_read_grads_param_date2">date2 148 <span class="attr">in</span> 149 150 <span class="attr">optional</span> 151 152 153 154 155 156 </h4> 157 158 <div class="comments"> last date. Optionnal, if not scpecified date2=date1 159 </div> 160 161 162 163 164 165 166 <h3>Keywords</h3> 167 168 <h4 id="_read_grads_keyword_FILENAME">FILENAME 169 170 171 172 173 174 175 176 177 </h4> 178 179 <div class="comments"> the grads control file name: 'xxxx.ctl' 180 </div> 181 182 <h4 id="_read_grads_keyword_BOX">BOX 183 184 185 186 187 188 189 190 191 </h4> 192 193 <div class="comments"></div> 194 195 <h4 id="_read_grads_keyword_TIMESTEP">TIMESTEP 196 197 198 199 200 201 202 203 204 </h4> 205 206 <div class="comments"> to specify that the dates are time steps instead of 138 207 true calendar. 139 140 IODIRECTORY;a string giving the name of iodirectory (see 141 isafile.pro for all possibilities). default value is common 142 variable iodir 143 </div> 144 145 146 147 148 <h3>Parameters</h3> 149 150 151 <h4 id="_read_grads_param_var">var 152 153 154 155 156 157 158 159 160 </h4> 161 162 <div class="comments"></div> 163 164 <h4 id="_read_grads_param_date1">date1 165 166 167 168 169 170 171 172 173 </h4> 174 175 <div class="comments"></div> 176 177 <h4 id="_read_grads_param_date2">date2 178 179 180 181 182 183 184 185 186 </h4> 187 188 <div class="comments"></div> 189 190 191 192 193 194 195 <h3>Keywords</h3> 196 197 <h4 id="_read_grads_keyword_FILENAME">FILENAME 198 199 200 201 202 203 204 205 206 </h4> 207 208 <div class="comments"></div> 209 210 <h4 id="_read_grads_keyword_BOX">BOX 211 212 213 214 215 216 217 218 219 </h4> 220 221 <div class="comments"></div> 222 223 <h4 id="_read_grads_keyword_TIMESTEP">TIMESTEP 224 225 226 227 228 229 230 231 232 </h4> 233 234 <div class="comments"></div> 208 </div> 235 209 236 210 <h4 id="_read_grads_keyword_EVERYTHING">EVERYTHING -
trunk/SRC/Documentation/idldoc_html_output/ReadWrite/read_oasis.html
r104 r106 87 87 </div> 88 88 89 <div id="file_comments"></div> 89 <div id="file_comments"> read the f77 unformated files used in Oasis (version < 2.5) 90 </div> 90 91 91 92 … … 102 103 <div class="routine_details" id="_read_oasis"> 103 104 104 <h2><a class="top" href="#container">top</a>read_oasis </h2> 105 <h2><a class="top" href="#container">top</a>read_oasis <span class="categories"> reading 106 </span></h2> 105 107 106 108 <p class="header"> 107 109 <span class="result">result = </span>read_oasis(<span class="result"><a href="#_read_oasis_param_filename">filename</a>, <a href="#_read_oasis_param_varname">varname</a>, <a href="#_read_oasis_param_jpi">jpi</a>, <a href="#_read_oasis_param_jpj">jpj</a>, <a href="#_read_oasis_param_I2">I2</a></span>, <a href="#_read_oasis_keyword_I4">I4</a>=<span class="result">I4</span>, <a href="#_read_oasis_keyword_I8">I8</a>=<span class="result">I8</span>, <a href="#_read_oasis_keyword_R4">R4</a>=<span class="result">R4</span>)</p> 108 110 109 <div class="comments"> 110 NAME:read_oasis 111 112 PURPOSE:read the f77 unformated files used in Oasis (version < 2.5) 113 114 CATEGORY:reading 115 116 CALLING SEQUENCE: z2d=read_oasis(filename, varname, jpi, jpj) 117 118 INPUTS: 119 filename:the filename 120 varname: the name of the variable to be read 121 jpi and jpj the size of the 2d array to be read 122 123 KEYWORD PARAMETERS: 124 /I2, /I4, /I8, /R4: to change the defaut format (R8) of the data to 125 be read. 126 127 OUTPUTS:a 2d array 128 129 COMMON BLOCKS: 130 131 SIDE EFFECTS: 132 133 RESTRICTIONS: 134 135 EXAMPLE: 111 <div class="comments"></div> 112 113 <h3>Return value</h3><div class="value"> a 2d array 114 </div> 115 116 117 <h3>Parameters</h3> 118 119 120 <h4 id="_read_oasis_param_filename">filename 121 <span class="attr">in</span> 122 123 124 <span class="attr">required</span> 125 126 127 128 129 </h4> 130 131 <div class="comments"> the filename</div> 132 133 <h4 id="_read_oasis_param_varname">varname 134 <span class="attr">in</span> 135 136 137 <span class="attr">required</span> 138 139 140 141 142 </h4> 143 144 <div class="comments"> the name of the variable to be read</div> 145 146 <h4 id="_read_oasis_param_jpi">jpi 147 <span class="attr">in</span> 148 149 150 <span class="attr">required</span> 151 152 153 154 155 </h4> 156 157 <div class="comments"></div> 158 159 <h4 id="_read_oasis_param_jpj">jpj 160 <span class="attr">in</span> 161 162 163 <span class="attr">required</span> 164 165 166 167 168 </h4> 169 170 <div class="comments"> 171 the size of the 2d array to be read 172 </div> 173 174 <h4 id="_read_oasis_param_I2">I2 175 176 177 178 179 180 181 182 183 </h4> 184 185 <div class="comments"></div> 186 187 188 189 190 191 192 <h3>Keywords</h3> 193 194 <h4 id="_read_oasis_keyword_I4">I4 195 196 197 198 199 200 201 202 203 </h4> 204 205 <div class="comments"></div> 206 207 <h4 id="_read_oasis_keyword_I8">I8 208 209 210 211 212 213 214 215 216 </h4> 217 218 <div class="comments"></div> 219 220 <h4 id="_read_oasis_keyword_R4">R4 221 222 223 224 225 226 227 228 229 </h4> 230 231 <div class="comments"> 232 to change the defaut format (R8) of the data to be read. 233 </div> 234 235 236 237 <h3>Examples</h3><div class="value"> 136 238 IDL> a=read_oasis('grids_orca_t106','a106.lon',320,160) 137 239 IDL> m=read_oasis('masks_orca_t106','or1t.msk',182,149,/i4) … … 139 241 see also IDL> scanoasis,'grids_orca_t106' 140 242 </div> 141 142 143 144 145 <h3>Parameters</h3> 146 147 148 <h4 id="_read_oasis_param_filename">filename 149 150 151 152 153 154 155 156 157 </h4> 158 159 <div class="comments"></div> 160 161 <h4 id="_read_oasis_param_varname">varname 162 163 164 165 166 167 168 169 170 </h4> 171 172 <div class="comments"></div> 173 174 <h4 id="_read_oasis_param_jpi">jpi 175 176 177 178 179 180 181 182 183 </h4> 184 185 <div class="comments"></div> 186 187 <h4 id="_read_oasis_param_jpj">jpj 188 189 190 191 192 193 194 195 196 </h4> 197 198 <div class="comments"></div> 199 200 <h4 id="_read_oasis_param_I2">I2 201 202 203 204 205 206 207 208 209 </h4> 210 211 <div class="comments"></div> 212 213 214 215 216 217 218 <h3>Keywords</h3> 219 220 <h4 id="_read_oasis_keyword_I4">I4 221 222 223 224 225 226 227 228 229 </h4> 230 231 <div class="comments"></div> 232 233 <h4 id="_read_oasis_keyword_I8">I8 234 235 236 237 238 239 240 241 242 </h4> 243 244 <div class="comments"></div> 245 246 <h4 id="_read_oasis_keyword_R4">R4 247 248 249 250 251 252 253 254 255 </h4> 256 257 <div class="comments"></div> 258 259 260 261 262 263 264 265 243 <h3>Version history</h3> 244 245 246 <h4>History</h4><div class="value"> Sebastien Masson (smasson@lodyc.jussieu.fr) 247 July 01, 2002</div> 266 248 267 249 -
trunk/SRC/Documentation/idldoc_html_output/ReadWrite/readbat.html
r104 r106 87 87 </div> 88 88 89 <div id="file_comments"></div> 89 <div id="file_comments"> reading the bathymetry ASCII file of OPA 90 </div> 90 91 91 92 … … 102 103 <div class="routine_details" id="_readbat"> 103 104 104 <h2><a class="top" href="#container">top</a>readbat </h2> 105 <h2><a class="top" href="#container">top</a>readbat <span class="categories"> for OPA 106 </span></h2> 105 107 106 108 <p class="header"> 107 109 <span class="result">result = </span>readbat(<span class="result"><a href="#_readbat_param_filename">filename</a></span>, <a href="#_readbat_keyword_ZERO">ZERO</a>=<span class="result">ZERO</span>)</p> 108 110 109 <div class="comments"> 110 NAME: readbat 111 <div class="comments"></div> 111 112 112 PURPOSE: reading the bathymetry ASCII file of OPA 113 114 CATEGORY: for OPA 115 116 CALLING SEQUENCE: bat=readbat(filename) 117 118 INPUTS: 119 filename: a string containing the filename, 120 121 KEYWORD PARAMETERS: 122 /ZERO: to put 0 on land instead of negatives values for the islands. 123 124 OUTPUTS: a 2d array 125 126 COMMON BLOCKS:no 127 128 SIDE EFFECTS: 129 130 RESTRICTIONS: 131 132 EXAMPLE: 113 <h3>Return value</h3><div class="value"> a 2d array 133 114 </div> 134 135 136 115 137 116 … … 140 119 141 120 <h4 id="_readbat_param_filename">filename 121 <span class="attr">in</span> 142 122 143 123 144 145 124 <span class="attr">required</span> 146 125 147 126 … … 150 129 </h4> 151 130 152 <div class="comments"></div> 131 <div class="comments"> a string containing the filename, 132 </div> 153 133 154 134 … … 170 150 </h4> 171 151 172 <div class="comments"></div> 152 <div class="comments"> to put 0 on land instead of negatives values for the islands. 153 </div> 173 154 174 155 175 156 176 157 158 <h3>Version history</h3> 177 159 178 160 179 180 161 <h4>History</h4><div class="value"> Sebastien Masson (smasson@lodyc.jussieu.fr) 162 May 31, 2002 163 based on batlec2.pro, written by Maurice Imbard, March 17, 1998</div> 181 164 182 165 -
trunk/SRC/Documentation/idldoc_html_output/ReadWrite/readoldopadistcoast.html
r104 r106 87 87 </div> 88 88 89 <div id="file_comments"></div> 89 <div id="file_comments"> 90 read the old binary direct access file that contains the 91 distance to the coast in OPA. 92 based on the OPA subroutines dtacof and parctl 93 </div> 90 94 91 95 … … 102 106 103 107 <dt><p><a href="#_read3fromopa"><span class="result">result = </span>read3fromopa(<span class="result">unit, params, num</span>)</a></p><dt> 104 <dd> NAME:readoldopadistcoast PURPOSE: read the old binary direct access file that contains the distance to the coast in OPA.</dd>108 <dd></dd> 105 109 106 110 <dt><p><a href="#_readoldopadistcoast"><span class="result">result = </span>readoldopadistcoast(<span class="result">filename, jpiglo, jpjglo, jpk</span>, IBLOC=<span class="result">IBLOC</span>, JPBYT=<span class="result">JPBYT</span>, NUMREC=<span class="result">NUMREC</span>)</a></p><dt> … … 116 120 <div class="routine_details" id="_read3fromopa"> 117 121 118 <h2><a class="top" href="#container">top</a>read3fromopa </h2> 122 <h2><a class="top" href="#container">top</a>read3fromopa <span class="categories"> for OPA before NetCDF 123 124 </span></h2> 119 125 120 126 <p class="header"> 121 127 <span class="result">result = </span>read3fromopa(<span class="result"><a href="#_read3fromopa_param_unit">unit</a>, <a href="#_read3fromopa_param_params">params</a>, <a href="#_read3fromopa_param_num">num</a></span>)</p> 122 128 123 <div class="comments"> 124 NAME:readoldopadistcoast 125 126 PURPOSE: 127 read the old binary direct access file that contains the 128 distance to the coast in OPA. 129 based on the OPA subroutines dtacof and parctl 130 131 CATEGORY:for OPA before NetCDF 132 133 CALLING SEQUENCE:res=readoldopadistcoast(filename) 134 135 INPUTS: 136 filename (with the whole path if necessary) 137 jpiglo, jpjglo, jpk: dimensions of the opa grid 138 139 KEYWORD PARAMETERS: 140 IBLOC: ibloc size, default: ibloc = 4096L 141 JPBYT: jpbyt size, defalut: jpbyt = 8L 142 NUMREC: number of records in the file. defalut: numrec = 19L*jpk 143 144 OUTPUTS: a structure that contains two elements: tdistcoast (the 129 <div class="comments"></div> 130 131 <h3>Return value</h3><div class="value"> a structure that contains two elements: tdistcoast (the 145 132 distance for the t-points) and fdiscoast (the distance for the 146 133 f-points). 147 148 COMMON BLOCKS: no 149 150 SIDE EFFECTS: 151 152 RESTRICTIONS: 153 154 EXAMPLE: 155 </div> 156 157 134 </div> 158 135 159 136 … … 206 183 207 184 208 209 210 211 185 <h3>Version history</h3> 186 187 188 <h4>History</h4><div class="value"> Sebastien Masson (smasson@lodyc.jussieu.fr) 189 June, 2002</div> 212 190 213 191 … … 247 225 248 226 <h4 id="_readoldopadistcoast_param_filename">filename 249 250 251 252 253 254 255 256 257 </h4> 258 259 <div class="comments"> </div>227 <span class="attr">in</span> 228 229 230 <span class="attr">required</span> 231 232 233 234 235 </h4> 236 237 <div class="comments"> filename (with the whole path if necessary)</div> 260 238 261 239 <h4 id="_readoldopadistcoast_param_jpiglo">jpiglo 262 263 264 265 240 <span class="attr">in</span> 241 242 243 <span class="attr">required</span> 266 244 267 245 … … 273 251 274 252 <h4 id="_readoldopadistcoast_param_jpjglo">jpjglo 275 276 277 278 253 <span class="attr">in</span> 254 255 256 <span class="attr">required</span> 279 257 280 258 … … 286 264 287 265 <h4 id="_readoldopadistcoast_param_jpk">jpk 288 289 290 291 292 293 294 295 296 </h4> 297 298 <div class="comments"></div> 266 <span class="attr">in</span> 267 268 269 <span class="attr">required</span> 270 271 272 273 274 </h4> 275 276 <div class="comments"> 277 dimensions of the opa grid</div> 299 278 300 279 … … 316 295 </h4> 317 296 318 <div class="comments"> </div>297 <div class="comments"> ibloc size, default: ibloc = 4096L</div> 319 298 320 299 <h4 id="_readoldopadistcoast_keyword_JPBYT">JPBYT … … 329 308 </h4> 330 309 331 <div class="comments"> </div>310 <div class="comments"> jpbyt size, default: jpbyt = 8L</div> 332 311 333 312 <h4 id="_readoldopadistcoast_keyword_NUMREC">NUMREC … … 342 321 </h4> 343 322 344 <div class="comments"></div> 345 346 347 348 349 350 351 352 323 <div class="comments"> number of records in the file. default: numrec = 19L*jpk</div> 324 325 326 327 328 <h3>Version history</h3> 329 330 331 <h4>History</h4><div class="value"> Sebastien Masson (smasson@lodyc.jussieu.fr) 332 June, 2002</div> 353 333 354 334 -
trunk/SRC/Documentation/idldoc_html_output/ReadWrite/readoldoparestart.html
r104 r106 87 87 </div> 88 88 89 <div id="file_comments"></div> 89 <div id="file_comments"> read the old restart files of OPA (before NetCDF) 90 based on the OPA subroutine dtrlec included at the end of the 91 file.</div> 90 92 91 93 … … 102 104 103 105 <dt><p><a href="#_read2fromopa"><span class="result">result = </span>read2fromopa(<span class="result">unit, params, num</span>)</a></p><dt> 104 <dd> NAME:readoldoparestart based on the OPA subroutine dtrlec included at the end of the file.</dd>106 <dd> </dd> 105 107 106 108 <dt><p><a href="#_read3fromopa"><span class="result">result = </span>read3fromopa(<span class="result">unit, params, num</span>)</a></p><dt> … … 119 121 <div class="routine_details" id="_read2fromopa"> 120 122 121 <h2><a class="top" href="#container">top</a>read2fromopa </h2> 123 <h2><a class="top" href="#container">top</a>read2fromopa <span class="categories"> for OPA before NetCDF 124 </span></h2> 122 125 123 126 <p class="header"> … … 125 128 126 129 <div class="comments"> 127 NAME:readoldoparestart128 based on the OPA subroutine dtrlec included at the end of the129 file.130 131 PURPOSE:read the old restart files of OPA (before NetCDF)132 133 CATEGORY:for OPA before NetCDF134 135 CALLING SEQUENCE:readoldoparestart, filename, jpiglo, jpjglo, jpk136 137 INPUTS:138 filename: with the whole path if necessary139 jpiglo, jpjglo, jpk: dimensions of the opa grid140 141 KEYWORD PARAMETERS:142 IBLOC: ibloc size, default: ibloc = 4096L143 JPBYT: jpbyt size, defalut: jpbyt = 8L144 NUMREC: number of records in the file. defalut: numrec = 19L*jpk145 UB, VB, TB, SB, ROTB, HDIVB, UN, VN, TN, SN, ROTN, HDIVN, GCX,146 GCXB, ETAB, TAN, BSFB, BSFN, BSFD, EN: the variable we want to147 read.148 149 OUTPUTS:according to the given keywords.150 151 COMMON BLOCKS:none152 153 SIDE EFFECTS:154 155 RESTRICTIONS:bug for etab and etan written on the same record???156 157 EXAMPLE:158 130 </div> 159 131 … … 209 181 210 182 211 212 213 214 215 216 217 218 219 220 221 183 <h3>Version history</h3> 184 185 186 <h4>History</h4><div class="value"> Sebastien Masson (smasson@lodyc.jussieu.fr) 187 June 2002</div> 188 189 190 <h3>Known issues</h3> 191 192 193 194 <h4>Restrictions</h4><div class="value"> bug for etab and etan written on the same record??? 195 </div> 222 196 223 197 … … 294 268 295 269 296 297 298 299 270 <h3>Version history</h3> 271 272 273 <h4>History</h4><div class="value"> Sebastien Masson (smasson@lodyc.jussieu.fr) 274 June 2002</div> 300 275 301 276 … … 321 296 <div class="routine_details" id="_readoldoparestart"> 322 297 323 <h2><a class="top" href="#container">top</a>readoldoparestart < /h2>298 <h2><a class="top" href="#container">top</a>readoldoparestart <span class="categories"> for OPA before NetCDF</span></h2> 324 299 325 300 <p class="header"> … … 328 303 <div class="comments"></div> 329 304 330 305 <h3>Return value</h3><div class="value"> according to the given keywords.</div> 331 306 332 307 … … 335 310 336 311 <h4 id="_readoldoparestart_param_filename">filename 337 338 339 340 341 342 343 344 345 </h4> 346 347 <div class="comments"> </div>312 <span class="attr">in</span> 313 314 315 <span class="attr">required</span> 316 317 318 319 320 </h4> 321 322 <div class="comments"> with the whole path if necessary</div> 348 323 349 324 <h4 id="_readoldoparestart_param_jpiglo">jpiglo 350 351 352 353 325 <span class="attr">in</span> 326 327 328 <span class="attr">required</span> 354 329 355 330 … … 361 336 362 337 <h4 id="_readoldoparestart_param_jpjglo">jpjglo 363 364 365 366 338 <span class="attr">in</span> 339 340 341 <span class="attr">required</span> 367 342 368 343 … … 374 349 375 350 <h4 id="_readoldoparestart_param_jpk">jpk 376 377 378 379 380 381 382 383 384 </h4> 385 386 <div class="comments"></div> 351 <span class="attr">in</span> 352 353 354 <span class="attr">required</span> 355 356 357 358 359 </h4> 360 361 <div class="comments"> 362 dimensions of the opa grid</div> 387 363 388 364 … … 404 380 </h4> 405 381 406 <div class="comments"> </div>382 <div class="comments"> ibloc size, default: ibloc = 4096L</div> 407 383 408 384 <h4 id="_readoldoparestart_keyword_JPBYT">JPBYT … … 417 393 </h4> 418 394 419 <div class="comments"> </div>395 <div class="comments"> jpbyt size, defalut: jpbyt = 8L</div> 420 396 421 397 <h4 id="_readoldoparestart_keyword_NUMREC">NUMREC … … 430 406 </h4> 431 407 432 <div class="comments"> </div>408 <div class="comments"> number of records in the file. defalut: numrec = 19L*jpk</div> 433 409 434 410 <h4 id="_readoldoparestart_keyword_ub">ub … … 690 666 </h4> 691 667 692 <div class="comments"></div> 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 668 <div class="comments"> 669 the variable we want to read. 670 </div> 671 672 673 674 675 <h3>Version history</h3> 676 677 678 <h4>History</h4><div class="value"> Sebastien Masson (smasson@lodyc.jussieu.fr) 679 June 2002</div> 680 681 682 <h3>Known issues</h3> 683 684 685 686 <h4>Restrictions</h4><div class="value"> bug for etab and etan written on the same record??? 687 </div> 708 688 709 689 -
trunk/SRC/Documentation/idldoc_html_output/ReadWrite/scanctl.html
r104 r106 87 87 </div> 88 88 89 <div id="file_comments"></div> 89 <div id="file_comments"> GLAMBOUNDARY 2 elements vector, {lon1,lon2], the longitute 90 boundaries that should be used to visualize the data. 91 lon2 > lon1 92 lon2 - lon1 le 360 93 key_shift will be defined according to GLAMBOUNDARY.</div> 90 94 91 95 -
trunk/SRC/Documentation/idldoc_html_output/ReadWrite/scanoasis.html
r104 r106 87 87 </div> 88 88 89 <div id="file_comments"></div> 89 <div id="file_comments"> scan an Oasis file (version < 2.5) 90 </div> 90 91 91 92 … … 102 103 <div class="routine_details" id="_scanoasis"> 103 104 104 <h2><a class="top" href="#container">top</a>scanoasis </h2> 105 <h2><a class="top" href="#container">top</a>scanoasis <span class="categories"> know what is inside 106 </span></h2> 105 107 106 108 <p class="header"> 107 109 scanoasis<span class="result">, <a href="#_scanoasis_param_filename">filename</a></span></p> 108 110 109 <div class="comments"> 110 NAME:scanoasis 111 112 PURPOSE:scan an Oasis file (version < 2.5) 113 114 CATEGORY:know what is inside 115 116 CALLING SEQUENCE:scanoasis, filename 117 118 INPUTS: filename: the file name! 119 120 KEYWORD PARAMETERS: 121 122 OUTPUTS: 123 124 COMMON BLOCKS: 125 126 SIDE EFFECTS: List the variable names included in a Oasis file 127 128 RESTRICTIONS: 129 130 EXAMPLE: IDL> scanoasis,'grids_orca_t106' 131 </div> 111 <div class="comments"></div> 132 112 133 113 … … 138 118 139 119 <h4 id="_scanoasis_param_filename">filename 120 <span class="attr">in</span> 140 121 141 122 142 143 123 <span class="attr">required</span> 144 124 145 125 … … 148 128 </h4> 149 129 150 <div class="comments"></div> 130 <div class="comments"> the file name 131 </div> 151 132 152 133 … … 155 136 156 137 138 <h3>Examples</h3><div class="value"> 139 IDL> scanoasis,'grids_orca_t106' 140 </div> 141 <h3>Version history</h3> 142 143 144 <h4>History</h4><div class="value"> Sebastien Masson (smasson@lodyc.jussieu.fr) 145 July 01, 2002</div> 146 147 148 <h3>Known issues</h3> 157 149 158 150 159 151 160 161 162 163 164 165 166 167 168 152 <h4>Restrictions</h4><div class="value"> List the variable names included in a Oasis file 153 </div> 169 154 170 155 -
trunk/SRC/Documentation/idldoc_html_output/ReadWrite/write_oasis.html
r104 r106 87 87 </div> 88 88 89 <div id="file_comments"></div> 89 <div id="file_comments"> write an Oasis file (version < 2.5) 90 </div> 90 91 91 92 … … 108 109 109 110 <div class="comments"> 110 NAME:write_oasis 111 112 PURPOSE:write an Oasis file (version < 2.5) 113 114 CATEGORY: 115 116 CALLING SEQUENCE:write_oasis, filename, varname, z2d 117 118 INPUTS: 119 filename:the filename 120 varname: the name of the variable to be written 121 z2d: the variable (2D array) to be written 122 123 KEYWORD PARAMETERS: 124 /I2, /I4, /I8, /R4: to change the defaut format (R8) of the data to 125 be written. 126 127 /APPEND: to open the file with the file pointer at the end of 111 </div> 112 113 114 115 116 <h3>Parameters</h3> 117 118 119 <h4 id="_write_oasis_param_filename">filename 120 <span class="attr">in</span> 121 122 123 <span class="attr">required</span> 124 125 126 127 128 </h4> 129 130 <div class="comments"> the filename</div> 131 132 <h4 id="_write_oasis_param_varname">varname 133 <span class="attr">in</span> 134 135 136 <span class="attr">required</span> 137 138 139 140 141 </h4> 142 143 <div class="comments"> the name of the variable to be written</div> 144 145 <h4 id="_write_oasis_param_z2d">z2d 146 <span class="attr">in</span> 147 148 149 <span class="attr">required</span> 150 151 152 153 154 </h4> 155 156 <div class="comments"> the variable (2D array) to be written 157 </div> 158 159 <h4 id="_write_oasis_param_I2">I2 160 161 162 163 164 165 166 167 168 </h4> 169 170 <div class="comments"></div> 171 172 173 174 175 176 177 <h3>Keywords</h3> 178 179 <h4 id="_write_oasis_keyword_I4">I4 180 181 182 183 184 185 186 187 188 </h4> 189 190 <div class="comments"></div> 191 192 <h4 id="_write_oasis_keyword_I8">I8 193 194 195 196 197 198 199 200 201 </h4> 202 203 <div class="comments"></div> 204 205 <h4 id="_write_oasis_keyword_R4">R4 206 207 208 209 210 211 212 213 214 </h4> 215 216 <div class="comments"> 217 to change the defaut format (R8) of the data to be written. 218 </div> 219 220 <h4 id="_write_oasis_keyword_APPEND">APPEND 221 222 223 224 225 226 227 228 229 </h4> 230 231 <div class="comments"> to open the file with the file pointer at the end of 128 232 the file, ready for data to be appended. 129 233 130 OUTPUTS: 131 132 COMMON BLOCKS: 133 134 SIDE EFFECTS:varname is automatically written as a "charactere*8" 234 </div> 235 236 237 238 239 <h3>Version history</h3> 240 241 242 <h4>History</h4><div class="value"> Sebastien Masson (smasson@lodyc.jussieu.fr) 243 July 01, 2002</div> 244 245 246 <h3>Known issues</h3> 247 248 249 250 <h4>Restrictions</h4><div class="value"> varname is automatically written as a "charactere*8" 135 251 by defaut z2d is written as an R8 array 136 137 RESTRICTIONS: 138 139 EXAMPLE: 140 </div> 141 142 143 144 145 <h3>Parameters</h3> 146 147 148 <h4 id="_write_oasis_param_filename">filename 149 150 151 152 153 154 155 156 157 </h4> 158 159 <div class="comments"></div> 160 161 <h4 id="_write_oasis_param_varname">varname 162 163 164 165 166 167 168 169 170 </h4> 171 172 <div class="comments"></div> 173 174 <h4 id="_write_oasis_param_z2d">z2d 175 176 177 178 179 180 181 182 183 </h4> 184 185 <div class="comments"></div> 186 187 <h4 id="_write_oasis_param_I2">I2 188 189 190 191 192 193 194 195 196 </h4> 197 198 <div class="comments"></div> 199 200 201 202 203 204 205 <h3>Keywords</h3> 206 207 <h4 id="_write_oasis_keyword_I4">I4 208 209 210 211 212 213 214 215 216 </h4> 217 218 <div class="comments"></div> 219 220 <h4 id="_write_oasis_keyword_I8">I8 221 222 223 224 225 226 227 228 229 </h4> 230 231 <div class="comments"></div> 232 233 <h4 id="_write_oasis_keyword_R4">R4 234 235 236 237 238 239 240 241 242 </h4> 243 244 <div class="comments"></div> 245 246 <h4 id="_write_oasis_keyword_APPEND">APPEND 247 248 249 250 251 252 253 254 255 </h4> 256 257 <div class="comments"></div> 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 252 </div> 273 253 274 254 -
trunk/SRC/Documentation/idldoc_html_output/ReadWrite/writebat.html
r104 r106 87 87 </div> 88 88 89 <div id="file_comments"></div> 89 <div id="file_comments"> write the bathymetry ASCII file of OPA 90 </div> 90 91 91 92 … … 102 103 <div class="routine_details" id="_writebat"> 103 104 104 <h2><a class="top" href="#container">top</a>writebat </h2> 105 <h2><a class="top" href="#container">top</a>writebat <span class="categories"> for OPA 106 </span></h2> 105 107 106 108 <p class="header"> … … 108 110 109 111 <div class="comments"> 110 NAME: writebat111 112 PURPOSE: write the bathymetry ASCII file of OPA113 114 CATEGORY: for OPA115 116 CALLING SEQUENCE: writebat, bat, filename,117 118 INPUTS:119 bat: the bathymetry, a 2d array120 filename: a string containing the filename,121 122 KEYWORD PARAMETERS:123 124 OUTPUTS:no125 126 COMMON BLOCKS:no127 128 SIDE EFFECTS:129 130 RESTRICTIONS:131 132 EXAMPLE:133 112 </div> 134 113 … … 140 119 141 120 <h4 id="_writebat_param_zbat">zbat 121 <span class="attr">in</span> 142 122 143 123 144 145 124 <span class="attr">required</span> 146 125 147 126 … … 150 129 </h4> 151 130 152 <div class="comments"> </div>131 <div class="comments"> the bathymetry, a 2d array </div> 153 132 154 133 <h4 id="_writebat_param_filename">filename 134 <span class="attr">in</span> 155 135 156 136 157 158 137 <span class="attr">required</span> 159 138 160 139 … … 163 142 </h4> 164 143 165 <div class="comments"></div> 144 <div class="comments"> a string containing the filename, 145 </div> 166 146 167 147 … … 171 151 172 152 153 <h3>Version history</h3> 173 154 174 155 175 176 156 <h4>History</h4><div class="value"> Sebastien Masson (smasson@lodyc.jussieu.fr) 157 Sept 30, 2003 158 based on batsav2.pro, written by Maurice Imbard, March 17, 1998</div> 177 159 178 160 -
trunk/SRC/Documentation/idldoc_html_output/idldoc-categories.html
r104 r106 174 174 175 175 </ul> 176 </li> <li id="idldoc-for_OPA">for OPA <span class="result">(2 routines)</span> 177 <ul> 178 179 <li><a href="./ReadWrite/readbat.html?format=raw#_readbat">readbat</a></li> 180 181 <li><a href="./ReadWrite/writebat.html?format=raw#_writebat">writebat</a></li> 182 183 </ul> 184 </li> <li id="idldoc-for_OPA_before_NetCDF">for OPA before NetCDF <span class="result">(3 routines)</span> 185 <ul> 186 187 <li><a href="./ReadWrite/readoldoparestart.html?format=raw#_read2fromopa">read2fromopa</a></li> 188 189 <li><a href="./ReadWrite/readoldopadistcoast.html?format=raw#_read3fromopa">read3fromopa</a></li> 190 191 <li><a href="./ReadWrite/readoldoparestart.html?format=raw#_readoldoparestart">readoldoparestart</a></li> 192 193 </ul> 176 194 </li> <li id="idldoc-for_OPA_meshmask_files">for OPA meshmask files <span class="result">(3 routines)</span> 177 195 <ul> … … 256 274 257 275 </ul> 276 </li> <li id="idldoc-know_what_is_inside">know what is inside <span class="result">(1 routine)</span> 277 <ul> 278 279 <li><a href="./ReadWrite/scanoasis.html?format=raw#_scanoasis">scanoasis</a></li> 280 281 </ul> 258 282 </li> <li id="idldoc-lecture_de_NETCDF">lecture de NETCDF <span class="result">(4 routines)</span> 259 283 <ul> … … 280 304 281 305 <li><a href="./Interpolation/inrecgrid.html?format=raw#_inrecgrid">inrecgrid</a></li> 306 307 </ul> 308 </li> <li id="idldoc-reading">reading <span class="result">(1 routine)</span> 309 <ul> 310 311 <li><a href="./ReadWrite/read_oasis.html?format=raw#_read_oasis">read_oasis</a></li> 312 313 </ul> 314 </li> <li id="idldoc-reading_function">reading function <span class="result">(1 routine)</span> 315 <ul> 316 317 <li><a href="./ReadWrite/read_grads.html?format=raw#_read_grads">read_grads</a></li> 318 319 </ul> 320 </li> <li id="idldoc-reading_ncdf_file">reading ncdf_file <span class="result">(1 routine)</span> 321 <ul> 322 323 <li><a href="./ReadWrite/ncdf_timeget.html?format=raw#_ncdf_timeget">ncdf_timeget</a></li> 282 324 283 325 </ul> -
trunk/SRC/Documentation/idldoc_html_output/idldoc-index-O.html
r104 r106 232 232 <dd>a keyword from the routine IMDISP</dd> 233 233 234 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/pltsc.html?format=raw#_pltsc">OV1D</a></dt> 235 <dd>a keyword from the routine pltsc</dd> 236 237 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/pltt.html?format=raw#_pltt">OV1D</a></dt> 238 <dd>a keyword from the routine pltt</dd> 239 234 240 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/plt1d.html?format=raw#_plt1d">OV1D</a></dt> 235 241 <dd>a keyword from the routine plt1d</dd> 236 242 237 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/pltt.html?format=raw#_pltt">OV1D</a></dt>238 <dd>a keyword from the routine pltt</dd>239 240 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/pltsc.html?format=raw#_pltsc">OV1D</a></dt>241 <dd>a keyword from the routine pltsc</dd>242 243 243 <dt><a href="./ToBeReviewed/COULEURS/newpalette.html?format=raw#_newpalette">OVER</a></dt> 244 244 <dd>a keyword from the routine newpalette</dd> 245 245 246 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/plt.html?format=raw#_plt">OVERPLOT</a></dt> 247 <dd>a keyword from the routine plt</dd> 248 246 249 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/pltt.html?format=raw#_pltt">OVERPLOT</a></dt> 247 250 <dd>a keyword from the routine pltt</dd> … … 259 262 <dd>a keyword from the routine tracemask</dd> 260 263 261 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/plt.html?format=raw#_plt">OVERPLOT</a></dt>262 <dd>a keyword from the routine plt</dd>263 264 264 <dt><a href="./Textoidl/matchdelim.html?format=raw#_Matchdelim">OpenPos</a></dt> 265 265 <dd>a parameter from the routine ./Textoidl/matchdelim.html</dd> … … 274 274 <dd>a keyword from the routine test</dd> 275 275 276 <dt><a href="./Interpolation/compute_fromreg_imoms3_weigaddr.html?format=raw#_compute_fromreg_imoms3_weigaddr">olat</a></dt> 277 <dd>a parameter from the routine ./Interpolation/compute_fromreg_imoms3_weigaddr.html</dd> 278 276 279 <dt><a href="./Interpolation/compute_fromreg_bilinear_weigaddr.html?format=raw#_compute_fromreg_bilinear_weigaddr">olat</a></dt> 277 280 <dd>a parameter from the routine ./Interpolation/compute_fromreg_bilinear_weigaddr.html</dd> 278 281 279 <dt><a href="./Interpolation/compute_fromreg_imoms3_weigaddr.html?format=raw#_compute_fromreg_imoms3_weigaddr">olat</a></dt>280 <dd>a parameter from the routine ./Interpolation/compute_fromreg_imoms3_weigaddr.html</dd>281 282 <dt><a href="./Interpolation/compute_fromreg_imoms3_weigaddr.html?format=raw#_compute_fromreg_imoms3_weigaddr">olat</a></dt>283 <dd>a parameter from the routine ./Interpolation/compute_fromreg_imoms3_weigaddr.html</dd>284 285 282 <dt><a href="ForOldVersion/oldcm_empty.html?format=raw">oldcm_empty.pro</a></dt> 286 283 <dd>a file from the directory ./ForOldVersion</dd> … … 289 286 <dd>a file from the directory ./ForOldVersion</dd> 290 287 288 <dt><a href="./Interpolation/compute_fromreg_bilinear_weigaddr.html?format=raw#_compute_fromreg_bilinear_weigaddr">olonin</a></dt> 289 <dd>a parameter from the routine ./Interpolation/compute_fromreg_bilinear_weigaddr.html</dd> 290 291 291 <dt><a href="./Interpolation/compute_fromreg_imoms3_weigaddr.html?format=raw#_compute_fromreg_imoms3_weigaddr">olonin</a></dt> 292 292 <dd>a parameter from the routine ./Interpolation/compute_fromreg_imoms3_weigaddr.html</dd> 293 293 294 <dt><a href="./Interpolation/compute_fromreg_imoms3_weigaddr.html?format=raw#_compute_fromreg_imoms3_weigaddr">olonin</a></dt>295 <dd>a parameter from the routine ./Interpolation/compute_fromreg_imoms3_weigaddr.html</dd>296 297 <dt><a href="./Interpolation/compute_fromreg_bilinear_weigaddr.html?format=raw#_compute_fromreg_bilinear_weigaddr">olonin</a></dt>298 <dd>a parameter from the routine ./Interpolation/compute_fromreg_bilinear_weigaddr.html</dd>299 300 294 <dt><a href="./ToBeReviewed/TRIANGULATION/drawcoast_e.html?format=raw#_drawcoast_e">onemore</a></dt> 301 295 <dd>a keyword from the routine drawcoast_e</dd> … … 304 298 <dd>a keyword from the routine make_selection</dd> 305 299 300 <dt><a href="./Interpolation/cutpar.html?format=raw#_cutpar">onsphere</a></dt> 301 <dd>a keyword from the routine cutpar</dd> 302 306 303 <dt><a href="./Interpolation/cutsegment.html?format=raw#_cutsegment">onsphere</a></dt> 307 304 <dd>a keyword from the routine cutsegment</dd> 308 305 309 <dt><a href="./Interpolation/cutpar.html?format=raw#_cutpar">onsphere</a></dt>310 <dd>a keyword from the routine cutpar</dd>311 312 306 <dt><a href="./ToBeReviewed/MATRICE/cmapply.html?format=raw#_cmapply">op</a></dt> 313 307 <dd>a parameter from the routine ./ToBeReviewed/MATRICE/cmapply.html</dd> … … 325 319 <dd>a file from the directory ./ToBeReviewed/UTILITAIRE</dd> 326 320 321 <dt><a href="./ToBeReviewed/LECTURE/read_ftp.html?format=raw#_ftp_post">out</a></dt> 322 <dd>a keyword from the routine ftp_post</dd> 323 327 324 <dt><a href="./ToBeReviewed/WIDGET/AUTOUR_de_XXX/tracecadre.html?format=raw#_tracecadre">out</a></dt> 328 325 <dd>a keyword from the routine tracecadre</dd> 329 326 330 <dt><a href="./ ToBeReviewed/LECTURE/read_ftp.html?format=raw#_ftp_post">out</a></dt>331 <dd>a keyword from the routine ftp_post</dd>327 <dt><a href="./Grid/smallmeshmask.html?format=raw#_ncdf_transfer">outid</a></dt> 328 <dd>a parameter from the routine ./Grid/smallmeshmask.html</dd> 332 329 333 330 <dt><a href="./Grid/micromeshmask.html?format=raw#_ncdf_transfer">outid</a></dt> 334 331 <dd>a parameter from the routine ./Grid/micromeshmask.html</dd> 335 332 336 <dt><a href="./Grid/smallmeshmask.html?format=raw#_ncdf_transfer">outid</a></dt>337 <dd>a parameter from the routine ./Grid/smallmeshmask.html</dd>338 339 333 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/bar_plot.html?format=raw#_bar_plot">outline</a></dt> 340 334 <dd>a keyword from the routine bar_plot</dd> -
trunk/SRC/Documentation/idldoc_html_output/idldoc-index-S.html
r104 r106 208 208 <dd>a keyword from the routine computegrid</dd> 209 209 210 <dt><a href="./ToBeReviewed/TRIANGULATION/definetri_e.html?format=raw#_definetri_e">SHIFTED</a></dt> 211 <dd>a keyword from the routine definetri_e</dd> 212 210 213 <dt><a href="./ToBeReviewed/TRIANGULATION/triangule_e.html?format=raw#_triangule_e">SHIFTED</a></dt> 211 214 <dd>a keyword from the routine triangule_e</dd> 212 215 213 <dt><a href="./ToBeReviewed/TRIANGULATION/definetri_e.html?format=raw#_definetri_e">SHIFTED</a></dt>214 <dd>a keyword from the routine definetri_e</dd>215 216 216 <dt><a href="./ToBeReviewed/STRING/strsci.html?format=raw#_StrSci">SHORT</a></dt> 217 217 <dd>a keyword from the routine StrSci</dd> … … 232 232 <dd>a keyword from the routine report</dd> 233 233 234 <dt><a href="./ToBeReviewed/PLOTS/axe.html?format=raw#_axe">SIN</a></dt> 235 <dd>a keyword from the routine axe</dd> 236 237 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/pltz.html?format=raw#_pltz">SIN</a></dt> 238 <dd>a keyword from the routine pltz</dd> 239 234 240 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/plt1d.html?format=raw#_plt1d">SIN</a></dt> 235 241 <dd>a keyword from the routine plt1d</dd> 236 242 237 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/pltz.html?format=raw#_pltz">SIN</a></dt>238 <dd>a keyword from the routine pltz</dd>239 240 243 <dt><a href="./ToBeReviewed/PLOTS/DIVERS/axis4pltz.html?format=raw#_axis4pltz">SIN</a></dt> 241 244 <dd>a keyword from the routine axis4pltz</dd> 242 245 243 <dt><a href="./ToBeReviewed/PLOTS/ axe.html?format=raw#_axe">SIN</a></dt>244 <dd>a keyword from the routine axe</dd>246 <dt><a href="./ToBeReviewed/PLOTS/DIVERS/terminedessin.html?format=raw#_terminedessin">SMALL</a></dt> 247 <dd>a keyword from the routine terminedessin</dd> 245 248 246 249 <dt><a href="./ToBeReviewed/PLOTS/DIVERS/placedessin.html?format=raw#_placedessin">SMALL</a></dt> 247 250 <dd>a keyword from the routine placedessin</dd> 248 251 249 <dt><a href="./ToBeReviewed/PLOTS/DIVERS/terminedessin.html?format=raw#_terminedessin">SMALL</a></dt>250 <dd>a keyword from the routine terminedessin</dd>251 252 252 <dt><a href="./ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_bgroup.html?format=raw#_CW_BGROUP">SPACE</a></dt> 253 253 <dd>a keyword from the routine CW_BGROUP</dd> … … 277 277 <dd>a keyword from the routine cw_domain</dd> 278 278 279 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/pltt.html?format=raw#_pltt">STRICTFILL</a></dt> 280 <dd>a keyword from the routine pltt</dd> 281 282 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/pltz.html?format=raw#_pltz">STRICTFILL</a></dt> 283 <dd>a keyword from the routine pltz</dd> 284 279 285 <dt><a href="./ToBeReviewed/PLOTS/LABEL/label.html?format=raw#_label">STRICTFILL</a></dt> 280 286 <dd>a keyword from the routine label</dd> 281 287 282 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/pltz.html?format=raw#_pltz">STRICTFILL</a></dt>283 <dd>a keyword from the routine pltz</dd>284 285 288 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/plt.html?format=raw#_plt">STRICTFILL</a></dt> 286 289 <dd>a keyword from the routine plt</dd> 287 290 288 <dt><a href="./ToBeReviewed/ PLOTS/DESSINE/pltt.html?format=raw#_pltt">STRICTFILL</a></dt>289 <dd>a keyword from the routine pltt</dd>291 <dt><a href="./ToBeReviewed/LECTURE/xncdf_lec.html?format=raw#_xncdf_lec">STRIDE</a></dt> 292 <dd>a keyword from the routine xncdf_lec</dd> 290 293 291 294 <dt><a href="./Grid/computegrid.html?format=raw#_computegrid">STRIDE</a></dt> … … 295 298 <dd>a keyword from the routine ncdf_meshread</dd> 296 299 297 <dt><a href="./ToBeReviewed/LECTURE/xncdf_lec.html?format=raw#_xncdf_lec">STRIDE</a></dt>298 <dd>a keyword from the routine xncdf_lec</dd>299 300 300 <dt><a href="./buildinit.html?format=raw#_CW_FIELD2">STRING</a></dt> 301 301 <dd>a keyword from the routine CW_FIELD2</dd> … … 310 310 <dd>a function from the file str_size.pro</dd> 311 311 312 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/plt1d.html?format=raw#_plt1d">STY1D</a></dt> 313 <dd>a keyword from the routine plt1d</dd> 314 312 315 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/pltsc.html?format=raw#_pltsc">STY1D</a></dt> 313 316 <dd>a keyword from the routine pltsc</dd> … … 316 319 <dd>a keyword from the routine pltt</dd> 317 320 318 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/plt1d.html?format=raw#_plt1d">STY1D</a></dt>319 <dd>a keyword from the routine plt1d</dd>320 321 321 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/pltz.html?format=raw#_pltz">STYLE</a></dt> 322 322 <dd>a keyword from the routine pltz</dd> … … 349 349 <dd>a function from the file str_token.pro</dd> 350 350 351 <dt><a href="./Textoidl/strcnt.html?format=raw#_Strcnt">Strcnt</a></dt> 352 <dd>a function from the file strcnt.pro</dd> 353 351 354 <dt><a href="./ToBeReviewed/STRING/strcnt.html?format=raw#_Strcnt">Strcnt</a></dt> 352 355 <dd>a function from the file strcnt.pro</dd> 353 356 354 <dt><a href="./Textoidl/strcnt.html?format=raw#_Strcnt">Strcnt</a></dt>355 <dd>a function from the file strcnt.pro</dd>356 357 357 <dt><a href="./ToBeReviewed/STRING/strtok.html?format=raw#_Strtok">Strtok</a></dt> 358 358 <dd>a function from the file strtok.pro</dd> … … 367 367 <dd>a function from the file sub_sup_idl.pro</dd> 368 368 369 <dt><a href="./ToBeReviewed/STRING/putfile.html?format=raw#_putfile">s</a></dt> 370 <dd>a parameter from the routine ./ToBeReviewed/STRING/putfile.html</dd> 371 372 <dt><a href="./ToBeReviewed/STRING/strright.html?format=raw#_strright">s</a></dt> 373 <dd>a parameter from the routine ./ToBeReviewed/STRING/strright.html</dd> 374 369 375 <dt><a href="./ReadWrite/idl-NetCDF/ncdf_quickwrite/ncdf_quickwrite_helper3.html?format=raw#_ncdf_quickwrite_helper3">s</a></dt> 370 376 <dd>a parameter from the routine ./ReadWrite/idl-NetCDF/ncdf_quickwrite/ncdf_quickwrite_helper3.html</dd> 371 377 372 <dt><a href="./ToBeReviewed/STRING/strright.html?format=raw#_strright">s</a></dt> 373 <dd>a parameter from the routine ./ToBeReviewed/STRING/strright.html</dd> 374 375 <dt><a href="./ToBeReviewed/STRING/putfile.html?format=raw#_putfile">s</a></dt> 376 <dd>a parameter from the routine ./ToBeReviewed/STRING/putfile.html</dd> 378 <dt><a href="./ReadWrite/idl-NetCDF/ncdf_struct_free.html?format=raw#_ncdf_struct_free">s</a></dt> 379 <dd>a parameter from the routine ./ReadWrite/idl-NetCDF/ncdf_struct_free.html</dd> 377 380 378 381 <dt><a href="./ReadWrite/idl-NetCDF/ncdf_quickwrite/ncdf_quickwrite_helper2.html?format=raw#_ncdf_quickwrite_helper2">s</a></dt> 379 382 <dd>a parameter from the routine ./ReadWrite/idl-NetCDF/ncdf_quickwrite/ncdf_quickwrite_helper2.html</dd> 380 383 381 <dt><a href="./ReadWrite/idl-NetCDF/ncdf_struct_free.html?format=raw#_ncdf_struct_free">s</a></dt>382 <dd>a parameter from the routine ./ReadWrite/idl-NetCDF/ncdf_struct_free.html</dd>383 384 384 <dt><a href="./ToBeReviewed/PLOTS/DIVERS/saveatt.html?format=raw#_saveatt">saveatt</a></dt> 385 385 <dd>a function from the file saveatt.pro</dd> … … 532 532 <dd>a parameter from the routine ./ToBeReviewed/WIDGET/AUTOUR_de_XXX/createhistory.html</dd> 533 533 534 <dt><a href="./ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_pagelayout.html?format=raw#_cw_pagelayout">small</a></dt> 535 <dd>a parameter from the routine ./ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_pagelayout.html</dd> 536 534 537 <dt><a href="./ToBeReviewed/WIDGET/AUTOUR_de_XXX/tracecadre.html?format=raw#_tracecadre">small</a></dt> 535 538 <dd>a parameter from the routine ./ToBeReviewed/WIDGET/AUTOUR_de_XXX/tracecadre.html</dd> 536 539 537 <dt><a href="./ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_pagelayout.html?format=raw#_cw_pagelayout">small</a></dt>538 <dd>a parameter from the routine ./ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_pagelayout.html</dd>539 540 540 <dt><a href="./ToBeReviewed/POSTSCRIPT/calibre.html?format=raw#_calibre">smalldraw</a></dt> 541 541 <dd>a parameter from the routine ./ToBeReviewed/POSTSCRIPT/calibre.html</dd> … … 595 595 <dd>a function from the file square2quadrilateral.pro</dd> 596 596 597 <dt><a href="./Interpolation/square2quadrilateral.html?format=raw#_square2quadrilateral">square2quadrilateral</a></dt>598 <dd>a function from the file square2quadrilateral.pro</dd>599 600 597 <dt><a href="Interpolation/square2quadrilateral.html?format=raw">square2quadrilateral.pro</a></dt> 601 598 <dd>a file from the directory ./Interpolation</dd> 602 599 600 <dt><a href="./ToBeReviewed/STRING/strcnt.html?format=raw#_Strcnt">startpos</a></dt> 601 <dd>a parameter from the routine ./ToBeReviewed/STRING/strcnt.html</dd> 602 603 603 <dt><a href="./Textoidl/strcnt.html?format=raw#_Strcnt">startpos</a></dt> 604 604 <dd>a parameter from the routine ./Textoidl/strcnt.html</dd> 605 605 606 <dt><a href="./ToBeReviewed/STRING/strcnt.html?format=raw#_Strcnt">startpos</a></dt>607 <dd>a parameter from the routine ./ToBeReviewed/STRING/strcnt.html</dd>608 609 606 <dt><a href="./Grid/computegrid.html?format=raw#_computegrid">startx</a></dt> 610 607 <dd>a parameter from the routine ./Grid/computegrid.html</dd> … … 619 616 <dd>a parameter from the routine ./Grid/computegrid.html</dd> 620 617 618 <dt><a href="./ToBeReviewed/STRING/strrepl.html?format=raw#_strrepl">str</a></dt> 619 <dd>a parameter from the routine ./ToBeReviewed/STRING/strrepl.html</dd> 620 621 <dt><a href="./ToBeReviewed/STRING/lenstr.html?format=raw#_lenstr">str</a></dt> 622 <dd>a parameter from the routine ./ToBeReviewed/STRING/lenstr.html</dd> 623 621 624 <dt><a href="./ToBeReviewed/STRING/strwhere.html?format=raw#_strwhere">str</a></dt> 622 625 <dd>a parameter from the routine ./ToBeReviewed/STRING/strwhere.html</dd> 623 626 624 <dt><a href="./ToBeReviewed/STRING/strrepl.html?format=raw#_strrepl">str</a></dt>625 <dd>a parameter from the routine ./ToBeReviewed/STRING/strrepl.html</dd>626 627 <dt><a href="./ToBeReviewed/STRING/lenstr.html?format=raw#_lenstr">str</a></dt>628 <dd>a parameter from the routine ./ToBeReviewed/STRING/lenstr.html</dd>629 630 627 <dt><a href="./ToBeReviewed/STRING/string2struct.html?format=raw#_string2struct">strVal</a></dt> 631 628 <dd>a parameter from the routine ./ToBeReviewed/STRING/string2struct.html</dd> … … 637 634 <dd>a file from the directory ./Textoidl</dd> 638 635 636 <dt><a href="ToBeReviewed/STRING/strcnt.html?format=raw">strcnt.pro</a></dt> 637 <dd>a file from the directory ./ToBeReviewed/STRING</dd> 638 639 639 <dt><a href="Textoidl/strcnt.html?format=raw">strcnt.pro</a></dt> 640 640 <dd>a file from the directory ./Textoidl</dd> 641 641 642 <dt><a href="ToBeReviewed/STRING/strcnt.html?format=raw">strcnt.pro</a></dt> 643 <dd>a file from the directory ./ToBeReviewed/STRING</dd> 642 <dt><a href="./ReadWrite/idl-NetCDF/ncdf_quickwrite/ncdf_quickwrite_helper2.html?format=raw#__str">string</a></dt> 643 <dd>a parameter from the routine ./ReadWrite/idl-NetCDF/ncdf_quickwrite/ncdf_quickwrite_helper2.html</dd> 644 645 <dt><a href="./ToBeReviewed/STRING/strtok.html?format=raw#_Strtok">string</a></dt> 646 <dd>a parameter from the routine ./ToBeReviewed/STRING/strtok.html</dd> 647 648 <dt><a href="./Textoidl/str_token.html?format=raw#_Str_token">string</a></dt> 649 <dd>a parameter from the routine ./Textoidl/str_token.html</dd> 644 650 645 651 <dt><a href="./ToBeReviewed/STRING/str_size.html?format=raw#_STR_SIZE">string</a></dt> 646 652 <dd>a parameter from the routine ./ToBeReviewed/STRING/str_size.html</dd> 647 653 648 <dt><a href="./ReadWrite/idl-NetCDF/ncdf_quickwrite/ncdf_quickwrite_helper2.html?format=raw#__str">string</a></dt>649 <dd>a parameter from the routine ./ReadWrite/idl-NetCDF/ncdf_quickwrite/ncdf_quickwrite_helper2.html</dd>650 651 <dt><a href="./ToBeReviewed/STRING/strtok.html?format=raw#_Strtok">string</a></dt>652 <dd>a parameter from the routine ./ToBeReviewed/STRING/strtok.html</dd>653 654 <dt><a href="./Textoidl/str_token.html?format=raw#_Str_token">string</a></dt>655 <dd>a parameter from the routine ./Textoidl/str_token.html</dd>656 657 654 <dt><a href="./ToBeReviewed/STRING/string2struct.html?format=raw#_string2struct">string2struct</a></dt> 658 655 <dd>a function from the file string2struct.pro</dd> … … 670 667 <dd>a file from the directory ./ToBeReviewed/STRING</dd> 671 668 669 <dt><a href="./Textoidl/nexttok.html?format=raw#_nexttok">strn</a></dt> 670 <dd>a parameter from the routine ./Textoidl/nexttok.html</dd> 671 672 <dt><a href="./ToBeReviewed/STRING/strcnt.html?format=raw#_Strcnt">strn</a></dt> 673 <dd>a parameter from the routine ./ToBeReviewed/STRING/strcnt.html</dd> 674 672 675 <dt><a href="./Textoidl/strcnt.html?format=raw#_Strcnt">strn</a></dt> 673 676 <dd>a parameter from the routine ./Textoidl/strcnt.html</dd> 674 677 675 <dt><a href="./Textoidl/nexttok.html?format=raw#_nexttok">strn</a></dt>676 <dd>a parameter from the routine ./Textoidl/nexttok.html</dd>677 678 <dt><a href="./ToBeReviewed/STRING/strcnt.html?format=raw#_Strcnt">strn</a></dt>679 <dd>a parameter from the routine ./ToBeReviewed/STRING/strcnt.html</dd>680 681 678 <dt><a href="./ToBeReviewed/STRING/strrepl.html?format=raw#_strrepl">strrepl</a></dt> 682 679 <dd>a function from the file strrepl.pro</dd> … … 703 700 <dd>a function from the file strtrans.pro</dd> 704 701 702 <dt><a href="ToBeReviewed/STRING/strtrans.html?format=raw">strtrans.pro</a></dt> 703 <dd>a file from the directory ./ToBeReviewed/STRING</dd> 704 705 705 <dt><a href="Textoidl/strtrans.html?format=raw">strtrans.pro</a></dt> 706 706 <dd>a file from the directory ./Textoidl</dd> 707 707 708 <dt><a href="ToBeReviewed/STRING/strtrans.html?format=raw">strtrans.pro</a></dt>709 <dd>a file from the directory ./ToBeReviewed/STRING</dd>710 711 708 <dt><a href="./ToBeReviewed/STRUCTURE/extractstru.html?format=raw#_extractstru">stru</a></dt> 712 709 <dd>a parameter from the routine ./ToBeReviewed/STRUCTURE/extractstru.html</dd> … … 718 715 <dd>a parameter from the routine ./ToBeReviewed/STRUCTURE/mixstru.html</dd> 719 716 717 <dt><a href="./ToBeReviewed/STRING/strkeywd.html?format=raw#_strkeywd">struct</a></dt> 718 <dd>a parameter from the routine ./ToBeReviewed/STRING/strkeywd.html</dd> 719 720 <dt><a href="./ToBeReviewed/STRUCTURE/struct2string.html?format=raw#_struct2string">struct</a></dt> 721 <dd>a parameter from the routine ./ToBeReviewed/STRUCTURE/struct2string.html</dd> 722 723 <dt><a href="./ToBeReviewed/PLOTS/DIVERS/restoreatt.html?format=raw#_restoreatt">struct</a></dt> 724 <dd>a parameter from the routine ./ToBeReviewed/PLOTS/DIVERS/restoreatt.html</dd> 725 720 726 <dt><a href="./ToBeReviewed/LECTURE/litchamp.html?format=raw#_litchamp">struct</a></dt> 721 727 <dd>a parameter from the routine ./ToBeReviewed/LECTURE/litchamp.html</dd> 722 728 723 <dt><a href="./ToBeReviewed/PLOTS/DIVERS/restoreatt.html?format=raw#_restoreatt">struct</a></dt>724 <dd>a parameter from the routine ./ToBeReviewed/PLOTS/DIVERS/restoreatt.html</dd>725 726 <dt><a href="./ToBeReviewed/STRING/strkeywd.html?format=raw#_strkeywd">struct</a></dt>727 <dd>a parameter from the routine ./ToBeReviewed/STRING/strkeywd.html</dd>728 729 <dt><a href="./ToBeReviewed/STRUCTURE/struct2string.html?format=raw#_struct2string">struct</a></dt>730 <dd>a parameter from the routine ./ToBeReviewed/STRUCTURE/struct2string.html</dd>731 732 729 <dt><a href="./ToBeReviewed/STRUCTURE/struct2string.html?format=raw#_struct2string">struct2string</a></dt> 733 730 <dd>a function from the file struct2string.pro</dd> … … 760 757 <dd>a keyword from the routine read_gribtable</dd> 761 758 759 <dt><a href="./ToBeReviewed/STRING/strcnt.html?format=raw#_Strcnt">substrn</a></dt> 760 <dd>a parameter from the routine ./ToBeReviewed/STRING/strcnt.html</dd> 761 762 762 <dt><a href="./Textoidl/strcnt.html?format=raw#_Strcnt">substrn</a></dt> 763 763 <dd>a parameter from the routine ./Textoidl/strcnt.html</dd> 764 764 765 <dt><a href="./ToBeReviewed/STRING/strcnt.html?format=raw#_Strcnt">substrn</a></dt>766 <dd>a parameter from the routine ./ToBeReviewed/STRING/strcnt.html</dd>767 768 765 <dt><a href="./ReadWrite/idl-NetCDF/ncdf_quickread/ncdf_quickread_helper.html?format=raw#_ncdf_quickread_getFile">suffix</a></dt> 769 766 <dd>a keyword from the routine ncdf_quickread_getFile</dd> … … 781 778 <dd>a parameter from the routine ./ToBeReviewed/PLOTS/DIVERS/checkfield.html</dd> 782 779 780 <dt><a href="./ToBeReviewed/UTILITAIRE/fitintobox.html?format=raw#_err_mess">sz</a></dt> 781 <dd>a parameter from the routine ./ToBeReviewed/UTILITAIRE/fitintobox.html</dd> 782 783 783 <dt><a href="./ToBeReviewed/PLOTS/DIVERS/checkfield.html?format=raw#_err_2d">sz</a></dt> 784 784 <dd>a parameter from the routine ./ToBeReviewed/PLOTS/DIVERS/checkfield.html</dd> 785 785 786 <dt><a href="./ToBeReviewed/UTILITAIRE/fitintobox.html?format=raw#_err_mess">sz</a></dt>787 <dd>a parameter from the routine ./ToBeReviewed/UTILITAIRE/fitintobox.html</dd>788 789 786 </dl> 790 787 -
trunk/SRC/Documentation/idldoc_html_output/idldoc-index-W.html
r104 r106 175 175 <dd>a keyword from the routine dessinetri</dd> 176 176 177 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/pltz.html?format=raw#_pltz">WDEPTH</a></dt> 178 <dd>a keyword from the routine pltz</dd> 179 180 <dt><a href="./ToBeReviewed/UTILITAIRE/fitintobox.html?format=raw#_fitintobox">WDEPTH</a></dt> 181 <dd>a keyword from the routine fitintobox</dd> 182 183 <dt><a href="./ToBeReviewed/TRIANGULATION/section.html?format=raw#_section">WDEPTH</a></dt> 184 <dd>a keyword from the routine section</dd> 185 186 <dt><a href="./ToBeReviewed/CALCULS/grossemoyenne.html?format=raw#_grossemoyenne">WDEPTH</a></dt> 187 <dd>a keyword from the routine grossemoyenne</dd> 188 189 <dt><a href="./ToBeReviewed/CALCULS/moyenne.html?format=raw#_moyenne">WDEPTH</a></dt> 190 <dd>a keyword from the routine moyenne</dd> 191 192 <dt><a href="./ToBeReviewed/GRILLE/decoupeterre.html?format=raw#_decoupeterre">WDEPTH</a></dt> 193 <dd>a keyword from the routine decoupeterre</dd> 194 195 <dt><a href="./ToBeReviewed/GRILLE/grille.html?format=raw#_grille">WDEPTH</a></dt> 196 <dd>a keyword from the routine grille</dd> 197 177 198 <dt><a href="./ToBeReviewed/PLOTS/DIVERS/checkfield.html?format=raw#_checkfield">WDEPTH</a></dt> 178 199 <dd>a keyword from the routine checkfield</dd> 179 200 180 <dt><a href="./ToBeReviewed/UTILITAIRE/fitintobox.html?format=raw#_fitintobox">WDEPTH</a></dt>181 <dd>a keyword from the routine fitintobox</dd>182 183 <dt><a href="./ToBeReviewed/TRIANGULATION/section.html?format=raw#_section">WDEPTH</a></dt>184 <dd>a keyword from the routine section</dd>185 186 <dt><a href="./ToBeReviewed/CALCULS/grossemoyenne.html?format=raw#_grossemoyenne">WDEPTH</a></dt>187 <dd>a keyword from the routine grossemoyenne</dd>188 189 <dt><a href="./ToBeReviewed/CALCULS/moyenne.html?format=raw#_moyenne">WDEPTH</a></dt>190 <dd>a keyword from the routine moyenne</dd>191 192 <dt><a href="./ToBeReviewed/GRILLE/decoupeterre.html?format=raw#_decoupeterre">WDEPTH</a></dt>193 <dd>a keyword from the routine decoupeterre</dd>194 195 <dt><a href="./ToBeReviewed/GRILLE/grille.html?format=raw#_grille">WDEPTH</a></dt>196 <dd>a keyword from the routine grille</dd>197 198 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/pltz.html?format=raw#_pltz">WDEPTH</a></dt>199 <dd>a keyword from the routine pltz</dd>200 201 201 <dt><a href="./Interpolation/fromreg.html?format=raw#_fromreg">WEIG</a></dt> 202 202 <dd>a keyword from the routine fromreg</dd> … … 214 214 <dd>a parameter from the routine ./ToBeReviewed/PLOTS/VECTEUR/vecteur.html</dd> 215 215 216 <dt><a href="./Interpolation/compute_fromreg_bilinear_weigaddr.html?format=raw#_compute_fromreg_bilinear_weigaddr">weig</a></dt> 217 <dd>a parameter from the routine ./Interpolation/compute_fromreg_bilinear_weigaddr.html</dd> 218 216 219 <dt><a href="./Interpolation/compute_fromreg_imoms3_weigaddr.html?format=raw#_compute_fromreg_imoms3_weigaddr">weig</a></dt> 217 220 <dd>a parameter from the routine ./Interpolation/compute_fromreg_imoms3_weigaddr.html</dd> 218 221 219 <dt><a href="./Interpolation/compute_fromreg_bilinear_weigaddr.html?format=raw#_compute_fromreg_bilinear_weigaddr">weig</a></dt>220 <dd>a parameter from the routine ./Interpolation/compute_fromreg_bilinear_weigaddr.html</dd>221 222 <dt><a href="./Interpolation/compute_fromreg_imoms3_weigaddr.html?format=raw#_compute_fromreg_imoms3_weigaddr">weig</a></dt>223 <dd>a parameter from the routine ./Interpolation/compute_fromreg_imoms3_weigaddr.html</dd>224 225 222 <dt><a href="./ToBeReviewed/STRUCTURE/where_tag.html?format=raw#_where_Tag">where_Tag</a></dt> 226 223 <dd>a function from the file where_tag.pro</dd> -
trunk/SRC/Documentation/idldoc_html_output/idldoc-index-X.html
r104 r106 172 172 <dl> 173 173 174 <dt><a href="./ToBeReviewed/PLOTS/VECTEUR/velovect.html?format=raw#_VELOVECT">X</a></dt> 175 <dd>a parameter from the routine ./ToBeReviewed/PLOTS/VECTEUR/velovect.html</dd> 176 177 <dt><a href="./ToBeReviewed/STATISTICS/a_correlate2d.html?format=raw#_Auto_Cov2d">X</a></dt> 178 <dd>a parameter from the routine ./ToBeReviewed/STATISTICS/a_correlate2d.html</dd> 179 180 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/plt1d.html?format=raw#_plt1d">X</a></dt> 181 <dd>a keyword from the routine plt1d</dd> 182 183 <dt><a href="./ToBeReviewed/STRING/isnumber.html?format=raw#_ISNUMBER">X</a></dt> 184 <dd>a parameter from the routine ./ToBeReviewed/STRING/isnumber.html</dd> 185 174 186 <dt><a href="./ToBeReviewed/STATISTICS/c_timecorrelate.html?format=raw#_C_Timecorrelate">X</a></dt> 175 187 <dd>a parameter from the routine ./ToBeReviewed/STATISTICS/c_timecorrelate.html</dd> 176 188 189 <dt><a href="./ToBeReviewed/STATISTICS/a_timecorrelate.html?format=raw#_A_TimeCorrelate">X</a></dt> 190 <dd>a parameter from the routine ./ToBeReviewed/STATISTICS/a_timecorrelate.html</dd> 191 177 192 <dt><a href="./ToBeReviewed/STATISTICS/a_timecorrelate.html?format=raw#_TimeAuto_Cov">X</a></dt> 178 193 <dd>a parameter from the routine ./ToBeReviewed/STATISTICS/a_timecorrelate.html</dd> 179 194 180 <dt><a href="./ToBeReviewed/STATISTICS/a_timecorrelate.html?format=raw#_A_TimeCorrelate">X</a></dt> 181 <dd>a parameter from the routine ./ToBeReviewed/STATISTICS/a_timecorrelate.html</dd> 182 183 <dt><a href="./ToBeReviewed/STRING/isnumber.html?format=raw#_ISNUMBER">X</a></dt> 184 <dd>a parameter from the routine ./ToBeReviewed/STRING/isnumber.html</dd> 185 186 <dt><a href="./ToBeReviewed/PLOTS/VECTEUR/velovect.html?format=raw#_VELOVECT">X</a></dt> 187 <dd>a parameter from the routine ./ToBeReviewed/PLOTS/VECTEUR/velovect.html</dd> 188 189 <dt><a href="./ToBeReviewed/STATISTICS/a_correlate2d.html?format=raw#_Auto_Cov2d">X</a></dt> 190 <dd>a parameter from the routine ./ToBeReviewed/STATISTICS/a_correlate2d.html</dd> 191 192 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/plt1d.html?format=raw#_plt1d">X</a></dt> 193 <dd>a keyword from the routine plt1d</dd> 195 <dt><a href="./ToBeReviewed/PLOTS/DIVERS/rotation.html?format=raw#_ROTATION">X</a></dt> 196 <dd>a parameter from the routine ./ToBeReviewed/PLOTS/DIVERS/rotation.html</dd> 194 197 195 198 <dt><a href="./ToBeReviewed/STATISTICS/a_correlate2d.html?format=raw#_A_Correlate2d">X</a></dt> 196 199 <dd>a parameter from the routine ./ToBeReviewed/STATISTICS/a_correlate2d.html</dd> 197 200 198 <dt><a href="./ToBeReviewed/PLOTS/DIVERS/rotation.html?format=raw#_ROTATION">X</a></dt>199 <dd>a parameter from the routine ./ToBeReviewed/PLOTS/DIVERS/rotation.html</dd>200 201 201 <dt><a href="./ToBeReviewed/IMAGE/imdisp.html?format=raw#_IMDISP_IMSIZE">X0</a></dt> 202 202 <dd>a parameter from the routine ./ToBeReviewed/IMAGE/imdisp.html</dd> … … 208 208 <dd>a keyword from the routine initncdf</dd> 209 209 210 <dt><a href="./ToBeReviewed/GRILLE/domdef.html?format=raw#_domdef">XINDEX</a></dt> 211 <dd>a keyword from the routine domdef</dd> 212 210 213 <dt><a href="./ToBeReviewed/PLOTS/DIVERS/checktypeminmax.html?format=raw#_checktypeminmax">XINDEX</a></dt> 211 214 <dd>a keyword from the routine checktypeminmax</dd> 212 215 213 <dt><a href="./ToBeReviewed/GRILLE/domdef.html?format=raw#_domdef">XINDEX</a></dt>214 <dd>a keyword from the routine domdef</dd>215 216 216 <dt><a href="./ToBeReviewed/COULEURS/xlct.html?format=raw#_XLCT_PSAVE">XLCT_PSAVE</a></dt> 217 217 <dd>a procedure from the file xlct.pro</dd> … … 262 262 <dd>a procedure from the file xpal.pro</dd> 263 263 264 <dt><a href="./ToBeReviewed/TRIANGULATION/drawcoast_c.html?format=raw#_drawcoast_c">XSEUIL</a></dt> 265 <dd>a keyword from the routine drawcoast_c</dd> 266 264 267 <dt><a href="./ToBeReviewed/TRIANGULATION/drawcoast_e.html?format=raw#_drawcoast_e">XSEUIL</a></dt> 265 268 <dd>a keyword from the routine drawcoast_e</dd> 266 269 267 <dt><a href="./ToBeReviewed/TRIANGULATION/drawcoast_c.html?format=raw#_drawcoast_c">XSEUIL</a></dt> 268 <dd>a keyword from the routine drawcoast_c</dd> 270 <dt><a href="./buildinit.html?format=raw#_CW_FIELD2">XSIZE</a></dt> 271 <dd>a keyword from the routine CW_FIELD2</dd> 272 273 <dt><a href="./ToBeReviewed/IMAGE/imdisp.html?format=raw#_IMDISP_IMSIZE">XSIZE</a></dt> 274 <dd>a parameter from the routine ./ToBeReviewed/IMAGE/imdisp.html</dd> 269 275 270 276 <dt><a href="./ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_bgroup.html?format=raw#_CW_BGROUP">XSIZE</a></dt> 271 277 <dd>a keyword from the routine CW_BGROUP</dd> 272 278 273 <dt><a href="./buildinit.html?format=raw#_CW_FIELD2">XSIZE</a></dt>274 <dd>a keyword from the routine CW_FIELD2</dd>275 276 <dt><a href="./ToBeReviewed/IMAGE/imdisp.html?format=raw#_IMDISP_IMSIZE">XSIZE</a></dt>277 <dd>a parameter from the routine ./ToBeReviewed/IMAGE/imdisp.html</dd>278 279 279 <dt><a href="./ToBeReviewed/GRILLE/tracegrille.html?format=raw#_tracegrille">XSTRIDE</a></dt> 280 280 <dd>a keyword from the routine tracegrille</dd> … … 313 313 <dd>a parameter from the routine ./ToBeReviewed/STATISTICS/c_timecorrelate.html</dd> 314 314 315 <dt><a href="./ToBeReviewed/TRIANGULATION/dessinetri.html?format=raw#_dessinetri">x</a></dt> 316 <dd>a parameter from the routine ./ToBeReviewed/TRIANGULATION/dessinetri.html</dd> 317 318 <dt><a href="./Interpolation/spl_keep_mean.html?format=raw#_spl_keep_mean">x</a></dt> 319 <dd>a parameter from the routine ./Interpolation/spl_keep_mean.html</dd> 320 321 <dt><a href="./ToBeReviewed/PLOTS/reinitplt.html?format=raw#_reinitplt">x</a></dt> 322 <dd>a keyword from the routine reinitplt</dd> 323 315 324 <dt><a href="./Interpolation/spl_incr.html?format=raw#_pure_convex">x</a></dt> 316 325 <dd>a parameter from the routine ./Interpolation/spl_incr.html</dd> 326 327 <dt><a href="./ToBeReviewed/PLOTS/LABEL/label_date.html?format=raw#_LABEL_DATE">x</a></dt> 328 <dd>a parameter from the routine ./ToBeReviewed/PLOTS/LABEL/label_date.html</dd> 329 330 <dt><a href="./Interpolation/spl_incr.html?format=raw#_pure_concave">x</a></dt> 331 <dd>a parameter from the routine ./Interpolation/spl_incr.html</dd> 332 333 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/splot.html?format=raw#_splot">x</a></dt> 334 <dd>a parameter from the routine ./ToBeReviewed/PLOTS/DESSINE/splot.html</dd> 335 336 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/scontour.html?format=raw#_scontour">x</a></dt> 337 <dd>a parameter from the routine ./ToBeReviewed/PLOTS/DESSINE/scontour.html</dd> 338 339 <dt><a href="./Interpolation/spl_fstdrv.html?format=raw#_spl_fstdrv">x</a></dt> 340 <dd>a parameter from the routine ./Interpolation/spl_fstdrv.html</dd> 341 342 <dt><a href="./Interpolation/spl_incr.html?format=raw#_spl_incr">x</a></dt> 343 <dd>a parameter from the routine ./Interpolation/spl_incr.html</dd> 344 345 <dt><a href="./Interpolation/inquad.html?format=raw#_inquad">x</a></dt> 346 <dd>a parameter from the routine ./Interpolation/inquad.html</dd> 347 348 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/pltbase.html?format=raw#_pltbase">x</a></dt> 349 <dd>a parameter from the routine ./ToBeReviewed/PLOTS/DESSINE/pltbase.html</dd> 317 350 318 351 <dt><a href="./ToBeReviewed/MATRICE/congridseb.html?format=raw#_congridseb">x</a></dt> 319 352 <dd>a parameter from the routine ./ToBeReviewed/MATRICE/congridseb.html</dd> 320 353 321 <dt><a href="./Interpolation/spl_incr.html?format=raw#_pure_concave">x</a></dt>322 <dd>a parameter from the routine ./Interpolation/spl_incr.html</dd>323 324 <dt><a href="./Interpolation/spl_fstdrv.html?format=raw#_spl_fstdrv">x</a></dt>325 <dd>a parameter from the routine ./Interpolation/spl_fstdrv.html</dd>326 327 354 <dt><a href="./ToBeReviewed/MATRICE/cmapply.html?format=raw#_cmapply_product">x</a></dt> 328 355 <dd>a parameter from the routine ./ToBeReviewed/MATRICE/cmapply.html</dd> 329 356 330 <dt><a href="./ToBeReviewed/PLOTS/reinitplt.html?format=raw#_reinitplt">x</a></dt> 331 <dd>a keyword from the routine reinitplt</dd> 332 333 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/splot.html?format=raw#_splot">x</a></dt> 334 <dd>a parameter from the routine ./ToBeReviewed/PLOTS/DESSINE/splot.html</dd> 335 336 <dt><a href="./Interpolation/spl_keep_mean.html?format=raw#_spl_keep_mean">x</a></dt> 337 <dd>a parameter from the routine ./Interpolation/spl_keep_mean.html</dd> 338 339 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/scontour.html?format=raw#_scontour">x</a></dt> 340 <dd>a parameter from the routine ./ToBeReviewed/PLOTS/DESSINE/scontour.html</dd> 341 342 <dt><a href="./Interpolation/spl_incr.html?format=raw#_spl_incr">x</a></dt> 343 <dd>a parameter from the routine ./Interpolation/spl_incr.html</dd> 344 345 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/pltbase.html?format=raw#_pltbase">x</a></dt> 346 <dd>a parameter from the routine ./ToBeReviewed/PLOTS/DESSINE/pltbase.html</dd> 347 348 <dt><a href="./ToBeReviewed/PLOTS/LABEL/label_date.html?format=raw#_LABEL_DATE">x</a></dt> 349 <dd>a parameter from the routine ./ToBeReviewed/PLOTS/LABEL/label_date.html</dd> 350 351 <dt><a href="./Interpolation/inquad.html?format=raw#_inquad">x</a></dt> 352 <dd>a parameter from the routine ./Interpolation/inquad.html</dd> 353 354 <dt><a href="./ToBeReviewed/TRIANGULATION/dessinetri.html?format=raw#_dessinetri">x</a></dt> 355 <dd>a parameter from the routine ./ToBeReviewed/TRIANGULATION/dessinetri.html</dd> 357 <dt><a href="./Interpolation/cutsegment.html?format=raw#_cutsegment">x0</a></dt> 358 <dd>a parameter from the routine ./Interpolation/cutsegment.html</dd> 356 359 357 360 <dt><a href="./Interpolation/cutpar.html?format=raw#_cutpar">x0</a></dt> 358 361 <dd>a parameter from the routine ./Interpolation/cutpar.html</dd> 359 362 360 <dt><a href="./Interpolation/cutsegment.html?format=raw#_cutsegment">x0</a></dt>361 <dd>a parameter from the routine ./Interpolation/cutsegment.html</dd>362 363 363 <dt><a href="./Interpolation/square2quadrilateral.html?format=raw#_square2quadrilateral">x0in</a></dt> 364 364 <dd>a parameter from the routine ./Interpolation/square2quadrilateral.html</dd> 365 365 366 <dt><a href="./Interpolation/square2quadrilateral.html?format=raw#_square2quadrilateral">x0in</a></dt>367 <dd>a parameter from the routine ./Interpolation/square2quadrilateral.html</dd>368 369 366 <dt><a href="./Interpolation/quadrilateral2square.html?format=raw#_quadrilateral2square">x0in</a></dt> 370 367 <dd>a parameter from the routine ./Interpolation/quadrilateral2square.html</dd> 371 368 369 <dt><a href="./Interpolation/cutsegment.html?format=raw#_cutsegment">x1</a></dt> 370 <dd>a parameter from the routine ./Interpolation/cutsegment.html</dd> 371 372 <dt><a href="./Interpolation/spl_incr.html?format=raw#_pure_concave">x1</a></dt> 373 <dd>a parameter from the routine ./Interpolation/spl_incr.html</dd> 374 372 375 <dt><a href="./ToBeReviewed/GRILLE/domdef.html?format=raw#_domdef">x1</a></dt> 373 376 <dd>a parameter from the routine ./ToBeReviewed/GRILLE/domdef.html</dd> 374 377 375 <dt><a href="./Interpolation/cutsegment.html?format=raw#_cutsegment">x1</a></dt>376 <dd>a parameter from the routine ./Interpolation/cutsegment.html</dd>377 378 378 <dt><a href="./Interpolation/inquad.html?format=raw#_inquad">x1</a></dt> 379 379 <dd>a parameter from the routine ./Interpolation/inquad.html</dd> … … 382 382 <dd>a parameter from the routine ./Interpolation/cutpar.html</dd> 383 383 384 <dt><a href="./Interpolation/spl_incr.html?format=raw#_pure_concave">x1</a></dt>385 <dd>a parameter from the routine ./Interpolation/spl_incr.html</dd>386 387 384 <dt><a href="./Interpolation/spl_incr.html?format=raw#_pure_convex">x1</a></dt> 388 385 <dd>a parameter from the routine ./Interpolation/spl_incr.html</dd> … … 391 388 <dd>a parameter from the routine ./Interpolation/inrecgrid.html</dd> 392 389 390 <dt><a href="./Interpolation/quadrilateral2square.html?format=raw#_quadrilateral2square">x1in</a></dt> 391 <dd>a parameter from the routine ./Interpolation/quadrilateral2square.html</dd> 392 393 393 <dt><a href="./Interpolation/square2quadrilateral.html?format=raw#_square2quadrilateral">x1in</a></dt> 394 394 <dd>a parameter from the routine ./Interpolation/square2quadrilateral.html</dd> 395 395 396 <dt><a href="./Interpolation/square2quadrilateral.html?format=raw#_square2quadrilateral">x1in</a></dt> 397 <dd>a parameter from the routine ./Interpolation/square2quadrilateral.html</dd> 398 399 <dt><a href="./Interpolation/quadrilateral2square.html?format=raw#_quadrilateral2square">x1in</a></dt> 400 <dd>a parameter from the routine ./Interpolation/quadrilateral2square.html</dd> 396 <dt><a href="./Interpolation/spl_incr.html?format=raw#_pure_convex">x2</a></dt> 397 <dd>a parameter from the routine ./Interpolation/spl_incr.html</dd> 401 398 402 399 <dt><a href="./Interpolation/cutpar.html?format=raw#_cutpar">x2</a></dt> 403 400 <dd>a parameter from the routine ./Interpolation/cutpar.html</dd> 404 401 405 <dt><a href="./ Interpolation/spl_incr.html?format=raw#_pure_concave">x2</a></dt>406 <dd>a parameter from the routine ./ Interpolation/spl_incr.html</dd>402 <dt><a href="./ToBeReviewed/GRILLE/domdef.html?format=raw#_domdef">x2</a></dt> 403 <dd>a parameter from the routine ./ToBeReviewed/GRILLE/domdef.html</dd> 407 404 408 405 <dt><a href="./Interpolation/inquad.html?format=raw#_inquad">x2</a></dt> 409 406 <dd>a parameter from the routine ./Interpolation/inquad.html</dd> 410 407 411 <dt><a href="./Interpolation/spl_ incr.html?format=raw#_pure_convex">x2</a></dt>412 <dd>a parameter from the routine ./Interpolation/spl_ incr.html</dd>413 414 <dt><a href="./Interpolation/spl_incr.html?format=raw#_ spl_incr">x2</a></dt>408 <dt><a href="./Interpolation/spl_fstdrv.html?format=raw#_spl_fstdrv">x2</a></dt> 409 <dd>a parameter from the routine ./Interpolation/spl_fstdrv.html</dd> 410 411 <dt><a href="./Interpolation/spl_incr.html?format=raw#_pure_concave">x2</a></dt> 415 412 <dd>a parameter from the routine ./Interpolation/spl_incr.html</dd> 416 413 … … 418 415 <dd>a parameter from the routine ./Interpolation/spl_keep_mean.html</dd> 419 416 420 <dt><a href="./ ToBeReviewed/GRILLE/domdef.html?format=raw#_domdef">x2</a></dt>421 <dd>a parameter from the routine ./ ToBeReviewed/GRILLE/domdef.html</dd>422 423 <dt><a href="./Interpolation/ spl_fstdrv.html?format=raw#_spl_fstdrv">x2</a></dt>424 <dd>a parameter from the routine ./Interpolation/ spl_fstdrv.html</dd>417 <dt><a href="./Interpolation/spl_incr.html?format=raw#_spl_incr">x2</a></dt> 418 <dd>a parameter from the routine ./Interpolation/spl_incr.html</dd> 419 420 <dt><a href="./Interpolation/quadrilateral2square.html?format=raw#_quadrilateral2square">x2in</a></dt> 421 <dd>a parameter from the routine ./Interpolation/quadrilateral2square.html</dd> 425 422 426 423 <dt><a href="./Interpolation/square2quadrilateral.html?format=raw#_square2quadrilateral">x2in</a></dt> 427 424 <dd>a parameter from the routine ./Interpolation/square2quadrilateral.html</dd> 428 425 429 <dt><a href="./Interpolation/quadrilateral2square.html?format=raw#_quadrilateral2square">x2in</a></dt>430 <dd>a parameter from the routine ./Interpolation/quadrilateral2square.html</dd>431 432 <dt><a href="./Interpolation/square2quadrilateral.html?format=raw#_square2quadrilateral">x2in</a></dt>433 <dd>a parameter from the routine ./Interpolation/square2quadrilateral.html</dd>434 435 426 <dt><a href="./Interpolation/cutpar.html?format=raw#_cutpar">x3</a></dt> 436 427 <dd>a parameter from the routine ./Interpolation/cutpar.html</dd> … … 445 436 <dd>a parameter from the routine ./Interpolation/quadrilateral2square.html</dd> 446 437 447 <dt><a href="./Interpolation/square2quadrilateral.html?format=raw#_square2quadrilateral">x3in</a></dt>448 <dd>a parameter from the routine ./Interpolation/square2quadrilateral.html</dd>449 450 438 <dt><a href="./Interpolation/inquad.html?format=raw#_inquad">x4</a></dt> 451 439 <dd>a parameter from the routine ./Interpolation/inquad.html</dd> … … 460 448 <dd>a procedure from the file buildinit.pro</dd> 461 449 450 <dt><a href="./ToBeReviewed/HOPE/findlineandpointtype.html?format=raw#_findlineandpointtype">xaxis</a></dt> 451 <dd>a parameter from the routine ./ToBeReviewed/HOPE/findlineandpointtype.html</dd> 452 462 453 <dt><a href="./ToBeReviewed/HOPE/computehopegrid.html?format=raw#_computehopegrid">xaxis</a></dt> 463 454 <dd>a parameter from the routine ./ToBeReviewed/HOPE/computehopegrid.html</dd> 464 455 465 <dt><a href="./ToBeReviewed/HOPE/findlineandpointtype.html?format=raw#_findlineandpointtype">xaxis</a></dt>466 <dd>a parameter from the routine ./ToBeReviewed/HOPE/findlineandpointtype.html</dd>467 468 456 <dt><a href="./ToBeReviewed/WIDGET/AUTOUR_de_XXX/xcreateanim.html?format=raw#_xcreateanim">xcreateanim</a></dt> 469 457 <dd>a procedure from the file xcreateanim.pro</dd> … … 493 481 <dd>a file from the directory ./ToBeReviewed/UTILITAIRE</dd> 494 482 483 <dt><a href="./ToBeReviewed/TRIANGULATION/tracemask.html?format=raw#_tracemask">xin</a></dt> 484 <dd>a parameter from the routine ./ToBeReviewed/TRIANGULATION/tracemask.html</dd> 485 495 486 <dt><a href="./Interpolation/imoms3.html?format=raw#_imoms3">xin</a></dt> 496 487 <dd>a parameter from the routine ./Interpolation/imoms3.html</dd> … … 499 490 <dd>a parameter from the routine ./ToBeReviewed/TRIANGULATION/fillcornermask.html</dd> 500 491 501 <dt><a href="./ToBeReviewed/TRIANGULATION/tracemask.html?format=raw#_tracemask">xin</a></dt>502 <dd>a parameter from the routine ./ToBeReviewed/TRIANGULATION/tracemask.html</dd>503 504 492 <dt><a href="ToBeReviewed/COULEURS/xlct.html?format=raw">xlct.pro</a></dt> 505 493 <dd>a file from the directory ./ToBeReviewed/COULEURS</dd> … … 574 562 <dd>a parameter from the routine ./Interpolation/square2quadrilateral.html</dd> 575 563 576 <dt><a href="./Interpolation/square2quadrilateral.html?format=raw#_square2quadrilateral">xxin</a></dt>577 <dd>a parameter from the routine ./Interpolation/square2quadrilateral.html</dd>578 579 564 <dt><a href="./Interpolation/quadrilateral2square.html?format=raw#_quadrilateral2square">xxin</a></dt> 580 565 <dd>a parameter from the routine ./Interpolation/quadrilateral2square.html</dd> -
trunk/SRC/Documentation/idldoc_html_output/idldoc-index-Y.html
r104 r106 172 172 <dl> 173 173 174 <dt><a href="./ToBeReviewed/STATISTICS/c_timecorrelate.html?format=raw#_C_Timecorrelate">Y</a></dt> 175 <dd>a parameter from the routine ./ToBeReviewed/STATISTICS/c_timecorrelate.html</dd> 176 177 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/plt1d.html?format=raw#_plt1d">Y</a></dt> 178 <dd>a keyword from the routine plt1d</dd> 179 180 <dt><a href="./ToBeReviewed/PLOTS/DIVERS/rotation.html?format=raw#_ROTATION">Y</a></dt> 181 <dd>a parameter from the routine ./ToBeReviewed/PLOTS/DIVERS/rotation.html</dd> 182 174 183 <dt><a href="./ToBeReviewed/PLOTS/VECTEUR/velovect.html?format=raw#_VELOVECT">Y</a></dt> 175 184 <dd>a parameter from the routine ./ToBeReviewed/PLOTS/VECTEUR/velovect.html</dd> 176 185 177 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/plt1d.html?format=raw#_plt1d">Y</a></dt>178 <dd>a keyword from the routine plt1d</dd>179 180 <dt><a href="./ToBeReviewed/STATISTICS/c_timecorrelate.html?format=raw#_C_Timecorrelate">Y</a></dt>181 <dd>a parameter from the routine ./ToBeReviewed/STATISTICS/c_timecorrelate.html</dd>182 183 <dt><a href="./ToBeReviewed/PLOTS/DIVERS/rotation.html?format=raw#_ROTATION">Y</a></dt>184 <dd>a parameter from the routine ./ToBeReviewed/PLOTS/DIVERS/rotation.html</dd>185 186 186 <dt><a href="./ToBeReviewed/IMAGE/imdisp.html?format=raw#_IMDISP_IMSIZE">Y0</a></dt> 187 187 <dd>a parameter from the routine ./ToBeReviewed/IMAGE/imdisp.html</dd> … … 214 214 <dd>a keyword from the routine CW_BGROUP</dd> 215 215 216 <dt><a href="./Interpolation/spl_incr.html?format=raw#_spl_incr">YP0</a></dt> 217 <dd>a keyword from the routine spl_incr</dd> 218 216 219 <dt><a href="./Interpolation/spl_keep_mean.html?format=raw#_spl_keep_mean">YP0</a></dt> 217 220 <dd>a keyword from the routine spl_keep_mean</dd> 218 221 219 <dt><a href="./Interpolation/spl_incr.html?format=raw#_spl_incr">YP0</a></dt>220 <dd>a keyword from the routine spl_incr</dd>221 222 222 <dt><a href="./ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_bgroup.html?format=raw#_CW_BGROUP">YPAD</a></dt> 223 223 <dd>a keyword from the routine CW_BGROUP</dd> … … 235 235 <dd>a keyword from the routine drawcoast_e</dd> 236 236 237 <dt><a href="./ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_bgroup.html?format=raw#_CW_BGROUP">YSIZE</a></dt> 238 <dd>a keyword from the routine CW_BGROUP</dd> 239 237 240 <dt><a href="./ToBeReviewed/IMAGE/imdisp.html?format=raw#_IMDISP_IMSIZE">YSIZE</a></dt> 238 241 <dd>a parameter from the routine ./ToBeReviewed/IMAGE/imdisp.html</dd> … … 241 244 <dd>a keyword from the routine CW_FIELD2</dd> 242 245 243 <dt><a href="./ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_bgroup.html?format=raw#_CW_BGROUP">YSIZE</a></dt>244 <dd>a keyword from the routine CW_BGROUP</dd>245 246 246 <dt><a href="./ToBeReviewed/GRILLE/tracegrille.html?format=raw#_tracegrille">YSTRIDE</a></dt> 247 247 <dd>a keyword from the routine tracegrille</dd> 248 248 249 <dt><a href="./ToBeReviewed/PLOTS/DIVERS/checktypeminmax.html?format=raw#_checktypeminmax">YT</a></dt> 250 <dd>a keyword from the routine checktypeminmax</dd> 251 249 252 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/pltt.html?format=raw#_pltt">YT</a></dt> 250 253 <dd>a keyword from the routine pltt</dd> 251 254 252 <dt><a href="./ToBeReviewed/PLOTS/DIVERS/checktypeminmax.html?format=raw#_checktypeminmax">YT</a></dt>253 <dd>a keyword from the routine checktypeminmax</dd>254 255 255 <dt><a href="./ToBeReviewed/POSTSCRIPT/calibre.html?format=raw#_calibre">YXASPECT</a></dt> 256 256 <dd>a keyword from the routine calibre</dd> … … 262 262 <dd>a keyword from the routine ncdf_timeget</dd> 263 263 264 <dt><a href="./ToBeReviewed/PLOTS/DIVERS/checktypeminmax.html?format=raw#_checktypeminmax">YZ</a></dt> 265 <dd>a keyword from the routine checktypeminmax</dd> 266 264 267 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/pltz.html?format=raw#_pltz">YZ</a></dt> 265 268 <dd>a keyword from the routine pltz</dd> 266 269 267 <dt><a href="./ToBeReviewed/PLOTS/DIVERS/checktypeminmax.html?format=raw#_checktypeminmax">YZ</a></dt>268 <dd>a keyword from the routine checktypeminmax</dd>269 270 270 <dt><a href="./ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_bgroup.html?format=raw#_CW_BGROUP">Y_SCROLL_SIZE</a></dt> 271 271 <dd>a keyword from the routine CW_BGROUP</dd> … … 274 274 <dd>a parameter from the routine ./ToBeReviewed/STATISTICS/c_timecorrelate.html</dd> 275 275 276 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/pltbase.html?format=raw#_pltbase">y</a></dt> 277 <dd>a parameter from the routine ./ToBeReviewed/PLOTS/DESSINE/pltbase.html</dd> 278 279 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/splot.html?format=raw#_splot">y</a></dt> 280 <dd>a parameter from the routine ./ToBeReviewed/PLOTS/DESSINE/splot.html</dd> 281 282 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/scontour.html?format=raw#_scontour">y</a></dt> 283 <dd>a parameter from the routine ./ToBeReviewed/PLOTS/DESSINE/scontour.html</dd> 284 285 <dt><a href="./Interpolation/spl_fstdrv.html?format=raw#_spl_fstdrv">y</a></dt> 286 <dd>a parameter from the routine ./Interpolation/spl_fstdrv.html</dd> 287 276 288 <dt><a href="./ToBeReviewed/TRIANGULATION/dessinetri.html?format=raw#_dessinetri">y</a></dt> 277 289 <dd>a parameter from the routine ./ToBeReviewed/TRIANGULATION/dessinetri.html</dd> 278 290 291 <dt><a href="./Interpolation/spl_incr.html?format=raw#_spl_incr">y</a></dt> 292 <dd>a parameter from the routine ./Interpolation/spl_incr.html</dd> 293 294 <dt><a href="./ToBeReviewed/PLOTS/reinitplt.html?format=raw#_reinitplt">y</a></dt> 295 <dd>a keyword from the routine reinitplt</dd> 296 279 297 <dt><a href="./Interpolation/inquad.html?format=raw#_inquad">y</a></dt> 280 298 <dd>a parameter from the routine ./Interpolation/inquad.html</dd> 281 299 282 <dt><a href="./Interpolation/spl_fstdrv.html?format=raw#_spl_fstdrv">y</a></dt>283 <dd>a parameter from the routine ./Interpolation/spl_fstdrv.html</dd>284 285 <dt><a href="./Interpolation/spl_incr.html?format=raw#_spl_incr">y</a></dt>286 <dd>a parameter from the routine ./Interpolation/spl_incr.html</dd>287 288 300 <dt><a href="./ToBeReviewed/MATRICE/congridseb.html?format=raw#_congridseb">y</a></dt> 289 301 <dd>a parameter from the routine ./ToBeReviewed/MATRICE/congridseb.html</dd> 290 302 291 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/pltbase.html?format=raw#_pltbase">y</a></dt> 292 <dd>a parameter from the routine ./ToBeReviewed/PLOTS/DESSINE/pltbase.html</dd> 293 294 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/scontour.html?format=raw#_scontour">y</a></dt> 295 <dd>a parameter from the routine ./ToBeReviewed/PLOTS/DESSINE/scontour.html</dd> 296 297 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/splot.html?format=raw#_splot">y</a></dt> 298 <dd>a parameter from the routine ./ToBeReviewed/PLOTS/DESSINE/splot.html</dd> 299 300 <dt><a href="./ToBeReviewed/PLOTS/reinitplt.html?format=raw#_reinitplt">y</a></dt> 301 <dd>a keyword from the routine reinitplt</dd> 303 <dt><a href="./Interpolation/cutsegment.html?format=raw#_cutsegment">y0</a></dt> 304 <dd>a parameter from the routine ./Interpolation/cutsegment.html</dd> 302 305 303 306 <dt><a href="./Interpolation/cutpar.html?format=raw#_cutpar">y0</a></dt> 304 307 <dd>a parameter from the routine ./Interpolation/cutpar.html</dd> 305 308 306 <dt><a href="./Interpolation/cutsegment.html?format=raw#_cutsegment">y0</a></dt>307 <dd>a parameter from the routine ./Interpolation/cutsegment.html</dd>308 309 309 <dt><a href="./Interpolation/square2quadrilateral.html?format=raw#_square2quadrilateral">y0in</a></dt> 310 310 <dd>a parameter from the routine ./Interpolation/square2quadrilateral.html</dd> 311 311 312 <dt><a href="./Interpolation/square2quadrilateral.html?format=raw#_square2quadrilateral">y0in</a></dt>313 <dd>a parameter from the routine ./Interpolation/square2quadrilateral.html</dd>314 315 312 <dt><a href="./Interpolation/quadrilateral2square.html?format=raw#_quadrilateral2square">y0in</a></dt> 316 313 <dd>a parameter from the routine ./Interpolation/quadrilateral2square.html</dd> 317 314 315 <dt><a href="./Interpolation/cutsegment.html?format=raw#_cutsegment">y1</a></dt> 316 <dd>a parameter from the routine ./Interpolation/cutsegment.html</dd> 317 318 318 <dt><a href="./Interpolation/spl_incr.html?format=raw#_pure_convex">y1</a></dt> 319 319 <dd>a parameter from the routine ./Interpolation/spl_incr.html</dd> 320 320 321 <dt><a href="./ToBeReviewed/GRILLE/domdef.html?format=raw#_domdef">y1</a></dt> 322 <dd>a parameter from the routine ./ToBeReviewed/GRILLE/domdef.html</dd> 323 324 <dt><a href="./Interpolation/inquad.html?format=raw#_inquad">y1</a></dt> 325 <dd>a parameter from the routine ./Interpolation/inquad.html</dd> 326 321 327 <dt><a href="./Interpolation/spl_incr.html?format=raw#_pure_concave">y1</a></dt> 322 328 <dd>a parameter from the routine ./Interpolation/spl_incr.html</dd> 323 329 324 <dt><a href="./Interpolation/inquad.html?format=raw#_inquad">y1</a></dt>325 <dd>a parameter from the routine ./Interpolation/inquad.html</dd>326 327 330 <dt><a href="./Interpolation/cutpar.html?format=raw#_cutpar">y1</a></dt> 328 331 <dd>a parameter from the routine ./Interpolation/cutpar.html</dd> 329 332 330 <dt><a href="./ToBeReviewed/GRILLE/domdef.html?format=raw#_domdef">y1</a></dt>331 <dd>a parameter from the routine ./ToBeReviewed/GRILLE/domdef.html</dd>332 333 <dt><a href="./Interpolation/cutsegment.html?format=raw#_cutsegment">y1</a></dt>334 <dd>a parameter from the routine ./Interpolation/cutsegment.html</dd>335 336 333 <dt><a href="./Interpolation/inrecgrid.html?format=raw#_inrecgrid">y1d</a></dt> 337 334 <dd>a parameter from the routine ./Interpolation/inrecgrid.html</dd> 338 335 336 <dt><a href="./Interpolation/quadrilateral2square.html?format=raw#_quadrilateral2square">y1in</a></dt> 337 <dd>a parameter from the routine ./Interpolation/quadrilateral2square.html</dd> 338 339 339 <dt><a href="./Interpolation/square2quadrilateral.html?format=raw#_square2quadrilateral">y1in</a></dt> 340 340 <dd>a parameter from the routine ./Interpolation/square2quadrilateral.html</dd> 341 341 342 <dt><a href="./Interpolation/ quadrilateral2square.html?format=raw#_quadrilateral2square">y1in</a></dt>343 <dd>a parameter from the routine ./Interpolation/ quadrilateral2square.html</dd>344 345 <dt><a href="./Interpolation/s quare2quadrilateral.html?format=raw#_square2quadrilateral">y1in</a></dt>346 <dd>a parameter from the routine ./Interpolation/s quare2quadrilateral.html</dd>342 <dt><a href="./Interpolation/spl_incr.html?format=raw#_pure_concave">y2</a></dt> 343 <dd>a parameter from the routine ./Interpolation/spl_incr.html</dd> 344 345 <dt><a href="./Interpolation/spl_incr.html?format=raw#_pure_convex">y2</a></dt> 346 <dd>a parameter from the routine ./Interpolation/spl_incr.html</dd> 347 347 348 348 <dt><a href="./ToBeReviewed/GRILLE/domdef.html?format=raw#_domdef">y2</a></dt> 349 349 <dd>a parameter from the routine ./ToBeReviewed/GRILLE/domdef.html</dd> 350 350 351 <dt><a href="./Interpolation/spl_incr.html?format=raw#_pure_convex">y2</a></dt> 352 <dd>a parameter from the routine ./Interpolation/spl_incr.html</dd> 353 354 <dt><a href="./Interpolation/spl_incr.html?format=raw#_pure_concave">y2</a></dt> 355 <dd>a parameter from the routine ./Interpolation/spl_incr.html</dd> 351 <dt><a href="./Interpolation/inquad.html?format=raw#_inquad">y2</a></dt> 352 <dd>a parameter from the routine ./Interpolation/inquad.html</dd> 356 353 357 354 <dt><a href="./Interpolation/cutpar.html?format=raw#_cutpar">y2</a></dt> 358 355 <dd>a parameter from the routine ./Interpolation/cutpar.html</dd> 359 356 360 <dt><a href="./Interpolation/inquad.html?format=raw#_inquad">y2</a></dt>361 <dd>a parameter from the routine ./Interpolation/inquad.html</dd>362 363 357 <dt><a href="./Interpolation/square2quadrilateral.html?format=raw#_square2quadrilateral">y2in</a></dt> 364 358 <dd>a parameter from the routine ./Interpolation/square2quadrilateral.html</dd> 365 359 366 <dt><a href="./Interpolation/square2quadrilateral.html?format=raw#_square2quadrilateral">y2in</a></dt>367 <dd>a parameter from the routine ./Interpolation/square2quadrilateral.html</dd>368 369 360 <dt><a href="./Interpolation/quadrilateral2square.html?format=raw#_quadrilateral2square">y2in</a></dt> 370 361 <dd>a parameter from the routine ./Interpolation/quadrilateral2square.html</dd> … … 376 367 <dd>a parameter from the routine ./Interpolation/inquad.html</dd> 377 368 369 <dt><a href="./Interpolation/quadrilateral2square.html?format=raw#_quadrilateral2square">y3in</a></dt> 370 <dd>a parameter from the routine ./Interpolation/quadrilateral2square.html</dd> 371 378 372 <dt><a href="./Interpolation/square2quadrilateral.html?format=raw#_square2quadrilateral">y3in</a></dt> 379 373 <dd>a parameter from the routine ./Interpolation/square2quadrilateral.html</dd> 380 374 381 <dt><a href="./Interpolation/quadrilateral2square.html?format=raw#_quadrilateral2square">y3in</a></dt>382 <dd>a parameter from the routine ./Interpolation/quadrilateral2square.html</dd>383 384 <dt><a href="./Interpolation/square2quadrilateral.html?format=raw#_square2quadrilateral">y3in</a></dt>385 <dd>a parameter from the routine ./Interpolation/square2quadrilateral.html</dd>386 387 375 <dt><a href="./Interpolation/inquad.html?format=raw#_inquad">y4</a></dt> 388 376 <dd>a parameter from the routine ./Interpolation/inquad.html</dd> … … 394 382 <dd>a parameter from the routine ./ToBeReviewed/HOPE/findlineandpointtype.html</dd> 395 383 384 <dt><a href="./Calendar/daysinmonth.html?format=raw#_daysinmonth">year</a></dt> 385 <dd>a parameter from the routine ./Calendar/daysinmonth.html</dd> 386 387 <dt><a href="./ToBeReviewed/CALENDRIER/caldat.html?format=raw#_CALDAT">year</a></dt> 388 <dd>a parameter from the routine ./ToBeReviewed/CALENDRIER/caldat.html</dd> 389 396 390 <dt><a href="./Calendar/leapyr.html?format=raw#_leapyr">year</a></dt> 397 391 <dd>a parameter from the routine ./Calendar/leapyr.html</dd> 398 392 399 <dt><a href="./Calendar/daysinmonth.html?format=raw#_daysinmonth">year</a></dt>400 <dd>a parameter from the routine ./Calendar/daysinmonth.html</dd>401 402 <dt><a href="./ToBeReviewed/CALENDRIER/caldat.html?format=raw#_CALDAT">year</a></dt>403 <dd>a parameter from the routine ./ToBeReviewed/CALENDRIER/caldat.html</dd>404 405 393 <dt><a href="./ToBeReviewed/TRIANGULATION/drawcoast_e.html?format=raw#_drawcoast_e">yf</a></dt> 406 394 <dd>a parameter from the routine ./ToBeReviewed/TRIANGULATION/drawcoast_e.html</dd> … … 409 397 <dd>a parameter from the routine ./ToBeReviewed/TRIANGULATION/drawcoast_c.html</dd> 410 398 399 <dt><a href="./ToBeReviewed/TRIANGULATION/tracemask.html?format=raw#_tracemask">yin</a></dt> 400 <dd>a parameter from the routine ./ToBeReviewed/TRIANGULATION/tracemask.html</dd> 401 402 <dt><a href="./ToBeReviewed/TRIANGULATION/fillcornermask.html?format=raw#_fillcornermask">yin</a></dt> 403 <dd>a parameter from the routine ./ToBeReviewed/TRIANGULATION/fillcornermask.html</dd> 404 411 405 <dt><a href="./Interpolation/spl_keep_mean.html?format=raw#_spl_keep_mean">yin</a></dt> 412 406 <dd>a parameter from the routine ./Interpolation/spl_keep_mean.html</dd> 413 407 414 <dt><a href="./ToBeReviewed/TRIANGULATION/fillcornermask.html?format=raw#_fillcornermask">yin</a></dt>415 <dd>a parameter from the routine ./ToBeReviewed/TRIANGULATION/fillcornermask.html</dd>416 417 <dt><a href="./ToBeReviewed/TRIANGULATION/tracemask.html?format=raw#_tracemask">yin</a></dt>418 <dd>a parameter from the routine ./ToBeReviewed/TRIANGULATION/tracemask.html</dd>419 420 408 <dt><a href="./ToBeReviewed/PLOTS/DESSINE/pltbase.html?format=raw#_pltbase">ym</a></dt> 421 409 <dd>a parameter from the routine ./ToBeReviewed/PLOTS/DESSINE/pltbase.html</dd> … … 427 415 <dd>a keyword from the routine bar_plot</dd> 428 416 417 <dt><a href="./Interpolation/quadrilateral2square.html?format=raw#_quadrilateral2square">yyin</a></dt> 418 <dd>a parameter from the routine ./Interpolation/quadrilateral2square.html</dd> 419 429 420 <dt><a href="./Interpolation/square2quadrilateral.html?format=raw#_square2quadrilateral">yyin</a></dt> 430 421 <dd>a parameter from the routine ./Interpolation/square2quadrilateral.html</dd> 431 422 432 <dt><a href="./Interpolation/quadrilateral2square.html?format=raw#_quadrilateral2square">yyin</a></dt>433 <dd>a parameter from the routine ./Interpolation/quadrilateral2square.html</dd>434 435 <dt><a href="./Interpolation/square2quadrilateral.html?format=raw#_square2quadrilateral">yyin</a></dt>436 <dd>a parameter from the routine ./Interpolation/square2quadrilateral.html</dd>437 438 423 <dt><a href="./Calendar/date2string.html?format=raw#_date2string">yyyymmdd</a></dt> 439 424 <dd>a parameter from the routine ./Calendar/date2string.html</dd> -
trunk/SRC/Documentation/idldoc_html_output/idldoc-index.html
r104 r106 193 193 <dd>a keyword from the routine write_oasis</dd> 194 194 195 <dt><a href="./ToBeReviewed/IMAGE/imdisp.html?format=raw#_IMDISP">ASPECT</a></dt> 196 <dd>a keyword from the routine IMDISP</dd> 197 195 198 <dt><a href="./ToBeReviewed/IMAGE/imdisp.html?format=raw#_IMDISP_GETPOS">ASPECT</a></dt> 196 199 <dd>a parameter from the routine ./ToBeReviewed/IMAGE/imdisp.html</dd> 197 200 198 <dt><a href="./ToBeReviewed/IMAGE/imdisp.html?format=raw#_IMDISP">ASPECT</a></dt>199 <dd>a keyword from the routine IMDISP</dd>200 201 201 <dt><a href="./ToBeReviewed/IMAGE/imdisp.html?format=raw#_IMDISP_IMSIZE">ASPECT</a></dt> 202 202 <dd>a keyword from the routine IMDISP_IMSIZE</dd> 203 203 204 <dt><a href="./ToBeReviewed/LECTURE/xncdf_lec.html?format=raw#_xncdf_lec">ATT</a></dt> 205 <dd>a keyword from the routine xncdf_lec</dd> 206 204 207 <dt><a href="./ToBeReviewed/LECTURE/ncdf_lec.html?format=raw#_ncdf_lec">ATT</a></dt> 205 208 <dd>a keyword from the routine ncdf_lec</dd> 206 209 207 <dt><a href="./ToBeReviewed/LECTURE/xncdf_lec.html?format=raw#_xncdf_lec">ATT</a></dt>208 <dd>a keyword from the routine xncdf_lec</dd>209 210 210 <dt><a href="./ToBeReviewed/IMAGE/imdisp.html?format=raw#_IMDISP">AXIS</a></dt> 211 211 <dd>a keyword from the routine IMDISP</dd> … … 220 220 <dd>a function from the file a_correlate2d.pro</dd> 221 221 222 <dt><a href="./ToBeReviewed/MATRICE/inter.html?format=raw#_inter">a</a></dt> 223 <dd>a parameter from the routine ./ToBeReviewed/MATRICE/inter.html</dd> 224 222 225 <dt><a href="./ToBeReviewed/MATRICE/cmset_op.html?format=raw#_cmset_op">a</a></dt> 223 226 <dd>a parameter from the routine ./ToBeReviewed/MATRICE/cmset_op.html</dd> 224 227 228 <dt><a href="./ToBeReviewed/MATRICE/cmset_op.html?format=raw#_cmset_op_uniq">a</a></dt> 229 <dd>a parameter from the routine ./ToBeReviewed/MATRICE/cmset_op.html</dd> 230 225 231 <dt><a href="./ToBeReviewed/MATRICE/union.html?format=raw#_union">a</a></dt> 226 232 <dd>a parameter from the routine ./ToBeReviewed/MATRICE/union.html</dd> 227 233 228 <dt><a href="./ToBeReviewed/ MATRICE/inter.html?format=raw#_inter">a</a></dt>229 <dd>a parameter from the routine ./ToBeReviewed/ MATRICE/inter.html</dd>234 <dt><a href="./ToBeReviewed/CALCULS/determ2.html?format=raw#_determ2">a</a></dt> 235 <dd>a parameter from the routine ./ToBeReviewed/CALCULS/determ2.html</dd> 230 236 231 237 <dt><a href="./ToBeReviewed/MATRICE/different.html?format=raw#_different">a</a></dt> 232 238 <dd>a parameter from the routine ./ToBeReviewed/MATRICE/different.html</dd> 233 239 234 <dt><a href="./ToBeReviewed/CALCULS/determ2.html?format=raw#_determ2">a</a></dt>235 <dd>a parameter from the routine ./ToBeReviewed/CALCULS/determ2.html</dd>236 237 <dt><a href="./ToBeReviewed/MATRICE/cmset_op.html?format=raw#_cmset_op_uniq">a</a></dt>238 <dd>a parameter from the routine ./ToBeReviewed/MATRICE/cmset_op.html</dd>239 240 240 <dt><a href="./ToBeReviewed/MATRICE/colle.html?format=raw#_colle">a0</a></dt> 241 241 <dd>a parameter from the routine ./ToBeReviewed/MATRICE/colle.html</dd> … … 325 325 <dd>a parameter from the routine ./Interpolation/compute_fromreg_imoms3_weigaddr.html</dd> 326 326 327 <dt><a href="./Interpolation/compute_fromreg_imoms3_weigaddr.html?format=raw#_compute_fromreg_imoms3_weigaddr">addr PRO compute_fromreg_imoms3_weigaddr</a></dt>328 <dd>a parameter from the routine ./Interpolation/compute_fromreg_imoms3_weigaddr.html</dd>329 330 327 <dt><a href="./ToBeReviewed/STRING/strrepl.html?format=raw#_strrepl">agument1</a></dt> 331 328 <dd>a parameter from the routine ./ToBeReviewed/STRING/strrepl.html</dd> … … 340 337 <dd>a parameter from the routine ./Interpolation/compute_fromreg_imoms3_weigaddr.html</dd> 341 338 342 <dt><a href="./Interpolation/compute_fromreg_imoms3_weigaddr.html?format=raw#_compute_fromreg_imoms3_weigaddr">alatin</a></dt>343 <dd>a parameter from the routine ./Interpolation/compute_fromreg_imoms3_weigaddr.html</dd>344 345 339 <dt><a href="./Interpolation/compute_fromreg_bilinear_weigaddr.html?format=raw#_compute_fromreg_bilinear_weigaddr">alatin</a></dt> 346 340 <dd>a parameter from the routine ./Interpolation/compute_fromreg_bilinear_weigaddr.html</dd> … … 358 352 <dd>a parameter from the routine ./Interpolation/compute_fromreg_imoms3_weigaddr.html</dd> 359 353 360 <dt><a href="./Interpolation/compute_fromreg_imoms3_weigaddr.html?format=raw#_compute_fromreg_imoms3_weigaddr">alonin</a></dt>361 <dd>a parameter from the routine ./Interpolation/compute_fromreg_imoms3_weigaddr.html</dd>362 363 354 <dt><a href="./Interpolation/angle.html?format=raw#_angle">angle</a></dt> 364 355 <dd>a procedure from the file angle.pro</dd> … … 385 376 <dd>a parameter from the routine ./Interpolation/ll_narcs_distances.html</dd> 386 377 378 <dt><a href="./ToBeReviewed/WIDGET/AUTOUR_de_XXX/selectfile.html?format=raw#_selectfile">argspro</a></dt> 379 <dd>a parameter from the routine ./ToBeReviewed/WIDGET/AUTOUR_de_XXX/selectfile.html</dd> 380 387 381 <dt><a href="./ToBeReviewed/WIDGET/xxx.html?format=raw#_xxx">argspro</a></dt> 388 382 <dd>a parameter from the routine ./ToBeReviewed/WIDGET/xxx.html</dd> 389 383 390 <dt><a href="./ToBeReviewed/WIDGET/AUTOUR_de_XXX/selectfile.html?format=raw#_selectfile">argspro</a></dt>391 <dd>a parameter from the routine ./ToBeReviewed/WIDGET/AUTOUR_de_XXX/selectfile.html</dd>392 393 384 <dt><a href="./ToBeReviewed/MATRICE/cmapply.html?format=raw#_cmapply">array</a></dt> 394 385 <dd>a parameter from the routine ./ToBeReviewed/MATRICE/cmapply.html</dd> -
trunk/SRC/Documentation/idldoc_html_output/idldoc-warnings.html
r104 r106 316 316 </tr> 317 317 318 </table><a href="./Interpolation/square2quadrilateral.html?format=raw">./Interpolation/square2quadrilateral.pro</a>319 <table>320 321 <tr>322 <td class="docroutine"><a href="./Interpolation/square2quadrilateral.html?format=raw#_square2quadrilateral">square2quadrilateral</a></td>323 <td class="docstat partialdoc">partially documented</td>324 </tr>325 326 <tr>327 <td class="docroutine"><a href="./Interpolation/square2quadrilateral.html?format=raw#_square2quadrilateral">square2quadrilateral</a></td>328 <td class="docstat notdoc">not documented</td>329 </tr>330 331 318 </table><a href="./Obsolete/cp.html?format=raw">./Obsolete/cp.pro</a> 332 319 <table> … … 602 589 </tr> 603 590 604 </table><a href="./ReadWrite/readbat.html?format=raw">./ReadWrite/readbat.pro</a>605 <table>606 607 <tr>608 <td class="docroutine"><a href="./ReadWrite/readbat.html?format=raw#_readbat">readbat</a></td>609 <td class="docstat partialdoc">partially documented</td>610 </tr>611 612 591 </table><a href="./ReadWrite/readoldopadistcoast.html?format=raw">./ReadWrite/readoldopadistcoast.pro</a> 613 592 <table> … … 620 599 <tr> 621 600 <td class="docroutine"><a href="./ReadWrite/readoldopadistcoast.html?format=raw#_readoldopadistcoast">readoldopadistcoast</a></td> 622 <td class="docstat notdoc">notdocumented</td>601 <td class="docstat partialdoc">partially documented</td> 623 602 </tr> 624 603 … … 633 612 <tr> 634 613 <td class="docroutine"><a href="./ReadWrite/readoldoparestart.html?format=raw#_read3fromopa">read3fromopa</a></td> 635 <td class="docstat notdoc">not documented</td> 636 </tr> 637 638 <tr> 639 <td class="docroutine"><a href="./ReadWrite/readoldoparestart.html?format=raw#_readoldoparestart">readoldoparestart</a></td> 640 <td class="docstat notdoc">not documented</td> 614 <td class="docstat partialdoc">partially documented</td> 641 615 </tr> 642 616 … … 646 620 <tr> 647 621 <td class="docroutine"><a href="./ReadWrite/scanctl.html?format=raw#_scanctl">scanctl</a></td> 648 <td class="docstat notdoc">not documented</td>649 </tr>650 651 </table><a href="./ReadWrite/scanoasis.html?format=raw">./ReadWrite/scanoasis.pro</a>652 <table>653 654 <tr>655 <td class="docroutine"><a href="./ReadWrite/scanoasis.html?format=raw#_scanoasis">scanoasis</a></td>656 622 <td class="docstat partialdoc">partially documented</td> 657 623 </tr> … … 662 628 <tr> 663 629 <td class="docroutine"><a href="./ReadWrite/write_oasis.html?format=raw#_write_oasis">write_oasis</a></td> 664 <td class="docstat partialdoc">partially documented</td>665 </tr>666 667 </table><a href="./ReadWrite/writebat.html?format=raw">./ReadWrite/writebat.pro</a>668 <table>669 670 <tr>671 <td class="docroutine"><a href="./ReadWrite/writebat.html?format=raw#_writebat">writebat</a></td>672 630 <td class="docstat partialdoc">partially documented</td> 673 631 </tr> -
trunk/SRC/Documentation/idldoc_html_output/overview.html
r104 r106 356 356 <tr> 357 357 <td>Routines/methods</td> 358 <td class="value"> 75 6</td>358 <td class="value"> 755</td> 359 359 </tr> 360 360 <tr> 361 361 <td>Lines of code</td> 362 <td class="value"> 55 538</td>362 <td class="value"> 55469</td> 363 363 </tr> 364 364 </table> -
trunk/SRC/Documentation/idldoc_html_output/search.js
r104 r106 35 35 a[33] = new Array("./Interpolation/clickincell.html", "clickincell.pro", "", " file_comments click on a map and find in which cell the click was categories finding where is a point on a grid examples res clickincell Click with the left button to select a cell Clicking one more time in the same cell remove the cell from the selection Click on the right button to quit keyword CELLTYPE T W U V or F This this the type of point that is located in the center of the cell which the click is located default is T type of cell with corner defined by F points keyword DRAWCELL to draw the cell in which we clicked keyword COLOR the color used to draw the cells Clicking one more time in the same cell will draw the cell with the white color keyword ORIGINAL to get the position of the cell regarding the original grid with no key_shift ixminmesh iyminmesh keyword IJ see outpus keyword _EXTRA to pass extra keywords to inquad and plot when drawcell returns the index of the selected cells regarding to the grid which is in memory in the variable of the common If ij keyword is activated give 2D array 2 n which are the i j position of the n selected cells uses common pro examples IDL plt findgen jpi jpj nodata map 90 0 0 ortho IDL print clickincell draw color 150 xy history Sebastien Masson smasson lodyc jussieu fr August 2003 FUNCTION clickincell CELLTYPE celltype DRAWCELL drawcell COLOR color ORIGINAL original IJ ij _EXTRA extra common initialization cellnum 1L selected 0 Cell list get the grid parameter according to celltype oldgrid vargrid IF NOT keyword_set celltype THEN celltype T CASE strupcase celltype 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 get mousse position on the reference map cursor x y data up while mouse button ne 4 do BEGIN IF finite x finite x EQ 0 THEN GOTO outwhile case mouse button of 1:BEGIN 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 GOTO outwhile IF y GT y range 1 THEN GOTO outwhile IF y LT y range 0 THEN GOTO outwhile cell inquad x y x1 y1 x2 y2 x3 y3 x4 y4 onsphere _extra extra IF cell 0 EQ 1 OR n_elements cell GT 1 THEN GOTO outwhile cell cell 0 already where cellnum EQ cell 0 IF already EQ 1 THEN BEGIN cellnum cellnum cell selected selected 1 already n_elements selected 1 ENDIF ELSE selected already 1 selected already IF keyword_set drawcell THEN BEGIN oplot x1 cell x2 cell x3 cell x4 cell x1 cell y1 cell y2 cell y3 cell y4 cell y1 cell color color selected already d n_colors 255 1 selected already _extra extra ENDIF END 2: middle button ELSE: ENDCASE get mousse position on the reference map outwhile: cursor x y data up ENDWHILE good where selected NE 0 IF good 0 EQ 1 THEN RETURN 1 cellnum cellnum good yy cellnum nx 1 key_periodic nx EQ jpi xx cellnum MOD nx 1 key_periodic nx EQ jpi CASE strupcase celltype 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 IF keyword_set original THEN BEGIN xx xx key_shift bad where xx LT 0 IF bad 0 NE 1 THEN xx bad xx bad jpi xx xx MOD jpi xx xx ixminmesh yy yy iyminmesh ENDIF ncell n_elements xx IF keyword_set ij THEN RETURN reform xx 1 ncell over reform yy 1 ncell over IF keyword_set original THEN RETURN xx jpiglo yy ELSE RETURN xx jpi yy END "); 36 36 a[34] = new Array("./Interpolation/compute_fromreg_bilinear_weigaddr.html", "compute_fromreg_bilinear_weigaddr.pro", "", " file_comments compute the weight and address neede to interpolate data from a regular grid to any grid using the bilinear method categories interpolation param alonin in required longitudeof the input data param alatin in required latitude of the input data param olonin in required longitude of the output data param olat in required latitude of the output data keyword NONORTHERNLINE activate if you don t whant to take into account the northen line of the input data when perfoming the keyword NOSOUTHERNLINE activate if you don t whant to take into account the southern line of the input data when perfoming the interpolation returns weig addr: 2D arrays weig and addr are the weight and addresses used to perform the interpolation: dataout total weig datain addr 1 dataout reform dataout jpio jpjo over restrictions the input grid must be a regular grid defined as a grid for which each lontitudes lines have the same latitude and each latitudes columns have the same longitude We supposed the data are located on a sphere with a periodicity along the longitude points located out of the southern and northern boundaries are interpolated using a linear interpolation only along the longitudinal direction history November 2005: Sebastien Masson smasson lodyc jussieu fr PRO compute_fromreg_bilinear_weigaddr alonin alatin olonin olat weig addr NONORTHERNLINE nonorthernline NOSOUTHERNLINE nosouthernline compile_opt strictarr strictarrsubs alon alonin alat alatin olon olonin jpia n_elements alon jpja n_elements alat jpio size olon dimensions 0 jpjo size olon dimensions 1 alon minalon min alon max maxalon IF maxalon minalon GE 360 THEN stop alon must be monotonically increasing IF array_equal sort alon lindgen jpia NE 1 THEN BEGIN shiftx where alon EQ min alon 0 alon shift alon shiftx IF array_equal sort alon lindgen jpia NE 1 THEN stop ENDIF ELSE shiftx 0 for longitude periodic bondary condition we add the fist column on the right side of the array and alon alon alon 0 360 jpia jpia 1L alat revy alat 0 GT alat 1 IF revy THEN alat reverse alat alat must be monotonically increasing IF array_equal sort alat lindgen jpja NE 1 THEN stop if keyword_set nonorthernline then BEGIN jpja jpja 1L alat alat 0: jpja 1L ENDIF if keyword_set nosouthernline then BEGIN alat alat 1: jpja 1L jpja jpja 1L ENDIF olon between minalon et minalon 360 out where olon LT minalon WHILE out 0 NE 1 DO BEGIN olon out olon out 360 out where olon LT minalon ENDWHILE out where olon GE minalon 360 WHILE out 0 NE 1 DO BEGIN olon out olon out 360 out where olon GE minalon 360 ENDWHILE make sure that all values of olon are located within values of alon IF min olon max ma LT minalon THEN stop IF ma GE minalon 360 THEN stop we want to do biliear interpolation for each ocean point we must find in which atm cell it is located if the ocean point is out of the atm grid we use closest neighbor interpolation for each T point of oce grid we find in which armospheric cell it is located As the atmospheric grid is regular we can use inrecgrid instead of inquad pos inrecgrid olon olat alon 0:jpia 2L alat 0:jpja 2L checkout alon jpia 1L alat jpja 1L output2d checks for longitude each ocean points must be located in atm cell IF where pos 0 EQ 1 0 NE 1 THEN stop no ocean point should be located westward of the left bondary of the atm cell in which it is supposed to be located IF total olon LT alon pos 0 NE 0 THEN stop no ocean point should be located eastward of the right bondary of the atm cell in which it is supposed to be located IF total olon GT alon pos 0 1 NE 0 THEN stop we use bilinear interpolation we change the coordinates of each ocean points to fit into a rectangle defined by: y2 y1 x1 x2 X x x1 x2 x1 Y y y1 y2 y1 indx pos 0 indy temporary pos 1 points located out of the atmospheric grid too much northward or southward bad where indy EQ 1 indy 0 indy IF max indx GT jpia 2 THEN stop checks IF max indy GT jpja 2 THEN stop checks x coordinates of the atm cell x1 alon indx x2 alon indx 1 new x coordinates of the ocean points in each cell divi temporary x2 x1 glamnew olon x1 temporary divi x1 1 free memory olon 1 free memory y coordinates of the atm cell y1 alat indy y2 alat indy 1 new y coordinates of the ocean points in each cell divi temporary y2 y1 zero where divi EQ 0 IF zero 0 NE 1 THEN divi zero 1 gphinew olat y1 temporary divi y1 1 free memory checks IF min glamnew LT 0 THEN stop IF max glamnew GT 1 THEN stop weight and address array used for bilinear interpolation xaddr lonarr 4 jpio jpjo xaddr 0 indx xaddr 1 indx 1L xaddr 2 indx 1L xaddr 3 indx yaddr lonarr 4 jpio jpjo yaddr 0 indy yaddr 1 indy yaddr 2 indy 1L yaddr 3 indy 1L compute the weight for the bilinear interpolation weig fltarr 4 jpio jpjo weig 0 1 glamnew 1 gphinew weig 1 glamnew 1 gphinew weig 2 glamnew gphinew weig 3 1 glamnew gphinew free memory gphinew 1 IF bad 0 EQ 1 THEN glamnew 1 ELSE glamnew temporary glamnew bad we work now on the bad points linear interpolation only along the longitudinal direction IF bad 0 NE 1 THEN BEGIN ybad olat bad the ocean points that are not located into an atm cell should be located northward of the northern boudary of the atm grid or southward of the southern boudary of the atm grid IF total ybad GE min alat AND ybad LE max alat GE 1 THEN stop weig 0 bad 1 glamnew weig 1 bad temporary glamnew weig 2 bad 0 weig 3 bad 0 south where ybad LT alat 0 IF south 0 NE 1 THEN yaddr bad temporary south 0L north where ybad GT alat jpja 1 IF north 0 NE 1 THEN yaddr bad temporary north 0L ybad 1 bad 1 free memory ENDIF check totalweight 1 totalweig abs 1 total weig 1 IF where temporary totalweig GE 1 e 5 0 NE 1 THEN stop come back to the original atm grid without longitudinal overlap jpia jpia 1L xaddr temporary xaddr MOD jpia take into account shiftx if needed IF shiftx NE 0 THEN xaddr temporary xaddr shiftx MOD jpia take into account nosouthernline and nonorthernline if keyword_set nosouthernline then BEGIN yaddr temporary yaddr 1L jpja jpja 1L ENDIF if keyword_set nonorthernline then jpja jpja 1L take into account revy if needed IF revy EQ 1 THEN yaddr jpja 1L temporary yaddr addr temporary yaddr jpia temporary xaddr return end "); 37 a[35] = new Array("./Interpolation/compute_fromreg_imoms3_weigaddr.html", "compute_fromreg_imoms3_weigaddr.pro", "", " file_comments compute the weight and address neede to interpolate data from a regular grid to any grid using the imoms3 method categories interpolation PRO compute_fromreg_imoms3_weigaddr alonin alatin olonin olat weig addrparam alonin in required longitude of the input data param alatin in required latitude of the input data param olonin in required longitude of the output data param olat in required latitude of the output data keyword NONORTHERNLINE and NOSOUTHERNLINE activate if you don t whant to take into account the northen southern line of the input data when perfoming the interpolation returns weig addr: 2D arrays weig and addr are the weight and addresses used to perform the interpolation: dataout total weig datain addr 1 dataout reform dataout jpio jpjo over restrictions the input grid must be a regular rectangular grid defined as a grid for which each lontitudes lines have the same latitude and each latitudes columns have the same longitude We supposed the data are located on a sphere with a periodicity along the longitude points located between the first last 2 lines are interpolated using a imoms3 interpolation along the longitudinal direction and linear interpolation along the latitudinal direction points located out of the southern and northern boundaries are interpolated using a imoms3 interpolation only along the longitudinal direction history November 2005: Sebastien Masson smasson lodyc jussieu fr March 2006: works for rectangular grids PRO compute_fromreg_imoms3_weigaddr alonin alatin olonin olat weig addr NONORTHERNLINE nonorthernline NOSOUTHERNLINE nosouthernline compile_opt strictarr strictarrsubs alon alonin alat alatin olon olonin jpia n_elements alon jpja n_elements alat jpio size olon dimensions 0 jpjo size olon dimensions 1 alon minalon min alon max maxalon IF maxalon minalon GE 360 THEN stop alon must be monotonically increasing IF array_equal sort alon lindgen jpia NE 1 THEN BEGIN shiftx where alon EQ min alon 0 alon shift alon shiftx IF array_equal sort alon lindgen jpia NE 1 THEN stop ENDIF ELSE shiftx 0 alon is it regularly spaced step alon shift alon 1 step 0 step 0 360 IF total step step 0 GE 1 e 6 NE 0 THEN noregx 1 we extend the longitude range of alon easy interpolation even near minalon et maxalon toadd 10 jpia 360 1 alon alon jpia toadd:jpia 1 360 alon alon 0:toadd 1 360 jpia jpia 2 toadd alat revy alat 0 GT alat 1 IF revy THEN alat reverse alat alat must be monotonically increasing IF array_equal sort alat lindgen jpja NE 1 THEN stop alat is it regularly spaced step alat shift alat 1 step step 1:jpja 1L IF total step step 0 GE 1 e 6 NE 0 THEN noregy 1 if keyword_set nonorthernline then BEGIN jpja jpja 1L alat alat 0: jpja 1L ENDIF if keyword_set nosouthernline then BEGIN alat alat 1: jpja 1L jpja jpja 1L ENDIF olon between minalon et minalon 360 out where olon LT minalon WHILE out 0 NE 1 DO BEGIN olon out olon out 360 out where olon LT minalon ENDWHILE out where olon GE minalon 360 WHILE out 0 NE 1 DO BEGIN olon out olon out 360 out where olon GE minalon 360 ENDWHILE make sure that all values of olon are located within values of alon IF min olon max ma LT minalon THEN stop IF ma GE minalon 360 THEN stop xaddr lonarr 16 jpio jpjo yaddr lonarr 16 jpio jpjo weig fltarr 16 jpio jpjo indexlon value_locate alon olon IF total alon indexlon GT olon NE 0 THEN stop IF total alon indexlon 1L LE olon NE 0 THEN stop IF where indexlon LE 1L 0 NE 1 THEN stop IF where indexlon GE jpia 3L 0 NE 1 THEN stop indexlat value_locate alat olat for the ocean points located below the atm line jpja 2 and above the line 1 for those points we can always find 16 neighbors imoms interpolation along longitude and latitude short where indexlat LT jpja 2L AND indexlat GE 1L ilon indexlon short ilat indexlat short IF NOT keyword_set noregy THEN BEGIN delta alat ilat 1L alat ilat IF max abs delta delta 0 GE 1 e 6 THEN stop delta delta 0 d0 alat ilat 1L olat short delta IF min d0 max ma LE 2 THEN stop IF ma GT 1 THEN stop wy0 imoms3 temporary d0 d1 alat ilat olat short delta IF min d1 max ma LE 1 THEN stop IF ma GT 0 THEN stop wy1 imoms3 temporary d1 d2 alat ilat 1L olat short delta IF min d2 max ma LE 0 THEN stop IF ma GT 1 THEN stop wy2 imoms3 temporary d2 d3 alat ilat 2L olat short delta IF min d3 max ma LE 1 THEN stop IF ma GT 2 THEN stop wy3 imoms3 temporary d3 ENDIF ELSE BEGIN nele n_elements short wy0 fltarr nele wy1 fltarr nele wy2 fltarr nele wy3 fltarr nele FOR i 0L nele 1 DO BEGIN IF i MOD 10000 EQ 0 THEN print i newlat spl_incr alat ilat i 1L:ilat i 2L 1 0 1 2 olat short i IF newlat LE 0 THEN stop IF newlat GT 1 THEN stop wy0 i imoms3 newlat 1 wy1 i imoms3 newlat wy2 i imoms3 1 newlat wy3 i imoms3 2 newlat ENDFOR ENDELSE mi min wy0 wy1 wy2 wy3 max ma IF abs mi 1 GE 1 e 6 THEN stop IF abs ma 1 GE 1 e 6 THEN stop IF NOT keyword_set noregx THEN BEGIN delta alon ilon alon ilon 1L IF max abs delta delta 0 GE 1 e 6 THEN stop delta delta 0 d0 alon ilon 1L olon short delta IF min d0 max ma LE 2 THEN stop IF ma GT 1 THEN stop wx0 imoms3 temporary d0 d1 alon ilon olon short delta IF min d1 max ma LE 1 THEN stop IF ma GT 0 THEN stop wx1 imoms3 temporary d1 d2 alon ilon 1L olon short delta IF min d2 max ma LE 0 THEN stop IF ma GT 1 THEN stop wx2 imoms3 temporary d2 d3 alon ilon 2L olon short delta IF min d3 max ma LE 1 THEN stop IF ma GT 2 THEN stop wx3 imoms3 temporary d3 ENDIF ELSE BEGIN nele n_elements short wx0 fltarr nele wx1 fltarr nele wx2 fltarr nele wx3 fltarr nele FOR i 0L nele 1 DO BEGIN IF i MOD 10000 EQ 0 THEN print i newlon spl_incr alon ilon i 1L:ilon i 2L 1 0 1 2 olon short i IF newlon LE 0 THEN stop IF newlon GT 1 THEN stop wx0 i imoms3 newlon 1 wx1 i imoms3 newlon wx2 i imoms3 1 newlon wx3 i imoms3 2 newlon ENDFOR ENDELSE mi min wx0 wx1 wx2 wx3 max ma IF abs mi 1 GE 1 e 6 THEN stop IF abs ma 1 GE 1 e 6 THEN stop line 0 xaddr 0 short ilon 1L xaddr 1 short ilon xaddr 2 short ilon 1L xaddr 3 short ilon 2L yaddr 0 short ilat 1L yaddr 1 short yaddr 0 short yaddr 2 short yaddr 0 short yaddr 3 short yaddr 0 short weig 0 short wx0 wy0 weig 1 short wx1 wy0 weig 2 short wx2 wy0 weig 3 short wx3 wy0 line 1 xaddr 4 short ilon 1L xaddr 5 short ilon xaddr 6 short ilon 1L xaddr 7 short ilon 2L yaddr 4 short ilat yaddr 5 short ilat yaddr 6 short ilat yaddr 7 short ilat weig 4 short wx0 wy1 weig 5 short wx1 wy1 weig 6 short wx2 wy1 weig 7 short wx3 wy1 line 2 xaddr 8 short ilon 1L xaddr 9 short ilon xaddr 10 short ilon 1L xaddr 11 short ilon 2L yaddr 8 short ilat 1L yaddr 9 short yaddr 8 short yaddr 10 short yaddr 8 short yaddr 11 short yaddr 8 short weig 8 short wx0 wy2 weig 9 short wx1 wy2 weig 10 short wx2 wy2 weig 11 short wx3 wy2 line 3 xaddr 12 short ilon 1L xaddr 13 short ilon xaddr 14 short ilon 1L xaddr 15 short ilon 2L yaddr 12 short ilat 2L yaddr 13 short yaddr 12 short yaddr 14 short yaddr 12 short yaddr 15 short yaddr 12 short weig 12 short wx0 wy3 weig 13 short wx1 wy3 weig 14 short wx2 wy3 weig 15 short wx3 wy3 mi min total weig short 1 max ma IF abs mi 1 GE 1 e 6 THEN stop IF abs ma 1 GE 1 e 6 THEN stop for the ocean points located between the atm lines jpja 2 and jpja 1 or between the atm lines 0 and 1 linear interpolation between line 1 and line 2 short where indexlat EQ jpja 2L OR indexlat EQ 0 IF short 0 NE 1 THEN BEGIN ilon indexlon short ilat indexlat short delta alat ilat 1L alat ilat IF NOT keyword_set noregy THEN BEGIN IF max abs delta delta 0 GE 1 e 6 THEN stop delta delta 0 ENDIF d1 alat ilat olat short delta IF min d1 max ma LE 1 THEN stop IF ma GT 0 THEN stop wy1 1 temporary d1 d2 alat ilat 1L olat short delta IF min d2 max ma LE 0 THEN stop IF ma GT 1 THEN stop wy2 1 temporary d2 mi min wy1 wy2 max ma IF abs mi 1 GE 1 e 6 THEN stop IF abs ma 1 GE 1 e 6 THEN stop but imoms3 along the longitude IF NOT keyword_set noregx THEN BEGIN delta alon ilon alon ilon 1L IF max abs delta delta 0 GE 1 e 6 THEN stop delta delta 0 d0 alon ilon 1L olon short delta IF min d0 max ma LE 2 THEN stop IF ma GT 1 THEN stop wx0 imoms3 temporary d0 d1 alon ilon olon short delta IF min d1 max ma LE 1 THEN stop IF ma GT 0 THEN stop wx1 imoms3 temporary d1 d2 alon ilon 1L olon short delta IF min d2 max ma LE 0 THEN stop IF ma GT 1 THEN stop wx2 imoms3 temporary d2 d3 alon ilon 2L olon short delta IF min d3 max ma LE 1 THEN stop IF ma GT 2 THEN stop wx3 imoms3 temporary d3 ENDIF ELSE BEGIN nele n_elements short wx0 fltarr nele wx1 fltarr nele wx2 fltarr nele wx3 fltarr nele FOR i 0L nele 1 DO BEGIN IF i MOD 10000 EQ 0 THEN print i newlon spl_incr alon ilon i 1L:ilon i 2L 1 0 1 2 olon short i IF newlon LE 0 THEN stop IF newlon GT 1 THEN stop wx0 i imoms3 newlon 1 wx1 i imoms3 newlon wx2 i imoms3 1 newlon wx3 i imoms3 2 newlon ENDFOR ENDELSE mi min wx0 wx1 wx2 wx3 max ma IF abs mi 1 GE 1 e 6 THEN stop IF abs ma 1 GE 1 e 6 THEN stop line 1 xaddr 0 short ilon 1L xaddr 1 short ilon xaddr 2 short ilon 1L xaddr 3 short ilon 2L yaddr 0 short ilat yaddr 1 short ilat yaddr 2 short ilat yaddr 3 short ilat weig 0 short wx0 wy1 weig 1 short wx1 wy1 weig 2 short wx2 wy1 weig 3 short wx3 wy1 line 2 xaddr 4 short ilon 1L xaddr 5 short ilon xaddr 6 short ilon 1L xaddr 7 short ilon 2L yaddr 4 short ilat 1L yaddr 5 short yaddr 4 short yaddr 6 short yaddr 4 short yaddr 7 short yaddr 4 short weig 4 short wx0 wy2 weig 5 short wx1 wy2 weig 6 short wx2 wy2 weig 7 short wx3 wy2 mi min total weig short 1 max ma IF abs mi 1 GE 1 e 6 THEN stop IF abs ma 1 GE 1 e 6 THEN stop ENDIF for the ocean points located below the line 0 Interpolation only along the longitude short where indexlat EQ 1 IF short 0 NE 1 THEN BEGIN ilon indexlon short IF NOT keyword_set noregx THEN BEGIN delta alon ilon alon ilon 1L IF max abs delta delta 0 GE 1 e 6 THEN stop delta delta 0 d0 alon ilon 1L olon short delta IF min d0 max ma LE 2 THEN stop IF ma GT 1 THEN stop wx0 imoms3 temporary d0 d1 alon ilon olon short delta IF min d1 max ma LE 1 THEN stop IF ma GT 0 THEN stop wx1 imoms3 temporary d1 d2 alon ilon 1L olon short delta IF min d2 max ma LE 0 THEN stop IF ma GT 1 THEN stop wx2 imoms3 temporary d2 d3 alon ilon 2L olon short delta IF min d3 max ma LE 1 THEN stop IF ma GT 2 THEN stop wx3 imoms3 temporary d3 ENDIF ELSE BEGIN nele n_elements short wx0 fltarr nele wx1 fltarr nele wx2 fltarr nele wx3 fltarr nele FOR i 0L nele 1 DO BEGIN IF i MOD 10000 EQ 0 THEN print i newlon spl_incr alon ilon i 1L:ilon i 2L 1 0 1 2 olon short i IF newlon LE 0 THEN stop IF newlon GT 1 THEN stop wx0 i imoms3 newlon 1 wx1 i imoms3 newlon wx2 i imoms3 1 newlon wx3 i imoms3 2 newlon ENDFOR ENDELSE mi min wx0 wx1 wx2 wx3 max ma IF abs mi 1 GE 1 e 6 THEN stop IF abs ma 1 GE 1 e 6 THEN stop line 1 xaddr 0 short ilon 1L xaddr 1 short ilon xaddr 2 short ilon 1L xaddr 3 short ilon 2L yaddr 0:3 short 0 weig 0 short wx0 weig 1 short wx1 weig 2 short wx2 weig 3 short wx3 mi min total weig short 1 max ma IF abs mi 1 GE 1 e 6 THEN stop IF abs ma 1 GE 1 e 6 THEN stop ENDIF for the ocean points located above jpia 1 Interpolation only along the longitude short where indexlat EQ jpja 1L IF short 0 NE 1 THEN BEGIN ilon indexlon short IF NOT keyword_set noregx THEN BEGIN delta alon ilon alon ilon 1L IF max abs delta delta 0 GE 1 e 6 THEN stop delta delta 0 d0 alon ilon 1L olon short delta IF min d0 max ma LE 2 THEN stop IF ma GT 1 THEN stop wx0 imoms3 temporary d0 d1 alon ilon olon short delta IF min d1 max ma LE 1 THEN stop IF ma GT 0 THEN stop wx1 imoms3 temporary d1 d2 alon ilon 1L olon short delta IF min d2 max ma LE 0 THEN stop IF ma GT 1 THEN stop wx2 imoms3 temporary d2 d3 alon ilon 2L olon short delta IF min d3 max ma LE 1 THEN stop IF ma GT 2 THEN stop wx3 imoms3 temporary d3 ENDIF ELSE BEGIN nele n_elements short wx0 fltarr nele wx1 fltarr nele wx2 fltarr nele wx3 fltarr nele FOR i 0L nele 1 DO BEGIN IF i MOD 10000 EQ 0 THEN print i newlon spl_incr alon ilon i 1L:ilon i 2L 1 0 1 2 olon short i IF newlon LE 0 THEN stop IF newlon GT 1 THEN stop wx0 i imoms3 newlon 1 wx1 i imoms3 newlon wx2 i imoms3 1 newlon wx3 i imoms3 2 newlon ENDFOR ENDELSE mi min wx0 wx1 wx2 wx3 max ma IF abs mi 1 GE 1 e 6 THEN stop IF abs ma 1 GE 1 e 6 THEN stop line 1 xaddr 0 short ilon 1L xaddr 1 short ilon xaddr 2 short ilon 1L xaddr 3 short ilon 2L yaddr 0:3 short jpja 1L weig 0 short wx0 weig 1 short wx1 weig 2 short wx2 weig 3 short wx3 mi min total weig short 1 max ma IF abs mi 1 GE 1 e 6 THEN stop IF abs ma 1 GE 1 e 6 THEN stop ENDIF Come back to the original index of atm grid without longitudinal overlap xaddr temporary xaddr toadd jpia jpia 2 toadd make sure all values are ge 0 xaddr temporary xaddr jpia range the values between 0 and jpia 1 xaddr temporary xaddr mod jpia take into account shiftx if needed IF shiftx NE 0 THEN xaddr temporary xaddr shiftx MOD jpia take into account nosouthernline and nonorthernline if keyword_set nosouthernline then BEGIN yaddr temporary yaddr 1L jpja jpja 1L ENDIF if keyword_set nonorthernline then jpja jpja 1L take into account revy if needed IF revy EQ 1 THEN yaddr jpja 1L temporary yaddr addr temporary yaddr jpia temporary xaddr RETURN END");37 a[35] = new Array("./Interpolation/compute_fromreg_imoms3_weigaddr.html", "compute_fromreg_imoms3_weigaddr.pro", "", " file_comments compute the weight and address neede to interpolate data from a regular grid to any grid using the imoms3 method categories interpolation param alonin in required longitude of the input data param alatin in required latitude of the input data param olonin in required longitude of the output data param olat in required latitude of the output data keyword NONORTHERNLINE and NOSOUTHERNLINE activate if you don t whant to take into account the northen southern line of the input data when perfoming the interpolation returns weig addr: 2D arrays weig and addr are the weight and addresses used to perform the interpolation: dataout total weig datain addr 1 dataout reform dataout jpio jpjo over restrictions the input grid must be a regular rectangular grid defined as a grid for which each lontitudes lines have the same latitude and each latitudes columns have the same longitude We supposed the data are located on a sphere with a periodicity along the longitude points located between the first last 2 lines are interpolated using a imoms3 interpolation along the longitudinal direction and linear interpolation along the latitudinal direction points located out of the southern and northern boundaries are interpolated using a imoms3 interpolation only along the longitudinal direction history November 2005: Sebastien Masson smasson lodyc jussieu fr March 2006: works for rectangular grids PRO compute_fromreg_imoms3_weigaddr alonin alatin olonin olat weig addr NONORTHERNLINE nonorthernline NOSOUTHERNLINE nosouthernline compile_opt strictarr strictarrsubs alon alonin alat alatin olon olonin jpia n_elements alon jpja n_elements alat jpio size olon dimensions 0 jpjo size olon dimensions 1 alon minalon min alon max maxalon IF maxalon minalon GE 360 THEN stop alon must be monotonically increasing IF array_equal sort alon lindgen jpia NE 1 THEN BEGIN shiftx where alon EQ min alon 0 alon shift alon shiftx IF array_equal sort alon lindgen jpia NE 1 THEN stop ENDIF ELSE shiftx 0 alon is it regularly spaced step alon shift alon 1 step 0 step 0 360 IF total step step 0 GE 1 e 6 NE 0 THEN noregx 1 we extend the longitude range of alon easy interpolation even near minalon et maxalon toadd 10 jpia 360 1 alon alon jpia toadd:jpia 1 360 alon alon 0:toadd 1 360 jpia jpia 2 toadd alat revy alat 0 GT alat 1 IF revy THEN alat reverse alat alat must be monotonically increasing IF array_equal sort alat lindgen jpja NE 1 THEN stop alat is it regularly spaced step alat shift alat 1 step step 1:jpja 1L IF total step step 0 GE 1 e 6 NE 0 THEN noregy 1 if keyword_set nonorthernline then BEGIN jpja jpja 1L alat alat 0: jpja 1L ENDIF if keyword_set nosouthernline then BEGIN alat alat 1: jpja 1L jpja jpja 1L ENDIF olon between minalon et minalon 360 out where olon LT minalon WHILE out 0 NE 1 DO BEGIN olon out olon out 360 out where olon LT minalon ENDWHILE out where olon GE minalon 360 WHILE out 0 NE 1 DO BEGIN olon out olon out 360 out where olon GE minalon 360 ENDWHILE make sure that all values of olon are located within values of alon IF min olon max ma LT minalon THEN stop IF ma GE minalon 360 THEN stop xaddr lonarr 16 jpio jpjo yaddr lonarr 16 jpio jpjo weig fltarr 16 jpio jpjo indexlon value_locate alon olon IF total alon indexlon GT olon NE 0 THEN stop IF total alon indexlon 1L LE olon NE 0 THEN stop IF where indexlon LE 1L 0 NE 1 THEN stop IF where indexlon GE jpia 3L 0 NE 1 THEN stop indexlat value_locate alat olat for the ocean points located below the atm line jpja 2 and above the line 1 for those points we can always find 16 neighbors imoms interpolation along longitude and latitude short where indexlat LT jpja 2L AND indexlat GE 1L ilon indexlon short ilat indexlat short IF NOT keyword_set noregy THEN BEGIN delta alat ilat 1L alat ilat IF max abs delta delta 0 GE 1 e 6 THEN stop delta delta 0 d0 alat ilat 1L olat short delta IF min d0 max ma LE 2 THEN stop IF ma GT 1 THEN stop wy0 imoms3 temporary d0 d1 alat ilat olat short delta IF min d1 max ma LE 1 THEN stop IF ma GT 0 THEN stop wy1 imoms3 temporary d1 d2 alat ilat 1L olat short delta IF min d2 max ma LE 0 THEN stop IF ma GT 1 THEN stop wy2 imoms3 temporary d2 d3 alat ilat 2L olat short delta IF min d3 max ma LE 1 THEN stop IF ma GT 2 THEN stop wy3 imoms3 temporary d3 ENDIF ELSE BEGIN nele n_elements short wy0 fltarr nele wy1 fltarr nele wy2 fltarr nele wy3 fltarr nele FOR i 0L nele 1 DO BEGIN IF i MOD 10000 EQ 0 THEN print i newlat spl_incr alat ilat i 1L:ilat i 2L 1 0 1 2 olat short i IF newlat LE 0 THEN stop IF newlat GT 1 THEN stop wy0 i imoms3 newlat 1 wy1 i imoms3 newlat wy2 i imoms3 1 newlat wy3 i imoms3 2 newlat ENDFOR ENDELSE mi min wy0 wy1 wy2 wy3 max ma IF abs mi 1 GE 1 e 6 THEN stop IF abs ma 1 GE 1 e 6 THEN stop IF NOT keyword_set noregx THEN BEGIN delta alon ilon alon ilon 1L IF max abs delta delta 0 GE 1 e 6 THEN stop delta delta 0 d0 alon ilon 1L olon short delta IF min d0 max ma LE 2 THEN stop IF ma GT 1 THEN stop wx0 imoms3 temporary d0 d1 alon ilon olon short delta IF min d1 max ma LE 1 THEN stop IF ma GT 0 THEN stop wx1 imoms3 temporary d1 d2 alon ilon 1L olon short delta IF min d2 max ma LE 0 THEN stop IF ma GT 1 THEN stop wx2 imoms3 temporary d2 d3 alon ilon 2L olon short delta IF min d3 max ma LE 1 THEN stop IF ma GT 2 THEN stop wx3 imoms3 temporary d3 ENDIF ELSE BEGIN nele n_elements short wx0 fltarr nele wx1 fltarr nele wx2 fltarr nele wx3 fltarr nele FOR i 0L nele 1 DO BEGIN IF i MOD 10000 EQ 0 THEN print i newlon spl_incr alon ilon i 1L:ilon i 2L 1 0 1 2 olon short i IF newlon LE 0 THEN stop IF newlon GT 1 THEN stop wx0 i imoms3 newlon 1 wx1 i imoms3 newlon wx2 i imoms3 1 newlon wx3 i imoms3 2 newlon ENDFOR ENDELSE mi min wx0 wx1 wx2 wx3 max ma IF abs mi 1 GE 1 e 6 THEN stop IF abs ma 1 GE 1 e 6 THEN stop line 0 xaddr 0 short ilon 1L xaddr 1 short ilon xaddr 2 short ilon 1L xaddr 3 short ilon 2L yaddr 0 short ilat 1L yaddr 1 short yaddr 0 short yaddr 2 short yaddr 0 short yaddr 3 short yaddr 0 short weig 0 short wx0 wy0 weig 1 short wx1 wy0 weig 2 short wx2 wy0 weig 3 short wx3 wy0 line 1 xaddr 4 short ilon 1L xaddr 5 short ilon xaddr 6 short ilon 1L xaddr 7 short ilon 2L yaddr 4 short ilat yaddr 5 short ilat yaddr 6 short ilat yaddr 7 short ilat weig 4 short wx0 wy1 weig 5 short wx1 wy1 weig 6 short wx2 wy1 weig 7 short wx3 wy1 line 2 xaddr 8 short ilon 1L xaddr 9 short ilon xaddr 10 short ilon 1L xaddr 11 short ilon 2L yaddr 8 short ilat 1L yaddr 9 short yaddr 8 short yaddr 10 short yaddr 8 short yaddr 11 short yaddr 8 short weig 8 short wx0 wy2 weig 9 short wx1 wy2 weig 10 short wx2 wy2 weig 11 short wx3 wy2 line 3 xaddr 12 short ilon 1L xaddr 13 short ilon xaddr 14 short ilon 1L xaddr 15 short ilon 2L yaddr 12 short ilat 2L yaddr 13 short yaddr 12 short yaddr 14 short yaddr 12 short yaddr 15 short yaddr 12 short weig 12 short wx0 wy3 weig 13 short wx1 wy3 weig 14 short wx2 wy3 weig 15 short wx3 wy3 mi min total weig short 1 max ma IF abs mi 1 GE 1 e 6 THEN stop IF abs ma 1 GE 1 e 6 THEN stop for the ocean points located between the atm lines jpja 2 and jpja 1 or between the atm lines 0 and 1 linear interpolation between line 1 and line 2 short where indexlat EQ jpja 2L OR indexlat EQ 0 IF short 0 NE 1 THEN BEGIN ilon indexlon short ilat indexlat short delta alat ilat 1L alat ilat IF NOT keyword_set noregy THEN BEGIN IF max abs delta delta 0 GE 1 e 6 THEN stop delta delta 0 ENDIF d1 alat ilat olat short delta IF min d1 max ma LE 1 THEN stop IF ma GT 0 THEN stop wy1 1 temporary d1 d2 alat ilat 1L olat short delta IF min d2 max ma LE 0 THEN stop IF ma GT 1 THEN stop wy2 1 temporary d2 mi min wy1 wy2 max ma IF abs mi 1 GE 1 e 6 THEN stop IF abs ma 1 GE 1 e 6 THEN stop but imoms3 along the longitude IF NOT keyword_set noregx THEN BEGIN delta alon ilon alon ilon 1L IF max abs delta delta 0 GE 1 e 6 THEN stop delta delta 0 d0 alon ilon 1L olon short delta IF min d0 max ma LE 2 THEN stop IF ma GT 1 THEN stop wx0 imoms3 temporary d0 d1 alon ilon olon short delta IF min d1 max ma LE 1 THEN stop IF ma GT 0 THEN stop wx1 imoms3 temporary d1 d2 alon ilon 1L olon short delta IF min d2 max ma LE 0 THEN stop IF ma GT 1 THEN stop wx2 imoms3 temporary d2 d3 alon ilon 2L olon short delta IF min d3 max ma LE 1 THEN stop IF ma GT 2 THEN stop wx3 imoms3 temporary d3 ENDIF ELSE BEGIN nele n_elements short wx0 fltarr nele wx1 fltarr nele wx2 fltarr nele wx3 fltarr nele FOR i 0L nele 1 DO BEGIN IF i MOD 10000 EQ 0 THEN print i newlon spl_incr alon ilon i 1L:ilon i 2L 1 0 1 2 olon short i IF newlon LE 0 THEN stop IF newlon GT 1 THEN stop wx0 i imoms3 newlon 1 wx1 i imoms3 newlon wx2 i imoms3 1 newlon wx3 i imoms3 2 newlon ENDFOR ENDELSE mi min wx0 wx1 wx2 wx3 max ma IF abs mi 1 GE 1 e 6 THEN stop IF abs ma 1 GE 1 e 6 THEN stop line 1 xaddr 0 short ilon 1L xaddr 1 short ilon xaddr 2 short ilon 1L xaddr 3 short ilon 2L yaddr 0 short ilat yaddr 1 short ilat yaddr 2 short ilat yaddr 3 short ilat weig 0 short wx0 wy1 weig 1 short wx1 wy1 weig 2 short wx2 wy1 weig 3 short wx3 wy1 line 2 xaddr 4 short ilon 1L xaddr 5 short ilon xaddr 6 short ilon 1L xaddr 7 short ilon 2L yaddr 4 short ilat 1L yaddr 5 short yaddr 4 short yaddr 6 short yaddr 4 short yaddr 7 short yaddr 4 short weig 4 short wx0 wy2 weig 5 short wx1 wy2 weig 6 short wx2 wy2 weig 7 short wx3 wy2 mi min total weig short 1 max ma IF abs mi 1 GE 1 e 6 THEN stop IF abs ma 1 GE 1 e 6 THEN stop ENDIF for the ocean points located below the line 0 Interpolation only along the longitude short where indexlat EQ 1 IF short 0 NE 1 THEN BEGIN ilon indexlon short IF NOT keyword_set noregx THEN BEGIN delta alon ilon alon ilon 1L IF max abs delta delta 0 GE 1 e 6 THEN stop delta delta 0 d0 alon ilon 1L olon short delta IF min d0 max ma LE 2 THEN stop IF ma GT 1 THEN stop wx0 imoms3 temporary d0 d1 alon ilon olon short delta IF min d1 max ma LE 1 THEN stop IF ma GT 0 THEN stop wx1 imoms3 temporary d1 d2 alon ilon 1L olon short delta IF min d2 max ma LE 0 THEN stop IF ma GT 1 THEN stop wx2 imoms3 temporary d2 d3 alon ilon 2L olon short delta IF min d3 max ma LE 1 THEN stop IF ma GT 2 THEN stop wx3 imoms3 temporary d3 ENDIF ELSE BEGIN nele n_elements short wx0 fltarr nele wx1 fltarr nele wx2 fltarr nele wx3 fltarr nele FOR i 0L nele 1 DO BEGIN IF i MOD 10000 EQ 0 THEN print i newlon spl_incr alon ilon i 1L:ilon i 2L 1 0 1 2 olon short i IF newlon LE 0 THEN stop IF newlon GT 1 THEN stop wx0 i imoms3 newlon 1 wx1 i imoms3 newlon wx2 i imoms3 1 newlon wx3 i imoms3 2 newlon ENDFOR ENDELSE mi min wx0 wx1 wx2 wx3 max ma IF abs mi 1 GE 1 e 6 THEN stop IF abs ma 1 GE 1 e 6 THEN stop line 1 xaddr 0 short ilon 1L xaddr 1 short ilon xaddr 2 short ilon 1L xaddr 3 short ilon 2L yaddr 0:3 short 0 weig 0 short wx0 weig 1 short wx1 weig 2 short wx2 weig 3 short wx3 mi min total weig short 1 max ma IF abs mi 1 GE 1 e 6 THEN stop IF abs ma 1 GE 1 e 6 THEN stop ENDIF for the ocean points located above jpia 1 Interpolation only along the longitude short where indexlat EQ jpja 1L IF short 0 NE 1 THEN BEGIN ilon indexlon short IF NOT keyword_set noregx THEN BEGIN delta alon ilon alon ilon 1L IF max abs delta delta 0 GE 1 e 6 THEN stop delta delta 0 d0 alon ilon 1L olon short delta IF min d0 max ma LE 2 THEN stop IF ma GT 1 THEN stop wx0 imoms3 temporary d0 d1 alon ilon olon short delta IF min d1 max ma LE 1 THEN stop IF ma GT 0 THEN stop wx1 imoms3 temporary d1 d2 alon ilon 1L olon short delta IF min d2 max ma LE 0 THEN stop IF ma GT 1 THEN stop wx2 imoms3 temporary d2 d3 alon ilon 2L olon short delta IF min d3 max ma LE 1 THEN stop IF ma GT 2 THEN stop wx3 imoms3 temporary d3 ENDIF ELSE BEGIN nele n_elements short wx0 fltarr nele wx1 fltarr nele wx2 fltarr nele wx3 fltarr nele FOR i 0L nele 1 DO BEGIN IF i MOD 10000 EQ 0 THEN print i newlon spl_incr alon ilon i 1L:ilon i 2L 1 0 1 2 olon short i IF newlon LE 0 THEN stop IF newlon GT 1 THEN stop wx0 i imoms3 newlon 1 wx1 i imoms3 newlon wx2 i imoms3 1 newlon wx3 i imoms3 2 newlon ENDFOR ENDELSE mi min wx0 wx1 wx2 wx3 max ma IF abs mi 1 GE 1 e 6 THEN stop IF abs ma 1 GE 1 e 6 THEN stop line 1 xaddr 0 short ilon 1L xaddr 1 short ilon xaddr 2 short ilon 1L xaddr 3 short ilon 2L yaddr 0:3 short jpja 1L weig 0 short wx0 weig 1 short wx1 weig 2 short wx2 weig 3 short wx3 mi min total weig short 1 max ma IF abs mi 1 GE 1 e 6 THEN stop IF abs ma 1 GE 1 e 6 THEN stop ENDIF Come back to the original index of atm grid without longitudinal overlap xaddr temporary xaddr toadd jpia jpia 2 toadd make sure all values are ge 0 xaddr temporary xaddr jpia range the values between 0 and jpia 1 xaddr temporary xaddr mod jpia take into account shiftx if needed IF shiftx NE 0 THEN xaddr temporary xaddr shiftx MOD jpia take into account nosouthernline and nonorthernline if keyword_set nosouthernline then BEGIN yaddr temporary yaddr 1L jpja jpja 1L ENDIF if keyword_set nonorthernline then jpja jpja 1L take into account revy if needed IF revy EQ 1 THEN yaddr jpja 1L temporary yaddr addr temporary yaddr jpia temporary xaddr RETURN END"); 38 38 a[36] = new Array("./Interpolation/cutpar.html", "cutpar.pro", "", " file_comments cut p parallelogram s into p n 2 parallelograms categories basic work examples res cutpar x0 y0 x1 y1 x2 y2 x3 y3 n param x0 y0 in required 1d arrays of p elements giving the edge positions The edges must be given as in plot to traw the parallelogram see example param n in required each parallelogram will be cutted in n 2 pieces keyword endpoints see outputs keyword onsphere to specify that the points are located on a sphere In this case x and y corresponds to longitude and latitude in degrees returns defaut: 3d array 2 n 2 p giving the center position of each piece of the parallelograms endpoints: 3d array 2 n 1 2 p giving the edge positions of each piece of the parallelograms uses cutsegment pro examples x0 2 6 2 y0 0 2 6 x1 3 8 4 y1 4 4 6 x2 1 6 4 y2 5 6 8 x3 0 4 2 y3 1 4 8 n 4 splot 0 10 0 10 xstyle 1 ystyle 1 nodata for i 0 2 do oplot x0 i x1 i x2 i x3 i x0 i y0 i y1 i y2 i y3 i y0 i res cutpar x0 y0 x1 y1 x2 y2 x3 y3 n for i 0 2 do oplot res 0 i res 1 i color 20 10 i psym 1 thick 3 history S Masson smasson lodyc jussieu fr July 5th 2002 FUNCTION cutpar x0 y0 x1 y1 x2 y2 x3 y3 n endpoints endpoints onsphere onsphere is it a parallelogram eps 1e 4 IF total abs x0 x2 2 x1 x3 2 GE eps GT 0 OR total abs y0 y2 2 y1 y3 2 GE eps GT 0 THEN stop print NOT a parallelogram x0 npar npar n_elements x0 firstborder 2 n keyword_set endpoints npar firstborder cutsegment x0 y0 x1 y1 n endpoints endpoints onsphere onsphere thirdborder cutsegment x3 y3 x2 y2 n endpoints endpoints onsphere onsphere res 2 n keyword_set endpoints n keyword_set endpoints npar res cutsegment firstborder 0 firstborder 1 thirdborder 0 thirdborder 1 n endpoints endpoints onsphere onsphere free memory firstborder 1 thirdborder 1 reform the result res reform res 2 n keyword_set endpoints 2 npar overwrite RETURN res END"); 39 39 a[37] = new Array("./Interpolation/cutsegment.html", "cutsegment.pro", "", " file_comments cut p segments into p n equal parts categories basic work examples res cutsegment x0 y0 x1 y1 n param x0 y0 and x1 y1 in required 1d arrays of p elements the coordinates of the endpoints of the p segmements param n in required the number of pieces we want to cut each segment keyword endpoints see ouputs keyword onsphere to specify that the points are located on a sphere In this case x and y corresponds to longitude and latitude in degrees returns defaut: a 3d array 2 n p that gives the coordinates of the middle of the cutted segments if endpoints a 3d array 2 n 1 p that gives the coordinates of the endpoints of the cutted segments examples IDL x0 2 5 IDL y0 5 1 IDL x1 9 3 IDL y1 1 8 IDL res cutsegment x0 y0 x1 y1 10 IDL splot 0 10 0 10 xstyle 1 ystyle 1 nodata IDL oplot x0 0 x1 0 y0 0 y1 0 IDL oplot res 0 0 res 1 0 color 20 psym 1 thick 3 IDL oplot x0 1 x1 1 y0 1 y1 1 IDL oplot res 0 1 res 1 1 color 40 psym 1 thick 3 history S Masson smasson lodyc jussieu fr July 5th 2002 FUNCTION cutsegment x0 y0 x1 y1 n endpoints endpoints onsphere onsphere number of segment nseg n_elements x0 number of point to find on each segment n2find n keyword_set endpoints IF keyword_set onsphere THEN BEGIN save the inputs arrays x0in temporary x0 y0in temporary y0 x1in temporary x1 y1in temporary y1 sp_cood transpose x0in transpose y0in replicate 1 1 nseg rect_coord CV_COORD FROM_SPHERE temporary sp_cood TO_RECT DEGREES x0 rect_coord 0 y0 rect_coord 1 z0 rect_coord 2 rect_coord 1 free memory sp_cood transpose x1in transpose y1in replicate 1 1 nseg rect_coord CV_COORD FROM_SPHERE temporary sp_cood TO_RECT DEGREES x1 rect_coord 0 y1 rect_coord 1 z1 rect_coord 2 rect_coord 1 free memory ENDIF resx replicate 1 n2find x0 resx temporary resx 1 n findgen n2find 5 1 keyword_set endpoints x1 x0 resx temporary resx resy replicate 1 n2find y0 resy temporary resy 1 n findgen n2find 5 1 keyword_set endpoints y1 y0 resy temporary resy IF keyword_set onsphere THEN BEGIN resz replicate 1 n2find z0 resz temporary resz 1 n findgen n2find 5 1 keyword_set endpoints z1 z0 resz temporary resz rec_cood transpose temporary resx transpose temporary resy transpose temporary resz res CV_COORD FROM_RECT temporary rec_cood TO_SPHERE DEGREES restore the input arrays x0 temporary x0in y0 temporary y0in x1 temporary x1in y1 temporary y1in ENDIF ELSE res transpose temporary resx transpose temporary resy res reform res 0:1 2 n2find nseg overwrite RETURN res END"); … … 51 51 a[49] = 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 examples y2 spl_incr x y x2 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 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 n 100L x dindgen n 2 y abs randomn 0 n y n 2:n 2 1 0 y n n 3 0 y n n 6:n n 6 5 0 y total y cumulative double x2 dindgen n 1 2 n2 n_elements x2 print min y 1:n 1 y 0:n 2 LT 0 y2 spl_incr x y x2 splot x y xstyle 1 ystyle 1 ysurx 25 petit 1 2 1 land oplot x2 y2 color 100 c y2 1:n2 1 y2 0:n2 2 print min c LT 0 print min c max ma ma splot c xstyle 1 ystyle 1 yrange 01 05 ysurx 25 petit 1 2 2 noerase oplot 0 n_elements c 0 0 linestyle 1 history Sebastien Masson smasson lodyc jussieu fr : May Dec 2005 FUNCTION pure_concave x1 x2 y1 y2 der2 x X n type 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 FUNCTION pure_convex x1 x2 y1 y2 der2 x 1 1 X n type 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 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 check and initialisation 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"); 52 52 a[50] = 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 examples y2 spl_keep_mean x y x2 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 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 meean 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: yr1 1990 yr2 1992 nyr yr2 yr1 1 n1 12 nyr 1 x julday 1 findgen n1 replicate 1 n1 replicate yr1 n1 fltarr n1 n2 365 nyr total leapyr yr1 indgen nyr 1 x2 julday replicate 1 n2 1 findgen n2 replicate yr1 n2 fltarr n2 y abs randomn 0 n1 1 y2 spl_keep_mean x y x2 ge0 print min x max ma ma print min x2 max ma ma print vairdate min x max ma ma print total y x 1:n1 1 x 0:n1 2 print total y2 x2 1:n2 1 x2 0:n2 2 history Sebastien Masson smasson lodyc jussieu fr : May 2005 FUNCTION spl_keep_mean x yin x2 YP0 yp0 YPN_1 ypn_1 GE0 ge0 check and initialisation 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"); 53 a[51] = new Array("./Interpolation/square2quadrilateral.html", "square2quadrilateral.pro", "", " file_comments warm or map a unit square onto an arbitrary quadrilateral according to the 4 point correspondences: 0 0 x0 y0 1 0 x1 y1 1 1 x2 y2 0 1 x3 y3 The mapping is done using perspective transformation which preserve lines in all orientations and permit quadrilateral to quadrilateral mappings see ref bellow categories image grid manipulation examples res square2quadrilateral x0 y0 x1 y1 x2 y2 x3 y3 xin yin FUNCTION square2quadrilateral x0in y0in x1in y1in x2in y2in x3in y3in xxin yyinparam x0in in required the coordinates of the quadrilateral see above for correspondance 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 y0in in required the coordinates of the quadrilateral see above for correspondance 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 x1in in required the coordinates of the quadrilateral see above for correspondance 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 y1in in required the coordinates of the quadrilateral see above for correspondance 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 x2in in required the coordinates of the quadrilateral see above for correspondance 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 y2in in required the coordinates of the quadrilateral see above for correspondance 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 x3in in required the coordinates of the quadrilateral see above for correspondance 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 y3in in required the coordinates of the quadrilateral see above for correspondance 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 returns 2 n array: the new coodinates 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 If xin and yin are omited square2quadrilateral returns the matrix A which is used for the inverse transformation 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 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 FUNCTION square2quadrilateral x0in y0in x1in y1in x2in y2in x3in y3in xxin yyin 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 IF arg_present xxin THEN BEGIN xin double xxin yin double yyin ENDIF 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 IF arg_present xxin THEN BEGIN xin float xxin yin float yyin ENDIF ENDELSE IF keyword_set double THEN a dlbarr 8 n_elements x0 ELSE a fltarr 8 n_elements x0 delx3 x0 x1 x2 x3 dely3 y0 y1 y2 y3 affinemap where delx3 EQ 0 AND dely3 EQ 0 IF affinemap 0 NE 1 THEN BEGIN xx0 x0 affinemap xx1 x1 affinemap xx2 x2 affinemap yy0 y0 affinemap yy1 y1 affinemap yy2 y2 affinemap a 0 affinemap xx1 xx0 a 1 affinemap xx2 xx1 a 2 affinemap xx0 a 3 affinemap yy1 yy0 a 4 affinemap yy2 yy1 a 5 affinemap yy0 a 6 affinemap 0 a 7 affinemap 0 ENDIF projectivemap where delx3 NE 0 OR dely3 NE 0 IF projectivemap 0 NE 1 THEN BEGIN xx0 x0 projectivemap xx1 x1 projectivemap xx2 x2 projectivemap xx3 x3 projectivemap yy0 y0 projectivemap yy1 y1 projectivemap yy2 y2 projectivemap yy3 y3 projectivemap delx1 xx1 xx2 dely1 yy1 yy2 delx2 xx3 xx2 dely2 yy3 yy2 delx3 delx3 projectivemap dely3 dely3 projectivemap div delx1 dely2 dely1 delx2 zero where div EQ 0 IF zero 0 NE 1 THEN BEGIN stop ENDIF a13 delx3 dely2 dely3 delx2 div a23 delx1 dely3 dely1 delx3 div a 0 projectivemap xx1 xx0 a13 xx1 a 1 projectivemap xx3 xx0 a23 xx3 a 2 projectivemap xx0 a 3 projectivemap yy1 yy0 a13 yy1 a 4 projectivemap yy3 yy0 a23 yy3 a 5 projectivemap yy0 a 6 projectivemap a13 a 7 projectivemap a23 ENDIF IF NOT arg_present xxin THEN return a IF n_elements xin EQ 1 THEN BEGIN xin replicate xin n_elements x0 yin replicate yin n_elements x0 ENDIF 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 div a 6 xin a 7 yin 1 zero where div EQ 0 IF zero 0 NE 1 THEN BEGIN stop ENDIF res 0 a 0 xin a 1 yin a 2 div res 1 a 3 xin a 4 yin a 5 div ENDIF ELSE BEGIN div a 6 xin a 7 yin 1 zero where div EQ 0 IF zero 0 NE 1 THEN BEGIN stop ENDIF res 0 a 0 xin a 1 yin a 2 div res 1 a 3 xin a 4 yin a 5 div ENDELSE RETURN res END");53 a[51] = new Array("./Interpolation/square2quadrilateral.html", "square2quadrilateral.pro", "", " file_comments warm or map a unit square onto an arbitrary quadrilateral according to the 4 point correspondences: 0 0 x0 y0 1 0 x1 y1 1 1 x2 y2 0 1 x3 y3 The mapping is done using perspective transformation which preserve lines in all orientations and permit quadrilateral to quadrilateral mappings see ref bellow categories image grid manipulation examples IDL res square2quadrilateral x0 y0 x1 y1 x2 y2 x3 y3 xin yin param x0in in required the coordinates of the quadrilateral see above for correspondance 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 y0in in required the coordinates of the quadrilateral see above for correspondance 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 x1in in required the coordinates of the quadrilateral see above for correspondance 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 y1in in required the coordinates of the quadrilateral see above for correspondance 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 x2in in required the coordinates of the quadrilateral see above for correspondance 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 y2in in required the coordinates of the quadrilateral see above for correspondance 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 x3in in required the coordinates of the quadrilateral see above for correspondance 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 y3in in required the coordinates of the quadrilateral see above for correspondance 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 returns 2 n array: the new coodinates 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 If xin and yin are omited square2quadrilateral returns the matrix A which is used for the inverse transformation 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 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 FUNCTION square2quadrilateral x0in y0in x1in y1in x2in y2in x3in y3in xxin yyin 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 IF arg_present xxin THEN BEGIN xin double xxin yin double yyin ENDIF 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 IF arg_present xxin THEN BEGIN xin float xxin yin float yyin ENDIF ENDELSE IF keyword_set double THEN a dlbarr 8 n_elements x0 ELSE a fltarr 8 n_elements x0 delx3 x0 x1 x2 x3 dely3 y0 y1 y2 y3 affinemap where delx3 EQ 0 AND dely3 EQ 0 IF affinemap 0 NE 1 THEN BEGIN xx0 x0 affinemap xx1 x1 affinemap xx2 x2 affinemap yy0 y0 affinemap yy1 y1 affinemap yy2 y2 affinemap a 0 affinemap xx1 xx0 a 1 affinemap xx2 xx1 a 2 affinemap xx0 a 3 affinemap yy1 yy0 a 4 affinemap yy2 yy1 a 5 affinemap yy0 a 6 affinemap 0 a 7 affinemap 0 ENDIF projectivemap where delx3 NE 0 OR dely3 NE 0 IF projectivemap 0 NE 1 THEN BEGIN xx0 x0 projectivemap xx1 x1 projectivemap xx2 x2 projectivemap xx3 x3 projectivemap yy0 y0 projectivemap yy1 y1 projectivemap yy2 y2 projectivemap yy3 y3 projectivemap delx1 xx1 xx2 dely1 yy1 yy2 delx2 xx3 xx2 dely2 yy3 yy2 delx3 delx3 projectivemap dely3 dely3 projectivemap div delx1 dely2 dely1 delx2 zero where div EQ 0 IF zero 0 NE 1 THEN BEGIN stop ENDIF a13 delx3 dely2 dely3 delx2 div a23 delx1 dely3 dely1 delx3 div a 0 projectivemap xx1 xx0 a13 xx1 a 1 projectivemap xx3 xx0 a23 xx3 a 2 projectivemap xx0 a 3 projectivemap yy1 yy0 a13 yy1 a 4 projectivemap yy3 yy0 a23 yy3 a 5 projectivemap yy0 a 6 projectivemap a13 a 7 projectivemap a23 ENDIF IF NOT arg_present xxin THEN return a IF n_elements xin EQ 1 THEN BEGIN xin replicate xin n_elements x0 yin replicate yin n_elements x0 ENDIF 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 div a 6 xin a 7 yin 1 zero where div EQ 0 IF zero 0 NE 1 THEN BEGIN stop ENDIF res 0 a 0 xin a 1 yin a 2 div res 1 a 3 xin a 4 yin a 5 div ENDIF ELSE BEGIN div a 6 xin a 7 yin 1 zero where div EQ 0 IF zero 0 NE 1 THEN BEGIN stop ENDIF res 0 a 0 xin a 1 yin a 2 div res 1 a 3 xin a 4 yin a 5 div ENDELSE RETURN res END"); 54 54 a[52] = new Array("./Interpolation/testinterp.html", "testinterp.pro", "", " PRO testinterp method bilinear method imoms3 jpia 300L jpja 200L torg findgen jpia jpja xorg 20 d 360 d jpia dindgen jpia yorg 89 d 178 d jpja 1 dindgen jpja jpio 400L jpjo 150L xnew 0 d 360 d jpio dindgen jpio ynew 89 5d 179 d jpjo 1 dindgen jpjo outnorth where ynew GT yorg jpja 2 noutn outsouth where ynew LT yorg 1 nouts t2 fromreg method torg xorg yorg xnew ynew t3 fromreg method reverse torg 2 xorg reverse yorg xnew ynew IF array_equal t2 t3 EQ 0 THEN stop ELSE print ok1 xshift 20 torg2 shift torg xshift 0 xorg2 shift xorg xshift xorg2 0: xshift 1 xorg2 0: xshift 1 360 IF array_equal sort xorg2 lindgen n_elements xorg2 EQ 0 THEN stop t3 fromreg method torg2 xorg2 yorg xnew ynew IF array_equal t2 t3 EQ 0 THEN stop ELSE print ok2 xshift 20 torg2 shift torg xshift 0 xorg2 shift xorg xshift xorg2 0: xshift 1 xorg2 0: xshift 1 360 IF array_equal sort xorg2 lindgen n_elements xorg2 EQ 0 THEN stop t3 fromreg method reverse torg2 2 xorg2 reverse yorg xnew ynew IF array_equal t2 t3 EQ 0 THEN stop ELSE print ok3 xshift 20 torg2 shift torg xshift 0 xorg2 shift xorg xshift t3 fromreg method torg2 xorg2 yorg xnew ynew IF array_equal t2 t3 EQ 0 THEN stop ELSE print ok4 xshift 20 torg2 shift torg xshift 0 xorg2 shift xorg xshift t3 fromreg method reverse torg2 2 xorg2 reverse yorg xnew ynew IF array_equal t2 t3 EQ 0 THEN stop ELSE print ok5 t3 fromreg method torg xorg yorg xnew ynew nonorthernline IF array_equal t2 0:jpjo 1 noutn t3 0:jpjo 1 noutn EQ 0 THEN stop ELSE print ok6 FOR i 1 noutn 1 DO if array_equal t3 jpjo 1 t3 jpjo 1 i EQ 0 THEN stop ELSE print ok7 i t3 fromreg method torg xorg yorg xnew ynew nosouthernline IF array_equal t2 nouts: t3 nouts: EQ 0 THEN stop ELSE print ok8 FOR i 1 nouts 1 DO if array_equal t3 0 t3 i EQ 0 THEN stop ELSE print ok9 i t3 fromreg method reverse torg 2 xorg reverse yorg xnew ynew nonorthernline IF array_equal t2 0:jpjo 1 noutn t3 0:jpjo 1 noutn EQ 0 THEN stop ELSE print ok10 FOR i 1 noutn 1 DO if array_equal t3 jpjo 1 t3 jpjo 1 i EQ 0 THEN stop ELSE print ok11 i t3 fromreg method reverse torg 2 xorg reverse yorg xnew ynew nosouthernline IF array_equal t2 nouts: t3 nouts: EQ 0 THEN stop ELSE print ok12 FOR i 1 nouts 1 DO if array_equal t3 0 t3 i EQ 0 THEN stop ELSE print ok13 i xshift 20 torg2 shift torg xshift 0 xorg2 shift xorg xshift xorg2 0: xshift 1 xorg2 0: xshift 1 360 IF array_equal sort xorg2 lindgen n_elements xorg2 EQ 0 THEN stop t3 fromreg method torg2 xorg2 yorg xnew ynew nonorthernline IF array_equal t2 0:jpjo 1 noutn t3 0:jpjo 1 noutn EQ 0 THEN stop ELSE print ok14 FOR i 1 noutn 1 DO if array_equal t3 jpjo 1 t3 jpjo 1 i EQ 0 THEN stop ELSE print ok15 i xshift 20 torg2 shift torg xshift 0 xorg2 shift xorg xshift xorg2 0: xshift 1 xorg2 0: xshift 1 360 IF array_equal sort xorg2 lindgen n_elements xorg2 EQ 0 THEN stop t3 fromreg method torg2 xorg2 yorg xnew ynew nosouthernline IF array_equal t2 nouts: t3 nouts: EQ 0 THEN stop ELSE print ok16 FOR i 1 nouts 1 DO if array_equal t3 0 t3 i EQ 0 THEN stop ELSE print ok17 i xshift 20 torg2 shift torg xshift 0 xorg2 shift xorg xshift xorg2 0: xshift 1 xorg2 0: xshift 1 360 IF array_equal sort xorg2 lindgen n_elements xorg2 EQ 0 THEN stop t3 fromreg method reverse torg2 2 xorg2 reverse yorg xnew ynew nonorthernline IF array_equal t2 0:jpjo 1 noutn t3 0:jpjo 1 noutn EQ 0 THEN stop ELSE print ok18 FOR i 1 noutn 1 DO if array_equal t3 jpjo 1 t3 jpjo 1 i EQ 0 THEN stop ELSE print ok19 i xshift 20 torg2 shift torg xshift 0 xorg2 shift xorg xshift xorg2 0: xshift 1 xorg2 0: xshift 1 360 IF array_equal sort xorg2 lindgen n_elements xorg2 EQ 0 THEN stop t3 fromreg method reverse torg2 2 xorg2 reverse yorg xnew ynew nosouthernline IF array_equal t2 nouts: t3 nouts: EQ 0 THEN stop ELSE print ok20 FOR i 1 nouts 1 DO if array_equal t3 0 t3 i EQ 0 THEN stop ELSE print ok21 i return end"); 55 55 a[53] = new Array("./Obsolete/common.html", "common.pro", "", ""); … … 87 87 a[85] = new Array("./ReadWrite/idl-NetCDF/ncdf_struct.html", "ncdf_struct.pro", "", "FUNCTION ncdf_struct filename nodata nodata noattributes noattributes Read entire netcdf file into a structure Structure contains metadata actual array contents are on heap with pointers contained in the structure Heap variables not created if nodata specified Use ncdf_struct_free to free heap memory Some data is duplicated for ease of access in particular if there is a variable name matching a dimension name then a pointer to the variable contents is accessible via the substructures corresponding to the dimension and every other variable that uses it Alan Iwi 27 6 02 id ncdf_open filename g ncdf_inquire id ndim g ndims nvar g nvars natt g ngatts if ndim gt 0 then begin dnames strarr ndim dsizes lonarr ndim for idim 0 ndim 1 do begin ncdf_diminq id idim dname dsize dnames idim dname dsizes idim dsize endfor endif if natt gt 0 and not keyword_set noattributes then begin anames strarr natt for iatt 0 natt 1 do begin aname ncdf_attname id global iatt ainq ncdf_attinq id global aname ncdf_attget id global aname aval if ainq datatype eq CHAR then aval string aval if iatt eq 0 then begin atts create_struct aname aval endif else begin atts create_struct atts aname aval endelse anames iatt aname endfor g create_struct g gatts atts gattnames anames endif if nvar gt 0 then begin vnames strarr nvar for ivar 0 nvar 1 do begin v ncdf_varinq id ivar vname v name vndim v ndims vnatt v natts vname v name if vnatt gt 0 and not keyword_set noattributes then begin vanames strarr vnatt for iatt 0 vnatt 1 do begin aname ncdf_attname id ivar iatt ainq ncdf_attinq id ivar aname ncdf_attget id ivar aname aval if ainq datatype eq CHAR then aval string aval if iatt eq 0 then begin atts create_struct aname aval endif else begin atts create_struct atts aname aval endelse vanames iatt aname endfor v create_struct v atts atts attnames anames endif vdnames dnames v dim vdsizes dsizes v dim v create_struct v dimnames vdnames dimsizes vdsizes if not keyword_set nodata then begin ncdf_varget id ivar vdata v create_struct v data ptr_new vdata dimdata replicate ptr_new vndim endif if ivar eq 0 then begin vars create_struct vname v endif else begin vars create_struct vars vname v endelse vnames ivar vname endfor endif if ndim gt 0 then begin for idim 0 ndim 1 do begin dname dnames idim d name:dname size:dsizes idim if not keyword_set nodata and nvar gt 0 then begin matchvar 1 for ivar 0 nvar 1 do begin if vnames ivar eq dname then matchvar ivar endfor if matchvar ne 1 then d create_struct d data vars matchvar data endif if idim eq 0 then begin dims create_struct dname d endif else begin dims create_struct dims dname d endelse endfor g create_struct g dims dims dimnames dnames dimsizes dsizes endif if nvar gt 0 then begin if not keyword_set nodata then begin for ivar 0 nvar 1 do begin for idim 0 vars ivar ndims 1 do begin vars ivar dimdata idim dims vars ivar dim idim data endfor endfor endif g create_struct g vars vars varnames vnames endif ncdf_close id return g end"); 88 88 a[86] = new Array("./ReadWrite/idl-NetCDF/ncdf_struct_free.html", "ncdf_struct_free.pro", "", "PRO ncdf_struct_free s free heap memory associated with struct returned by ncdf_struct for i 0 s nvars 1 do ptr_free s vars i data end"); 89 a[87] = new Array("./ReadWrite/ncdf_timeget.html", "ncdf_timeget.pro", "", " NAME: ncdf_timeget PURPOSE: get the time axis fom a netcdf_file and transforms it in julian days of IDL CATEGORY: reading ncdf_file CALLING SEQUENCE: time ncdf_timeget cdfid timeid INPUTS:cdfid: the ID of the ncdf_file which is already open timeid: the ID or the name of the variable which describe the calendar KEYWORD PARAMETERS: YYYYMMDD: active to obtain the date as a longinterger with the format YearYearYearYearMonthMonthDayDay the keyword parameters of ncdf_varget OUTPUTS:a long array of IDL julian days COMMON BLOCKS: SIDE EFFECTS: RESTRICTIONS: the calendar variable must have the units attribute folowing the syntaxe bellow: 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 EXAMPLE: MODIFICATION HISTORY:Sebastien Masson smasson lodyc jussieu fr June 2001 FUNCTION ncdf_timeget cdfid timeid YYYYMMDD yyyymmdd _extra ex insidetime ncdf_varinq cdfid timeid if insidetime natts NE 0 then begin attnames strarr insidetime natts for attiq 0 insidetime natts 1 do attnames attiq strlowcase ncdf_attname cdfid timeid attiq ENDIF ELSE return report the variable timeid must have the units attribut reading of the time axis ncdf_varget cdfid timeid time _extra ex 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 if where attnames EQ units 0 NE 1 then begin ncdf_attget cdfid timeid units value value strtrim strcompress string value 2 words str_sep value unite words 0 start str_sep words 2 case strlowcase unite of seconds :time julday start 1 start 2 start 0 time long 24 3600 hours :time julday start 1 start 2 start 0 time long 24 days :time julday start 1 start 2 start 0 time months :BEGIN for t 0 n_elements time 1 do begin time t julday start 1 time t start 2 start 0 endfor END years :BEGIN for t 0 n_elements time 1 do begin time t julday start 1 start 2 start 0 time t endfor END ELSE:return report bad syntax of the units attribut of the variable timeid ENDCASE ENDIF ELSE return report the variable timeid must have the units attribut if keyword_set yyyymmdd then time jul2date time return time end");90 a[88] = new Array("./ReadWrite/read_grads.html", "read_grads.pro", "", " NAME:read_grads PURPOSE:reading grads file except data type station or grib from the grads control file even if there is multiple data files CATEGORY:reading function CALLING SEQUENCE: res read_grads var date1 date2 FILENAME filename INPUTS: var: the variable name date1: date of the beginning yyyymmdd if TIMESTEP is not activate date2: last date Optionnal if not scpecified date2 date1 KEYWORD PARAMETERS: FILENAME: the grads control file name: xxxx ctl GLAMBOUNDARY via computegrid pro :a 2 elements vector lon1 lon2 giving the longitute boundaries that should be used to visualize the data lon2 lon1 lon2 lon1 eq 360 key_shift will be automatically defined according to GLAMBOUNDARY TIMESTEP: to specify that the dates are time steps instead of true calendar IODIRECTORY a string giving the name of iodirectory see isafile pro for all possibilities default value is common variable iodir NOT yet available BOX: a 4 or 6 elements 1d array lon1 lon2 lat1 lat2 depth1 depth2 that specifies the area where data must be read EVERYTHING NOSTRUCTURE OUTPUTS: an array COMMON BLOCKS:common pro SIDE EFFECTS:define all the grid parameters defined in common pro associated to the data RESTRICTIONS: this function call the procedure scanfile that use the unix commands grep and sed EXAMPLE: IDL a read_grads sst 19900101 19900131 filename outputs ctl IDL plt a MODIFICATION HISTORY:Sebastien Masson smasson lodyc jussieu fr FUNCTION read_grads var date1 date2 FILENAME filename BOX box TIMESTEP timestep EVERYTHING everything NOSTRUCT nostruct _EXTRA ex cm_4mesh cm_4data cm_4cal IF NOT keyword_set key_forgetold THEN BEGIN updatenew ENDIF we find the filename filename isafile FILENAME filename IODIRECTORY iodir _EXTRA ex if size filename type NE 7 then return report read_ncdf cancelled we scan the control file called filename scanctl filename filesname jpt1file varsname varslev swapbytes bigendian littleendian f77sequential fileheader theader xyheader VARFMT varfmt _EXTRA ex if n_elements varfmt EQ 0 then varfmt float check date1 and date2 and found the starting index t1 and the ending index t2 that corresponds to the time series specified by date1 and date2 for the time axis defined in the ctl file if n_elements date1 EQ 0 then begin t0 0 t1 0 ENDIF if n_elements date2 EQ 0 then date2 date1 if keyword_set timestep then BEGIN if date1 GT date2 then begin print date2 must be larger than date1 return 1 endif t1 0 long date1 long date2 date2jul date2 grads if jdate1 GT jdate2 then begin print date2 must be larger than date1 return 1 endif t1 where time GE jdate1 0 tmp where time LE jdate2 t2 t2 t2 1 ENDELSE if t2 LT t1 then begin print There is no date between date1 and date2 return 1 endif jpt2read t2 t1 1 index of the variable varid where strlowcase varsname EQ strlowcase var varid varid 0 if varid EQ 1 then begin print var not found in the variable liste of filename return 1 ENDIF varname var if varslev varid EQ 1 then res fltarr jpi jpj jpt2read nozero ELSE res fltarr jpi jpj varslev varid jpt2read nozero find the first file to be read according to the lile list the number of time step in each file and t1 and t2 indf2read t1 jpt1file startread t1 indf2read jpt1file alreadyread 0 readagain: jpt2read1file min jpt1file startread jpt2read f2read filesname indf2read opening check the existance of the file f2read isafile filename f2read iodirectory iodir _EXTRA ex if the file is stored on tape if version os_family EQ unix then spawn file f2read dev null open the file openr unit f2read get_lun error err swap_if_little_endian bigendian swap_if_big_endian littleendian swap_endian swapbytes if err ne 0 then begin print err_string return 1 endif case varfmt of byte :fmtsz 1l uint :fmtsz 2l int :fmtsz 2l long :fmtsz 4l float :fmtsz 4l endcase check its size addf77sec long 4 2 f77sequential xyblocsize xyheader addf77sec xyheader NE 0 jpi jpj fmtsz addf77sec nxybloc long total varslev filesize fileheader addf77sec fileheader NE 0 theader addf77sec theader NE 0 nxybloc xyblocsize jpt1file infof2read fstat unit if infof2read size NE filesize then begin print According to filename the file size must be strtrim filesize 1 instead of strtrim infof2read size 1 print jpi: strtrim jpi 2 print jpj: strtrim jpj 2 print jpt: strtrim jpt 2 print format size in byte: strtrim fmtsz 2 print number of xy arrays: strtrim nxybloc 2 return 1 endif reading loop on the time steps to be read in one file for i 0 jpt2read1file 1 do begin computing the offset offset fileheader addf77sec fileheader NE 0 theader addf77sec theader NE 0 nxybloc xyblocsize startread i theader addf77sec theader NE 0 if varid NE 0 THEN offset offset long total varslev 0:varid 1 xyblocsize if there is only one level IF varslev varid EQ 1 then begin case varfmt of byte :a assoc unit bytarr jpi jpj nozero offset 4 f77sequential uint :a assoc unit uintarr jpi jpj nozero offset 4 f77sequential int :a assoc unit intarr jpi jpj nozero offset 4 f77sequential long :a assoc unit lonarr jpi jpj nozero offset 4 f77sequential float :a assoc unit fltarr jpi jpj nozero offset 4 f77sequential endcase res i alreadyread a 0 ENDIF ELSE BEGIN more than 1 level to be read if f77sequential then BEGIN sequential access case varfmt of byte :a assoc unit bytarr jpi jpj 8 varslev varid nozero offset uint :a assoc unit uintarr jpi jpj 4 varslev varid nozero offset int :a assoc unit intarr jpi jpj 4 varslev varid nozero offset long :a assoc unit lonarr jpi jpj 2 varslev varid nozero offset float :a assoc unit fltarr jpi jpj 2 varslev varid nozero offset endcase tmp a 0 case varfmt OF we cut the headers and tailers of f77 write byte : tmp tmp 4:jpi jpj 3 uint : tmp tmp 2:jpi jpj 1 int : tmp tmp 2:jpi jpj 1 long : tmp tmp 1:jpi jpj 0 float :tmp tmp 1:jpi jpj 0 endcase if keyword_set key_zreverse then res i alreadyread reverse reform tmp jpi jpj varslev varid over 3 ELSE res i alreadyread reform tmp jpi jpj varslev varid over ENDIF ELSE BEGIN direct acces case varfmt of byte :a assoc unit bytarr jpi jpj varslev varid nozero offset uint :a assoc unit uintarr jpi jpj varslev varid nozero offset int :a assoc unit intarr jpi jpj varslev varid nozero offset long :a assoc unit lonarr jpi jpj varslev varid nozero offset float :a assoc unit fltarr jpi jpj varslev varid nozero offset endcase if keyword_set key_zreverse then res i alreadyread reverse a 0 3 ELSE res i alreadyread a 0 ENDELSE ENDELSE endfor close the file free_lun unit close unit do we need to read a new file to complete the time series if jpt2read1file NE jpt2read then BEGIN indf2read indf2read 1 startread 0 alreadyread alreadyread jpt2read1file jpt2read jpt2read jpt2read1file GOTO readagain ENDIF post processing if keyword_set key_yreverse then res reverse res 2 if keyword_set key_shift then begin case size res 0 of 2:res shift res key_shift 0 3:res shift res key_shift 0 0 4:res shift res key_shift 0 0 0 endcase endif mask IF varslev varid EQ 1 then begin if abs valmask LE 1e5 then notgood where res 0 EQ valmask ELSE notgood where abs res 0 GE abs valmask 10 if notgood 0 NE 1 then tmask notgood 0b ENDIF ELSE BEGIN if abs valmask LE 1e5 then notgood where res 0 EQ valmask ELSE notgood where abs res 0 GE abs valmask 10 if notgood 0 NE 1 then tmask notgood 0b ENDELSE if abs valmask LE 1e5 then notgood where res EQ valmask ELSE notgood where abs res GE abs valmask 10 if notgood 0 NE 1 THEN res notgood values f_nan valmask 1e20 if abs valmask LE 1e5 then notgood where res EQ valmask ELSE notgood where abs res GE abs valmask 10 if notgood 0 NE 1 THEN res notgood 1e20 valmask 1e20 triangles_list triangule subdomain extration time aguments time time t1:t2 jpt t2 t1 1 if keyword_set timestep then vardate strtrim time 0 2 ELSE vardate date2string vairdate time 0 updateold return res end");91 a[89] = new Array("./ReadWrite/read_oasis.html", "read_oasis.pro", "", " NAME:read_oasis PURPOSE:read the f77 unformated files used in Oasis version a read_oasis grids_orca_t106 a106 lon 320 160 IDL m read_oasis masks_orca_t106 or1t msk 182 149 i4 see also IDL scanoasis grids_orca_t106 MODIFICATION HISTORY:Sebastien Masson smasson lodyc jussieu fr July 01 2002 FUNCTION read_oasis filename varname jpi jpj I2 I4 i4 I8 i8 R4 r4 openr unit filename f77_unformatted get_lun swap_if_little_endian error err if err ne 0 then begin print err_string return 1 endif char8 12345678 readu unit char8 print char8 found char8 EQ varname WHILE NOT EOF unit AND found NE 1 DO BEGIN readu unit if EOF unit then begin print varname not found in filename return 1 endif readu unit char8 print char8 found char8 EQ varname ENDWHILE case 1 of keyword_set i2 :res intarr jpi jpj keyword_set i4 :res lonarr jpi jpj keyword_set i8 :res lon64arr jpi jpj keyword_set r4 :res fltarr jpi jpj ELSE:res dblarr jpi jpj endcase readu unit res free_lun unit return res end");92 a[90] = new Array("./ReadWrite/readbat.html", "readbat.pro", "", " NAME: readbat PURPOSE: reading the bathymetry ASCII file of OPA CATEGORY: for OPA CALLING SEQUENCE: bat readbat filename INPUTS: filename: a string containing the filename KEYWORD PARAMETERS: ZERO: to put 0 on land instead of negatives values for the islands OUTPUTS: a 2d array COMMON BLOCKS:no SIDE EFFECTS: RESTRICTIONS: EXAMPLE: MODIFICATION HISTORY:Sebastien Masson smasson lodyc jussieu fr May 31 2002 based on batlec2 pro written by Maurice Imbard March 17 1998 FUNCTION readbat filename ZERO zero lecture de la bathymetrie iname_file findfile filename if iname_file 0 EQ then begin print Bad file name return 1 ENDIF ELSE iname_file iname_file 0 openr iunit iname_file get_lun readf iunit FORMAT 16x 2i8 iim ijm iim long iim ijm long ijm tmp readf iunit tmp tmp strsplit tmp extract iim long tmp n_elements tmp 2 ijm long tmp n_elements tmp 1 print iim ijm ifreq 40L ifin iim ifreq 1 irest iim ifin 1 ifreq print ifin irest ifreq zbati intarr ifreq zbati2 intarr irest zbat intarr iim ijm readf iunit FORMAT readf iunit FORMAT il1 0 FOR jn 1 ifin 1 DO BEGIN readf iunit FORMAT readf iunit FORMAT il2 min iim 1 il1 ifreq 1 readf iunit FORMAT readf iunit FORMAT readf iunit FORMAT il3 il2 jn 1 ifreq iformat string il3 2 i3 print jn il1 il2 il3 ifreq 1 FOR jj ijm 1 0 1 DO BEGIN readf iunit FORMAT iformat ij zbati zbat il1:il2 jj zbati ENDFOR il1 il1 ifreq ENDFOR readf iunit FORMAT readf iunit FORMAT il2 min iim 1 il1 ifreq 1 readf iunit FORMAT readf iunit FORMAT readf iunit FORMAT il3 il2 ifin 1 ifreq iformat string il3 2 i3 print irest 1 il1 il2 il3 FOR jj ijm 1 0 1 DO BEGIN readf iunit FORMAT iformat ij zbati2 zbat il1:il2 jj zbati2 ENDFOR close iunit free_lun iunit if keyword_set zero then zbat 0 zbat return zbat end");93 a[91] = new Array("./ReadWrite/readoldopadistcoast.html", "readoldopadistcoast.pro", "", " NAME:readoldopadistcoast PURPOSE: read the old binary direct access file that contains the distance to the coast in OPA based on the OPA subroutines dtacof and parctl CATEGORY:for OPA before NetCDF CALLING SEQUENCE:res readoldopadistcoast filename INPUTS: filename with the whole path if necessary jpiglo jpjglo jpk: dimensions of the opa grid KEYWORD PARAMETERS: IBLOC: ibloc size default: ibloc 4096L JPBYT: jpbyt size defalut: jpbyt 8L NUMREC: number of records in the file defalut: numrec 19L jpk OUTPUTS: a structure that contains two elements: tdistcoast the distance for the t points and fdiscoast the distance for the f points COMMON BLOCKS: no SIDE EFFECTS: RESTRICTIONS: EXAMPLE: MODIFICATION HISTORY:Sebastien Masson smasson lodyc jussieu fr June 2002 FUNCTION read3fromopa unit params num offset params reclen params jpk num 1L a assoc unit dblarr params jpiglo params jpjglo params jpk nozero offset b a 0 return b endFUNCTION readoldopadistcoast filename jpiglo jpjglo jpk IBLOC ibloc JPBYT jpbyt NUMREC numrec iname_file findfile filename if iname_file 0 EQ then begin print Bad file name return 1 ENDIF ELSE iname_file iname_file 0 open the file openr numcost iname_file get_lun swap_if_little_endian check the size of the file filepamameters fstat numcost defaut parameter definition for ORCA2 IF keyword_set ibloc THEN ibloc long ibloc ELSE ibloc 4096L jpiglo long jpiglo jpjglo long jpjglo jpk long jpk IF keyword_set jpbyt THEN jpbyt long jpbyt ELSE jpbyt 8L record length computation reclen ibloc jpiglo jpjglo jpbyt 1 ibloc 1 number of records IF keyword_set numrec THEN numrec long numrec ELSE numrec 3L jpk difference between the record length and the size of the contened array toomuch reclen jpiglo jpjglo jpbyt expected size computation size numrec reclen toomuch if size NE filepamameters size then begin print The size of the file is not the expected one print Check your file or the values of ibloc jpiglo print jpjglo jpk jpbyt numrec in this program return 1 endif first record: six 64 bit integer to read default definition iimlu long64 999 ijmlu long64 999 ikmlu long64 999 read readu numcost iimlu ijmlu ikmlu if iimlu NE jpiglo then begin print iimlu strtrim iimlu 1 differs from jpiglo strtrim jpiglo 1 return 1 endif if ijmlu NE jpjglo then begin print ijmlu strtrim ijmlu 1 differs from jpjglo strtrim jpjglo 1 return 1 endif if ikmlu NE jpk then begin print ikmlu strtrim ikmlu 1 differs from jpk strtrim jpk 1 return 1 endif other records params jpiglo:jpiglo jpjglo:jpjglo jpk:jpk reclen:reclen tdistcoast read3fromopa numcost params 2 fdistcoast read3fromopa numcost params 3 close numcost free_lun numcost return tdistcoast:tdistcoast fdistcoast:fdistcoast end");94 a[92] = new Array("./ReadWrite/readoldoparestart.html", "readoldoparestart.pro", "", " NAME:readoldoparestart based on the OPA subroutine dtrlec included at the end of the file PURPOSE:read the old restart files of OPA before NetCDF CATEGORY:for OPA before NetCDF CALLING SEQUENCE:readoldoparestart filename jpiglo jpjglo jpk INPUTS: filename: with the whole path if necessary jpiglo jpjglo jpk: dimensions of the opa grid KEYWORD PARAMETERS: IBLOC: ibloc size default: ibloc 4096L JPBYT: jpbyt size defalut: jpbyt 8L NUMREC: number of records in the file defalut: numrec 19L jpk UB VB TB SB ROTB HDIVB UN VN TN SN ROTN HDIVN GCX GCXB ETAB TAN BSFB BSFN BSFD EN: the variable we want to read OUTPUTS:according to the given keywords COMMON BLOCKS:none SIDE EFFECTS: RESTRICTIONS:bug for etab and etan written on the same record EXAMPLE: MODIFICATION HISTORY:Sebastien Masson smasson lodyc jussieu fr June 2002 FUNCTION read2fromopa unit params num offset params reclen params jpk num 1L a assoc unit dblarr params jpiglo params jpjglo nozero offset return a 0 end FUNCTION read3fromopa unit params num offset params reclen params jpk num 1L a assoc unit dblarr params jpiglo params jpjglo params jpk nozero offset return a 0 endPRO readoldoparestart filename jpiglo jpjglo jpk IBLOC ibloc JPBYT jpbyt NUMREC numrec ub ub vb vb tb tb sb sb rotb rotb hdivb hdivb un un vn vn tn tn sn sn rotn rotn hdivn hdivn gcx gcx gcxb gcxb etab etab etan etan bsfb bsfb bsfn bsfn bsfd bsfd en en iname_file findfile filename if iname_file 0 EQ then begin print Bad file name return ENDIF ELSE iname_file iname_file 0 open the file openr numrst iname_file get_lun swap_if_little_endian check the size of the file filepamameters fstat numrst parameter definition IF keyword_set ibloc THEN ibloc long ibloc ELSE ibloc 4096L jpiglo long jpiglo jpjglo long jpjglo jpk long jpk IF keyword_set jpbyt THEN jpbyt long jpbyt ELSE jpbyt 8L record length computation reclen ibloc jpiglo jpjglo jpbyt 1 ibloc 1 IF keyword_set numrec THEN numrec long numrec ELSE numrec 19L jpk toomuch reclen jpiglo jpjglo jpbyt expected size computation size numrec reclen toomuch if size NE filepamameters size then begin print The size of the file is not the expected one print Check your file or the values of ibloc jpiglo print jpjglo jpk jpbyt numrec in this program return endif first record: six 64 bit integer to read default definition ino1 long64 9999 it1 long64 9999 isor1 long64 9999 ipcg1 long64 9999 itke1 long64 9999 idast1 long64 9999 read readu numrst ino1 it1 isor1 ipcg1 itke1 idast1 print ino1 it1 isor1 ipcg1 itke1 idast1 other records params jpiglo:jpiglo jpjglo:jpjglo jpk:jpk reclen:reclen CALL read3 numrst ub 2 IF arg_present ub THEN ub read3fromopa numrst params 2 CALL read3 numrst vb 3 IF arg_present vb THEN vb read3fromopa numrst params 3 CALL read3 numrst tb 5 IF arg_present tb THEN tb read3fromopa numrst params 5 CALL read3 numrst sb 6 IF arg_present sb THEN sb read3fromopa numrst params 6 CALL read3 numrst rotb 7 IF arg_present rotb THEN rotb read3fromopa numrst params 7 CALL read3 numrst hdivb 8 IF arg_present hdivb THEN hdivb read3fromopa numrst params 8 CALL read3 numrst un 9 IF arg_present un THEN un read3fromopa numrst params 9 CALL read3 numrst vn 10 IF arg_present vn THEN vn read3fromopa numrst params 10 CALL read3 numrst tn 12 IF arg_present tn THEN tn read3fromopa numrst params 12 CALL read3 numrst sn 13 IF arg_present sn THEN sn read3fromopa numrst params 13 CALL read3 numrst rotn 14 IF arg_present rotn THEN rotn read3fromopa numrst params 14 CALL read3 numrst hdivn 15 IF arg_present hdivn THEN hdivn read3fromopa numrst params 15 C C Read elliptic solver arrays C CALL read2 numrst gcx jpk 17 IF arg_present gcx THEN gcx read2fromopa numrst params 17 CALL read2 numrst gcxb jpk 18 IF arg_present gcxb THEN gcxb read2fromopa numrst params 18 C ifdef key_freesurf_cstvol C C free surface formulation eta C CALL read2 numrst etab jpk 4 IF arg_present etab THEN etab read2fromopa numrst params 4 CALL read2 numrst etan jpk 4 IF arg_present etan THEN etan read2fromopa numrst params 4 else C C Rigid lid formulation bsf C CALL read2 numrst bsfb jpk 4 IF arg_present bsfb THEN bsfb read2fromopa numrst params 4 CALL read2 numrst bsfn jpk 11 IF arg_present bsfn THEN bsfn read2fromopa numrst params 11 CALL read2 numrst bsfd jpk 16 IF arg_present bsfd THEN bsfd read2fromopa numrst params 16 endif ifdef key_zdftke CALL read3 numrst en 19 IF arg_present en THEN en read3fromopa numrst params 19 close numrst free_lun numrst return end CDIR LIST SUBROUTINE dtrlec CCC CCC CCC ROUTINE dtrlec CCC CCC CCC Purpose : CCC CCC Read files for restart CCC CC Method : CC CC Read the previous fields on the file numrst CC the first record indicates previous characterics CC after control with the present run we read : CC prognostic variables on the second record CC elliptic solver arrays CC barotropic stream function arrays default option CC or free surface arrays key_freesurf_cstvol defined CC tke arrays key_zdftke defined CC for this last three records the previous characteristics CC could be different with those used in the present run CC CC Input : CC CC common CC comrst : restart parameter CC comctl : parameters for the control CC CC Output : CC CC common CC combef : previous fields before CC comnow : present fields now CC combsf : barotropic stream function CC comspg : surface pressure CC comsol : diagonal preconditioned conjugate CC CC Modifications : CC CC original : 91 03 CC additions : 92 01 M Imbard CC : 92 06 correction restart file M Imbard CC : 98 02 M Guyon FETI method CC addition : 98 05 G Roullet free surface CC CC parameters and commons CC CDIR NOLIST include parameter h include common h CDIR LIST CC CC local declarations CC INTEGER ji jj jk jl INTEGER ino0 it0 ipcg0 isor0 itke0 INTEGER ino1 it1 isor1 ipcg1 itke1 idast1 CC CC statement functions CC CDIR NOLIST include stafun h CDIR LIST CCC CCC OPA8 LODYC 1997 CCC C C C 0 Initialisations C C ino0 no it0 nit000 ipcg0 0 isor0 0 itke0 0 isor0 nsolv 1 ipcg0 2 nsolv ifdef key_zdftke itke0 1 endif C FETI method IF nsolv EQ 3 THEN isor0 2 ipcg0 2 ENDIF C IF lwp THEN WRITE numout WRITE numout dtrlec: beginning of restart WRITE numout WRITE numout the present run : WRITE numout job number : no WRITE numout with nit000 : nit000 WRITE numout with pcg option ipcg0 : ipcg0 WRITE numout with sor option isor0 : isor0 WRITE numout with FETI solver option ipcg0 isor0 : ipcg0 isor0 WRITE numout with tke option itke0 : itke0 ENDIF C C 1 Read numrst C C C First record C READ numrst REC 1 ino1 it1 isor1 ipcg1 itke1 idast1 C IF lwp THEN WRITE numout WRITE numout READ numrst with WRITE numout job number : ino1 WRITE numout with time step it : it1 WRITE numout with pcg option ipcg1 : ipcg1 WRITE numout with sor option isor1 : isor1 WRITE numout with tke option itke1 : itke1 WRITE numout with FETI solver option ipcg1 isor1 : ipcg1 isor1 WRITE numout ENDIF C C Control of date C IF it0 it1 NE 1 AND abs nrstdt EQ 1 THEN IF lwp THEN WRITE numout : problem with nit000 for the restart WRITE numout WRITE numout we stop verify the file WRITE numout or rerun with the value 0 for the WRITE numout control of time parameter nrstdt WRITE numout ENDIF STOP dtrlec ENDIF IF nrstdt EQ 1 ndate0 idast1 C C Read prognostic variables C CALL read3 numrst ub 2 CALL read3 numrst vb 3 CALL read3 numrst tb 5 CALL read3 numrst sb 6 CALL read3 numrst rotb 7 CALL read3 numrst hdivb 8 CALL read3 numrst un 9 CALL read3 numrst vn 10 CALL read3 numrst tn 12 CALL read3 numrst sn 13 CALL read3 numrst rotn 14 CALL read3 numrst hdivn 15 C C Read elliptic solver arrays C CALL read2 numrst gcx jpk 17 CALL read2 numrst gcxb jpk 18 C ifdef key_freesurf_cstvol C C free surface formulation eta C CALL read2 numrst etab jpk 4 CALL read2 numrst etan jpk 4 else C C Rigid lid formulation bsf C CALL read2 numrst bsfb jpk 4 CALL read2 numrst bsfn jpk 11 CALL read2 numrst bsfd jpk 16 endif C ifdef key_zdftke C C Read tke arrays C IF itke1 eq 1 THEN CALL read3 numrst en 19 ELSE IF lwp THEN WRITE numout : the previous restart file didnt used tke scheme WRITE numout ENDIF nrstdt 2 ENDIF endif C C RETURN END");95 a[93] = new Array("./ReadWrite/scanctl.html", "scanctl.pro", "", " GLAMBOUNDARY:a 2 elements vector lon1 lon2 the longitute boundaries that should be used to visualize the data lon2 lon1 lon2 lon1 le 360 key_shift will be defined according to GLAMBOUNDARYPRO scanctl filename filesname jpt1file varsname varslev swapbytes bigendian littleendian f77sequential fileheader theader xyheader VARFMT varfmt _EXTRA ex common time1 systime 1 for key_performance DTYPE spawn grep i DTYPE filename notgood if keyword_set notgood then begin print This program is not adapted to data type station or grib Sorry stop endif UNDEF define valmask spawn grep i UNDEF filename valmask valmask strtrim valmask 2 valmask strsplit valmask 0 extract valmask float valmask 1 Headers spawn grep i FILEHEADER filename fileheader fileheader strtrim fileheader 2 if keyword_set fileheader then BEGIN fileheader strsplit fileheader 0 extract fileheader long fileheader 1 ENDIF ELSE fileheader 0L spawn grep i THEADER filename theader theader strtrim theader 2 if keyword_set theader then BEGIN theader strsplit theader 0 extract theader long theader 1 ENDIF ELSE theader 0L spawn grep i XYHEADER filename xyheader xyheader strtrim xyheader 2 if keyword_set xyheader then BEGIN xyheader strsplit xyheader 0 extract xyheader long xyheader 1 ENDIF ELSE xyheader 0L find the x axis spawn sed n e d e Xx Dd Ee Ff Yy Dd Ee Ff p filename xdef if xdef 0 EQ then BEGIN print Bad definition of xdef or ydef stop ENDIF xdef xdef 0:n_elements xdef 2 if n_elements xdef NE 1 then begin xdef byte xdef replicate byte 1 n_elements xdef xdef xdef where xdef NE 0 xdef string xdef endif xdef strtrim xdef 0 2 xdef strsplit xdef extract jpi long xdef 1 case strupcase xdef 2 of LINEAR :xaxis float xdef 3 findgen jpi float xdef 4 LEVELS :xaxis float xdef 3:n_elements xdef 1 ENDCASE find the y axis spawn sed n e d e Yy Dd Ee Ff Zz Dd Ee Ff p filename ydef if ydef 0 EQ then BEGIN print Bad definition of ydef or zdef stop ENDIF ydef ydef 0:n_elements ydef 2 if n_elements ydef NE 1 then begin ydef byte ydef replicate byte 1 n_elements ydef ydef ydef where ydef NE 0 ydef string ydef endif ydef strtrim ydef 0 2 ydef strsplit ydef extract jpj long ydef 1 case strupcase ydef 2 of LINEAR :yaxis float ydef 3 findgen jpj float ydef 4 LEVELS :yaxis float ydef 3:n_elements ydef 1 GAUST62 :BEGIN print Not yet coded stop END GAUSR15 :BEGIN print Not yet coded stop END GAUSR20 :BEGIN print Not yet coded stop END GAUSR30 :BEGIN print Not yet coded stop END GAUSR40 :BEGIN print Not yet coded stop END ELSE:BEGIN print Not yet coded stop END endcase find the z axis spawn sed n e d e Zz Dd Ee Ff Tt Dd Ee Ff p filename zdef if zdef 0 EQ then BEGIN print Bad definition of zdef or tdef stop ENDIF zdef zdef 0:n_elements zdef 2 if n_elements zdef NE 1 then begin zdef byte zdef replicate byte 1 n_elements zdef zdef zdef where zdef NE 0 zdef string zdef endif zdef strtrim zdef 0 2 zdef strsplit zdef extract jpk long zdef 1 case strupcase zdef 2 of LINEAR :zaxis float zdef 3 findgen jpk float zdef 4 LEVELS :zaxis float zdef 3:n_elements zdef 1 ENDCASE compute the grid computegrid xaxis xaxis yaxis yaxis zaxis zaxis _EXTRA ex domdef find the time axis spawn grep i TDEF filename timedef timedef strupcase strtrim timedef 2 timedef strsplit timedef 0 extract jpt long timedef 1 initial date: y0 m0 d0 h0 mn0 julian day of IDL: julady m0 d0 y0 h0 mn0 00 t0 timedef 3 monthsname string format C CMOA 31 indgen 12 case 1 OF h h :mmZd d mmmyy yy strpos t0 : NE 1:BEGIN pp strpos t0 : h0 long strmid t0 0 pp mn0 long strmid t0 pp 1 2 pp strpos t0 Z dd byte strmid t0 pp 2 1 LT byte A d0 long strmid t0 pp 1 1 dd m0 where monthsname EQ strmid t0 pp 2 dd 3 0 1 y0 long strmid t0 pp 5 dd END m m Zd d mmmyy yy strpos t0 Z NE 1:BEGIN h0 0 12 pp strpos t0 Z mn0 long strmid t0 0 pp dd byte strmid t0 pp 2 1 LT byte A d0 long strmid t0 pp 1 1 dd m0 where monthsname EQ strmid t0 pp 2 dd 3 0 1 y0 long strmid t0 pp 5 dd END d d mmmyy yy byte strmid t0 0 1 LT byte A 0 :BEGIN h0 0 12 mn0 0 dd byte strmid t0 1 1 LT byte A d0 long strmid t0 0 1 dd m0 where monthsname EQ strmid t0 1 dd 3 0 1 y0 long strmid t0 4 dd END mmmyy yy ELSE:BEGIN h0 0 12 mn0 0 d0 1 m0 where monthsname EQ strmid t0 0 3 0 1 y0 long strmid t0 3 END ENDCASE if y0 is a two digit integer between 1950 and 2049 case 1 of y0 LE 49:y0 2000 y0 y0 LE 99:y0 1900 y0 ELSE: ENDCASE increment date and definition of the calendar with IDL julian days tstep timedef 4 tsval long strmid tstep 0 strlen tstep 2 case strlowcase strmid tstep 1 reverse of mn :time julday m0 d0 y0 h0 mn0 lindgen jpt tsval 0 hr :time julday m0 d0 y0 h0 lindgen jpt tsval mn0 0 dy :time julday m0 d0 lindgen jpt tsval y0 h0 mn0 0 mo :time julday m0 lindgen jpt tsval d0 y0 h0 mn0 0 yr :time julday m0 d0 y0 lindgen jpt tsval h0 mn0 0 ENDCASE shit the calendar to correspond to the time step case strlowcase strmid tstep 1 reverse of dy :time long time mo :time long time 14L yr :time long time 365L 2 ELSE: endcase OPTIONS spawn grep i OPTIONS filename options options strtrim options 2 options strlowcase options 0 key_yreverse strpos options yrev NE 1 key_zreverse strpos options zrev EQ 1 multifiles strpos options template NE 1 f77sequential strpos options sequential NE 1 swapbytes strpos options byteswapped NE 1 bigendian strpos options big_endian NE 1 littleendian strpos options little_endian NE 1 cray strpos options cray_32bit_ieee NE 1 IF cray THEN BEGIN print cray_32bit_ieee Not yet coded stop ENDIF cal365 strpos options 365_day_calendar NE 1 IF cal365 THEN BEGIN print 365_day_calenda Not yet coded stop ENDIF building the filesname spawn grep i DSET filename files files strtrim files 0 2 files strsplit files extract if n_elements files NE 2 then begin print Bad definition of the filename There shoud be 2 elements: print DEST and 1 filename that may define many files stop endif files files 1 files strmid files 0 strpos files 0 reverse_search 1 filesname files if keyword_set multifiles then begin minutes if stregex files i n2 0 NE 1 then begin filetsep mn mnend long mn0 jpt 1 tmp strarr hend h0 1 for i 0 n_elements tmp 1 do tmp i strjoin strsplit filesname i n2 extract regex string mn0 i format i2 2 filesname strjoin tmp endif hours if stregex files i hf 123 0 NE 1 then begin filetsep hr case strlowcase strmid tstep 1 reverse of mn :hend long h0 jpt mn0 1 1 60 hr :hend long h0 jpt 1 endcase tmp strarr hend h0 1 case 1 of stregex files i h1 NE 1:for i 0 n_elements tmp 1 do tmp i strjoin strsplit filesname i h1 extract regex strtrim h0 i 1 stregex files i h2 NE 1:for i 0 n_elements tmp 1 do tmp i strjoin strsplit filesname i h2 extract regex string h0 i format i2 2 stregex files f2 NE 1:for i 0 n_elements tmp 1 do tmp i strjoin strsplit filesname f2 extract regex string h0 i format i3 2 stregex files i hf 3 NE 1:for i 0 n_elements tmp 1 do tmp i strjoin strsplit filesname i hf 3 extract regex string h0 i format i3 3 endcase filesname strjoin tmp endif days if stregex files i d 12 0 NE 1 then begin filetsep dy case strlowcase strmid tstep 1 reverse of mn :dend long d0 jpt mn0 1 1 1440 hr :dend long d0 jpt h0 1 1 24 dy :dend long d0 jpt 1 endcase tmp strarr dend d0 1 case 1 of stregex files i d1 NE 1:for i 0 n_elements tmp 1 do tmp i strjoin strsplit filesname i d1 extract regex strtrim d0 i 1 stregex files i d2 NE 1:for i 0 n_elements tmp 1 do tmp i strjoin strsplit filesname i d2 extract regex string d0 i format i2 2 endcase filesname strjoin tmp endif months if stregex files i m 12c 0 NE 1 then begin filetsep mo tmp strarr 12 case 1 of stregex files i m1 NE 1:for i 1 12 do tmp i 1 strjoin strsplit filesname i m1 extract regex strtrim i 1 stregex files i m2 NE 1:for i 1 12 do tmp i 1 strjoin strsplit filesname i m2 extract regex string i format i2 2 stregex files i mc NE 1:for i 1 12 do tmp i 1 strjoin strsplit filesname i mc extract regex monthsname i 1 endcase filesname strjoin tmp endif years if stregex files i y 24 0 NE 1 then begin case strlowcase strmid tstep 1 reverse of dy :yend long y0 jpt d0 1 1 365 mo :yend long y0 jpt m0 1 1 12 yr :yend long y0 jpt 1 ELSE:yend y0 endcase tmp strarr yend y0 1 case 1 of stregex files i y2 NE 1:for i 0 n_elements tmp 1 do tmp i strjoin strsplit filesname i y2 extract regex string y0 i 100 y0 i 100 format i2 2 stregex files i y4 NE 1:for i 0 n_elements tmp 1 do tmp i strjoin strsplit filesname i y 4 extract regex string y0 i format i4 4 endcase filesname strjoin tmp endif filesname strsplit filesname extract time step unit of each file: case 1 of stregex files i n2 0 NE 1:filetsep mn stregex files i hf 123 0 NE 1:filetsep hr stregex files i d 12 0 NE 1:filetsep dy stregex files i m 12c 0 NE 1: filetsep mo stregex files i y 24 0 NE 1:filetsep yr ENDCASE number of time steps for each files case strlowcase strmid tstep 1 reverse of mn :BEGIN case filetsep of yr :jpt1file 60L 24L 365L mo :jpt1file 60L 24L 30L dy :jpt1file 60L 24L hr :jpt1file 60L mn :jpt1file 1L endcase END hr :BEGIN case filetsep of yr :jpt1file 24L 365L mo :jpt1file 24L 30L dy :jpt1file 24L hr :jpt1file 1L endcase END dy :BEGIN case filetsep of yr :jpt1file 365L mo :jpt1file 30L dy :jpt1file 1L endcase END mo :BEGIN case filetsep of yr :jpt1file 12L mo :jpt1file 1L endcase END yr :jpt1file 1L endcase number of files nof ceil jpt 1 jpt1file filesname filesname 0:nof 1 ENDIF ELSE BEGIN nof 1 jpt1file jpt ENDELSE first character if stregex files GE 0 THEN BEGIN iodir strmid filename 0 strpos filename reverse_search 1 for i 0 nof 1 do filesname i iodir strmid filesname i 1 ENDIF extracting the variables spawn grep i VARS filename nvars nvars strtrim nvars 2 nvars strsplit nvars 0 extract nvars long nvars 1 spawn sed n e d e Vv Aa Rr Ss Ee Nn Dd Vv Aa Rr Ss p filename varlist if n_elements varlist LE 2 then begin print No lines between vars and endvars stop endif varlist varlist 1:n_elements varlist 2 if n_elements varlist NE nvars then begin print Number of variables indicated by VARS strtrim nvars 1 differs from number of lines without at the beginning located between VARS and ENDVARS: strtrim n_elements varlist 1 stop ENDIF varsname strarr nvars varsdes strarr nvars varslev lonarr nvars for i 0 nvars 1 do BEGIN varlist i strtrim varlist i 2 tmp strsplit varlist i extract if strmid tmp 2 0 2 EQ 1 then BEGIN case long strmid tmp 2 3 2 of 10:BEGIN print Special data formats units 1 10 Not yet coded stop END 20:BEGIN print Special data formats units 1 20 Not yet coded stop END 30:BEGIN print Special data formats units 1 30 Not yet coded stop END 40:BEGIN case long strmid tmp 2 6 of 1:varfmt byte 2:varfmt uint 2:varfmt int 4:varfmt long ELSE:BEGIN print Bad definition of the special data formats: print long strmid tmp 2 6 should be equal to 1 2 2 or 4 stop END endcase END ELSE:BEGIN print Special data formats units 1 Not yet coded stop END endcase endif varsname i tmp 0 varsdes i strjoin tmp 3:n_elements tmp 1 varslev i long tmp 1 ENDFOR varslev 1 varslev ccmeshparameters filename filename ccmeshparameters filename Grads IF keyword_set key_performance EQ 1 THEN print time scanctl systime 1 time1 return end ");96 a[94] = new Array("./ReadWrite/scanoasis.html", "scanoasis.pro", "", " NAME:scanoasis PURPOSE:scan an Oasis file version scanoasis grids_orca_t106 MODIFICATION HISTORY:Sebastien Masson smasson lodyc jussieu fr July 01 2002 PRO scanoasis filename openr unit filename F77_UNFORMATTED GET_LUN SWAP_IF_LITTLE_ENDIAN error err if err ne 0 then begin print err_string return endif char8 12345678 WHILE NOT EOF unit DO BEGIN readu unit char8 print char8 readu unit ENDWHILE free_lun unit return end");97 a[95] = new Array("./ReadWrite/write_oasis.html", "write_oasis.pro", "", " NAME:write_oasis PURPOSE:write an Oasis file version 2 5 CATEGORY: CALLING SEQUENCE:write_oasis filename varname z2d INPUTS: filename:the filename varname: the name of the variable to be written z2d: the variable 2D array to be written KEYWORD PARAMETERS: I2 I4 I8 R4: to change the defaut format R8 of the data to be written APPEND: to open the file with the file pointer at the end of the file ready for data to be appended OUTPUTS: COMMON BLOCKS: SIDE EFFECTS:varname is automatically written as a charactere 8 by defaut z2d is written as an R8 array RESTRICTIONS: EXAMPLE: MODIFICATION HISTORY:Sebastien Masson smasson lodyc jussieu fr July 01 2002 PRO write_oasis filename varname z2d I2 I4 i4 I8 i8 R4 r4 APPEND append openw unit filename F77_UNFORMATTED GET_LUN SWAP_IF_LITTLE_ENDIAN error err APPEND append if err ne 0 then begin print err_string return endif writeu unit string varname format a8 case 1 of keyword_set i2 :writeu unit fix z2d keyword_set i4 :writeu unit long z2d keyword_set i8 :writeu unit long64 z2d keyword_set r4 :writeu unit float z2d ELSE:writeu unit double z2d endcase free_lun unit return end");98 a[96] = new Array("./ReadWrite/writebat.html", "writebat.pro", "", " NAME: writebat PURPOSE: write the bathymetry ASCII file of OPA CATEGORY: for OPA CALLING SEQUENCE: writebat bat filename INPUTS: bat: the bathymetry a 2d array filename: a string containing the filename KEYWORD PARAMETERS: OUTPUTS:no COMMON BLOCKS:no SIDE EFFECTS: RESTRICTIONS: EXAMPLE: MODIFICATION HISTORY:Sebastien Masson smasson lodyc jussieu fr Sept 30 2003 based on batsav2 pro written by Maurice Imbard March 17 1998 PRO writebat zbat filename basic checks IF n_params NE 2 THEN BEGIN print bad number of aguments in the call of writebat return ENDIF IF size filename type NE 7 THEN BEGIN print the filename should be a string return ENDIF sbat size zbat IF sbat 0 NE 2 THEN BEGIN print bathymetry array should be 2d array return ENDIF jpi2 sbat 1 jpj2 sbat 2 parameters def ifreq 40 ifin jpi2 ifreq 1 irest jpi2 ifin 1 ifreq zbati intarr ifreq zbati2 intarr irest i0 intarr ifreq 5 i1 intarr max 1 irest 5 openw iunit filename get_lun fill the file printf iunit FORMAT 1x bathy IDL 2i8 jpi2 jpj2 printf iunit FORMAT il1 0 FOR jn 1 ifin 1 DO BEGIN printf iunit FORMAT il2 min jpi2 1 il1 ifreq 1 i0 0 il1 1 FOR jj 1 ifreq 5 1 DO BEGIN i0 jj i0 jj 1 5 END printf iunit FORMAT 3x 13 i3 12x i0 printf iunit FORMAT il3 il2 jn 1 ifreq iformat string il3 2 i3 FOR jj jpj2 1 0 1 DO BEGIN zbati 0:il3 zbat il1:il2 jj printf iunit FORMAT iformat jj 1 zbati END il1 il1 ifreq END printf iunit FORMAT il2 min jpi2 1 il1 ifreq 1 i1 0 il1 1 FOR jj 1 irest 5 1 DO BEGIN i1 jj i1 jj 1 5 END printf iunit FORMAT 3x 13 i3 12x i1 printf iunit FORMAT il3 il2 ifin 1 ifreq iformat string il3 2 i3 FOR jj jpj2 1 0 1 DO BEGIN zbati2 0:irest 1 0 zbati2 0:il3 zbat il1:il2 jj printf iunit FORMAT iformat jj 1 zbati2 END end close iunit free_lun iunit return end");89 a[87] = new Array("./ReadWrite/ncdf_timeget.html", "ncdf_timeget.pro", "", " file_comments get the time axis fom a netcdf_file and transforms it in julian days of IDL categories reading ncdf_file param cdfid in required the ID of the ncdf_file which is already open param timeid in required the ID or the name of the variable which describe the calendar keyword YYYYMMDD active to obtain the date as a longinterger with the format YearYearYearYearMonthMonthDayDay file_comments the keyword parameters of ncdf_varget returns a long array of IDL julian days restrictions the calendar variable must have the units attribute following the syntaxe bellow: 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 history Sebastien Masson smasson lodyc jussieu fr June 2001 FUNCTION ncdf_timeget cdfid timeid YYYYMMDD yyyymmdd _extra ex insidetime ncdf_varinq cdfid timeid if insidetime natts NE 0 then begin attnames strarr insidetime natts for attiq 0 insidetime natts 1 do attnames attiq strlowcase ncdf_attname cdfid timeid attiq ENDIF ELSE return report the variable timeid must have the units attribut reading of the time axis ncdf_varget cdfid timeid time _extra ex 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 if where attnames EQ units 0 NE 1 then begin ncdf_attget cdfid timeid units value value strtrim strcompress string value 2 words str_sep value unite words 0 start str_sep words 2 case strlowcase unite of seconds :time julday start 1 start 2 start 0 time long 24 3600 hours :time julday start 1 start 2 start 0 time long 24 days :time julday start 1 start 2 start 0 time months :BEGIN for t 0 n_elements time 1 do begin time t julday start 1 time t start 2 start 0 endfor END years :BEGIN for t 0 n_elements time 1 do begin time t julday start 1 start 2 start 0 time t endfor END ELSE:return report bad syntax of the units attribut of the variable timeid ENDCASE ENDIF ELSE return report the variable timeid must have the units attribut if keyword_set yyyymmdd then time jul2date time return time end"); 90 a[88] = new Array("./ReadWrite/read_grads.html", "read_grads.pro", "", " file_comments reading grads file except data type station or grib from the grads control file even if there is multiple data files categories reading function param var in required the variable name param date1 in required date of the beginning yyyymmdd if TIMESTEP is not activate param date2 in optional last date Optionnal if not scpecified date2 date1 keyword FILENAME the grads control file name: xxxx ctl file_comment keyword GLAMBOUNDARY via computegrid pro a 2 elements vector lon1 lon2 giving the longitute boundaries that should be used to visualize the data lon2 lon1 lon2 lon1 eq 360 key_shift will be automatically defined according to GLAMBOUNDARY keyword TIMESTEP to specify that the dates are time steps instead of true calendar file_comment keyword IODIRECTORY a string giving the name of iodirectory see isafile pro for all possibilities default value is common variable iodir file_comments NOT yet available hidden BOX: a 4 or 6 elements 1d array lon1 lon2 lat1 lat2 depth1 depth2 that specifies the area where data must be read hidden EVERYTHING hidden NOSTRUCTURE returns an array uses common restriction define all the grid parameters defined in common pro associated to the data restrictions this function call the procedure scanfile that use the unix commands grep and sed examples IDL a read_grads sst 19900101 19900131 filename outputs ctl IDL plt a history Sebastien Masson smasson lodyc jussieu fr FUNCTION read_grads var date1 date2 FILENAME filename BOX box TIMESTEP timestep EVERYTHING everything NOSTRUCT nostruct _EXTRA ex cm_4mesh cm_4data cm_4cal IF NOT keyword_set key_forgetold THEN BEGIN updatenew ENDIF we find the filename filename isafile FILENAME filename IODIRECTORY iodir _EXTRA ex if size filename type NE 7 then return report read_ncdf cancelled we scan the control file called filename scanctl filename filesname jpt1file varsname varslev swapbytes bigendian littleendian f77sequential fileheader theader xyheader VARFMT varfmt _EXTRA ex if n_elements varfmt EQ 0 then varfmt float check date1 and date2 and found the starting index t1 and the ending index t2 that corresponds to the time series specified by date1 and date2 for the time axis defined in the ctl file if n_elements date1 EQ 0 then begin t0 0 t1 0 ENDIF if n_elements date2 EQ 0 then date2 date1 if keyword_set timestep then BEGIN if date1 GT date2 then begin print date2 must be larger than date1 return 1 endif t1 0 long date1 long date2 date2jul date2 grads if jdate1 GT jdate2 then begin print date2 must be larger than date1 return 1 endif t1 where time GE jdate1 0 tmp where time LE jdate2 t2 t2 t2 1 ENDELSE if t2 LT t1 then begin print There is no date between date1 and date2 return 1 endif jpt2read t2 t1 1 index of the variable varid where strlowcase varsname EQ strlowcase var varid varid 0 if varid EQ 1 then begin print var not found in the variable liste of filename return 1 ENDIF varname var if varslev varid EQ 1 then res fltarr jpi jpj jpt2read nozero ELSE res fltarr jpi jpj varslev varid jpt2read nozero find the first file to be read according to the lile list the number of time step in each file and t1 and t2 indf2read t1 jpt1file startread t1 indf2read jpt1file alreadyread 0 readagain: jpt2read1file min jpt1file startread jpt2read f2read filesname indf2read opening check the existance of the file f2read isafile filename f2read iodirectory iodir _EXTRA ex if the file is stored on tape if version os_family EQ unix then spawn file f2read dev null open the file openr unit f2read get_lun error err swap_if_little_endian bigendian swap_if_big_endian littleendian swap_endian swapbytes if err ne 0 then begin print err_string return 1 endif case varfmt of byte :fmtsz 1l uint :fmtsz 2l int :fmtsz 2l long :fmtsz 4l float :fmtsz 4l endcase check its size addf77sec long 4 2 f77sequential xyblocsize xyheader addf77sec xyheader NE 0 jpi jpj fmtsz addf77sec nxybloc long total varslev filesize fileheader addf77sec fileheader NE 0 theader addf77sec theader NE 0 nxybloc xyblocsize jpt1file infof2read fstat unit if infof2read size NE filesize then begin print According to filename the file size must be strtrim filesize 1 instead of strtrim infof2read size 1 print jpi: strtrim jpi 2 print jpj: strtrim jpj 2 print jpt: strtrim jpt 2 print format size in byte: strtrim fmtsz 2 print number of xy arrays: strtrim nxybloc 2 return 1 endif reading loop on the time steps to be read in one file for i 0 jpt2read1file 1 do begin computing the offset offset fileheader addf77sec fileheader NE 0 theader addf77sec theader NE 0 nxybloc xyblocsize startread i theader addf77sec theader NE 0 if varid NE 0 THEN offset offset long total varslev 0:varid 1 xyblocsize if there is only one level IF varslev varid EQ 1 then begin case varfmt of byte :a assoc unit bytarr jpi jpj nozero offset 4 f77sequential uint :a assoc unit uintarr jpi jpj nozero offset 4 f77sequential int :a assoc unit intarr jpi jpj nozero offset 4 f77sequential long :a assoc unit lonarr jpi jpj nozero offset 4 f77sequential float :a assoc unit fltarr jpi jpj nozero offset 4 f77sequential endcase res i alreadyread a 0 ENDIF ELSE BEGIN more than 1 level to be read if f77sequential then BEGIN sequential access case varfmt of byte :a assoc unit bytarr jpi jpj 8 varslev varid nozero offset uint :a assoc unit uintarr jpi jpj 4 varslev varid nozero offset int :a assoc unit intarr jpi jpj 4 varslev varid nozero offset long :a assoc unit lonarr jpi jpj 2 varslev varid nozero offset float :a assoc unit fltarr jpi jpj 2 varslev varid nozero offset endcase tmp a 0 case varfmt OF we cut the headers and tailers of f77 write byte : tmp tmp 4:jpi jpj 3 uint : tmp tmp 2:jpi jpj 1 int : tmp tmp 2:jpi jpj 1 long : tmp tmp 1:jpi jpj 0 float :tmp tmp 1:jpi jpj 0 endcase if keyword_set key_zreverse then res i alreadyread reverse reform tmp jpi jpj varslev varid over 3 ELSE res i alreadyread reform tmp jpi jpj varslev varid over ENDIF ELSE BEGIN direct acces case varfmt of byte :a assoc unit bytarr jpi jpj varslev varid nozero offset uint :a assoc unit uintarr jpi jpj varslev varid nozero offset int :a assoc unit intarr jpi jpj varslev varid nozero offset long :a assoc unit lonarr jpi jpj varslev varid nozero offset float :a assoc unit fltarr jpi jpj varslev varid nozero offset endcase if keyword_set key_zreverse then res i alreadyread reverse a 0 3 ELSE res i alreadyread a 0 ENDELSE ENDELSE endfor close the file free_lun unit close unit do we need to read a new file to complete the time series if jpt2read1file NE jpt2read then BEGIN indf2read indf2read 1 startread 0 alreadyread alreadyread jpt2read1file jpt2read jpt2read jpt2read1file GOTO readagain ENDIF post processing if keyword_set key_yreverse then res reverse res 2 if keyword_set key_shift then begin case size res 0 of 2:res shift res key_shift 0 3:res shift res key_shift 0 0 4:res shift res key_shift 0 0 0 endcase endif mask IF varslev varid EQ 1 then begin if abs valmask LE 1e5 then notgood where res 0 EQ valmask ELSE notgood where abs res 0 GE abs valmask 10 if notgood 0 NE 1 then tmask notgood 0b ENDIF ELSE BEGIN if abs valmask LE 1e5 then notgood where res 0 EQ valmask ELSE notgood where abs res 0 GE abs valmask 10 if notgood 0 NE 1 then tmask notgood 0b ENDELSE if abs valmask LE 1e5 then notgood where res EQ valmask ELSE notgood where abs res GE abs valmask 10 if notgood 0 NE 1 THEN res notgood values f_nan valmask 1e20 if abs valmask LE 1e5 then notgood where res EQ valmask ELSE notgood where abs res GE abs valmask 10 if notgood 0 NE 1 THEN res notgood 1e20 valmask 1e20 triangles_list triangule subdomain extration time aguments time time t1:t2 jpt t2 t1 1 if keyword_set timestep then vardate strtrim time 0 2 ELSE vardate date2string vairdate time 0 updateold return res end"); 91 a[89] = new Array("./ReadWrite/read_oasis.html", "read_oasis.pro", "", " file_comments read the f77 unformated files used in Oasis version a read_oasis grids_orca_t106 a106 lon 320 160 IDL m read_oasis masks_orca_t106 or1t msk 182 149 i4 see also IDL scanoasis grids_orca_t106 history Sebastien Masson smasson lodyc jussieu fr July 01 2002 FUNCTION read_oasis filename varname jpi jpj I2 I4 i4 I8 i8 R4 r4 openr unit filename f77_unformatted get_lun swap_if_little_endian error err if err ne 0 then begin print err_string return 1 endif char8 12345678 readu unit char8 print char8 found char8 EQ varname WHILE NOT EOF unit AND found NE 1 DO BEGIN readu unit if EOF unit then begin print varname not found in filename return 1 endif readu unit char8 print char8 found char8 EQ varname ENDWHILE case 1 of keyword_set i2 :res intarr jpi jpj keyword_set i4 :res lonarr jpi jpj keyword_set i8 :res lon64arr jpi jpj keyword_set r4 :res fltarr jpi jpj ELSE:res dblarr jpi jpj endcase readu unit res free_lun unit return res end"); 92 a[90] = new Array("./ReadWrite/readbat.html", "readbat.pro", "", " file_comments reading the bathymetry ASCII file of OPA categories for OPA param filename in required a string containing the filename keyword ZERO to put 0 on land instead of negatives values for the islands returns a 2d array history Sebastien Masson smasson lodyc jussieu fr May 31 2002 based on batlec2 pro written by Maurice Imbard March 17 1998 FUNCTION readbat filename ZERO zero lecture de la bathymetrie iname_file findfile filename if iname_file 0 EQ then begin print Bad file name return 1 ENDIF ELSE iname_file iname_file 0 openr iunit iname_file get_lun readf iunit FORMAT 16x 2i8 iim ijm iim long iim ijm long ijm tmp readf iunit tmp tmp strsplit tmp extract iim long tmp n_elements tmp 2 ijm long tmp n_elements tmp 1 print iim ijm ifreq 40L ifin iim ifreq 1 irest iim ifin 1 ifreq print ifin irest ifreq zbati intarr ifreq zbati2 intarr irest zbat intarr iim ijm readf iunit FORMAT readf iunit FORMAT il1 0 FOR jn 1 ifin 1 DO BEGIN readf iunit FORMAT readf iunit FORMAT il2 min iim 1 il1 ifreq 1 readf iunit FORMAT readf iunit FORMAT readf iunit FORMAT il3 il2 jn 1 ifreq iformat string il3 2 i3 print jn il1 il2 il3 ifreq 1 FOR jj ijm 1 0 1 DO BEGIN readf iunit FORMAT iformat ij zbati zbat il1:il2 jj zbati ENDFOR il1 il1 ifreq ENDFOR readf iunit FORMAT readf iunit FORMAT il2 min iim 1 il1 ifreq 1 readf iunit FORMAT readf iunit FORMAT readf iunit FORMAT il3 il2 ifin 1 ifreq iformat string il3 2 i3 print irest 1 il1 il2 il3 FOR jj ijm 1 0 1 DO BEGIN readf iunit FORMAT iformat ij zbati2 zbat il1:il2 jj zbati2 ENDFOR close iunit free_lun iunit if keyword_set zero then zbat 0 zbat return zbat end"); 93 a[91] = new Array("./ReadWrite/readoldopadistcoast.html", "readoldopadistcoast.pro", "", " file_comments read the old binary direct access file that contains the distance to the coast in OPA based on the OPA subroutines dtacof and parctl categories for OPA before NetCDF returns a structure that contains two elements: tdistcoast the distance for the t points and fdiscoast the distance for the f points history Sebastien Masson smasson lodyc jussieu fr June 2002 FUNCTION read3fromopa unit params num offset params reclen params jpk num 1L a assoc unit dblarr params jpiglo params jpjglo params jpk nozero offset b a 0 return b end param filename in required filename with the whole path if necessary param jpiglo in required param jpjglo in required param jpk in required dimensions of the opa grid keyword IBLOC ibloc size default: ibloc 4096L keyword JPBYT jpbyt size default: jpbyt 8L keyword NUMREC number of records in the file default: numrec 19L jpk history Sebastien Masson smasson lodyc jussieu fr June 2002 FUNCTION readoldopadistcoast filename jpiglo jpjglo jpk IBLOC ibloc JPBYT jpbyt NUMREC numrec iname_file findfile filename if iname_file 0 EQ then begin print Bad file name return 1 ENDIF ELSE iname_file iname_file 0 open the file openr numcost iname_file get_lun swap_if_little_endian check the size of the file filepamameters fstat numcost defaut parameter definition for ORCA2 IF keyword_set ibloc THEN ibloc long ibloc ELSE ibloc 4096L jpiglo long jpiglo jpjglo long jpjglo jpk long jpk IF keyword_set jpbyt THEN jpbyt long jpbyt ELSE jpbyt 8L record length computation reclen ibloc jpiglo jpjglo jpbyt 1 ibloc 1 number of records IF keyword_set numrec THEN numrec long numrec ELSE numrec 3L jpk difference between the record length and the size of the contened array toomuch reclen jpiglo jpjglo jpbyt expected size computation size numrec reclen toomuch if size NE filepamameters size then begin print The size of the file is not the expected one print Check your file or the values of ibloc jpiglo print jpjglo jpk jpbyt numrec in this program return 1 endif first record: six 64 bit integer to read default definition iimlu long64 999 ijmlu long64 999 ikmlu long64 999 read readu numcost iimlu ijmlu ikmlu if iimlu NE jpiglo then begin print iimlu strtrim iimlu 1 differs from jpiglo strtrim jpiglo 1 return 1 endif if ijmlu NE jpjglo then begin print ijmlu strtrim ijmlu 1 differs from jpjglo strtrim jpjglo 1 return 1 endif if ikmlu NE jpk then begin print ikmlu strtrim ikmlu 1 differs from jpk strtrim jpk 1 return 1 endif other records params jpiglo:jpiglo jpjglo:jpjglo jpk:jpk reclen:reclen tdistcoast read3fromopa numcost params 2 fdistcoast read3fromopa numcost params 3 close numcost free_lun numcost return tdistcoast:tdistcoast fdistcoast:fdistcoast end"); 94 a[92] = new Array("./ReadWrite/readoldoparestart.html", "readoldoparestart.pro", "", " categories for OPA before NetCDF restrictions bug for etab and etan written on the same record history Sebastien Masson smasson lodyc jussieu fr June 2002 FUNCTION read2fromopa unit params num offset params reclen params jpk num 1L a assoc unit dblarr params jpiglo params jpjglo nozero offset return a 0 end history Sebastien Masson smasson lodyc jussieu fr June 2002 FUNCTION read3fromopa unit params num offset params reclen params jpk num 1L a assoc unit dblarr params jpiglo params jpjglo params jpk nozero offset return a 0 end file_comments read the old restart files of OPA before NetCDF based on the OPA subroutine dtrlec included at the end of the file categories for OPA before NetCDF param filename in required with the whole path if necessary param jpiglo in required param jpjglo in required param jpk in required dimensions of the opa grid keyword IBLOC ibloc size default: ibloc 4096L keyword JPBYT jpbyt size defalut: jpbyt 8L keyword NUMREC number of records in the file defalut: numrec 19L jpk keyword UB keyword VB keyword TB keyword SB keyword ROTB keyword HDIVB keyword UN keyword VN keyword TN keyword SN keyword ROTN keyword HDIVN keyword GCX keyword GCXB keyword ETAB keyword ETAN keyword BSFB keyword BSFN keyword BSFD keyword EN the variable we want to read returns according to the given keywords restrictions bug for etab and etan written on the same record history Sebastien Masson smasson lodyc jussieu fr June 2002 PRO readoldoparestart filename jpiglo jpjglo jpk IBLOC ibloc JPBYT jpbyt NUMREC numrec ub ub vb vb tb tb sb sb rotb rotb hdivb hdivb un un vn vn tn tn sn sn rotn rotn hdivn hdivn gcx gcx gcxb gcxb etab etab etan etan bsfb bsfb bsfn bsfn bsfd bsfd en en iname_file findfile filename if iname_file 0 EQ then begin print Bad file name return ENDIF ELSE iname_file iname_file 0 open the file openr numrst iname_file get_lun swap_if_little_endian check the size of the file filepamameters fstat numrst parameter definition IF keyword_set ibloc THEN ibloc long ibloc ELSE ibloc 4096L jpiglo long jpiglo jpjglo long jpjglo jpk long jpk IF keyword_set jpbyt THEN jpbyt long jpbyt ELSE jpbyt 8L record length computation reclen ibloc jpiglo jpjglo jpbyt 1 ibloc 1 IF keyword_set numrec THEN numrec long numrec ELSE numrec 19L jpk toomuch reclen jpiglo jpjglo jpbyt expected size computation size numrec reclen toomuch if size NE filepamameters size then begin print The size of the file is not the expected one print Check your file or the values of ibloc jpiglo print jpjglo jpk jpbyt numrec in this program return endif first record: six 64 bit integer to read default definition ino1 long64 9999 it1 long64 9999 isor1 long64 9999 ipcg1 long64 9999 itke1 long64 9999 idast1 long64 9999 read readu numrst ino1 it1 isor1 ipcg1 itke1 idast1 print ino1 it1 isor1 ipcg1 itke1 idast1 other records params jpiglo:jpiglo jpjglo:jpjglo jpk:jpk reclen:reclen CALL read3 numrst ub 2 IF arg_present ub THEN ub read3fromopa numrst params 2 CALL read3 numrst vb 3 IF arg_present vb THEN vb read3fromopa numrst params 3 CALL read3 numrst tb 5 IF arg_present tb THEN tb read3fromopa numrst params 5 CALL read3 numrst sb 6 IF arg_present sb THEN sb read3fromopa numrst params 6 CALL read3 numrst rotb 7 IF arg_present rotb THEN rotb read3fromopa numrst params 7 CALL read3 numrst hdivb 8 IF arg_present hdivb THEN hdivb read3fromopa numrst params 8 CALL read3 numrst un 9 IF arg_present un THEN un read3fromopa numrst params 9 CALL read3 numrst vn 10 IF arg_present vn THEN vn read3fromopa numrst params 10 CALL read3 numrst tn 12 IF arg_present tn THEN tn read3fromopa numrst params 12 CALL read3 numrst sn 13 IF arg_present sn THEN sn read3fromopa numrst params 13 CALL read3 numrst rotn 14 IF arg_present rotn THEN rotn read3fromopa numrst params 14 CALL read3 numrst hdivn 15 IF arg_present hdivn THEN hdivn read3fromopa numrst params 15 C C Read elliptic solver arrays C CALL read2 numrst gcx jpk 17 IF arg_present gcx THEN gcx read2fromopa numrst params 17 CALL read2 numrst gcxb jpk 18 IF arg_present gcxb THEN gcxb read2fromopa numrst params 18 C ifdef key_freesurf_cstvol C C free surface formulation eta C CALL read2 numrst etab jpk 4 IF arg_present etab THEN etab read2fromopa numrst params 4 CALL read2 numrst etan jpk 4 IF arg_present etan THEN etan read2fromopa numrst params 4 else C C Rigid lid formulation bsf C CALL read2 numrst bsfb jpk 4 IF arg_present bsfb THEN bsfb read2fromopa numrst params 4 CALL read2 numrst bsfn jpk 11 IF arg_present bsfn THEN bsfn read2fromopa numrst params 11 CALL read2 numrst bsfd jpk 16 IF arg_present bsfd THEN bsfd read2fromopa numrst params 16 endif ifdef key_zdftke CALL read3 numrst en 19 IF arg_present en THEN en read3fromopa numrst params 19 close numrst free_lun numrst return end CDIR LIST SUBROUTINE dtrlec CCC CCC CCC ROUTINE dtrlec CCC CCC CCC Purpose : CCC CCC Read files for restart CCC CC Method : CC CC Read the previous fields on the file numrst CC the first record indicates previous characterics CC after control with the present run we read : CC prognostic variables on the second record CC elliptic solver arrays CC barotropic stream function arrays default option CC or free surface arrays key_freesurf_cstvol defined CC tke arrays key_zdftke defined CC for this last three records the previous characteristics CC could be different with those used in the present run CC CC Input : CC CC common CC comrst : restart parameter CC comctl : parameters for the control CC CC Output : CC CC common CC combef : previous fields before CC comnow : present fields now CC combsf : barotropic stream function CC comspg : surface pressure CC comsol : diagonal preconditioned conjugate CC CC Modifications : CC CC original : 91 03 CC additions : 92 01 M Imbard CC : 92 06 correction restart file M Imbard CC : 98 02 M Guyon FETI method CC addition : 98 05 G Roullet free surface CC CC parameters and commons CC CDIR NOLIST include parameter h include common h CDIR LIST CC CC local declarations CC INTEGER ji jj jk jl INTEGER ino0 it0 ipcg0 isor0 itke0 INTEGER ino1 it1 isor1 ipcg1 itke1 idast1 CC CC statement functions CC CDIR NOLIST include stafun h CDIR LIST CCC CCC OPA8 LODYC 1997 CCC C C C 0 Initialisations C C ino0 no it0 nit000 ipcg0 0 isor0 0 itke0 0 isor0 nsolv 1 ipcg0 2 nsolv ifdef key_zdftke itke0 1 endif C FETI method IF nsolv EQ 3 THEN isor0 2 ipcg0 2 ENDIF C IF lwp THEN WRITE numout WRITE numout dtrlec: beginning of restart WRITE numout WRITE numout the present run : WRITE numout job number : no WRITE numout with nit000 : nit000 WRITE numout with pcg option ipcg0 : ipcg0 WRITE numout with sor option isor0 : isor0 WRITE numout with FETI solver option ipcg0 isor0 : ipcg0 isor0 WRITE numout with tke option itke0 : itke0 ENDIF C C 1 Read numrst C C C First record C READ numrst REC 1 ino1 it1 isor1 ipcg1 itke1 idast1 C IF lwp THEN WRITE numout WRITE numout READ numrst with WRITE numout job number : ino1 WRITE numout with time step it : it1 WRITE numout with pcg option ipcg1 : ipcg1 WRITE numout with sor option isor1 : isor1 WRITE numout with tke option itke1 : itke1 WRITE numout with FETI solver option ipcg1 isor1 : ipcg1 isor1 WRITE numout ENDIF C C Control of date C IF it0 it1 NE 1 AND abs nrstdt EQ 1 THEN IF lwp THEN WRITE numout : problem with nit000 for the restart WRITE numout WRITE numout we stop verify the file WRITE numout or rerun with the value 0 for the WRITE numout control of time parameter nrstdt WRITE numout ENDIF STOP dtrlec ENDIF IF nrstdt EQ 1 ndate0 idast1 C C Read prognostic variables C CALL read3 numrst ub 2 CALL read3 numrst vb 3 CALL read3 numrst tb 5 CALL read3 numrst sb 6 CALL read3 numrst rotb 7 CALL read3 numrst hdivb 8 CALL read3 numrst un 9 CALL read3 numrst vn 10 CALL read3 numrst tn 12 CALL read3 numrst sn 13 CALL read3 numrst rotn 14 CALL read3 numrst hdivn 15 C C Read elliptic solver arrays C CALL read2 numrst gcx jpk 17 CALL read2 numrst gcxb jpk 18 C ifdef key_freesurf_cstvol C C free surface formulation eta C CALL read2 numrst etab jpk 4 CALL read2 numrst etan jpk 4 else C C Rigid lid formulation bsf C CALL read2 numrst bsfb jpk 4 CALL read2 numrst bsfn jpk 11 CALL read2 numrst bsfd jpk 16 endif C ifdef key_zdftke C C Read tke arrays C IF itke1 eq 1 THEN CALL read3 numrst en 19 ELSE IF lwp THEN WRITE numout : the previous restart file didnt used tke scheme WRITE numout ENDIF nrstdt 2 ENDIF endif C C RETURN END"); 95 a[93] = new Array("./ReadWrite/scanctl.html", "scanctl.pro", "", " file_comments GLAMBOUNDARY 2 elements vector lon1 lon2 the longitute boundaries that should be used to visualize the data lon2 lon1 lon2 lon1 le 360 key_shift will be defined according to GLAMBOUNDARY PRO scanctl filename filesname jpt1file varsname varslev swapbytes bigendian littleendian f77sequential fileheader theader xyheader VARFMT varfmt _EXTRA ex common time1 systime 1 for key_performance DTYPE spawn grep i DTYPE filename notgood if keyword_set notgood then begin print This program is not adapted to data type station or grib Sorry stop endif UNDEF define valmask spawn grep i UNDEF filename valmask valmask strtrim valmask 2 valmask strsplit valmask 0 extract valmask float valmask 1 Headers spawn grep i FILEHEADER filename fileheader fileheader strtrim fileheader 2 if keyword_set fileheader then BEGIN fileheader strsplit fileheader 0 extract fileheader long fileheader 1 ENDIF ELSE fileheader 0L spawn grep i THEADER filename theader theader strtrim theader 2 if keyword_set theader then BEGIN theader strsplit theader 0 extract theader long theader 1 ENDIF ELSE theader 0L spawn grep i XYHEADER filename xyheader xyheader strtrim xyheader 2 if keyword_set xyheader then BEGIN xyheader strsplit xyheader 0 extract xyheader long xyheader 1 ENDIF ELSE xyheader 0L find the x axis spawn sed n e d e Xx Dd Ee Ff Yy Dd Ee Ff p filename xdef if xdef 0 EQ then BEGIN print Bad definition of xdef or ydef stop ENDIF xdef xdef 0:n_elements xdef 2 if n_elements xdef NE 1 then begin xdef byte xdef replicate byte 1 n_elements xdef xdef xdef where xdef NE 0 xdef string xdef endif xdef strtrim xdef 0 2 xdef strsplit xdef extract jpi long xdef 1 case strupcase xdef 2 of LINEAR :xaxis float xdef 3 findgen jpi float xdef 4 LEVELS :xaxis float xdef 3:n_elements xdef 1 ENDCASE find the y axis spawn sed n e d e Yy Dd Ee Ff Zz Dd Ee Ff p filename ydef if ydef 0 EQ then BEGIN print Bad definition of ydef or zdef stop ENDIF ydef ydef 0:n_elements ydef 2 if n_elements ydef NE 1 then begin ydef byte ydef replicate byte 1 n_elements ydef ydef ydef where ydef NE 0 ydef string ydef endif ydef strtrim ydef 0 2 ydef strsplit ydef extract jpj long ydef 1 case strupcase ydef 2 of LINEAR :yaxis float ydef 3 findgen jpj float ydef 4 LEVELS :yaxis float ydef 3:n_elements ydef 1 GAUST62 :BEGIN print Not yet coded stop END GAUSR15 :BEGIN print Not yet coded stop END GAUSR20 :BEGIN print Not yet coded stop END GAUSR30 :BEGIN print Not yet coded stop END GAUSR40 :BEGIN print Not yet coded stop END ELSE:BEGIN print Not yet coded stop END endcase find the z axis spawn sed n e d e Zz Dd Ee Ff Tt Dd Ee Ff p filename zdef if zdef 0 EQ then BEGIN print Bad definition of zdef or tdef stop ENDIF zdef zdef 0:n_elements zdef 2 if n_elements zdef NE 1 then begin zdef byte zdef replicate byte 1 n_elements zdef zdef zdef where zdef NE 0 zdef string zdef endif zdef strtrim zdef 0 2 zdef strsplit zdef extract jpk long zdef 1 case strupcase zdef 2 of LINEAR :zaxis float zdef 3 findgen jpk float zdef 4 LEVELS :zaxis float zdef 3:n_elements zdef 1 ENDCASE compute the grid computegrid xaxis xaxis yaxis yaxis zaxis zaxis _EXTRA ex domdef find the time axis spawn grep i TDEF filename timedef timedef strupcase strtrim timedef 2 timedef strsplit timedef 0 extract jpt long timedef 1 initial date: y0 m0 d0 h0 mn0 julian day of IDL: julady m0 d0 y0 h0 mn0 00 t0 timedef 3 monthsname string format C CMOA 31 indgen 12 case 1 OF h h :mmZd d mmmyy yy strpos t0 : NE 1:BEGIN pp strpos t0 : h0 long strmid t0 0 pp mn0 long strmid t0 pp 1 2 pp strpos t0 Z dd byte strmid t0 pp 2 1 LT byte A d0 long strmid t0 pp 1 1 dd m0 where monthsname EQ strmid t0 pp 2 dd 3 0 1 y0 long strmid t0 pp 5 dd END m m Zd d mmmyy yy strpos t0 Z NE 1:BEGIN h0 0 12 pp strpos t0 Z mn0 long strmid t0 0 pp dd byte strmid t0 pp 2 1 LT byte A d0 long strmid t0 pp 1 1 dd m0 where monthsname EQ strmid t0 pp 2 dd 3 0 1 y0 long strmid t0 pp 5 dd END d d mmmyy yy byte strmid t0 0 1 LT byte A 0 :BEGIN h0 0 12 mn0 0 dd byte strmid t0 1 1 LT byte A d0 long strmid t0 0 1 dd m0 where monthsname EQ strmid t0 1 dd 3 0 1 y0 long strmid t0 4 dd END mmmyy yy ELSE:BEGIN h0 0 12 mn0 0 d0 1 m0 where monthsname EQ strmid t0 0 3 0 1 y0 long strmid t0 3 END ENDCASE if y0 is a two digit integer between 1950 and 2049 case 1 of y0 LE 49:y0 2000 y0 y0 LE 99:y0 1900 y0 ELSE: ENDCASE increment date and definition of the calendar with IDL julian days tstep timedef 4 tsval long strmid tstep 0 strlen tstep 2 case strlowcase strmid tstep 1 reverse of mn :time julday m0 d0 y0 h0 mn0 lindgen jpt tsval 0 hr :time julday m0 d0 y0 h0 lindgen jpt tsval mn0 0 dy :time julday m0 d0 lindgen jpt tsval y0 h0 mn0 0 mo :time julday m0 lindgen jpt tsval d0 y0 h0 mn0 0 yr :time julday m0 d0 y0 lindgen jpt tsval h0 mn0 0 ENDCASE shit the calendar to correspond to the time step case strlowcase strmid tstep 1 reverse of dy :time long time mo :time long time 14L yr :time long time 365L 2 ELSE: endcase OPTIONS spawn grep i OPTIONS filename options options strtrim options 2 options strlowcase options 0 key_yreverse strpos options yrev NE 1 key_zreverse strpos options zrev EQ 1 multifiles strpos options template NE 1 f77sequential strpos options sequential NE 1 swapbytes strpos options byteswapped NE 1 bigendian strpos options big_endian NE 1 littleendian strpos options little_endian NE 1 cray strpos options cray_32bit_ieee NE 1 IF cray THEN BEGIN print cray_32bit_ieee Not yet coded stop ENDIF cal365 strpos options 365_day_calendar NE 1 IF cal365 THEN BEGIN print 365_day_calenda Not yet coded stop ENDIF building the filesname spawn grep i DSET filename files files strtrim files 0 2 files strsplit files extract if n_elements files NE 2 then begin print Bad definition of the filename There shoud be 2 elements: print DEST and 1 filename that may define many files stop endif files files 1 files strmid files 0 strpos files 0 reverse_search 1 filesname files if keyword_set multifiles then begin minutes if stregex files i n2 0 NE 1 then begin filetsep mn mnend long mn0 jpt 1 tmp strarr hend h0 1 for i 0 n_elements tmp 1 do tmp i strjoin strsplit filesname i n2 extract regex string mn0 i format i2 2 filesname strjoin tmp endif hours if stregex files i hf 123 0 NE 1 then begin filetsep hr case strlowcase strmid tstep 1 reverse of mn :hend long h0 jpt mn0 1 1 60 hr :hend long h0 jpt 1 endcase tmp strarr hend h0 1 case 1 of stregex files i h1 NE 1:for i 0 n_elements tmp 1 do tmp i strjoin strsplit filesname i h1 extract regex strtrim h0 i 1 stregex files i h2 NE 1:for i 0 n_elements tmp 1 do tmp i strjoin strsplit filesname i h2 extract regex string h0 i format i2 2 stregex files f2 NE 1:for i 0 n_elements tmp 1 do tmp i strjoin strsplit filesname f2 extract regex string h0 i format i3 2 stregex files i hf 3 NE 1:for i 0 n_elements tmp 1 do tmp i strjoin strsplit filesname i hf 3 extract regex string h0 i format i3 3 endcase filesname strjoin tmp endif days if stregex files i d 12 0 NE 1 then begin filetsep dy case strlowcase strmid tstep 1 reverse of mn :dend long d0 jpt mn0 1 1 1440 hr :dend long d0 jpt h0 1 1 24 dy :dend long d0 jpt 1 endcase tmp strarr dend d0 1 case 1 of stregex files i d1 NE 1:for i 0 n_elements tmp 1 do tmp i strjoin strsplit filesname i d1 extract regex strtrim d0 i 1 stregex files i d2 NE 1:for i 0 n_elements tmp 1 do tmp i strjoin strsplit filesname i d2 extract regex string d0 i format i2 2 endcase filesname strjoin tmp endif months if stregex files i m 12c 0 NE 1 then begin filetsep mo tmp strarr 12 case 1 of stregex files i m1 NE 1:for i 1 12 do tmp i 1 strjoin strsplit filesname i m1 extract regex strtrim i 1 stregex files i m2 NE 1:for i 1 12 do tmp i 1 strjoin strsplit filesname i m2 extract regex string i format i2 2 stregex files i mc NE 1:for i 1 12 do tmp i 1 strjoin strsplit filesname i mc extract regex monthsname i 1 endcase filesname strjoin tmp endif years if stregex files i y 24 0 NE 1 then begin case strlowcase strmid tstep 1 reverse of dy :yend long y0 jpt d0 1 1 365 mo :yend long y0 jpt m0 1 1 12 yr :yend long y0 jpt 1 ELSE:yend y0 endcase tmp strarr yend y0 1 case 1 of stregex files i y2 NE 1:for i 0 n_elements tmp 1 do tmp i strjoin strsplit filesname i y2 extract regex string y0 i 100 y0 i 100 format i2 2 stregex files i y4 NE 1:for i 0 n_elements tmp 1 do tmp i strjoin strsplit filesname i y 4 extract regex string y0 i format i4 4 endcase filesname strjoin tmp endif filesname strsplit filesname extract time step unit of each file: case 1 of stregex files i n2 0 NE 1:filetsep mn stregex files i hf 123 0 NE 1:filetsep hr stregex files i d 12 0 NE 1:filetsep dy stregex files i m 12c 0 NE 1: filetsep mo stregex files i y 24 0 NE 1:filetsep yr ENDCASE number of time steps for each files case strlowcase strmid tstep 1 reverse of mn :BEGIN case filetsep of yr :jpt1file 60L 24L 365L mo :jpt1file 60L 24L 30L dy :jpt1file 60L 24L hr :jpt1file 60L mn :jpt1file 1L endcase END hr :BEGIN case filetsep of yr :jpt1file 24L 365L mo :jpt1file 24L 30L dy :jpt1file 24L hr :jpt1file 1L endcase END dy :BEGIN case filetsep of yr :jpt1file 365L mo :jpt1file 30L dy :jpt1file 1L endcase END mo :BEGIN case filetsep of yr :jpt1file 12L mo :jpt1file 1L endcase END yr :jpt1file 1L endcase number of files nof ceil jpt 1 jpt1file filesname filesname 0:nof 1 ENDIF ELSE BEGIN nof 1 jpt1file jpt ENDELSE first character if stregex files GE 0 THEN BEGIN iodir strmid filename 0 strpos filename reverse_search 1 for i 0 nof 1 do filesname i iodir strmid filesname i 1 ENDIF extracting the variables spawn grep i VARS filename nvars nvars strtrim nvars 2 nvars strsplit nvars 0 extract nvars long nvars 1 spawn sed n e d e Vv Aa Rr Ss Ee Nn Dd Vv Aa Rr Ss p filename varlist if n_elements varlist LE 2 then begin print No lines between vars and endvars stop endif varlist varlist 1:n_elements varlist 2 if n_elements varlist NE nvars then begin print Number of variables indicated by VARS strtrim nvars 1 differs from number of lines without at the beginning located between VARS and ENDVARS: strtrim n_elements varlist 1 stop ENDIF varsname strarr nvars varsdes strarr nvars varslev lonarr nvars for i 0 nvars 1 do BEGIN varlist i strtrim varlist i 2 tmp strsplit varlist i extract if strmid tmp 2 0 2 EQ 1 then BEGIN case long strmid tmp 2 3 2 of 10:BEGIN print Special data formats units 1 10 Not yet coded stop END 20:BEGIN print Special data formats units 1 20 Not yet coded stop END 30:BEGIN print Special data formats units 1 30 Not yet coded stop END 40:BEGIN case long strmid tmp 2 6 of 1:varfmt byte 2:varfmt uint 2:varfmt int 4:varfmt long ELSE:BEGIN print Bad definition of the special data formats: print long strmid tmp 2 6 should be equal to 1 2 2 or 4 stop END endcase END ELSE:BEGIN print Special data formats units 1 Not yet coded stop END endcase endif varsname i tmp 0 varsdes i strjoin tmp 3:n_elements tmp 1 varslev i long tmp 1 ENDFOR varslev 1 varslev ccmeshparameters filename filename ccmeshparameters filename Grads IF keyword_set key_performance EQ 1 THEN print time scanctl systime 1 time1 return end "); 96 a[94] = new Array("./ReadWrite/scanoasis.html", "scanoasis.pro", "", " file_comments scan an Oasis file version scanoasis grids_orca_t106 history Sebastien Masson smasson lodyc jussieu fr July 01 2002 PRO scanoasis filename openr unit filename F77_UNFORMATTED GET_LUN SWAP_IF_LITTLE_ENDIAN error err if err ne 0 then begin print err_string return endif char8 12345678 WHILE NOT EOF unit DO BEGIN readu unit char8 print char8 readu unit ENDWHILE free_lun unit return end"); 97 a[95] = new Array("./ReadWrite/write_oasis.html", "write_oasis.pro", "", " file_comments write an Oasis file version 2 5 param filename in required the filename param varname in required the name of the variable to be written param z2d in required the variable 2D array to be written keyword I2 param ou mot clef keyword I4 keyword I8 keyword R4 to change the defaut format R8 of the data to be written keyword APPEND to open the file with the file pointer at the end of the file ready for data to be appended restrictions varname is automatically written as a charactere 8 by defaut z2d is written as an R8 array history Sebastien Masson smasson lodyc jussieu fr July 01 2002 PRO write_oasis filename varname z2d I2 I4 i4 I8 i8 R4 r4 APPEND append openw unit filename F77_UNFORMATTED GET_LUN SWAP_IF_LITTLE_ENDIAN error err APPEND append if err ne 0 then begin print err_string return endif writeu unit string varname format a8 case 1 of keyword_set i2 :writeu unit fix z2d keyword_set i4 :writeu unit long z2d keyword_set i8 :writeu unit long64 z2d keyword_set r4 :writeu unit float z2d ELSE:writeu unit double z2d endcase free_lun unit return end"); 98 a[96] = new Array("./ReadWrite/writebat.html", "writebat.pro", "", " file_comments write the bathymetry ASCII file of OPA categories for OPA param zbat in required the bathymetry a 2d array param filename in required a string containing the filename history Sebastien Masson smasson lodyc jussieu fr Sept 30 2003 based on batsav2 pro written by Maurice Imbard March 17 1998 PRO writebat zbat filename basic checks IF n_params NE 2 THEN BEGIN print bad number of aguments in the call of writebat return ENDIF IF size filename type NE 7 THEN BEGIN print the filename should be a string return ENDIF sbat size zbat IF sbat 0 NE 2 THEN BEGIN print bathymetry array should be 2d array return ENDIF jpi2 sbat 1 jpj2 sbat 2 parameters def ifreq 40 ifin jpi2 ifreq 1 irest jpi2 ifin 1 ifreq zbati intarr ifreq zbati2 intarr irest i0 intarr ifreq 5 i1 intarr max 1 irest 5 openw iunit filename get_lun fill the file printf iunit FORMAT 1x bathy IDL 2i8 jpi2 jpj2 printf iunit FORMAT il1 0 FOR jn 1 ifin 1 DO BEGIN printf iunit FORMAT il2 min jpi2 1 il1 ifreq 1 i0 0 il1 1 FOR jj 1 ifreq 5 1 DO BEGIN i0 jj i0 jj 1 5 END printf iunit FORMAT 3x 13 i3 12x i0 printf iunit FORMAT il3 il2 jn 1 ifreq iformat string il3 2 i3 FOR jj jpj2 1 0 1 DO BEGIN zbati 0:il3 zbat il1:il2 jj printf iunit FORMAT iformat jj 1 zbati END il1 il1 ifreq END printf iunit FORMAT il2 min jpi2 1 il1 ifreq 1 i1 0 il1 1 FOR jj 1 irest 5 1 DO BEGIN i1 jj i1 jj 1 5 END printf iunit FORMAT 3x 13 i3 12x i1 printf iunit FORMAT il3 il2 ifin 1 ifreq iformat string il3 2 i3 FOR jj jpj2 1 0 1 DO BEGIN zbati2 0:irest 1 0 zbati2 0:il3 zbat il1:il2 jj printf iunit FORMAT iformat jj 1 zbati2 END end close iunit free_lun iunit return end"); 99 99 a[97] = new Array("./Tests/TestsOld/tst_basic_old.html", "tst_basic_old.pro", "", "PRO tst_basic_old figure 1: basics plots 1 plot n 10 y findgen n basic plot splot y petit 2 2 1 portrait improved plot by using plot and graphic keywords splot y petit 2 2 2 noerase yrange 0 n 1 2 title x and x 2 oplot y 2 color 100 linestyle 2 thick 3 2 contour z dist n basic plot scontour z fill nlevels 15 petit 2 2 3 noerase improved plot by using contour and graphic keywords ind findgen 2 n 2 n scontour z levels n ind c_orientation 180 ind c_spacing 2 ind petit 2 2 4 noerase contour z overplot c_label rebin 1 0 2 n levels n ind c_charthick 2 c_charsize 1 5 c_colors 250 ind return end"); 100 100 a[98] = new Array("./Tests/TestsOld/tst_initlev_index_old.html", "tst_initlev_index_old.pro", "", ""); -
trunk/SRC/ReadWrite/ncdf_timeget.pro
r44 r106 3 3 ;------------------------------------------------------------ 4 4 ;+ 5 ; NAME: ncdf_timeget 6 ; 7 ; PURPOSE: get the time axis fom a netcdf_file and transforms it in 5 ; @file_comments get the time axis fom a netcdf_file and transforms it in 8 6 ; julian days of IDL. 9 7 ; 10 ; CATEGORY:reading ncdf_file8 ; @categories reading ncdf_file 11 9 ; 12 ; CALLING SEQUENCE: time = ncdf_timeget(cdfid, timeid) 13 ; 14 ; INPUTS:cdfid: the ID of the ncdf_file, which is already open 15 ; timeid: the ID or the name of the variable which describe the calendar 10 ; @param cdfid {in}{required} the ID of the ncdf_file, which is already open 11 ; @param timeid {in}{required} the ID or the name of the variable which describe the calendar 16 12 ; 17 ; KEYWORD PARAMETERS: 18 ; /YYYYMMDD: active to obtain the date as a longinterger with 13 ; @keyword /YYYYMMDD active to obtain the date as a longinterger with 19 14 ; the format YearYearYearYearMonthMonthDayDay 20 15 ; 21 ; 16 ; @file_comments the keyword parameters of ncdf_varget 22 17 ; 23 ; OUTPUTS:a long array of IDL julian days18 ; @returns a long array of IDL julian days 24 19 ; 25 ; COMMON BLOCKS: 26 ; 27 ; SIDE EFFECTS: 28 ; 29 ; RESTRICTIONS: the calendar variable must have the units attribute 30 ; folowing the syntaxe bellow: 20 ; @restrictions the calendar variable must have the units attribute 21 ; following the syntaxe bellow: 31 22 ; 32 23 ; time_counter:units = "seconds since 0001-01-01 00:00:00" ; … … 36 27 ; time_counter:units = "years since 1979-01-01 00:00:00" ; 37 28 ; 38 ; EXAMPLE: 39 ; 40 ; MODIFICATION HISTORY:Sebastien Masson (smasson@lodyc.jussieu.fr) 29 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 41 30 ; June 2001 42 31 ;- -
trunk/SRC/ReadWrite/read_grads.pro
r69 r106 3 3 ;------------------------------------------------------------ 4 4 ;+ 5 ; NAME:read_grads 6 ; 7 ; PURPOSE:reading grads file (except "data type station" or "grib") 5 ; @file_comments reading grads file (except "data type station" or "grib") 8 6 ; from the grads control file even if there is multiple data files. 9 7 ; 10 ; CATEGORY:reading function 11 ; 12 ; CALLING SEQUENCE: 13 ; res=read_grads(var, date1 [, date2], FILENAME = filename) 14 ; 15 ; INPUTS: 16 ; var: the variable name 17 ; date1: date of the beginning (yyyymmdd if TIMESTEP is not activate) 18 ; date2: last date. Optionnal, if not scpecified date2=date1 8 ; @categories reading function 9 ; 10 ; @param var {in}{required} the variable name 11 ; @param date1 {in}{required} date of the beginning (yyyymmdd if TIMESTEP is not activate) 12 ; @param date2 {in}{optional} last date. Optionnal, if not scpecified date2=date1 19 13 ; 20 ; KEYWORD PARAMETERS: 21 ; 22 ; FILENAME: the grads control file name: 'xxxx.ctl' 23 ; 24 ; GLAMBOUNDARY (via computegrid.pro):a 2 elements vector, 14 ; @keyword FILENAME the grads control file name: 'xxxx.ctl' 15 ; 16 ; @file_comments keyword GLAMBOUNDARY (via computegrid.pro) a 2 elements vector, 25 17 ; {lon1,lon2], giving the longitute boundaries that should be 26 18 ; used to visualize the data. … … 30 22 ; GLAMBOUNDARY. 31 23 ; 32 ; /TIMESTEP:to specify that the dates are time steps instead of24 ; @keyword /TIMESTEP to specify that the dates are time steps instead of 33 25 ; true calendar. 34 26 ; 35 ; IODIRECTORY;a string giving the name of iodirectory (see27 ; @file_comments keyword IODIRECTORY a string giving the name of iodirectory (see 36 28 ; isafile.pro for all possibilities). default value is common 37 29 ; variable iodir 38 30 ; 31 ; @file_comments 39 32 ;--------------- 40 33 ; NOT yet available 41 34 ;--------------- 42 35 ; 43 ; BOX: a 4 or 6 elements 1d array, [lon1,lon2,lat1,lat2, depth1,36 ; @hidden BOX: a 4 or 6 elements 1d array, [lon1,lon2,lat1,lat2, depth1, 44 37 ; depth2], that specifies the area where data must be read 45 38 ; 46 ; EVERYTHING39 ; @hidden EVERYTHING 47 40 ; 48 ; NOSTRUCTURE41 ; @hidden NOSTRUCTURE 49 42 ; 50 ; OUTPUTS:an array51 ; 52 ; COMMON BLOCKS:common.pro53 ; 54 ; SIDE EFFECTS:define all the grid parameters (defined in common.pro)43 ; @returns an array 44 ; 45 ; @uses common 46 ; 47 ; @restriction define all the grid parameters (defined in common.pro) 55 48 ; associated to the data. 56 49 ; 57 ; RESTRICTIONS:this function call the procedure scanfile that use the50 ; @restrictions this function call the procedure scanfile that use the 58 51 ; unix commands grep and sed 59 52 ; 60 ; EXAMPLE:53 ; @examples 61 54 ; IDL> a=read_grads('sst',19900101,19900131,filename='outputs.ctl') 62 55 ; IDL> plt, a 63 56 ; 64 ; MODIFICATION HISTORY:Sebastien Masson (smasson@lodyc.jussieu.fr)57 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 65 58 ; 66 59 ;- -
trunk/SRC/ReadWrite/read_oasis.pro
r44 r106 3 3 ;------------------------------------------------------------ 4 4 ;+ 5 ; NAME:read_oasis5 ; @file_comments read the f77 unformated files used in Oasis (version < 2.5) 6 6 ; 7 ; PURPOSE:read the f77 unformated files used in Oasis (version < 2.5)7 ; @categories reading 8 8 ; 9 ; CATEGORY:reading 9 ; @param filename {in}{required} the filename 10 ; @param varname {in}{required} the name of the variable to be read 11 ; @param jpi {in}{required} 12 ; @param jpj {in}{required} 13 ; the size of the 2d array to be read 10 14 ; 11 ; CALLING SEQUENCE: z2d=read_oasis(filename, varname, jpi, jpj) 12 ; 13 ; INPUTS: 14 ; filename:the filename 15 ; varname: the name of the variable to be read 16 ; jpi and jpj the size of the 2d array to be read 15 ; @keyword /I2 ++ param ou mot clef 16 ; @keyword /I4 17 ; @keyword /I8 18 ; @keyword /R4 19 ; to change the defaut format (R8) of the data to be read. 17 20 ; 18 ; KEYWORD PARAMETERS: 19 ; /I2, /I4, /I8, /R4: to change the defaut format (R8) of the data to 20 ; be read. 21 ; @returns a 2d array 21 22 ; 22 ; OUTPUTS:a 2d array 23 ; 24 ; COMMON BLOCKS: 25 ; 26 ; SIDE EFFECTS: 27 ; 28 ; RESTRICTIONS: 29 ; 30 ; EXAMPLE: 23 ; @examples 31 24 ; IDL> a=read_oasis('grids_orca_t106','a106.lon',320,160) 32 25 ; IDL> m=read_oasis('masks_orca_t106','or1t.msk',182,149,/i4) … … 34 27 ; see also IDL> scanoasis,'grids_orca_t106' 35 28 ; 36 ; MODIFICATION HISTORY:Sebastien Masson (smasson@lodyc.jussieu.fr)29 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 37 30 ; July 01, 2002 38 31 ;- -
trunk/SRC/ReadWrite/readbat.pro
r44 r106 3 3 ;------------------------------------------------------------ 4 4 ;+ 5 ; NAME: readbat5 ; @file_comments reading the bathymetry ASCII file of OPA 6 6 ; 7 ; PURPOSE: reading the bathymetry ASCII file ofOPA7 ; @categories for OPA 8 8 ; 9 ; CATEGORY: for OPA9 ; @param filename {in}{required} a string containing the filename, 10 10 ; 11 ; CALLING SEQUENCE: bat=readbat(filename) 12 ; 13 ; INPUTS: 14 ; filename: a string containing the filename, 11 ; @keyword /ZERO to put 0 on land instead of negatives values for the islands. 15 12 ; 16 ; KEYWORD PARAMETERS: 17 ; /ZERO: to put 0 on land instead of negatives values for the islands. 13 ; @returns a 2d array 18 14 ; 19 ; OUTPUTS: a 2d array 20 ; 21 ; COMMON BLOCKS:no 22 ; 23 ; SIDE EFFECTS: 24 ; 25 ; RESTRICTIONS: 26 ; 27 ; EXAMPLE: 28 ; 29 ; MODIFICATION HISTORY:Sebastien Masson (smasson@lodyc.jussieu.fr) 15 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 30 16 ; May 31, 2002 31 17 ; based on batlec2.pro, written by Maurice Imbard, March 17, 1998 -
trunk/SRC/ReadWrite/readoldopadistcoast.pro
r44 r106 3 3 ;------------------------------------------------------------ 4 4 ;+ 5 ; NAME:readoldopadistcoast 6 ; 7 ; PURPOSE: 5 ; @file_comments 8 6 ; read the old binary direct access file that contains the 9 7 ; distance to the coast in OPA. 10 8 ; based on the OPA subroutines dtacof and parctl 11 9 ; 12 ; CATEGORY:for OPA before NetCDF10 ; @categories for OPA before NetCDF 13 11 ; 14 ; CALLING SEQUENCE:res=readoldopadistcoast(filename)15 12 ; 16 ; INPUTS: 17 ; filename (with the whole path if necessary) 18 ; jpiglo, jpjglo, jpk: dimensions of the opa grid 19 ; 20 ; KEYWORD PARAMETERS: 21 ; IBLOC: ibloc size, default: ibloc = 4096L 22 ; JPBYT: jpbyt size, defalut: jpbyt = 8L 23 ; NUMREC: number of records in the file. defalut: numrec = 19L*jpk 24 ; 25 ; OUTPUTS: a structure that contains two elements: tdistcoast (the 13 ; @returns a structure that contains two elements: tdistcoast (the 26 14 ; distance for the t-points) and fdiscoast (the distance for the 27 15 ; f-points). 28 16 ; 29 ; COMMON BLOCKS: no 30 ; 31 ; SIDE EFFECTS: 32 ; 33 ; RESTRICTIONS: 34 ; 35 ; EXAMPLE: 36 ; 37 ; MODIFICATION HISTORY:Sebastien Masson (smasson@lodyc.jussieu.fr) 17 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 38 18 ; June, 2002 39 19 ;- … … 49 29 end 50 30 51 31 ;+ 32 ; @param filename {in}{required} filename (with the whole path if necessary) 33 ; @param jpiglo {in}{required} 34 ; @param jpjglo {in}{required} 35 ; @param jpk {in}{required} 36 ; dimensions of the opa grid 37 ; @keyword IBLOC ibloc size, default: ibloc = 4096L 38 ; @keyword JPBYT jpbyt size, default: jpbyt = 8L 39 ; @keyword NUMREC number of records in the file. default: numrec = 19L*jpk 40 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 41 ; June, 2002 42 ;- 52 43 FUNCTION readoldopadistcoast, filename, jpiglo, jpjglo, jpk, IBLOC = ibloc, JPBYT = jpbyt, NUMREC = numrec 53 44 ; -
trunk/SRC/ReadWrite/readoldoparestart.pro
r74 r106 3 3 ;------------------------------------------------------------ 4 4 ;+ 5 ; NAME:readoldoparestart 6 ; based on the OPA subroutine dtrlec included at the end of the 7 ; file. 8 ; 9 ; PURPOSE:read the old restart files of OPA (before NetCDF) 10 ; 11 ; CATEGORY:for OPA before NetCDF 12 ; 13 ; CALLING SEQUENCE:readoldoparestart, filename, jpiglo, jpjglo, jpk 14 ; 15 ; INPUTS: 16 ; filename: with the whole path if necessary 17 ; jpiglo, jpjglo, jpk: dimensions of the opa grid 18 ; 19 ; KEYWORD PARAMETERS: 20 ; IBLOC: ibloc size, default: ibloc = 4096L 21 ; JPBYT: jpbyt size, defalut: jpbyt = 8L 22 ; NUMREC: number of records in the file. defalut: numrec = 19L*jpk 23 ; UB, VB, TB, SB, ROTB, HDIVB, UN, VN, TN, SN, ROTN, HDIVN, GCX, 24 ; GCXB, ETAB, TAN, BSFB, BSFN, BSFD, EN: the variable we want to 25 ; read. 26 ; 27 ; OUTPUTS:according to the given keywords. 28 ; 29 ; COMMON BLOCKS:none 30 ; 31 ; SIDE EFFECTS: 32 ; 33 ; RESTRICTIONS:bug for etab and etan written on the same record??? 34 ; 35 ; EXAMPLE: 36 ; 37 ; MODIFICATION HISTORY:Sebastien Masson (smasson@lodyc.jussieu.fr) 5 ; 6 ; @categories for OPA before NetCDF 7 ; 8 ; @restrictions bug for etab and etan written on the same record??? 9 ; 10 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 38 11 ; June 2002 39 12 ;- … … 48 21 return, a[0] 49 22 end 23 ;+ 24 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 25 ; June 2002 26 ;- 50 27 FUNCTION read3fromopa, unit, params, num 51 28 offset=params.reclen*params.jpk*(num-1L) … … 54 31 end 55 32 33 ;+ 34 ; @file_comments read the old restart files of OPA (before NetCDF) 35 ; based on the OPA subroutine dtrlec included at the end of the 36 ; file. 37 ; @categories for OPA before NetCDF 38 ; @param filename {in}{required} with the whole path if necessary 39 ; @param jpiglo {in}{required} 40 ; @param jpjglo {in}{required} 41 ; @param jpk {in}{required} 42 ; dimensions of the opa grid 43 ; @keyword IBLOC ibloc size, default: ibloc = 4096L 44 ; @keyword JPBYT jpbyt size, defalut: jpbyt = 8L 45 ; @keyword NUMREC number of records in the file. defalut: numrec = 19L*jpk 46 ; @keyword UB 47 ; @keyword VB 48 ; @keyword TB 49 ; @keyword SB 50 ; @keyword ROTB 51 ; @keyword HDIVB 52 ; @keyword UN 53 ; @keyword VN 54 ; @keyword TN 55 ; @keyword SN 56 ; @keyword ROTN 57 ; @keyword HDIVN 58 ; @keyword GCX 59 ; @keyword GCXB 60 ; @keyword ETAB 61 ; @keyword ETAN 62 ; @keyword BSFB 63 ; @keyword BSFN 64 ; @keyword BSFD 65 ; @keyword EN 66 ; the variable we want to read. 67 ; 68 ; @returns according to the given keywords. 69 ; @restrictions bug for etab and etan written on the same record??? 70 ; 71 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 72 ; June 2002 73 ;- 56 74 57 75 PRO readoldoparestart, filename, jpiglo, jpjglo, jpk, IBLOC = ibloc, JPBYT = jpbyt, NUMREC = numrec, ub = ub, vb = vb, tb = tb, sb = sb, rotb = rotb, hdivb = hdivb, un = un, vn = vn, tn = tn, sn = sn, rotn = rotn, hdivn = hdivn, gcx = gcx, gcxb = gcxb, etab = etab, etan = etan, bsfb = bsfb, bsfn = bsfn, bsfd = bsfd, en = en -
trunk/SRC/ReadWrite/scanctl.pro
r44 r106 1 ; GLAMBOUNDARY:a 2 elements vector, {lon1,lon2], the longitute 1 ;+ 2 ; @file_comments GLAMBOUNDARY 2 elements vector, {lon1,lon2], the longitute 2 3 ; boundaries that should be used to visualize the data. 3 4 ; lon2 > lon1 4 5 ; lon2 - lon1 le 360 5 6 ; key_shift will be defined according to GLAMBOUNDARY. 7 ;- 6 8 PRO scanctl, filename, filesname, jpt1file, varsname, varslev, swapbytes, bigendian, littleendian, f77sequential, fileheader, theader, xyheader, VARFMT = varfmt, _EXTRA = ex 7 9 @common -
trunk/SRC/ReadWrite/scanoasis.pro
r44 r106 3 3 ;------------------------------------------------------------ 4 4 ;+ 5 ; NAME:scanoasis5 ; @file_comments scan an Oasis file (version < 2.5) 6 6 ; 7 ; PURPOSE:scan an Oasis file (version < 2.5)7 ; @categories know what is inside 8 8 ; 9 ; CATEGORY:know what is inside9 ; @param filename {in}{required} the file name 10 10 ; 11 ; CALLING SEQUENCE:scanoasis, filename 12 ; 13 ; INPUTS: filename: the file name! 11 ; @restrictions List the variable names included in a Oasis file 14 12 ; 15 ; KEYWORD PARAMETERS: 13 ; @examples 14 ; IDL> scanoasis,'grids_orca_t106' 16 15 ; 17 ; OUTPUTS: 18 ; 19 ; COMMON BLOCKS: 20 ; 21 ; SIDE EFFECTS: List the variable names included in a Oasis file 22 ; 23 ; RESTRICTIONS: 24 ; 25 ; EXAMPLE: IDL> scanoasis,'grids_orca_t106' 26 ; 27 ; MODIFICATION HISTORY:Sebastien Masson (smasson@lodyc.jussieu.fr) 16 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 28 17 ; July 01, 2002 29 18 ;- -
trunk/SRC/ReadWrite/write_oasis.pro
r44 r106 3 3 ;------------------------------------------------------------ 4 4 ;+ 5 ; NAME:write_oasis6 5 ; 7 ; PURPOSE:write an Oasis file (version < 2.5)6 ; @file_comments write an Oasis file (version < 2.5) 8 7 ; 9 ; CATEGORY: 8 ; @param filename {in}{required} the filename 9 ; @param varname {in}{required} the name of the variable to be written 10 ; @param z2d {in}{required} the variable (2D array) to be written 10 11 ; 11 ; CALLING SEQUENCE:write_oasis, filename, varname, z2d 12 ; 13 ; INPUTS: 14 ; filename:the filename 15 ; varname: the name of the variable to be written 16 ; z2d: the variable (2D array) to be written 12 ; @keyword /I2 ++ param ou mot clef 13 ; @keyword /I4 14 ; @keyword /I8 15 ; @keyword /R4 16 ; to change the defaut format (R8) of the data to be written. 17 17 ; 18 ; KEYWORD PARAMETERS: 19 ; /I2, /I4, /I8, /R4: to change the defaut format (R8) of the data to 20 ; be written. 21 ; 22 ; /APPEND: to open the file with the file pointer at the end of 18 ; @keyword /APPEND to open the file with the file pointer at the end of 23 19 ; the file, ready for data to be appended. 24 20 ; 25 ; OUTPUTS:26 21 ; 27 ; COMMON BLOCKS: 28 ; 29 ; SIDE EFFECTS:varname is automatically written as a "charactere*8" 22 ; @restrictions varname is automatically written as a "charactere*8" 30 23 ; by defaut z2d is written as an R8 array 31 24 ; 32 ; RESTRICTIONS: 33 ; 34 ; EXAMPLE: 35 ; 36 ; MODIFICATION HISTORY:Sebastien Masson (smasson@lodyc.jussieu.fr) 25 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 37 26 ; July 01, 2002 38 27 ;- -
trunk/SRC/ReadWrite/writebat.pro
r44 r106 3 3 ;------------------------------------------------------------ 4 4 ;+ 5 ; NAME: writebat6 5 ; 7 ; PURPOSE:write the bathymetry ASCII file of OPA6 ; @file_comments write the bathymetry ASCII file of OPA 8 7 ; 9 ; CATEGORY:for OPA8 ; @categories for OPA 10 9 ; 11 ; CALLING SEQUENCE: writebat, bat, filename, 12 ; 13 ; INPUTS: 14 ; bat: the bathymetry, a 2d array 15 ; filename: a string containing the filename, 10 ; @param zbat {in}{required} the bathymetry, a 2d array 11 ; @param filename {in}{required} a string containing the filename, 16 12 ; 17 ; KEYWORD PARAMETERS: 18 ; 19 ; OUTPUTS:no 20 ; 21 ; COMMON BLOCKS:no 22 ; 23 ; SIDE EFFECTS: 24 ; 25 ; RESTRICTIONS: 26 ; 27 ; EXAMPLE: 28 ; 29 ; MODIFICATION HISTORY:Sebastien Masson (smasson@lodyc.jussieu.fr) 13 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 30 14 ; Sept 30, 2003 31 15 ; based on batsav2.pro, written by Maurice Imbard, March 17, 1998
Note: See TracChangeset
for help on using the changeset viewer.