Changeset 495 for trunk/SRC/ToBeReviewed
- Timestamp:
- 04/17/14 10:49:43 (10 years ago)
- Location:
- trunk/SRC/ToBeReviewed
- Files:
-
- 135 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SRC/ToBeReviewed/CALCULS/depth2floatlevel.pro
r371 r495 2 2 ; 3 3 ; @file_comments 4 ; Rather comparable to <pro>depth2level</pro> but here, the calculated level 4 ; Rather comparable to <pro>depth2level</pro> but here, the calculated level 5 5 ; is in float. 6 6 ; For example, the level 5.4 correspond to a depth equal -
trunk/SRC/ToBeReviewed/CALCULS/determ3.pro
r371 r495 48 48 ; 49 49 ; @examples 50 ; 50 ; 51 51 ; IDL> a=findgen(3,3,5) 52 52 ; IDL> print, determ3(a^2) -
trunk/SRC/ToBeReviewed/CALCULS/fsfzpt.pro
r493 r495 12 12 ; annex 6 freezing point of seawater F.J.Millero pp.29-35 13 13 ; checkvalue: fsfzpt=-2.588567 deg.c,for s=40.0,p=500 decibars 14 ;15 14 ; 16 15 ; @categories … … 45 44 ; * add example 46 45 ; 47 ;48 46 ; @version 49 47 ; $Id$ -
trunk/SRC/ToBeReviewed/CALCULS/grossemoyenne.pro
r493 r495 40 40 ; 41 41 ; @keyword NODOMDEF 42 ; We activate it if we do not want to pass in <pro>domdef</pro> even if the 43 ; keyword boxzoom is present (like when <pro>grossemoyenne</pro> is called via 42 ; We activate it if we do not want to pass in <pro>domdef</pro> even if the 43 ; keyword boxzoom is present (like when <pro>grossemoyenne</pro> is called via 44 44 ; <pro>checkfield</pro>) 45 45 ; … … 148 148 endcase 149 149 ;------------------------------------------------------------ 150 ; I.3) Obtainment of scale's factors and of the mask on the subdomain 150 ; I.3) Obtainment of scale's factors and of the mask on the subdomain 151 151 ; concerned by the average. 152 152 ; Redefinition of the domain adjusted at boxzoom (at 6 elements) … … 176 176 IF taille[1] eq jpi and taille[2] eq jpj THEN $ 177 177 mmm = mask2D[firstx:lastx, firsty:lasty] ELSE mmm = mask2D 178 mask = mask * ( mmm[*] # replicate(1., nz) ) 178 mask = mask * ( mmm[*] # replicate(1., nz) ) 179 179 ENDIF 180 180 ;--------------------------------------------------------------- … … 359 359 ; III.1) Verification of the coherence of the array to average size 360 360 ; Verification of the coherence between the array's size and the domain 361 ; defin d by domdef361 ; defined by domdef 362 362 ; The input array must have either the total domain size (jpi,jpj,jpk,jpt) 363 363 ; or this one of the reduced domain (nx,ny,ny,jpt) 364 364 ;--------------------------------------------------------------- 365 365 case 1 of 366 taille[1] eq jpi and taille[2] eq jpj and taille[3] eq jpk and taille[4] eq jpt: $ 366 taille[1] eq jpi and taille[2] eq jpj and taille[3] eq jpk and taille[4] eq jpt: $ 367 367 res = tab[firstx:lastx, firsty:lasty, firstz:lastz, *] 368 taille[1] eq jpi and taille[2] eq jpj and taille[3] eq nz and taille[4] eq jpt: $ 368 taille[1] eq jpi and taille[2] eq jpj and taille[3] eq nz and taille[4] eq jpt: $ 369 369 res = tab[firstx:lastx, firsty:lasty, *, *] 370 370 taille[1] EQ nx and taille[2] eq ny and taille[3] eq nz and taille[4] eq jpt:res = tab -
trunk/SRC/ToBeReviewed/CALCULS/hdyn.pro
r370 r495 19 19 ; We activate this key if we want to calculate the dynamic height 20 20 ; like in the GILL page 215, which means by rapport to a reference state which 21 ; vary in depth and which is determined by a reference temperature tref at 0 °C21 ; vary in depth and which is determined by a reference temperature tref at 0°C 22 22 ; and a reference salinity sref at 35 psu. 23 23 ; … … 51 51 ; 52 52 ; @restrictions 53 ; Points for which we can not calculate the dynamic height (whose the batymetry 54 ; is less deep than the reference depth) are put at the value !values.f_nan 53 ; Points for which we can not calculate the dynamic height (whose the 54 ; bathymetry is less deep than the reference depth) are put at the 55 ; value !values.f_nan 55 56 ; 56 57 ; @restrictions -
trunk/SRC/ToBeReviewed/CALCULS/level2depth.pro
r370 r495 2 2 ; 3 3 ; @file_comments 4 ; Allows to pass from a 2d level array to a 2d depth array corresponding to 4 ; Allows to pass from a 2d level array to a 2d depth array corresponding to 5 5 ; these levels 6 6 ; … … 9 9 ; 10 10 ; @param TAB {in}{required}{type=2d array} 11 ; 2d level array of sill levels (or a structure respecting <pro>litchamp</pro> 11 ; 2d level array of sill levels (or a structure respecting <pro>litchamp</pro> 12 12 ; criterions) 13 13 ; … … 42 42 grille,mask, -1, -1,gdep,nx,ny,nz,firstx,firsty,firstz,lastx,lasty,lastz 43 43 ;--------------------------------------------------------------- 44 ; verification of the coherence between array's size and the domain defined 44 ; verification of the coherence between array's size and the domain defined 45 45 ; by domdef 46 46 ;--------------------------------------------------------------- -
trunk/SRC/ToBeReviewed/CALCULS/level2index.pro
r367 r495 4 4 ; We want, from a 3d matrix, to extract a 2d (x,y) array whose each element 5 5 ; has been extract from a level specified by the 2d level array (typically, 6 ; we want to obtain the salinity along an isopycn we have reperedby its level).6 ; we want to obtain the salinity along an isopycn we have identify by its level). 7 7 ; level2index is a function which give, in function of level, a 2d indexes array 8 8 ; which will allow to extract the 2d array from the 3d array... … … 39 39 tabknxny = (nx*ny)*long(level) 40 40 ; 41 ;42 41 return, lindgen(nx, ny)+tabknxny 43 42 end -
trunk/SRC/ToBeReviewed/CALCULS/level2mask.pro
r370 r495 9 9 ; 10 10 ; @param TAB {in}{required}{type=2d array} 11 ; 2d level array of sill level (or a structure respecting <pro>litchamp</pro> 11 ; 2d level array of sill level (or a structure respecting <pro>litchamp</pro> 12 12 ; criterions) 13 13 ; … … 41 41 grille,maskterre, -1, -1, -1,nx,ny,nz,firstx,firsty,firstz,lastx,lasty,lastz 42 42 ;--------------------------------------------------------------- 43 ; verification of the coherence between the array's size and the defined by 43 ; verification of the coherence between the array's size and the defined by 44 44 ; domdef domain 45 45 ;--------------------------------------------------------------- -
trunk/SRC/ToBeReviewed/CALCULS/moyenne.pro
r445 r495 38 38 ; 39 39 ; @keyword NODOMDEF 40 ; We activate it if we do not want to pass in <pro>domdef</pro> even if the 41 ; keyword boxzoom is present (like when <pro>grossemoyenne</pro> is called 40 ; We activate it if we do not want to pass in <pro>domdef</pro> even if the 41 ; keyword boxzoom is present (like when <pro>grossemoyenne</pro> is called 42 42 ; via <pro>checkfield</pro>) 43 43 ; … … 50 50 ; 51 51 ; @keyword SSH 52 ; array giving the sea level ele nation (in meter) that must be added52 ; array giving the sea level elevation (in meter) that must be added 53 53 ; to the thickness of the first level when computing vertical mean 54 54 ; … … 68 68 ; 69 69 ; @history 70 ; J erome Vialard (jv\@lodyc.jussieu.fr)70 ; JérÃŽme Vialard (jv\@lodyc.jussieu.fr) 71 71 ; 2/7/98 72 ; S ebastien Masson (smasson\@lodyc.jussieu.fr)72 ; Sébastien Masson (smasson\@lodyc.jussieu.fr) 73 73 ; 14/8/98 74 74 ; 15/1/98 … … 126 126 endcase 127 127 ;------------------------------------------------------------ 128 ; I.3) Obtainment of scale's factors and of the mask on the subdomain concernedby the average. 129 ; Redefinition of the domain ajusted at boxzoom (at 6 elements) 128 ; I.3) Obtainment of scale's factors and of the mask on the subdomain 129 ; concerned by the average. 130 ; Redefinition of the domain adjusted at boxzoom (at 6 elements) 130 131 ; This will allowed us to calculate only in the domain concerned by the average. 131 132 ; Domdef, followed by grid give us all arrays of the grid on the subdomain … … 154 155 IF taille[1] eq jpi and taille[2] eq jpj THEN $ 155 156 mmm = mask2D[firstx:lastx, firsty:lasty] ELSE mmm = mask2D 156 mask = mask * ( mmm[*] # replicate(1., nz) ) 157 mask = mask * ( mmm[*] # replicate(1., nz) ) 157 158 ENDIF 158 159 ;--------------------------------------------------------------- … … 337 338 ; III.1) Verification of the coherence of the array to average size 338 339 ; Verification of the coherence between the array's size and the domain 339 ; defin d by domdef340 ; defined by domdef 340 341 ; The input array must have either the total domain size (jpi,jpj,jpk) 341 342 ; or this one of the reduced domain (nx,ny,ny) … … 344 345 taille[1] eq jpi and taille[2] eq jpj and taille[3] eq jpk: $ 345 346 res = tab[firstx:lastx, firsty:lasty, firstz:lastz] 346 taille[1] eq jpi and taille[2] eq jpj and taille[3] eq nz: $ 347 taille[1] eq jpi and taille[2] eq jpj and taille[3] eq nz: $ 347 348 res = tab[firstx:lastx, firsty:lasty, *] 348 349 taille[1] EQ nx and taille[2] eq ny and taille[3] eq nz :res = tab … … 571 572 ENDIF 572 573 ;------------------------------------------------------------ 573 ; IV.3) We replace in the domain wh ch was defined at the entry of average574 ; IV.3) We replace in the domain which was defined at the entry of average 574 575 ;------------------------------------------------------------ 575 576 if keyword_set(savedbox) THEN restoreboxparam, 'boxparam4moyenne.dat' -
trunk/SRC/ToBeReviewed/CALCULS/projectondepth.pro
r370 r495 33 33 ; ->null field at 1e-6 pres 34 34 ; 35 ; verification projecting the temperature of 20 °C for example...35 ; verification projecting the temperature of 20°C for example... 36 36 ; 37 37 ; @history -
trunk/SRC/ToBeReviewed/CALCULS/remplit.pro
r327 r495 43 43 ;; C'est pas clair, essayez ! 44 44 ;; 45 ;;46 45 ; 47 46 ; /Nan: to fill the point which have the value 48 47 ; !values.f_nan. Without this keyword, these point are not filling 49 48 ; and stays at !values.f_nan. 50 ;51 49 ; 52 50 ; @todo seb … … 91 89 ;--------------------------------------------------------------- 92 90 ; on ajoute un cadre de zero a z, mask, e1, e2 93 ; comme ca apr es on peut faire des shifts ds tous les sens sans se91 ; comme ca aprÚs on peut faire des shifts ds tous les sens sans se 94 92 ; soucier des bords du domaine! 95 93 ;--------------------------------------------------------------- -
trunk/SRC/ToBeReviewed/CALCULS/rhon.pro
r430 r495 42 42 tn = -1e5 > double(tn) < 1e5 43 43 44 45 44 IF keyword_set(sigma_n) then insitu = 1 46 45 … … 68 67 END 69 68 endcase 70 71 72 69 73 70 FOR jk = 0, jkmax-1 DO BEGIN … … 169 166 if keyword_set(key_performance) THEN print, 'temps rhon', systime(1)-tempsun 170 167 171 172 168 return, zrhop 173 169 END -
trunk/SRC/ToBeReviewed/CALENDRIER/def_month.pro
r232 r495 3 3 ; @file_comments 4 4 ; 5 ;6 5 ; @categories 7 ;8 6 ; 9 7 ; @param TIMAVE 10 8 ; 11 ;12 9 ; @param DATE 13 ;14 10 ; 15 11 ; @returns 16 12 ; 17 ;18 13 ; @uses 19 ;20 14 ; 21 15 ; @restrictions 22 16 ; 23 ;24 17 ; @examples 25 18 ; 26 ;27 19 ; @history 28 ;29 20 ; 30 21 ; @version … … 37 28 ; translate month number in string 38 29 ; 39 ;40 30 compile_opt idl2, strictarrsubs 41 31 ; 42 32 IF strpos(date, '_') GT -1 THEN date = strmid(date, 0, strpos(date, '_')) 43 CASE strmid(timave, 0, 2) OF 33 CASE strmid(timave, 0, 2) OF 44 34 '1m': BEGIN 45 CASE strmid(date, strlen(date)-2, 2) OF 35 CASE strmid(date, strlen(date)-2, 2) OF 46 36 '01': mn = 'January' 47 37 '02': mn = 'February' … … 57 47 '12': mn = 'December' 58 48 ELSE: mn = '???' 59 ENDCASE 60 END 49 ENDCASE 50 END 61 51 '3m': BEGIN 62 CASE strmid(date, strlen(date)-2, 2) OF 52 CASE strmid(date, strlen(date)-2, 2) OF 63 53 '01': mn = 'DJF' 64 54 '02': mn = 'MMA' … … 66 56 '04': mn = 'SON' 67 57 ELSE: mn = '???' 68 ENDCASE 69 END 58 ENDCASE 59 END 70 60 ELSE: 71 ENDCASE 61 ENDCASE 72 62 73 63 return, mn 74 END 64 END -
trunk/SRC/ToBeReviewed/COULEURS/palit.pro
r163 r495 1 1 ;+ 2 ; @file_comments 2 ; @file_comments 3 3 ; Clarify the current palette playing with brightness 4 4 ; 5 5 ; @param COEF {in}{required} The rule of attenuation of colors divide by 2 the brightness by default 6 6 ; 7 ; @param RED 7 ; @param RED 8 8 ; 9 9 ; @param GREEN … … 11 11 ; @param BLUE 12 12 ; 13 ; @todo Seb: compl éter param red/green/blue13 ; @todo Seb: compléter param red/green/blue 14 14 ;- 15 15 PRO palit, coef, red, green, blue -
trunk/SRC/ToBeReviewed/GRILLE/changegrid.pro
r493 r495 30 30 @cm_4mesh 31 31 ; 32 ;33 32 if cmpgrid(newgrid) EQ 0 then return, 0 34 33 ; -
trunk/SRC/ToBeReviewed/GRILLE/cmpgrid.pro
r325 r495 29 29 ; 30 30 @common 31 ;32 31 ; 33 32 ; newgrid must be a structure -
trunk/SRC/ToBeReviewed/GRILLE/decoupeterre.pro
r388 r495 2 2 ; 3 3 ; @file_comments 4 ; Similar to <pro>grille</pro>. 4 ; Similar to <pro>grille</pro>. 5 5 ; Here, when vargrid is not 'T' or 'W', we have to 6 6 ; recuperate tmask, glamt, gphit and the array of triangulation on the 7 ; considered sub-domain for the drawing. 8 ; The specificity of decoupeterre, in comparaison with <pro>grille</pro>, is 9 ; that we take, if possible, a sub-domain just a little bit bigger than the 7 ; considered sub-domain for the drawing. 8 ; The specificity of decoupeterre, in comparaison with <pro>grille</pro>, is 9 ; that we take, if possible, a sub-domain just a little bit bigger than the 10 10 ; one defined by <pro>domdef</pro> in order to be 11 11 ; sure that the mask we draw will cover over all the drawing. … … 217 217 mask[*, 0] = 0b 218 218 ENDIF 219 ENDIF ELSE BEGIN 219 ENDIF ELSE BEGIN 220 220 case type of 221 221 'xy':BEGIN -
trunk/SRC/ToBeReviewed/GRILLE/domdef.pro
r493 r495 58 58 ; than to values of these arrays. 59 59 ; 60 ; @keyword TYPE 60 ; @keyword TYPE 61 61 ; 62 62 ; @keyword XINDEX -
trunk/SRC/ToBeReviewed/GRILLE/fmask.pro
r493 r495 5 5 ; 6 6 ; @categories 7 ; Grid 7 ; Grid 8 8 ; 9 9 ; @returns -
trunk/SRC/ToBeReviewed/GRILLE/grille.pro
r493 r495 5 5 ; vargrid and send back corresponding parameters calculated in 6 6 ; <pro>domdef</pro> and reduced at the domain defined by 7 ; <pro>domdef</pro> (contrarily to 7 ; <pro>domdef</pro> (contrarily to 8 8 ; <pro>grandegrille</pro>) 9 9 ; … … 21 21 ; This keyword is used in <pro>plt</pro>. 22 22 ; 23 ; @keyword GRID {default=vargrid defined in <pro>cm_4data</pro>} 23 ; @keyword GRID {default=vargrid defined in <pro>cm_4data</pro>} 24 24 ; To specify on which grid are located the data 25 25 ; 26 ; @keyword WDEPTH {default=0} 26 ; @keyword WDEPTH {default=0} 27 27 ; To specify that the field is at W depth instead of T 28 28 ; depth (automatically activated if vargrid eq 'W') … … 349 349 ;------------------------------------------------------------ 350 350 ;------------------------------------------------------------ 351 ;352 351 ; 353 352 tempdeux = systime(1) ; For key_performance =2 -
trunk/SRC/ToBeReviewed/GRILLE/t2v.pro
r370 r495 2 2 ; 3 3 ; @file_comments 4 ; Allows to pass a field referring to the grid T on the grid V, 4 ; Allows to pass a field referring to the grid T on the grid V, 5 5 ; thanks to the average res = 0.5*(res + shift(res, 0, -1)) 6 ; 7 ; @categories 6 ; 7 ; @categories 8 8 ; Grid 9 9 ; … … 17 17 ; <pro>common</pro> 18 18 ; 19 ; @restrictions 20 ; Force parameters of the zoom on the grid V to be the same as 19 ; @restrictions 20 ; Force parameters of the zoom on the grid V to be the same as 21 21 ; those on the grid T. 22 22 ; 23 ; @restrictions 24 ; Points which can not be calculated are put at the value NaN 23 ; @restrictions 24 ; Points which can not be calculated are put at the value NaN 25 25 ; consecrated by IDL: !values.f_nan 26 26 ; … … 61 61 ; case on tha array's size and application 62 62 taille = size(temp) 63 CASE taille[0] OF 63 CASE taille[0] OF 64 64 1: res = -1 65 2: BEGIN 65 2: BEGIN 66 66 case 1 of 67 67 taille[1] eq nxt and taille[2] eq nyt: … … 72 72 endcase 73 73 mask = tmask[firstxt:lastxt, firstyt:lastyt, 0] 74 terre = where(mask EQ 0) 74 terre = where(mask EQ 0) 75 75 IF terre[0] NE -1 THEN res[terre] = !values.f_nan 76 76 res = 0.5*(res + shift(res, 0, -1)) 77 77 res[*, nyt-1] = !values.f_nan 78 78 mask = (vmask())[firstxt:lastxt, firstyt:lastyt, 0] 79 terre = where(mask EQ 0) 79 terre = where(mask EQ 0) 80 80 IF terre[0] NE -1 THEN res[terre] = valmask 81 81 END 82 3: BEGIN 82 3: BEGIN 83 83 case 1 of 84 84 taille[1] eq nxt and taille[2] eq nyt AND taille[3] EQ nzt: … … 98 98 mask = reform(mask, nxt, nyt, jpt, /over) 99 99 ENDIF ELSE mask = tmask[firstxt:lastxt, firstyt:lastyt, firstzt:lastzt] 100 terre = where(temporary(mask) EQ 0) 100 terre = where(temporary(mask) EQ 0) 101 101 IF terre[0] NE -1 THEN res[temporary(terre)] = !values.f_nan 102 102 res = 0.5*(res + shift(res, 0, -1, 0)) … … 107 107 mask = reform(mask, nxt, nyt, jpt, /over) 108 108 ENDIF ELSE mask = (vmask())[firstxt:lastxt, firstyt:lastyt, firstzt:lastzt] 109 terre = where(temporary(mask) EQ 0) 109 terre = where(temporary(mask) EQ 0) 110 110 IF terre[0] NE -1 THEN res[temporary(terre)] = valmask 111 111 END 112 4: BEGIN 112 4: BEGIN 113 113 case 1 of 114 114 taille[1] eq nxt and taille[2] eq nyt AND taille[3] EQ nzt AND taille[4] EQ jpt: … … 123 123 mask = temporary(mask[*])#replicate(1, jpt) 124 124 mask = reform(mask, nxt, nyt, nzt, jpt, /over) 125 terre = where(temporary(mask) EQ 0) 125 terre = where(temporary(mask) EQ 0) 126 126 IF terre[0] NE -1 THEN res[temporary(terre)] = !values.f_nan 127 127 res = 0.5*(res + shift(res, 0, -1, 0, 0)) … … 130 130 mask = temporary(mask[*])#replicate(1, jpt) 131 131 mask = reform(mask, nxt, nyt, nzt, jpt, /over) 132 terre = where(temporary(mask) EQ 0) 132 terre = where(temporary(mask) EQ 0) 133 133 IF terre[0] NE -1 THEN res[temporary(terre)] = valmask 134 134 END … … 137 137 IF NOT keyword_set(key_forgetold) THEN BEGIN 138 138 @updateold 139 ENDIF 139 ENDIF 140 140 141 141 return, res -
trunk/SRC/ToBeReviewed/GRILLE/umask.pro
r493 r495 5 5 ; 6 6 ; @categories 7 ; Grid 7 ; Grid 8 8 ; 9 9 ; @returns -
trunk/SRC/ToBeReviewed/GRILLE/vmask.pro
r493 r495 5 5 ; 6 6 ; @categories 7 ; Grid 7 ; Grid 8 8 ; 9 9 ; @returns -
trunk/SRC/ToBeReviewed/HOPE/computehopegrid.pro
r370 r495 238 238 return 239 239 end 240 241 -
trunk/SRC/ToBeReviewed/HOPE/cw_selectinterval.pro
r327 r495 60 60 ; $Id$ 61 61 ; 62 ; @todo 62 ; @todo 63 63 ; seb 64 64 ; -
trunk/SRC/ToBeReviewed/HOPE/findlineandpointtype.pro
r325 r495 68 68 ; even T u T u 90.0 69 69 ; 70 ;71 70 ; high resolution grid: jpi=256, jpj=195 ( x 2), jpk=29 72 71 ; … … 76 75 ; odd T u T u 90.5 77 76 ; even T u T u 90.0 78 ;79 77 ; 80 78 x0 = floor(xaxis[0]*10)/10. -
trunk/SRC/ToBeReviewed/HOPE/read_hope.pro
r493 r495 282 282 ; For an YZ section the chosen variable is the one which has 283 283 ; the most points in the longitude domain specified by XLIMITS. 284 ;285 284 ; 286 285 ; @examples … … 583 582 *top_uvalue[0, 17] = 'tlimits' & *top_uvalue[1, 17] = testvar(var = tlimits) 584 583 585 586 584 widget_control, base, set_uvalue = top_uvalue 587 585 rh_alldomains, base, selected -
trunk/SRC/ToBeReviewed/HOPE/sortdim.pro
r325 r495 39 39 ; 0 1 3 2 40 40 ; 41 ;42 ;43 ;44 41 compile_opt idl2, strictarrsubs 45 42 ; -
trunk/SRC/ToBeReviewed/IMAGE/animgif.pro
r493 r495 66 66 write_gif,iodir+nomfic,tvrd(),red, green, blue, /multiple 67 67 ; 68 ;69 68 ;---------------------------------------------------------------- 70 69 ; Beginning of the part we want to change. … … 117 116 ENDCASE 118 117 119 120 118 return 121 119 end -
trunk/SRC/ToBeReviewed/INIT/initncdf.pro
r467 r495 2 2 ; 3 3 ; @file_comments 4 ; Initfile for Netcdffile. define all the grid parameters through4 ; Initfile for netCDF file. define all the grid parameters through 5 5 ; an appropriate call to <pro>computegrid</pro> 6 6 ; … … 9 9 ; 10 10 ; @param ncfilein {in}{required}{type=scalar string} 11 ; A string giving the name of the NetCdffile11 ; A string giving the name of the netCDF file 12 12 ; 13 13 ; @keyword START1 {default=0}{type=scalar: 0 or 1} … … 49 49 ; 50 50 ; @keyword _EXTRA 51 ; Used to pass keywords to <pro>computegrid</pro>, 51 ; Used to pass keywords to <pro>computegrid</pro>, 52 52 ; <pro>ncdf_getaxis</pro>, <pro>ncdf_getmask</pro> and <pro>isafile</pro> 53 53 ; -
trunk/SRC/ToBeReviewed/INIT/initncdfxxx.pro
r142 r495 10 10 ; initncdf, 'sst.wkmean.1990-present.nc', mask = 'mask' 11 11 ; 12 ;13 12 iodir = '/d1fes2-raid6/smasson/' 14 13 initncdf, 'outatm.nc' -
trunk/SRC/ToBeReviewed/INIT/initorca05.pro
r325 r495 1 1 ;+ 2 2 ; 3 ; @todo 3 ; @todo 4 4 ; seb 5 ; 5 ; 6 6 ;- 7 7 @cm_4mesh -
trunk/SRC/ToBeReviewed/INIT/initorca2full.pro
r358 r495 1 1 ;+ 2 2 ; 3 ; @todo 3 ; @todo 4 4 ; seb 5 5 ; -
trunk/SRC/ToBeReviewed/LECTURE/GRIB/TABLES/usertables.txt
r67 r495 23 23 [This is the preferred search order for foreign-language parameter tables.] 24 24 25 26 25 The name of the user-defined table is searched for in 27 26 … … 37 36 setenv GRIBTAB ~/data/gribtab (csh) 38 37 GRIBTAB=$HOME/data/gribtab ; export GRIBTAB (sh) 39 40 41 38 42 39 The format of the GRIBTAB file is -
trunk/SRC/ToBeReviewed/LECTURE/GRIB/bit2int.pro
r327 r495 2 2 ; @file_comments 3 3 ; 4 ;5 4 ; @categories 6 ;7 5 ; 8 6 ; @param BITIN 9 7 ; 10 ;11 8 ; @keyword CHECKNEG 12 ;13 9 ; 14 10 ; @returns 15 11 ; 16 ;17 12 ; @uses 18 ;19 13 ; 20 14 ; @restrictions 21 15 ; 22 ;23 16 ; @examples 24 17 ; 25 ;26 18 ; @history 27 ;28 19 ; 29 20 ; @version -
trunk/SRC/ToBeReviewed/LECTURE/GRIB/read_grib.pro
r327 r495 50 50 ; FOR i = 1L, n_elements(recstart)-1 DO $ 51 51 ; addoff[i] = recstart[i]-recstart[i-1]-messize[i-1] 52 ;53 52 ; 54 53 ; nbits = scan_grib_nbits(num, recstart) -
trunk/SRC/ToBeReviewed/LECTURE/GRIB/read_grib_bds.pro
r325 r495 1 1 ;+ 2 ; @file_comments 3 ; 4 ; 2 ; @file_comments 3 ; 5 4 ; @categories 6 ;7 ;8 ; @param NUM9 5 ; 6 ; @param NUM 10 7 ; 11 8 ; @param RECSTART 12 9 ; 13 ; 14 ; @param NI 15 ; 10 ; @param NI 16 11 ; 17 12 ; @param NJ 18 ; 19 ; 13 ; 20 14 ; @returns 21 ; 22 ; 15 ; 23 16 ; @restrictions 24 ; 25 ; 17 ; 26 18 ; @examples 27 19 ; 28 ;29 20 ; @history 30 ;31 21 ; 32 22 ; @version … … 34 24 ;- 35 25 FUNCTION read_grib_bds, num, recstart, ni, nj 36 ;37 26 ; 38 27 compile_opt idl2, strictarrsubs … … 63 52 ; 64 53 sizebds = bit2int([binary(a[1]), binary(a[2]), binary(a[3])]) 65 ; 54 ; 66 55 flags = binary(a[4]) 67 56 ; BIT VALUE MEANING 68 57 ; 1 0 Grid point data 69 58 ; 1 Spherical Harmonic Coefficients 70 ; 2 0 Simple packing 71 ; 1 Second order ("Complex") Packing 59 ; 2 0 Simple packing 60 ; 1 Second order ("Complex") Packing 72 61 ; 3 0 Original data were floating point values 73 62 ; 1 Original data were integer values -
trunk/SRC/ToBeReviewed/LECTURE/GRIB/read_grib_end.pro
r325 r495 1 1 ;+ 2 ; @file_comments 3 ; 4 ; 2 ; @file_comments 3 ; 5 4 ; @categories 6 ;7 ;8 ; @param NUM9 5 ; 6 ; @param NUM 10 7 ; 11 8 ; @param OFFSET 12 ;13 9 ; 14 10 ; @returns 15 ; 16 ; 11 ; 17 12 ; @restrictions 18 ; 19 ; 13 ; 20 14 ; @examples 21 15 ; 22 ;23 16 ; @history 24 ;25 17 ; 26 18 ; @version 27 19 ; $Id$ 20 ; 28 21 ;- 29 22 PRO read_grib_end, num, offset -
trunk/SRC/ToBeReviewed/LECTURE/GRIB/read_grib_gds.pro
r325 r495 1 1 ;+ 2 ; @file_comments 3 ; 4 ; 2 ; @file_comments 3 ; 5 4 ; @categories 6 ;7 ;8 ; @param NUM9 5 ; 6 ; @param NUM 10 7 ; 11 8 ; @param RECSTART 12 9 ; 13 ;14 10 ; @returns 15 ; 16 ; 11 ; 17 12 ; @restrictions 18 ; 19 ; 13 ; 20 14 ; @examples 21 15 ; 22 ;23 16 ; @history 24 ;25 17 ; 26 18 ; @version … … 28 20 ;- 29 21 FUNCTION read_grib_gds, num, recstart 30 ;31 22 ; 32 23 compile_opt idl2, strictarrsubs … … 40 31 ; 41 32 sizegds = bit2int([binary(a[1]), binary(a[2]), binary(a[3])]) 42 ; 33 ; 43 34 nv = (a[4])[0] 44 35 pv = (a[5])[0] … … 83 74 gridtype EQ 2: 84 75 ; Lambert Conformal, secant or tangent, conical or bipolar (normal or 85 ; oblique) Projection Grid 76 ; oblique) Projection Grid 86 77 gridtype EQ 3: 87 78 ; Polar Stereographic Projection Grid -
trunk/SRC/ToBeReviewed/LECTURE/GRIB/read_grib_is.pro
r325 r495 1 ;+2 ; @file_comments3 ;4 ;5 ; @categories6 ;7 ;8 ; @param NUM9 ;10 1 ; 11 2 ; @param OFFSET 12 ;13 3 ; 14 4 ; @returns 15 ; 16 ; 5 ; 17 6 ; @restrictions 18 ; 19 ; 7 ; 20 8 ; @examples 21 9 ; 22 ;23 10 ; @history 24 ;25 11 ; 26 12 ; @version … … 37 23 typefile = string(a[0]) 38 24 IF typefile NE 'GRIB' THEN stop 39 25 40 26 ; 41 27 a = assoc(num, bytarr(1, /nozero), offset+4) 42 28 sizerecord = bit2int([binary(a[0]), binary(a[1]), binary(a[2])]) 43 ; 29 ; 44 30 a = assoc(num, bytarr(1, /nozero), offset+7) 45 31 gribed = a[0] -
trunk/SRC/ToBeReviewed/LECTURE/GRIB/read_grib_pds.pro
r325 r495 1 1 ;+ 2 ; @file_comments 3 ; 4 ; 2 ; @file_comments 3 ; 5 4 ; @categories 6 ;7 ;8 ; @param NUM9 5 ; 6 ; @param NUM 10 7 ; 11 8 ; @param RECSTART 12 ;13 9 ; 14 10 ; @returns 15 ; 16 ; 11 ; 17 12 ; @restrictions 18 ; 19 ; 13 ; 20 14 ; @examples 21 15 ; 22 ;23 16 ; @history 24 ;25 17 ; 26 18 ; @version … … 28 20 ;- 29 21 FUNCTION read_grib_pds, num, recstart 30 ;31 22 ; 32 23 compile_opt idl2, strictarrsubs … … 36 27 ; 37 28 sizepds = bit2int([binary(a[1]), binary(a[2]), binary(a[3])]) 38 ; 29 ; 39 30 paramtableversion = (a[4])[0] 40 ; 31 ; 41 32 centerid = (a[5])[0] 42 ; 33 ; 43 34 procid = (a[6])[0] 44 ; 35 ; 45 36 gridid = (a[7])[0] 46 37 ; … … 51 42 paramunitid = (a[9])[0] 52 43 ; 53 levtype = (a[10])[0] 44 levtype = (a[10])[0] 54 45 levalue1 = (a[11])[0] 55 46 levalue2 = (a[12])[0] … … 74 65 ;......... 75 66 76 77 67 RETURN, {size:sizepds, gdsnotomitted:gdsnotomitted, bmsnotomitted:bmsnotomitted, d:d} 78 68 END -
trunk/SRC/ToBeReviewed/LECTURE/GRIB/read_gribtable.pro
r371 r495 6 6 ; @categories 7 7 ; 8 ;9 8 ; @param TABLENAME {in}{required} 10 9 ; The full path name of a gribtable file … … 12 11 ; @keyword PARMTABL 13 12 ; 14 ;15 13 ; @keyword CENTER 16 ;17 14 ; 18 15 ; @keyword SUBCENTER 19 16 ; 20 ;21 17 ; @keyword TABLNUM 22 ;23 18 ; 24 19 ; @returns 25 20 ; 26 ;27 21 ; @uses 28 22 ; 29 ;30 23 ; @restrictions 31 ;32 24 ; 33 25 ; @examples … … 46 38 compile_opt idl2, strictarrsubs 47 39 ; 48 40 49 41 ON_ERROR,2 50 42 -
trunk/SRC/ToBeReviewed/LECTURE/GRIB/scan_grib_code.pro
r325 r495 1 1 ;+ 2 ; @file_comments 3 ; 4 ; 2 ; @file_comments 3 ; 5 4 ; @categories 6 ;7 ;8 ; @param NUM9 5 ; 6 ; @param NUM 10 7 ; 11 8 ; @param RECSTART 12 ;13 9 ; 14 10 ; @returns 15 ; 16 ; 11 ; 17 12 ; @restrictions 18 ; 19 ; 13 ; 20 14 ; @examples 21 15 ; 22 ;23 16 ; @history 24 ;25 17 ; 26 18 ; @version … … 28 20 ;- 29 21 FUNCTION scan_grib_code, num, recstart 30 ;31 22 ; 32 23 compile_opt idl2, strictarrsubs -
trunk/SRC/ToBeReviewed/LECTURE/GRIB/scan_grib_date.pro
r325 r495 1 1 ;+ 2 ; @file_comments 3 ; 4 ; 2 ; @file_comments 3 ; 5 4 ; @categories 6 ;7 ;8 ; @param NUM9 5 ; 6 ; @param NUM 10 7 ; 11 8 ; @param RECSTART 12 ;13 9 ; 14 10 ; @returns 15 ; 16 ; 11 ; 17 12 ; @restrictions 18 ; 19 ; 13 ; 20 14 ; @examples 21 15 ; 22 ;23 16 ; @history 24 ;25 17 ; 26 18 ; @version … … 28 20 ;- 29 21 FUNCTION scan_grib_date, num, recstart 30 ;31 22 ; 32 23 compile_opt idl2, strictarrsubs … … 38 29 offset = recstart[i] 39 30 a = assoc(num, bytarr(1, /nozero), offset+8-1) 40 dates[i] = (a[13]+ 100L*(a[25]-1))*10000L+a[14]*100L+a[15]31 dates[i] = (a[13]+ 100L *(a[25]-1)) * 10000L + a[14] * 100L + a[15] 41 32 ENDFOR 42 33 ; -
trunk/SRC/ToBeReviewed/LECTURE/GRIB/scan_grib_messize.pro
r325 r495 1 1 ;+ 2 ; @file_comments 3 ; 4 ; 2 ; @file_comments 3 ; 5 4 ; @categories 6 ;7 ;8 ; @param NUM9 5 ; 6 ; @param NUM 10 7 ; 11 8 ; @param RECSTART 12 ;13 9 ; 14 10 ; @returns 15 ; 16 ; 11 ; 17 12 ; @restrictions 18 ; 19 ; 13 ; 20 14 ; @examples 21 15 ; 22 ;23 16 ; @history 24 ;25 17 ; 26 18 ; @version … … 28 20 ;- 29 21 FUNCTION scan_grib_messize, num, recstart 30 ;31 22 ; 32 23 compile_opt idl2, strictarrsubs -
trunk/SRC/ToBeReviewed/LECTURE/GRIB/scan_grib_nbits.pro
r325 r495 1 1 ;+ 2 ; @file_comments 3 ; 4 ; 2 ; @file_comments 3 ; 5 4 ; @categories 6 ;7 ;8 ; @param NUM9 5 ; 6 ; @param NUM 10 7 ; 11 8 ; @param RECSTART 12 ;13 9 ; 14 10 ; @returns 15 ; 16 ; 11 ; 17 12 ; @restrictions 18 ; 19 ; 13 ; 20 14 ; @examples 21 15 ; 22 ;23 16 ; @history 24 ;25 17 ; 26 18 ; @version -
trunk/SRC/ToBeReviewed/LECTURE/GRIB/scan_grib_recstart.pro
r325 r495 1 1 ;+ 2 ; @file_comments 3 ; 4 ; 2 ; @file_comments 3 ; 5 4 ; @categories 6 ; 7 ; 8 ; @param NUM 9 ; 5 ; 6 ; @param NUM 10 7 ; 11 8 ; @returns 12 ; 13 ; 9 ; 14 10 ; @restrictions 15 ; 16 ; 11 ; 17 12 ; @examples 18 13 ; 19 ;20 14 ; @history 21 ;22 15 ; 23 16 ; @version … … 80 73 ; 81 74 start = [start, offset] 82 ; 75 ; 83 76 a = assoc(num, bytarr(1, /nozero), offset+4) 84 77 recsize = bit2int([binary(a[0]), binary(a[1]), binary(a[2])]) … … 90 83 out: 91 84 ; 92 RETURN, start[1:n_elements(start)-1] 85 RETURN, start[1:n_elements(start)-1] 93 86 END -
trunk/SRC/ToBeReviewed/LECTURE/inverse_binary.pro
r371 r495 17 17 ; 18 18 ; (d1, d2...) are the output dimensions 19 ;20 19 ; 21 20 ; @returns -
trunk/SRC/ToBeReviewed/LECTURE/litchamp.pro
r493 r495 7 7 ; - a structure, litchamp send back the first element of the structure 8 8 ; which must be the field in an array. 9 ; litchamp profit of this to look other elements of the structure and 9 ; litchamp profit of this to look other elements of the structure and 10 10 ; update if needed global variables which refer to the field: 11 11 ; vargrid, varname, varunit, vardate, varexp , valmask et time … … 89 89 ; IDL> print, vargrid,', ', varname,', ', varunit,', ', vardate,', ', varexp 90 90 ; T, toto, C, 1999, 91 ;92 91 ; 93 92 ; @history -
trunk/SRC/ToBeReviewed/LECTURE/read_ncdf.pro
r493 r495 3 3 ; @file_comments 4 4 ; Reading function for the file net_cdf. 5 ; This program is less universal than <pro>ncdf_lec</pro> (it appeal to 6 ; declared variables in <pro>common</pro>) but it is very easier to be used. 5 ; This program is less universal than <pro>ncdf_lec</pro> (it appeal to 6 ; declared variables in <pro>common</pro>) but it is very easier to be used. 7 7 ; It considerate 8 8 ; the declaration of the different zooms which have been defined 9 9 ; (ixminmesh...premierx...), the declaration of the variable key_shift... 10 ; To put it in a nutshell, the result of read_ncdf can be directly used in 10 ; To put it in a nutshell, the result of read_ncdf can be directly used in 11 11 ; <pro>plt</pro> ... 12 12 ; … … 46 46 ; 47 47 ; @keyword CALLITSELF {default=0}{type=scalar: 0 or 1} 48 ; For ROMS outputs. Use by read_ncdf itself to access auxiliary data 48 ; For ROMS outputs. Use by read_ncdf itself to access auxiliary data 49 49 ; (h and zeta). 50 50 ; … … 68 68 ; 69 69 ; @keyword TIMESTEP {default=0}{type=scalar: 0 or 1} 70 ; Specify that BEGINNING and ENDING refer to indexes of the time axis and not 70 ; Specify that BEGINNING and ENDING refer to indexes of the time axis and not 71 71 ; to dates 72 72 ; … … 95 95 ; 96 96 ; @returns 97 ; Structure readable by <pro>litchamp</pro> or an array if NOSTRUCT is 97 ; Structure readable by <pro>litchamp</pro> or an array if NOSTRUCT is 98 98 ; activated. 99 99 ; … … 189 189 firsttps = long(beginning[0]) 190 190 IF n_elements(ending) NE 0 THEN lasttps = long(ending[0]) ELSE lasttps = firsttps 191 IF NOT keyword_set(callitself) then BEGIN 191 IF NOT keyword_set(callitself) then BEGIN 192 192 time = ncdf_gettime(filename, cdfid, caller = 'read_ncdf', err = err, _extra = ex) 193 193 jpt = lasttps-firsttps+1 … … 210 210 keyword_set(allrecords) OR n_elements(beginning) EQ 0:BEGIN 211 211 time = ncdf_gettime(filename, cdfid, caller = 'read_ncdf', err = err, _extra = ex) 212 IF time[0] LT 0 then BEGIN 212 IF time[0] LT 0 then BEGIN 213 213 jpt = -time[0] 214 214 time = julday(1, 1, 1) + lindgen(jpt) -
trunk/SRC/ToBeReviewed/LECTURE/xncdf_lec.pro
r493 r495 8 8 ; 9 9 ; @param NAME {in}{optional}{type=string} 10 ; It give the name of the file to be opened. 10 ; It give the name of the file to be opened. 11 11 ; 12 12 ; If NAME … … 21 21 ; 22 22 ; @keyword COUNT {type=vector} 23 ; An optional vector containing the counts to be used in reading Value. 23 ; An optional vector containing the counts to be used in reading Value. 24 24 ; 25 25 ; COUNT is a 1-based vector with an element for … … 30 30 ; 31 31 ; @keyword GROUP 32 ; The widget ID of the widget that calls XNCDF_LEC. 32 ; The widget ID of the widget that calls XNCDF_LEC. 33 33 ; 34 34 ; When this ID is specified, a death of the caller results in a death … … 42 42 ; A vector of integers, specifying for each dimension how much we have to shift it. 43 43 ; 44 ; See the function <proidl>SHIFT</proidl> for more explanations. 44 ; See the function <proidl>SHIFT</proidl> for more explanations. 45 45 ; 46 46 ; BEWARE, 47 47 ; the shift is done on the biggest array before a possible reduction determined 48 ; by OFFSET and COUNT. 48 ; by OFFSET and COUNT. 49 49 ; 50 50 ; On the other hand, it is done after the possible extraction -
trunk/SRC/ToBeReviewed/PLOTS/DESSINE/plt.pro
r493 r495 150 150 ; specified min/max are not filled. Note that max values a considered 151 151 ; as missing values so cells containing one or more corners with 152 ; values above max will have no contours drawn through them. 152 ; values above max will have no contours drawn through them. 153 153 ; 154 154 ; @keyword STYLE {default=style=0} … … 347 347 IF keyword_set(strictfill) THEN BEGIN 348 348 tmp = z2d ge max 349 IF total(tmp GE 1) THEN BEGIN 349 IF total(tmp GE 1) THEN BEGIN 350 350 tmp = 1b - byte(extrapolate(tmp, tmp, 1, x_periodic = keyword_set(key_periodic)*(nx EQ jpi) )) 351 351 trifield = triangule(temporary(tmp)*mask, coinmonte = coinmontemask $ -
trunk/SRC/ToBeReviewed/PLOTS/DESSINE/plt1d.pro
r378 r495 11 11 ; 1) An array which can be: 12 12 ; 13 ; * 2d, 3d or 4d: array xy, xyz. xyt or xyzt. In this case, the array 14 ; will pass in <pro>moyenne</pro> or <pro>grossemoyenne</pro> to be 13 ; * 2d, 3d or 4d: array xy, xyz. xyt or xyzt. In this case, the array 14 ; will pass in <pro>moyenne</pro> or <pro>grossemoyenne</pro> to be 15 15 ; averaged and become an array 1d. 16 ; * 1d:Nevertheless, the type must be specified in order to we know which 17 ; trace it is about. To have a correct caption, respecify the extraction 16 ; * 1d:Nevertheless, the type must be specified in order to we know which 17 ; trace it is about. To have a correct caption, respecify the extraction 18 18 ; zone via BOXZOOM. 19 19 ; 2) a structure respecting all criterions specified by <pro>litchamp</pro> … … 33 33 ; 34 34 ; @keyword BOXZOOM 35 ; Vector indicating the geographic zone (3d) on which the extraction of the 35 ; Vector indicating the geographic zone (3d) on which the extraction of the 36 36 ; field must be done to do the hovmoeller. 37 37 ; … … 43 43 ; 6 elements: The extraction is made on Boxzoom 44 44 ; 45 ; Where lon1, lon2,lat1,lat2,vert1,vert2 are global variables defined at 45 ; Where lon1, lon2,lat1,lat2,vert1,vert2 are global variables defined at 46 46 ; the last <pro>domdef</pro> ! 47 47 ; -
trunk/SRC/ToBeReviewed/PLOTS/DESSINE/pltsc.pro
r327 r495 101 101 IF finite(max2) EQ 0 THEN max2 = max(tab2) 102 102 103 104 103 ; init plot if not overlay 105 104 -
trunk/SRC/ToBeReviewed/PLOTS/DESSINE/pltt.pro
r493 r495 4 4 ; Trace hovmoeller graphs: xt,yt,zt,t 5 5 ; 6 ; @categories 6 ; @categories 7 7 ; Graphics 8 8 ; … … 23 23 ; 2) a structure respecting all criterions specified by <pro>litchamp</pro> 24 24 ; The array contained in the structure respecting criterions of case 1) 25 ; 25 ; 26 26 ; @param GIVENTYPE 27 27 ; … … 52 52 ; 6 elements: The extraction is made on Boxzoom 53 53 ; 54 ; Where lon1, lon2,lat1,lat2,vert1,vert2 are global variables defined at the last 54 ; Where lon1, lon2,lat1,lat2,vert1,vert2 are global variables defined at the last 55 55 ; <pro>domdef</pro> ! 56 56 ; … … 153 153 ; specified min/max are not filled. Note that max values a considered 154 154 ; as missing values so cells containing one or more corners with 155 ; values above max will have no contours drawn through them. 155 ; values above max will have no contours drawn through them. 156 156 ; 157 157 ; @keyword STYLE {default=style=0} … … 198 198 ; $Id$ 199 199 ; 200 ; @todo 200 ; @todo 201 201 ; seb: definition of parameters, L.426 Ã 427, L. 492 Ã 493 202 202 ; … … 475 475 IF keyword_set(strictfill) THEN BEGIN 476 476 tmp = z2d ge max 477 IF total(tmp GE 1) THEN BEGIN 477 IF total(tmp GE 1) THEN BEGIN 478 478 tmp = 1b - byte(extrapolate(tmp, tmp, 1)) 479 479 key_save = key_periodic & key_periodic = 0 -
trunk/SRC/ToBeReviewed/PLOTS/DESSINE/pltv.pro
r479 r495 4 4 ; Draw 2d plots with TV procedure 5 5 ; 6 ; @categories 6 ; @categories 7 7 ; find a file 8 8 ; graphic … … 32 32 ; 6 elements: The extraction is made on Boxzoom 33 33 ; 34 ; Where lon1, lon2, lat1, lat2 are global variables defined at the last 34 ; Where lon1, lon2, lat1, lat2 are global variables defined at the last 35 35 ; <pro>domdef</pro> ! 36 36 ; … … 60 60 ; @keyword _EXTRA 61 61 ; Used to pass keywords to <pro>placedessin</pro>, <proidl>TV</proidl>, 62 ; <pro>axe</pro>, <pro>legende</pro>, <pro>barrecouleur</pro>, 62 ; <pro>axe</pro>, <pro>legende</pro>, <pro>barrecouleur</pro>, 63 63 ; <pro>terminedessin</pro> 64 64 ; -
trunk/SRC/ToBeReviewed/PLOTS/DESSINE/pltz.pro
r493 r495 34 34 ; 6 elements: The extraction is made on Boxzoom 35 35 ; 36 ; Where lon1, lon2,lat1,lat2 are global variables defined at the last 36 ; Where lon1, lon2,lat1,lat2 are global variables defined at the last 37 37 ; <pro>domdef</pro> ! 38 38 ; … … 85 85 ; 86 86 ; @keyword ZRATIO {default=2./3} 87 ; When the drawing has a zoomed part, it is the size ratio between the zoomed 87 ; When the drawing has a zoomed part, it is the size ratio between the zoomed 88 88 ; part, hz (zoom height), and the whole drawing, ht (total height). 89 89 ; … … 115 115 ; @keyword NOMASK 116 116 ; activate to suppress the use of the land-sea mask when plotting the field 117 ; 117 ; 118 118 ; @keyword NO_PARTIALSTEP 119 119 ; activate to suppress the use of partial steps (force key_partialstep = 0 within pltz) … … 144 144 ; specified min/max are not filled. Note that max values a considered 145 145 ; as missing values so cells containing one or more corners with 146 ; values above max will have no contours drawn through them. 146 ; values above max will have no contours drawn through them. 147 147 ; 148 148 ; @keyword STYLE {default=style=0} … … 174 174 ; $Id$ 175 175 ; 176 ; @todo 176 ; @todo 177 177 ; seb definition of parameters L.215 Ã 221 178 178 ; … … 211 211 ; 212 212 if n_elements(contour) ne 4 THEN saveboxparam, 'boxparam4pltz.dat' 213 key_partialstep = keyword_set(key_partialstep) * (1b - keyword_set(no_partialstep)) 213 key_partialstep = keyword_set(key_partialstep) * (1b - keyword_set(no_partialstep)) 214 214 ;-------------------------------------------------------------- 215 215 ; Reading of the field. … … 278 278 z2d = reverse(z2d, 2) 279 279 szmsk = size(mask, /dimensions) 280 IF keyword_set(nomask) THEN mask = replicate(1b, szmsk[0], szmsk[1]) 280 IF keyword_set(nomask) THEN mask = replicate(1b, szmsk[0], szmsk[1]) 281 281 IF keyword_set(maskdta) THEN mask = byte(fitintobox(maskdta)) 282 282 ;----------------------------------------------------------------------------- … … 328 328 IF keyword_set(strictfill) THEN BEGIN 329 329 tmp = z2d ge max 330 IF total(tmp GE 1) THEN BEGIN 330 IF total(tmp GE 1) THEN BEGIN 331 331 tmp = 1b - byte(extrapolate(tmp, tmp, 1)) 332 332 key_save = key_periodic & key_periodic = 0 … … 376 376 axis4pltz, type, mask, glammsk, gphimsk, gdepmsk, XXAXIS = xmask, ZZAXIS = zmask, SIN = sin, ZRATIO = zratio, ZOOM = zoom, PROFMAX = profmax, PROFMIN = profmin, _extra = ex 377 377 szmsk = size(mask, /dimensions) 378 IF keyword_set(nomask) THEN mask = replicate(1b, szmsk[0], szmsk[1]) 378 IF keyword_set(nomask) THEN mask = replicate(1b, szmsk[0], szmsk[1]) 379 379 ENDIF ELSE BEGIN 380 380 xmask = xxaxis -
trunk/SRC/ToBeReviewed/PLOTS/DESSINE/sbar_plot.pro
r471 r495 2 2 ; 3 3 ; @file_comments 4 ; Same thing that bar_plot but compatible with the whole environment 4 ; Same thing that bar_plot but compatible with the whole environment 5 5 ; (<pro>common</pro> included) 6 6 ; -
trunk/SRC/ToBeReviewed/PLOTS/DESSINE/scontour.pro
r493 r495 2 2 ; 3 3 ; @file_comments 4 ; Same thing that contour but compatible with the whole environment 4 ; Same thing that contour but compatible with the whole environment 5 5 ; (<pro>common</pro> included) 6 6 ; … … 19 19 ; 20 20 ; @examples 21 ; 21 ; 22 22 ; IDL> z = dist(100) 23 23 ; IDL> scontour, z, nlevels=10,small=[1,2,1],xstyle=1,ystyle=1 -
trunk/SRC/ToBeReviewed/PLOTS/DESSINE/splot.pro
r493 r495 2 2 ; 3 3 ; @file_comments 4 ; Same thing than plot but compatible with the whole environment 4 ; Same thing than plot but compatible with the whole environment 5 5 ; (<pro>common</pro> included) 6 6 ; … … 20 20 ; @restrictions 21 21 ; If NOREINITPLT is not activated, all environment 22 ; variables !p, !x, !y, !z are reinitialized by the procedure 22 ; variables !p, !x, !y, !z are reinitialized by the procedure 23 23 ; <pro>reinitplt</pro> 24 24 ; -
trunk/SRC/ToBeReviewed/PLOTS/DIVERS/addaxe.pro
r378 r495 2 2 ; 3 3 ; @file_comments 4 ; Add an axis when we do an oblique section in <pro>pltz</pro>, 4 ; Add an axis when we do an oblique section in <pro>pltz</pro>, 5 5 ; <pro>pltt</pro> or <pro>plt1d</pro> 6 6 ; -
trunk/SRC/ToBeReviewed/PLOTS/DIVERS/autoscale.pro
r493 r495 15 15 ; 16 16 ; @param CI {out} {type=real} 17 ; the contour interval. Use it in <proidl>CONTOUR</proidl> with the 17 ; the contour interval. Use it in <proidl>CONTOUR</proidl> with the 18 18 ; keyword LEVEL. 19 19 ; -
trunk/SRC/ToBeReviewed/PLOTS/DIVERS/axis4pltz.pro
r378 r495 27 27 ; 28 28 ; @keyword ZRATIO {default=2./3} 29 ; When the drawing has a zoomed part, it is the size ratio between the zoomed 29 ; When the drawing has a zoomed part, it is the size ratio between the zoomed 30 30 ; part, hz (zoom height), and the whole drawing, ht (total height). 31 31 ; -
trunk/SRC/ToBeReviewed/PLOTS/DIVERS/checkfield.pro
r378 r495 15 15 ; 16 16 ; @param NAME {in}{optional}{type=string} 17 ; It gives the name of the file to be opened. 17 ; It gives the name of the file to be opened. 18 18 ; 19 19 ; If NAME … … 162 162 ; 6 elements: The extraction is made on Boxzoom 163 163 ; 164 ; Where lon1, lon2,lat1,lat2 are global variables defined at the last 164 ; Where lon1, lon2,lat1,lat2 are global variables defined at the last 165 165 ; <pro>domdef</pro> ! 166 166 ; … … 171 171 ; @keyword VECTEUR{type=vector} 172 172 ; It is a structure composed by 2 elements containing the 2 fields U 173 ; and V of values of the zonal and meridian component of the vector of 173 ; and V of values of the zonal and meridian component of the vector of 174 174 ; the fields to draw. 175 175 ; -
trunk/SRC/ToBeReviewed/PLOTS/DIVERS/checktypeminmax.pro
r370 r495 169 169 ENDWHILE 170 170 ; 171 ;172 173 171 return 174 172 end -
trunk/SRC/ToBeReviewed/PLOTS/DIVERS/determineminmax.pro
r378 r495 105 105 ENDIF 106 106 107 108 107 return 109 108 end -
trunk/SRC/ToBeReviewed/PLOTS/DIVERS/givewindowsize.pro
r479 r495 40 40 IF NOT keyword_set(dpi) THEN dpi = 72 41 41 coef = dpi/2.54 ; 1 inch = 2.54 cm 42 ENDIF ELSE BEGIN 42 ENDIF ELSE BEGIN 43 43 dimensions = get_screen_size(RESOLUTION = resolution) 44 44 coef = floor(1./resolution[0]) -
trunk/SRC/ToBeReviewed/PLOTS/DIVERS/placecolor.pro
r378 r495 4 4 ; allows to trace the independently from a graph 5 5 ; 6 ; By default, trace a color bar of the same type than the one present in 6 ; By default, trace a color bar of the same type than the one present in 7 7 ; <pro>plt</pro> 8 8 ; and <pro>pltz</pro>. … … 35 35 ; 36 36 ; @todo 37 ; reference to plein2dessin in restriction not understa ble:37 ; reference to plein2dessin in restriction not understand : 38 38 ; plein2dessin does'nt exist. 39 39 ; -
trunk/SRC/ToBeReviewed/PLOTS/DIVERS/placedessin.pro
r480 r495 8 8 ; 9 9 ; @param TYPEDESSIN {type=string} 10 ; It specify what procedure is called by <pro>placedessin</pro> : 10 ; It specify what procedure is called by <pro>placedessin</pro> : 11 11 ; 'plt', 'pltz' or 'pltt' 12 12 ; … … 15 15 ; 16 16 ; Comment: To position the drawing, we have to do !p.position=posfenetre 17 ; after the call of the calib er17 ; after the call of the calibre 18 18 ; 19 19 ; @param POSBAR {out}{type=vector} … … 64 64 ; small portion of a page or screen. It delimit the zone where the drawing will be done. 65 65 ; 66 ; If there is 4 elements then is constituted of coordinates (expressed in cm 67 ; located from the up and left corner of the page or the window (in portrait 68 ; like in landscape) of the bottom and left corner and of the up and right 66 ; If there is 4 elements then is constituted of coordinates (expressed in cm 67 ; located from the up and left corner of the page or the window (in portrait 68 ; like in landscape) of the bottom and left corner and of the up and right 69 69 ; corner of the drawing zone. 70 70 ; 71 ; If there is 3 elements, we divide the page or the screen in small[0] columns 72 ; and in small[1] lines, the drawing is made in the box numbered small[2]. 71 ; If there is 3 elements, we divide the page or the screen in small[0] columns 72 ; and in small[1] lines, the drawing is made in the box numbered small[2]. 73 73 ; 74 74 ; The numerotation starting up and left by 75 75 ; the number 1 and then, following the writing direction. 76 76 ; 77 ; By default, we make the largest drawing we can do, conserving the aspect 77 ; By default, we make the largest drawing we can do, conserving the aspect 78 78 ; ratio (except when REMPLI is activated). 79 79 ; … … 82 82 ; 83 83 ; @keyword POST 84 ; Make a postscript. 84 ; Make a postscript. 85 85 ; 86 86 ; Only works if we made one drawing on the page. … … 103 103 ; whose we have the colored drawing (by example E-P in color and QSR in contours). 104 104 ; 105 ; It must be a field respecting same characteristics than the argument number 105 ; It must be a field respecting same characteristics than the argument number 106 106 ; one of <pro>plt</pro>. 107 107 ; 108 108 ; @keyword ENDPOINTS 109 ; keyword specifying that we want to make a vertical cut in diagonal. 110 ; 111 ; Then coordinated of extremities of these ones are defined by the 4 elements 109 ; keyword specifying that we want to make a vertical cut in diagonal. 110 ; 111 ; Then coordinated of extremities of these ones are defined by the 4 elements 112 112 ; of the vector ENDPOINTS: [x1,y1,x2,y2] which are coordinates. 113 113 ; … … 115 115 ; It is a structure composed by 2 elements containing the 2 fields U 116 116 ; and V of values of the zonal and meridian component of the vector of the fields 117 ; to draw. 117 ; to draw. 118 118 ; 119 119 ; These fields can be an array or a structure. … … 255 255 device, set_resolution = windsize 256 256 erase 257 ENDIF ELSE BEGIN 257 ENDIF ELSE BEGIN 258 258 if not keyword_set(window) then winnumb = 0 ELSE winnumb = window 259 259 window, winnumb, xsize = windsize[0], ysize = windsize[1], retain = 2, _extra = ex -
trunk/SRC/ToBeReviewed/PLOTS/DIVERS/saveatt.pro
r378 r495 2 2 ; 3 3 ; @file_comments 4 ; Allows to put in a structure attributes which can be associated with 4 ; Allows to put in a structure attributes which can be associated with 5 5 ; a variable. 6 6 ; -
trunk/SRC/ToBeReviewed/PLOTS/DIVERS/terminedessin.pro
r378 r495 8 8 ; 9 9 ; @keyword POST 10 ; Make a postscript. 10 ; Make a postscript. 11 11 ; 12 12 ; Only works if we made one drawing on the page. … … 15 15 ; @keyword SMALL {type=vector} 16 16 ; Vector composed of 3 or 4 elements, applied to make a drawing on a 17 ; small portion of a page or screen. 17 ; small portion of a page or screen. 18 18 ; 19 19 ; It delimit the zone where the drawing will be done. 20 20 ; 21 ; If there is 4 elements then is constituted of coordinates (expressed in cm 22 ; located from the up and left corner of the page or the window (in portrait 23 ; like in landscape)) of the bottom and left corner and of the up and right 21 ; If there is 4 elements then is constituted of coordinates (expressed in cm 22 ; located from the up and left corner of the page or the window (in portrait 23 ; like in landscape)) of the bottom and left corner and of the up and right 24 24 ; corner of the drawing zone. 25 25 ; 26 ; If there is 3 elements we divide the page or the screen in small[0] columns 27 ; and in small[1] lines and the drawing is made in the box numbered small[2]. 26 ; If there is 3 elements we divide the page or the screen in small[0] columns 27 ; and in small[1] lines and the drawing is made in the box numbered small[2]. 28 28 ; 29 ; The numerotation starting up and left by the number 1 and then, following 29 ; The numerotation starting up and left by the number 1 and then, following 30 30 ; the writing direction. 31 31 ; 32 ; By default, we make the largest drawing we can do, conserving the aspect 32 ; By default, we make the largest drawing we can do, conserving the aspect 33 33 ; ration (except when REMPLI is activated). 34 34 ; -
trunk/SRC/ToBeReviewed/PLOTS/LABEL/label.pro
r479 r495 2 2 ; 3 3 ; @file_comments 4 ; Allows to choose the type of the label we want to use at the time of a 4 ; Allows to choose the type of the label we want to use at the time of a 5 5 ; contour. 6 6 ; -
trunk/SRC/ToBeReviewed/PLOTS/LABEL/label_date.pro.new
r39 r495 119 119 ; Added AM_PM and DAYS_OF_WEEK keywords, '%A' and '%W' codes. 120 120 ;- 121 122 121 123 122 ;-------------------------------------------------- LABEL_DATE_CONVERT_FORMAT … … 178 177 END 179 178 180 181 179 ;----------------------------------------------------------------- LABEL_DATE 182 180 FUNCTION LABEL_DATE, axisIn, indexIn, valueIn, levelIn, $ … … 193 191 ON_ERROR, 2 194 192 195 196 193 IF (N_PARAMS() LT 3) THEN $ ; use default for no inputs 197 194 IF NOT KEYWORD_SET(dateFormat) THEN dateFormat='' 198 199 195 200 196 ; process a new months vector? … … 207 203 if (N_ELEMENTS(months) EQ 12) then cMonths = months 208 204 209 210 205 ; process a new days_of_week vector? 211 206 ; if days_of_week is undefined, then make cDaysWeek undefined … … 217 212 if (N_ELEMENTS(days_of_week) EQ 7) then cDaysWeek = days_of_week 218 213 219 220 214 ; process a new AM_PM vector? 221 215 ; if AM_PM is undefined, then make cAmpm undefined … … 227 221 if (N_ELEMENTS(am_pm) EQ 2) then cAmpm = am_pm 228 222 229 230 223 ; process a new cOffset? 231 224 IF ARG_PRESENT(offs) THEN cOffset = 0 … … 234 227 IF (N_ELEMENTS(cOffset) EQ 0) THEN cOffset = 0d 235 228 236 237 229 ; process a new cRoundup? 238 230 IF (N_ELEMENTS(round_up) GT 0) THEN cRoundup = KEYWORD_SET(round_up) 239 240 231 241 232 ; process a new date_format string? … … 248 239 IF (N_ELEMENTS(cFormatArray) EQ 0) THEN cFormatArray = '(C())' 249 240 250 251 241 IF (N_PARAMS() LT 3) THEN RETURN, 0 252 253 242 254 243 ;------------------------------------------------------ Process an axis value … … 257 246 time = value1 - date ; Julian time 258 247 259 260 248 IF (N_ELEMENTS(levelIn) LT 1) THEN levelIn = 0 261 249 nFormat = N_ELEMENTS(cFormatArray) 262 250 formatLevel = cFormatArray[levelIn MOD nFormat] ; repeat cyclically 263 264 251 265 252 ; Round subseconds to the desired precision … … 273 260 value1 = date + time 274 261 ENDIF 275 276 262 277 263 ; Round fractional time to the least significant format specified. … … 291 277 ENDIF 292 278 293 294 279 ; check for negative (B.C.E.) years 295 280 jan1_1ad = 1721424L ; Julian date for 1 Jan, 1 C.E. -
trunk/SRC/ToBeReviewed/PLOTS/LABEL/lataxe.pro
r369 r495 2 2 ; 3 3 ; @file_comments 4 ; function called by [XYZ]TICKFORMAT (see the help to see how to use it) to 4 ; function called by [XYZ]TICKFORMAT (see the help to see how to use it) to 5 5 ; label axes in latitude. 6 6 ; 7 7 ; @categories 8 8 ; Graphics 9 ; 10 ; @param AXIS 9 ; 10 ; @param AXIS 11 11 ; It is the axis number: 0 for X axis, 1 for Y axis, 2 for Z axis. 12 12 ; -
trunk/SRC/ToBeReviewed/PLOTS/LABEL/lonaxe.pro
r369 r495 2 2 ; 3 3 ; @file_comments 4 ; function called by [XYZ]TICKFORMAT (see the help to see how to use it) to 4 ; function called by [XYZ]TICKFORMAT (see the help to see how to use it) to 5 5 ; label axes in longitude. 6 6 ; 7 7 ; @categories 8 8 ; Graphics 9 ; 10 ; @param AXIS 9 ; 10 ; @param AXIS 11 11 ; It is the axis number: 0 for X axis, 1 for Y axis, 2 for Z axis. 12 12 ; -
trunk/SRC/ToBeReviewed/PLOTS/VECTEUR/ajoutvect.pro
r490 r495 135 135 ; We recuperate the complete grid to establish a big mask extensive 136 136 ; in the four directions to cover points for which a land point has 137 ; been considerate d(do a small drawing)137 ; been considerate (do a small drawing) 138 138 ;---------------------------------------------------------------------------- 139 139 vargrid='T' … … 141 141 mskv = (vmask())[indice2d+jpi*jpj*firstzt] 142 142 IF keyword_set(cont_nofill) THEN BEGIN ; make sure msku/v contains only 1 143 msku = finite(msku) 144 mskv = finite(msku) 143 msku = finite(msku) 144 mskv = finite(msku) 145 145 ENDIF 146 146 glam = glamt[indice2d] … … 246 246 ELSE vectlegende = {minmax:[mini, maxi], unite:varunit} 247 247 248 249 248 sortie: 250 249 if keyword_set(key_performance) NE 0 THEN print, 'temps ajoutvect', systime(1)-tempsun -
trunk/SRC/ToBeReviewed/PLOTS/VECTEUR/vecteur.pro
r493 r495 5 5 ; @categories 6 6 ; 7 ; @param angle 7 ; @param angle 8 8 ; 9 9 ; @returns … … 24 24 ; by rapport at the x axis and which must do 1 cm on the drawing. 25 25 ; Angle can be an array. 26 ;27 ;28 26 ; 29 27 compile_opt idl2, strictarrsubs … … 72 70 ; 73 71 ; normalize the vector 74 ;75 72 ; 76 73 compile_opt idl2, strictarrsubs … … 191 188 @common 192 189 tempsun = systime(1) ; For key_performance 193 ;194 190 ; 195 191 taille = size(composanteu) … … 253 249 ; determine on the drawing. 254 250 ; 255 ;256 251 ; Stage 1, a) 257 ;258 252 ; 259 253 ; coordinates of the point T (beginning of the arrow) in spherical coordinates. … … 377 371 if ind[0] NE -1 then glam[ind] = glam[ind]-360. 378 372 ; 379 ;380 373 ; Stage 1, e) 381 374 ; … … 405 398 ; 406 399 points = where(msk EQ 1) 407 IF points[0] NE -1 THEN BEGIN 400 IF points[0] NE -1 THEN BEGIN 408 401 409 402 x0 = x0[points] & x1 = x1[points] … … 448 441 ; define colors before norme is changed... 449 442 IF NOT KEYWORD_SET(vectcolor) THEN vectcolor = 0 450 IF keyword_set(vectnormcolor) THEN BEGIN 443 IF keyword_set(vectnormcolor) THEN BEGIN 451 444 mp = projsegment([vectnormcolor], [1, 254], /mp) 452 445 colors = byte(round(mp[0] * norme + mp[1] )) … … 500 493 endif 501 494 ; 502 ;503 504 495 if keyword_set(key_performance) NE 0 THEN print, 'temps vecteur', systime(1)-tempsun 505 496 ;------------------------------------------------------------ … … 507 498 return 508 499 END 509 510 511 512 -
trunk/SRC/ToBeReviewed/PLOTS/axe.pro
r493 r495 2 2 ; 3 3 ; @file_comments 4 ; Manage axes for the different drawings created by 4 ; Manage axes for the different drawings created by 5 5 ; <pro>plt</pro>, <pro>pltz</pro> and <pro>pltt</pro> 6 6 ; -
trunk/SRC/ToBeReviewed/PLOTS/legende.pro
r493 r495 20 20 ; whose we have the colored drawing (by example E-P in color and QSR in contours). 21 21 ; 22 ; It must be a field respecting same characteristics than the argument number 22 ; It must be a field respecting same characteristics than the argument number 23 23 ; one of plt. 24 24 ; … … 33 33 ; 34 34 ; @restrictions 35 ; The use of the global variable language allows to change the language and 35 ; The use of the global variable language allows to change the language and 36 36 ; the caption easily. 37 37 ; … … 91 91 vertz = type_yz 92 92 legniv = ' '+type_yz 93 ENDIF ELSE BEGIN 93 ENDIF ELSE BEGIN 94 94 vertz = depthf2 95 95 legniv = ' m' 96 ENDELSE 96 ENDELSE 97 97 ; 98 98 ; Start legende -
trunk/SRC/ToBeReviewed/PLOTS/reinitplt.pro
r369 r495 142 142 return 143 143 end 144 145 146 147 148 149 -
trunk/SRC/ToBeReviewed/PLOTS/style.pro
r493 r495 53 53 ; before and after the threshold value and a bold solid line for the 54 54 ; value itself, a more general definition can be given with a scalar 55 ; string with the following structure: 'xxNN...NNyy' with 56 ; xx and yy corresponding to one the following choices (with the 55 ; string with the following structure: 'xxNN...NNyy' with 56 ; xx and yy corresponding to one the following choices (with the 57 57 ; corresponding meaning) 58 58 ; so -> Solid … … 62 62 ; ld -> Long Dashes 63 63 ; and NN...NN any kind of number that will define the threshold value. 64 ; for example 'do-6.6so' will do dotted line until -6.6 and solid line after. 64 ; for example 'do-6.6so' will do dotted line until -6.6 and solid line after. 65 65 ; 66 66 ; @param LEVEL_Z2D {in}{required} … … 69 69 ; @param LINESTYLE {out} 70 70 ; Used interbally by plt(z)(t) to define c_linestyle when calling pltbase. 71 ; Vector used to define the isocontour's style. 71 ; Vector used to define the isocontour's style. 72 72 ; 73 73 ; @param THICK {out} 74 74 ; Used interbally by plt(z)(t) to define c_thick when calling pltbase. 75 ; Vector used to define the isocontour's thickness. 75 ; Vector used to define the isocontour's thickness. 76 76 ; 77 77 ; @history … … 141 141 thresholdstyle, limit, 2, 0, level_z2d, linestyle, thick 142 142 END 143 ; Solid-Bold, solid-thin, dash Dot-thin, solid-thin, Solid-Bold... 143 ; Solid-Bold, solid-thin, dash Dot-thin, solid-thin, Solid-Bold... 144 144 3: begin 145 145 n = n_elements(level_z2d) … … 169 169 end 170 170 endcase 171 ENDELSE 172 171 ENDELSE 173 172 174 173 return -
trunk/SRC/ToBeReviewed/POSTSCRIPT/chcolps.pro
r327 r495 1 1 ;+ 2 2 ; 3 ; @file_comments 4 ; 3 ; @file_comments 4 ; 5 5 ; @categories 6 ; 6 ; 7 7 ; @param TABLE 8 ; 8 ; 9 9 ; @restrictions 10 ; 10 ; 11 11 ; @examples 12 12 ; 13 13 ; @history 14 ;15 14 ; 16 15 ; @version … … 35 34 for k=0,255 do z[k]='00'+strtrim(string(b[k], format = '(Z)'),2) 36 35 for k=0,255 do y[k]=y[k]+strmid(z[k],strlen(z[k])-2,2) 37 36 38 37 table = strlowcase(y) 39 38 … … 42 41 ;+ 43 42 ; 44 ; @file_comments 43 ; @file_comments 45 44 ; Build a bloc of colortable 46 ; 45 ; 47 46 ; @categories 48 ; 47 ; 49 48 ; @param TABLEOUT 50 ; 49 ; 51 50 ; @restrictions 52 ; 51 ; 53 52 ; @examples 54 53 ; 55 54 ; @history 56 ; 55 ; 57 56 ; @version 58 57 ; $Id$ … … 66 65 format_colortable_hexa, table 67 66 68 69 67 tableout = strarr(25) 70 68 71 69 tableout[0] = '/COLORTAB < ' 72 70 FOR k = 0, 8 DO tableout[0] = tableout[0]+table[k]+' ' 73 FOR i = 1, 22 DO BEGIN 71 FOR i = 1, 22 DO BEGIN 74 72 FOR k = 11*i-2, 11*i+8 DO tableout[i] = tableout[i]+table[k]+' ' 75 ENDFOR 73 ENDFOR 76 74 FOR k = 251, 255 DO tableout[i] = tableout[i]+table[k]+' ' 77 75 tableout[i] = tableout[i]+'> def' 78 76 79 77 END 80 78 ; 81 79 ;+ 82 80 ; 83 ; @file_comments 81 ; @file_comments 84 82 ; Modify colors of a postscript file 85 83 ; 86 84 ; @categories 87 ; 85 ; 88 86 ; @param N1 {in}{required} 89 87 ; Number of elements in the first dimension 90 ; 88 ; 91 89 ; @param N2 {in}{required} 92 90 ; Number of elements in the second dimension 93 ; 91 ; 94 92 ; @param FILE 95 ; A scalar of string type, the name of the ".pro" file to be tested 93 ; A scalar of string type, the name of the ".pro" file to be tested 96 94 ; if necessary, the input name is completed with '.pro' and its path 97 95 ; found in !path 98 96 ; 99 97 ; @keyword PALIT1 100 ; 98 ; 101 99 ; @keyword PALIT2 102 ; 100 ; 103 101 ; @restrictions 104 ; 102 ; 105 103 ; @examples 106 104 ; … … 128 126 filein = file 129 127 fileout = file+'.new' 130 128 131 129 openr, numin, filein, /get_lun 132 130 openw, numout, fileout, /get_lun … … 137 135 ; Scan le fichier 138 136 ; 139 WHILE NOT(eof(numin)) DO BEGIN 137 WHILE NOT(eof(numin)) DO BEGIN 140 138 readf, numin, ligne, format = '(A)' 141 139 nl = nl+1 … … 144 142 ; 145 143 pos = strpos(ligne, 'setrgbcolor') 146 IF pos NE -1 THEN BEGIN 144 IF pos NE -1 THEN BEGIN 147 145 r = round(float(strmid(ligne, pos-18, 6))*255) 148 146 g = round(float(strmid(ligne, pos-12, 6))*255) 149 b = round(float(strmid(ligne, pos-6, 6))*255) 147 b = round(float(strmid(ligne, pos-6, 6))*255) 150 148 ind = where(r EQ red AND g EQ green AND b EQ blue) 151 149 ind = ind[0] 152 IF ind[0] NE -1 THEN BEGIN 150 IF ind[0] NE -1 THEN BEGIN 153 151 r1 = red1[ind]/255. 154 152 g1 = green1[ind]/255. … … 169 167 color = string(r1, g1, b1, format = '(3(F5.3,:,X))') 170 168 strput, ligne, color, pos-18 171 ENDELSE 172 ENDIF 169 ENDELSE 170 ENDIF 173 171 ; 174 172 ; Replace COLORTAB 175 173 ; 176 174 pos = strpos(ligne, '/COLORTAB') 177 IF pos NE -1 THEN BEGIN 175 IF pos NE -1 THEN BEGIN 178 176 build_table, table 179 177 n = 0 180 178 colortab = 1 181 ENDIF 179 ENDIF 182 180 183 181 IF colortab THEN BEGIN … … 185 183 n = n+1 186 184 IF n EQ 24 THEN colortab = 0 187 ENDIF 185 ENDIF 188 186 ; 189 187 ; write output file 190 188 ; 191 189 printf, numout, ligne, format = '(A)' 192 ENDWHILE 190 ENDWHILE 193 191 close, numin 194 192 close, numout … … 198 196 spawn, 'gs '+fileout 199 197 200 END 198 END -
trunk/SRC/ToBeReviewed/POSTSCRIPT/ps.pro
r325 r495 2 2 ; 3 3 ; @file_comments 4 ; Redirect the content of the graphic window in a postscript, 4 ; Redirect the content of the graphic window in a postscript, 5 5 ; by redoing commands in the postscript's environment. 6 6 ; 7 7 ; @categories 8 8 ; utilities 9 ; 9 ; 10 10 ; @restrictions 11 ; We use journal which allows to stock commands we pass. 11 ; We use journal which allows to stock commands we pass. 12 12 ; 13 13 ; Can break down if some weird commands are passed... 14 14 ; Comment: we erase Syntax error, Illegal characters, compatible 15 ; with oups, text_box... 15 ; with oups, text_box... 16 16 ; 17 17 ; @history … … 85 85 path_cache, /rebuild 86 86 ; apply idlsave 87 @idlsave 87 @idlsave 88 88 ; We reopen the journal and we put in it all elements of vectjournal but the 2 first and the 3 last line. 89 89 journal, myuniquetmpdir+'idlsave.pro' -
trunk/SRC/ToBeReviewed/STATISTICS/a_correlate2d.pro
r327 r495 2 2 ; 3 3 ; @file_comments 4 ;5 4 ; 6 5 ; @categories … … 12 11 ; @param LAG {in}{required} 13 12 ; 2-element vector, in the intervals [-(nx-2), (nx-2)],[-(ny-2), (ny-2)], 14 ; of type integer that specifies the absolute distance(s) between 13 ; of type integer that specifies the absolute distance(s) between 15 14 ; indexed elements of X. 16 15 ; … … 60 59 ; @param LAG {in}{required} 61 60 ; 2-element vector, in the intervals [-(nx-2), (nx-2)],[-(ny-2), (ny-2)], 62 ; of type integer that specifies the absolute distance(s) between 61 ; of type integer that specifies the absolute distance(s) between 63 62 ; indexed elements of X. 64 63 ; … … 100 99 if n_elements(Lag) NE 2 THEN $ 101 100 ras = report("Lag array must contain 2 elements.") 102 101 103 102 ;If the DOUBLE keyword is not set then the internal precision and 104 103 ;result are identical to the type of input. … … 110 109 Auto_Cov2d(X, [0L, 0L], Double = Double, /zero2nan) 111 110 endif else begin ;Compute Autocovariance. 112 Auto = Auto_Cov2d(X, ABS(Lag), Double = Double) / n_elements(X) 111 Auto = Auto_Cov2d(X, ABS(Lag), Double = Double) / n_elements(X) 113 112 endelse 114 113 -
trunk/SRC/ToBeReviewed/STATISTICS/a_timecorrelate.pro
r493 r495 38 38 TimeDim = size(X, /n_dimensions) 39 39 Xmean = NAN ? TOTAL(X, TimeDim, Double = Double, NAN = nan) / TOTAL(FINITE(X), TimeDim) : $ 40 TOTAL(X, TimeDim, Double = Double) / nT 40 TOTAL(X, TimeDim, Double = Double) / nT 41 41 one = double ? 1.0d : 1.0 42 42 Xmean = Xmean[*]#replicate(one, nT - M) … … 83 83 ; @param LAG {in}{required}{type=scalar or vector} 84 84 ; A scalar or n-element vector, in the interval [-(n-2), (n-2)], 85 ; of type integer that specifies the absolute distance(s) between 85 ; of type integer that specifies the absolute distance(s) between 86 86 ; indexed elements of X. 87 87 ; … … 140 140 141 141 NAN = ( (WHERE(FINITE(X) EQ 0 ))[0] NE -1 ) ? 1 : 0 142 ;We can retrieve the matrix of real lengths of time-series 143 nTreal = ( (WHERE(FINITE(X) EQ 0 ))[0] NE -1 ) ? TOTAL(FINITE(X), XNDim) : nT 142 ;We can retrieve the matrix of real lengths of time-series 143 nTreal = ( (WHERE(FINITE(X) EQ 0 ))[0] NE -1 ) ? TOTAL(FINITE(X), XNDim) : nT 144 144 145 145 IF ARG_PRESENT(NVAL) THEN nval = nTreal … … 147 147 ;Check length. 148 148 IF (WHERE(nTreal GT 1))[0] EQ -1 THEN $ 149 MESSAGE, "Matrix of length of time-series must contain 2 or more elements" 149 MESSAGE, "Matrix of length of time-series must contain 2 or more elements" 150 150 151 151 ;If the DOUBLE keyword is not set then the internal precision and … … 177 177 2: BEGIN 178 178 Auto[*, k] = TimeAuto_Cov(X, ABS(Lag[k]), nT, Double = useDouble, NAN = nan) / $ 179 ( KEYWORD_SET(Covariance) ? nTreal : TimeAuto_Cov(X, 0L, nT, Double = useDouble, /zero2nan, NAN = nan) ) 179 ( KEYWORD_SET(Covariance) ? nTreal : TimeAuto_Cov(X, 0L, nT, Double = useDouble, /zero2nan, NAN = nan) ) 180 180 END 181 181 3: BEGIN -
trunk/SRC/ToBeReviewed/STATISTICS/skewness_4d.pro
r493 r495 2 2 ; 3 3 ; @file_comments 4 ; 4 ; 5 5 ; @categories 6 6 ; Statistics … … 28 28 29 29 compile_opt idl2, strictarrsubs 30 ; 30 ; 31 31 TimeDim = size(X, /n_dimensions) 32 32 Xmean = NAN ? TOTAL(X, TimeDim, Double = Double, NAN = nan) / TOTAL(FINITE(X), TimeDim) : $ 33 TOTAL(X, TimeDim, Double = Double) / nT 33 TOTAL(X, TimeDim, Double = Double) / nT 34 34 one = double ? 1.0d : 1.0 35 35 Xmean = Xmean[*]#replicate(one, nT) … … 42 42 ; @file_comments 43 43 ; Same function as SKEWNESS but accept array (until 4 44 ; dimension) for input and perform the skewness 44 ; dimension) for input and perform the skewness 45 45 ; along the time dimension which must be the last 46 46 ; one of the input array. … … 91 91 92 92 NAN = ( (WHERE(FINITE(X) EQ 0 ))[0] NE -1 ) ? 1 : 0 93 ;We can retrieve the matrix of real lengths of time-series 94 nTreal = ( (WHERE(FINITE(X) EQ 0 ))[0] NE -1 ) ? TOTAL(FINITE(X), XNDim) : nT 93 ;We can retrieve the matrix of real lengths of time-series 94 nTreal = ( (WHERE(FINITE(X) EQ 0 ))[0] NE -1 ) ? TOTAL(FINITE(X), XNDim) : nT 95 95 96 96 IF ARG_PRESENT(NVAL) THEN nval = nTreal … … 98 98 ; Check length. 99 99 IF (WHERE(nTreal LE 1))[0] NE -1 THEN $ 100 MESSAGE, "Matrix of length of time-series must contain 2 or more elements" 100 MESSAGE, "Matrix of length of time-series must contain 2 or more elements" 101 101 102 102 ; If the DOUBLE keyword is not set then the internal precision and … … 135 135 136 136 END 137 -
trunk/SRC/ToBeReviewed/STRING/chkeywd.pro
r372 r495 5 5 ; We change the value of one of keywords. 6 6 ; 7 ; More generally, in a string, we look for the character 7 ; More generally, in a string, we look for the character 8 8 ; chain: ', keywdname= ..., and we change the value of... 9 9 ; … … 51 51 ; Double-precision complex, Pointer, Object reference, Unsigned Integer, 52 52 ; Unsigned Longword Integer, 64-bit Integer or Unsigned 64-bit Integer. 53 ;54 53 ; 55 54 ; @examples -
trunk/SRC/ToBeReviewed/STRING/delchr.pro
r325 r495 3 3 ; @file_comments 4 4 ; Delete all occurrences of a character from a text string. 5 ; 5 ; 6 6 ; @categories 7 7 ; 8 8 ; @param OLD {in}{required} 9 9 ; original text string. 10 ; 10 ; 11 11 ; @param C {in}{required} 12 12 ; character to delete. … … 16 16 ; @returns 17 17 ; new = resulting string. 18 ; 18 ; 19 19 ; @history 20 20 ; R. Sterner. 5 Jul, 1988. … … 37 37 compile_opt idl2, strictarrsubs 38 38 ; 39 39 40 40 if (n_params(0) lt 2) or keyword_set(hlp) then begin 41 41 ras = report(['Delete all occurrences of a character from a text string.', $ … … 46 46 return, -1 47 47 endif 48 48 49 49 B = BYTE(OLD) ; convert string to a byte array. 50 50 CB = BYTE(C) ; convert char to byte. -
trunk/SRC/ToBeReviewed/STRING/getfile.pro
r374 r495 36 36 ; 37 37 ; search the file in the all !path directories (use <pro>find</pro>) 38 ; when using /find keyword. Use <proidl>SPAWN</proidl>, 'cat...' for 38 ; when using /find keyword. Use <proidl>SPAWN</proidl>, 'cat...' for 39 39 ; unix os. 40 40 ; -
trunk/SRC/ToBeReviewed/STRING/isnumber.pro
r493 r495 14 14 ; 15 15 ; @returns 16 ; x = optionally returned numeric value if valid. 17 ; i = test flag: 16 ; x = optionally returned numeric value if valid. 17 ; i = test flag: 18 18 ; 0: not a number. 19 19 ; 1: txt is a long integer. … … 21 21 ; -1: first word of txt is a long integer. 22 22 ; -2: first word of txt is a float. 23 ; 23 ; 24 24 ; @history 25 25 ; - R. Sterner. 15 Oct, 1986. Johns Hopkins Applied Physics Lab. … … 41 41 ; 42 42 compile_opt idl2, strictarrsubs 43 ; 43 ; 44 44 if (n_params(0) lt 1) or keyword_set(hlp) then begin 45 45 print,' Determine if a text string is a valid number.' … … 55 55 return, -1 56 56 endif 57 57 58 58 txt = strtrim(txt0,2) ; trim blanks. 59 59 x = 0 ; define X. 60 60 61 61 if txt eq '' then return, 0 ; null string not a number. 62 62 63 63 sn = 1 64 64 if nwrds(txt) gt 1 then begin ; get first word if more than one. … … 66 66 txt = getwrd(txt,0) 67 67 endif 68 68 69 69 f_flag = 0 ; Floating flag. 70 70 b = byte(txt) ; Convert to byte array. … … 102 102 ;----- Allow no alphabetic characters ----------- 103 103 if total((b ge 65) and (b le 122)) ne 0 then return, 0 104 104 105 105 c = strmid(t,0,1) 106 106 if (c lt '0') or (c gt '9') then return, 0 ; First char not a digit. 107 107 108 108 x = txt + 0.0 ; Convert to a float. 109 109 if f_flag eq 1 then return, 2*sn ; Was floating. … … 114 114 return, 2*sn 115 115 endelse 116 116 117 117 end -
trunk/SRC/ToBeReviewed/STRING/lenstr.pro
r493 r495 5 5 ; input: 6 6 ; str a single string or string array. 7 ; 7 ; 8 8 ; output: 9 9 ; result length of the string(s) in normalized units 10 ; the number of elements of RESULT matches the number of 11 ; elements of STRING. 10 ; the number of elements of RESULT matches the number of 11 ; elements of STRING. 12 12 ; 13 13 ; procedure: … … 25 25 ; University of California, Santa Barbara 26 26 ; 27 ; @todo seb 27 ; @todo seb 28 28 ; 29 29 ;- -
trunk/SRC/ToBeReviewed/STRING/nwrds.pro
r372 r495 3 3 ; @file_comments 4 4 ; Return the number of words in the given text string. 5 ; 5 ; 6 6 ; @categories 7 7 ; … … 11 11 ; @keyword DELIMITER 12 12 ; = d. Set delimiter character (def = space). 13 ; 13 ; 14 14 ; @keyword HELP 15 15 ; 16 16 ; @returns 17 17 ; n = number of words found. 18 ; 18 ; 19 19 ; @restrictions 20 20 ; See also <pro>getwrd</pro> 21 ; 21 ; 22 22 ; @history 23 23 ; - R. Sterner, 7 Feb, 1985. Johns Hopkins University Applied Physics Laboratory. … … 38 38 compile_opt idl2, strictarrsubs 39 39 ; 40 40 41 41 if (n_params(0) lt 1) or keyword_set(hlp) then begin 42 42 print,' Return the number of words in the given text string.' … … 49 49 return, -1 50 50 endif 51 51 52 52 if strlen(txtstr) eq 0 then return,0 ; A null string has 0 words. 53 53 ddel = ' ' ; Default word delimiter is a space. … … 61 61 x = tb ne tst ; Locate words. 62 62 x = [0,x,0] ; Pad ends with delimiters. 63 63 64 64 y = (x-shift(x,1)) eq 1 ; Look for word beginnings. 65 65 66 66 n = fix(total(y)) ; Count word beginnings. 67 67 68 68 return, n 69 69 70 70 end -
trunk/SRC/ToBeReviewed/STRING/putfile.pro
r374 r495 3 3 ; @file_comments 4 4 ; Write a text file from a string array. 5 ; 5 ; 6 6 ; @categories 7 7 ; … … 14 14 ; @keyword ERROR 15 15 ; error flag: 0=ok, 1=invalid string array. 16 ; 16 ; 17 17 ; @history 18 18 ; - R. Sterner, 20 Mar, 1990 … … 33 33 compile_opt idl2, strictarrsubs 34 34 ; 35 35 36 36 if (n_params(0) lt 1) or keyword_set(hlp) then begin 37 37 print,' Write a text file from a string array.' … … 48 48 return 49 49 endif 50 ; 50 ; 51 51 if size(s, /type) ne 7 then begin 52 52 print,' Error in putfile: argument must be a string array.' … … 54 54 return 55 55 endif 56 56 57 57 get_lun, lun 58 58 openw, lun, file 59 59 60 60 for i = 0, n_elements(s)-1 do begin 61 61 t = s[i] … … 63 63 printf, lun, t 64 64 endfor 65 65 66 66 close, lun 67 67 free_lun, lun 68 68 err = 0 69 69 return 70 70 71 71 end -
trunk/SRC/ToBeReviewed/STRING/string2struct.pro
r374 r495 39 39 ; 40 40 ; @param STRVAL {IN}{REQUIRED} 41 ; String set up as keywords. Keywords require a little special treatment. 41 ; String set up as keywords. Keywords require a little special treatment. 42 42 ; Such as 43 43 ; -
trunk/SRC/ToBeReviewed/STRING/strkeywd.pro
r372 r495 2 2 ; 3 3 ; @file_comments 4 ; Translate a structure in a string able to be used to specify keywords 4 ; Translate a structure in a string able to be used to specify keywords 5 5 ; in the calling of a function when we use EXECUTE (see example) 6 6 ; 7 ; @categories 8 ; 7 ; @categories 8 ; 9 9 ; @param STRUCT 10 10 ; a structure … … 12 12 ; @returns 13 13 ; a string composed like following: 14 ; For each element of the structure, we write a part of the string as: 14 ; For each element of the structure, we write a part of the string as: 15 15 ; 'name_of_the_element=content_of_the_element' 16 16 ; 17 17 ; @restrictions 18 ; If an element of the structure contain an array, it will be convert in a 18 ; If an element of the structure contain an array, it will be convert in a 19 19 ; vector. 20 20 ; 21 21 ; @restrictions 22 ; Beware, this function has loops, ifs and cases everywhere. So it can 23 ; not be used by big keywords (with a lot of elements which are big 24 ; arrays). The input keyword must not contain Complex floatings, structure, 25 ; Double-precision complex, Pointer, Object reference, Unsigned Integer, 22 ; Beware, this function has loops, ifs and cases everywhere. So it can 23 ; not be used by big keywords (with a lot of elements which are big 24 ; arrays). The input keyword must not contain Complex floatings, structure, 25 ; Double-precision complex, Pointer, Object reference, Unsigned Integer, 26 26 ; Unsigned Longword Integer, 64-bit Integer or Unsigned 64-bit Integer. 27 27 ; -
trunk/SRC/ToBeReviewed/STRING/strright.pro
r374 r495 6 6 ; @categories 7 7 ; String 8 ; 8 ; 9 9 ; @param S {in}{required} 10 10 ; the string to be searched … … 20 20 ; 21 21 ; @examples 22 ; 22 ; 23 23 ; add a "/" in to path if it "/" is not at the end : 24 24 ; … … 48 48 compile_opt idl2, strictarrsubs 49 49 ; 50 50 51 51 on_error,2 ; return to caller 52 52 53 53 if (n_elements(s) le 0) then return,-1L 54 54 55 55 l = strlen(s) 56 56 57 57 if (n_elements(lastn) le 0) then lastn = 1 58 58 if lastn gt l then lastn = l 59 59 60 60 result = strmid(s,l-lastn,l) 61 61 62 62 return,result 63 63 end -
trunk/SRC/ToBeReviewed/STRING/strsci.pro
r374 r495 15 15 ; The format specification used in the string 16 16 ; conversion for the mantissa (i.e. the 17 ; "A" of "A x 10^B"). 17 ; "A" of "A x 10^B"). 18 18 ; 19 19 ; @keyword POT_ONLY … … 41 41 ; 42 42 ; IDL> Result = STRSCI( 2000000, format='(i1)' ) 43 ; IDL> print, result 43 ; IDL> print, result 44 44 ; 2 x 10!u6!n 45 ; 46 ; which gets plotted as 2 x 10 47 ; 45 ; 46 ; which gets plotted as 2 x 10 47 ; 48 48 ; IDL> Result = STRSCI( -0.0001 ) 49 49 ; IDL> print, result … … 55 55 ; IDL> print, result 56 56 ; 0.00000000 57 ;58 57 ; 59 58 ; @history … … 76 75 ; - now can handle DATA=0.0 correctly 77 76 ; - updated comments 78 ; mgs, 03 Jun 1999: 77 ; mgs, 03 Jun 1999: 79 78 ; - can now also handle values lt 1 ;-) 80 79 ; - and doesn't choke on arrays … … 83 82 ; $Id$ 84 83 ; 85 ; Copyright (C) 1998, 1999 Bob Yantosca and Martin Schultz, 84 ; Copyright (C) 1998, 1999 Bob Yantosca and Martin Schultz, 86 85 ; Harvard University 87 86 ; This software is provided as is without any warranty … … 125 124 ;==================================================================== 126 125 if ( Abs( Data[i] ) ne 0.0 ) then begin 127 126 128 127 ; take the common log and store in LOG10DATA 129 Log10Data = ALog10( Abs( Data[i] ) ) 130 128 Log10Data = ALog10( Abs( Data[i] ) ) 129 131 130 ; Boolean flag if data < 0 132 sign = ( Data[i] lt 0.0 ) 133 131 sign = ( Data[i] lt 0.0 ) 132 134 133 ; Compute the characteristic (int part) 135 134 ; Add the 1d-6 to prevent roundoff errors 136 135 Characteristic = Fix( Log10Data + 1.0d-6 ) 137 136 if (Log10Data lt 0) then $ 138 Characteristic = Characteristic - 1 139 137 Characteristic = Characteristic - 1 138 140 139 ; Compute the Mantissa (frac part) and take its antilog. 141 Mantissa = Log10Data - Characteristic 140 Mantissa = Log10Data - Characteristic 142 141 Mantissa = 10.0^Mantissa 143 142 144 143 ; print,data[i],log10data,mantissa,characteristic,format='(3f24.14,i8)' 145 146 ; String for the coefficient part, 144 145 ; String for the coefficient part, 147 146 ; The coefficient is just antilog of the Mantissa 148 147 ; Add the minus sign if DATA < 0.0 149 148 A = StrTrim( String( Mantissa, Format=Format ), 2 ) 150 149 if ( Sign ) then A = '-' + A 151 150 152 151 ; String for the power of 10 part 153 152 B = '10!u' + strtrim( string( Characteristic ), 2 ) + '!n' … … 156 155 if ( Characteristic eq 1 ) then B = '10' 157 156 endif 158 157 159 158 ; composite string 160 159 Result[i] = A + ' x ' + B 161 160 if ( Short AND B eq '1') then Result[i] = A 162 163 161 164 162 ;==================================================================== 165 163 ; If DATA = 0, then we cannot take the common log, so return … … 170 168 B = A 171 169 Result[i] = A 172 170 173 171 endelse 174 172 175 173 ;==================================================================== 176 174 ; Return result to calling program (depending on keyword settings) … … 183 181 if ( Trim ) then $ 184 182 Result[i] = StrCompress( Result[i], /Remove_All ) 185 183 186 184 endfor 187 185 188 186 if (n_elements(Result) eq 1) then $ 189 187 Result = Result[0] 190 188 191 189 return, Result 192 190 -
trunk/SRC/ToBeReviewed/STRING/strsed.pro
r372 r495 1 1 ;+ 2 2 ; 3 ; @file_comments 3 ; @file_comments 4 4 ; replace one (or more) character(s)/string(s) in a string array 5 5 ; "modern" version of the obsolete strrepl … … 18 18 ; 19 19 ; @keyword FOLD_CASE 20 ; Indicates that the regular expression matching should be done in 20 ; Indicates that the regular expression matching should be done in 21 21 ; a case-insensitive fashion. 22 22 ; … … 54 54 strout[line[i]] = strjoin(strsplit(strout[line[i]], exp1, /extract $ 55 55 , /regex, /preserve_null, FOLD_CASE = fold_case), exp2) 56 ENDIF 56 ENDIF 57 57 ; 58 58 return, strout -
trunk/SRC/ToBeReviewed/STRING/tostr.pro
r372 r495 4 4 ; Convert an input in a string. 5 5 ; 6 ; @categories 6 ; @categories 7 7 ; String 8 8 ; … … 21 21 ; 22 22 ; @restrictions 23 ; Beware, this function has loops, ifs and cases everywhere. So it can 24 ; not be used by big keywords (with a lot of elements which are big 23 ; Beware, this function has loops, ifs and cases everywhere. So it can 24 ; not be used by big keywords (with a lot of elements which are big 25 25 ; arrays). 26 ; 26 ; 27 27 ; @examples 28 28 ; IDL> help, tostr(1),tostr('a'),tostr(indgen(4)),tostr(['a','jkfjo']) … … 48 48 49 49 case 1 of 50 size(input, /type) LE 5:BEGIN 50 size(input, /type) LE 5:BEGIN 51 51 if size(input, /type) EQ 1 then input = long(input) 52 52 if n_elements(input) EQ 1 then res = strtrim(input, 1) $ 53 ELSE BEGIN 53 ELSE BEGIN 54 54 res = '['+strtrim((input)[0], 1) 55 55 for i = 1, n_elements(input)-1 do res = res+','+strtrim((input)[i], 1) 56 56 res = res+']' 57 ENDELSE 57 ENDELSE 58 58 END 59 size(input, /type) eq 7:BEGIN 59 size(input, /type) eq 7:BEGIN 60 60 if n_elements(input) EQ 1 then BEGIN 61 61 sinput = strrepl(input, '''', '''''') 62 62 res = ''''+sinput+'''' 63 ENDIF ELSE BEGIN 63 ENDIF ELSE BEGIN 64 64 res = '['''+strrepl(input[0], '''', '''''')+'''' 65 65 for i = 1, n_elements(input)-1 do res = res+','''+strrepl(input[i], '''', '''''')+'''' 66 66 res = res+']' 67 ENDELSE 67 ENDELSE 68 68 END 69 ELSE:BEGIN 69 ELSE:BEGIN 70 70 ras = report('la fonction tostr ne marche pas pour input qui est de type '+size(input, /tname)) 71 71 res = '' -
trunk/SRC/ToBeReviewed/STRUCTURE/chkstru.pro
r375 r495 12 12 ; 13 13 ; @param FIELDS {in}{required}{type=string} 14 ; A string or string array with field names to 14 ; A string or string array with field names to 15 15 ; be contained in STRUCTURE. 16 16 ; … … 21 21 ; @keyword INDEX {type=string} 22 22 ; A named variable that will contain the indices of 23 ; the required field names in the structure. 23 ; the required field names in the structure. 24 24 ; 25 ; They can then be assessed through structure.(index[i]). 25 ; They can then be assessed through structure.(index[i]). 26 26 ; 27 27 ; Index will contain -1 for all fields entries that are not in the structure. … … 31 31 ; 32 32 ; @keyword EXTRACT 33 ; set this keyword to extract a field from the structure. 33 ; set this keyword to extract a field from the structure. 34 34 ; -1 is return if field or structure are incorrect. 35 35 ; … … 50 50 ; - mgs, 02 Mar 1998: VERSION 1.00 51 51 ; - mgs, 07 Apr 1998: - second parameter (FIELDS) now optional 52 ; - 12 Jan 2001: EXTRACT keyword by S. Masson (smasson\@lodyc.jussieu.fr) 52 ; - 12 Jan 2001: EXTRACT keyword by S. Masson (smasson\@lodyc.jussieu.fr) 53 53 ; 54 54 ; @version … … 71 71 compile_opt idl2, strictarrsubs 72 72 ; 73 74 75 73 ; default index 76 74 index = -1 77 75 78 76 ; first check number of parameters (must be at least 1) 79 77 if (n_params() lt 1) then begin 80 78 if(keyword_set(verbose)) then $ 81 79 ras = report('CHKSTRU: ** invalid number of parameters ! **') 82 if keyword_set(extract) THEN return,-1 ELSE return,0 80 if keyword_set(extract) THEN return,-1 ELSE return,0 83 81 endif 84 85 82 86 83 ; check if the user really passed a structure 87 84 88 85 s = size(structure) 89 86 if (s[1+s[0]] ne 8) then begin 90 87 if(keyword_set(verbose)) then $ 91 88 ras = report('CHKSTRU: ** No structure passed ! **') 92 if keyword_set(extract) THEN return,-1 ELSE return,0 89 if keyword_set(extract) THEN return,-1 ELSE return,0 93 90 endif 94 91 95 92 ; only one parameter: then we are finished 96 93 if (n_params() eq 1) then return,1 97 94 98 99 100 95 ; see if required field names are contained in the structure 101 96 ; and return indices of these fields 102 97 103 98 names = tag_names(structure) 104 99 index = intarr(n_elements(fields)) - 1 ; default index to 'not found' … … 111 106 endif else index[i] = ind[0] 112 107 endfor 113 114 108 115 109 ; check minimum value of index field: -1 indicates error 116 110 if keyword_set(extract) then BEGIN 117 111 if index[0] NE -1 THEN return, structure.(index[0]) ELSE return, -1 118 112 ENDIF ELSE return,(min(index) ge 0) 119 113 120 114 end 121 -
trunk/SRC/ToBeReviewed/STRUCTURE/mixstru.pro
r375 r495 2 2 ; 3 3 ; @file_comments 4 ; Concatenate 2 structures together. 4 ; Concatenate 2 structures together. 5 5 ; 6 6 ; The difference with <proidl>CREATE_STRUCT</proidl> 7 ; is that if the 2 structures have same elements's name, then mixstru 8 ; do not break down but choose for the common element the value 7 ; is that if the 2 structures have same elements's name, then mixstru 8 ; do not break down but choose for the common element the value 9 9 ; specified by the first structure. 10 10 ; 11 11 ; @categories 12 12 ; Structure 13 ; 13 ; 14 14 ; @param STRU1 {in}{required} 15 ; Structure which can have same elements's name than 15 ; Structure which can have same elements's name than 16 16 ; STRU2 but with a different value. 17 17 ; 18 18 ; @param STRU2 {in}{required} 19 ; Structure which can have same elements's name than 19 ; Structure which can have same elements's name than 20 20 ; STRU1 but with a different value. 21 21 ; … … 27 27 ; 28 28 ; @examples 29 ; 29 ; 30 30 ; IDL> a=get_extra(/toto,ok=123) 31 31 ; IDL> b=get_extra(ok=111, year=1999, age_capitaine=35) … … 70 70 if size(stru2, /type) NE 8 then return, -1 71 71 tname = tag_names(stru2) 72 72 73 73 str = '' 74 74 FOR i = 0, n_tags(stru2)-1 DO str = str + tname[i]+' = stru2.(' + strtrim(i, 2)+ '), ' -
trunk/SRC/ToBeReviewed/STRUCTURE/where_tag.pro
r375 r495 8 8 ; 9 9 ; Like the <proidl>WHERE</proidl> function but for use with structures 10 ; 10 ; 11 11 ; @categories 12 12 ; Structure … … 17 17 ; @keyword TAG_NAME 18 18 ; Scalar string specifying Tag Name 19 ; 19 ; 20 20 ; @keyword TAG_NUMBER 21 21 ; Otherwise give the Tag Number 22 ; 22 ; 23 23 ; @keyword RANGE 24 24 ; [min,max] range to search for in STRUCT 25 ; 25 ; 26 26 ; @keyword VALUES 27 27 ; One or array of numbers to match for in STRUCT 28 ; 28 ; 29 29 ; @keyword ISELECT 30 30 ; Specifies indices to select only part of structure array, 31 31 ; (use it to recycle subscripts from previous searches). 32 ; 32 ; 33 33 ; @keyword NOPRINT 34 34 ; Suppress informational messages about nothing found. … … 37 37 ; Nfound {out} 38 38 ; # of occurrences found. 39 ; 39 ; 40 40 ; @restrictions 41 41 ; User *must* specify (1) TAG_NAME or TAG_NUMBER to search, and (2) … … 44 44 ; @examples 45 45 ; 46 ; Suppose STR is a structure with tags CAT_NO:indgen(10), and 46 ; Suppose STR is a structure with tags CAT_NO:indgen(10), and 47 47 ; NAME:strarr(10). Find the indices where STR.CAT_NO is between 3 and 5. 48 48 ; 49 ; IDL> print, WHERE_TAG( str, TAG_NAME = 'CAT_NO', VALUE = [3,4,5] ) 49 ; IDL> print, WHERE_TAG( str, TAG_NAME = 'CAT_NO', VALUE = [3,4,5] ) 50 50 ; or 51 ; IDL> print, WHERE_TAG( str, TAG_NUM = 0, RANGE = [3,5]) 51 ; IDL> print, WHERE_TAG( str, TAG_NUM = 0, RANGE = [3,5]) 52 52 ; 53 53 ; @history … … 57 57 ; @version 58 58 ; $Id$ 59 ; 59 ; 60 60 ;- 61 61 FUNCTION where_tag, Struct, Nfound, TAG_NAME=tag_name, $ … … 99 99 endif 100 100 101 if N_elements( ipart ) GT 0 then begin ;check if any searching 101 if N_elements( ipart ) GT 0 then begin ;check if any searching 102 102 ;on a subset of input. 103 103 w = where( ipart GE 0, nf ) -
trunk/SRC/ToBeReviewed/TRIANGULATION/ciseauxtri.pro
r370 r495 212 212 endif 213 213 ; 214 ;215 214 if keyword_set(key_performance) THEN print, 'temps ciseauxtri', systime(1)-tempsun 216 215 ; -
trunk/SRC/ToBeReviewed/TRIANGULATION/completecointerre.pro
r370 r495 150 150 print, 'temps completecointerre: positions des points', systime(1)-tempdeux 151 151 ; 152 ;153 152 ; Case land corner in ascent: 154 153 ; 2 land points in diagonal ascending with 2 ocean points on the descendant diagonal. … … 164 163 ; \ | 165 164 ; t(i)=0 2 u(i) t(i+1)=1 166 ;167 165 ; 168 166 if coinmont[0] NE -1 then BEGIN -
trunk/SRC/ToBeReviewed/TRIANGULATION/drawcoast_c.pro
r327 r495 1 1 ;+ 2 2 ; @file_comments 3 ;4 3 ; 5 4 ; @categories -
trunk/SRC/ToBeReviewed/TRIANGULATION/drawsectionbottom.pro
r370 r495 38 38 ; 39 39 ; @todo 40 ; Seb: defin irparams40 ; Seb: define params 41 41 ; 42 42 ;- -
trunk/SRC/ToBeReviewed/TRIANGULATION/fillcornermask.pro
r370 r495 50 50 ny = n_elements(y1) 51 51 ; 52 ;53 ;54 52 ; Case land corner in ascent: 55 53 ; 2 land points in diagonal ascending with 2 ocean points on the descendant diagonal. … … 65 63 ; \ | 66 64 ; t(i)=0 2 u(i) t(i+1)=1 67 ;68 65 ; 69 66 if keyword_set(coinmonte) then BEGIN -
trunk/SRC/ToBeReviewed/TRIANGULATION/section.pro
r393 r495 1 1 ;+ 2 2 ; @file_comments 3 ;4 3 ; 5 4 ; @categories -
trunk/SRC/ToBeReviewed/TRIANGULATION/tracecote.pro
r493 r495 60 60 ; 61 61 if key_gridtype EQ 'e' then onemore = xf[0, 0] gT xf[0, 1] 62 ; We pass in normalized coordinates to be able to become independ ant from the projection's62 ; We pass in normalized coordinates to be able to become independent from the projection's 63 63 ; type chosen and from the support on which we do the drawing (screen or postscript) 64 64 z = convert_coord(xf[*],yf[*],/data,/to_normal) -
trunk/SRC/ToBeReviewed/TRIANGULATION/tracemask.pro
r493 r495 150 150 endif 151 151 ; 152 ;153 152 if keyword_set(key_performance) THEN print, 'temps tracemask', systime(1)-tempsun 154 153 155 154 return 156 155 end 157 158 159 160 161 -
trunk/SRC/ToBeReviewed/TRIANGULATION/triangule.pro
r327 r495 2 2 ; @file_comments 3 3 ; 4 ;5 4 ; @categories 6 ;7 5 ; 8 6 ; @param MASKENTREE {in}{optional}{type=2d array} -
trunk/SRC/ToBeReviewed/TRIANGULATION/triangule_c.pro
r370 r495 71 71 ; @todo 72 72 ; seb L.267->268 je ne pense pas que ce soit ce que tu voulais dire mais 73 ; c'est la traduction de ce qu'il y avait écrit. Correction si besoin.73 ; c'est la traduction de ce qu'il y avait écrit. Correction si besoin. 74 74 ; 75 75 ;- … … 111 111 ; We construct the test which allow to find this triangle : 112 112 ; 113 ;114 113 ; shift(msk, 0, -1)------------shift(msk, -1, -1) 115 114 ; | | … … 121 120 sum1 = msk+shift(msk, -1, 0)+shift(msk, -1, -1) ;points which surround the left top point. 122 121 sum2 = msk+shift(msk, 0, -1)+shift(msk, -1, -1) ;points which surround the right bottom point. 123 124 122 125 123 tempdeux = systime(1) ; For key_performance =2 … … 206 204 ; We delete land points which only contain land points. 207 205 ;------------------------------------------------------------ 208 ;209 206 ; 210 207 if (NOT keyword_set(basic)) AND (NOT keyword_set(keep_cont)) then begin -
trunk/SRC/ToBeReviewed/TRIANGULATION/triangule_e.pro
r370 r495 8 8 ; 9 9 ; @param maskentree {in}{optional}{type=2d array} 10 ; It is a 2d array which will serve to mask the field we will trace after 10 ; It is a 2d array which will serve to mask the field we will trace after 11 11 ; with CONTOUR, ...TRIANGULATION=triangule(mask) 12 12 ; If this argument is not specified, the function use tmask 13 13 ; 14 14 ; @keyword BASIC 15 ; Specify that the mask is on a basic grid (use the triangulation for vertical 15 ; Specify that the mask is on a basic grid (use the triangulation for vertical 16 16 ; cuts and hovmoellers) 17 17 ; 18 18 ; @keyword COINMONTE {type=array} 19 19 ; To obtain the array of "ascending land corner" to be treated with 20 ; <pro>completecointerre</pro> in the variable array instead of make it pass 20 ; <pro>completecointerre</pro> in the variable array instead of make it pass 21 21 ; by the global variable twin_corners_up. 22 22 ; … … 38 38 ; @todo 39 39 ; seb L.152->153 je ne pense pas que ce soit ce que tu voulais dire mais 40 ; c'est la traduction de ce qu'il y avait écrit. Correction si besoin.40 ; c'est la traduction de ce qu'il y avait écrit. Correction si besoin. 41 41 ; 42 42 ;- … … 194 194 ;------------------------------------------------------------ 195 195 196 197 196 IF keyword_set(key_performance) THEN print, 'temps triangule', systime(1)-tempsun 198 197 -
trunk/SRC/ToBeReviewed/UTILITAIRE/get_extra.pro
r327 r495 14 14 ; tu fais 15 15 16 17 16 ; extra=get_extra(/ok, year=1999, age_capitaine=35 ) 18 17 … … 25 24 ;+ 26 25 ; 27 ; @todo 26 ; @todo 28 27 ; seb 29 28 ; … … 34 33 ; 35 34 return, extra 36 END 35 END -
trunk/SRC/ToBeReviewed/UTILITAIRE/oups.pro
r325 r495 3 3 ; @file_comments 4 4 ; Kind of UNDO: 5 ; Allows to redo all the chain of drawing since the opening of the last window 6 ; without reexecute the last order 5 ; Allows to redo all the chain of drawing since the opening of the last window 6 ; without reexecute the last order 7 7 ; 8 8 ; Example: I do a drawing with 10 plot over it, if I make a -
trunk/SRC/ToBeReviewed/UTILITAIRE/vzoom.pro
r494 r495 61 61 IF strpos(vectjournal[i],',pos=' ) EQ -1 then $ 62 62 vectjournal[i] = vectjournal[i]+strmid(vectjournal[i+1], 1) & endfor 63 64 65 63 ; 66 64 ; we rewrite idlsave.pro -
trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/buildcmd.pro
r327 r495 15 15 ; 5 elements: The extraction is made on [Boxzoom[0:3], 0, Boxzoom[4]] 16 16 ; 6 elements: The extraction is made on Boxzoom 17 ; Where lon1, lon2,lat1,lat2 are global variables defined at the last 17 ; Where lon1, lon2,lat1,lat2 are global variables defined at the last 18 18 ; <pro>domdef</pro> ! 19 19 ; … … 86 86 drawover = (flags[where(options EQ 'Overlay')])[0] 87 87 ; 88 alreadyread = extractatt(top_uvalue, 'alreadyread')88 alreadyread = extractatt(top_uvalue, 'alreadyread') 89 89 alreadyvector = extractatt(top_uvalue, 'alreadyvector') 90 alreadyover = extractatt(top_uvalue, 'alreadyoer')90 alreadyover = extractatt(top_uvalue, 'alreadyover') 91 91 ; What must we read ? 92 92 case 1 of … … 414 414 return, Cmd 415 415 end 416 417 -
trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/buildreadcmd.pro
r493 r495 18 18 ; 5 elements: The extraction is made on [Boxzoom[0:3], 0, Boxzoom[4]] 19 19 ; 6 elements: The extraction is made on Boxzoom 20 ; Where lon1, lon2,lat1,lat2 are global variables defined at the last 20 ; Where lon1, lon2,lat1,lat2 are global variables defined at the last 21 21 ; <pro>domdef</pro> ! 22 22 ; … … 40 40 FUNCTION buildreadcmd, base, snameexp, procedure, type, BOXZOOM=boxzoom $ 41 41 , COMPLETE=complete, NAMEFIELD=namefield 42 ;43 42 ; 44 43 compile_opt idl2, strictarrsubs -
trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/changefield.pro
r327 r495 18 18 ; 5 elements: The extraction is made on [Boxzoom[0:3], 0, Boxzoom[4]] 19 19 ; 6 elements: The extraction is made on Boxzoom 20 ; Where lon1, lon2,lat1,lat2 are global variables defined at the last 20 ; Where lon1, lon2,lat1,lat2 are global variables defined at the last 21 21 ; <pro>domdef</pro> ! 22 22 ; -
trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/changefile.pro
r327 r495 18 18 ; 5 elements: The extraction is made on [Boxzoom[0:3], 0, Boxzoom[4]] 19 19 ; 6 elements: The extraction is made on Boxzoom 20 ; Where lon1, lon2,lat1,lat2 are global variables defined at the last 20 ; Where lon1, lon2,lat1,lat2 are global variables defined at the last 21 21 ; <pro>domdef</pro> ! 22 22 ; … … 46 46 PRO changefile, base, newfilename, BOXZOOM=boxzoom $ 47 47 , DATE1=date1, DATE2=date2, FIELDNAME=fieldname 48 ;49 48 ; 50 49 compile_opt idl2, strictarrsubs -
trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/letsdraw.pro
r479 r495 52 52 ; help,mixstru(top_uvalue.exextra,top_uvalue.extra), /struct 53 53 ; 54 ;55 54 ; we recuperate the id of the graphic associated to the widget of id base. 56 55 graphid = extractatt(top_uvalue, 'graphid') … … 63 62 ; 64 63 tracecadre, smallout, /fill 65 ;66 64 ; 67 65 options = extractatt(top_uvalue, 'options') -
trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/read_vermair.pro
r327 r495 24 24 ; 5 elements: The extraction is made on [Boxzoom[0:3], 0, Boxzoom[4]] 25 25 ; 6 elements: The extraction is made on Boxzoom 26 ; Where lon1, lon2,lat1,lat2 are global variables defined at the last 26 ; Where lon1, lon2,lat1,lat2 are global variables defined at the last 27 27 ; <pro>domdef</pro> ! 28 28 ; … … 58 58 res = lec(name,debut,nomexp, BOXZOOM=boxzoom, _EXTRA = ex) 59 59 ENDIF ELSE res = lect(name,debut,fin, nomexp, BOXZOOM=boxzoom, _EXTRA = ex) 60 ;------------------------------------------------------------ 60 ;------------------------------------------------------------ 61 61 return, {tab:res, grille:vargrid, unite:'', experience:varexp, nom:varname} 62 62 end -
trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/scanfile.pro
r423 r495 11 11 ; 12 12 ; @keyword _EXTRA 13 ; Used to pass keywords to <pro>isafile</pro>, 13 ; Used to pass keywords to <pro>isafile</pro>, 14 14 ; <pro>ncdf_getaxis</pro> and <pro>ncdf_gettime</pro> 15 15 ; … … 47 47 ; qu''une dimension et etant la dimension temporelle. cette 48 48 ; variable sera prise comme axe des temps. Rq: si plusieurs 49 ; variables v erifient ces criteres on considere la premiere49 ; variables vérifient ces criteres on considere la premiere 50 50 ; variable 51 51 ; 5) Cette variable axe des temps doit contenir l''attribut … … 59 59 ; je crois que c''est tout! 60 60 ; 61 ; GRID='[UTVWF]' to specify the type of grid. Defau t is (1)61 ; GRID='[UTVWF]' to specify the type of grid. Default is (1) 62 62 ; based on the name of the file if the file ends by 63 63 ; GRID[._][TUVFW].NC (not case sensible) or (2) T if case (1) 64 64 ; is not found. 65 ;66 65 ; 67 66 compile_opt idl2, strictarrsubs … … 157 156 jpt = abs(time) 158 157 fakecal = 1 159 ENDIF ELSE jpt = n_elements(time) 158 ENDIF ELSE jpt = n_elements(time) 160 159 ; high frequency calendar: more than one element per day 161 160 IF max(histogram([long(time-time[0])])) GT 1 THEN fakecal = 1 ELSE fakecal = 0 -
trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/selectfile.pro
r327 r495 177 177 ; @param DATAFILENAME 178 178 ; 179 ;180 179 ; @param IDLFILE 181 ;182 180 ; 183 181 ; @param ARGSPRO -
trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/xcreateanim.pro
r493 r495 87 87 window, /free, /pixmap, xsize = xsize, ysize = ysize 88 88 89 90 89 ; indication of the number of the picture we are creating 91 90 base = widget_base() … … 97 96 IF keyword_set(fakecal) THEN date = index1 ELSE date = jul2date(calendar[index1]) 98 97 xxx2ps, /noerase, date1in = date, date2in = date 99 ;100 98 ; 101 99 image = tvrd(true = depth GT 8) … … 112 110 ;- Convert 24-bit image to 8-bit 113 111 image = color_quan(image, 1, red, green, blue, colors = 256, get_translation = translation, /map_all) 114 ;115 112 ; 116 113 write_gif, animdir+nomfic, image, red, green, blue, /multiple -
trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_bgroup.pro
r327 r495 53 53 end 54 54 55 56 57 55 ;+ 58 56 ; @file_comments … … 62 60 ; 63 61 ; @param ID 64 ;65 62 ; 66 63 ; @param VALUE … … 167 164 endelse 168 165 end 169 170 171 172 173 166 ; 174 167 ;+ … … 379 372 IF (N_ELEMENTS(y_scroll_size) eq 0) then y_scroll_size = 0 380 373 381 382 383 384 374 top_base = 0L 385 375 if (n_elements(label_top) ne 0) then begin … … 424 414 EVENT_FUNC='CW_BGROUP_EVENT', $ 425 415 UVALUE=WIDGET_INFO(top_base, /child)) 426 427 416 428 417 n = n_elements(names) -
trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_calendar.pro
r371 r495 35 35 ; return 36 36 ; END 37 ;38 ;39 37 ;+ 40 38 ; … … 72 70 widget_control, winfo_id, get_uvalue = infowid 73 71 key_caltype = infowid.caltype 74 ; high freq euncy calendar72 ; high frequency calendar 75 73 IF keyword_set(infowid.fakecal) THEN BEGIN 76 74 value2 = date2jul(long(value)) - infowid.fakecal … … 104 102 ; @file_comments 105 103 ; 106 ;107 104 ; @categories 108 105 ; Compound widget 109 106 ; 110 107 ; @param ID 111 ;112 108 ; 113 109 ; @returns … … 137 133 ; @file_comments 138 134 ; 139 ;140 135 ; @categories 141 136 ; Compound widget … … 143 138 ; @param ID 144 139 ; 145 ;146 140 ; @param WINFOID 147 ;148 141 ; 149 142 ; @returns … … 182 175 month = (where(allmonths EQ wid_value.combobox_gettext))[0] + 1 183 176 date = date + 100L * long(month) 184 ENDIF ELSE date = date + (oldate MOD 10000L)/ 100L*100L177 ENDIF ELSE date = date + (oldate MOD 10000L)/ 100L * 100L 185 178 ;-------------year---------------- 186 179 wid_id = widget_info(id, find_by_uname = 'year') … … 198 191 ;+ 199 192 ; @file_comments 200 ;201 193 ; 202 194 ; @categories … … 300 292 ; @file_comments 301 293 ; 302 ;303 294 ; @categories 304 295 ; Compound widget … … 306 297 ; @param EVENT 307 298 ; 308 ;309 299 ; @param CASENAME 310 ;311 300 ; 312 301 ; @returns … … 359 348 ; 360 349 ; @param EVENT 361 ;362 350 ; 363 351 ; @returns … … 424 412 ; @file_comments 425 413 ; 426 ;427 414 ; @categories 428 415 ; Compound widget … … 433 420 ; @param CALENDAR 434 421 ; 435 ;436 422 ; @param JDATE0 437 423 ; … … 440 426 ; @keyword FAKECAL 441 427 ; 442 ;443 428 ; @keyword UVALUE 444 429 ; 445 430 ; @keyword UNAME 446 ;447 431 ; 448 432 ; @keyword _EXTRA … … 524 508 monthindex = where(yearcal EQ year0) 525 509 currentmonth = long(monthcal[monthindex]) 526 ; we suppress the repe ted months510 ; we suppress the repeated months 527 511 monthindexbis = uniq(currentmonth, sort(currentmonth)) 528 512 monthindex = monthindex[monthindexbis] -
trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_domain.pro
r493 r495 37 37 ; end 38 38 ; 39 ;40 39 ;+ 41 40 ; … … 46 45 ; 47 46 ; @param ID 48 ;49 47 ; 50 48 ; @param VALUE … … 516 514 ; 5 elements: The extraction is made on [Boxzoom[0:3], 0, Boxzoom[4]] 517 515 ; 6 elements: The extraction is made on Boxzoom 518 ; Where lon1, lon2,lat1,lat2 are global variables defined at the last 516 ; Where lon1, lon2,lat1,lat2 are global variables defined at the last 519 517 ; <pro>domdef</pro>! 520 518 ; … … 541 539 FUNCTION cw_domain, parent, BOXZOOM=boxzoom, STRICT=strict $ 542 540 , UVALUE=uvalue, UNAME=uname, UNZOOM=unzoom, _EXTRA=ex 543 ;544 541 ; 545 542 compile_opt idl2, strictarrsubs -
trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_slide_slice.pro
r327 r495 116 116 117 117 ; widget_control, uniteid, get_value = unite 118 ;119 118 ; 120 119 ; if uval.name EQ 'unite' then begin … … 162 161 ; @file_comments 163 162 ; 164 ;165 163 ; @categories 166 164 ; Compound widget … … 177 175 ; 5 elements: The extraction is made on [Boxzoom[0:3], 0, Boxzoom[4]] 178 176 ; 6 elements: The extraction is made on Boxzoom 179 ; Where lon1, lon2,lat1,lat2 are global variables defined at the last 177 ; Where lon1, lon2,lat1,lat2 are global variables defined at the last 180 178 ; <pro>domdef</pro> ! 181 179 ; -
trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_slider_pm.pro
r327 r495 145 145 ; @file_comments 146 146 ; 147 ;148 147 ; @categories 149 148 ; Compound widget … … 210 209 IF uval EQ 'decimal' THEN value = float(event.str) $ 211 210 ELSE value = float(widget_info(dcid, /combobox_gettext)) 212 out = 0 ; defau t case211 out = 0 ; default case 213 212 case uval OF 214 213 'plus': if (value + 1) LE minmax[1] then value2 = value + 1 ELSE out = 1 … … 320 319 ; slider widget. 321 320 ; 322 ;323 321 ; @examples 324 322 ; See the program provided above (testwid and the associated procedure, testwid_event). -
trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_specifie.pro
r327 r495 249 249 rien = widget_text(base2, value = colvalue, /editable, xsize = 2, uname = 'palnum', uvalue = 'palnum') 250 250 251 252 253 251 ; widget text containing other keywords pass into top_uvalue.exextra 254 252 ; Does it remain some? If yes, we have to put them as string -
trunk/SRC/ToBeReviewed/WIDGET/slec.pro
r327 r495 24 24 ; 5 elements: The extraction is made on [Boxzoom[0:3], 0, Boxzoom[4]] 25 25 ; 6 elements: The extraction is made on Boxzoom 26 ; where lon1,lon2,lat1,lat2 are global variables defined at the last 26 ; where lon1,lon2,lat1,lat2 are global variables defined at the last 27 27 ; <pro>domdef</pro> ! 28 28 ; -
trunk/SRC/ToBeReviewed/WIDGET/xnotice.pro
r486 r495 65 65 ENDIF ELSE noticebase = -1 66 66 67 68 67 return, noticebase 69 68 end -
trunk/SRC/ToBeReviewed/WIDGET/xx.pro
r493 r495 77 77 ;---------------------------------------------------------------------- 78 78 ; 79 ;80 79 fileparameters = {filename: 'many !' $ 81 80 , time_counter: calendar $ -
trunk/SRC/ToBeReviewed/WIDGET/xxx.pro
r370 r495 134 134 ; @keyword REDRAW 135 135 ; 136 ;137 136 ; @keyword SEPARATE 138 ;139 137 ; 140 138 ; @keyword UVALUE … … 404 402 ; we find homedir 405 403 homedir = isadirectory(io = homedir, title = 'Bad definition of homedir') 406 ; We recupera e the list of instructions404 ; We recuperate the list of instructions 407 405 globalcommand = extractatt(top_uvalue, 'globalcommand') 408 406 ; We complete by first and last lines of the program … … 468 466 ; creation of the pointer we will hook at the widget. 469 467 top_uvalue = ptrarr(2, 29, /allocate_heap) 470 ; variables refer ing to the widget468 ; variables referring to the widget 471 469 *top_uvalue[0, 0] = 'options' & *top_uvalue[1, 0] = options 472 470 *top_uvalue[0, 1] = 'smallin' & *top_uvalue[1, 1] = smallin … … 482 480 *top_uvalue[0, 11] = 'noticebase' & *top_uvalue[1, 11] = 0l 483 481 *top_uvalue[0, 12] = 'extra' & *top_uvalue[1, 12] = ex 484 ; variables refer ing to different files we can read482 ; variables referring to different files we can read 485 483 *top_uvalue[0, 13] = 'currentfile' & *top_uvalue[1, 13] = currentfile 486 484 *top_uvalue[0, 14] = 'filelist' & *top_uvalue[1, 14] = filelist … … 488 486 *top_uvalue[0, 16] = 'readparameters' & *top_uvalue[1, 16] = readparameters 489 487 *top_uvalue[0, 17] = 'meshparameters' & *top_uvalue[1, 17] = meshparameters 490 ; variables refer ing to different drawing we can do488 ; variables referring to different drawing we can do 491 489 *top_uvalue[0, 18] = 'penvs' & *top_uvalue[1, 18] = replicate(!p, nbredessin) 492 490 *top_uvalue[0, 19] = 'xenvs' & *top_uvalue[1, 19] = replicate(!x, nbredessin)
Note: See TracChangeset
for help on using the changeset viewer.