internal:administration:idl
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| internal:administration:idl [2026/03/20 19:58] – [contour] jan | internal:administration:idl [2026/04/28 08:26] (current) – [interpolation] jan | ||
|---|---|---|---|
| Line 626: | Line 626: | ||
| * As matrix operations are faster than for-loops this may speed up your code a lot ... | * As matrix operations are faster than for-loops this may speed up your code a lot ... | ||
| + | * Alternatively one may use **rebin** , but note that rebin uses bilinear interpolation (sample=0) or nearest neigbor (sample=1) and accordingly might be a bit slower | ||
| + | |||
| + | x = fltarr(Nx) | ||
| + | y = fltarr(Ny) | ||
| + | xx = rebin( x, Nx, Ny, sample=1 ) | ||
| + | yy = transpose(rebin( y, Ny, Nx )) | ||
| + | |||
| + | | ||
| ==== procedure names ==== | ==== procedure names ==== | ||
| Line 815: | Line 823: | ||
| ss[0] = 'wind speed' | ss[0] = 'wind speed' | ||
| ss[1] = ' | ss[1] = ' | ||
| + | |||
| + | An array of strings can be also be splitted element by element, but only from Idl version 8. onwards. | ||
| + | The result will be a [[https:// | ||
| + | |||
| + | s = [ ' | ||
| + | sL = STRSPLIT( s, ' | ||
| + | sA = (STRSPLIT( s, ' | ||
| + | |||
| + | Result %%sL%% will be a %%LIST%% object with N elements, and every entry of sL an array of strings with elements accorrding to the result fo strsplit. | ||
| + | Parameter %%N%% will be an array with the number of splits that could be made per element. | ||
| + | The conversion %%sL.toArray()%% works only if every entry in sL has the same number of elements. | ||
| + | The %%sA%% array would allow you to search for certain values in the array by using the where functions - eg: | ||
| + | |||
| + | ia = where( sA[*,0] eq ' | ||
| + | |||
| + | But you could also try to use the %%WHERE%% method of the %%LIST%% object ... | ||
| + | |||
| Line 821: | Line 846: | ||
| - | filenames can be separated into path and name by | + | filenames can be separated into path and name with |
| - | file_dirname( <path to file> ) | + | |
| - | file_basename( <path to file> ) | + | |
| + | |||
| + | where the dirname will have no '/' | ||
| + | |||
| + | You may use strsplit to strip or get the ' | ||
| + | f_ext = (STRSPLIT( f_bn, ' | ||
| + | f_bnx = STRJOIN((STRSPLIT( f_bn, ' | ||
| ==== formatted output ==== | ==== formatted output ==== | ||
| Line 1769: | Line 1801: | ||
| xrange = [ 0.5 * hour, 2*1e6 ], $ | xrange = [ 0.5 * hour, 2*1e6 ], $ | ||
| /xlog, $ | /xlog, $ | ||
| - | xticks = N_ticks-1, $ ; holy IDL - why do you need things like this ? | + | xticks = N_ticks-1, $ ; xticks is the number of // |
| xtickname = x_tiknams, $ | xtickname = x_tiknams, $ | ||
| xtickv | xtickv | ||
| Line 3819: | Line 3851: | ||
| If you want to interpolate only over certain dimensions they must be the last ones. You may use transpose to rearrange. Lets assume you have an array depending on x, y and time, i.e. z=fltarr(Nx, | If you want to interpolate only over certain dimensions they must be the last ones. You may use transpose to rearrange. Lets assume you have an array depending on x, y and time, i.e. z=fltarr(Nx, | ||
| - | z_ipol = transpose( interpolate( transpose(z_org, | + | z_ipol = transpose( interpolate( transpose(z_org, |
| + | The /GRID flag allow to use different sizes for ix_ipol and iy_ipol and the MISSING keyword sets values of z_ipol outside the ranges of z_org to the missing value (no extrapolation). | ||
internal/administration/idl.1774036727.txt.gz · Last modified: by jan
