Changeset 495
- Timestamp:
- 04/17/14 10:49:43 (10 years ago)
- Location:
- trunk/SRC
- Files:
-
- 262 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SRC/Calendar/caldat.pro
r493 r495 7 7 ; (variable of the common file cm_4cal): 'greg', '360d', 'noleap' 8 8 ; 9 ; @categories 9 ; @categories 10 10 ; Calendar 11 11 ; -
trunk/SRC/Calendar/date2jul.pro
r371 r495 11 11 ; longword integer with yyyymmdd format or double-precision 12 12 ; floating-point with yyyymmdd.xx where xx is the fraction of the day 13 ; (xx=0 at 0am and 5 at 12am) 13 ; (xx=0 at 0am and 5 at 12am) 14 14 ; 15 15 ; @keyword GRADS … … 20 20 ; Set this keyword equal to a named variable that will receive a 21 21 ; longword integer or longword integer array representing the number of 22 ; the desired month (1 = January, ..., 12 = December). 22 ; the desired month (1 = January, ..., 12 = December). 23 23 ; 24 24 ; @keyword DAY 25 25 ; Set this keyword equal to a named variable that will receive a 26 26 ; longword integer or longword integer array representing the number of 27 ; the day of the month (1-31). 27 ; the day of the month (1-31). 28 28 ; 29 29 ; @keyword YEAR 30 30 ; Set this keyword equal to a named variable that will receive a 31 31 ; longword integer or longword integer array representing the number of 32 ; the desired year (e.g., 1994). 32 ; the desired year (e.g., 1994). 33 33 ; 34 34 ; @keyword HOUR 35 35 ; Set this keyword equal to a named variable that will receive a 36 36 ; longword integer or longword integer array representing the number of 37 ; the hour of the day (0-23). 38 ; 37 ; the hour of the day (0-23). 38 ; 39 39 ; @keyword MINUTE 40 40 ; Set this keyword equal to a named variable that will receive a 41 41 ; longword integer or longword integer array representing the number of 42 ; the minute of the hour (0-59). 43 ; 42 ; the minute of the hour (0-59). 43 ; 44 44 ; @keyword SECOND 45 45 ; Set this keyword equal to a named variable that will receive a … … 53 53 ; @restrictions 54 54 ; Input param must be longword integer or double-precision floating-point 55 ; 55 ; 56 56 ; @examples 57 57 ; … … 108 108 109 109 end 110 -
trunk/SRC/Calendar/date2string.pro
r378 r495 7 7 ; Calendar, String 8 8 ; 9 ; @param yyyymmdd {in}{required} {type=scal or or array}9 ; @param yyyymmdd {in}{required} {type=scalar or array} 10 10 ; the date in the format yyyymmdd. 11 11 ; -
trunk/SRC/Calendar/jul2date.pro
r371 r495 14 14 ; Set this keyword equal to a named variable that will receive a 15 15 ; longword integer or longword integer array representing the number of 16 ; the desired month (1 = January, ..., 12 = December). 16 ; the desired month (1 = January, ..., 12 = December). 17 17 ; 18 18 ; @keyword DAY 19 19 ; Set this keyword equal to a named variable that will receive a 20 20 ; longword integer or longword integer array representing the number of 21 ; the day of the month (1-31). 21 ; the day of the month (1-31). 22 22 ; 23 23 ; @keyword YEAR 24 24 ; Set this keyword equal to a named variable that will receive a 25 25 ; longword integer or longword integer array representing the number of 26 ; the desired year (e.g., 1994). 26 ; the desired year (e.g., 1994). 27 27 ; 28 28 ; @keyword HOUR 29 29 ; Set this keyword equal to a named variable that will receive a 30 30 ; longword integer or longword integer array representing the number of 31 ; the hour of the day (0-23). 32 ; 31 ; the hour of the day (0-23). 32 ; 33 33 ; @keyword MINUTE 34 34 ; Set this keyword equal to a named variable that will receive a 35 35 ; longword integer or longword integer array representing the number of 36 ; the minute of the hour (0-59). 37 ; 36 ; the minute of the hour (0-59). 37 ; 38 38 ; @keyword SECOND 39 39 ; Set this keyword equal to a named variable that will receive a … … 45 45 ; the date: longword integer with yyyymmdd format or double-precision 46 46 ; floating-point with yyyymmdd.xx where xx is the fraction of the day 47 ; (xx=0 at 0am and 5 at 12am) 47 ; (xx=0 at 0am and 5 at 12am) 48 48 ; 49 49 ; @restrictions 50 50 ; Input param must be longword integer or double-precision floating-point 51 ; 51 ; 52 52 ; @examples 53 53 ; … … 76 76 sztype = size(jday, /type) 77 77 IF sztype NE 3 AND sztype NE 5 AND sztype LT 13 THEN BEGIN 78 dummy = report('Beware of input type, julian date must be long or double')78 dummy = report('Beware of input type, Julian date must be long or double') 79 79 stop 80 80 ENDIF … … 82 82 caldat, jday, month, day, year, hour, minute, second 83 83 ; 84 res = (10000L*year + 100L*month + day)*(year GE 0) $85 +( 10000L*year - 100L*month - day)*(year LT 0)84 res = (10000L * year + 100L * month + day) * (year GE 0) $ 85 + (10000L * year - 100L * month - day) * (year LT 0) 86 86 ; 87 87 IF sztype NE 5 THEN return, long(res) $ 88 ELSE return, double(res) + (hour / 24.0d0) + (minute /1440.0d0) + (second / 86400.0d0)88 ELSE return, double(res) + (hour / 24.0d0) + (minute / 1440.0d0) + (second / 86400.0d0) 89 89 90 90 end -
trunk/SRC/Calendar/julday.pro
r493 r495 91 91 IF n_elements(key_caltype) EQ 0 THEN key_caltype = 'greg' 92 92 if keyword_set(ndayspm) then key_caltype = '360d' 93 93 94 94 NP = n_params() 95 95 ; Process the input, if all are missing, use today's date. … … 107 107 ; skipping from Oct. 4, 1582 to Oct. 15, 1582 108 108 GREG = 2299171L ; incorrect Julian day for Oct. 25, 1582 109 110 109 111 110 ; Find the dimensions of the Result: … … 159 158 ENDSWITCH 160 159 161 162 160 min_calendar = -4716 163 161 max_calendar = 5000000 … … 183 181 ENDIF 184 182 ; by seb Aug 2003 - end 185 ;186 183 ; 187 184 bc = (L_YEAR LT 0) … … 205 202 ENDELSE 206 203 207 208 204 ; hour,minute,second? 209 205 IF (np GT 3) THEN BEGIN ; yes, compute the fractional Julian date -
trunk/SRC/Colors/colorbar.pro
r479 r495 207 207 ENDIF ELSE cb_label = '' 208 208 209 210 209 IF KEYWORD_SET(vertical) THEN BEGIN 211 210 -
trunk/SRC/Colors/getcolor.pro
r479 r495 67 67 ; user in IDL 5.2 and higher.) 68 68 ; 69 ;70 69 ; @keyword NAMES 71 70 ; If this keyword is set, the return value of the function is -
trunk/SRC/Colors/newpalette.pro
r327 r495 55 55 ENDIF 56 56 ; do we have write access? 57 IF file_test(nametbl, /write) EQ 0 THEN BEGIN 57 IF file_test(nametbl, /write) EQ 0 THEN BEGIN 58 58 noanswer = report(['You have no write access on file '+nametbl $ 59 59 , 'Do you want to copy '+nameshort+' in your MyIDL directory: '+homedir+' ?'] $ … … 64 64 file_chmod, nametbl, /u_write ; make sure we have write access 65 65 ENDELSE 66 ENDIF 66 ENDIF 67 67 ; make sure that we will really use nametbl name even if _EXTRA keyword is used 68 68 if n_elements(ex) NE 0 then $ -
trunk/SRC/Colors/xlct.pro
r327 r495 58 58 end 59 59 60 61 60 ; Redraw the ramp image. 62 61 ;+ … … 162 161 gamma, color, use_values, ncolors, cbot, siz, w_height, show_win, $ 163 162 updt_callback, p_updt_cb_data 164 165 163 166 164 IF event.id eq state.draw THEN BEGIN ;** PROCESS DRAWABLE EVENTS ** … … 397 395 END 398 396 399 400 397 ;+ 401 398 ; 402 399 ; @file_comments 403 ; Like <proidl>XLOADCT</proidl> but fastest to write and call by default 400 ; Like <proidl>XLOADCT</proidl> but fastest to write and call by default 404 401 ; the palette palette.tbl which can be in any directory 405 402 ; … … 483 480 gamma, color, use_values, ncolors, cbot, siz, w_height, show_win, $ 484 481 updt_callback, p_updt_cb_data 485 486 482 487 483 IF(XRegistered("xlct") NE 0) THEN return … … 517 513 use_values=0 518 514 519 520 515 ; Bases: 521 516 ; 0 = slider base (stretch bottom, stretch top, gamma) … … 535 530 base = WIDGET_BASE(TITLE="Xlct", /COLUMN) 536 531 537 538 532 ; Setting the managed attribute indicates our intention to put this app 539 533 ; under the control of XMANAGER, and prevents our draw widgets from … … 542 536 ; having that problem. 543 537 WIDGET_CONTROL, /MANAGED, base 544 545 538 546 539 show = WIDGET_DRAW(base, YSIZE=w_height, XSIZE=siz, /FRAME, RETAIN = 2) … … 572 565 state.name_list = WIDGET_LIST(state.bases[2], VALUE = names, ysize = junk) 573 566 574 575 567 ; Drawable for transfer function 576 568 … … 583 575 state.draw = WIDGET_DRAW(state.bases[1], xsize = siz, ysize = siz, $ 584 576 /BUTTON_EVENTS, /MOTION_EVENTS) 585 586 577 587 578 opt_id = state.bases[3] -
trunk/SRC/Colors/xpal.pro
r325 r495 211 211 common xp_com, xpw, state 212 212 common colors, r_orig, g_orig, b_orig, r_curr, g_curr, b_curr 213 214 213 215 214 cur_idx = state.cur_idx … … 360 359 XMANAGER, 'xp_button_event', base 361 360 362 363 364 361 END 365 362 else: … … 539 536 ; Comment: May follow instructions gave by the prompter. 540 537 ; 541 ;542 538 ; Three sliders (R, G, and B) that allow the user to modify the 543 539 ; current color. … … 689 685 state.plot_win = tmp 690 686 691 692 687 ; Update the plots of RGB 693 688 junk = XP_NEW_COLORS() -
trunk/SRC/Commons/cm_demomode.pro
r325 r495 1 1 ;+ 2 2 ; 3 ; @file_comments 3 ; @file_comments 4 4 ; this common is use only when we are in demo mode (7 minutes test) 5 5 ; -
trunk/SRC/Computation/bsf.pro
r493 r495 30 30 ; @returns {type=2D xy array} 31 31 ; barotropic stream function in Sv 32 ; 32 ; 33 33 ; @uses 34 34 ; <pro>cm_4mesh</pro> … … 42 42 ; - to be valid, mask must be equal to 0 at the bottom and on each 43 43 ; side of the domain along x direction 44 ; - define the common variables (of cm_4data) 44 ; - define the common variables (of cm_4data) 45 45 ; varname = 'BSF' 46 46 ; varunit = 'Sv' 47 ; vargrid = 'F' 47 ; vargrid = 'F' 48 48 ; 49 49 ; @examples … … 93 93 IF keyword_set(refpoint) THEN BEGIN 94 94 refind = neighbor(refpoint[0], refpoint[1], glamf[firstx:lastx, firsty:lasty], gphif[firstx:lastx, firsty:lasty], SPHERE = key_onearth) 95 IF n_elements(refvalue) EQ 0 THEN refval = - bsf[refind[0]] ELSE refval = refvalue - bsf[refind[0]] 95 IF n_elements(refvalue) EQ 0 THEN refval = - bsf[refind[0]] ELSE refval = refvalue - bsf[refind[0]] 96 96 bsf = temporary(bsf) + refval 97 97 ENDIF -
trunk/SRC/Computation/curl.pro
r371 r495 27 27 ; @keyword MILLION {default=0}{type=scalar: 0 or 1} 28 28 ; Activate to multiply returned array by 1.e6 29 ; 29 ; 30 30 ; @keyword _EXTRA 31 31 ; Used to declare that this routine accepts inherited keywords … … 88 88 ; 89 89 gr = litchamp(uu, /grid) 90 IF gr NE '' THEN BEGIN 90 IF gr NE '' THEN BEGIN 91 91 IF gr NE 'U' THEN return, report('the first parameter is not located on U grid, but on '+ strtrim(gr, 2) +'grid') 92 ENDIF 92 ENDIF 93 93 gr = litchamp(vv, /grid) 94 IF gr NE '' THEN BEGIN 94 IF gr NE '' THEN BEGIN 95 95 IF gr NE 'V' THEN return, report('the second parameter is not located on V grid, but on '+ strtrim(gr, 2) +'grid') 96 ENDIF 96 ENDIF 97 97 u = litchamp(uu) 98 98 v = litchamp(vv) -
trunk/SRC/Computation/div.pro
r378 r495 26 26 ; @keyword MILLION {default=0}{type=scalar: 0 or 1} 27 27 ; Activate to multiply returned array by 1.e6 28 ; 28 ; 29 29 ; @keyword _EXTRA 30 30 ; Used to declare that this routine accepts inherited keywords … … 86 86 ; 87 87 gr = litchamp(uu, /grid) 88 IF gr NE '' THEN BEGIN 88 IF gr NE '' THEN BEGIN 89 89 IF gr NE 'U' THEN return, report('the first parameter is not located on U grid, but on '+ strtrim(gr, 2) +'grid') 90 ENDIF 90 ENDIF 91 91 gr = litchamp(vv, /grid) 92 IF gr NE '' THEN BEGIN 92 IF gr NE '' THEN BEGIN 93 93 IF gr NE 'V' THEN return, report('the second parameter is not located on V grid, but on '+ strtrim(gr, 2) +'grid') 94 ENDIF 94 ENDIF 95 95 u = litchamp(uu) 96 96 v = litchamp(vv) -
trunk/SRC/Computation/e3t_3d.pro
r493 r495 28 28 ; 29 29 ;- 30 function e3t_3d, e1 = e1, e2 = e2, fstx = fstx, lstx = lstx, fsty = fsty, lsty = lsty 30 function e3t_3d, e1 = e1, e2 = e2, fstx = fstx, lstx = lstx, fsty = fsty, lsty = lsty 31 31 ; 32 32 compile_opt idl2, strictarrsubs … … 48 48 ENDCASE 49 49 e3t3d = arr2d[*] # e3t[firstzt:lastzt] 50 e3t3d = reform(e3t3d, nx, ny, nzt, /overwrite) 50 e3t3d = reform(e3t3d, nx, ny, nzt, /overwrite) 51 51 ; 52 52 IF keyword_set(key_partialstep) THEN BEGIN … … 60 60 ok2 = inter(sea, where(bottom2 GE 0 AND bottom2 LT nzt)) 61 61 ; apply e3t_ps to e3t_3D at the bottom of the ocean 62 IF ok[0] NE -1 THEN BEGIN 62 IF ok[0] NE -1 THEN BEGIN 63 63 ; the bottom of the ocean in 3D index is: 64 64 bottom = (lindgen(nx*ny))[ok ] + nx*ny*(temporary(bottom ))[ok ] 65 65 e3t3d[temporary(bottom )] = arr2d[ok ] * (e3t_ps[fstx:lstx, fsty:lsty])[ok ] 66 66 ENDIF 67 IF ok2[0] NE -1 THEN BEGIN 67 IF ok2[0] NE -1 THEN BEGIN 68 68 bottom2 = (lindgen(nx*ny))[ok2] + nx*ny*(temporary(bottom2))[ok2] 69 69 e3t3d[temporary(bottom2)] = arr2d[ok2] * (e3t_ps[fstx:lstx, fsty:lsty])[ok2] 70 70 ENDIF 71 ; 71 ; 72 72 ENDIF 73 73 ; -
trunk/SRC/Computation/e3u_3d.pro
r493 r495 34 34 @cm_4mesh 35 35 ; 36 IF keyword_set(key_partialstep) THEN lastx = ( lastxu + 1 ) < ( jpi - 1 ) ELSE lastx = lastxu 36 IF keyword_set(key_partialstep) THEN lastx = ( lastxu + 1 ) < ( jpi - 1 ) ELSE lastx = lastxu 37 37 nx = lastx - firstxu + 1 38 38 ; get e3t 3D … … 41 41 IF keyword_set(key_partialstep) THEN BEGIN 42 42 ; 43 ; Rebuild the U-point 3D partial steps array from T-point 3D e3t_3D array 43 ; Rebuild the U-point 3D partial steps array from T-point 3D e3t_3D array 44 44 ; 45 45 tmp = shift(e3t3d, -1, 0, 0) … … 59 59 ; 60 60 IF nx EQ nxu + 1 THEN e3u3d = (temporary(e3u3d))[0:nx-2, *, *] 61 ; 61 ; 62 62 ENDIF ELSE e3u3d = temporary(e3t3d) 63 63 ; -
trunk/SRC/Computation/e3v_3d.pro
r493 r495 40 40 ; 41 41 IF keyword_set(key_partialstep) THEN BEGIN 42 ; Rebuild the V-point 3D partial steps array from T-point 3D e3t_3D array 42 ; Rebuild the V-point 3D partial steps array from T-point 3D e3t_3D array 43 43 tmp = shift(e3t3d, 0, -1, 0) 44 44 IF ny EQ nyv THEN tmp[*, ny-1, *] = e3t3d[*, ny-1, *] … … 48 48 ; 49 49 IF ny EQ nyv + 1 THEN e3v3d = (temporary(e3v3d))[*, 0:ny-2, *] 50 ; 50 ; 51 51 ENDIF ELSE e3v3d = temporary(e3t3d) 52 52 ; … … 63 63 return, e3v3d 64 64 END 65 -
trunk/SRC/Computation/e3w_3d.pro
r493 r495 42 42 ENDCASE 43 43 e3w_3d = arr2d[*] # e3w[firstzw:lastzw] 44 e3w_3d = reform(e3w_3d, nxt, nyt, nzw, /overwrite) 44 e3w_3d = reform(e3w_3d, nxt, nyt, nzw, /overwrite) 45 45 ; 46 46 IF keyword_set(key_partialstep) THEN BEGIN … … 64 64 ENDIF 65 65 ENDIF 66 ; 66 ; 67 67 return, e3w_3d 68 68 END 69 -
trunk/SRC/Computation/grad.pro
r371 r495 9 9 ; @param FIELD 10 10 ; The field for which we want to compute the gradient. A 2D (xy), 11 ; 3D (xyz or yt) or 4D (xyzt) array or a structure readable by 11 ; 3D (xyz or yt) or 4D (xyzt) array or a structure readable by 12 12 ; <pro>litchamp</pro> and containing a 2D (xy), 3D (xyz or yt) or 4D (xyzt) array. 13 13 ; Note that the dimension of the array must suit the domain dimension. … … 18 18 ; @keyword MILLION {default=0}{type=scalar: 0 or 1} 19 19 ; Activate to multiply returned array by 1.e6 20 ; 20 ; 21 21 ; @keyword _EXTRA 22 22 ; Used to declare that this routine accepts inherited keywords -
trunk/SRC/Computation/msf.pro
r493 r495 35 35 ; @returns {type=2D yz array} 36 36 ; meridional stream function in Sv 37 ; 37 ; 38 38 ; @uses 39 39 ; <pro>cm_4mesh</pro> … … 47 47 ; - to be valid, mask must be equal to 0 at the bottom and on each 48 48 ; side of the domain along x direction 49 ; - define the common variables (of cm_4data) 49 ; - define the common variables (of cm_4data) 50 50 ; varname = 'MSF' 51 51 ; varunit = 'Sv' … … 100 100 ; 101 101 ; current -> transport 102 IF NOT keyword_set(transport) THEN vn = temporary(vn) * e3v_3d(/e1) 102 IF NOT keyword_set(transport) THEN vn = temporary(vn) * e3v_3d(/e1) 103 103 vtr = temporary(vn) * msk 104 104 ; … … 110 110 maskout = reverse(temporary(maskout), 2) 111 111 ENDIF 112 ; 113 ; defau t computation:112 ; 113 ; default computation: 114 114 ; msf = 1.e-6 * total(total(temporary(vtr), 1), 2, /cumulative) 115 115 ; but we force the computation from bottom to up. … … 132 132 133 133 IF (jpiglo EQ 182 AND jpjglo EQ 149) OR (jpiglo EQ 722 AND jpjglo EQ 511) $ 134 OR (jpiglo EQ 1442 AND jpjglo EQ 1021) OR (jpiglo EQ 4322 AND jpjglo EQ 3059) THEN BEGIN 134 OR (jpiglo EQ 1442 AND jpjglo EQ 1021) OR (jpiglo EQ 4322 AND jpjglo EQ 3059) THEN BEGIN 135 135 ; find the i index with the northest latitude 136 136 ind = (where(gphit[firstx:lastx, firsty:lasty] EQ max(gphit[firstx:lastx, firsty:lasty])))[0] mod nx -
trunk/SRC/Documentation/xmldoc/all_plots.html
r416 r495 19 19 <tr><td align="left">Revision 0.1</td><td align="left">29 August 2005</td></tr><tr><td align="left" colspan="2">last Japanese version!</td></tr> 20 20 <tr><td align="left">Revision 0.2</td><td align="left">May 2006</td></tr><tr><td align="left" colspan="2">split with getsaxo</td></tr> 21 <tr><td align="left">Revision 0.3</td><td align="left">April 2008</td></tr><tr><td align="left" colspan="2">migration from DocBook 4.2 to Doc book 5.0</td></tr>21 <tr><td align="left">Revision 0.3</td><td align="left">April 2008</td></tr><tr><td align="left" colspan="2">migration from DocBook 4.2 to DocBook 5.0</td></tr> 22 22 23 23 </table></div></div></div><hr /></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#intro">1. Introduction</a></span></dt><dt><span class="sect1"><a href="#allplots">2. All plots</a></span></dt></dl></div> 24 25 24 25 26 26 <div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="intro" id="intro"></a>1. Introduction</h2></div></div></div> 27 27 28 28 <p> 29 29 This page gathers all plots used in <a class="link" href="firststeps.html" target="_top">firststeps</a> and display them in one unique page to facilitate the search of plots examples. … … 31 31 </div> 32 32 <div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="allplots" id="allplots"></a>2. All plots</h2></div></div></div> 33 33 34 34 <div class="figure"><a name="basic_plot.png" id="basic_plot.png"></a><p class="title"><b>Figure 1. 35 35 plot ./figpng/basic_plot.png</b></p><div class="figure-contents"> 36 36 37 37 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="./figpng/basic_plot.png" alt="[plot ./figpng/basic_plot.png]" /></td></tr></table><div class="caption"> 38 38 <p> 39 cf. 39 cf. 40 40 <a class="link" href="firststeps.html#basic_splot" target="_top"> splot </a> in First steps with SAXO </p> 41 41 </div></div> … … 43 43 <div class="figure"><a name="basic_scontour1.png" id="basic_scontour1.png"></a><p class="title"><b>Figure 2. 44 44 plot ./figpng/basic_scontour1.png</b></p><div class="figure-contents"> 45 45 46 46 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="./figpng/basic_scontour1.png" alt="[plot ./figpng/basic_scontour1.png]" /></td></tr></table><div class="caption"> 47 47 <p> 48 cf. 48 cf. 49 49 <a class="link" href="firststeps.html#basic_contour" target="_top"> scontour </a> in First steps with SAXO </p> 50 50 </div></div> … … 52 52 <div class="figure"><a name="basic_scontour2.png" id="basic_scontour2.png"></a><p class="title"><b>Figure 3. 53 53 plot ./figpng/basic_scontour2.png</b></p><div class="figure-contents"> 54 54 55 55 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="./figpng/basic_scontour2.png" alt="[plot ./figpng/basic_scontour2.png]" /></td></tr></table><div class="caption"> 56 56 <p> 57 cf. 57 cf. 58 58 <a class="link" href="firststeps.html#basic_contour" target="_top"> scontour </a> in First steps with SAXO </p> 59 59 </div></div> … … 61 61 <div class="figure"><a name="basic_scontour3.png" id="basic_scontour3.png"></a><p class="title"><b>Figure 4. 62 62 plot ./figpng/basic_scontour3.png</b></p><div class="figure-contents"> 63 63 64 64 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="./figpng/basic_scontour3.png" alt="[plot ./figpng/basic_scontour3.png]" /></td></tr></table><div class="caption"> 65 65 <p> 66 cf. 66 cf. 67 67 <a class="link" href="firststeps.html#basic_contour" target="_top"> scontour </a> in First steps with SAXO </p> 68 68 </div></div> … … 70 70 <div class="figure"><a name="basic_splot1.png" id="basic_splot1.png"></a><p class="title"><b>Figure 5. 71 71 plot ./figpng/basic_splot1.png</b></p><div class="figure-contents"> 72 72 73 73 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="./figpng/basic_splot1.png" alt="[plot ./figpng/basic_splot1.png]" /></td></tr></table><div class="caption"> 74 74 <p> 75 cf. 75 cf. 76 76 <a class="link" href="firststeps.html#basic_splot" target="_top"> splot </a> in First steps with SAXO </p> 77 77 </div></div> … … 79 79 <div class="figure"><a name="basic_splot2.png" id="basic_splot2.png"></a><p class="title"><b>Figure 6. 80 80 plot ./figpng/basic_splot2.png</b></p><div class="figure-contents"> 81 81 82 82 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="./figpng/basic_splot2.png" alt="[plot ./figpng/basic_splot2.png]" /></td></tr></table><div class="caption"> 83 83 <p> 84 cf. 84 cf. 85 85 <a class="link" href="firststeps.html#basic_splot" target="_top"> splot </a> in First steps with SAXO </p> 86 86 </div></div> … … 88 88 <div class="figure"><a name="basic_splot3.png" id="basic_splot3.png"></a><p class="title"><b>Figure 7. 89 89 plot ./figpng/basic_splot3.png</b></p><div class="figure-contents"> 90 90 91 91 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="./figpng/basic_splot3.png" alt="[plot ./figpng/basic_splot3.png]" /></td></tr></table><div class="caption"> 92 92 <p> 93 cf. 93 cf. 94 94 <a class="link" href="firststeps.html#basic_splot" target="_top"> splot </a> in First steps with SAXO </p> 95 95 </div></div> … … 97 97 <div class="figure"><a name="basic_splot4.png" id="basic_splot4.png"></a><p class="title"><b>Figure 8. 98 98 plot ./figpng/basic_splot4.png</b></p><div class="figure-contents"> 99 99 100 100 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="./figpng/basic_splot4.png" alt="[plot ./figpng/basic_splot4.png]" /></td></tr></table><div class="caption"> 101 101 <p> 102 cf. 102 cf. 103 103 <a class="link" href="firststeps.html#basic_splot" target="_top"> splot </a> in First steps with SAXO </p> 104 104 </div></div> … … 106 106 <div class="figure"><a name="pltv.png" id="pltv.png"></a><p class="title"><b>Figure 9. 107 107 plot ./figpng/pltv.png</b></p><div class="figure-contents"> 108 108 109 109 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="./figpng/pltv.png" alt="[plot ./figpng/pltv.png]" /></td></tr></table><div class="caption"> 110 110 <p> 111 cf. 111 cf. 112 112 <a class="link" href="firststeps.html#pltv" target="_top"> Formal quick look at 2D arrays: pltv </a> in First steps with SAXO </p> 113 113 </div></div> … … 115 115 <div class="figure"><a name="tst_basic.png" id="tst_basic.png"></a><p class="title"><b>Figure 10. 116 116 plot ./figpng/tst_basic.png</b></p><div class="figure-contents"> 117 117 118 118 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="./figpng/tst_basic.png" alt="[plot ./figpng/tst_basic.png]" /></td></tr></table><div class="caption"> 119 119 <p> 120 cf. 120 cf. 121 121 <a class="link" href="firststeps.html#basic_contour" target="_top"> scontour </a> in First steps with SAXO </p> 122 122 </div></div> … … 124 124 <div class="figure"><a name="tvplus.png" id="tvplus.png"></a><p class="title"><b>Figure 11. 125 125 plot ./figpng/tvplus.png</b></p><div class="figure-contents"> 126 126 127 127 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="./figpng/tvplus.png" alt="[plot ./figpng/tvplus.png]" /></td></tr></table><div class="caption"> 128 128 <p> 129 cf. 129 cf. 130 130 <a class="link" href="firststeps.html#tvplus" target="_top"> Quick look and explore 2D arrays: tvplus </a> in First steps with SAXO </p> 131 131 </div></div> … … 133 133 <div class="figure"><a name="tst_plt_lev_01.png" id="tst_plt_lev_01.png"></a><p class="title"><b>Figure 12. 134 134 plot figpng/tst_plt_lev_01.png</b></p><div class="figure-contents"> 135 135 136 136 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_lev_01.png" alt="[plot figpng/tst_plt_lev_01.png]" /></td></tr></table><div class="caption"> 137 137 <p> 138 cf. 138 cf. 139 139 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 140 140 </div></div> … … 142 142 <div class="figure"><a name="tst_plt_lev_02.png" id="tst_plt_lev_02.png"></a><p class="title"><b>Figure 13. 143 143 plot figpng/tst_plt_lev_02.png</b></p><div class="figure-contents"> 144 144 145 145 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_lev_02.png" alt="[plot figpng/tst_plt_lev_02.png]" /></td></tr></table><div class="caption"> 146 146 <p> 147 cf. 147 cf. 148 148 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 149 149 </div></div> … … 151 151 <div class="figure"><a name="tst_plt_lev_03.png" id="tst_plt_lev_03.png"></a><p class="title"><b>Figure 14. 152 152 plot figpng/tst_plt_lev_03.png</b></p><div class="figure-contents"> 153 153 154 154 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_lev_03.png" alt="[plot figpng/tst_plt_lev_03.png]" /></td></tr></table><div class="caption"> 155 155 <p> 156 cf. 156 cf. 157 157 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 158 158 </div></div> … … 160 160 <div class="figure"><a name="tst_plt_lev_04.png" id="tst_plt_lev_04.png"></a><p class="title"><b>Figure 15. 161 161 plot figpng/tst_plt_lev_04.png</b></p><div class="figure-contents"> 162 162 163 163 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_lev_04.png" alt="[plot figpng/tst_plt_lev_04.png]" /></td></tr></table><div class="caption"> 164 164 <p> 165 cf. 165 cf. 166 166 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 167 167 </div></div> … … 169 169 <div class="figure"><a name="tst_plt_lev_05.png" id="tst_plt_lev_05.png"></a><p class="title"><b>Figure 16. 170 170 plot figpng/tst_plt_lev_05.png</b></p><div class="figure-contents"> 171 171 172 172 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_lev_05.png" alt="[plot figpng/tst_plt_lev_05.png]" /></td></tr></table><div class="caption"> 173 173 <p> 174 cf. 174 cf. 175 175 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 176 176 </div></div> … … 178 178 <div class="figure"><a name="tst_plt_lev_06.png" id="tst_plt_lev_06.png"></a><p class="title"><b>Figure 17. 179 179 plot figpng/tst_plt_lev_06.png</b></p><div class="figure-contents"> 180 180 181 181 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_lev_06.png" alt="[plot figpng/tst_plt_lev_06.png]" /></td></tr></table><div class="caption"> 182 182 <p> 183 cf. 183 cf. 184 184 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 185 185 </div></div> … … 187 187 <div class="figure"><a name="tst_plt_lev_07.png" id="tst_plt_lev_07.png"></a><p class="title"><b>Figure 18. 188 188 plot figpng/tst_plt_lev_07.png</b></p><div class="figure-contents"> 189 189 190 190 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_lev_07.png" alt="[plot figpng/tst_plt_lev_07.png]" /></td></tr></table><div class="caption"> 191 191 <p> 192 cf. 192 cf. 193 193 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 194 194 </div></div> … … 196 196 <div class="figure"><a name="tst_plt_lev_08.png" id="tst_plt_lev_08.png"></a><p class="title"><b>Figure 19. 197 197 plot figpng/tst_plt_lev_08.png</b></p><div class="figure-contents"> 198 198 199 199 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_lev_08.png" alt="[plot figpng/tst_plt_lev_08.png]" /></td></tr></table><div class="caption"> 200 200 <p> 201 cf. 201 cf. 202 202 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 203 203 </div></div> … … 205 205 <div class="figure"><a name="tst_plt_lev_09.png" id="tst_plt_lev_09.png"></a><p class="title"><b>Figure 20. 206 206 plot figpng/tst_plt_lev_09.png</b></p><div class="figure-contents"> 207 207 208 208 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_lev_09.png" alt="[plot figpng/tst_plt_lev_09.png]" /></td></tr></table><div class="caption"> 209 209 <p> 210 cf. 210 cf. 211 211 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 212 212 </div></div> … … 214 214 <div class="figure"><a name="tst_plt_lev_10.png" id="tst_plt_lev_10.png"></a><p class="title"><b>Figure 21. 215 215 plot figpng/tst_plt_lev_10.png</b></p><div class="figure-contents"> 216 216 217 217 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_lev_10.png" alt="[plot figpng/tst_plt_lev_10.png]" /></td></tr></table><div class="caption"> 218 218 <p> 219 cf. 219 cf. 220 220 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 221 221 </div></div> … … 223 223 <div class="figure"><a name="tst_plt_lev_stride_01.png" id="tst_plt_lev_stride_01.png"></a><p class="title"><b>Figure 22. 224 224 plot figpng/tst_plt_lev_stride_01.png</b></p><div class="figure-contents"> 225 225 226 226 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_lev_stride_01.png" alt="[plot figpng/tst_plt_lev_stride_01.png]" /></td></tr></table><div class="caption"> 227 227 <p> 228 cf. 228 cf. 229 229 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 230 230 </div></div> … … 232 232 <div class="figure"><a name="tst_plt_lev_stride_02.png" id="tst_plt_lev_stride_02.png"></a><p class="title"><b>Figure 23. 233 233 plot figpng/tst_plt_lev_stride_02.png</b></p><div class="figure-contents"> 234 234 235 235 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_lev_stride_02.png" alt="[plot figpng/tst_plt_lev_stride_02.png]" /></td></tr></table><div class="caption"> 236 236 <p> 237 cf. 237 cf. 238 238 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 239 239 </div></div> … … 241 241 <div class="figure"><a name="tst_plt_lev_stride_03.png" id="tst_plt_lev_stride_03.png"></a><p class="title"><b>Figure 24. 242 242 plot figpng/tst_plt_lev_stride_03.png</b></p><div class="figure-contents"> 243 243 244 244 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_lev_stride_03.png" alt="[plot figpng/tst_plt_lev_stride_03.png]" /></td></tr></table><div class="caption"> 245 245 <p> 246 cf. 246 cf. 247 247 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 248 248 </div></div> … … 250 250 <div class="figure"><a name="tst_plt_lev_stride_04.png" id="tst_plt_lev_stride_04.png"></a><p class="title"><b>Figure 25. 251 251 plot figpng/tst_plt_lev_stride_04.png</b></p><div class="figure-contents"> 252 252 253 253 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_lev_stride_04.png" alt="[plot figpng/tst_plt_lev_stride_04.png]" /></td></tr></table><div class="caption"> 254 254 <p> 255 cf. 255 cf. 256 256 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 257 257 </div></div> … … 259 259 <div class="figure"><a name="tst_plt_lev_stride_05.png" id="tst_plt_lev_stride_05.png"></a><p class="title"><b>Figure 26. 260 260 plot figpng/tst_plt_lev_stride_05.png</b></p><div class="figure-contents"> 261 261 262 262 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_lev_stride_05.png" alt="[plot figpng/tst_plt_lev_stride_05.png]" /></td></tr></table><div class="caption"> 263 263 <p> 264 cf. 264 cf. 265 265 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 266 266 </div></div> … … 268 268 <div class="figure"><a name="tst_plt_lev_stride_06.png" id="tst_plt_lev_stride_06.png"></a><p class="title"><b>Figure 27. 269 269 plot figpng/tst_plt_lev_stride_06.png</b></p><div class="figure-contents"> 270 270 271 271 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_lev_stride_06.png" alt="[plot figpng/tst_plt_lev_stride_06.png]" /></td></tr></table><div class="caption"> 272 272 <p> 273 cf. 273 cf. 274 274 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 275 275 </div></div> … … 277 277 <div class="figure"><a name="tst_plt_lev_stride_07.png" id="tst_plt_lev_stride_07.png"></a><p class="title"><b>Figure 28. 278 278 plot figpng/tst_plt_lev_stride_07.png</b></p><div class="figure-contents"> 279 279 280 280 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_lev_stride_07.png" alt="[plot figpng/tst_plt_lev_stride_07.png]" /></td></tr></table><div class="caption"> 281 281 <p> 282 cf. 282 cf. 283 283 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 284 284 </div></div> … … 286 286 <div class="figure"><a name="tst_plt_lev_stride_08.png" id="tst_plt_lev_stride_08.png"></a><p class="title"><b>Figure 29. 287 287 plot figpng/tst_plt_lev_stride_08.png</b></p><div class="figure-contents"> 288 288 289 289 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_lev_stride_08.png" alt="[plot figpng/tst_plt_lev_stride_08.png]" /></td></tr></table><div class="caption"> 290 290 <p> 291 cf. 291 cf. 292 292 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 293 293 </div></div> … … 295 295 <div class="figure"><a name="tst_plt_lev_stride_09.png" id="tst_plt_lev_stride_09.png"></a><p class="title"><b>Figure 30. 296 296 plot figpng/tst_plt_lev_stride_09.png</b></p><div class="figure-contents"> 297 297 298 298 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_lev_stride_09.png" alt="[plot figpng/tst_plt_lev_stride_09.png]" /></td></tr></table><div class="caption"> 299 299 <p> 300 cf. 300 cf. 301 301 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 302 302 </div></div> … … 304 304 <div class="figure"><a name="tst_plt_lev_stride_10.png" id="tst_plt_lev_stride_10.png"></a><p class="title"><b>Figure 31. 305 305 plot figpng/tst_plt_lev_stride_10.png</b></p><div class="figure-contents"> 306 306 307 307 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_lev_stride_10.png" alt="[plot figpng/tst_plt_lev_stride_10.png]" /></td></tr></table><div class="caption"> 308 308 <p> 309 cf. 309 cf. 310 310 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 311 311 </div></div> … … 313 313 <div class="figure"><a name="tst_plt_orca05_01.png" id="tst_plt_orca05_01.png"></a><p class="title"><b>Figure 32. 314 314 plot figpng/tst_plt_orca05_01.png</b></p><div class="figure-contents"> 315 315 316 316 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca05_01.png" alt="[plot figpng/tst_plt_orca05_01.png]" /></td></tr></table><div class="caption"> 317 317 <p> 318 cf. 318 cf. 319 319 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 320 320 </div></div> … … 322 322 <div class="figure"><a name="tst_plt_orca05_02.png" id="tst_plt_orca05_02.png"></a><p class="title"><b>Figure 33. 323 323 plot figpng/tst_plt_orca05_02.png</b></p><div class="figure-contents"> 324 324 325 325 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca05_02.png" alt="[plot figpng/tst_plt_orca05_02.png]" /></td></tr></table><div class="caption"> 326 326 <p> 327 cf. 327 cf. 328 328 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 329 329 </div></div> … … 331 331 <div class="figure"><a name="tst_plt_orca05_03.png" id="tst_plt_orca05_03.png"></a><p class="title"><b>Figure 34. 332 332 plot figpng/tst_plt_orca05_03.png</b></p><div class="figure-contents"> 333 333 334 334 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca05_03.png" alt="[plot figpng/tst_plt_orca05_03.png]" /></td></tr></table><div class="caption"> 335 335 <p> 336 cf. 336 cf. 337 337 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 338 338 </div></div> … … 340 340 <div class="figure"><a name="tst_plt_orca05_04.png" id="tst_plt_orca05_04.png"></a><p class="title"><b>Figure 35. 341 341 plot figpng/tst_plt_orca05_04.png</b></p><div class="figure-contents"> 342 342 343 343 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca05_04.png" alt="[plot figpng/tst_plt_orca05_04.png]" /></td></tr></table><div class="caption"> 344 344 <p> 345 cf. 345 cf. 346 346 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 347 347 </div></div> … … 349 349 <div class="figure"><a name="tst_plt_orca05_05.png" id="tst_plt_orca05_05.png"></a><p class="title"><b>Figure 36. 350 350 plot figpng/tst_plt_orca05_05.png</b></p><div class="figure-contents"> 351 351 352 352 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca05_05.png" alt="[plot figpng/tst_plt_orca05_05.png]" /></td></tr></table><div class="caption"> 353 353 <p> 354 cf. 354 cf. 355 355 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 356 356 </div></div> … … 358 358 <div class="figure"><a name="tst_plt_orca05_06.png" id="tst_plt_orca05_06.png"></a><p class="title"><b>Figure 37. 359 359 plot figpng/tst_plt_orca05_06.png</b></p><div class="figure-contents"> 360 360 361 361 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca05_06.png" alt="[plot figpng/tst_plt_orca05_06.png]" /></td></tr></table><div class="caption"> 362 362 <p> 363 cf. 363 cf. 364 364 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 365 365 </div></div> … … 367 367 <div class="figure"><a name="tst_plt_orca05_07.png" id="tst_plt_orca05_07.png"></a><p class="title"><b>Figure 38. 368 368 plot figpng/tst_plt_orca05_07.png</b></p><div class="figure-contents"> 369 369 370 370 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca05_07.png" alt="[plot figpng/tst_plt_orca05_07.png]" /></td></tr></table><div class="caption"> 371 371 <p> 372 cf. 372 cf. 373 373 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 374 374 </div></div> … … 376 376 <div class="figure"><a name="tst_plt_orca05_08.png" id="tst_plt_orca05_08.png"></a><p class="title"><b>Figure 39. 377 377 plot figpng/tst_plt_orca05_08.png</b></p><div class="figure-contents"> 378 378 379 379 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca05_08.png" alt="[plot figpng/tst_plt_orca05_08.png]" /></td></tr></table><div class="caption"> 380 380 <p> 381 cf. 381 cf. 382 382 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 383 383 </div></div> … … 385 385 <div class="figure"><a name="tst_plt_orca05_09.png" id="tst_plt_orca05_09.png"></a><p class="title"><b>Figure 40. 386 386 plot figpng/tst_plt_orca05_09.png</b></p><div class="figure-contents"> 387 387 388 388 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca05_09.png" alt="[plot figpng/tst_plt_orca05_09.png]" /></td></tr></table><div class="caption"> 389 389 <p> 390 cf. 390 cf. 391 391 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 392 392 </div></div> … … 394 394 <div class="figure"><a name="tst_plt_orca05_10.png" id="tst_plt_orca05_10.png"></a><p class="title"><b>Figure 41. 395 395 plot figpng/tst_plt_orca05_10.png</b></p><div class="figure-contents"> 396 396 397 397 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca05_10.png" alt="[plot figpng/tst_plt_orca05_10.png]" /></td></tr></table><div class="caption"> 398 398 <p> 399 cf. 399 cf. 400 400 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 401 401 </div></div> … … 403 403 <div class="figure"><a name="tst_plt_orca05_stride_01.png" id="tst_plt_orca05_stride_01.png"></a><p class="title"><b>Figure 42. 404 404 plot figpng/tst_plt_orca05_stride_01.png</b></p><div class="figure-contents"> 405 405 406 406 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca05_stride_01.png" alt="[plot figpng/tst_plt_orca05_stride_01.png]" /></td></tr></table><div class="caption"> 407 407 <p> 408 cf. 408 cf. 409 409 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 410 410 </div></div> … … 412 412 <div class="figure"><a name="tst_plt_orca05_stride_02.png" id="tst_plt_orca05_stride_02.png"></a><p class="title"><b>Figure 43. 413 413 plot figpng/tst_plt_orca05_stride_02.png</b></p><div class="figure-contents"> 414 414 415 415 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca05_stride_02.png" alt="[plot figpng/tst_plt_orca05_stride_02.png]" /></td></tr></table><div class="caption"> 416 416 <p> 417 cf. 417 cf. 418 418 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 419 419 </div></div> … … 421 421 <div class="figure"><a name="tst_plt_orca05_stride_03.png" id="tst_plt_orca05_stride_03.png"></a><p class="title"><b>Figure 44. 422 422 plot figpng/tst_plt_orca05_stride_03.png</b></p><div class="figure-contents"> 423 423 424 424 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca05_stride_03.png" alt="[plot figpng/tst_plt_orca05_stride_03.png]" /></td></tr></table><div class="caption"> 425 425 <p> 426 cf. 426 cf. 427 427 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 428 428 </div></div> … … 430 430 <div class="figure"><a name="tst_plt_orca05_stride_04.png" id="tst_plt_orca05_stride_04.png"></a><p class="title"><b>Figure 45. 431 431 plot figpng/tst_plt_orca05_stride_04.png</b></p><div class="figure-contents"> 432 432 433 433 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca05_stride_04.png" alt="[plot figpng/tst_plt_orca05_stride_04.png]" /></td></tr></table><div class="caption"> 434 434 <p> 435 cf. 435 cf. 436 436 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 437 437 </div></div> … … 439 439 <div class="figure"><a name="tst_plt_orca05_stride_05.png" id="tst_plt_orca05_stride_05.png"></a><p class="title"><b>Figure 46. 440 440 plot figpng/tst_plt_orca05_stride_05.png</b></p><div class="figure-contents"> 441 441 442 442 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca05_stride_05.png" alt="[plot figpng/tst_plt_orca05_stride_05.png]" /></td></tr></table><div class="caption"> 443 443 <p> 444 cf. 444 cf. 445 445 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 446 446 </div></div> … … 448 448 <div class="figure"><a name="tst_plt_orca05_stride_06.png" id="tst_plt_orca05_stride_06.png"></a><p class="title"><b>Figure 47. 449 449 plot figpng/tst_plt_orca05_stride_06.png</b></p><div class="figure-contents"> 450 450 451 451 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca05_stride_06.png" alt="[plot figpng/tst_plt_orca05_stride_06.png]" /></td></tr></table><div class="caption"> 452 452 <p> 453 cf. 453 cf. 454 454 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 455 455 </div></div> … … 457 457 <div class="figure"><a name="tst_plt_orca05_stride_07.png" id="tst_plt_orca05_stride_07.png"></a><p class="title"><b>Figure 48. 458 458 plot figpng/tst_plt_orca05_stride_07.png</b></p><div class="figure-contents"> 459 459 460 460 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca05_stride_07.png" alt="[plot figpng/tst_plt_orca05_stride_07.png]" /></td></tr></table><div class="caption"> 461 461 <p> 462 cf. 462 cf. 463 463 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 464 464 </div></div> … … 466 466 <div class="figure"><a name="tst_plt_orca05_stride_08.png" id="tst_plt_orca05_stride_08.png"></a><p class="title"><b>Figure 49. 467 467 plot figpng/tst_plt_orca05_stride_08.png</b></p><div class="figure-contents"> 468 468 469 469 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca05_stride_08.png" alt="[plot figpng/tst_plt_orca05_stride_08.png]" /></td></tr></table><div class="caption"> 470 470 <p> 471 cf. 471 cf. 472 472 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 473 473 </div></div> … … 475 475 <div class="figure"><a name="tst_plt_orca05_stride_09.png" id="tst_plt_orca05_stride_09.png"></a><p class="title"><b>Figure 50. 476 476 plot figpng/tst_plt_orca05_stride_09.png</b></p><div class="figure-contents"> 477 477 478 478 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca05_stride_09.png" alt="[plot figpng/tst_plt_orca05_stride_09.png]" /></td></tr></table><div class="caption"> 479 479 <p> 480 cf. 480 cf. 481 481 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 482 482 </div></div> … … 484 484 <div class="figure"><a name="tst_plt_orca05_stride_10.png" id="tst_plt_orca05_stride_10.png"></a><p class="title"><b>Figure 51. 485 485 plot figpng/tst_plt_orca05_stride_10.png</b></p><div class="figure-contents"> 486 486 487 487 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca05_stride_10.png" alt="[plot figpng/tst_plt_orca05_stride_10.png]" /></td></tr></table><div class="caption"> 488 488 <p> 489 cf. 489 cf. 490 490 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 491 491 </div></div> … … 493 493 <div class="figure"><a name="tst_plt_orca2_01.png" id="tst_plt_orca2_01.png"></a><p class="title"><b>Figure 52. 494 494 plot figpng/tst_plt_orca2_01.png</b></p><div class="figure-contents"> 495 495 496 496 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca2_01.png" alt="[plot figpng/tst_plt_orca2_01.png]" /></td></tr></table><div class="caption"> 497 497 <p> 498 cf. 498 cf. 499 499 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 500 500 </div></div> … … 502 502 <div class="figure"><a name="tst_plt_orca2_02.png" id="tst_plt_orca2_02.png"></a><p class="title"><b>Figure 53. 503 503 plot figpng/tst_plt_orca2_02.png</b></p><div class="figure-contents"> 504 504 505 505 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca2_02.png" alt="[plot figpng/tst_plt_orca2_02.png]" /></td></tr></table><div class="caption"> 506 506 <p> 507 cf. 507 cf. 508 508 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 509 509 </div></div> … … 511 511 <div class="figure"><a name="tst_plt_orca2_03.png" id="tst_plt_orca2_03.png"></a><p class="title"><b>Figure 54. 512 512 plot figpng/tst_plt_orca2_03.png</b></p><div class="figure-contents"> 513 513 514 514 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca2_03.png" alt="[plot figpng/tst_plt_orca2_03.png]" /></td></tr></table><div class="caption"> 515 515 <p> 516 cf. 516 cf. 517 517 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 518 518 </div></div> … … 520 520 <div class="figure"><a name="tst_plt_orca2_04.png" id="tst_plt_orca2_04.png"></a><p class="title"><b>Figure 55. 521 521 plot figpng/tst_plt_orca2_04.png</b></p><div class="figure-contents"> 522 522 523 523 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca2_04.png" alt="[plot figpng/tst_plt_orca2_04.png]" /></td></tr></table><div class="caption"> 524 524 <p> 525 cf. 525 cf. 526 526 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 527 527 </div></div> … … 529 529 <div class="figure"><a name="tst_plt_orca2_05.png" id="tst_plt_orca2_05.png"></a><p class="title"><b>Figure 56. 530 530 plot figpng/tst_plt_orca2_05.png</b></p><div class="figure-contents"> 531 531 532 532 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca2_05.png" alt="[plot figpng/tst_plt_orca2_05.png]" /></td></tr></table><div class="caption"> 533 533 <p> 534 cf. 534 cf. 535 535 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 536 536 </div></div> … … 538 538 <div class="figure"><a name="tst_plt_orca2_06.png" id="tst_plt_orca2_06.png"></a><p class="title"><b>Figure 57. 539 539 plot figpng/tst_plt_orca2_06.png</b></p><div class="figure-contents"> 540 540 541 541 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca2_06.png" alt="[plot figpng/tst_plt_orca2_06.png]" /></td></tr></table><div class="caption"> 542 542 <p> 543 cf. 543 cf. 544 544 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 545 545 </div></div> … … 547 547 <div class="figure"><a name="tst_plt_orca2_07.png" id="tst_plt_orca2_07.png"></a><p class="title"><b>Figure 58. 548 548 plot figpng/tst_plt_orca2_07.png</b></p><div class="figure-contents"> 549 549 550 550 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca2_07.png" alt="[plot figpng/tst_plt_orca2_07.png]" /></td></tr></table><div class="caption"> 551 551 <p> 552 cf. 552 cf. 553 553 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 554 554 </div></div> … … 556 556 <div class="figure"><a name="tst_plt_orca2_08.png" id="tst_plt_orca2_08.png"></a><p class="title"><b>Figure 59. 557 557 plot figpng/tst_plt_orca2_08.png</b></p><div class="figure-contents"> 558 558 559 559 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca2_08.png" alt="[plot figpng/tst_plt_orca2_08.png]" /></td></tr></table><div class="caption"> 560 560 <p> 561 cf. 561 cf. 562 562 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 563 563 </div></div> … … 565 565 <div class="figure"><a name="tst_plt_orca2_09.png" id="tst_plt_orca2_09.png"></a><p class="title"><b>Figure 60. 566 566 plot figpng/tst_plt_orca2_09.png</b></p><div class="figure-contents"> 567 567 568 568 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca2_09.png" alt="[plot figpng/tst_plt_orca2_09.png]" /></td></tr></table><div class="caption"> 569 569 <p> 570 cf. 570 cf. 571 571 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 572 572 </div></div> … … 574 574 <div class="figure"><a name="tst_plt_orca2_10.png" id="tst_plt_orca2_10.png"></a><p class="title"><b>Figure 61. 575 575 plot figpng/tst_plt_orca2_10.png</b></p><div class="figure-contents"> 576 576 577 577 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca2_10.png" alt="[plot figpng/tst_plt_orca2_10.png]" /></td></tr></table><div class="caption"> 578 578 <p> 579 cf. 579 cf. 580 580 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 581 581 </div></div> … … 583 583 <div class="figure"><a name="tst_plt_orca2_stride_01.png" id="tst_plt_orca2_stride_01.png"></a><p class="title"><b>Figure 62. 584 584 plot figpng/tst_plt_orca2_stride_01.png</b></p><div class="figure-contents"> 585 585 586 586 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca2_stride_01.png" alt="[plot figpng/tst_plt_orca2_stride_01.png]" /></td></tr></table><div class="caption"> 587 587 <p> 588 cf. 588 cf. 589 589 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 590 590 </div></div> … … 592 592 <div class="figure"><a name="tst_plt_orca2_stride_02.png" id="tst_plt_orca2_stride_02.png"></a><p class="title"><b>Figure 63. 593 593 plot figpng/tst_plt_orca2_stride_02.png</b></p><div class="figure-contents"> 594 594 595 595 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca2_stride_02.png" alt="[plot figpng/tst_plt_orca2_stride_02.png]" /></td></tr></table><div class="caption"> 596 596 <p> 597 cf. 597 cf. 598 598 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 599 599 </div></div> … … 601 601 <div class="figure"><a name="tst_plt_orca2_stride_03.png" id="tst_plt_orca2_stride_03.png"></a><p class="title"><b>Figure 64. 602 602 plot figpng/tst_plt_orca2_stride_03.png</b></p><div class="figure-contents"> 603 603 604 604 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca2_stride_03.png" alt="[plot figpng/tst_plt_orca2_stride_03.png]" /></td></tr></table><div class="caption"> 605 605 <p> 606 cf. 606 cf. 607 607 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 608 608 </div></div> … … 610 610 <div class="figure"><a name="tst_plt_orca2_stride_04.png" id="tst_plt_orca2_stride_04.png"></a><p class="title"><b>Figure 65. 611 611 plot figpng/tst_plt_orca2_stride_04.png</b></p><div class="figure-contents"> 612 612 613 613 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca2_stride_04.png" alt="[plot figpng/tst_plt_orca2_stride_04.png]" /></td></tr></table><div class="caption"> 614 614 <p> 615 cf. 615 cf. 616 616 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 617 617 </div></div> … … 619 619 <div class="figure"><a name="tst_plt_orca2_stride_05.png" id="tst_plt_orca2_stride_05.png"></a><p class="title"><b>Figure 66. 620 620 plot figpng/tst_plt_orca2_stride_05.png</b></p><div class="figure-contents"> 621 621 622 622 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca2_stride_05.png" alt="[plot figpng/tst_plt_orca2_stride_05.png]" /></td></tr></table><div class="caption"> 623 623 <p> 624 cf. 624 cf. 625 625 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 626 626 </div></div> … … 628 628 <div class="figure"><a name="tst_plt_orca2_stride_06.png" id="tst_plt_orca2_stride_06.png"></a><p class="title"><b>Figure 67. 629 629 plot figpng/tst_plt_orca2_stride_06.png</b></p><div class="figure-contents"> 630 630 631 631 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca2_stride_06.png" alt="[plot figpng/tst_plt_orca2_stride_06.png]" /></td></tr></table><div class="caption"> 632 632 <p> 633 cf. 633 cf. 634 634 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 635 635 </div></div> … … 637 637 <div class="figure"><a name="tst_plt_orca2_stride_07.png" id="tst_plt_orca2_stride_07.png"></a><p class="title"><b>Figure 68. 638 638 plot figpng/tst_plt_orca2_stride_07.png</b></p><div class="figure-contents"> 639 639 640 640 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca2_stride_07.png" alt="[plot figpng/tst_plt_orca2_stride_07.png]" /></td></tr></table><div class="caption"> 641 641 <p> 642 cf. 642 cf. 643 643 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 644 644 </div></div> … … 646 646 <div class="figure"><a name="tst_plt_orca2_stride_08.png" id="tst_plt_orca2_stride_08.png"></a><p class="title"><b>Figure 69. 647 647 plot figpng/tst_plt_orca2_stride_08.png</b></p><div class="figure-contents"> 648 648 649 649 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca2_stride_08.png" alt="[plot figpng/tst_plt_orca2_stride_08.png]" /></td></tr></table><div class="caption"> 650 650 <p> 651 cf. 651 cf. 652 652 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 653 653 </div></div> … … 655 655 <div class="figure"><a name="tst_plt_orca2_stride_09.png" id="tst_plt_orca2_stride_09.png"></a><p class="title"><b>Figure 70. 656 656 plot figpng/tst_plt_orca2_stride_09.png</b></p><div class="figure-contents"> 657 657 658 658 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca2_stride_09.png" alt="[plot figpng/tst_plt_orca2_stride_09.png]" /></td></tr></table><div class="caption"> 659 659 <p> 660 cf. 660 cf. 661 661 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 662 662 </div></div> … … 664 664 <div class="figure"><a name="tst_plt_orca2_stride_10.png" id="tst_plt_orca2_stride_10.png"></a><p class="title"><b>Figure 71. 665 665 plot figpng/tst_plt_orca2_stride_10.png</b></p><div class="figure-contents"> 666 666 667 667 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_plt_orca2_stride_10.png" alt="[plot figpng/tst_plt_orca2_stride_10.png]" /></td></tr></table><div class="caption"> 668 668 <p> 669 cf. 669 cf. 670 670 <a class="link" href="firststeps.html#plt" target="_top"> Horizontal plots and maps </a> in First steps with SAXO </p> 671 671 </div></div> … … 673 673 <div class="figure"><a name="tst_pltt_lev_01.png" id="tst_pltt_lev_01.png"></a><p class="title"><b>Figure 72. 674 674 plot figpng/tst_pltt_lev_01.png</b></p><div class="figure-contents"> 675 675 676 676 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_lev_01.png" alt="[plot figpng/tst_pltt_lev_01.png]" /></td></tr></table><div class="caption"> 677 677 <p> 678 cf. 678 cf. 679 679 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 680 680 </div></div> … … 682 682 <div class="figure"><a name="tst_pltt_lev_02.png" id="tst_pltt_lev_02.png"></a><p class="title"><b>Figure 73. 683 683 plot figpng/tst_pltt_lev_02.png</b></p><div class="figure-contents"> 684 684 685 685 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_lev_02.png" alt="[plot figpng/tst_pltt_lev_02.png]" /></td></tr></table><div class="caption"> 686 686 <p> 687 cf. 687 cf. 688 688 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 689 689 </div></div> … … 691 691 <div class="figure"><a name="tst_pltt_lev_03.png" id="tst_pltt_lev_03.png"></a><p class="title"><b>Figure 74. 692 692 plot figpng/tst_pltt_lev_03.png</b></p><div class="figure-contents"> 693 693 694 694 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_lev_03.png" alt="[plot figpng/tst_pltt_lev_03.png]" /></td></tr></table><div class="caption"> 695 695 <p> 696 cf. 696 cf. 697 697 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 698 698 </div></div> … … 700 700 <div class="figure"><a name="tst_pltt_lev_04.png" id="tst_pltt_lev_04.png"></a><p class="title"><b>Figure 75. 701 701 plot figpng/tst_pltt_lev_04.png</b></p><div class="figure-contents"> 702 702 703 703 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_lev_04.png" alt="[plot figpng/tst_pltt_lev_04.png]" /></td></tr></table><div class="caption"> 704 704 <p> 705 cf. 705 cf. 706 706 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 707 707 </div></div> … … 709 709 <div class="figure"><a name="tst_pltt_lev_05.png" id="tst_pltt_lev_05.png"></a><p class="title"><b>Figure 76. 710 710 plot figpng/tst_pltt_lev_05.png</b></p><div class="figure-contents"> 711 711 712 712 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_lev_05.png" alt="[plot figpng/tst_pltt_lev_05.png]" /></td></tr></table><div class="caption"> 713 713 <p> 714 cf. 714 cf. 715 715 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 716 716 </div></div> … … 718 718 <div class="figure"><a name="tst_pltt_lev_06.png" id="tst_pltt_lev_06.png"></a><p class="title"><b>Figure 77. 719 719 plot figpng/tst_pltt_lev_06.png</b></p><div class="figure-contents"> 720 720 721 721 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_lev_06.png" alt="[plot figpng/tst_pltt_lev_06.png]" /></td></tr></table><div class="caption"> 722 722 <p> 723 cf. 723 cf. 724 724 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 725 725 </div></div> … … 727 727 <div class="figure"><a name="tst_pltt_lev_stride_01.png" id="tst_pltt_lev_stride_01.png"></a><p class="title"><b>Figure 78. 728 728 plot figpng/tst_pltt_lev_stride_01.png</b></p><div class="figure-contents"> 729 729 730 730 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_lev_stride_01.png" alt="[plot figpng/tst_pltt_lev_stride_01.png]" /></td></tr></table><div class="caption"> 731 731 <p> 732 cf. 732 cf. 733 733 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 734 734 </div></div> … … 736 736 <div class="figure"><a name="tst_pltt_lev_stride_02.png" id="tst_pltt_lev_stride_02.png"></a><p class="title"><b>Figure 79. 737 737 plot figpng/tst_pltt_lev_stride_02.png</b></p><div class="figure-contents"> 738 738 739 739 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_lev_stride_02.png" alt="[plot figpng/tst_pltt_lev_stride_02.png]" /></td></tr></table><div class="caption"> 740 740 <p> 741 cf. 741 cf. 742 742 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 743 743 </div></div> … … 745 745 <div class="figure"><a name="tst_pltt_lev_stride_03.png" id="tst_pltt_lev_stride_03.png"></a><p class="title"><b>Figure 80. 746 746 plot figpng/tst_pltt_lev_stride_03.png</b></p><div class="figure-contents"> 747 747 748 748 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_lev_stride_03.png" alt="[plot figpng/tst_pltt_lev_stride_03.png]" /></td></tr></table><div class="caption"> 749 749 <p> 750 cf. 750 cf. 751 751 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 752 752 </div></div> … … 754 754 <div class="figure"><a name="tst_pltt_lev_stride_04.png" id="tst_pltt_lev_stride_04.png"></a><p class="title"><b>Figure 81. 755 755 plot figpng/tst_pltt_lev_stride_04.png</b></p><div class="figure-contents"> 756 756 757 757 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_lev_stride_04.png" alt="[plot figpng/tst_pltt_lev_stride_04.png]" /></td></tr></table><div class="caption"> 758 758 <p> 759 cf. 759 cf. 760 760 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 761 761 </div></div> … … 763 763 <div class="figure"><a name="tst_pltt_lev_stride_05.png" id="tst_pltt_lev_stride_05.png"></a><p class="title"><b>Figure 82. 764 764 plot figpng/tst_pltt_lev_stride_05.png</b></p><div class="figure-contents"> 765 765 766 766 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_lev_stride_05.png" alt="[plot figpng/tst_pltt_lev_stride_05.png]" /></td></tr></table><div class="caption"> 767 767 <p> 768 cf. 768 cf. 769 769 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 770 770 </div></div> … … 772 772 <div class="figure"><a name="tst_pltt_lev_stride_06.png" id="tst_pltt_lev_stride_06.png"></a><p class="title"><b>Figure 83. 773 773 plot figpng/tst_pltt_lev_stride_06.png</b></p><div class="figure-contents"> 774 774 775 775 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_lev_stride_06.png" alt="[plot figpng/tst_pltt_lev_stride_06.png]" /></td></tr></table><div class="caption"> 776 776 <p> 777 cf. 777 cf. 778 778 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 779 779 </div></div> … … 781 781 <div class="figure"><a name="tst_pltt_orca05_01.png" id="tst_pltt_orca05_01.png"></a><p class="title"><b>Figure 84. 782 782 plot figpng/tst_pltt_orca05_01.png</b></p><div class="figure-contents"> 783 783 784 784 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_orca05_01.png" alt="[plot figpng/tst_pltt_orca05_01.png]" /></td></tr></table><div class="caption"> 785 785 <p> 786 cf. 786 cf. 787 787 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 788 788 </div></div> … … 790 790 <div class="figure"><a name="tst_pltt_orca05_02.png" id="tst_pltt_orca05_02.png"></a><p class="title"><b>Figure 85. 791 791 plot figpng/tst_pltt_orca05_02.png</b></p><div class="figure-contents"> 792 792 793 793 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_orca05_02.png" alt="[plot figpng/tst_pltt_orca05_02.png]" /></td></tr></table><div class="caption"> 794 794 <p> 795 cf. 795 cf. 796 796 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 797 797 </div></div> … … 799 799 <div class="figure"><a name="tst_pltt_orca05_03.png" id="tst_pltt_orca05_03.png"></a><p class="title"><b>Figure 86. 800 800 plot figpng/tst_pltt_orca05_03.png</b></p><div class="figure-contents"> 801 801 802 802 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_orca05_03.png" alt="[plot figpng/tst_pltt_orca05_03.png]" /></td></tr></table><div class="caption"> 803 803 <p> 804 cf. 804 cf. 805 805 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 806 806 </div></div> … … 808 808 <div class="figure"><a name="tst_pltt_orca05_04.png" id="tst_pltt_orca05_04.png"></a><p class="title"><b>Figure 87. 809 809 plot figpng/tst_pltt_orca05_04.png</b></p><div class="figure-contents"> 810 810 811 811 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_orca05_04.png" alt="[plot figpng/tst_pltt_orca05_04.png]" /></td></tr></table><div class="caption"> 812 812 <p> 813 cf. 813 cf. 814 814 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 815 815 </div></div> … … 817 817 <div class="figure"><a name="tst_pltt_orca05_05.png" id="tst_pltt_orca05_05.png"></a><p class="title"><b>Figure 88. 818 818 plot figpng/tst_pltt_orca05_05.png</b></p><div class="figure-contents"> 819 819 820 820 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_orca05_05.png" alt="[plot figpng/tst_pltt_orca05_05.png]" /></td></tr></table><div class="caption"> 821 821 <p> 822 cf. 822 cf. 823 823 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 824 824 </div></div> … … 826 826 <div class="figure"><a name="tst_pltt_orca05_06.png" id="tst_pltt_orca05_06.png"></a><p class="title"><b>Figure 89. 827 827 plot figpng/tst_pltt_orca05_06.png</b></p><div class="figure-contents"> 828 828 829 829 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_orca05_06.png" alt="[plot figpng/tst_pltt_orca05_06.png]" /></td></tr></table><div class="caption"> 830 830 <p> 831 cf. 831 cf. 832 832 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 833 833 </div></div> … … 835 835 <div class="figure"><a name="tst_pltt_orca05_stride_01.png" id="tst_pltt_orca05_stride_01.png"></a><p class="title"><b>Figure 90. 836 836 plot figpng/tst_pltt_orca05_stride_01.png</b></p><div class="figure-contents"> 837 837 838 838 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_orca05_stride_01.png" alt="[plot figpng/tst_pltt_orca05_stride_01.png]" /></td></tr></table><div class="caption"> 839 839 <p> 840 cf. 840 cf. 841 841 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 842 842 </div></div> … … 844 844 <div class="figure"><a name="tst_pltt_orca05_stride_02.png" id="tst_pltt_orca05_stride_02.png"></a><p class="title"><b>Figure 91. 845 845 plot figpng/tst_pltt_orca05_stride_02.png</b></p><div class="figure-contents"> 846 846 847 847 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_orca05_stride_02.png" alt="[plot figpng/tst_pltt_orca05_stride_02.png]" /></td></tr></table><div class="caption"> 848 848 <p> 849 cf. 849 cf. 850 850 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 851 851 </div></div> … … 853 853 <div class="figure"><a name="tst_pltt_orca05_stride_03.png" id="tst_pltt_orca05_stride_03.png"></a><p class="title"><b>Figure 92. 854 854 plot figpng/tst_pltt_orca05_stride_03.png</b></p><div class="figure-contents"> 855 855 856 856 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_orca05_stride_03.png" alt="[plot figpng/tst_pltt_orca05_stride_03.png]" /></td></tr></table><div class="caption"> 857 857 <p> 858 cf. 858 cf. 859 859 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 860 860 </div></div> … … 862 862 <div class="figure"><a name="tst_pltt_orca05_stride_04.png" id="tst_pltt_orca05_stride_04.png"></a><p class="title"><b>Figure 93. 863 863 plot figpng/tst_pltt_orca05_stride_04.png</b></p><div class="figure-contents"> 864 864 865 865 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_orca05_stride_04.png" alt="[plot figpng/tst_pltt_orca05_stride_04.png]" /></td></tr></table><div class="caption"> 866 866 <p> 867 cf. 867 cf. 868 868 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 869 869 </div></div> … … 871 871 <div class="figure"><a name="tst_pltt_orca05_stride_05.png" id="tst_pltt_orca05_stride_05.png"></a><p class="title"><b>Figure 94. 872 872 plot figpng/tst_pltt_orca05_stride_05.png</b></p><div class="figure-contents"> 873 873 874 874 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_orca05_stride_05.png" alt="[plot figpng/tst_pltt_orca05_stride_05.png]" /></td></tr></table><div class="caption"> 875 875 <p> 876 cf. 876 cf. 877 877 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 878 878 </div></div> … … 880 880 <div class="figure"><a name="tst_pltt_orca05_stride_06.png" id="tst_pltt_orca05_stride_06.png"></a><p class="title"><b>Figure 95. 881 881 plot figpng/tst_pltt_orca05_stride_06.png</b></p><div class="figure-contents"> 882 882 883 883 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_orca05_stride_06.png" alt="[plot figpng/tst_pltt_orca05_stride_06.png]" /></td></tr></table><div class="caption"> 884 884 <p> 885 cf. 885 cf. 886 886 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 887 887 </div></div> … … 889 889 <div class="figure"><a name="tst_pltt_orca2_01.png" id="tst_pltt_orca2_01.png"></a><p class="title"><b>Figure 96. 890 890 plot figpng/tst_pltt_orca2_01.png</b></p><div class="figure-contents"> 891 891 892 892 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_orca2_01.png" alt="[plot figpng/tst_pltt_orca2_01.png]" /></td></tr></table><div class="caption"> 893 893 <p> 894 cf. 894 cf. 895 895 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 896 896 </div></div> … … 898 898 <div class="figure"><a name="tst_pltt_orca2_02.png" id="tst_pltt_orca2_02.png"></a><p class="title"><b>Figure 97. 899 899 plot figpng/tst_pltt_orca2_02.png</b></p><div class="figure-contents"> 900 900 901 901 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_orca2_02.png" alt="[plot figpng/tst_pltt_orca2_02.png]" /></td></tr></table><div class="caption"> 902 902 <p> 903 cf. 903 cf. 904 904 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 905 905 </div></div> … … 907 907 <div class="figure"><a name="tst_pltt_orca2_03.png" id="tst_pltt_orca2_03.png"></a><p class="title"><b>Figure 98. 908 908 plot figpng/tst_pltt_orca2_03.png</b></p><div class="figure-contents"> 909 909 910 910 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_orca2_03.png" alt="[plot figpng/tst_pltt_orca2_03.png]" /></td></tr></table><div class="caption"> 911 911 <p> 912 cf. 912 cf. 913 913 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 914 914 </div></div> … … 916 916 <div class="figure"><a name="tst_pltt_orca2_04.png" id="tst_pltt_orca2_04.png"></a><p class="title"><b>Figure 99. 917 917 plot figpng/tst_pltt_orca2_04.png</b></p><div class="figure-contents"> 918 918 919 919 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_orca2_04.png" alt="[plot figpng/tst_pltt_orca2_04.png]" /></td></tr></table><div class="caption"> 920 920 <p> 921 cf. 921 cf. 922 922 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 923 923 </div></div> … … 925 925 <div class="figure"><a name="tst_pltt_orca2_05.png" id="tst_pltt_orca2_05.png"></a><p class="title"><b>Figure 100. 926 926 plot figpng/tst_pltt_orca2_05.png</b></p><div class="figure-contents"> 927 927 928 928 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_orca2_05.png" alt="[plot figpng/tst_pltt_orca2_05.png]" /></td></tr></table><div class="caption"> 929 929 <p> 930 cf. 930 cf. 931 931 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 932 932 </div></div> … … 934 934 <div class="figure"><a name="tst_pltt_orca2_06.png" id="tst_pltt_orca2_06.png"></a><p class="title"><b>Figure 101. 935 935 plot figpng/tst_pltt_orca2_06.png</b></p><div class="figure-contents"> 936 936 937 937 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_orca2_06.png" alt="[plot figpng/tst_pltt_orca2_06.png]" /></td></tr></table><div class="caption"> 938 938 <p> 939 cf. 939 cf. 940 940 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 941 941 </div></div> … … 943 943 <div class="figure"><a name="tst_pltt_orca2_stride_01.png" id="tst_pltt_orca2_stride_01.png"></a><p class="title"><b>Figure 102. 944 944 plot figpng/tst_pltt_orca2_stride_01.png</b></p><div class="figure-contents"> 945 945 946 946 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_orca2_stride_01.png" alt="[plot figpng/tst_pltt_orca2_stride_01.png]" /></td></tr></table><div class="caption"> 947 947 <p> 948 cf. 948 cf. 949 949 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 950 950 </div></div> … … 952 952 <div class="figure"><a name="tst_pltt_orca2_stride_02.png" id="tst_pltt_orca2_stride_02.png"></a><p class="title"><b>Figure 103. 953 953 plot figpng/tst_pltt_orca2_stride_02.png</b></p><div class="figure-contents"> 954 954 955 955 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_orca2_stride_02.png" alt="[plot figpng/tst_pltt_orca2_stride_02.png]" /></td></tr></table><div class="caption"> 956 956 <p> 957 cf. 957 cf. 958 958 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 959 959 </div></div> … … 961 961 <div class="figure"><a name="tst_pltt_orca2_stride_03.png" id="tst_pltt_orca2_stride_03.png"></a><p class="title"><b>Figure 104. 962 962 plot figpng/tst_pltt_orca2_stride_03.png</b></p><div class="figure-contents"> 963 963 964 964 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_orca2_stride_03.png" alt="[plot figpng/tst_pltt_orca2_stride_03.png]" /></td></tr></table><div class="caption"> 965 965 <p> 966 cf. 966 cf. 967 967 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 968 968 </div></div> … … 970 970 <div class="figure"><a name="tst_pltt_orca2_stride_04.png" id="tst_pltt_orca2_stride_04.png"></a><p class="title"><b>Figure 105. 971 971 plot figpng/tst_pltt_orca2_stride_04.png</b></p><div class="figure-contents"> 972 972 973 973 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_orca2_stride_04.png" alt="[plot figpng/tst_pltt_orca2_stride_04.png]" /></td></tr></table><div class="caption"> 974 974 <p> 975 cf. 975 cf. 976 976 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 977 977 </div></div> … … 979 979 <div class="figure"><a name="tst_pltt_orca2_stride_05.png" id="tst_pltt_orca2_stride_05.png"></a><p class="title"><b>Figure 106. 980 980 plot figpng/tst_pltt_orca2_stride_05.png</b></p><div class="figure-contents"> 981 981 982 982 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_orca2_stride_05.png" alt="[plot figpng/tst_pltt_orca2_stride_05.png]" /></td></tr></table><div class="caption"> 983 983 <p> 984 cf. 984 cf. 985 985 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 986 986 </div></div> … … 988 988 <div class="figure"><a name="tst_pltt_orca2_stride_06.png" id="tst_pltt_orca2_stride_06.png"></a><p class="title"><b>Figure 107. 989 989 plot figpng/tst_pltt_orca2_stride_06.png</b></p><div class="figure-contents"> 990 990 991 991 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltt_orca2_stride_06.png" alt="[plot figpng/tst_pltt_orca2_stride_06.png]" /></td></tr></table><div class="caption"> 992 992 <p> 993 cf. 993 cf. 994 994 <a class="link" href="firststeps.html#pltt" target="_top"> Hovmoellers and time series </a> in First steps with SAXO </p> 995 995 </div></div> … … 997 997 <div class="figure"><a name="tst_pltz_lev_01.png" id="tst_pltz_lev_01.png"></a><p class="title"><b>Figure 108. 998 998 plot figpng/tst_pltz_lev_01.png</b></p><div class="figure-contents"> 999 999 1000 1000 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_lev_01.png" alt="[plot figpng/tst_pltz_lev_01.png]" /></td></tr></table><div class="caption"> 1001 1001 <p> 1002 cf. 1002 cf. 1003 1003 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1004 1004 </div></div> … … 1006 1006 <div class="figure"><a name="tst_pltz_lev_02.png" id="tst_pltz_lev_02.png"></a><p class="title"><b>Figure 109. 1007 1007 plot figpng/tst_pltz_lev_02.png</b></p><div class="figure-contents"> 1008 1008 1009 1009 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_lev_02.png" alt="[plot figpng/tst_pltz_lev_02.png]" /></td></tr></table><div class="caption"> 1010 1010 <p> 1011 cf. 1011 cf. 1012 1012 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1013 1013 </div></div> … … 1015 1015 <div class="figure"><a name="tst_pltz_lev_03.png" id="tst_pltz_lev_03.png"></a><p class="title"><b>Figure 110. 1016 1016 plot figpng/tst_pltz_lev_03.png</b></p><div class="figure-contents"> 1017 1017 1018 1018 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_lev_03.png" alt="[plot figpng/tst_pltz_lev_03.png]" /></td></tr></table><div class="caption"> 1019 1019 <p> 1020 cf. 1020 cf. 1021 1021 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1022 1022 </div></div> … … 1024 1024 <div class="figure"><a name="tst_pltz_lev_04.png" id="tst_pltz_lev_04.png"></a><p class="title"><b>Figure 111. 1025 1025 plot figpng/tst_pltz_lev_04.png</b></p><div class="figure-contents"> 1026 1026 1027 1027 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_lev_04.png" alt="[plot figpng/tst_pltz_lev_04.png]" /></td></tr></table><div class="caption"> 1028 1028 <p> 1029 cf. 1029 cf. 1030 1030 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1031 1031 </div></div> … … 1033 1033 <div class="figure"><a name="tst_pltz_lev_05.png" id="tst_pltz_lev_05.png"></a><p class="title"><b>Figure 112. 1034 1034 plot figpng/tst_pltz_lev_05.png</b></p><div class="figure-contents"> 1035 1035 1036 1036 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_lev_05.png" alt="[plot figpng/tst_pltz_lev_05.png]" /></td></tr></table><div class="caption"> 1037 1037 <p> 1038 cf. 1038 cf. 1039 1039 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1040 1040 </div></div> … … 1042 1042 <div class="figure"><a name="tst_pltz_lev_06.png" id="tst_pltz_lev_06.png"></a><p class="title"><b>Figure 113. 1043 1043 plot figpng/tst_pltz_lev_06.png</b></p><div class="figure-contents"> 1044 1044 1045 1045 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_lev_06.png" alt="[plot figpng/tst_pltz_lev_06.png]" /></td></tr></table><div class="caption"> 1046 1046 <p> 1047 cf. 1047 cf. 1048 1048 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1049 1049 </div></div> … … 1051 1051 <div class="figure"><a name="tst_pltz_lev_07.png" id="tst_pltz_lev_07.png"></a><p class="title"><b>Figure 114. 1052 1052 plot figpng/tst_pltz_lev_07.png</b></p><div class="figure-contents"> 1053 1053 1054 1054 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_lev_07.png" alt="[plot figpng/tst_pltz_lev_07.png]" /></td></tr></table><div class="caption"> 1055 1055 <p> 1056 cf. 1056 cf. 1057 1057 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1058 1058 </div></div> … … 1060 1060 <div class="figure"><a name="tst_pltz_lev_08.png" id="tst_pltz_lev_08.png"></a><p class="title"><b>Figure 115. 1061 1061 plot figpng/tst_pltz_lev_08.png</b></p><div class="figure-contents"> 1062 1062 1063 1063 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_lev_08.png" alt="[plot figpng/tst_pltz_lev_08.png]" /></td></tr></table><div class="caption"> 1064 1064 <p> 1065 cf. 1065 cf. 1066 1066 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1067 1067 </div></div> … … 1069 1069 <div class="figure"><a name="tst_pltz_lev_09.png" id="tst_pltz_lev_09.png"></a><p class="title"><b>Figure 116. 1070 1070 plot figpng/tst_pltz_lev_09.png</b></p><div class="figure-contents"> 1071 1071 1072 1072 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_lev_09.png" alt="[plot figpng/tst_pltz_lev_09.png]" /></td></tr></table><div class="caption"> 1073 1073 <p> 1074 cf. 1074 cf. 1075 1075 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1076 1076 </div></div> … … 1078 1078 <div class="figure"><a name="tst_pltz_lev_10.png" id="tst_pltz_lev_10.png"></a><p class="title"><b>Figure 117. 1079 1079 plot figpng/tst_pltz_lev_10.png</b></p><div class="figure-contents"> 1080 1080 1081 1081 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_lev_10.png" alt="[plot figpng/tst_pltz_lev_10.png]" /></td></tr></table><div class="caption"> 1082 1082 <p> 1083 cf. 1083 cf. 1084 1084 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1085 1085 </div></div> … … 1087 1087 <div class="figure"><a name="tst_pltz_lev_11.png" id="tst_pltz_lev_11.png"></a><p class="title"><b>Figure 118. 1088 1088 plot figpng/tst_pltz_lev_11.png</b></p><div class="figure-contents"> 1089 1089 1090 1090 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_lev_11.png" alt="[plot figpng/tst_pltz_lev_11.png]" /></td></tr></table><div class="caption"> 1091 1091 <p> 1092 cf. 1092 cf. 1093 1093 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1094 1094 </div></div> … … 1096 1096 <div class="figure"><a name="tst_pltz_lev_stride_01.png" id="tst_pltz_lev_stride_01.png"></a><p class="title"><b>Figure 119. 1097 1097 plot figpng/tst_pltz_lev_stride_01.png</b></p><div class="figure-contents"> 1098 1098 1099 1099 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_lev_stride_01.png" alt="[plot figpng/tst_pltz_lev_stride_01.png]" /></td></tr></table><div class="caption"> 1100 1100 <p> 1101 cf. 1101 cf. 1102 1102 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1103 1103 </div></div> … … 1105 1105 <div class="figure"><a name="tst_pltz_lev_stride_02.png" id="tst_pltz_lev_stride_02.png"></a><p class="title"><b>Figure 120. 1106 1106 plot figpng/tst_pltz_lev_stride_02.png</b></p><div class="figure-contents"> 1107 1107 1108 1108 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_lev_stride_02.png" alt="[plot figpng/tst_pltz_lev_stride_02.png]" /></td></tr></table><div class="caption"> 1109 1109 <p> 1110 cf. 1110 cf. 1111 1111 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1112 1112 </div></div> … … 1114 1114 <div class="figure"><a name="tst_pltz_lev_stride_03.png" id="tst_pltz_lev_stride_03.png"></a><p class="title"><b>Figure 121. 1115 1115 plot figpng/tst_pltz_lev_stride_03.png</b></p><div class="figure-contents"> 1116 1116 1117 1117 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_lev_stride_03.png" alt="[plot figpng/tst_pltz_lev_stride_03.png]" /></td></tr></table><div class="caption"> 1118 1118 <p> 1119 cf. 1119 cf. 1120 1120 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1121 1121 </div></div> … … 1123 1123 <div class="figure"><a name="tst_pltz_lev_stride_04.png" id="tst_pltz_lev_stride_04.png"></a><p class="title"><b>Figure 122. 1124 1124 plot figpng/tst_pltz_lev_stride_04.png</b></p><div class="figure-contents"> 1125 1125 1126 1126 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_lev_stride_04.png" alt="[plot figpng/tst_pltz_lev_stride_04.png]" /></td></tr></table><div class="caption"> 1127 1127 <p> 1128 cf. 1128 cf. 1129 1129 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1130 1130 </div></div> … … 1132 1132 <div class="figure"><a name="tst_pltz_lev_stride_05.png" id="tst_pltz_lev_stride_05.png"></a><p class="title"><b>Figure 123. 1133 1133 plot figpng/tst_pltz_lev_stride_05.png</b></p><div class="figure-contents"> 1134 1134 1135 1135 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_lev_stride_05.png" alt="[plot figpng/tst_pltz_lev_stride_05.png]" /></td></tr></table><div class="caption"> 1136 1136 <p> 1137 cf. 1137 cf. 1138 1138 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1139 1139 </div></div> … … 1141 1141 <div class="figure"><a name="tst_pltz_lev_stride_06.png" id="tst_pltz_lev_stride_06.png"></a><p class="title"><b>Figure 124. 1142 1142 plot figpng/tst_pltz_lev_stride_06.png</b></p><div class="figure-contents"> 1143 1143 1144 1144 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_lev_stride_06.png" alt="[plot figpng/tst_pltz_lev_stride_06.png]" /></td></tr></table><div class="caption"> 1145 1145 <p> 1146 cf. 1146 cf. 1147 1147 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1148 1148 </div></div> … … 1150 1150 <div class="figure"><a name="tst_pltz_lev_stride_07.png" id="tst_pltz_lev_stride_07.png"></a><p class="title"><b>Figure 125. 1151 1151 plot figpng/tst_pltz_lev_stride_07.png</b></p><div class="figure-contents"> 1152 1152 1153 1153 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_lev_stride_07.png" alt="[plot figpng/tst_pltz_lev_stride_07.png]" /></td></tr></table><div class="caption"> 1154 1154 <p> 1155 cf. 1155 cf. 1156 1156 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1157 1157 </div></div> … … 1159 1159 <div class="figure"><a name="tst_pltz_lev_stride_08.png" id="tst_pltz_lev_stride_08.png"></a><p class="title"><b>Figure 126. 1160 1160 plot figpng/tst_pltz_lev_stride_08.png</b></p><div class="figure-contents"> 1161 1161 1162 1162 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_lev_stride_08.png" alt="[plot figpng/tst_pltz_lev_stride_08.png]" /></td></tr></table><div class="caption"> 1163 1163 <p> 1164 cf. 1164 cf. 1165 1165 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1166 1166 </div></div> … … 1168 1168 <div class="figure"><a name="tst_pltz_lev_stride_09.png" id="tst_pltz_lev_stride_09.png"></a><p class="title"><b>Figure 127. 1169 1169 plot figpng/tst_pltz_lev_stride_09.png</b></p><div class="figure-contents"> 1170 1170 1171 1171 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_lev_stride_09.png" alt="[plot figpng/tst_pltz_lev_stride_09.png]" /></td></tr></table><div class="caption"> 1172 1172 <p> 1173 cf. 1173 cf. 1174 1174 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1175 1175 </div></div> … … 1177 1177 <div class="figure"><a name="tst_pltz_lev_stride_10.png" id="tst_pltz_lev_stride_10.png"></a><p class="title"><b>Figure 128. 1178 1178 plot figpng/tst_pltz_lev_stride_10.png</b></p><div class="figure-contents"> 1179 1179 1180 1180 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_lev_stride_10.png" alt="[plot figpng/tst_pltz_lev_stride_10.png]" /></td></tr></table><div class="caption"> 1181 1181 <p> 1182 cf. 1182 cf. 1183 1183 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1184 1184 </div></div> … … 1186 1186 <div class="figure"><a name="tst_pltz_lev_stride_11.png" id="tst_pltz_lev_stride_11.png"></a><p class="title"><b>Figure 129. 1187 1187 plot figpng/tst_pltz_lev_stride_11.png</b></p><div class="figure-contents"> 1188 1188 1189 1189 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_lev_stride_11.png" alt="[plot figpng/tst_pltz_lev_stride_11.png]" /></td></tr></table><div class="caption"> 1190 1190 <p> 1191 cf. 1191 cf. 1192 1192 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1193 1193 </div></div> … … 1195 1195 <div class="figure"><a name="tst_pltz_orca05_01.png" id="tst_pltz_orca05_01.png"></a><p class="title"><b>Figure 130. 1196 1196 plot figpng/tst_pltz_orca05_01.png</b></p><div class="figure-contents"> 1197 1197 1198 1198 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca05_01.png" alt="[plot figpng/tst_pltz_orca05_01.png]" /></td></tr></table><div class="caption"> 1199 1199 <p> 1200 cf. 1200 cf. 1201 1201 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1202 1202 </div></div> … … 1204 1204 <div class="figure"><a name="tst_pltz_orca05_02.png" id="tst_pltz_orca05_02.png"></a><p class="title"><b>Figure 131. 1205 1205 plot figpng/tst_pltz_orca05_02.png</b></p><div class="figure-contents"> 1206 1206 1207 1207 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca05_02.png" alt="[plot figpng/tst_pltz_orca05_02.png]" /></td></tr></table><div class="caption"> 1208 1208 <p> 1209 cf. 1209 cf. 1210 1210 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1211 1211 </div></div> … … 1213 1213 <div class="figure"><a name="tst_pltz_orca05_03.png" id="tst_pltz_orca05_03.png"></a><p class="title"><b>Figure 132. 1214 1214 plot figpng/tst_pltz_orca05_03.png</b></p><div class="figure-contents"> 1215 1215 1216 1216 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca05_03.png" alt="[plot figpng/tst_pltz_orca05_03.png]" /></td></tr></table><div class="caption"> 1217 1217 <p> 1218 cf. 1218 cf. 1219 1219 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1220 1220 </div></div> … … 1222 1222 <div class="figure"><a name="tst_pltz_orca05_04.png" id="tst_pltz_orca05_04.png"></a><p class="title"><b>Figure 133. 1223 1223 plot figpng/tst_pltz_orca05_04.png</b></p><div class="figure-contents"> 1224 1224 1225 1225 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca05_04.png" alt="[plot figpng/tst_pltz_orca05_04.png]" /></td></tr></table><div class="caption"> 1226 1226 <p> 1227 cf. 1227 cf. 1228 1228 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1229 1229 </div></div> … … 1231 1231 <div class="figure"><a name="tst_pltz_orca05_05.png" id="tst_pltz_orca05_05.png"></a><p class="title"><b>Figure 134. 1232 1232 plot figpng/tst_pltz_orca05_05.png</b></p><div class="figure-contents"> 1233 1233 1234 1234 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca05_05.png" alt="[plot figpng/tst_pltz_orca05_05.png]" /></td></tr></table><div class="caption"> 1235 1235 <p> 1236 cf. 1236 cf. 1237 1237 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1238 1238 </div></div> … … 1240 1240 <div class="figure"><a name="tst_pltz_orca05_06.png" id="tst_pltz_orca05_06.png"></a><p class="title"><b>Figure 135. 1241 1241 plot figpng/tst_pltz_orca05_06.png</b></p><div class="figure-contents"> 1242 1242 1243 1243 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca05_06.png" alt="[plot figpng/tst_pltz_orca05_06.png]" /></td></tr></table><div class="caption"> 1244 1244 <p> 1245 cf. 1245 cf. 1246 1246 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1247 1247 </div></div> … … 1249 1249 <div class="figure"><a name="tst_pltz_orca05_07.png" id="tst_pltz_orca05_07.png"></a><p class="title"><b>Figure 136. 1250 1250 plot figpng/tst_pltz_orca05_07.png</b></p><div class="figure-contents"> 1251 1251 1252 1252 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca05_07.png" alt="[plot figpng/tst_pltz_orca05_07.png]" /></td></tr></table><div class="caption"> 1253 1253 <p> 1254 cf. 1254 cf. 1255 1255 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1256 1256 </div></div> … … 1258 1258 <div class="figure"><a name="tst_pltz_orca05_08.png" id="tst_pltz_orca05_08.png"></a><p class="title"><b>Figure 137. 1259 1259 plot figpng/tst_pltz_orca05_08.png</b></p><div class="figure-contents"> 1260 1260 1261 1261 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca05_08.png" alt="[plot figpng/tst_pltz_orca05_08.png]" /></td></tr></table><div class="caption"> 1262 1262 <p> 1263 cf. 1263 cf. 1264 1264 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1265 1265 </div></div> … … 1267 1267 <div class="figure"><a name="tst_pltz_orca05_09.png" id="tst_pltz_orca05_09.png"></a><p class="title"><b>Figure 138. 1268 1268 plot figpng/tst_pltz_orca05_09.png</b></p><div class="figure-contents"> 1269 1269 1270 1270 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca05_09.png" alt="[plot figpng/tst_pltz_orca05_09.png]" /></td></tr></table><div class="caption"> 1271 1271 <p> 1272 cf. 1272 cf. 1273 1273 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1274 1274 </div></div> … … 1276 1276 <div class="figure"><a name="tst_pltz_orca05_10.png" id="tst_pltz_orca05_10.png"></a><p class="title"><b>Figure 139. 1277 1277 plot figpng/tst_pltz_orca05_10.png</b></p><div class="figure-contents"> 1278 1278 1279 1279 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca05_10.png" alt="[plot figpng/tst_pltz_orca05_10.png]" /></td></tr></table><div class="caption"> 1280 1280 <p> 1281 cf. 1281 cf. 1282 1282 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1283 1283 </div></div> … … 1285 1285 <div class="figure"><a name="tst_pltz_orca05_11.png" id="tst_pltz_orca05_11.png"></a><p class="title"><b>Figure 140. 1286 1286 plot figpng/tst_pltz_orca05_11.png</b></p><div class="figure-contents"> 1287 1287 1288 1288 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca05_11.png" alt="[plot figpng/tst_pltz_orca05_11.png]" /></td></tr></table><div class="caption"> 1289 1289 <p> 1290 cf. 1290 cf. 1291 1291 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1292 1292 </div></div> … … 1294 1294 <div class="figure"><a name="tst_pltz_orca05_12.png" id="tst_pltz_orca05_12.png"></a><p class="title"><b>Figure 141. 1295 1295 plot figpng/tst_pltz_orca05_12.png</b></p><div class="figure-contents"> 1296 1296 1297 1297 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca05_12.png" alt="[plot figpng/tst_pltz_orca05_12.png]" /></td></tr></table><div class="caption"> 1298 1298 <p> 1299 cf. 1299 cf. 1300 1300 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1301 1301 </div></div> … … 1303 1303 <div class="figure"><a name="tst_pltz_orca05_stride_01.png" id="tst_pltz_orca05_stride_01.png"></a><p class="title"><b>Figure 142. 1304 1304 plot figpng/tst_pltz_orca05_stride_01.png</b></p><div class="figure-contents"> 1305 1305 1306 1306 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca05_stride_01.png" alt="[plot figpng/tst_pltz_orca05_stride_01.png]" /></td></tr></table><div class="caption"> 1307 1307 <p> 1308 cf. 1308 cf. 1309 1309 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1310 1310 </div></div> … … 1312 1312 <div class="figure"><a name="tst_pltz_orca05_stride_02.png" id="tst_pltz_orca05_stride_02.png"></a><p class="title"><b>Figure 143. 1313 1313 plot figpng/tst_pltz_orca05_stride_02.png</b></p><div class="figure-contents"> 1314 1314 1315 1315 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca05_stride_02.png" alt="[plot figpng/tst_pltz_orca05_stride_02.png]" /></td></tr></table><div class="caption"> 1316 1316 <p> 1317 cf. 1317 cf. 1318 1318 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1319 1319 </div></div> … … 1321 1321 <div class="figure"><a name="tst_pltz_orca05_stride_03.png" id="tst_pltz_orca05_stride_03.png"></a><p class="title"><b>Figure 144. 1322 1322 plot figpng/tst_pltz_orca05_stride_03.png</b></p><div class="figure-contents"> 1323 1323 1324 1324 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca05_stride_03.png" alt="[plot figpng/tst_pltz_orca05_stride_03.png]" /></td></tr></table><div class="caption"> 1325 1325 <p> 1326 cf. 1326 cf. 1327 1327 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1328 1328 </div></div> … … 1330 1330 <div class="figure"><a name="tst_pltz_orca05_stride_04.png" id="tst_pltz_orca05_stride_04.png"></a><p class="title"><b>Figure 145. 1331 1331 plot figpng/tst_pltz_orca05_stride_04.png</b></p><div class="figure-contents"> 1332 1332 1333 1333 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca05_stride_04.png" alt="[plot figpng/tst_pltz_orca05_stride_04.png]" /></td></tr></table><div class="caption"> 1334 1334 <p> 1335 cf. 1335 cf. 1336 1336 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1337 1337 </div></div> … … 1339 1339 <div class="figure"><a name="tst_pltz_orca05_stride_05.png" id="tst_pltz_orca05_stride_05.png"></a><p class="title"><b>Figure 146. 1340 1340 plot figpng/tst_pltz_orca05_stride_05.png</b></p><div class="figure-contents"> 1341 1341 1342 1342 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca05_stride_05.png" alt="[plot figpng/tst_pltz_orca05_stride_05.png]" /></td></tr></table><div class="caption"> 1343 1343 <p> 1344 cf. 1344 cf. 1345 1345 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1346 1346 </div></div> … … 1348 1348 <div class="figure"><a name="tst_pltz_orca05_stride_06.png" id="tst_pltz_orca05_stride_06.png"></a><p class="title"><b>Figure 147. 1349 1349 plot figpng/tst_pltz_orca05_stride_06.png</b></p><div class="figure-contents"> 1350 1350 1351 1351 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca05_stride_06.png" alt="[plot figpng/tst_pltz_orca05_stride_06.png]" /></td></tr></table><div class="caption"> 1352 1352 <p> 1353 cf. 1353 cf. 1354 1354 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1355 1355 </div></div> … … 1357 1357 <div class="figure"><a name="tst_pltz_orca05_stride_07.png" id="tst_pltz_orca05_stride_07.png"></a><p class="title"><b>Figure 148. 1358 1358 plot figpng/tst_pltz_orca05_stride_07.png</b></p><div class="figure-contents"> 1359 1359 1360 1360 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca05_stride_07.png" alt="[plot figpng/tst_pltz_orca05_stride_07.png]" /></td></tr></table><div class="caption"> 1361 1361 <p> 1362 cf. 1362 cf. 1363 1363 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1364 1364 </div></div> … … 1366 1366 <div class="figure"><a name="tst_pltz_orca05_stride_08.png" id="tst_pltz_orca05_stride_08.png"></a><p class="title"><b>Figure 149. 1367 1367 plot figpng/tst_pltz_orca05_stride_08.png</b></p><div class="figure-contents"> 1368 1368 1369 1369 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca05_stride_08.png" alt="[plot figpng/tst_pltz_orca05_stride_08.png]" /></td></tr></table><div class="caption"> 1370 1370 <p> 1371 cf. 1371 cf. 1372 1372 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1373 1373 </div></div> … … 1375 1375 <div class="figure"><a name="tst_pltz_orca05_stride_09.png" id="tst_pltz_orca05_stride_09.png"></a><p class="title"><b>Figure 150. 1376 1376 plot figpng/tst_pltz_orca05_stride_09.png</b></p><div class="figure-contents"> 1377 1377 1378 1378 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca05_stride_09.png" alt="[plot figpng/tst_pltz_orca05_stride_09.png]" /></td></tr></table><div class="caption"> 1379 1379 <p> 1380 cf. 1380 cf. 1381 1381 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1382 1382 </div></div> … … 1384 1384 <div class="figure"><a name="tst_pltz_orca05_stride_10.png" id="tst_pltz_orca05_stride_10.png"></a><p class="title"><b>Figure 151. 1385 1385 plot figpng/tst_pltz_orca05_stride_10.png</b></p><div class="figure-contents"> 1386 1386 1387 1387 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca05_stride_10.png" alt="[plot figpng/tst_pltz_orca05_stride_10.png]" /></td></tr></table><div class="caption"> 1388 1388 <p> 1389 cf. 1389 cf. 1390 1390 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1391 1391 </div></div> … … 1393 1393 <div class="figure"><a name="tst_pltz_orca05_stride_11.png" id="tst_pltz_orca05_stride_11.png"></a><p class="title"><b>Figure 152. 1394 1394 plot figpng/tst_pltz_orca05_stride_11.png</b></p><div class="figure-contents"> 1395 1395 1396 1396 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca05_stride_11.png" alt="[plot figpng/tst_pltz_orca05_stride_11.png]" /></td></tr></table><div class="caption"> 1397 1397 <p> 1398 cf. 1398 cf. 1399 1399 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1400 1400 </div></div> … … 1402 1402 <div class="figure"><a name="tst_pltz_orca2_01.png" id="tst_pltz_orca2_01.png"></a><p class="title"><b>Figure 153. 1403 1403 plot figpng/tst_pltz_orca2_01.png</b></p><div class="figure-contents"> 1404 1404 1405 1405 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca2_01.png" alt="[plot figpng/tst_pltz_orca2_01.png]" /></td></tr></table><div class="caption"> 1406 1406 <p> 1407 cf. 1407 cf. 1408 1408 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1409 1409 </div></div> … … 1411 1411 <div class="figure"><a name="tst_pltz_orca2_02.png" id="tst_pltz_orca2_02.png"></a><p class="title"><b>Figure 154. 1412 1412 plot figpng/tst_pltz_orca2_02.png</b></p><div class="figure-contents"> 1413 1413 1414 1414 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca2_02.png" alt="[plot figpng/tst_pltz_orca2_02.png]" /></td></tr></table><div class="caption"> 1415 1415 <p> 1416 cf. 1416 cf. 1417 1417 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1418 1418 </div></div> … … 1420 1420 <div class="figure"><a name="tst_pltz_orca2_03.png" id="tst_pltz_orca2_03.png"></a><p class="title"><b>Figure 155. 1421 1421 plot figpng/tst_pltz_orca2_03.png</b></p><div class="figure-contents"> 1422 1422 1423 1423 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca2_03.png" alt="[plot figpng/tst_pltz_orca2_03.png]" /></td></tr></table><div class="caption"> 1424 1424 <p> 1425 cf. 1425 cf. 1426 1426 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1427 1427 </div></div> … … 1429 1429 <div class="figure"><a name="tst_pltz_orca2_04.png" id="tst_pltz_orca2_04.png"></a><p class="title"><b>Figure 156. 1430 1430 plot figpng/tst_pltz_orca2_04.png</b></p><div class="figure-contents"> 1431 1431 1432 1432 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca2_04.png" alt="[plot figpng/tst_pltz_orca2_04.png]" /></td></tr></table><div class="caption"> 1433 1433 <p> 1434 cf. 1434 cf. 1435 1435 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1436 1436 </div></div> … … 1438 1438 <div class="figure"><a name="tst_pltz_orca2_05.png" id="tst_pltz_orca2_05.png"></a><p class="title"><b>Figure 157. 1439 1439 plot figpng/tst_pltz_orca2_05.png</b></p><div class="figure-contents"> 1440 1440 1441 1441 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca2_05.png" alt="[plot figpng/tst_pltz_orca2_05.png]" /></td></tr></table><div class="caption"> 1442 1442 <p> 1443 cf. 1443 cf. 1444 1444 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1445 1445 </div></div> … … 1447 1447 <div class="figure"><a name="tst_pltz_orca2_06.png" id="tst_pltz_orca2_06.png"></a><p class="title"><b>Figure 158. 1448 1448 plot figpng/tst_pltz_orca2_06.png</b></p><div class="figure-contents"> 1449 1449 1450 1450 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca2_06.png" alt="[plot figpng/tst_pltz_orca2_06.png]" /></td></tr></table><div class="caption"> 1451 1451 <p> 1452 cf. 1452 cf. 1453 1453 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1454 1454 </div></div> … … 1456 1456 <div class="figure"><a name="tst_pltz_orca2_07.png" id="tst_pltz_orca2_07.png"></a><p class="title"><b>Figure 159. 1457 1457 plot figpng/tst_pltz_orca2_07.png</b></p><div class="figure-contents"> 1458 1458 1459 1459 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca2_07.png" alt="[plot figpng/tst_pltz_orca2_07.png]" /></td></tr></table><div class="caption"> 1460 1460 <p> 1461 cf. 1461 cf. 1462 1462 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1463 1463 </div></div> … … 1465 1465 <div class="figure"><a name="tst_pltz_orca2_08.png" id="tst_pltz_orca2_08.png"></a><p class="title"><b>Figure 160. 1466 1466 plot figpng/tst_pltz_orca2_08.png</b></p><div class="figure-contents"> 1467 1467 1468 1468 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca2_08.png" alt="[plot figpng/tst_pltz_orca2_08.png]" /></td></tr></table><div class="caption"> 1469 1469 <p> 1470 cf. 1470 cf. 1471 1471 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1472 1472 </div></div> … … 1474 1474 <div class="figure"><a name="tst_pltz_orca2_09.png" id="tst_pltz_orca2_09.png"></a><p class="title"><b>Figure 161. 1475 1475 plot figpng/tst_pltz_orca2_09.png</b></p><div class="figure-contents"> 1476 1476 1477 1477 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca2_09.png" alt="[plot figpng/tst_pltz_orca2_09.png]" /></td></tr></table><div class="caption"> 1478 1478 <p> 1479 cf. 1479 cf. 1480 1480 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1481 1481 </div></div> … … 1483 1483 <div class="figure"><a name="tst_pltz_orca2_10.png" id="tst_pltz_orca2_10.png"></a><p class="title"><b>Figure 162. 1484 1484 plot figpng/tst_pltz_orca2_10.png</b></p><div class="figure-contents"> 1485 1485 1486 1486 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca2_10.png" alt="[plot figpng/tst_pltz_orca2_10.png]" /></td></tr></table><div class="caption"> 1487 1487 <p> 1488 cf. 1488 cf. 1489 1489 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1490 1490 </div></div> … … 1492 1492 <div class="figure"><a name="tst_pltz_orca2_11.png" id="tst_pltz_orca2_11.png"></a><p class="title"><b>Figure 163. 1493 1493 plot figpng/tst_pltz_orca2_11.png</b></p><div class="figure-contents"> 1494 1494 1495 1495 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca2_11.png" alt="[plot figpng/tst_pltz_orca2_11.png]" /></td></tr></table><div class="caption"> 1496 1496 <p> 1497 cf. 1497 cf. 1498 1498 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1499 1499 </div></div> … … 1501 1501 <div class="figure"><a name="tst_pltz_orca2_12.png" id="tst_pltz_orca2_12.png"></a><p class="title"><b>Figure 164. 1502 1502 plot figpng/tst_pltz_orca2_12.png</b></p><div class="figure-contents"> 1503 1503 1504 1504 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca2_12.png" alt="[plot figpng/tst_pltz_orca2_12.png]" /></td></tr></table><div class="caption"> 1505 1505 <p> 1506 cf. 1506 cf. 1507 1507 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1508 1508 </div></div> … … 1510 1510 <div class="figure"><a name="tst_pltz_orca2_stride_01.png" id="tst_pltz_orca2_stride_01.png"></a><p class="title"><b>Figure 165. 1511 1511 plot figpng/tst_pltz_orca2_stride_01.png</b></p><div class="figure-contents"> 1512 1512 1513 1513 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca2_stride_01.png" alt="[plot figpng/tst_pltz_orca2_stride_01.png]" /></td></tr></table><div class="caption"> 1514 1514 <p> 1515 cf. 1515 cf. 1516 1516 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1517 1517 </div></div> … … 1519 1519 <div class="figure"><a name="tst_pltz_orca2_stride_02.png" id="tst_pltz_orca2_stride_02.png"></a><p class="title"><b>Figure 166. 1520 1520 plot figpng/tst_pltz_orca2_stride_02.png</b></p><div class="figure-contents"> 1521 1521 1522 1522 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca2_stride_02.png" alt="[plot figpng/tst_pltz_orca2_stride_02.png]" /></td></tr></table><div class="caption"> 1523 1523 <p> 1524 cf. 1524 cf. 1525 1525 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1526 1526 </div></div> … … 1528 1528 <div class="figure"><a name="tst_pltz_orca2_stride_03.png" id="tst_pltz_orca2_stride_03.png"></a><p class="title"><b>Figure 167. 1529 1529 plot figpng/tst_pltz_orca2_stride_03.png</b></p><div class="figure-contents"> 1530 1530 1531 1531 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca2_stride_03.png" alt="[plot figpng/tst_pltz_orca2_stride_03.png]" /></td></tr></table><div class="caption"> 1532 1532 <p> 1533 cf. 1533 cf. 1534 1534 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1535 1535 </div></div> … … 1537 1537 <div class="figure"><a name="tst_pltz_orca2_stride_04.png" id="tst_pltz_orca2_stride_04.png"></a><p class="title"><b>Figure 168. 1538 1538 plot figpng/tst_pltz_orca2_stride_04.png</b></p><div class="figure-contents"> 1539 1539 1540 1540 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca2_stride_04.png" alt="[plot figpng/tst_pltz_orca2_stride_04.png]" /></td></tr></table><div class="caption"> 1541 1541 <p> 1542 cf. 1542 cf. 1543 1543 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1544 1544 </div></div> … … 1546 1546 <div class="figure"><a name="tst_pltz_orca2_stride_05.png" id="tst_pltz_orca2_stride_05.png"></a><p class="title"><b>Figure 169. 1547 1547 plot figpng/tst_pltz_orca2_stride_05.png</b></p><div class="figure-contents"> 1548 1548 1549 1549 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca2_stride_05.png" alt="[plot figpng/tst_pltz_orca2_stride_05.png]" /></td></tr></table><div class="caption"> 1550 1550 <p> 1551 cf. 1551 cf. 1552 1552 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1553 1553 </div></div> … … 1555 1555 <div class="figure"><a name="tst_pltz_orca2_stride_06.png" id="tst_pltz_orca2_stride_06.png"></a><p class="title"><b>Figure 170. 1556 1556 plot figpng/tst_pltz_orca2_stride_06.png</b></p><div class="figure-contents"> 1557 1557 1558 1558 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca2_stride_06.png" alt="[plot figpng/tst_pltz_orca2_stride_06.png]" /></td></tr></table><div class="caption"> 1559 1559 <p> 1560 cf. 1560 cf. 1561 1561 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1562 1562 </div></div> … … 1564 1564 <div class="figure"><a name="tst_pltz_orca2_stride_07.png" id="tst_pltz_orca2_stride_07.png"></a><p class="title"><b>Figure 171. 1565 1565 plot figpng/tst_pltz_orca2_stride_07.png</b></p><div class="figure-contents"> 1566 1566 1567 1567 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca2_stride_07.png" alt="[plot figpng/tst_pltz_orca2_stride_07.png]" /></td></tr></table><div class="caption"> 1568 1568 <p> 1569 cf. 1569 cf. 1570 1570 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1571 1571 </div></div> … … 1573 1573 <div class="figure"><a name="tst_pltz_orca2_stride_08.png" id="tst_pltz_orca2_stride_08.png"></a><p class="title"><b>Figure 172. 1574 1574 plot figpng/tst_pltz_orca2_stride_08.png</b></p><div class="figure-contents"> 1575 1575 1576 1576 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca2_stride_08.png" alt="[plot figpng/tst_pltz_orca2_stride_08.png]" /></td></tr></table><div class="caption"> 1577 1577 <p> 1578 cf. 1578 cf. 1579 1579 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1580 1580 </div></div> … … 1582 1582 <div class="figure"><a name="tst_pltz_orca2_stride_09.png" id="tst_pltz_orca2_stride_09.png"></a><p class="title"><b>Figure 173. 1583 1583 plot figpng/tst_pltz_orca2_stride_09.png</b></p><div class="figure-contents"> 1584 1584 1585 1585 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca2_stride_09.png" alt="[plot figpng/tst_pltz_orca2_stride_09.png]" /></td></tr></table><div class="caption"> 1586 1586 <p> 1587 cf. 1587 cf. 1588 1588 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1589 1589 </div></div> … … 1591 1591 <div class="figure"><a name="tst_pltz_orca2_stride_10.png" id="tst_pltz_orca2_stride_10.png"></a><p class="title"><b>Figure 174. 1592 1592 plot figpng/tst_pltz_orca2_stride_10.png</b></p><div class="figure-contents"> 1593 1593 1594 1594 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca2_stride_10.png" alt="[plot figpng/tst_pltz_orca2_stride_10.png]" /></td></tr></table><div class="caption"> 1595 1595 <p> 1596 cf. 1596 cf. 1597 1597 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1598 1598 </div></div> … … 1600 1600 <div class="figure"><a name="tst_pltz_orca2_stride_11.png" id="tst_pltz_orca2_stride_11.png"></a><p class="title"><b>Figure 175. 1601 1601 plot figpng/tst_pltz_orca2_stride_11.png</b></p><div class="figure-contents"> 1602 1602 1603 1603 <div class="mediaobject"><table border="0" summary="manufactured viewport for HTML img" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="figpng/tst_pltz_orca2_stride_11.png" alt="[plot figpng/tst_pltz_orca2_stride_11.png]" /></td></tr></table><div class="caption"> 1604 1604 <p> 1605 cf. 1605 cf. 1606 1606 <a class="link" href="firststeps.html#pltz" target="_top"> Vertical sections </a> in First steps with SAXO </p> 1607 1607 </div></div> -
trunk/SRC/Documentation/xmldoc/all_plots_docbook.xsl
r352 r495 21 21 remove ?format=raw 22 22 --> 23 24 23 25 24 <xsl:output -
trunk/SRC/Documentation/xmldoc/docompileall.sh
r468 r495 10 10 # ======== 11 11 # 12 # ::13 # 14 # $docompileall.sh -i indir -idl_dir idl_dir12 # .. code-block:: bash 13 # 14 # docompileall.sh -i indir -idl_dir idl_dir 15 15 # 16 16 # DESCRIPTION … … 34 34 # SAXO_DIR=/usr/home/smasson/SAXO_DIR. 35 35 # 36 # For working in progress, you should checkout SAXO on a person nal36 # For working in progress, you should checkout SAXO on a personal 37 37 # directory and set SAXO_DIR to the working space. 38 38 # … … 44 44 # For SAXO in working space ${HOME}/SAXO_DIR_ws/ : 45 45 # 46 # ::47 # 48 # $${SAXO_DIR}/SRC/Documentation/xmldoc/docompileall.sh -i ${HOME}/SAXO_DIR_ws/SRC/ -idl_dir /usr/local_linux/idl/idl_6.4/idl/46 # .. code-block:: bash 47 # 48 # ${SAXO_DIR}/SRC/Documentation/xmldoc/docompileall.sh -i ${HOME}/SAXO_DIR_ws/SRC/ -idl_dir /usr/local_linux/idl/idl_6.4/idl/ 49 49 # 50 50 # For VARAMMA in working space /usr/home/fplod/incas/varamma/varamma_ws/ 51 51 # 52 # :: 53 # 54 # $ ${SAXO_DIR}/SRC/Documentation/xmldoc/docompileall.sh -i /usr/home/fplod/incas/varamma/varamma_ws/ -idl_dir /usr/local_linux/idl/idl_6.4/idl/ 55 # 52 # .. code-block:: bash 53 # 54 # ${SAXO_DIR}/SRC/Documentation/xmldoc/docompileall.sh -i /usr/home/fplod/incas/varamma/varamma_ws/ -idl_dir /usr/local_linux/idl/idl_6.4/idl/ 56 55 # 57 56 # For POST_IT in working space /usr/lodyc/incas/fplod/post_it_ws/ 58 57 # with IDL 6.4 59 58 # 60 # ::61 # 62 # $${SAXO_DIR}/SRC/Documentation/xmldoc/docompileall.sh -i /usr/lodyc/incas/fplod/post_it_ws/ -idl_dir /usr/local_linux/idl/idl_6.4/idl/59 # .. code-block:: bash 60 # 61 # ${SAXO_DIR}/SRC/Documentation/xmldoc/docompileall.sh -i /usr/lodyc/incas/fplod/post_it_ws/ -idl_dir /usr/local_linux/idl/idl_6.4/idl/ 63 62 # 64 63 # For POST_IT in working space /usr/lodyc/incas/fplod/post_it_ws/ 65 64 # with IDL 7.0 66 65 # 67 # ::68 # 69 # $${SAXO_DIR}/SRC/Documentation/xmldoc/docompileall.sh -i /usr/lodyc/incas/fplod/post_it_ws/ -idl_dir /usr/local_linux/idl/idl70/66 # .. code-block:: bash 67 # 68 # ${SAXO_DIR}/SRC/Documentation/xmldoc/docompileall.sh -i /usr/lodyc/incas/fplod/post_it_ws/ -idl_dir /usr/local_linux/idl/idl70/ 70 69 # 71 70 # TODO … … 80 79 # 81 80 # add a parameter excludedir to exclude unwanted files like ./tools/ in POST_IT.# 81 # 82 82 # EVOLUTIONS 83 83 # ========== … … 102 102 system=$(uname) 103 103 case "${system}" in 104 AIX|IRIX64)105 echo " www : no specific posix checking"106 ;;107 *)108 set -o posix109 ;;104 AIX|IRIX64) 105 echo " www : no specific posix checking" 106 ;; 107 *) 108 set -o posix 109 ;; 110 110 esac 111 111 # … … 122 122 if [ ${#} -lt ${minargcount} ] 123 123 then 124 echo "eee : not enoughtarguments (${#} vs ${minargcount})"125 echo "${usage}"126 exit 1124 echo "eee : not enough arguments (${#} vs ${minargcount})" 125 echo "${usage}" 126 exit 1 127 127 fi 128 128 # … … 132 132 # 133 133 # default indir directory 134 indir=$(pwd) 134 indir=$(pwd)/ 135 135 # 136 136 # read parameters on command line 137 137 while [ ${#} -gt 0 ] 138 138 do 139 case ${1} in140 -i)141 indir=${2}142 shift143 ;;144 -idl_dir)145 idl_dir=${2}146 shift147 ;;148 -h)149 echo "${usage}"150 exit 0151 ;;152 *) # other choice153 echo "${usage}"154 exit 1155 ;;156 esac157 shift # next flag139 case ${1} in 140 -i) 141 indir=${2} 142 shift 143 ;; 144 -idl_dir) 145 idl_dir=${2} 146 shift 147 ;; 148 -h) 149 echo "${usage}" 150 exit 0 151 ;; 152 *) # other choice 153 echo "${usage}" 154 exit 1 155 ;; 156 esac 157 shift # next flag 158 158 done 159 159 # … … 217 217 for i in ${list_files} 218 218 do 219 # does it contains pro or function ?220 egrep -iq '^ * *(pro|function)' ${i}221 if [ ${?} -eq 0 ]222 then223 echo "print, '$( basename ${i} .pro ) :'" >> /tmp/docompileall${$}.pro224 echo "resolve_all, resolve_either = '$( basename ${i} .pro )', skip_routines = ['xxx2ps','trends', 'label_gmt', 'report']" >> /tmp/docompileall${$}.pro225 fi219 # does it contains pro or function ? 220 egrep -iq '^ * *(pro|function)' ${i} 221 if [ ${?} -eq 0 ] 222 then 223 echo "print, '$( basename ${i} .pro ) :'" >> /tmp/docompileall${$}.pro 224 echo "resolve_all, resolve_either = '$( basename ${i} .pro )', skip_routines = ['xxx2ps','trends', 'label_gmt', 'report']" >> /tmp/docompileall${$}.pro 225 fi 226 226 done 227 227 echo "exit" >> /tmp/docompileall${$}.pro -
trunk/SRC/Documentation/xmldoc/doidldoc.sh
r468 r495 7 7 # idldoc.sh - build idldoc documentations 8 8 # 9 # SYNOPS YS9 # SYNOPSIS 10 10 # ======== 11 11 # 12 # ``doidldoc.sh -i indir -t title -o outdir -idl_dir idl_dir -idldoc_version idldoc_version -idldoc_dir idldoc_dir -e element -r refhtlm`` 12 # .. code-block:: bash 13 # 14 # doidldoc.sh -i indir -t title -o outdir -idl_dir idl_dir -idldoc_version idldoc_version -idldoc_dir idldoc_dir -e element -r refhtml`` 13 15 # 14 16 # DESCRIPTION … … 17 19 # Produce HTML files from IDL sources using idldoc. 18 20 # 19 # -i directory input20 # -t title21 # -o directory output22 # -idl_dir idl_dir23 # -idldoc_version idldoc_version24 # -idldoc_dir idldoc_dir25 # -e element26 # -r refhtml21 # .. option:: -i <directory input> 22 # .. option:: -t <title> 23 # .. option:: -o <directory output> 24 # .. option:: -idl_dir <idl_dir> 25 # .. option:: -idldoc_version <idldoc_version> 26 # .. option:: -idldoc_dir <idldoc_dir> 27 # .. option:: -e <element> 28 # .. option:: -r <refhtml> 27 29 # 28 30 # Two passes : first *classic* idldoc then some home made transformation … … 35 37 # By default, embedded ``idldoc`` 2.0 in SAXO is used. 36 38 # 37 # You can specified an other ``idldoc`` imple ntation by specify directory and38 # version using *idldoc_dir* and *idldoc_version*.39 # 40 # Be warned that assi tant help is only available with ``idldoc 2.0``.39 # You can specified an other ``idldoc`` implementation by specify directory 40 # and version using *idldoc_dir* and *idldoc_version*. 41 # 42 # Be warned that assistant help is only available with ``idldoc 2.0``. 41 43 # 42 44 # Must be run two times to resolve internal links. … … 51 53 # SAXO_DIR=/usr/home/smasson/SAXO_DIR/. 52 54 # 53 # For working in progress, you should checkout SAXO on a person nal55 # For working in progress, you should checkout SAXO on a personal 54 56 # directory and set SAXO_DIR to the working space. 55 57 # … … 62 64 # 63 65 # To produce SAXO HTML outputs : 64 # ::65 # 66 # $ cd ${SAXO_DIR}/SRC/Documentation/xmldoc/67 # $ ${SAXO_DIR}/SRC/Documentation/xmldoc/doidldoc.sh -i ../.. -t "SAXO Documentation" -o ../idldoc_html_output/ -idl_dir /usr/local_linux/idl/idl_6.4/idl/ -e pro -r ../idldoc_html_output/ -e proidl -r /usr/local_linux/idl/idl_6.4/idl/help/online_help68 # 66 # 67 # .. code-block:: bash 68 # 69 # cd ${SAXO_DIR}/SRC/Documentation/xmldoc/ 70 # ${SAXO_DIR}/SRC/Documentation/xmldoc/doidldoc.sh -i ../.. -t "SAXO Documentation" -o ../idldoc_html_output/ -idl_dir /usr/local_linux/idl/idl_6.4/idl/ -e pro -r ../idldoc_html_output/ -e proidl -r /usr/local_linux/idl/idl_6.4/idl/help/online_help 69 71 # 70 72 # To produce GEOMAG HTML outputs : 71 # ::72 # 73 # $ cd /usr/home/fplod/incas/geomag/geomag_ws/74 # $ ${SAXO_DIR}/SRC/Documentation/xmldoc/doidldoc.sh -i . -t "GEOMAG Documentation" -o /usr/work/incas/${LOGNAME}/geomag/idldoc_html_output/ -idl_dir /usr/local_linux/idl/idl_6.4/idl/ -e pro -r ../idldoc_html_output/ -e proidl -r /usr/local_linux/idl/idl_6.4/idl/help/online_help -e progeomag -r /usr/work/incas/${LOGNAME}/idldoc_html_output/75 73 # 74 # .. code-block:: bash 75 # 76 # cd /usr/home/fplod/incas/geomag/geomag_ws/ 77 # ${SAXO_DIR}/SRC/Documentation/xmldoc/doidldoc.sh -i . -t "GEOMAG Documentation" -o /usr/work/incas/${LOGNAME}/geomag/idldoc_html_output/ -idl_dir /usr/local_linux/idl/idl_6.4/idl/ -e pro -r ../idldoc_html_output/ -e proidl -r /usr/local_linux/idl/idl_6.4/idl/help/online_help -e progeomag -r /usr/work/incas/${LOGNAME}/idldoc_html_output/ 76 78 # 77 79 # To produce VARAMMA HTML outputs : 78 # :: 79 # 80 # $ cd /usr/home/fplod/incas/varamma/varamma_ws/ 81 # $ ${SAXO_DIR}/SRC/Documentation/xmldoc/doidldoc.sh -i . -t "VARAMMA Documentation" \ 82 # -o /tmp/idldoc_html_output/ -idl_dir /usr/local_linux/idl/idl_6.4/idl/ \ 83 # -idldoc_version 3.2 -idldoc_dir /usr/home/incas/francoise/idldoc-3.2_aedon.locean-ipsl.upmc.fr///idldoc-3.2/ \ 84 # -e pro -r ../idldoc_html_output/ -e proidl -r /usr/local_linux/idl/idl_6.4/idl/help/online_help 80 # 81 # .. code-block:: bash 82 # 83 # cd /usr/home/fplod/incas/varamma/varamma_ws/ 84 # ${SAXO_DIR}/SRC/Documentation/xmldoc/doidldoc.sh -i . -t "VARAMMA Documentation" \ 85 # -o /tmp/idldoc_html_output/ -idl_dir /usr/local_linux/idl/idl_6.4/idl/ \ 86 # -idldoc_version 3.2 -idldoc_dir /usr/home/incas/francoise/idldoc-3.2_aedon.locean-ipsl.upmc.fr///idldoc-3.2/ \ 87 # -e pro -r ../idldoc_html_output/ -e proidl -r /usr/local_linux/idl/idl_6.4/idl/help/online_help 85 88 # 86 89 # To produce POST_IT HTML outputs : 87 # :: 88 # 89 # $ cd /usr/lodyc/incas/fplod/post_it_ws/ 90 # $ ${SAXO_DIR}/SRC/Documentation/xmldoc/doidldoc.sh -i . -t "POST_IT/Documentation" -o /usr/work/incas/${LOGNAME}/idldoc_html_output/ -idl_dir /usr/local_linux/idl/idl_6.4/idl/ -e pro -r ${SAXO_DIR}/SRC/Documentation/idldoc_html_output/ -e proidl -r /usr/local_linux/idl/idl_6.4/idl/help/online_help -e propost_it -r /usr/work/incas/${LOGNAME}/idldoc_html_output/ 90 # 91 # .. code-block:: bash 92 # 93 # cd /usr/lodyc/incas/fplod/post_it_ws/ 94 # ${SAXO_DIR}/SRC/Documentation/xmldoc/doidldoc.sh -i . -t "POST_IT/Documentation" -o /usr/work/incas/${LOGNAME}/idldoc_html_output/ -idl_dir /usr/local_linux/idl/idl_6.4/idl/ -e pro -r ${SAXO_DIR}/SRC/Documentation/idldoc_html_output/ -e proidl -r /usr/local_linux/idl/idl_6.4/idl/help/online_help -e propost_it -r /usr/work/incas/${LOGNAME}/idldoc_html_output/ 91 95 # 92 96 # TODO … … 125 129 # - fplod 20091112T101526Z zeus.locean-ipsl.upmc.fr (Linux) 126 130 # 127 # * replace mv by cp -r because mv may no works ac cross filesystems128 # * add che k on outdir131 # * replace mv by cp -r because mv may no works across filesystems 132 # * add check on outdir 129 133 # 130 134 # - fplod 20091112T084225Z aedon.locean-ipsl.upmc.fr (Darwin) … … 142 146 # 143 147 # * add idldoc_version and idldoc_dir parameters 144 # idldoc version is useful lbecause parameters of ``idldoc``148 # idldoc version is useful because parameters of ``idldoc`` 145 149 # have been modified (see ``CHARSET`` in 3.1.1.). 146 150 # … … 149 153 # - fplod 2008-08-11T12:57:48Z aedon.locean-ipsl.upmc.fr (Darwin) 150 154 # 151 # * comments in this file in ReSTformat155 # * comments in this file in reStructuredText format 152 156 # * add ``-i``, ``-t`` and ``-o`` parameters 153 157 # … … 156 160 # * evaluation version 3.1.1 157 161 # 158 # we are not yet still ready to migrate to rst format because of lack of159 # assistant transformation independant of IDLdoc release (at least160 # between 2. and 3.)162 # we are not yet still ready to migrate to reStructuredText format 163 # because of lack of assistant transformation independent of IDLdoc release 164 # (at least between 2. and 3.) 161 165 # 162 166 # - fplod 2008-01-10T08:13:41Z aedon.locean-ipsl.upmc.fr (Darwin) … … 195 199 # * externalisation of idldoc issues from savesaxo.sh 196 200 # * previous release of idldoc was 2.0 197 # * this tool can be checked by creating doc from Michael Galloy libra yry201 # * this tool can be checked by creating doc from Michael Galloy library 198 202 # available on http://www.michaelgalloy.com/lib-docs/ 199 203 # * version http://michaelgalloy.com/wp-content/uploads/2007/11/idldoc-3.0b1.zip … … 203 207 system=$(uname) 204 208 case "${system}" in 205 AIX|IRIX64)206 echo " www : no specific posix checking"207 ;;208 *)209 set -o posix210 ;;209 AIX|IRIX64) 210 echo " www : no specific posix checking" 211 ;; 212 *) 213 set -o posix 214 ;; 211 215 esac 212 216 # … … 218 222 usage=" Usage : ${command} -i indir -t title -o outdir [-idldoc_dir idldoc_dir -idldoc_version idldoc_version]" 219 223 # 220 # default ++ pas encore en param etre224 # default ++ pas encore en paramÚtre 221 225 assistant=0 222 226 #assistant=1 … … 235 239 if [ ${#} -lt ${minargcount} ] 236 240 then 237 echo "eee : not enoughtarguments"238 echo "${usage}"239 exit 1241 echo "eee : not enough arguments" 242 echo "${usage}" 243 exit 1 240 244 fi 241 245 # 242 246 while [ ${#} -gt 0 ] 243 247 do 244 case ${1} in245 -i)246 indir=${2}247 shift248 case ${indir} in249 .)250 indir=$(pwd)251 ;;252 esac253 ;;254 -t)255 title=${2}256 shift257 ;;258 -o)259 outdir=${2}260 shift261 ;;262 -idldoc_dir)263 idldoc_dir=${2}264 shift265 ;;266 -idldoc_version)267 idldoc_version=${2}268 shift269 ;;270 -idl_dir)271 idl_dir=${2}272 shift273 ;;274 -e)275 element[${ielement}]=${2}276 shift277 ;;278 -r)279 refhtml[${ielement}]=${2}280 shift281 ielement=$(( ${ielement} + 1))282 ;;283 -h)284 echo "${usage}"285 exit 0286 ;;287 *)288 # other choice289 echo "${usage}"290 exit 1291 ;;292 esac293 # next flag294 shift248 case ${1} in 249 -i) 250 indir=${2} 251 shift 252 case ${indir} in 253 .) 254 indir=$(pwd)/ 255 ;; 256 esac 257 ;; 258 -t) 259 title=${2} 260 shift 261 ;; 262 -o) 263 outdir=${2} 264 shift 265 ;; 266 -idldoc_dir) 267 idldoc_dir=${2} 268 shift 269 ;; 270 -idldoc_version) 271 idldoc_version=${2} 272 shift 273 ;; 274 -idl_dir) 275 idl_dir=${2} 276 shift 277 ;; 278 -e) 279 element[${ielement}]=${2} 280 shift 281 ;; 282 -r) 283 refhtml[${ielement}]=${2} 284 shift 285 ielement=$(( ${ielement} + 1)) 286 ;; 287 -h) 288 echo "${usage}" 289 exit 0 290 ;; 291 *) 292 # other choice 293 echo "${usage}" 294 exit 1 295 ;; 296 esac 297 # next flag 298 shift 295 299 done 296 300 # … … 298 302 if [ ! -d ${outdir} ] 299 303 then 300 echo "eee : outdir (${outdir}) not found"301 exit 1304 echo "eee : outdir (${outdir}) not found" 305 exit 1 302 306 fi 303 307 # check for permission access on outdir 304 308 if [ ! -x ${outdir} ] 305 309 then 306 echo " eee : ${outdir} not reachable"307 exit 1310 echo " eee : ${outdir} not reachable" 311 exit 1 308 312 fi 309 313 # … … 311 315 if [ ! -w ${outdir} ] 312 316 then 313 echo " eee : ${outdir} not writable"314 exit 1317 echo " eee : ${outdir} not writable" 318 exit 1 315 319 fi 316 320 # … … 325 329 cd ${idldoc_dir} 326 330 case ${idldoc_version} in 327 3.2)328 cat << EOF > ${pro}331 3.2) 332 cat << EOF > ${pro} 329 333 !path = expand_path('+' + '${idldoc_dir}') 330 334 idldoc,root="${indir}",title="${title}", $ … … 335 339 exit 336 340 EOF 337 ;;338 2.0)341 ;; 342 2.0) 339 343 cat << EOF > ${pro} 340 344 !path = expand_path('+' + '${idldoc_dir}') … … 360 364 if [ ${transform} -eq 1 ] 361 365 then 362 # In order to do not have to many revision in svn, we modify some 363 # lines produced by idldoc : 364 # - add Source link in each html file corresponding to a .pro file 365 # example : 366 # <td>Source</td> 367 # will be replaced by 368 # <td><a href="../../Calendar/caldat.pro" title="Source code of a file">Source</a></td> 369 # 370 # - remove version, date and time of idldoc production 371 # ++ je ne sais pas dire en sed la ligne suivant l'occurence de Modification date 372 # 373 # count of directory levels in output 374 # this count will be use to format relative path later 375 nblev1=$(echo ${outputtmp} | sed -e "s@/\$@@" |awk -F "/" '{print NF}') 376 # 377 list_html_pro=$(find ${outputtmp} -name "*.html" -exec grep -l "<title>.*\.pro" {} \;) 378 for file_html in ${list_html_pro} 379 do 380 # build the .pro file name 381 bfile=$(basename ${file_html} .html) 382 # retrieve the path of html file relative to output. 383 # This path will be used in "Source" link. 384 nblev2=$(dirname ${file_html} | sed -e "s@/\$@@" | awk -F "/" '{print NF}') 385 difflev=$((${nblev2} - ${nblev1})) 386 if [ ${difflev} -ge 2 ] 387 then 388 ilev=1 389 reloutput_html=".." 390 while [ ${ilev} -le ${difflev} ] 391 do 392 reloutput_html="${reloutput_html}/.." 393 ilev=$(( ${ilev} + 1 )) 394 done 395 relpath_html=$(dirname ${file_html} | \ 366 # In order to do not have too many revision in svn, we modify some 367 # lines produced by idldoc : 368 # - add Source link in each html file corresponding to a .pro file 369 # example : 370 # <td>Source</td> 371 # will be replaced by 372 # <td><a href="../../Calendar/caldat.pro" title="Source code of a file">Source</a></td> 373 # 374 # - remove version, date and time of idldoc production 375 # ++ je ne sais pas dire en sed la ligne suivant l'occurrence de 376 # Modification date 377 # 378 # count of directory levels in output 379 # this count will be use to format relative path later 380 nblev1=$(echo ${outputtmp} | sed -e "s@/\$@@" |awk -F "/" '{print NF}') 381 # 382 list_html_pro=$(find ${outputtmp} -name "*.html" -exec grep -l "<title>.*\.pro" {} \;) 383 for file_html in ${list_html_pro} 384 do 385 # build the .pro file name 386 bfile=$(basename ${file_html} .html) 387 # retrieve the path of html file relative to output. 388 # This path will be used in "Source" link. 389 nblev2=$(dirname ${file_html} | sed -e "s@/\$@@" | awk -F "/" '{print NF}') 390 difflev=$((${nblev2} - ${nblev1})) 391 if [ ${difflev} -ge 2 ] 392 then 393 ilev=1 394 reloutput_html=".." 395 while [ ${ilev} -le ${difflev} ] 396 do 397 reloutput_html="${reloutput_html}/.." 398 ilev=$(( ${ilev} + 1 )) 399 done 400 relpath_html=$(dirname ${file_html} | \ 396 401 sed \ 397 398 399 # echo "relpath ${relpath_html})"400 else401 relpath_html="./"402 fi403 # echo "relpath ${relpath_html}/${bfile}"404 sed \405 406 407 mv ${file_html}_modify ${file_html}408 done409 list_html=$(find ${outputtmp} -name "*.html")410 for file_html in ${list_html}411 do412 sed \413 414 415 416 -e "/Modifcation:/d" \417 418 419 420 421 422 423 424 mv ${file_html}_modify ${file_html}425 done426 # suppress ".html" in idldoc-index*.html in lines like427 # a parameter from the routine ./ReadWrite/idl-NetCDF/ncdf_read.html428 list_html=$(find ${outputtmp} -name "idldoc-index*.html")429 for file_html in ${list_html}430 do431 sed \432 433 434 mv ${file_html}_modify ${file_html}435 done436 nelement=${#element[@]}437 ielement=1438 while [ ${ielement} -le ${nelement} ]439 do440 # replace <element>ginette</element> by a sequence like441 # <a href="./ginette.html">ginette</a>442 ${SAXO_DIR}/SRC/Documentation/xmldoc/pro2href.sh -i ${outputtmp} \443 444 445 status=${?}446 if [ ${status} -ne 0 ]447 then448 echo "eee : pb during pro2href.sh for ${element}...</${element}>"449 exit 1450 fi451 ielement=$(( ${ielement} + 1))452 done453 # end of transform = 1402 -e "s@${outputtmp}@${reloutput_html}@" \ 403 -e "s@\$@/@") 404 # echo "relpath ${relpath_html})" 405 else 406 relpath_html="./" 407 fi 408 # echo "relpath ${relpath_html}/${bfile}" 409 sed \ 410 -e "s@<td >Source<\/td>@<td><a href=\"${relpath_html}/${bfile}.pro\" title=\"Source code of a file\">Source<\/a><\/td>@" \ 411 ${file_html} > ${file_html}_modify 412 mv ${file_html}_modify ${file_html} 413 done 414 list_html=$(find ${outputtmp} -name "*.html") 415 for file_html in ${list_html} 416 do 417 sed \ 418 -e "s/\(Generated by IDLdoc\)\( .* on .*\)\( -->\)/\1\3/" \ 419 -e "s/\(Produced by IDLdoc\)\( .* on .*\)\(<\/div>\)/\1\3/" \ 420 -e "/<h2>Produced on/d" \ 421 -e "/Modification:/d" \ 422 -e "/<td>... ... .* ..:..:.. ....<\/td>/d" \ 423 -e 's@<div class="value">@<div class="preformat">@' \ 424 -e 's/div\#file_comments {/div\#file_comments { white-space: pre;/' \ 425 -e 's@^ <fixe>@<pre>@' \ 426 -e 's@^ </fixe>@</pre>@' \ 427 -e 's@xhtml-transitional@xhtml1-transitional@' \ 428 ${file_html} > ${file_html}_modify 429 mv ${file_html}_modify ${file_html} 430 done 431 # suppress ".html" in idldoc-index*.html in lines like 432 # a parameter from the routine ./ReadWrite/idl-NetCDF/ncdf_read.html 433 list_html=$(find ${outputtmp} -name "idldoc-index*.html") 434 for file_html in ${list_html} 435 do 436 sed \ 437 -e "s/\(a parameter from the routine \)\(.*\)\(.html\)/\1\2/" \ 438 ${file_html} > ${file_html}_modify 439 mv ${file_html}_modify ${file_html} 440 done 441 nelement=${#element[@]} 442 ielement=1 443 while [ ${ielement} -le ${nelement} ] 444 do 445 # replace <element>ginette</element> by a sequence like 446 # <a href="./ginette.html">ginette</a> 447 ${SAXO_DIR}/SRC/Documentation/xmldoc/pro2href.sh -i ${outputtmp} \ 448 -r ${refhtml[${ielement}]} \ 449 -e ${element[${ielement}]} 450 status=${?} 451 if [ ${status} -ne 0 ] 452 then 453 echo "eee : pb during pro2href.sh for ${element}...</${element}>" 454 exit 1 455 fi 456 ielement=$(( ${ielement} + 1)) 457 done 458 # end of transform = 1 454 459 fi 455 #456 460 # 457 461 if [ ${assistant} -eq 1 ] 458 462 then 459 # build a IDL file to launch idldoc460 idldoc_log="/tmp/idldocassistant_${$}.log"461 pro="/tmp/idldocassistant_${$}.pro"462 case ${idldoc_version} in463 3.2)464 echo "iii : assistant is not feasable with idldoc > 2.0"465 ;;466 2.0)467 cat << EOF > ${pro}463 # build a IDL file to launch idldoc 464 idldoc_log="/tmp/idldocassistant_${$}.log" 465 pro="/tmp/idldocassistant_${$}.pro" 466 case ${idldoc_version} in 467 3.2) 468 echo "iii : assistant is not feasible with idldoc > 2.0" 469 ;; 470 2.0) 471 cat << EOF > ${pro} 468 472 !path = expand_path('+' + '${idldoc_dir}') 469 473 idldoc,root="${indir}",title="${title}", $ … … 472 476 exit 473 477 EOF 474 ;;475 *)476 echo "eee : idldoc version not implemented ${idldoc_version}"477 exit 1478 ;;479 esac480 # launch IDL with the file built above481 IDL_STARTUP=${pro};${idl_dir}/bin/idl482 /bin/rm ${pro}483 # In order to do not have to many revision in svn, we modify some484 # lines produced by idldoc :485 # examples :486 # <!-- Generated by IDLdoc 2.0 on Wed Jun 7 10:25:28 2006 -->487 # will be replaced by488 # <!-- Generated by IDLdoc 2.0 -->489 # <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:10 2006.</font></p>490 # will be replaced by491 # <p><font color="gray" size="-3"> Produced by IDLdoc 2.0</font></p>492 # <h2>Produced on Wed Jun 7 10:23:13 2006</h2>493 # will be delete494 # other lines will be deleted because the time is the time of checkout not495 # the time of revision.496 # the sequence of lines497 #<dl>498 # <dt>Last modification:</dt>499 # <dd>Fri Jun 2 11:46:24 2006</dd>500 # </dl>501 # should also be removed ++ je ne sais pas dire en sed la ligne502 # suivant l'occurence de Last modification503 # replace *_param_* in href attributes because anchors are badly written504 # with _keyword_505 #++ -e 's@\(href="#_.*\)\(_param_\)\(.*"\)@\1_keyword_\3@g' \ # ++ pb global506 # ONLINE_HELP, book="../idldoc_assistant_output/idldoc-lib.adp", /full_path # won't work507 # encaspulate example content in <pre> </pre> in idldoc assistant outputs508 # Examples section is supposed to start with <h3>Examples</h3>509 # and end is before <h3>Version history</h3>510 list_html=$(find ${outputtmp} -name "*.html")511 for file_html in ${list_html}512 do513 sed \514 515 516 517 518 519 520 521 522 523 524 525 526 527 mv ${file_html}_modify ${file_html}528 done529 #530 # replace <pro>ginette</pro> by a sequence like531 # <a href="./ginette.html">ginette</a>532 ${SAXO_DIR}/SRC/Documentation/xmldoc/pro2href.sh -i ${outputtmp} -r ${outputtmp} -e pro533 status=${?}534 if [ ${status} -ne 0 ]535 then536 echo "eee : pb during pro2href.sh for <pro>...</pro>"537 exit 1538 fi539 # replace <proidl>ginette</proidl> by a sequence like540 # <a href="./ginette.html">ginette</a>541 ${SAXO_DIR}/SRC/Documentation/xmldoc/pro2href.sh -i ${outputtmp} -r ${idl_dir}/help/online_help -e proidl542 status=${?}543 if [ ${status} -ne 0 ]544 then545 echo "eee : pb during pro2href.sh for <proidl>...</proidl>"546 exit 1547 fi548 # add the directory-overview.html from dir-files.html in idldoc_html_output549 list_html=$(find ../idldoc_html_output -name dir-files.html)550 for file_html in ${list_html}551 do552 fout=../idldoc_assistant_output/${file_html#../idldoc_html_output/*}553 fout=${fout%/*}/directory-overview.html554 cp ${file_html} ${fout}555 done556 # copy listings.css (needed by directory-overview.html files)557 cp ../idldoc/resource/listings.css ${outputtmp}558 # add an id in idldoc-lib.adp559 cat << EOF > /tmp/adp_modification478 ;; 479 *) 480 echo "eee : idldoc version not implemented ${idldoc_version}" 481 exit 1 482 ;; 483 esac 484 # launch IDL with the file built above 485 IDL_STARTUP=${pro};${idl_dir}/bin/idl 486 /bin/rm ${pro} 487 # In order to do not have too many revision in svn, we modify some 488 # lines produced by idldoc : 489 # examples : 490 # <!-- Generated by IDLdoc 2.0 on Wed Jun 7 10:25:28 2006 --> 491 # will be replaced by 492 # <!-- Generated by IDLdoc 2.0 --> 493 # <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:10 2006.</font></p> 494 # will be replaced by 495 # <p><font color="gray" size="-3"> Produced by IDLdoc 2.0</font></p> 496 # <h2>Produced on Wed Jun 7 10:23:13 2006</h2> 497 # will be delete 498 # other lines will be deleted because the time is the time of checkout not 499 # the time of revision. 500 # the sequence of lines 501 #<dl> 502 # <dt>Last modification:</dt> 503 # <dd>Fri Jun 2 11:46:24 2006</dd> 504 # </dl> 505 # should also be removed ++ je ne sais pas dire en sed la ligne 506 # suivant l'occurrence de Last modification 507 # replace *_param_* in href attributes because anchors are badly written 508 # with _keyword_ 509 #++ -e 's@\(href="#_.*\)\(_param_\)\(.*"\)@\1_keyword_\3@g' \ # ++ pb global 510 # ONLINE_HELP, book="../idldoc_assistant_output/idldoc-lib.adp", /full_path # won't work 511 # encapsulate example content in <pre> </pre> in idldoc assistant outputs 512 # Examples section is supposed to start with <h3>Examples</h3> 513 # and end is before <h3>Version history</h3> 514 list_html=$(find ${outputtmp} -name "*.html") 515 for file_html in ${list_html} 516 do 517 sed \ 518 -e "s/\(Generated by IDLdoc 2.0\)\( on .*\)\( -->\)/\1\3/" \ 519 -e "s/\(Produced by IDLdoc 2.0\)\( on .*\)\(\.<\/font>\)/\1\3/" \ 520 -e "/<h2>Produced on/d" \ 521 -e "/Last modification:/d" \ 522 -e "/<dd>... ... .* ..:..:.. ....<\/dd>/d" \ 523 -e '/href/s@_param_@_keyword_@g' \ 524 -e 's@<div class="value">@<div class="preformat">@' \ 525 -e 's/div\#file_comments {/div\#file_comments { white-space: pre;/' \ 526 -e 's@^ <fixe>@<pre>@' \ 527 -e 's@^ </fixe>@</pre>@' \ 528 -e "s@<h3>Examples</h3>@<h3>Examples</h3><pre>@" \ 529 -e "s@<h3>Version history</h3>@</pre><h3>Version history</h3>@" \ 530 ${file_html} > ${file_html}_modify 531 mv ${file_html}_modify ${file_html} 532 done 533 # 534 # replace <pro>ginette</pro> by a sequence like 535 # <a href="./ginette.html">ginette</a> 536 ${SAXO_DIR}/SRC/Documentation/xmldoc/pro2href.sh -i ${outputtmp} -r ${outputtmp} -e pro 537 status=${?} 538 if [ ${status} -ne 0 ] 539 then 540 echo "eee : pb during pro2href.sh for <pro>...</pro>" 541 exit 1 542 fi 543 # replace <proidl>ginette</proidl> by a sequence like 544 # <a href="./ginette.html">ginette</a> 545 ${SAXO_DIR}/SRC/Documentation/xmldoc/pro2href.sh -i ${outputtmp} -r ${idl_dir}/help/online_help -e proidl 546 status=${?} 547 if [ ${status} -ne 0 ] 548 then 549 echo "eee : pb during pro2href.sh for <proidl>...</proidl>" 550 exit 1 551 fi 552 # add the directory-overview.html from dir-files.html in idldoc_html_output 553 list_html=$(find ../idldoc_html_output -name dir-files.html) 554 for file_html in ${list_html} 555 do 556 fout=../idldoc_assistant_output/${file_html#../idldoc_html_output/*} 557 fout=${fout%/*}/directory-overview.html 558 cp ${file_html} ${fout} 559 done 560 # copy listings.css (needed by directory-overview.html files) 561 cp ../idldoc/resource/listings.css ${outputtmp} 562 # add an id in idldoc-lib.adp 563 cat << EOF > /tmp/adp_modification 560 564 <!-- \$Id\$ --> 561 565 EOF 562 sed -e "/<\/profile>/r /tmp/adp_modification" \563 564 565 mv ../idldoc_assistant_output/idldoc-lib.adp_${$} \566 ../idldoc_assistant_output/idldoc-lib.adp567 rm /tmp/adp_modification568 # check that the number of existing html files for each .pro file is 2!569 for i in $( find ../.. -name "*.pro" )570 do571 nhtml=$( find ../.. -name $( basename ${i} .pro ).html | wc -l )572 if [ ${nhtml} -ne 2 ]573 then574 echo "ERROR there is no 2 $( basename ${i} .pro ).html files"575 find ../.. -name $( basename ${i} .pro ).html576 echo577 fi578 done579 #566 sed -e "/<\/profile>/r /tmp/adp_modification" \ 567 ../idldoc_assistant_output/idldoc-lib.adp > \ 568 ../idldoc_assistant_output/idldoc-lib.adp_${$} 569 mv ../idldoc_assistant_output/idldoc-lib.adp_${$} \ 570 ../idldoc_assistant_output/idldoc-lib.adp 571 rm /tmp/adp_modification 572 # check that the number of existing html files for each .pro file is 2! 573 for i in $( find ../.. -name "*.pro" ) 574 do 575 nhtml=$( find ../.. -name $( basename ${i} .pro ).html | wc -l ) 576 if [ ${nhtml} -ne 2 ] 577 then 578 echo "ERROR there is no 2 $( basename ${i} .pro ).html files" 579 find ../.. -name $( basename ${i} .pro ).html 580 echo 581 fi 582 done 583 # 580 584 fi 581 585 # copy of temporary outputs on final directory -
trunk/SRC/Documentation/xmldoc/faqsaxo.html
r416 r495 18 18 <tr><td align="left">Revision 0.0</td><td align="left">August 2006</td></tr><tr><td align="left" colspan="2">First draft</td></tr> 19 19 <tr><td align="left">Revision 0.1</td><td align="left">September 2006</td></tr><tr><td align="left" colspan="2">+ onlinehelp</td></tr> 20 <tr><td align="left">Revision 0.2</td><td align="left">April 2008</td></tr><tr><td align="left" colspan="2">migration from DocBook 4.2 to Doc book 5.0</td></tr>20 <tr><td align="left">Revision 0.2</td><td align="left">April 2008</td></tr><tr><td align="left" colspan="2">migration from DocBook 4.2 to DocBook 5.0</td></tr> 21 21 </table></div></div></div><hr /></div> 22 22 23 23 24 24 25 25 26 26 27 27 <div class="qandaset"><dl><dt>1. <a href="#general">General</a></dt><dd><dl><dt>1.1. <a href="#id1291134"> … … 118 118 </p></td></tr> 119 119 <tr class="answer"><td align="left" valign="top"></td><td align="left" valign="top"><p> 120 Not yet. 120 Not yet. 121 121 </p></td></tr> 122 122 … … 195 195 </li><li> 196 196 <p> 197 The search facility (<span class="guimenu">Search</span>) doesn't handle characters 197 The search facility (<span class="guimenu">Search</span>) doesn't handle characters 198 198 like <code class="literal">-</code> and <code class="literal">|</code>. 199 199 </p> … … 205 205 <p> 206 206 If you need to draw some small figure like grid cell, you can encapsulate 207 the block to be shown in constant font 207 the block to be shown in constant font 208 208 between 209 209 <code class="literal">; <fixe></code> and … … 242 242 </p><p> 243 243 This will give <code class="filename">/tmp/list_sort</code> a list of sorted word 244 used in IDL files that are not in the default diction nary.244 used in IDL files that are not in the default dictionary. 245 245 Some of these words are correct in IDL and SAXO vocabulary, so they do not have to be replaced but some typo can be found. 246 246 </p><p> 247 To find occur ences of one of these misspelled words, you have to do this :247 To find occurrences of one of these misspelled words, you have to do this : 248 248 </p><pre class="screen"> 249 249 <code class="prompt">$</code> <strong class="userinput"><code>find . -name "*.pro" -exec grep -h "<em class="replaceable"><code>misspelled_word</code></em>" {} \;</code></strong> 250 250 </pre><p> 251 251 </p><p> 252 We should improve this by providing some IDL and SAXO diction nary.252 We should improve this by providing some IDL and SAXO dictionary. 253 253 </p></td></tr> 254 254 -
trunk/SRC/Documentation/xmldoc/faqsaxo.xml
r408 r495 1 <?xml version="1.0" encoding=" iso-8859-1"?>1 <?xml version="1.0" encoding="utf-8"?> 2 2 <!DOCTYPE article [ 3 3 <!ENTITY promptidl "idl>"> … … 16 16 on pourra aussi s'inspirer de http://idlastro.gsfc.nasa.gov/idlfaq.html 17 17 18 !! on notera l'utilisation hypersioux de xinclude xpointer pour ne pas r épéter19 (avec des erreurs, forc ément) ce qui est déjà écrit dans un autre document18 !! on notera l'utilisation hypersioux de xinclude xpointer pour ne pas répéter 19 (avec des erreurs, forcément) ce qui est déjà écrit dans un autre document 20 20 !! 21 21 cf http://www.zvon.org/xxl/XIncludeTutorial/Output/example9.html 22 22 cf http://www.zvon.org/xxl/XIncludeTutorial/Output/example12.html 23 bon finalement c'est pas si hyper rus é parce qu'on hérite du plan (sect1 par24 exemple de l'entit éincluse)23 bon finalement c'est pas si hyper rusé parce qu'on hérite du plan (sect1 par 24 exemple de l'entité incluse) 25 25 --> 26 26 <title>Frequently Asked Questions about SAXO</title> 27 27 <info> 28 28 <authorgroup> 29 <author><personname><firstname>S ébastien</firstname> <surname>Masson</surname></personname> <email>Sebastien.Masson_at_locean-ipsl.upmc.fr</email></author>30 <author><personname><firstname>Fran çoise</firstname> <surname>Pinsard</surname></personname> <email>Francoise.Pinsard_at_locean-ipsl.upmc.fr</email></author>29 <author><personname><firstname>Sébastien</firstname> <surname>Masson</surname></personname> <email>Sebastien.Masson_at_locean-ipsl.upmc.fr</email></author> 30 <author><personname><firstname>Françoise</firstname> <surname>Pinsard</surname></personname> <email>Francoise.Pinsard_at_locean-ipsl.upmc.fr</email></author> 31 31 </authorgroup> 32 32 <keywordset> … … 49 49 <revnumber>0.2</revnumber> 50 50 <date>April 2008</date> 51 <revremark>migration from DocBook 4.2 to Doc book 5.0</revremark>51 <revremark>migration from DocBook 4.2 to DocBook 5.0</revremark> 52 52 </revision> 53 53 </revhistory> … … 134 134 <answer> 135 135 <para> 136 Not yet. <!-- et de toute fa çon GDL est pour l'instant équivalent àla version136 Not yet. <!-- et de toute façon GDL est pour l'instant équivalent à la version 137 137 6.0 de IDL donc peut-etre que tout SAXO ne fonctionnerait pas --> 138 138 </para> … … 244 244 <listitem> 245 245 <para> 246 The search facility (<guimenu>Search</guimenu>) doesn't handle characters 246 The search facility (<guimenu>Search</guimenu>) doesn't handle characters 247 247 like <literal>-</literal> and <literal>|</literal>. 248 248 </para> … … 306 306 <para> 307 307 This will give <filename>/tmp/list_sort</filename> a list of sorted word 308 used in IDL files that are not in the default diction nary.308 used in IDL files that are not in the default dictionary. 309 309 Some of these words are correct in IDL and SAXO vocabulary, so they do not have to be replaced but some typo can be found. 310 310 </para> 311 311 <para> 312 To find occur ences of one of these misspelled words, you have to do this :312 To find occurrences of one of these misspelled words, you have to do this : 313 313 <screen> 314 314 <prompt>$</prompt> <userinput>find . -name "*.pro" -exec grep -h "<replaceable>misspelled_word</replaceable>" {} \;</userinput> … … 316 316 </para> 317 317 <para> 318 We should improve this by providing some IDL and SAXO diction nary. <!-- ++ -->318 We should improve this by providing some IDL and SAXO dictionary. <!-- ++ --> 319 319 </para> 320 320 </answer> -
trunk/SRC/Documentation/xmldoc/firststeps.html
r416 r495 19 19 <tr><td align="left">Revision 0.1</td><td align="left">29 August 2005</td></tr><tr><td align="left" colspan="2">last Japanese version!</td></tr> 20 20 <tr><td align="left">Revision 0.2</td><td align="left">May 2006</td></tr><tr><td align="left" colspan="2">split with getsaxo</td></tr> 21 <tr><td align="left">Revision 0.3</td><td align="left">April 2008</td></tr><tr><td align="left" colspan="2">migration from DocBook 4.2 to Doc book 5.0</td></tr>21 <tr><td align="left">Revision 0.3</td><td align="left">April 2008</td></tr><tr><td align="left" colspan="2">migration from DocBook 4.2 to DocBook 5.0</td></tr> 22 22 23 23 </table></div></div></div><hr /></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#beforefirststeps">1. Before this</a></span></dt><dt><span class="sect1"><a href="#first_plots">2. First plots ⊠</a></span></dt><dd><dl><dt><span class="sect2"><a href="#start_with_init">2.1. Start IDL session: @init </a></span></dt><dt><span class="sect2"><a href="#basic_plots">2.2. Basic plots ⊠</a></span></dt></dl></dd><dt><span class="sect1"><a href="#gridded_data">3. Explore gridded data (model outputs and observations) </a></span></dt><dd><dl><dt><span class="sect2"><a href="#load_grid">3.1. Load the data grid </a></span></dt><dt><span class="sect2"><a href="#plt">3.2. Horizontal plots and maps </a></span></dt><dt><span class="sect2"><a href="#pltz">3.3. Vertical sections </a></span></dt><dt><span class="sect2"><a href="#pltt">3.4. Hovmoellers and time series </a></span></dt><dt><span class="sect2"><a href="#plt1d">3.5. 1D plots </a></span></dt></dl></dd></dl></div> … … 26 26 27 27 28 29 30 28 29 30 31 31 <div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="beforefirststeps" id="beforefirststeps"></a>1. Before this</h2></div></div></div> 32 32 … … 37 37 38 38 <div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="first_plots" id="first_plots"></a>2. First plots ⊠</h2></div></div></div> 39 39 40 40 <div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="start_with_init" id="start_with_init"></a>2.1. Start IDL session: <strong class="userinput"><code><span class="command"><strong>@init</strong></span></code></strong> </h3></div></div></div> 41 41 42 42 <p> 43 43 Each IDL session using <span class="application">SAXO</span> must always start with: … … 84 84 </div> 85 85 <div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="basic_plots" id="basic_plots"></a>2.2. Basic plots ⊠</h3></div></div></div> 86 86 87 87 <div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="basic_splot" id="basic_splot"></a>2.2.1. splot </h4></div></div></div> 88 88 89 89 90 90 <p> 91 91 </p><div class="screenco"> 92 92 93 93 <pre class="screen"> 94 94 <code class="prompt">idl></code> <strong class="userinput"><code><span class="command"><strong>n = 10</strong></span></code></strong> … … 121 121 Save the figure seen on the screen as a (real, not a screen capture) postscript in only one command. 122 122 </p><div class="screenco"> 123 123 124 124 <pre class="screen"> 125 125 <code class="prompt">idl></code> <strong class="userinput"><code><span class="command"><strong>@ps</strong></span></code></strong> … … 138 138 </pre> 139 139 <div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><p><img src="images/callouts/1.png" alt="1" border="0" /></p></td><td valign="top" align="left"> 140 140 141 141 If needed, the name of the postscript will automatically be completed with .ps. Just hit return, if you want to use the default postscript name: <code class="filename">idl.ps</code>. 142 142 143 143 </td></tr></table></div> 144 144 </div><p> … … 191 191 Use the keyword small to produce multi plots figures. 192 192 </p><div class="screenco"> 193 193 194 194 <pre class="screen"> 195 195 <code class="prompt">idl></code> <strong class="userinput"><code><span class="command"><strong>splot, y, y^2, title = 'y = x^2', psym = 2, small <span class="inlinemediaobject"><img src="images/callouts/1.png" alt="1" /></span> = [1, 2, 1]</strong></span></code></strong> … … 198 198 </pre> 199 199 <div class="calloutlist"><table border="0" summary="Callout list"><tr><td width="5%" valign="top" align="left"><p><img src="images/callouts/1.png" alt="1" border="0" /></p></td><td valign="top" align="left"> 200 200 201 201 the <code class="computeroutput">small</code> keyword is a 3 elements vector which defines how we divide the page and in which case we should make the plot: [number of columns, number of rows, case number]. The case numbering is starting at 1, from top to bottom and left to right. 202 202 203 203 </td></tr><tr><td width="5%" valign="top" align="left"><p><img src="images/callouts/2.png" alt="2" border="0" /></p></td><td valign="top" align="left"> 204 204 205 205 you must put <code class="computeroutput">/noerase</code> otherwise the second plot will be done in a new window. 206 206 207 207 </td></tr></table></div> 208 208 </div><p> … … 211 211 212 212 <div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="basic_contour" id="basic_contour"></a>2.2.2. scontour </h4></div></div></div> 213 213 214 214 <p> 215 215 Following <span class="command"><strong><a class="link" href="#basic_splot" title="2.2.1. splot">splot</a></strong></span> example, we provide <span class="command"><strong>scontour</strong></span> as a â<span class="quote">super <span class="command"><strong>contour</strong></span></span>â. … … 231 231 It can be used in combination with contour to make more complex plots: 232 232 </p><div class="screenco"> 233 233 234 234 <pre class="screen"> 235 235 <code class="prompt">idl></code> <strong class="userinput"><code><span class="command"><strong>ind = findgen(2*n)/(2.*n)</strong></span></code></strong> … … 305 305 306 306 <div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="gridded_data" id="gridded_data"></a>3. Explore gridded data (model outputs and observations) </h2></div></div></div> 307 307 308 308 <p> 309 309 This section briefly describes the main functionalities offered by SAXO to explore gridded data on regular or irregular grid. … … 311 311 312 312 <div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="load_grid" id="load_grid"></a>3.1. Load the data grid </h3></div></div></div> 313 313 314 314 <p> 315 315 As we focus in this section on the gridded data, we must first load the grid informations before reading and plotting the data. Loading the grid independently of the data allow you to reload the grid only when it is strictly necessary and not every time you access the data. In <code class="filename">${HOME}/SAXO_DIR/Tests/</code>, we provide several examples to load a grid. … … 376 376 377 377 <div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="plt" id="plt"></a>3.2. Horizontal plots and maps </h3></div></div></div> 378 378 379 379 <p> 380 380 A quick presentation of horizontal plots and maps is shown in <a class="link" href="../../Tests/tst_plt.pro" target="_top">tst_plt</a>. After loading any of the grid (for example with one of the <a class="link" href="#load_grid" title="3.1. Load the data grid">above examples</a>). Just try: … … 406 406 407 407 <div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="pltt" id="pltt"></a>3.4. Hovmoellers and time series </h3></div></div></div> 408 408 409 409 <p> 410 410 A quick presentation of hovmoellers and time series is shown in <a class="link" href="../../Tests/tst_pltt.pro" target="_top">tst_pltt</a>. After loading any of the grid (for example with one of the <a class="link" href="#load_grid" title="3.1. Load the data grid">above examples</a>). Just try: -
trunk/SRC/Documentation/xmldoc/firststeps.xml
r354 r495 1 <?xml version="1.0" encoding=" iso-8859-1"?>1 <?xml version="1.0" encoding="utf-8"?> 2 2 <!DOCTYPE article [ 3 3 <!ENTITY % isolat1 SYSTEM "http://www.w3.org/2003/entities/iso8879/isolat1.ent"> … … 47 47 <info> 48 48 <authorgroup> 49 <author><personname><firstname>S ébastien</firstname> <surname>Masson</surname></personname> <email>Sebastien.Masson_at_locean-ipsl.upmc.fr</email></author>50 <author><personname><firstname>Fran çoise</firstname> <surname>Pinsard</surname></personname> <email>Francoise.Pinsard_at_locean-ipsl.upmc.fr</email></author>49 <author><personname><firstname>Sébastien</firstname> <surname>Masson</surname></personname> <email>Sebastien.Masson_at_locean-ipsl.upmc.fr</email></author> 50 <author><personname><firstname>Françoise</firstname> <surname>Pinsard</surname></personname> <email>Francoise.Pinsard_at_locean-ipsl.upmc.fr</email></author> 51 51 </authorgroup> 52 52 <keywordset> … … 73 73 <revnumber>0.3</revnumber> 74 74 <date>April 2008</date> 75 <revremark>migration from DocBook 4.2 to Doc book 5.0</revremark>75 <revremark>migration from DocBook 4.2 to DocBook 5.0</revremark> 76 76 </revision> 77 77 … … 536 536 <title> Hovmoellers and time series </title> 537 537 <para> 538 A quick presentation of hovm oellers and time series is shown in <link xl:href="../../Tests/tst_pltt.pro">tst_pltt</link>. After loading any of the grid (for example with one of the <link linkend="load_grid">above examples</link>). Just try:538 A quick presentation of hovmöllers and time series is shown in <link xl:href="../../Tests/tst_pltt.pro">tst_pltt</link>. After loading any of the grid (for example with one of the <link linkend="load_grid">above examples</link>). Just try: 539 539 <screen> 540 540 <prompt>&promptidl;</prompt> <userinput><command>tst_pltt</command></userinput> … … 562 562 </sect2> 563 563 564 565 564 </sect1> 566 565 -
trunk/SRC/Documentation/xmldoc/firststeps_pre.sh
r431 r495 13 13 # fplod 2008-04-15T10:53:26Z aedon.locean-ipsl.upmc.fr (Darwin) 14 14 # creation from makehtml.sh 15 # adap ation to docbook 5.015 # adaptation to docbook 5.0 16 16 # 17 17 set -u … … 24 24 for i in tst_plt_lev_[0-9][0-9].png 25 25 do 26 figsplt_lev="${figsplt_lev} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>"26 figsplt_lev="${figsplt_lev} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>" 27 27 done 28 28 figspltz_lev="" 29 29 for i in tst_pltz_lev_[0-9][0-9].png 30 30 do 31 figspltz_lev="${figspltz_lev} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>"31 figspltz_lev="${figspltz_lev} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>" 32 32 done 33 33 figspltt_lev="" 34 34 for i in tst_pltt_lev_[0-9][0-9].png 35 35 do 36 figspltt_lev="${figspltt_lev} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>"36 figspltt_lev="${figspltt_lev} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>" 37 37 done 38 38 # … … 40 40 for i in tst_plt_orca2_[0-9][0-9].png 41 41 do 42 figsplt_orca2="${figsplt_orca2} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>"42 figsplt_orca2="${figsplt_orca2} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>" 43 43 done 44 44 figspltz_orca2="" 45 45 for i in tst_pltz_orca2_[0-9][0-9].png 46 46 do 47 figspltz_orca2="${figspltz_orca2} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>"47 figspltz_orca2="${figspltz_orca2} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>" 48 48 done 49 49 figspltt_orca2="" 50 50 for i in tst_pltt_orca2_[0-9][0-9].png 51 51 do 52 figspltt_orca2="${figspltt_orca2} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>"52 figspltt_orca2="${figspltt_orca2} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>" 53 53 done 54 54 # … … 56 56 for i in tst_plt_orca05_[0-9][0-9].png 57 57 do 58 figsplt_orca05="${figsplt_orca05} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>"58 figsplt_orca05="${figsplt_orca05} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>" 59 59 done 60 60 figspltz_orca05="" 61 61 for i in tst_pltz_orca05_[0-9][0-9].png 62 62 do 63 figspltz_orca05="${figspltz_orca05} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>"63 figspltz_orca05="${figspltz_orca05} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>" 64 64 done 65 65 figspltt_orca05="" 66 66 for i in tst_pltt_orca05_[0-9][0-9].png 67 67 do 68 figspltt_orca05="${figspltt_orca05} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>"68 figspltt_orca05="${figspltt_orca05} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>" 69 69 done 70 70 ## … … 73 73 for i in tst_plt_lev_stride_[0-9][0-9].png 74 74 do 75 figsplt_lev_stride="${figsplt_lev_stride} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>"75 figsplt_lev_stride="${figsplt_lev_stride} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>" 76 76 done 77 77 figspltz_lev_stride="" 78 78 for i in tst_pltz_lev_stride_[0-9][0-9].png 79 79 do 80 figspltz_lev_stride="${figspltz_lev_stride} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>"80 figspltz_lev_stride="${figspltz_lev_stride} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>" 81 81 done 82 82 figspltt_lev_stride="" 83 83 for i in tst_pltt_lev_stride_[0-9][0-9].png 84 84 do 85 figspltt_lev_stride="${figspltt_lev_stride} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>"85 figspltt_lev_stride="${figspltt_lev_stride} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>" 86 86 done 87 87 # … … 89 89 for i in tst_plt_orca2_stride_[0-9][0-9].png 90 90 do 91 figsplt_orca2_stride="${figsplt_orca2_stride} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>"91 figsplt_orca2_stride="${figsplt_orca2_stride} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>" 92 92 done 93 93 figspltz_orca2_stride="" 94 94 for i in tst_pltz_orca2_stride_[0-9][0-9].png 95 95 do 96 figspltz_orca2_stride="${figspltz_orca2_stride} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>"96 figspltz_orca2_stride="${figspltz_orca2_stride} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>" 97 97 done 98 98 figspltt_orca2_stride="" 99 99 for i in tst_pltt_orca2_stride_[0-9][0-9].png 100 100 do 101 figspltt_orca2_stride="${figspltt_orca2_stride} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>"101 figspltt_orca2_stride="${figspltt_orca2_stride} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>" 102 102 done 103 103 # … … 105 105 for i in tst_plt_orca05_stride_[0-9][0-9].png 106 106 do 107 figsplt_orca05_stride="${figsplt_orca05_stride} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>"107 figsplt_orca05_stride="${figsplt_orca05_stride} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>" 108 108 done 109 109 figspltz_orca05_stride="" 110 110 for i in tst_pltz_orca05_stride_[0-9][0-9].png 111 111 do 112 figspltz_orca05_stride="${figspltz_orca05_stride} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>"112 figspltz_orca05_stride="${figspltz_orca05_stride} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>" 113 113 done 114 114 figspltt_orca05_stride="" 115 115 for i in tst_pltt_orca05_stride_[0-9][0-9].png 116 116 do 117 figspltt_orca05_stride="${figspltt_orca05_stride} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>"117 figspltt_orca05_stride="${figspltt_orca05_stride} \<link xl:href=\"figpng\/${i}\"\>\&showfig\;\<\/link\>" 118 118 done 119 119 ## -
trunk/SRC/Documentation/xmldoc/forxxxdoc.sh
r431 r495 5 5 # 6 6 # !! exists only because graphics callouts are not yet available 7 # with xsl processing on XML/Doc book files (xsl stylesheet 1.70 and7 # with xsl processing on XML/DocBook files (xsl stylesheet 1.70 and 8 8 # DocBook DTD 4.2) 9 9 # … … 20 20 # first release 21 21 # 22 #23 22 set -u 24 23 set -o posix 25 24 # 26 25 case "${1}" in 27 0101|0201|mouse)28 # screen capture to be commented by frames and callouts images29 capture="figpng/xxx_${1}_org.png"30 ;;31 *)32 echo "eee : unknown parameter ${1}"33 exit 134 ;;26 0101|0201|mouse) 27 # screen capture to be commented by frames and callouts images 28 capture="figpng/xxx_${1}_org.png" 29 ;; 30 *) 31 echo "eee : unknown parameter ${1}" 32 exit 1 33 ;; 35 34 esac 36 35 # 37 36 if [ ! -f ${capture} ] 38 37 then 39 echo " eee : ${capture} not found"40 exit 138 echo " eee : ${capture} not found" 39 exit 1 41 40 fi 42 #43 41 # 44 42 callout_path=images/callouts/ … … 47 45 # 48 46 case ${capture} in 49 figpng/xxx_0101_org.png)50 capture_xsize=520 #++ should be obtain by parsing identify result51 capture_ysize=309 #++ should be obtain by parsing identify result52 #53 # description of frames (title, xmin, ymin, xmax,ymax)54 # nb : title and label are not yet used but they may be added in a kind of55 # comments56 # later in xml as id or label57 # now they are only here to remind us what we do58 zone_nb=359 zone_t[1]="Data file"60 zone_l[1]="datafile"61 zone_rect[1]="26,53, 485,95"62 zone_t[2]="Init method"63 zone_l[2]="initmethod"64 zone_rect[2]="78,101, 433,152"65 zone_t[3]="Init program"66 zone_l[3]="initprogram"67 zone_rect[3]="3,159, 518,278"68 #zone_t[1]="Data file"69 #zone_l[1]="datafile"70 #zone_rect[1]="5,55 515,90"71 #zone_t[2]="Init file"72 #zone_l[2]="initfile"73 #zone_rect[2]="5,150 515,200"74 ;;75 figpng/xxx_0201_org.png)76 capture_xsize=429 #++ should be obtain by parsing identify result77 capture_ysize=630 #++ should be obtain by parsing identify result78 #79 # description of frames (title, xmin, ymin, xmax,ymax)80 # nb : title and label are not yet used but they may be added in a kind of81 # comments82 # later in xml as id or label83 # now they are only here to remind us what we do84 zone_nb=1085 #86 zone_t[1]="Plot type"87 zone_l[1]="plottype"88 zone_rect[1]="3,24, 97,51"89 zone_t[2]="Menu"90 zone_l[2]="menu"91 zone_rect[2]="108,24, 325,53"92 zone_t[3]="OK"93 zone_l[3]="ok"94 zone_rect[3]="5,59, 44,86"95 zone_t[4]="Page layout"96 zone_l[4]="pagelayout"97 zone_rect[4]="70,59, 193,86"98 zone_t[5]="Variables list"99 zone_l[5]="variableslist"100 zone_rect[5]="209,60, 323,85"101 zone_t[6]="Files list"102 zone_l[6]="fileslist"103 zone_rect[6]="2,95, 344,117"104 zone_t[7]="Command text"105 zone_l[7]="commandtext"106 zone_rect[7]="2,126, 346,160"107 zone_t[8]="Calendar"108 zone_l[8]="calendar"109 zone_rect[8]="2,169, 212,216"110 zone_t[9]="Domdef"111 zone_l[9]="domdef"112 zone_rect[9]="16,227, 308,447"113 zone_t[10]="Specifications"114 zone_l[10]="specifications"115 zone_rect[10]="1,458, 345,580"116 # the next three lines are here to check calcultation of CALSPAIR units117 # see http://www.docbook.org/tdg/en/html/area.html118 # if you want to use it, please add one to zone_nb119 zone_t[11]="just to check full size rectangle"120 zone_l[11]="check"121 zone_rect[11]="0,0 ${capture_xsize},${capture_ysize}"122 ;;123 figpng/xxx_mouse_org.png)124 capture_xsize=57 #++ should be obtain by parsing identify result125 capture_ysize=82 #++ should be obtain by parsing identify result126 #127 # description of frames (title, xmin, ymin, xmax,ymax)128 # nb : title and label are not yet used but they may be added in a kind of129 # comments130 # later in xml as id or label131 # now they are only here to remind us what we do132 zone_nb=3133 zone_t[1]="Left"134 zone_l[1]="left"135 zone_rect[1]="3,14, 11,21"136 zone_t[2]="Middle"137 zone_l[2]="middle"138 zone_rect[2]="21,14, 28,19"139 zone_t[3]="Right"140 zone_l[3]="right"141 zone_rect[3]="39,14, 46,20"142 ;;143 *)144 echo " eee : ${capture} not implemented"145 exit 3146 ;;47 figpng/xxx_0101_org.png) 48 capture_xsize=520 #++ should be obtain by parsing identify result 49 capture_ysize=309 #++ should be obtain by parsing identify result 50 # 51 # description of frames (title, xmin, ymin, xmax,ymax) 52 # nb : title and label are not yet used but they may be added in a kind of 53 # comments 54 # later in xml as id or label 55 # now they are only here to remind us what we do 56 zone_nb=3 57 zone_t[1]="Data file" 58 zone_l[1]="datafile" 59 zone_rect[1]="26,53, 485,95" 60 zone_t[2]="Init method" 61 zone_l[2]="initmethod" 62 zone_rect[2]="78,101, 433,152" 63 zone_t[3]="Init program" 64 zone_l[3]="initprogram" 65 zone_rect[3]="3,159, 518,278" 66 #zone_t[1]="Data file" 67 #zone_l[1]="datafile" 68 #zone_rect[1]="5,55 515,90" 69 #zone_t[2]="Init file" 70 #zone_l[2]="initfile" 71 #zone_rect[2]="5,150 515,200" 72 ;; 73 figpng/xxx_0201_org.png) 74 capture_xsize=429 #++ should be obtain by parsing identify result 75 capture_ysize=630 #++ should be obtain by parsing identify result 76 # 77 # description of frames (title, xmin, ymin, xmax,ymax) 78 # nb : title and label are not yet used but they may be added in a kind of 79 # comments 80 # later in xml as id or label 81 # now they are only here to remind us what we do 82 zone_nb=10 83 # 84 zone_t[1]="Plot type" 85 zone_l[1]="plottype" 86 zone_rect[1]="3,24, 97,51" 87 zone_t[2]="Menu" 88 zone_l[2]="menu" 89 zone_rect[2]="108,24, 325,53" 90 zone_t[3]="OK" 91 zone_l[3]="ok" 92 zone_rect[3]="5,59, 44,86" 93 zone_t[4]="Page layout" 94 zone_l[4]="pagelayout" 95 zone_rect[4]="70,59, 193,86" 96 zone_t[5]="Variables list" 97 zone_l[5]="variableslist" 98 zone_rect[5]="209,60, 323,85" 99 zone_t[6]="Files list" 100 zone_l[6]="fileslist" 101 zone_rect[6]="2,95, 344,117" 102 zone_t[7]="Command text" 103 zone_l[7]="commandtext" 104 zone_rect[7]="2,126, 346,160" 105 zone_t[8]="Calendar" 106 zone_l[8]="calendar" 107 zone_rect[8]="2,169, 212,216" 108 zone_t[9]="Domdef" 109 zone_l[9]="domdef" 110 zone_rect[9]="16,227, 308,447" 111 zone_t[10]="Specifications" 112 zone_l[10]="specifications" 113 zone_rect[10]="1,458, 345,580" 114 # the next three lines are here to check calculation of CALSPAIR units 115 # see http://www.docbook.org/tdg/en/html/area.html 116 # if you want to use it, please add one to zone_nb 117 zone_t[11]="just to check full size rectangle" 118 zone_l[11]="check" 119 zone_rect[11]="0,0 ${capture_xsize},${capture_ysize}" 120 ;; 121 figpng/xxx_mouse_org.png) 122 capture_xsize=57 #++ should be obtain by parsing identify result 123 capture_ysize=82 #++ should be obtain by parsing identify result 124 # 125 # description of frames (title, xmin, ymin, xmax,ymax) 126 # nb : title and label are not yet used but they may be added in a kind of 127 # comments 128 # later in xml as id or label 129 # now they are only here to remind us what we do 130 zone_nb=3 131 zone_t[1]="Left" 132 zone_l[1]="left" 133 zone_rect[1]="3,14, 11,21" 134 zone_t[2]="Middle" 135 zone_l[2]="middle" 136 zone_rect[2]="21,14, 28,19" 137 zone_t[3]="Right" 138 zone_l[3]="right" 139 zone_rect[3]="39,14, 46,20" 140 ;; 141 *) 142 echo " eee : ${capture} not implemented" 143 exit 3 144 ;; 147 145 esac 148 146 # … … 151 149 while [ ${iz} -le ${zone_nb} ] 152 150 do 153 xymin=$(echo ${zone_rect[${iz}]} | awk '{print $1}')154 xymax=$(echo ${zone_rect[${iz}]} | awk '{print $2}')155 xmin=$(echo ${xymin} | awk -F "," '{print $1}')156 xmax=$(echo ${xymax} | awk -F "," '{print $1}')157 ymin=$(echo ${xymin} | awk -F "," '{print $2}')158 ymax=$(echo ${xymax} | awk -F "," '{print $2}')159 xmin_pc=$(echo "(${xmin} / ${capture_xsize}) * 10000" | bc -l)160 xmin_pc=$(echo ${xmin_pc} } | awk -F "." '{print $1}')161 ymin_pc=$(echo "(${ymin} / ${capture_ysize}) * 10000" | bc -l)162 ymin_pc=$(echo ${ymin_pc} } | awk -F "." '{print $1}')163 xmax_pc=$(echo "(${xmax} / ${capture_xsize}) * 10000" | bc -l)164 xmax_pc=$(echo ${xmax_pc} } | awk -F "." '{print $1}')165 ymax_pc=$(echo "(${ymax} / ${capture_ysize}) * 10000" | bc -l)166 ymax_pc=$(echo ${ymax_pc} } | awk -F "." '{print $1}')167 #echo "xmin_pc zone ${iz} = ${xmin_pc}"168 #echo "ymin_pc zone ${iz} = ${ymin_pc}"169 #echo "xmax_pc zone ${iz} = ${xmax_pc}"170 #echo "ymax_pc zone ${iz} = ${ymax_pc}"171 #read a172 zone_rect_pc[${iz}]="${xmin_pc},${ymin_pc} ${xmax_pc},${ymax_pc}"173 iz=$(( ${iz} + 1 ))151 xymin=$(echo ${zone_rect[${iz}]} | awk '{print $1}') 152 xymax=$(echo ${zone_rect[${iz}]} | awk '{print $2}') 153 xmin=$(echo ${xymin} | awk -F "," '{print $1}') 154 xmax=$(echo ${xymax} | awk -F "," '{print $1}') 155 ymin=$(echo ${xymin} | awk -F "," '{print $2}') 156 ymax=$(echo ${xymax} | awk -F "," '{print $2}') 157 xmin_pc=$(echo "(${xmin} / ${capture_xsize}) * 10000" | bc -l) 158 xmin_pc=$(echo ${xmin_pc} } | awk -F "." '{print $1}') 159 ymin_pc=$(echo "(${ymin} / ${capture_ysize}) * 10000" | bc -l) 160 ymin_pc=$(echo ${ymin_pc} } | awk -F "." '{print $1}') 161 xmax_pc=$(echo "(${xmax} / ${capture_xsize}) * 10000" | bc -l) 162 xmax_pc=$(echo ${xmax_pc} } | awk -F "." '{print $1}') 163 ymax_pc=$(echo "(${ymax} / ${capture_ysize}) * 10000" | bc -l) 164 ymax_pc=$(echo ${ymax_pc} } | awk -F "." '{print $1}') 165 #echo "xmin_pc zone ${iz} = ${xmin_pc}" 166 #echo "ymin_pc zone ${iz} = ${ymin_pc}" 167 #echo "xmax_pc zone ${iz} = ${xmax_pc}" 168 #echo "ymax_pc zone ${iz} = ${ymax_pc}" 169 #read a 170 zone_rect_pc[${iz}]="${xmin_pc},${ymin_pc} ${xmax_pc},${ymax_pc}" 171 iz=$(( ${iz} + 1 )) 174 172 done 175 173 # build the new image ie build the convert command to be run … … 182 180 -fill transparent" 183 181 # 184 # then loop on the frames to be drawed 185 iz=1 186 while [ ${iz} -le ${zone_nb} ] 187 do 188 leftcorner=$(echo ${zone_rect[${iz}]} | awk '{print $1}') 189 cmd="${cmd} -draw \"rectangle ${zone_rect[${iz}]}\" \ 190 -draw \"image over ${leftcorner} ${callout_xsize},${callout_ysize} 'images/callouts/${iz}.png'\"" 191 iz=$(( ${iz} + 1 )) 192 done 193 # 194 # 195 # +++ verrue mal codee... 182 # then loop on the frames to be drawn 183 iz=1 184 while [ ${iz} -le ${zone_nb} ] 185 do 186 leftcorner=$(echo ${zone_rect[${iz}]} | awk '{print $1}') 187 cmd="${cmd} -draw \"rectangle ${zone_rect[${iz}]}\" \ 188 -draw \"image over ${leftcorner} ${callout_xsize},${callout_ysize} 'images/callouts/${iz}.png'\"" 189 iz=$(( ${iz} + 1 )) 190 done 191 # 192 # +++ verrue mal codée... 196 193 # dans le cas mouse, je ne veux pas les cadres 197 # a voir si on integre proprement ou si on vire...194 # à voir si on intÚgre proprement ou si on vire... 198 195 if [ ${1} = mouse ] 199 196 then … … 202 199 while [ ${iz} -le ${zone_nb} ] 203 200 do 204 205 206 201 leftcorner=$(echo ${zone_rect[${iz}]} | awk '{print $1}') 202 cmd="${cmd} -draw \"image over ${leftcorner} ${callout_xsize},${callout_ysize} 'images/callouts/${iz}.png'\"" 203 iz=$(( ${iz} + 1 )) 207 204 done 208 205 fi 209 206 # +++ verrue mal codee... 210 #211 207 # 212 208 # last component of the convert command : the name of the output image … … 222 218 if [ ${convert_status} -ne 0 ] 223 219 then 224 echo " eee : convert doesn't work properly" >> ${log}225 echo " eee : return status = ${return_convert}" >> ${log}226 exit 2220 echo " eee : convert doesn't work properly" >> ${log} 221 echo " eee : return status = ${return_convert}" >> ${log} 222 exit 2 227 223 fi 228 224 echo " iii : image ${framecallouts} is ready" 229 echo " iii : you can add the following lines in XML/Doc book"225 echo " iii : you can add the following lines in XML/DocBook" 230 226 cat << EOF 231 227 <imageobjectco> … … 235 231 while [ ${iz} -le ${zone_nb} ] 236 232 do 237 echo "<area id=\"${zone_l[${iz}]}\" coords=\"${zone_rect_pc[${iz}]}\"/>"238 iz=$(( ${iz} + 1 ))233 echo "<area id=\"${zone_l[${iz}]}\" coords=\"${zone_rect_pc[${iz}]}\"/>" 234 iz=$(( ${iz} + 1 )) 239 235 done 240 236 cat << EOF … … 248 244 while [ ${iz} -le ${zone_nb} ] 249 245 do 250 cat << EOF246 cat << EOF 251 247 <callout arearefs="${zone_l[${iz}]}"> 252 248 <para>${zone_t[${iz}]}</para> 253 249 </callout> 254 250 EOF 255 iz=$(( ${iz} + 1 ))251 iz=$(( ${iz} + 1 )) 256 252 done 257 253 cat << EOF -
trunk/SRC/Documentation/xmldoc/getsaxo.html
r431 r495 17 17 </div></div><div><span class="pubdate">svn Id of xml source file : $Id$<br /><br /></span></div><div><div class="revhistory"><table border="1" width="100%" summary="Revision history"><tr><th align="left" valign="top" colspan="2"><b>Revision History</b></th></tr> 18 18 <tr><td align="left">Revision 0.0</td><td align="left">May 2006</td></tr><tr><td align="left" colspan="2">First draft</td></tr> 19 <tr><td align="left">Revision 0.1</td><td align="left">April 2008</td></tr><tr><td align="left" colspan="2">migration from DocBook 4.2 to Doc book 5.0</td></tr>19 <tr><td align="left">Revision 0.1</td><td align="left">April 2008</td></tr><tr><td align="left" colspan="2">migration from DocBook 4.2 to DocBook 5.0</td></tr> 20 20 </table></div></div></div><hr /></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#create_saxo_env">1. Create SAXO environment </a></span></dt><dt><span class="sect1"><a href="#get_saxo_files">2. Get SAXO files </a></span></dt><dd><dl><dt><span class="sect2"><a href="#saxo_local">2.1. If you work at IDRIS, IPSL or LOCEAN </a></span></dt><dt><span class="sect2"><a href="#saxo_svn">2.2. If ??? is installed on your machine </a></span></dt><dt><span class="sect2"><a href="#saxo_tar">2.3. Get SAXO from a tar file </a></span></dt></dl></dd><dt><span class="sect1"><a href="#generate_init">3. Generate your init.pro file </a></span></dt><dt><span class="sect1"><a href="#aftergetsaxo">4. After this</a></span></dt></dl></div> 21 21 22 23 24 25 26 22 23 24 25 26 27 27 28 28 <div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="create_saxo_env" id="create_saxo_env"></a>1. Create <span class="application">SAXO</span> environment </h2></div></div></div> 29 29 30 30 <p> 31 31 To simplify the explanation, we suppose that we install <span class="application">SAXO</span> in your <code class="filename">${HOME}</code>. … … 33 33 </p><div class="itemizedlist"><ul type="disc"><li> 34 34 <code class="filename">${HOME}/SAXO_DIR</code> that will contain the source files of <span class="application">SAXO</span>. It should not be modified by the user to simplify later updates. 35 35 36 36 </li><li> 37 37 <code class="filename">${HOME}/My_IDL</code> that will contain user personal files (including modified <span class="application">SAXO</span> files, if needed). 38 38 39 39 </li></ul></div><p> 40 40 </p> … … 47 47 </div> 48 48 49 49 50 50 51 51 <div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="get_saxo_files" id="get_saxo_files"></a>2. Get <span class="application">SAXO</span> files </h2></div></div></div> 52 53 54 52 53 54 55 55 56 56 <div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="saxo_local" id="saxo_local"></a>2.1. If you work at IDRIS, IPSL or LOCEAN </h3></div></div></div> 57 57 58 58 <p> 59 59 <span class="application">SAXO</span> is already installed at 60 60 </p><div class="itemizedlist"><ul type="disc"><li> 61 61 IDRIS, on <code class="systemitem">rhodes</code>: <code class="filename">/home/rech/eee/reee217/SAXO_DIR</code> 62 62 63 63 </li><li> 64 64 IPSL: <code class="filename">/home/smlod/SAXO_DIR</code> 65 65 66 66 </li><li> 67 67 LOCEAN: <code class="filename">/usr/home/smasson/SAXO_DIR</code> 68 68 69 69 </li></ul></div><p> 70 70 If you can access one of these directories, there is no need to re-install <span class="application">SAXO</span> again! In that case, you only have to link <code class="filename">${HOME}/SAXO_DIR</code> to the appropriate directory: … … 82 82 </div> 83 83 84 84 85 85 86 86 <div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="saxo_svn" id="saxo_svn"></a>2.2. If <a class="link" href="http://subversion.tigris.org/" target="_top"><span class="application"> Subversion (svn)</span></a> is installed on your machine </h3></div></div></div> 87 88 87 88 89 89 <div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="saxo_svn_users" id="saxo_svn_users"></a>2.2.1. Regular users </h4></div></div></div> 90 90 … … 120 120 </div> 121 121 122 122 123 123 124 124 <div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="saxo_tar" id="saxo_tar"></a>2.3. Get <span class="application">SAXO</span> from a tar file </h3></div></div></div> 125 126 125 126 127 127 <div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="saxo_src_tar" id="saxo_src_tar"></a>2.3.1. Get <span class="application">SAXO</span> source files ( Mb) </h4></div></div></div> 128 128 … … 156 156 157 157 </div> 158 158 159 159 <div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="saxo_data_tar" id="saxo_data_tar"></a>2.3.2. Get <span class="application">SAXO</span> tests data files (238M Mb) </h4></div></div></div> 160 160 … … 163 163 </p><div class="itemizedlist"><ul type="disc"><li> 164 164 <code class="filename">${HOME}/My_IDL</code>. This is the easiest solution but it could be inconvenient if your <code class="envar">${HOME}</code> disk space is limited. 165 166 </li><li> 167 <p>any other directory of your choice. In that case, when using IDL, you will need to define the variable <code class="varname">iodir</code> to the directory you choose in order to let IDL find the data tests files. This can be done either through the <code class="filename">init.pro</code> file (see <a class="xref" href="#generate_init" title="3. Generate your init.pro file">Section 3, â Generate your init.pro file â</a>) or directly within IDL with the following command: 165 166 </li><li> 167 <p>any other directory of your choice. In that case, when using IDL, you will need to define the variable <code class="varname">iodir</code> to the directory you choose in order to let IDL find the data tests files. This can be done either through the <code class="filename">init.pro</code> file (see <a class="xref" href="#generate_init" title="3. Generate your init.pro file">Section 3, â Generate your init.pro file â</a>) or directly within IDL with the following command: 168 168 </p><pre class="screen"> 169 169 <code class="prompt">idl></code> <strong class="userinput"><code><span class="command"><strong>iodir = <em class="replaceable"><code>the chosen directory</code></em></strong></span></code></strong> … … 189 189 </div> 190 190 </div> 191 191 192 192 <div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="generate_init" id="generate_init"></a>3. Generate your init.pro file </h2></div></div></div> 193 193 194 194 <p> 195 195 To use <span class="application">SAXO</span>, we need to build an IDL script that we usually call "<code class="filename">init.pro</code>". This file contains a set of IDL commands and default definitions (paths and variables of the common files) that are necessary to <span class="application">SAXO</span>. Once it has been created, <code class="filename">init.pro</code> should the first executed command when starting IDL session. -
trunk/SRC/Documentation/xmldoc/getsaxo.xml
r387 r495 1 <?xml version="1.0" encoding=" ISO-8859-1"?>1 <?xml version="1.0" encoding="utf-8"?> 2 2 <!DOCTYPE article [ 3 3 <!ENTITY % isolat1 SYSTEM "http://www.w3.org/2003/entities/iso8879/isolat1.ent"> … … 26 26 <info> 27 27 <authorgroup> 28 <author><personname><firstname>S ébastien</firstname> <surname>Masson</surname></personname> <email>Sebastien.Masson_at_locean-ipsl.upmc.fr</email></author>29 <author><personname><firstname>Fran çoise</firstname> <surname>Pinsard</surname></personname> <email>Francoise.Pinsard_at_locean-ipsl.upmc.fr</email></author>28 <author><personname><firstname>Sébastien</firstname> <surname>Masson</surname></personname> <email>Sebastien.Masson_at_locean-ipsl.upmc.fr</email></author> 29 <author><personname><firstname>Françoise</firstname> <surname>Pinsard</surname></personname> <email>Francoise.Pinsard_at_locean-ipsl.upmc.fr</email></author> 30 30 </authorgroup> 31 31 <keywordset> … … 42 42 <revnumber>0.1</revnumber> 43 43 <date>April 2008</date> 44 <revremark>migration from DocBook 4.2 to Doc book 5.0</revremark>44 <revremark>migration from DocBook 4.2 to DocBook 5.0</revremark> 45 45 </revision> 46 46 </revhistory> … … 215 215 </listitem> 216 216 <listitem> 217 <para>any other directory of your choice. In that case, when using IDL, you will need to define the variable <varname>iodir</varname> to the directory you choose in order to let IDL find the data tests files. This can be done either through the <filename>init.pro</filename> file (see <xref linkend="generate_init"/>) or directly within IDL with the following command: 217 <para>any other directory of your choice. In that case, when using IDL, you will need to define the variable <varname>iodir</varname> to the directory you choose in order to let IDL find the data tests files. This can be done either through the <filename>init.pro</filename> file (see <xref linkend="generate_init"/>) or directly within IDL with the following command: 218 218 <screen> 219 219 <prompt>&promptidl;</prompt> <userinput><command>iodir = <replaceable>the chosen directory</replaceable></command></userinput> -
trunk/SRC/Documentation/xmldoc/getsaxo_pre.sh
r430 r495 14 14 # fplod 2008-04-15T10:53:26Z aedon.locean-ipsl.upmc.fr (Darwin) 15 15 # creation from makehtml.sh 16 # adap ation to docbook 5.016 # adaptation to docbook 5.0 17 17 # 18 18 set -u … … 20 20 # 21 21 case $( whoami ) in 22 smasson)23 lgforge=smasson24 ;;25 floseb)26 lgforge=smasson27 ;;28 *)29 lgforge=saxo30 ;;22 smasson) 23 lgforge=smasson 24 ;; 25 floseb) 26 lgforge=smasson 27 ;; 28 *) 29 lgforge=saxo 30 ;; 31 31 esac 32 32 # … … 64 64 # 65 65 sed -e s/"\&date\;"/${ndate}/g \ 66 67 68 69 70 71 72 66 -e s/"\&date2\;"/${ndate2}/g \ 67 -e s/"\&szsrc\;"/${szsrc}/g \ 68 -e s/"\&szdata\;"/${szdata}/g \ 69 -e s/"\&szallsvn\;"/${szallsvn}/g \ 70 -e s/"\&szsrcsvn\;"/${szsrcsvn}/g \ 71 -e s/"\&szdatasvn\;"/${szdatasvn}/g \ 72 getsaxo.xml > getsaxo_sed.xml 73 73 # 74 74 # exit -
trunk/SRC/Documentation/xmldoc/idlfiles/init_example.pro
r239 r495 3 3 ; Working directory: /Users/sebastie/SAXO_RD 4 4 ; Date: Mon Jun 27 21:29:19 2005 5 5 6 6 ; 7 7 ; This is the initialisation file. 8 ; it defines the !path and the defau t values of some of the common variables8 ; it defines the !path and the default values of some of the common variables 9 9 ; 10 10 ; this is supposed to speed-up IDL... -
trunk/SRC/Documentation/xmldoc/infoupdatecm.html
r416 r495 17 17 </div></div><div><span class="pubdate">svn Id of xml source file : $Id$<br /><br /></span></div><div><div class="revhistory"><table border="1" width="100%" summary="Revision history"><tr><th align="left" valign="top" colspan="2"><b>Revision History</b></th></tr> 18 18 <tr><td align="left">Revision 0.0</td><td align="left">July 2006</td></tr><tr><td align="left" colspan="2">First draft</td></tr> 19 <tr><td align="left">Revision 0.1</td><td align="left">April 2008</td></tr><tr><td align="left" colspan="2">migration from DocBook 4.2 to Doc book 5.0</td></tr>19 <tr><td align="left">Revision 0.1</td><td align="left">April 2008</td></tr><tr><td align="left" colspan="2">migration from DocBook 4.2 to DocBook 5.0</td></tr> 20 20 </table></div></div></div><hr /></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#intro">1. Introduction</a></span></dt><dt><span class="sect1"><a href="#disappeared">2. Commons disappeared</a></span></dt><dt><span class="sect1"><a href="#translation">3. Commons translations</a></span></dt><dt><span class="sect1"><a href="#otherkind">4. Commons transformations</a></span></dt></dl></div> 21 21 22 22 23 23 24 24 <div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="intro" id="intro"></a>1. Introduction</h2></div></div></div> 25 25 26 26 <p> 27 Since Changeset 68 (2006-05-09), some commons had dis eappeared and others had been translated.27 Since Changeset 68 (2006-05-09), some commons had disappeared and others had been translated. 28 28 </p> 29 29 <p> … … 49 49 50 50 <p> 51 <code class="varname">coefpalit</code> had been replaced by keyword <code class="varname">LIG THNESS</code> in <code class="filename">openps.pro</code>.51 <code class="varname">coefpalit</code> had been replaced by keyword <code class="varname">LIGHTNESS</code> in <code class="filename">openps.pro</code>. 52 52 </p> 53 53 </div> -
trunk/SRC/Documentation/xmldoc/infoupdatecm.xml
r345 r495 1 <?xml version="1.0" encoding=" iso-8859-1"?>1 <?xml version="1.0" encoding="utf-8"?> 2 2 <article version="5.0" 3 3 xmlns="http://docbook.org/ns/docbook" … … 9 9 <info> 10 10 <authorgroup> 11 <author><personname><firstname>S ébastien</firstname> <surname>Masson</surname></personname> <email>Sebastien.Masson_at_locean-ipsl.upmc.fr</email></author>12 <author><personname><firstname>Fran çoise</firstname> <surname>Pinsard</surname></personname> <email>Francoise.Pinsard_at_locean-ipsl.upmc.fr</email></author>11 <author><personname><firstname>Sébastien</firstname> <surname>Masson</surname></personname> <email>Sebastien.Masson_at_locean-ipsl.upmc.fr</email></author> 12 <author><personname><firstname>Françoise</firstname> <surname>Pinsard</surname></personname> <email>Francoise.Pinsard_at_locean-ipsl.upmc.fr</email></author> 13 13 </authorgroup> 14 14 <keywordset> … … 25 25 <revnumber>0.1</revnumber> 26 26 <date>April 2008</date> 27 <revremark>migration from DocBook 4.2 to Doc book 5.0</revremark>27 <revremark>migration from DocBook 4.2 to DocBook 5.0</revremark> 28 28 </revision> 29 29 </revhistory> … … 34 34 <title>Introduction</title> 35 35 <para> 36 Since Changeset 68 (2006-05-09), some commons had dis eappeared and others had been translated.36 Since Changeset 68 (2006-05-09), some commons had disappeared and others had been translated. 37 37 </para> 38 38 <para> … … 94 94 <title>Commons transformations</title> 95 95 <para> 96 <varname>coefpalit</varname> had been replaced by keyword <varname>LIG THNESS</varname> in <filename>openps.pro</filename>.96 <varname>coefpalit</varname> had been replaced by keyword <varname>LIGHTNESS</varname> in <filename>openps.pro</filename>. 97 97 </para> 98 98 </sect1> -
trunk/SRC/Documentation/xmldoc/infoupdatekwd.html
r416 r495 17 17 </div></div><div><span class="pubdate">svn Id of xml source file : $Id$<br /><br /></span></div><div><div class="revhistory"><table border="1" width="100%" summary="Revision history"><tr><th align="left" valign="top" colspan="2"><b>Revision History</b></th></tr> 18 18 <tr><td align="left">Revision 0.0</td><td align="left">June 2006</td></tr><tr><td align="left" colspan="2">First draft</td></tr> 19 <tr><td align="left">Revision 0.1</td><td align="left">April 2008</td></tr><tr><td align="left" colspan="2">migration from DocBook 4.2 to Doc book 5.0</td></tr>19 <tr><td align="left">Revision 0.1</td><td align="left">April 2008</td></tr><tr><td align="left" colspan="2">migration from DocBook 4.2 to DocBook 5.0</td></tr> 20 20 </table></div></div></div><hr /></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#intro">1. Introduction</a></span></dt><dt><span class="sect1"><a href="#translation">2. Keywords translations</a></span></dt></dl></div> 21 21 22 22 23 23 24 24 <div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="intro" id="intro"></a>1. Introduction</h2></div></div></div> -
trunk/SRC/Documentation/xmldoc/infoupdatekwd.xml
r345 r495 1 <?xml version="1.0" encoding=" ISO-8859-1"?>1 <?xml version="1.0" encoding="utf-8"?> 2 2 <article version="5.0" 3 3 xmlns="http://docbook.org/ns/docbook" … … 9 9 <info> 10 10 <authorgroup> 11 <author><personname><firstname>S ébastien</firstname> <surname>Masson</surname></personname> <email>Sebastien.Masson_at_locean-ipsl.upmc.fr</email></author>12 <author><personname><firstname>Fran çoise</firstname> <surname>Pinsard</surname></personname> <email>Francoise.Pinsard_at_locean-ipsl.upmc.fr</email></author>11 <author><personname><firstname>Sébastien</firstname> <surname>Masson</surname></personname> <email>Sebastien.Masson_at_locean-ipsl.upmc.fr</email></author> 12 <author><personname><firstname>Françoise</firstname> <surname>Pinsard</surname></personname> <email>Francoise.Pinsard_at_locean-ipsl.upmc.fr</email></author> 13 13 </authorgroup> 14 14 <keywordset> … … 25 25 <revnumber>0.1</revnumber> 26 26 <date>April 2008</date> 27 <revremark>migration from DocBook 4.2 to Doc book 5.0</revremark>27 <revremark>migration from DocBook 4.2 to DocBook 5.0</revremark> 28 28 </revision> 29 29 </revhistory> -
trunk/SRC/Documentation/xmldoc/linkwiki.sed
r416 r495 5 5 # 6 6 # replace html link in wiki pages 7 #8 7 # 9 8 # TODO -
trunk/SRC/Documentation/xmldoc/mailing.html
r416 r495 16 16 <div class="author"><h3 class="author"><span class="firstname">Françoise</span> <span class="surname">Pinsard</span> <code class="email"><<a class="email" href="mailto:Francoise.Pinsard_at_locean-ipsl.upmc.fr">Francoise.Pinsard_at_locean-ipsl.upmc.fr</a>></code></h3></div> 17 17 </div></div><div><span class="pubdate">svn Id of xml source file : $Id$<br /><br /></span></div><div><div class="revhistory"><table border="1" width="100%" summary="Revision history"><tr><th align="left" valign="top" colspan="2"><b>Revision History</b></th></tr> 18 <tr><td align="left">Revision 0.2</td><td align="left">April 2008</td></tr><tr><td align="left" colspan="2">migration from DocBook 4.2 to Doc book 5.0</td></tr>18 <tr><td align="left">Revision 0.2</td><td align="left">April 2008</td></tr><tr><td align="left" colspan="2">migration from DocBook 4.2 to DocBook 5.0</td></tr> 19 19 <tr><td align="left">Revision 0.1</td><td align="left">September 2006</td></tr><tr><td align="left" colspan="2">Mailing lists on forge.ipsl.jussieu.fr are OK (thanks to Frédéric Bongat)</td></tr> 20 20 <tr><td align="left">Revision 0.0</td><td align="left">May 2006</td></tr><tr><td align="left" colspan="2">First draft</td></tr> … … 22 22 23 23 24 24 25 25 26 26 <div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="saxo-users" id="saxo-users"></a>1. saxo-users@forge.ipsl.jussieu.fr</h2></div></div></div> -
trunk/SRC/Documentation/xmldoc/mailing.xml
r351 r495 1 <?xml version="1.0" encoding=" iso-8859-1"?>1 <?xml version="1.0" encoding="utf-8"?> 2 2 <article version="5.0" 3 3 xmlns="http://docbook.org/ns/docbook" … … 9 9 <info> 10 10 <authorgroup> 11 <author><personname><firstname>S ébastien</firstname> <surname>Masson</surname></personname> <email>Sebastien.Masson_at_locean-ipsl.upmc.fr</email></author>12 <author><personname><firstname>Fran çoise</firstname> <surname>Pinsard</surname></personname> <email>Francoise.Pinsard_at_locean-ipsl.upmc.fr</email></author>11 <author><personname><firstname>Sébastien</firstname> <surname>Masson</surname></personname> <email>Sebastien.Masson_at_locean-ipsl.upmc.fr</email></author> 12 <author><personname><firstname>Françoise</firstname> <surname>Pinsard</surname></personname> <email>Francoise.Pinsard_at_locean-ipsl.upmc.fr</email></author> 13 13 </authorgroup> 14 14 <keywordset> … … 20 20 <revnumber>0.2</revnumber> 21 21 <date>April 2008</date> 22 <revremark>migration from DocBook 4.2 to Doc book 5.0</revremark>22 <revremark>migration from DocBook 4.2 to DocBook 5.0</revremark> 23 23 </revision> 24 24 <revision> 25 25 <revnumber>0.1</revnumber> 26 26 <date>September 2006</date> 27 <revremark>Mailing lists on forge.ipsl.jussieu.fr are OK (thanks to Fr édéric Bongat)</revremark>27 <revremark>Mailing lists on forge.ipsl.jussieu.fr are OK (thanks to Frédéric Bongat)</revremark> 28 28 </revision> 29 29 <revision> -
trunk/SRC/Documentation/xmldoc/makefile
r431 r495 270 270 $< 271 271 272 273 272 $(DIRTMP)/all_plots.xml : \ 274 273 $(DIRTMP)/firststeps_full.xml \ -
trunk/SRC/Documentation/xmldoc/mini_notice.html
r416 r495 20 20 <tr><td align="left">Revision 0.0</td><td align="left">May 29, 2000</td></tr><tr><td align="left" colspan="2">French release by Sébastien Masson</td></tr> 21 21 <tr><td align="left">Revision 0.1</td><td align="left">July, 2002</td></tr><tr><td align="left" colspan="2">Translation by Albert Fisher</td></tr> 22 <tr><td align="left">Revision 0.2</td><td align="left">July 20, 2006</td></tr><tr><td align="left" colspan="2">HTML to XML/Doc book migration by Françoise Pinsard</td></tr>22 <tr><td align="left">Revision 0.2</td><td align="left">July 20, 2006</td></tr><tr><td align="left" colspan="2">HTML to XML/DocBook migration by Françoise Pinsard</td></tr> 23 23 <tr><td align="left">Revision 1.0</td><td align="left">August, 2006</td></tr><tr><td align="left" colspan="2">Major update by Steve Navarro</td></tr> 24 24 <tr><td align="left">Revision 1.1</td><td align="left">September, 2006</td></tr><tr><td align="left" colspan="2">Review by Sébastien Masson</td></tr> 25 <tr><td align="left">Revision 1.2</td><td align="left">April 2008</td></tr><tr><td align="left" colspan="2">migration from DocBook 4.2 to Doc book 5.0</td></tr>26 27 </table></div></div></div><hr /></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#launchxxx">1. Launching XXX</a></span></dt><dd><dl><dt><span class="sect2"><a href="#launch_xxx_1">1.1. idl> xxx</a></span></dt><dt><span class="sect2"><a href="#launch_xxx_2">1.2. idl> xxx, /separate</a></span></dt><dt><span class="sect2"><a href="#launch_xxx_3">1.3. idl> xxx, restore = 'file.dat'</a></span></dt><dt><span class="sect2"><a href="#launch_xxx_4">1.4. idl> xxx, 'file.nc'</a></span></dt><dt><span class="sect2"><a href="#launch_xxx_5">1.5. idl> xxx, 'file.nc', keywd1 = âŠ, keywd2 = âŠ</a></span></dt><dt><span class="sect2"><a href="#launch_xxx_6">1.6. idl> xxx, 'file.nc', 'initgrid'</a></span></dt><dt><span class="sect2"><a href="#launch_xxx_7">1.7. idl> xxx, 'file.nc', 'initgrid', keywd1 = âŠ, keywd2 = âŠ</a></span></dt><dt><span class="sect2"><a href="#launch_xxx_8">1.8. idl> xxx, 'file.nc', 'initgrid', 'arg1, arg2, âŠ'</a></span></dt></dl></dd><dt><span class="sect1"><a href="#wi gdets">2. Description of XXX window</a></span></dt><dd><dl><dt><span class="sect2"><a href="#plottypetxt">2.1. Plot type list</a></span></dt><dt><span class="sect2"><a href="#menutxt">2.2. The menu bar made up of 3 sub-menus</a></span></dt><dt><span class="sect2"><a href="#oktxt">2.3. OK button</a></span></dt><dt><span class="sect2"><a href="#pagelayouttxt">2.4. Page Layout</a></span></dt><dt><span class="sect2"><a href="#variableslisttxt">2.5. List of variables</a></span></dt><dt><span class="sect2"><a href="#fileslisttxt">2.6. List of open files</a></span></dt><dt><span class="sect2"><a href="#commandtexttxt">2.7. Command text</a></span></dt><dt><span class="sect2"><a href="#calendartxt">2.8. Calendar</a></span></dt><dt><span class="sect2"><a href="#domdeftxt">2.9. Define the domain</a></span></dt><dt><span class="sect2"><a href="#specificationstxt">2.10. Specify your plot</a></span></dt></dl></dd><dt><span class="sect1"><a href="#mouseactions">3. Mouse Actions</a></span></dt><dd><dl><dt><span class="sect2"><a href="#mouse">3.1. In the graphics window on a horizontal plot</a></span></dt><dt><span class="sect2"><a href="#multipleplots">3.2. Create multiple plots on the same sheet and make them interact</a></span></dt></dl></dd><dt><span class="sect1"><a href="#crash">4. What should I do when it breakdown</a></span></dt></dl></div>28 29 30 25 <tr><td align="left">Revision 1.2</td><td align="left">April 2008</td></tr><tr><td align="left" colspan="2">migration from DocBook 4.2 to DocBook 5.0</td></tr> 26 27 </table></div></div></div><hr /></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#launchxxx">1. Launching XXX</a></span></dt><dd><dl><dt><span class="sect2"><a href="#launch_xxx_1">1.1. idl> xxx</a></span></dt><dt><span class="sect2"><a href="#launch_xxx_2">1.2. idl> xxx, /separate</a></span></dt><dt><span class="sect2"><a href="#launch_xxx_3">1.3. idl> xxx, restore = 'file.dat'</a></span></dt><dt><span class="sect2"><a href="#launch_xxx_4">1.4. idl> xxx, 'file.nc'</a></span></dt><dt><span class="sect2"><a href="#launch_xxx_5">1.5. idl> xxx, 'file.nc', keywd1 = âŠ, keywd2 = âŠ</a></span></dt><dt><span class="sect2"><a href="#launch_xxx_6">1.6. idl> xxx, 'file.nc', 'initgrid'</a></span></dt><dt><span class="sect2"><a href="#launch_xxx_7">1.7. idl> xxx, 'file.nc', 'initgrid', keywd1 = âŠ, keywd2 = âŠ</a></span></dt><dt><span class="sect2"><a href="#launch_xxx_8">1.8. idl> xxx, 'file.nc', 'initgrid', 'arg1, arg2, âŠ'</a></span></dt></dl></dd><dt><span class="sect1"><a href="#widgets">2. Description of XXX window</a></span></dt><dd><dl><dt><span class="sect2"><a href="#plottypetxt">2.1. Plot type list</a></span></dt><dt><span class="sect2"><a href="#menutxt">2.2. The menu bar made up of 3 sub-menus</a></span></dt><dt><span class="sect2"><a href="#oktxt">2.3. OK button</a></span></dt><dt><span class="sect2"><a href="#pagelayouttxt">2.4. Page Layout</a></span></dt><dt><span class="sect2"><a href="#variableslisttxt">2.5. List of variables</a></span></dt><dt><span class="sect2"><a href="#fileslisttxt">2.6. List of open files</a></span></dt><dt><span class="sect2"><a href="#commandtexttxt">2.7. Command text</a></span></dt><dt><span class="sect2"><a href="#calendartxt">2.8. Calendar</a></span></dt><dt><span class="sect2"><a href="#domdeftxt">2.9. Define the domain</a></span></dt><dt><span class="sect2"><a href="#specificationstxt">2.10. Specify your plot</a></span></dt></dl></dd><dt><span class="sect1"><a href="#mouseactions">3. Mouse Actions</a></span></dt><dd><dl><dt><span class="sect2"><a href="#mouse">3.1. In the graphics window on a horizontal plot</a></span></dt><dt><span class="sect2"><a href="#multipleplots">3.2. Create multiple plots on the same sheet and make them interact</a></span></dt></dl></dd><dt><span class="sect1"><a href="#crash">4. What should I do when it breakdown</a></span></dt></dl></div> 28 29 30 31 31 32 32 … … 69 69 <div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="initmethodtxt" id="initmethodtxt"></a>1.1.2. Grid initialization method</h4></div></div></div> 70 70 <p> 71 For visualising grilled data, you need to <a class="link" href="./firststeps.html#load_grid" target="_top">define the grid</a> on which are located the data. By default, <span class="guibutton">automatic grid construction with initncdf.pro</span> is checked. This means that the grid will be defined by using the informations contained in the data file (through the IDL pro decure <span class="command"><strong>initncdf</strong></span>) without needing any other auxiliary file. If you checked <span class="guibutton">grid construction with other IDL batch or procedure</span>, this means that you don't want to use the default <span class="command"><strong>initncdf</strong></span> procedure to define the grid and you will provide your own IDL procedure or the so-called IDL batch file (a file which is called by using @, see IDL documentation).71 For visualising grilled data, you need to <a class="link" href="./firststeps.html#load_grid" target="_top">define the grid</a> on which are located the data. By default, <span class="guibutton">automatic grid construction with initncdf.pro</span> is checked. This means that the grid will be defined by using the informations contained in the data file (through the IDL procedure <span class="command"><strong>initncdf</strong></span>) without needing any other auxiliary file. If you checked <span class="guibutton">grid construction with other IDL batch or procedure</span>, this means that you don't want to use the default <span class="command"><strong>initncdf</strong></span> procedure to define the grid and you will provide your own IDL procedure or the so-called IDL batch file (a file which is called by using @, see IDL documentation). 72 72 </p> 73 73 </div> … … 77 77 By default the name of the procedure is <span class="command"><strong>initncdf</strong></span>, its argument will be automatically defined so you cannot change them. If you checked <span class="guibutton">grid construction with other IDL batch or procedure</span>, you have to select the name of the IDL procedure or batch file and its suitable arguments and keywords. Note that if you select an IDL batch file you cannot give any parameter or keyword. 78 78 </p><div class="figure"><a name="fig_xxx_0102" id="fig_xxx_0102"></a><p class="title"><b>Figure 2. Window xxx 1</b></p><div class="figure-contents"> 79 79 80 80 <div class="mediaobject"><img src="figpng/xxx_0102.png" alt="Window xxx 1" /></div> 81 81 </div></div><p><br class="figure-break" /> … … 88 88 <p> 89 89 </p><div class="figure"><a name="fig_xxx_0103" id="fig_xxx_0103"></a><p class="title"><b>Figure 3. Oceania at 125 meters of depth with proper grid initialization</b></p><div class="figure-contents"> 90 90 91 91 <div class="mediaobject"><img src="figpng/xxx_0103.png" alt="Oceania at 125 meters of depth with proper grid initialization" /></div> 92 92 </div></div><p><br class="figure-break" /> … … 148 148 </div> 149 149 150 <div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="wi gdets" id="wigdets"></a>2. Description of XXX window</h2></div></div></div>150 <div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="widgets" id="widgets"></a>2. Description of XXX window</h2></div></div></div> 151 151 152 152 <p> … … 173 173 <p>Domdef</p> 174 174 </td></tr><tr><td width="5%" valign="top" align="left"><p><img src="images/callouts/10.png" alt="10" border="0" /></p></td><td valign="top" align="left"> 175 <p>Spe fications</p>175 <p>Specifications</p> 176 176 </td></tr></table></div></div> 177 177 </div></div><p><br class="figure-break" /> … … 182 182 <p> 183 183 </p><div class="figure"><a name="fig_xxx_0202" id="fig_xxx_0202"></a><p class="title"><b>Figure 5. Different plot types available</b></p><div class="figure-contents"> 184 184 185 185 <div class="mediaobject"><img src="figpng/xxx_0202.png" alt="Different plot types available" /></div> 186 186 </div></div><p><br class="figure-break" /> … … 197 197 <p> 198 198 </p><div class="figure"><a name="fig_xxx_0203" id="fig_xxx_0203"></a><p class="title"><b>Figure 6. The File menu</b></p><div class="figure-contents"> 199 199 200 200 <div class="mediaobject"><img src="figpng/xxx_0203.png" alt="The File menu" /></div> 201 201 </div></div><p><br class="figure-break" /> … … 210 210 <p> 211 211 </p><div class="figure"><a name="fig_xxx_0204" id="fig_xxx_0204"></a><p class="title"><b>Figure 7. The Save As menu</b></p><div class="figure-contents"> 212 212 213 213 <div class="mediaobject"><img src="figpng/xxx_0204.png" alt="The Save As menu" /></div> 214 214 </div></div><p><br class="figure-break" /> … … 245 245 <p> 246 246 </p><div class="figure"><a name="fig_xxx_0205" id="fig_xxx_0205"></a><p class="title"><b>Figure 8. The <span class="guisubmenu">Flag option</span> menu</b></p><div class="figure-contents"> 247 247 248 248 <div class="mediaobject"><img src="figpng/xxx_0205.png" alt="The Flag option menu" /></div> 249 249 </div></div><p><br class="figure-break" /> … … 265 265 <p> 266 266 </p><div class="figure"><a name="fig_xxx_0206" id="fig_xxx_0206"></a><p class="title"><b>Figure 9. Number of Column</b></p><div class="figure-contents"> 267 267 268 268 <div class="mediaobject"><img src="figpng/xxx_0206.png" alt="Number of Column" /></div> 269 269 </div></div><p><br class="figure-break" /> … … 271 271 <p> 272 272 </p><div class="figure"><a name="fig_xxx_0206a" id="fig_xxx_0206a"></a><p class="title"><b>Figure 10. Example: For 2 columns and 2 rows</b></p><div class="figure-contents"> 273 273 274 274 <div class="mediaobject"><img src="figpng/xxx_0206a.png" alt="Example: For 2 columns and 2 rows" /></div> 275 275 </div></div><p><br class="figure-break" /> … … 281 281 <p> 282 282 </p><div class="figure"><a name="fig_xxx_0207" id="fig_xxx_0207"></a><p class="title"><b>Figure 11. Example of different variables available</b></p><div class="figure-contents"> 283 283 284 284 <div class="mediaobject"><img src="figpng/xxx_0207.png" alt="Example of different variables available" /></div> 285 285 </div></div><p><br class="figure-break" /> … … 291 291 <p> 292 292 </p><div class="figure"><a name="fig_xxx_0208" id="fig_xxx_0208"></a><p class="title"><b>Figure 12. Example of list of open files</b></p><div class="figure-contents"> 293 293 294 294 <div class="mediaobject"><img src="figpng/xxx_0208.png" alt="Example of list of open files" /></div> 295 295 </div></div><p><br class="figure-break" /> … … 319 319 <p> 320 320 </p><div class="figure"><a name="fig_xxx_0301" id="fig_xxx_0301"></a><p class="title"><b>Figure 13. Example: first plot in January, second plot is from January to December</b></p><div class="figure-contents"> 321 321 322 322 <div class="mediaobject"><img src="figpng/xxx_0301.png" alt="Example: first plot in January, second plot is from January to December" /></div> 323 323 </div></div><p><br class="figure-break" /> … … 329 329 A series of widgets that allow specification of the min/max limits of the domain in longitude/x-index, latitude/y-index, and depth in levels or meters. 330 330 </p><div class="figure"><a name="fig_xxx_0210_domain" id="fig_xxx_0210_domain"></a><p class="title"><b>Figure 14. Domain by default</b></p><div class="figure-contents"> 331 331 332 332 <div class="mediaobject"><img src="figpng/xxx_0210.png" alt="Domain by default" /></div> 333 333 </div></div><p><br class="figure-break" /> 334 334 </p><div class="figure"><a name="fig_xxx_0401" id="fig_xxx_0401"></a><p class="title"><b>Figure 15. Change Domain area: zoom on Oceania</b></p><div class="figure-contents"> 335 335 336 336 <div class="mediaobject"><img src="figpng/xxx_0401.png" alt="Change Domain area: zoom on Oceania" /></div> 337 337 </div></div><p><br class="figure-break" /> 338 338 </p><div class="figure"><a name="fig_xxx_0402" id="fig_xxx_0402"></a><p class="title"><b>Figure 16. This configuration give us:</b></p><div class="figure-contents"> 339 339 340 340 <div class="mediaobject"><img src="figpng/xxx_0402.png" alt="This configuration give us:" /></div> 341 341 </div></div><p><br class="figure-break" /> 342 342 </p><div class="figure"><a name="fig_xxx_0403" id="fig_xxx_0403"></a><p class="title"><b>Figure 17. Change depth area: between depth 125 and 126</b></p><div class="figure-contents"> 343 343 344 344 <div class="mediaobject"><img src="figpng/xxx_0403.png" alt="Change depth area: between depth 125 and 126" /></div> 345 345 </div></div><p><br class="figure-break" /> 346 346 </p><div class="figure"><a name="fig_xxx_0404" id="fig_xxx_0404"></a><p class="title"><b>Figure 18. temperature of the ocean at depth 125 meters without proper land/sea mask</b></p><div class="figure-contents"> 347 347 348 348 <div class="mediaobject"><img src="figpng/xxx_0404.png" alt="temperature of the ocean at depth 125 meters without proper land/sea mask" /></div> 349 349 </div></div><p><br class="figure-break" /> … … 357 357 <p> 358 358 </p><div class="figure"><a name="fig_xxx_0501" id="fig_xxx_0501"></a><p class="title"><b>Figure 19. min, max, and contour interval specifications</b></p><div class="figure-contents"> 359 359 360 360 <div class="mediaobject"><img src="figpng/xxx_0501.png" alt="min, max, and contour interval specifications" /></div> 361 361 </div></div><p><br class="figure-break" /> … … 369 369 <p> 370 370 </p><div class="figure"><a name="fig_xxx_0502" id="fig_xxx_0502"></a><p class="title"><b>Figure 20. The Color menu</b></p><div class="figure-contents"> 371 371 372 372 <div class="mediaobject"><img src="figpng/xxx_0502.png" alt="The Color menu" /></div> 373 373 </div></div><p><br class="figure-break" /> … … 379 379 The â<span class="quote">keywords</span>â window allows specification of all desired keywords. There is a few examples of the use of this â<span class="quote">keywords</span>â window. 380 380 </p><div class="figure"><a name="fig_xxx_0209" id="fig_xxx_0209"></a><p class="title"><b>Figure 21. Without any additional keyword</b></p><div class="figure-contents"> 381 381 382 382 <div class="mediaobject"><img src="figpng/xxx_0209.png" alt="Without any additional keyword" /></div> 383 383 </div></div><p><br class="figure-break" /> 384 384 </p><div class="figure"><a name="fig_xxx_0210a" id="fig_xxx_0210a"></a><p class="title"><b>Figure 22. Add <code class="varname">/realcont</code> keyword</b></p><div class="figure-contents"> 385 385 386 386 <div class="mediaobject"><img src="figpng/xxx_0210a.png" alt="Add /realcont keyword" /></div> 387 387 </div></div><p><br class="figure-break" /> 388 388 </p><div class="figure"><a name="fig_xxx_0210_realcont" id="fig_xxx_0210_realcont"></a><p class="title"><b>Figure 23. Graphic with <code class="varname">/realcont</code> keyword</b></p><div class="figure-contents"> 389 389 390 390 <div class="mediaobject"><img src="figpng/xxx_0210.png" alt="Graphic with /realcont keyword" /></div> 391 391 </div></div><p><br class="figure-break" /> 392 392 </p><div class="figure"><a name="fig_xxx_0211a" id="fig_xxx_0211a"></a><p class="title"><b>Figure 24. Add <code class="userinput">/realcont, map=[90,0,0], /ortho, cell_fill=2</code> keywords</b></p><div class="figure-contents"> 393 393 394 394 <div class="mediaobject"><img src="figpng/xxx_0211a.png" alt="Add /realcont, map=[90,0,0], /ortho, cell_fill=2 keywords" /></div> 395 395 </div></div><p><br class="figure-break" /> 396 396 </p><div class="figure"><a name="fig_xxx_0211" id="fig_xxx_0211"></a><p class="title"><b>Figure 25. Graphic with <code class="literal">/realcont, map=[90,0,0], /ortho, cell_fill=2</code> keywords</b></p><div class="figure-contents"> 397 397 398 398 <div class="mediaobject"><img src="figpng/xxx_0211.png" alt="Graphic with /realcont, map=[90,0,0], /ortho, cell_fill=2 keywords" /></div> 399 399 </div></div><p><br class="figure-break" /> … … 429 429 <p> 430 430 </p><div class="figure"><a name="fig_mousell" id="fig_mousell"></a><p class="title"><b>Figure 26. <abbr class="abbrev">LCL</abbr>---><code class="constant">plt</code></b></p><div class="figure-contents"> 431 431 432 432 <div class="mediaobject"><img src="figpng/xxx_mousell.png" alt="LCL--->plt" /></div> 433 433 </div></div><p><br class="figure-break" /> … … 435 435 <p> 436 436 </p><div class="figure"><a name="fig_xxx_0701" id="fig_xxx_0701"></a><p class="title"><b>Figure 27. Horizontal Plot</b></p><div class="figure-contents"> 437 437 438 438 <div class="mediaobject"><img src="figpng/xxx_0701.png" alt="Horizontal Plot" /></div> 439 439 </div></div><p><br class="figure-break" /> … … 443 443 <p> 444 444 </p><div class="figure"><a name="fig_mouselm" id="fig_mouselm"></a><p class="title"><b>Figure 28. <abbr class="abbrev">LCM</abbr>---><code class="constant">pltz</code></b></p><div class="figure-contents"> 445 445 446 446 <div class="mediaobject"><img src="figpng/xxx_mouselm.png" alt="LCM--->pltz" /></div> 447 447 </div></div><p><br class="figure-break" /> … … 449 449 <p> 450 450 </p><div class="figure"><a name="fig_xxx_0702" id="fig_xxx_0702"></a><p class="title"><b>Figure 29. Vertical Plot</b></p><div class="figure-contents"> 451 451 452 452 <div class="mediaobject"><img src="figpng/xxx_0702.png" alt="Vertical Plot" /></div> 453 453 </div></div><p><br class="figure-break" /> … … 457 457 <p> 458 458 </p><div class="figure"><a name="fig_mouselr" id="fig_mouselr"></a><p class="title"><b>Figure 30. <abbr class="abbrev">LCR</abbr>---><code class="constant">pltt</code></b></p><div class="figure-contents"> 459 459 460 460 <div class="mediaobject"><img src="figpng/xxx_mouselr.png" alt="LCR--->pltt" /></div> 461 461 </div></div><p><br class="figure-break" /> … … 463 463 <p> 464 464 </p><div class="figure"><a name="fig_xxx_0703" id="fig_xxx_0703"></a><p class="title"><b>Figure 31. Common hovmoeller for xt and yt cuts</b></p><div class="figure-contents"> 465 465 466 466 <div class="mediaobject"><img src="figpng/xxx_0703.png" alt="Common hovmoeller for xt and yt cuts" /></div> 467 467 </div></div><p><br class="figure-break" /> … … 497 497 <p> 498 498 </p><div class="figure"><a name="fig_mousedl" id="fig_mousedl"></a><p class="title"><b>Figure 32. <abbr class="abbrev">DCL</abbr>--->â<span class="quote">reference</span>â frame</b></p><div class="figure-contents"> 499 499 500 500 <div class="mediaobject"><img src="figpng/xxx_mousedl.png" alt="DCL--->reference frame" /></div> 501 501 </div></div><p><br class="figure-break" /> … … 503 503 <p> 504 504 </p><div class="figure"><a name="fig_xxx_0801" id="fig_xxx_0801"></a><p class="title"><b>Figure 33. The â<span class="quote">reference</span>â frame is selected</b></p><div class="figure-contents"> 505 505 506 506 <div class="mediaobject"><img src="figpng/xxx_0801.png" alt="The reference frame is selected" /></div> 507 507 </div></div><p><br class="figure-break" /> … … 511 511 <p> 512 512 </p><div class="figure"><a name="fig_mousedm" id="fig_mousedm"></a><p class="title"><b>Figure 34. <abbr class="abbrev">DCM</abbr>--->â<span class="quote">target</span>â frame</b></p><div class="figure-contents"> 513 513 514 514 <div class="mediaobject"><img src="figpng/xxx_mousedm.png" alt="DCM--->target frame" /></div> 515 515 </div></div><p><br class="figure-break" /> … … 517 517 <p> 518 518 </p><div class="figure"><a name="fig_xxx_0802" id="fig_xxx_0802"></a><p class="title"><b>Figure 35. The â<span class="quote">target</span>â frame is selected</b></p><div class="figure-contents"> 519 519 520 520 <div class="mediaobject"><img src="figpng/xxx_0802.png" alt="The target frame is selected" /></div> 521 521 </div></div><p><br class="figure-break" /> … … 524 524 <p> 525 525 </p><div class="figure"><a name="fig_mousedr" id="fig_mousedr"></a><p class="title"><b>Figure 36. <abbr class="abbrev">DCR</abbr>--->erase the frame</b></p><div class="figure-contents"> 526 526 527 527 <div class="mediaobject"><img src="figpng/xxx_mousedr.png" alt="DCR--->erase the frame" /></div> 528 528 </div></div><p><br class="figure-break" /> … … 556 556 <p> 557 557 </p><div class="figure"><a name="fig_xxx_0901" id="fig_xxx_0901"></a><p class="title"><b>Figure 37. Frame with four plot</b></p><div class="figure-contents"> 558 558 559 559 <div class="mediaobject"><img src="figpng/xxx_0901.png" alt="Frame with four plot" /></div> 560 560 </div></div><p><br class="figure-break" /> … … 574 574 <p> 575 575 </p><div class="figure"><a name="fig_xxx_0902a" id="fig_xxx_0902a"></a><p class="title"><b>Figure 38. Command text area</b></p><div class="figure-contents"> 576 576 577 577 <div class="mediaobject"><img src="figpng/xxx_0902a.png" alt="Command text area" /></div> 578 578 </div></div><p><br class="figure-break" /> … … 584 584 <p> 585 585 </p><div class="figure"><a name="fig_xxx_0902" id="fig_xxx_0902"></a><p class="title"><b>Figure 39. The fourth plot with the keyword "nocontour"</b></p><div class="figure-contents"> 586 586 587 587 <div class="mediaobject"><img src="figpng/xxx_0902.png" alt="The fourth plot with the keyword "nocontour"" /></div> 588 588 </div></div><p><br class="figure-break" /> … … 609 609 <p> 610 610 </p><div class="figure"><a name="fig_xxx_0903" id="fig_xxx_0903"></a><p class="title"><b>Figure 40. Frame with five plot</b></p><div class="figure-contents"> 611 611 612 612 <div class="mediaobject"><img src="figpng/xxx_0903.png" alt="Frame with five plot" /></div> 613 613 </div></div><p><br class="figure-break" /> -
trunk/SRC/Documentation/xmldoc/mini_notice.xml
r356 r495 1 <?xml version="1.0" encoding=" iso-8859-1"?>1 <?xml version="1.0" encoding="utf-8"?> 2 2 <!DOCTYPE article [ 3 3 <!ENTITY % isolat1 SYSTEM "http://www.w3.org/2003/entities/iso8879/isolat1.ent"> … … 28 28 update : 29 29 fplod 2006-07-20T08:45:14Z aedon.locean-ipsl.upmc.fr (Darwin) 30 . creation by hand made migration from mini_notice.html to XML/Doc book30 . creation by hand made migration from mini_notice.html to XML/DocBook 31 31 . installation part has been removed 32 32 . add images … … 37 37 <info> 38 38 <authorgroup> 39 <author><personname><firstname>S ébastien</firstname> <surname>Masson</surname></personname> <email>Sebastien.Masson_at_locean-ipsl.upmc.fr</email></author>39 <author><personname><firstname>Sébastien</firstname> <surname>Masson</surname></personname> <email>Sebastien.Masson_at_locean-ipsl.upmc.fr</email></author> 40 40 <author><personname><firstname>Albert</firstname> <surname>Fisher</surname></personname></author> 41 <author><personname><firstname>Fran çoise</firstname> <surname>Pinsard</surname></personname> <email>Francoise.Pinsard_at_locean-ipsl.upmc.fr</email></author>41 <author><personname><firstname>Françoise</firstname> <surname>Pinsard</surname></personname> <email>Francoise.Pinsard_at_locean-ipsl.upmc.fr</email></author> 42 42 <author><personname><firstname>Steve</firstname> <surname>Navarro</surname></personname></author> 43 43 </authorgroup> … … 51 51 <revnumber>0.0</revnumber> 52 52 <date>May 29, 2000</date> 53 <revremark>French release by S ébastien Masson</revremark>53 <revremark>French release by Sébastien Masson</revremark> 54 54 </revision> 55 55 <revision> … … 61 61 <revnumber>0.2</revnumber> 62 62 <date>July 20, 2006</date> 63 <revremark>HTML to XML/Doc book migration by Françoise Pinsard</revremark>63 <revremark>HTML to XML/DocBook migration by Françoise Pinsard</revremark> 64 64 </revision> 65 65 <revision> … … 71 71 <revnumber>1.1</revnumber> 72 72 <date>September, 2006</date> 73 <revremark>Review by S ébastien Masson</revremark>73 <revremark>Review by Sébastien Masson</revremark> 74 74 </revision> 75 75 <revision> 76 76 <revnumber>1.2</revnumber> 77 77 <date>April 2008</date> 78 <revremark>migration from DocBook 4.2 to Docbook 5.0</revremark>78 <revremark>migration from DocBook 4.2 to DocBook 5.0</revremark> 79 79 </revision> 80 80 … … 82 82 <pubdate>$Id$</pubdate> 83 83 </info> 84 85 84 86 85 <sect1 xml:id="launchxxx"><title>Launching XXX</title> … … 141 140 <sect3 xml:id="initmethodtxt"><title>Grid initialization method</title> 142 141 <para> 143 For visualising grilled data, you need to <link xl:href="./firststeps.html#load_grid">define the grid</link> on which are located the data. By default, <guibutton>automatic grid construction with initncdf.pro</guibutton> is checked. This means that the grid will be defined by using the informations contained in the data file (through the IDL pro decure <command>initncdf</command>) without needing any other auxiliary file. If you checked <guibutton>grid construction with other IDL batch or procedure</guibutton>, this means that you don't want to use the default <command>initncdf</command> procedure to define the grid and you will provide your own IDL procedure or the so-called IDL batch file (a file which is called by using @, see IDL documentation).142 For visualising grilled data, you need to <link xl:href="./firststeps.html#load_grid">define the grid</link> on which are located the data. By default, <guibutton>automatic grid construction with initncdf.pro</guibutton> is checked. This means that the grid will be defined by using the informations contained in the data file (through the IDL procedure <command>initncdf</command>) without needing any other auxiliary file. If you checked <guibutton>grid construction with other IDL batch or procedure</guibutton>, this means that you don't want to use the default <command>initncdf</command> procedure to define the grid and you will provide your own IDL procedure or the so-called IDL batch file (a file which is called by using @, see IDL documentation). 144 143 </para> 145 144 </sect3> … … 228 227 </sect1> 229 228 230 <sect1 xml:id="wi gdets"><title>Description of XXX window</title>229 <sect1 xml:id="widgets"><title>Description of XXX window</title> 231 230 232 231 <para> … … 235 234 voir aussi message http://www.oasis-open.org/archives/docbook-apps/200501/msg00089.html 236 235 peut-etre du nouveau dans les xsl depuis le 16 janvier 2005 237 peut- être essayéhttp://lists.kde.org/?l=kde-doc-english&m=112780764426265&w=2236 peut-être essayé http://lists.kde.org/?l=kde-doc-english&m=112780764426265&w=2 238 237 ce produit klickety est installable via fink sous mac 239 238 --> … … 286 285 </callout> 287 286 <callout arearefs="specifications"> 288 <para>Spe fications</para>287 <para>Specifications</para> 289 288 </callout> 290 289 </calloutlist> … … 628 627 <para> 629 628 Select a domain and select the horizontal plot (<constant>plt</constant>), vertical plot 630 (<constant>pltz</constant>), or the hovm oeller plot (<constant>pltt</constant>):</para>629 (<constant>pltz</constant>), or the hovmöller plot (<constant>pltt</constant>):</para> 631 630 <para> 632 631 The domain we'd like to select for the plot is determined by one of … … 644 643 <listitem><para>the <mousebutton>left</mousebutton> mouse button to create horizontal plots (<constant>plt</constant>)</para></listitem> 645 644 <listitem><para>the <mousebutton>middle</mousebutton> mouse button to create vertical plots (<constant>pltz</constant>)</para></listitem> 646 <listitem><para>the <mousebutton>right</mousebutton> mouse button to create common hovm oellers for xt and yt cuts (<constant>pltt</constant>)</para></listitem>645 <listitem><para>the <mousebutton>right</mousebutton> mouse button to create common hovmöllers for xt and yt cuts (<constant>pltt</constant>)</para></listitem> 647 646 </itemizedlist> 648 647 </para> … … 710 709 <para> 711 710 <figure xml:id="fig_xxx_0703"> 712 <title>Common hovm oeller for xt and yt cuts</title>711 <title>Common hovmöller for xt and yt cuts</title> 713 712 <mediaobject> 714 713 <imageobject> … … 826 825 </para> 827 826 </step> 828 <!-- je n'arrive pas à utliser <stepalternatives> -->827 <!-- je n'arrive pas à utiliser <stepalternatives> --> 829 828 <step> 830 829 <para> … … 833 832 <abbrev>DCM</abbrev> in frame 3, <abbrev>LCM</abbrev> on the plot in frame 1 to create a vertical cut in frame 3.</para> 834 833 <para> 835 <abbrev>DCM</abbrev> in frame 4, <abbrev>LCR</abbrev> on the plot in frame 1 to create a hovm oeller in frame 4.834 <abbrev>DCM</abbrev> in frame 4, <abbrev>LCR</abbrev> on the plot in frame 1 to create a hovmöller in frame 4. 836 835 </para> 837 836 <para> … … 849 848 <procedure> 850 849 <para> 851 To redo the hovm oeller with the keyword <literallayout>/nocontour</literallayout>850 To redo the hovmöller with the keyword <literallayout>/nocontour</literallayout> 852 851 </para> 853 852 <step> -
trunk/SRC/Documentation/xmldoc/pro2href.sh
r468 r495 29 29 # 4.11. How do I match only the first occurrence of a pattern? 30 30 # in sed faq http://www.student.northpark.edu/pemente/sed/sedfaq4.html#s4.11 31 #++ still not working perfectly because path of links on the different occurences of <pro>...</pro> may not be the same 31 #++ still not working perfectly because path of links on the different 32 # occurrences of <pro>...</pro> may not be the same 32 33 # ex: see restoreboxparam.pro : domdef and saveboxparam 33 34 # fplod 2007-06-26T13:32:06Z aedon.locean-ipsl.upmc.fr (Darwin) 34 # improv ment for multiple occurences of <pro>...</pro> on one line35 # improvement for multiple occurrences of <pro>...</pro> on one line 35 36 # see http://www.gentoo.org/doc/en/articles/l-sed2.xml 36 # Sed by example, Part 237 # sed by example, Part 2 37 38 # especially for directory-overview files 38 39 # fplod 2007-03-20T14:02:14Z aedon.locean-ipsl.upmc.fr (Darwin) … … 50 51 while [ ${#} -gt 0 ] 51 52 do 52 case ${1} in53 -i)54 dirhtml=${2}55 shift56 ;;57 -r)58 refhtml=${2}59 shift60 ;;61 -e)62 element=${2}63 shift64 ;;65 -h)66 echo "${usage}"67 exit 068 ;;69 *)70 # other choice71 echo "${usage}"72 exit 173 ;;74 esac75 # next flag76 shift53 case ${1} in 54 -i) 55 dirhtml=${2} 56 shift 57 ;; 58 -r) 59 refhtml=${2} 60 shift 61 ;; 62 -e) 63 element=${2} 64 shift 65 ;; 66 -h) 67 echo "${usage}" 68 exit 0 69 ;; 70 *) 71 # other choice 72 echo "${usage}" 73 exit 1 74 ;; 75 esac 76 # next flag 77 shift 77 78 done 78 79 # … … 80 81 if [ ! -d ${dirhtml} ] 81 82 then 82 echo "eee : ${dirhtml} not found"83 exit 183 echo "eee : ${dirhtml} not found" 84 exit 1 84 85 fi 85 86 # ++ check for readable/writable … … 88 89 if [ ! -d ${refhtml} ] 89 90 then 90 echo "eee : ${refhtml} not found"91 exit 191 echo "eee : ${refhtml} not found" 92 exit 1 92 93 fi 93 94 # ++ check for readable … … 96 97 if [ "${element}" == "" ] 97 98 then 98 echo "eee : ${element} empty"99 exit 199 echo "eee : ${element} empty" 100 exit 1 100 101 fi 101 102 # … … 104 105 if [ "${list_html_element}" == "" ] 105 106 then 106 echo "iii : no <${element}>...</${element}> in html files"107 echo "iii : no <${element}>...</${element}> in html files" 107 108 else 108 for file_html in ${list_html_element} 109 do 110 #echo "file_html ${file_html}" 111 #read a 112 fpath=$(dirname ${file_html} | sed -e "s+\(${dirhtml}/\)\(.*\)+\2+") 113 #echo "fpath ${fpath}" 114 #read a 115 list_link=$(tr -s " " "\n" < ${file_html} | grep "<${element}>.*</${element}>" | sed -e "s/^.*<${element}>//" -e "s/<\/${element}>.*$//") 116 # echo "liste link" ${list_link} 117 # read a 118 for link in ${list_link} 119 do 120 # replace <element>something</element> by 121 #<a href="something.html">something</a> 122 # modulehtml is the html file name to be used 123 modulehtml=${link}.html 124 # lpath is the path on module relatively to the location of 125 # the html file containing the <element>...</element> 126 lpath=$(find ${refhtml} -name "${modulehtml}") 127 if [ "${lpath}" = "" ] 128 then 129 echo "eee : path of ${modulehtml} not found under ${refhtml}" 130 echo "eee : ${link} is used in ${file_html}" 131 else 132 lpath=$(dirname ${lpath} | sed -e "s+\(${refhtml}/\)\(.*\)+\2+") 133 #echo "path du fichier html ${fpath}" 134 #echo "lpath ${lpath}" 135 #read a 136 if [ "${lpath}" = "${fpath}" ] 109 for file_html in ${list_html_element} 110 do 111 #echo "file_html ${file_html}" 112 #read a 113 fpath=$(dirname ${file_html} | sed -e "s+\(${dirhtml}/\)\(.*\)+\2+") 114 #echo "fpath ${fpath}" 115 #read a 116 list_link=$(tr -s " " "\n" < ${file_html} | grep "<${element}>.*</${element}>" | sed -e "s/^.*<${element}>//" -e "s/<\/${element}>.*$//") 117 # echo "liste link" ${list_link} 118 # read a 119 for link in ${list_link} 120 do 121 # replace <element>something</element> by 122 #<a href="something.html">something</a> 123 # modulehtml is the html file name to be used 124 modulehtml=${link}.html 125 # lpath is the path on module relatively to the location of 126 # the html file containing the <element>...</element> 127 lpath=$(find ${refhtml} -name "${modulehtml}") 128 if [ "${lpath}" = "" ] 137 129 then 138 path="./" 139 fi 140 if [ "${lpath:0:1}" = "/" ] 141 then 142 # absolute path 143 path=${lpath} 130 echo "eee : path of ${modulehtml} not found under ${refhtml}" 131 echo "eee : ${link} is used in ${file_html}" 144 132 else 145 nblev=$(echo ${fpath} | sed -e "s@/\$@@" | awk -F "/" '{print NF}') 146 relpath="" 147 ilev=1 148 while [ ${ilev} -le ${nblev} ] 149 do 150 relpath="${relpath}../" 151 ilev=$(( ${ilev} + 1 )) 152 done 153 path=${relpath}/${lpath} 154 fi 155 #echo "path ${path}" 156 #read a 157 cat <<EOF > /tmp/pro2href${$}.sed 133 lpath=$(dirname ${lpath} | sed -e "s+\(${refhtml}/\)\(.*\)+\2+") 134 #echo "path du fichier html ${fpath}" 135 #echo "lpath ${lpath}" 136 #read a 137 if [ "${lpath}" = "${fpath}" ] 138 then 139 path="./" 140 fi 141 if [ "${lpath:0:1}" = "/" ] 142 then 143 # absolute path 144 path=${lpath} 145 else 146 nblev=$(echo ${fpath} | sed -e "s@/\$@@" | awk -F "/" '{print NF}') 147 relpath="" 148 ilev=1 149 while [ ${ilev} -le ${nblev} ] 150 do 151 relpath="${relpath}../" 152 ilev=$(( ${ilev} + 1 )) 153 done 154 path=${relpath}/${lpath} 155 fi 156 #echo "path ${path}" 157 #read a 158 cat <<EOF > /tmp/pro2href${$}.sed 158 159 1{x;s@^@first@;x;} 159 160 1,/<${element}>${link}<\/${element}>/{x;/first/s///;x;s@<${element}>${link}<\/${element}>@<a href="${path}/${link}.html">${link}<\/a>@;} 160 161 EOF 161 sed -f /tmp/pro2href${$}.sed \162 ${file_html} > ${file_html}_modify163 #diff ${file_html} ${file_html}_modify164 #read a165 mv ${file_html}_modify ${file_html}166 rm /tmp/pro2href${$}.sed167 fi168 done169 done162 sed -f /tmp/pro2href${$}.sed \ 163 ${file_html} > ${file_html}_modify 164 #diff ${file_html} ${file_html}_modify 165 #read a 166 mv ${file_html}_modify ${file_html} 167 rm /tmp/pro2href${$}.sed 168 fi 169 done 170 done 170 171 fi 171 172 exit 0 -
trunk/SRC/Documentation/xmldoc/savesaxo.sh
r452 r495 1 1 #!/bin/bash -x 2 #3 2 # 4 3 # TODO … … 23 22 # * do not anymore transfert tools and temporary files on download/ 24 23 # 25 # already existing files have been removed manual y on24 # already existing files have been removed manually on 26 25 # saxo@forge:~/download/xmldoc/ 27 26 # … … 54 53 # . replace <pro>ginette</pro> by a sequence like 55 54 # <a href="./ginette.html">ginette</a> in idldoc html and assistant outputs 56 # . enca spulate example content in <pre> </pre> in idldoc assistant outputs55 # . encapsulate example content in <pre> </pre> in idldoc assistant outputs 57 56 # smasson Fri Sep 22 17:28:10 CEST 2006 58 57 # check that the number of existing html files for each .pro file is 2! … … 65 64 # au lieu de 66 65 # http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd 67 # ++ pr évenir l'auteur66 # ++ prévenir l'auteur 68 67 # fplod 2006-09-21T13:05:32Z aedon.locean-ipsl.upmc.fr (Darwin) 69 68 # add an svn id in idldoc-lib.adb after </profile> … … 88 87 # main is rename to websaxo 89 88 # fplod 2006-09-05T15:39:47Z aedon.locean-ipsl.upmc.fr (Darwin) 90 # add Source link in idldoc html outp out89 # add Source link in idldoc html output 91 90 # snlod/fplod 2006-08-25T08:30:36Z electre.locean-ipsl.upmc.fr (Darwin) 92 91 # add for idldoc assistant … … 171 170 # 172 171 case $( whoami ) in 173 smasson)174 lgforge=smasson175 ;;176 floseb)177 lgforge=smasson178 ;;179 *)180 lgforge=saxo181 ;;172 smasson) 173 lgforge=smasson 174 ;; 175 floseb) 176 lgforge=smasson 177 ;; 178 *) 179 lgforge=saxo 180 ;; 182 181 esac 183 182 # 184 183 if [ ${lgforge} != smasson ] 185 184 then 186 doSRClocean=0187 doDTAlocean=0188 doSRCipsl=0189 doDTAipsl=0190 doSRCidris=0191 doDTAidris=0185 doSRClocean=0 186 doDTAlocean=0 187 doSRCipsl=0 188 doDTAipsl=0 189 doSRCidris=0 190 doDTAidris=0 192 191 fi 193 192 # … … 197 196 # memorize current directory 198 197 # should be <working space>/SRC/Documentation/xmldoc 199 memopwd=$(pwd) 198 memopwd=$(pwd)/ 200 199 application="FL" 201 200 # … … 226 225 ; 227 226 EOF 228 ;;229 FL)230 cat <<EOF > /tmp/compileall${$}.pro227 ;; 228 FL) 229 cat <<EOF > /tmp/compileall${$}.pro 231 230 .reset_session 232 231 ; … … 248 247 ; 249 248 EOF 250 ;; 251 GDL) 252 ;; 253 *) 254 echo "eee : unknown application" 255 exit 1 256 esac 257 # 258 for i in $( find ${memopwd}/../.. -name "*.pro" | grep -iv label_gmt | grep -iv report ) 259 do 260 # does it contains pro or function ? 261 egrep -iq '^ * *(pro|function)' ${i} 262 if [ ${?} -eq 0 ] 263 then 264 echo "print, '$( basename ${i} .pro ) :'" >> /tmp/compileall${$}.pro 265 echo "resolve_all, resolve_either = '$( basename ${i} .pro )', skip_routines = ['xxx2ps','trends', 'label_gmt', 'report']" >> /tmp/compileall${$}.pro 266 fi 267 done 268 echo "exit" >> /tmp/compileall${$}.pro 269 IDL_STARTUP=/tmp/compileall${$}.pro 270 #++ ${idl_dir}/bin/idl &> /tmp/compileallerr_${$} 271 #++ ${idl_dir}/gdl &> /tmp/compileallerr_${$} 272 ${idl_dir}/fl 273 ${idl_dir}/fl &> /tmp/compileallerr_${$} 249 ;; 250 GDL) 251 ;; 252 *) 253 echo "eee : unknown application" 254 exit 1 255 ;; 256 esac 257 # 258 for i in $( find ${memopwd}/../.. -name "*.pro" | grep -iv label_gmt | grep -iv report ) 259 do 260 # does it contains pro or function ? 261 egrep -iq '^ * *(pro|function)' ${i} 262 if [ ${?} -eq 0 ] 263 then 264 echo "print, '$( basename ${i} .pro ) :'" >> /tmp/compileall${$}.pro 265 echo "resolve_all, resolve_either = '$( basename ${i} .pro )', skip_routines = ['xxx2ps','trends', 'label_gmt', 'report']" >> /tmp/compileall${$}.pro 266 fi 267 done 268 echo "exit" >> /tmp/compileall${$}.pro 269 IDL_STARTUP=/tmp/compileall${$}.pro 270 #++ ${idl_dir}/bin/idl &> /tmp/compileallerr_${$} 271 #++ ${idl_dir}/gdl &> /tmp/compileallerr_${$} 272 ${idl_dir}/fl 273 ${idl_dir}/fl &> /tmp/compileallerr_${$} 274 274 275 echo276 echo277 grep -i "error" /tmp/compileallerr_${$}278 # grep -q "Compilation error(s)" /tmp/compileallerr_${$}279 if [ ${?} -ne 0 ]280 then281 echo "ALL SAXO files are OK..."282 rm -f /tmp/compileallerr_${$} /tmp/compileall${$}.pro283 else284 grep "Compilation error(s)" /tmp/compileallerr_${$}285 echo "eee : see /tmp/compileallerr_${$}"286 more /tmp/compileallerr_${$}287 exit 1288 fi289 echo290 echo275 echo 276 echo 277 grep -i "error" /tmp/compileallerr_${$} 278 # grep -q "Compilation error(s)" /tmp/compileallerr_${$} 279 if [ ${?} -ne 0 ] 280 then 281 echo "ALL SAXO files are OK..." 282 rm -f /tmp/compileallerr_${$} /tmp/compileall${$}.pro 283 else 284 grep "Compilation error(s)" /tmp/compileallerr_${$} 285 echo "eee : see /tmp/compileallerr_${$}" 286 more /tmp/compileallerr_${$} 287 exit 1 288 fi 289 echo 290 echo 291 291 fi 292 292 #------------------------------------------------------------------ 293 293 if [ ${dohtml} -eq 1 ] 294 294 then 295 #296 # redo the HTML files297 #298 cd ${memopwd}299 make clean300 make html295 # 296 # redo the HTML files 297 # 298 cd ${memopwd} 299 make clean 300 make html 301 301 fi 302 302 #------------------------------------------------------------------ 303 303 if [ ${dowiki} -eq 1 ] 304 304 then 305 #306 # redo the WIKI files307 #308 cd ${memopwd}309 make clean310 make tracwiki305 # 306 # redo the WIKI files 307 # 308 cd ${memopwd} 309 make clean 310 make tracwiki 311 311 fi 312 312 #------------------------------------------------------------------ 313 313 if [ ${dooldtest} -eq 1 ] 314 314 then 315 # make the old test316 #317 cd ${memopwd}/../../Tests/318 ./makeold.sh319 exit 0315 # make the old test 316 # 317 cd ${memopwd}/../../Tests/ 318 ./makeold.sh 319 exit 0 320 320 fi 321 321 #------------------------------------------------------------------ 322 322 if [ ${doidlwavedoc} -eq 1 ] 323 323 then 324 #325 # redo idlwave doc326 #327 cd ${memopwd}/../..328 Documentation/idlwave_catalog -v -f saxo329 exit 0324 # 325 # redo idlwave doc 326 # 327 cd ${memopwd}/../.. 328 Documentation/idlwave_catalog -v -f saxo 329 exit 0 330 330 fi 331 331 #------------------------------------------------------------------ 332 332 if [ ${doidldoc} -eq 1 ] 333 333 then 334 #335 # build HTML idldoc outputs336 ${SAXO_DIR}/SRC/Documentation/xmldoc/doidldoc.sh \337 338 339 340 341 342 doidldoc_html=${?}343 if [ ${doidldoc_html} -ne 0 ]344 then345 echo "eee : pb with doidldoc html"346 exit 1347 fi348 #349 # build a idl file to launch idldoc350 output=../idldoc_assistant_output/351 log="/tmp/idldocassistant_${$}.log"352 pro="/tmp/idldocassistant_${$}.pro"353 cat <<EOF > ${pro}334 # 335 # build HTML idldoc outputs 336 ${SAXO_DIR}/SRC/Documentation/xmldoc/doidldoc.sh \ 337 -i ../.. -t "SAXO Documentation" \ 338 -o ../idldoc_html_output/ 339 -idl_dir ${idl_dir} 340 -e pro -r ../idldoc_html_output/ \ 341 -e proidl -r /usr/local_linux/idl/idl_6.4/idl/help/online_help 342 doidldoc_html=${?} 343 if [ ${doidldoc_html} -ne 0 ] 344 then 345 echo "eee : pb with doidldoc html" 346 exit 1 347 fi 348 # 349 # build a idl file to launch idldoc 350 output=../idldoc_assistant_output/ 351 log="/tmp/idldocassistant_${$}.log" 352 pro="/tmp/idldocassistant_${$}.pro" 353 cat <<EOF > ${pro} 354 354 !path = expand_path('+' + '../idldoc/') 355 355 print,!path … … 359 359 exit 360 360 EOF 361 # launch idl with the file built above362 IDL_STARTUP=${pro};${idl_dir}/bin/idl363 /bin/rm ${pro}364 # In order to do not have to many revision in svn, we modify some365 # lines produced by idldoc :366 # examples :367 # <!-- Generated by IDLdoc 2.0 on Wed Jun 7 10:25:28 2006 -->368 # will be replaced by369 # <!-- Generated by IDLdoc 2.0 -->370 # <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:10 2006.</font></p>371 # will be replaced by372 # <p><font color="gray" size="-3"> Produced by IDLdoc 2.0</font></p>373 # <h2>Produced on Wed Jun 7 10:23:13 2006</h2>374 # will be delete375 # other lines will be deleted because the time is the time of checkout not376 # the time of revision.377 # the sequence of lines378 #<dl>379 # <dt>Last modification:</dt>380 # <dd>Fri Jun 2 11:46:24 2006</dd>381 # </dl>382 # should also be removed ++ je ne sais pas dire en sed la ligne383 # suivant l'occurence de Last modification384 # replace *_param_* in href attributes because anchors are badly written385 # with _keyword_386 #++ -e 's@\(href="#_.*\)\(_param_\)\(.*"\)@\1_keyword_\3@g' \ # ++ pb global387 # ONLINE_HELP, book="../idldoc_assistant_output/idldoc-lib.adp", /full_path # won't work388 # encaspulate example content in <pre> </pre> in idldoc assistant outputs389 # Examples section is supposed to start with <h3>Examples</h3>390 # and end is before <h3>Version history</h3>391 list_html=$(find ${output} -name "*.html")392 for file_html in ${list_html}393 do394 sed \395 396 397 398 399 400 401 402 403 404 405 406 407 408 mv ${file_html}_modify ${file_html}409 done410 # replace <pro>ginette</pro> by a sequence like411 # <a href="./ginette.html">ginette</a>412 ./pro2href.sh -i ${output} -r ${output} -e pro413 status=${?}414 if [ ${status} -ne 0 ]415 then416 echo "eee : pb during ./pro2href.sh for <pro>...</pro>"417 exit 1418 fi419 # replace <proidl>ginette</proidl> by a sequence like420 # <a href="./ginette.html">ginette</a>421 ./pro2href.sh -i ${output} -r ${idl_dir}/help/online_help -e proidl422 status=${?}423 if [ ${status} -ne 0 ]424 then425 echo "eee : pb during ./pro2href.sh for <proidl>...</proidl>"426 exit 1427 fi428 # add the directory-overview.html from dir-files.html in idldoc_html_output429 list_html=$(find ../idldoc_html_output -name dir-files.html)430 for file_html in ${list_html}431 do432 fout=../idldoc_assistant_output/${file_html#../idldoc_html_output/*}433 fout=${fout%/*}/directory-overview.html434 cp ${file_html} ${fout}435 done436 # copy listings.css (needed by directory-overview.html files)437 cp ../idldoc/resource/listings.css ${output}438 # add an id in idldoc-lib.adp439 cat << EOF > /tmp/adp_modification361 # launch idl with the file built above 362 IDL_STARTUP=${pro};${idl_dir}/bin/idl 363 /bin/rm ${pro} 364 # In order to do not have too many revision in svn, we modify some 365 # lines produced by idldoc : 366 # examples : 367 # <!-- Generated by IDLdoc 2.0 on Wed Jun 7 10:25:28 2006 --> 368 # will be replaced by 369 # <!-- Generated by IDLdoc 2.0 --> 370 # <p><font color="gray" size="-3"> Produced by IDLdoc 2.0 on Wed Sep 13 16:32:10 2006.</font></p> 371 # will be replaced by 372 # <p><font color="gray" size="-3"> Produced by IDLdoc 2.0</font></p> 373 # <h2>Produced on Wed Jun 7 10:23:13 2006</h2> 374 # will be delete 375 # other lines will be deleted because the time is the time of checkout not 376 # the time of revision. 377 # the sequence of lines 378 #<dl> 379 # <dt>Last modification:</dt> 380 # <dd>Fri Jun 2 11:46:24 2006</dd> 381 # </dl> 382 # should also be removed ++ je ne sais pas dire en sed la ligne 383 # suivant l'occurrence de Last modification 384 # replace *_param_* in href attributes because anchors are badly written 385 # with _keyword_ 386 #++ -e 's@\(href="#_.*\)\(_param_\)\(.*"\)@\1_keyword_\3@g' \ # ++ pb global 387 # ONLINE_HELP, book="../idldoc_assistant_output/idldoc-lib.adp", /full_path # won't work 388 # encapsulate example content in <pre> </pre> in idldoc assistant outputs 389 # Examples section is supposed to start with <h3>Examples</h3> 390 # and end is before <h3>Version history</h3> 391 list_html=$(find ${output} -name "*.html") 392 for file_html in ${list_html} 393 do 394 sed \ 395 -e "s/\(Generated by IDLdoc 2.0\)\( on .*\)\( -->\)/\1\3/" \ 396 -e "s/\(Produced by IDLdoc 2.0\)\( on .*\)\(\.<\/font>\)/\1\3/" \ 397 -e "/<h2>Produced on/d" \ 398 -e "/Last modification:/d" \ 399 -e "/<dd>... ... .* ..:..:.. ....<\/dd>/d" \ 400 -e '/href/s@_param_@_keyword_@g' \ 401 -e 's@<div class="value">@<div class="preformat">@' \ 402 -e 's/div\#file_comments {/div\#file_comments { white-space: pre;/' \ 403 -e 's@^ <fixe>@<pre>@' \ 404 -e 's@^ </fixe>@</pre>@' \ 405 -e "s@<h3>Examples</h3>@<h3>Examples</h3><pre>@" \ 406 -e "s@<h3>Version history</h3>@</pre><h3>Version history</h3>@" \ 407 ${file_html} > ${file_html}_modify 408 mv ${file_html}_modify ${file_html} 409 done 410 # replace <pro>ginette</pro> by a sequence like 411 # <a href="./ginette.html">ginette</a> 412 ./pro2href.sh -i ${output} -r ${output} -e pro 413 status=${?} 414 if [ ${status} -ne 0 ] 415 then 416 echo "eee : pb during ./pro2href.sh for <pro>...</pro>" 417 exit 1 418 fi 419 # replace <proidl>ginette</proidl> by a sequence like 420 # <a href="./ginette.html">ginette</a> 421 ./pro2href.sh -i ${output} -r ${idl_dir}/help/online_help -e proidl 422 status=${?} 423 if [ ${status} -ne 0 ] 424 then 425 echo "eee : pb during ./pro2href.sh for <proidl>...</proidl>" 426 exit 1 427 fi 428 # add the directory-overview.html from dir-files.html in idldoc_html_output 429 list_html=$(find ../idldoc_html_output -name dir-files.html) 430 for file_html in ${list_html} 431 do 432 fout=../idldoc_assistant_output/${file_html#../idldoc_html_output/*} 433 fout=${fout%/*}/directory-overview.html 434 cp ${file_html} ${fout} 435 done 436 # copy listings.css (needed by directory-overview.html files) 437 cp ../idldoc/resource/listings.css ${output} 438 # add an id in idldoc-lib.adp 439 cat << EOF > /tmp/adp_modification 440 440 <!-- \$Id\$ --> 441 441 EOF 442 sed -e "/<\/profile>/r /tmp/adp_modification" \442 sed -e "/<\/profile>/r /tmp/adp_modification" \ 443 443 ../idldoc_assistant_output/idldoc-lib.adp > \ 444 444 ../idldoc_assistant_output/idldoc-lib.adp_${$} 445 mv ../idldoc_assistant_output/idldoc-lib.adp_${$} \446 ../idldoc_assistant_output/idldoc-lib.adp447 rm /tmp/adp_modification448 echo "iii : you can see log file in ${log}"449 echo "iii : and look ${output}/idldoc-warnings.html#undoc"450 # check that the number of existing html files for each .pro file is 2!451 for i in $( find ../.. -name "*.pro" )452 do453 nhtml=$( find ../.. -name $( basename ${i} .pro ).html | wc -l )454 if [ ${nhtml} -ne 2 ]455 then456 echo "ERROR there is no 2 $( basename ${i} .pro ).html files"457 find ../.. -name $( basename ${i} .pro ).html458 echo459 fi460 done445 mv ../idldoc_assistant_output/idldoc-lib.adp_${$} \ 446 ../idldoc_assistant_output/idldoc-lib.adp 447 rm /tmp/adp_modification 448 echo "iii : you can see log file in ${log}" 449 echo "iii : and look ${output}/idldoc-warnings.html#undoc" 450 # check that the number of existing html files for each .pro file is 2! 451 for i in $( find ../.. -name "*.pro" ) 452 do 453 nhtml=$( find ../.. -name $( basename ${i} .pro ).html | wc -l ) 454 if [ ${nhtml} -ne 2 ] 455 then 456 echo "ERROR there is no 2 $( basename ${i} .pro ).html files" 457 find ../.. -name $( basename ${i} .pro ).html 458 echo 459 fi 460 done 461 461 fi 462 462 #------------------------------------------------------------------ 463 463 if [ ${doTARsrc} -eq 1 ] 464 464 then 465 rev=$( svn info | grep -i revision | awk '{print $NF}' )466 localtarbase=/tmp/savesaxo_${$}467 mkdir ${localtarbase}/468 # clean backup files : *~469 find ${memopwd}/../../.. -name "*~" -exec rm {} \;470 # prepare the source tar (without the svn...)471 #472 cd ${memopwd}/../../..473 tar czf ${localtarbase}/SAXO_SRC_${ndate}r${rev}.tar.gz --exclude .svn SRC474 #475 # informations476 echo "iii : following file may be copied on http://forge.ipsl.jussieu.fr/saxo/download/"477 ls -l ${localtarbase}465 rev=$( svn info | grep -i revision | awk '{print $NF}' ) 466 localtarbase=/tmp/savesaxo_${$} 467 mkdir ${localtarbase}/ 468 # clean backup files : *~ 469 find ${memopwd}/../../.. -name "*~" -exec rm {} \; 470 # prepare the source tar (without the svn...) 471 # 472 cd ${memopwd}/../../.. 473 tar czf ${localtarbase}/SAXO_SRC_${ndate}r${rev}.tar.gz --exclude .svn SRC 474 # 475 # informations 476 echo "iii : following file may be copied on http://forge.ipsl.jussieu.fr/saxo/download/" 477 ls -l ${localtarbase} 478 478 fi 479 479 #------------------------------------------------------------------ 480 480 if [ ${doTARdata} -eq 1 ] 481 481 then 482 localtarbase=/tmp/savesaxo_${$}483 mkdir ${localtarbase}/484 #485 # prepare the data tar (without the svn...)486 #487 cd ${memopwd}/../../..488 tar czf ${localtarbase}/SAXO_DATA_${ndate}.tar.gz --exclude .svn DATA489 #490 # informations491 echo "iii : following file may be copied on http://forge.ipsl.jussieu.fr/saxo/download/"492 ls -l ${localtarbase}482 localtarbase=/tmp/savesaxo_${$} 483 mkdir ${localtarbase}/ 484 # 485 # prepare the data tar (without the svn...) 486 # 487 cd ${memopwd}/../../.. 488 tar czf ${localtarbase}/SAXO_DATA_${ndate}.tar.gz --exclude .svn DATA 489 # 490 # informations 491 echo "iii : following file may be copied on http://forge.ipsl.jussieu.fr/saxo/download/" 492 ls -l ${localtarbase} 493 493 fi 494 494 #------------------------------------------------------------------ 495 495 if [ ${doforge} -eq 1 ] 496 496 then 497 echo "iii : you will be asked ${lgforge}@forge.ipsl.jussieu.fr passwd two times"498 if [ ${doTARsrc} -ne 1 ]499 then500 localtarbase=${1}501 fi502 scp ${localtarbase}/SAXO_*.tar.gz ${lgforge}@forge.ipsl.jussieu.fr:/ipsl/forge/projets/saxo/download/503 echo "iii : do not forget to update getsaxo.html"504 echo "iii : \$ make ./getsaxo.html"505 echo "iii : do not forget to clean ${localtarbase}"497 echo "iii : you will be asked ${lgforge}@forge.ipsl.jussieu.fr passwd two times" 498 if [ ${doTARsrc} -ne 1 ] 499 then 500 localtarbase=${1} 501 fi 502 scp ${localtarbase}/SAXO_*.tar.gz ${lgforge}@forge.ipsl.jussieu.fr:/ipsl/forge/projets/saxo/download/ 503 echo "iii : do not forget to update getsaxo.html" 504 echo "iii : \$ make ./getsaxo.html" 505 echo "iii : do not forget to clean ${localtarbase}" 506 506 fi 507 507 #------------------------------------------------------------------ 508 508 if [[ (${doDTAlocean} -eq 1) || (${doDTAipsl} -eq 1) ]] 509 509 then 510 echo "iii : you will be asked ${lgforge}@forge.ipsl.jussieu.fr passwd"511 infodata=$(ssh ${lgforge}@forge.ipsl.jussieu.fr ls -lht /ipsl/forge/projets/saxo/download/SAXO_DATA_*.tar.gz | head -n 1)512 filedata=$(echo ${infodata} | awk '{print $NF}')513 filedata=$(basename ${filedata})514 cat <<EOF > job_data_$$510 echo "iii : you will be asked ${lgforge}@forge.ipsl.jussieu.fr passwd" 511 infodata=$(ssh ${lgforge}@forge.ipsl.jussieu.fr ls -lht /ipsl/forge/projets/saxo/download/SAXO_DATA_*.tar.gz | head -n 1) 512 filedata=$(echo ${infodata} | awk '{print $NF}') 513 filedata=$(basename ${filedata}) 514 cat <<EOF > job_data_$$ 515 515 #!/bin/bash 516 516 cd SAXO_DIR … … 530 530 if [ ${doSRClocean} -eq 1 ] 531 531 then 532 # update src on cerbere533 #534 echo "iii : update src on cerbere"535 ssh smasson@cratos.locean-ipsl.upmc.fr "svn update SAXO_DIR/SRC ; chmod -R 755 SAXO_DIR"532 # update src on cerbere 533 # 534 echo "iii : update src on cerbere" 535 ssh smasson@cratos.locean-ipsl.upmc.fr "svn update SAXO_DIR/SRC ; chmod -R 755 SAXO_DIR" 536 536 fi 537 537 #------------------------------------------------------------------ 538 538 if [ ${doDTAlocean} -eq 1 ] 539 539 then 540 # update data on cerbere541 echo "iii : update data on cerbere"542 scp job_data_$$ smasson@cerbere.locean-ipsl.upmc.fr:.543 ssh smasson@cratos.locean-ipsl.upmc.fr "chmod 755 job_data_$$ ; ./job_data_$$ ; rm -f job_data_$$"540 # update data on cerbere 541 echo "iii : update data on cerbere" 542 scp job_data_$$ smasson@cerbere.locean-ipsl.upmc.fr:. 543 ssh smasson@cratos.locean-ipsl.upmc.fr "chmod 755 job_data_$$ ; ./job_data_$$ ; rm -f job_data_$$" 544 544 fi 545 545 #------------------------------------------------------------------ 546 546 if [ ${doSRCipsl} -eq 1 ] 547 547 then 548 # update src on calcul2549 #550 echo "iii : update src on calcul2"551 ssh smlod@calcul2.ipsl.jussieu.fr "svn update SAXO_DIR/SRC ; chmod -R 755 SAXO_DIR"548 # update src on calcul2 549 # 550 echo "iii : update src on calcul2" 551 ssh smlod@calcul2.ipsl.jussieu.fr "svn update SAXO_DIR/SRC ; chmod -R 755 SAXO_DIR" 552 552 fi 553 553 #------------------------------------------------------------------ 554 554 if [ ${doDTAipsl} -eq 1 ] 555 555 then 556 # update data on cook557 echo "iii : update data on cook"558 scp job_data_$$ smlod@cook.ipsl.jussieu.fr:.559 ssh smlod@cook.ipsl.jussieu.fr "chmod 755 job_data_$$ ; ./job_data_$$ ; rm -f job_data_$$"556 # update data on cook 557 echo "iii : update data on cook" 558 scp job_data_$$ smlod@cook.ipsl.jussieu.fr:. 559 ssh smlod@cook.ipsl.jussieu.fr "chmod 755 job_data_$$ ; ./job_data_$$ ; rm -f job_data_$$" 560 560 fi 561 561 #------------------------------------------------------------------ 562 562 if [ ${doSRCidris} -eq 1 ] 563 563 then 564 # update src on ulam565 echo "iii : update src to ulam"566 ssh -t smasson@cerbere.locean-ipsl.upmc.fr ssh reee217@ulam.idris.fr "svn update SAXO_DIR/SRC ; chmod -R 755 SAXO_DIR"564 # update src on ulam 565 echo "iii : update src to ulam" 566 ssh -t smasson@cerbere.locean-ipsl.upmc.fr ssh reee217@ulam.idris.fr "svn update SAXO_DIR/SRC ; chmod -R 755 SAXO_DIR" 567 567 fi 568 568 #------------------------------------------------------------------ 569 569 if [ ${doDTAidris} -eq 1 ] 570 570 then 571 # create the update script for ulam572 if [[ (${doDTAlocean} -eq 0) && (${doDTAipsl} -eq 0) ]]573 then574 echo "iii : you will be asked ${lgforge}@forge.ipsl.jussieu.fr passwd"575 infodata=$(ssh ${lgforge}@forge.ipsl.jussieu.fr ls -lht /ipsl/forge/projets/saxo/download/SAXO_DATA_*.tar.gz | head -n 1)576 filedata=$(echo ${infodata} | awk '{print $NF}')577 filedata=$(basename ${filedata})578 fi579 cat <<EOF > job_data_idris_$$571 # create the update script for ulam 572 if [[ (${doDTAlocean} -eq 0) && (${doDTAipsl} -eq 0) ]] 573 then 574 echo "iii : you will be asked ${lgforge}@forge.ipsl.jussieu.fr passwd" 575 infodata=$(ssh ${lgforge}@forge.ipsl.jussieu.fr ls -lht /ipsl/forge/projets/saxo/download/SAXO_DATA_*.tar.gz | head -n 1) 576 filedata=$(echo ${infodata} | awk '{print $NF}') 577 filedata=$(basename ${filedata}) 578 fi 579 cat <<EOF > job_data_idris_$$ 580 580 #!/bin/ksh 581 581 cd SAXO_DIR … … 592 592 # 593 593 EOF 594 # update data on gaya595 echo "iii : update data to gaya"596 scp job_data_idris_$$ reee217@gaya.idris.fr:.597 ssh reee217@gaya.idris.fr "chmod 755 job_data_idris_$$ ; ./job_data_idris_$$ ; rm -f job_data_idris_$$"594 # update data on gaya 595 echo "iii : update data to gaya" 596 scp job_data_idris_$$ reee217@gaya.idris.fr:. 597 ssh reee217@gaya.idris.fr "chmod 755 job_data_idris_$$ ; ./job_data_idris_$$ ; rm -f job_data_idris_$$" 598 598 fi 599 599 #------------------------------------------------------------------ 600 600 if [ ${dodocdownload} -eq 1 ] 601 601 then 602 echo "iii : you will be asked ${lgforge}@forge.ipsl.jussieu.fr passwd several times"603 #604 # copy files in a temporary directory605 mkdir /tmp/download_${$}/606 cp -rp ../xmldoc /tmp/download_${$}/607 cp -rp ../idldoc_html_output /tmp/download_${$}/608 #609 # remove tools files610 find /tmp/download_${$}/ -name ".svn" -exec rm -rf {} \; 2> /dev/null611 find /tmp/download_${$}/ -name "*.xml" -exec rm -rf {} \; 2> /dev/null612 find /tmp/download_${$}/ -name "*.xsl" -exec rm -rf {} \; 2> /dev/null613 find /tmp/download_${$}/ -name "*.sed" -exec rm -rf {} \; 2> /dev/null614 find /tmp/download_${$}/ -name "*.sh" -exec rm -rf {} \; 2> /dev/null615 find /tmp/download_${$}/ -name "makefile" -exec rm -rf {} \; 2> /dev/null616 find /tmp/download_${$}/ -name "*~" -exec rm -rf {} \; 2> /dev/null617 #618 # replace relative path619 # by http://forge.ipsl.jussieu.fr/saxo/browser/trunk/SRC/620 # on ulink lines containing some directories like ../../ToBeReviewed/ or ../../Tests/ or file like newheader.txt621 list_html=$(find /tmp/download_${$}/ -name "*.html")622 for file_html in ${list_html}623 do624 sed \625 626 627 628 629 630 631 mv ${file_html}_${$} ${file_html}632 done633 echo634 echo "give SAXO password if asked"635 scp -rp /tmp/download_${$}/* saxo@forge.ipsl.jussieu.fr:/ipsl/forge/projets/saxo/download/636 rm -rf /tmp/download_${$}/602 echo "iii : you will be asked ${lgforge}@forge.ipsl.jussieu.fr passwd several times" 603 # 604 # copy files in a temporary directory 605 mkdir /tmp/download_${$}/ 606 cp -rp ../xmldoc /tmp/download_${$}/ 607 cp -rp ../idldoc_html_output /tmp/download_${$}/ 608 # 609 # remove tools files 610 find /tmp/download_${$}/ -name ".svn" -exec rm -rf {} \; 2> /dev/null 611 find /tmp/download_${$}/ -name "*.xml" -exec rm -rf {} \; 2> /dev/null 612 find /tmp/download_${$}/ -name "*.xsl" -exec rm -rf {} \; 2> /dev/null 613 find /tmp/download_${$}/ -name "*.sed" -exec rm -rf {} \; 2> /dev/null 614 find /tmp/download_${$}/ -name "*.sh" -exec rm -rf {} \; 2> /dev/null 615 find /tmp/download_${$}/ -name "makefile" -exec rm -rf {} \; 2> /dev/null 616 find /tmp/download_${$}/ -name "*~" -exec rm -rf {} \; 2> /dev/null 617 # 618 # replace relative path 619 # by http://forge.ipsl.jussieu.fr/saxo/browser/trunk/SRC/ 620 # on ulink lines containing some directories like ../../ToBeReviewed/ or ../../Tests/ or file like newheader.txt 621 list_html=$(find /tmp/download_${$}/ -name "*.html") 622 for file_html in ${list_html} 623 do 624 sed \ 625 -e "/Source code of a file/s+../.*/../+http://forge.ipsl.jussieu.fr/saxo/browser/trunk/SRC+g" \ 626 -e "/..\/..\/ToBeReviewed/s+../../+http://forge.ipsl.jussieu.fr/saxo/browser/trunk/SRC/+g" \ 627 -e "/..\/..\/Tests/s+../../+http://forge.ipsl.jussieu.fr/saxo/browser/trunk/SRC/+g" \ 628 -e "/..\/..\/Calendar/s+../../+http://forge.ipsl.jussieu.fr/saxo/browser/trunk/SRC/+g" \ 629 -e "/..\/newheader/s+../../+http://forge.ipsl.jussieu.fr/saxo/browser/trunk/SRC/Documentation/+g" \ 630 ${file_html} > ${file_html}_${$} 631 mv ${file_html}_${$} ${file_html} 632 done 633 echo 634 echo "give SAXO password if asked" 635 scp -rp /tmp/download_${$}/* saxo@forge.ipsl.jussieu.fr:/ipsl/forge/projets/saxo/download/ 636 rm -rf /tmp/download_${$}/ 637 637 fi 638 638 # … … 640 640 if [ ${dowikiupdate} -eq 1 ] 641 641 then 642 # uncomment this following line if you want to start from scratch643 # ssh saxo@forge.ipsl.jussieu.fr mkdir -p /tmp/saxo644 rsync -av --exclude=".DS_Store" --exclude=".svn" ./wiki/ saxo@forge.ipsl.jussieu.fr:/tmp/saxo645 ssh saxo@forge.ipsl.jussieu.fr trac-admin /ipsl/forge/projets/saxo/trac wiki load /tmp/saxo646 # uncomment this following line if you want to leave without any trace647 # ssh saxo@forge.ipsl.jussieu.fr rm -rf /tmp/saxo642 # uncomment this following line if you want to start from scratch 643 # ssh saxo@forge.ipsl.jussieu.fr mkdir -p /tmp/saxo 644 rsync -av --exclude=".DS_Store" --exclude=".svn" ./wiki/ saxo@forge.ipsl.jussieu.fr:/tmp/saxo 645 ssh saxo@forge.ipsl.jussieu.fr trac-admin /ipsl/forge/projets/saxo/trac wiki load /tmp/saxo 646 # uncomment this following line if you want to leave without any trace 647 # ssh saxo@forge.ipsl.jussieu.fr rm -rf /tmp/saxo 648 648 fi 649 649 #------------------------------------------------------------------ -
trunk/SRC/Documentation/xmldoc/saxo.css
r183 r495 1 1 /* 2 This CSS file contains specific choices of look and feel of SAXO 2 This CSS file contains specific choices of look and feel of SAXO 3 3 documentation. 4 One can overwrite here choices made in style.css (a quiet beautiful l5 CSS configuration set for dookbook found on the web4 One can overwrite here choices made in style.css (a quiet beautiful 5 CSS configuration set for XML/DocBook found on the web 6 6 7 7 update : -
trunk/SRC/Documentation/xmldoc/saxo_tracwiki.xsl
r411 r495 20 20 21 21 because I did not yet correctly handle "* text" (with no linefeed) 22 23 22 24 23 and … … 61 60 car 1re xsl pour db5 62 61 --> 63 64 62 65 63 <!-- -
trunk/SRC/Documentation/xmldoc/style.css
r139 r495 2 2 /* DocBook CSS stylesheet of the Traduc.org project */ 3 3 4 /* (c) Jean-Philippe Gu érard - 14 août 2004 */5 /* (c) Jean-Philippe Gu érard - 14 August 2004 */4 /* (c) Jean-Philippe Guérard - 14 août 2004 */ 5 /* (c) Jean-Philippe Guérard - 14 August 2004 */ 6 6 7 7 /* Cette feuille de style est libre, vous pouvez la */ … … 20 20 /* is only provided to help you understand this licence. */ 21 21 22 /* La derni ère version de cette feuille de style est toujours */23 /* disponible sur : http://tigreraye.org/style.css */24 /* Elle est également disponible sur: */22 /* La derniÚre version de cette feuille de style est toujours */ 23 /* disponible sur : http://tigreraye.org/style.css */ 24 /* Elle est également disponible sur : */ 25 25 /* http://www.traduc.org/docs/HOWTO/lecture/style.css */ 26 26 … … 30 30 /* http://www.traduc.org/docs/HOWTO/lecture/style.css */ 31 31 32 /* N'h ésitez pas à envoyer vos commentaires et corrections à*/33 /* Jean-Philippe Gu érard <jean-philippe.guerard@tigreraye.org> */32 /* N'hésitez pas à envoyer vos commentaires et corrections à */ 33 /* Jean-Philippe Guérard <jean-philippe.guerard@tigreraye.org> */ 34 34 35 35 /* Please send feedback and bug reports to */ 36 /* Jean-Philippe Gu érard <jean-philippe.guerard@tigreraye.org> */36 /* Jean-Philippe Guérard <jean-philippe.guerard@tigreraye.org> */ 37 37 38 38 /* $Id: style.css,v 1.26 2005/09/28 20:42:47 fevrier Exp fevrier $ */ 39 39 40 /* Pr ésentation générale du document */40 /* Présentation générale du document */ 41 41 /* Overall document presentation */ 42 42 … … 52 52 * { font-size: 100%; } 53 53 54 /* Gestion des textes mis en relief imbriqu és */54 /* Gestion des textes mis en relief imbriqués */ 55 55 /* Embedded emphasis */ 56 56 … … 82 82 h6 { font-weight: bold; } 83 83 84 /* Nom de famille en petites majuscules (uniquement en fran çais) */84 /* Nom de famille en petites majuscules (uniquement en français) */ 85 85 /* Last names in small caps (for French only) */ 86 86 87 87 *[class~="surname"]:lang(fr) { font-variant: small-caps; } 88 88 89 /* Historique des r évision */89 /* Historique des révision */ 90 90 /* Revision History */ 91 91 … … 110 110 } 111 111 112 /* Blocs lit éraux: fond gris clair */112 /* Blocs littéraux : fond gris clair */ 113 113 /* Literal blocs: light gray background */ 114 114 … … 119 119 } 120 120 121 /* Programmes et captures texte : fond bleu clair */121 /* Programmes et captures texte : fond bleu clair */ 122 122 /* Listing and text screen snapshots: light blue background */ 123 123 … … 128 128 } 129 129 130 /* Les textes à remplacer sont surlignés en vert pâle */130 /* Les textes à remplacer sont surlignés en vert pâle */ 131 131 /* Replaceable text in highlighted in pale green */ 132 132 133 *[class~="replaceable"] { 133 *[class~="replaceable"] { 134 134 background-color: #98fb98; 135 135 font-style: normal; } 136 136 137 /* Tables : fonds gris clair & bords simples */137 /* Tables : fonds gris clair & bords simples */ 138 138 /* Tables: light gray background and solid borders */ 139 139 … … 173 173 text-align: left; 174 174 padding: 0.1em 0.3em; 175 empty-cells: show; 175 empty-cells: show; 176 176 } 177 177 178 178 /* Alignement des colonnes */ 179 /* Colu nms alignment */179 /* Columns alignment */ 180 180 181 181 td[align=center] , th[align=center] { text-align: center; } … … 189 189 img { border: 0; } 190 190 191 /* Les liens ne sont pas soulign és */191 /* Les liens ne sont pas soulignés */ 192 192 /* No underlines for links */ 193 193 194 194 :link , :visited , :active { text-decoration: none; } 195 195 196 /* Prudence : cadre jaune et fond jaune clair */196 /* Prudence : cadre jaune et fond jaune clair */ 197 197 /* Caution: yellow border and light yellow background */ 198 198 … … 217 217 } 218 218 219 /* Note importante : cadre jaune et fond jaune clair */219 /* Note importante : cadre jaune et fond jaune clair */ 220 220 /* Important: yellow border and light yellow background */ 221 221 … … 240 240 } 241 241 242 243 /* Mise en évidence : texte légèrement plus grand */ 242 /* Mise en évidence : texte légÚrement plus grand */ 244 243 /* Highlights: slightly larger texts */ 245 244 … … 248 247 } 249 248 250 /* Note : cadre bleu et fond bleu clair */249 /* Note : cadre bleu et fond bleu clair */ 251 250 /* Notes: blue border and light blue background */ 252 251 … … 271 270 } 272 271 273 /* Astuce : cadre vert et fond vert clair */272 /* Astuce : cadre vert et fond vert clair */ 274 273 /* Tip: green border and light green background */ 275 274 … … 294 293 } 295 294 296 /* Avertissement : cadre rouge et fond rouge clair */295 /* Avertissement : cadre rouge et fond rouge clair */ 297 296 /* Warning: red border and light red background */ 298 297 299 298 *[class~="warning"] { 300 299 border: solid 2px #ff0000; 301 background-color: #fff0f0; 300 background-color: #fff0f0; 302 301 padding: 5px 1em; 303 302 margin: 5px; … … 307 306 vertical-align: middle; 308 307 } 309 310 308 311 309 *[class~="warning"] table { … … 318 316 } 319 317 320 321 318 /* Listes de renvois */ 322 319 /* Callout lists */ -
trunk/SRC/Documentation/xmldoc/svnbasiccommands.xml
r408 r495 1 <?xml version="1.0" encoding=" iso-8859-1"?>1 <?xml version="1.0" encoding="utf-8"?> 2 2 <!DOCTYPE article [ 3 3 <!ENTITY % isolat1 SYSTEM "http://www.w3.org/2003/entities/iso8879/isolat1.ent"> … … 21 21 fplod 2008-12-03T17:36:01Z aedon.locean-ipsl.upmc.fr (Darwin) 22 22 23 XML/DocBook migration of http://forge.ipsl.jussieu.fr/statpacksaxo/wiki/SvnBasicCommands from S ébastien Masson23 XML/DocBook migration of http://forge.ipsl.jussieu.fr/statpacksaxo/wiki/SvnBasicCommands from Sébastien Masson 24 24 25 25 --> … … 31 31 <info> 32 32 <authorgroup> 33 <author><personname><firstname>S ébastien</firstname> <surname>Masson</surname></personname> <email>Sebastien.Masson_at_locean-ipsl.upmc.fr</email></author>33 <author><personname><firstname>Sébastien</firstname> <surname>Masson</surname></personname> <email>Sebastien.Masson_at_locean-ipsl.upmc.fr</email></author> 34 34 </authorgroup> 35 35 <pubdate>$Id$</pubdate> … … 123 123 </para> 124 124 <para> 125 If <replaceable>file_name</replaceable> is not in the working space (here ~/&project;), you must copy it. 125 If <replaceable>file_name</replaceable> is not in the working space (here ~/&project;), you must copy it. 126 126 For example : 127 127 <screen> … … 148 148 A aaa 149 149 </computeroutput> 150 <prompt>$</prompt> <userinput>svn status</userinput> <lineannotation>check that <filename>aaa</filename> has bee dadd to the deposit</lineannotation>150 <prompt>$</prompt> <userinput>svn status</userinput> <lineannotation>check that <filename>aaa</filename> has been add to the deposit</lineannotation> 151 151 <computeroutput> 152 152 A aaa -
trunk/SRC/Documentation/xmldoc/tiplink.html
r416 r495 16 16 <div class="author"><h3 class="author"><span class="firstname">Françoise</span> <span class="surname">Pinsard</span> <code class="email"><<a class="email" href="mailto:Francoise.Pinsard_at_locean-ipsl.upmc.fr">Francoise.Pinsard_at_locean-ipsl.upmc.fr</a>></code></h3></div> 17 17 </div></div><div><span class="pubdate">svn Id of xml source file : $Id$<br /><br /></span></div><div><div class="revhistory"><table border="1" width="100%" summary="Revision history"><tr><th align="left" valign="top" colspan="2"><b>Revision History</b></th></tr> 18 <tr><td align="left">Revision 0.1</td><td align="left">April 2008</td></tr><tr><td align="left" colspan="2">migration from DocBook 4.2 to Doc book 5.0</td></tr>18 <tr><td align="left">Revision 0.1</td><td align="left">April 2008</td></tr><tr><td align="left" colspan="2">migration from DocBook 4.2 to DocBook 5.0</td></tr> 19 19 20 20 <tr><td align="left">Revision 0.0</td><td align="left">May 2006</td></tr><tr><td align="left" colspan="2">First draft</td></tr> … … 22 22 23 23 24 24 25 25 26 26 27 27 <div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="tips" id="tips"></a>1. Tips</h2></div></div></div> 28 28 29 29 <p> 30 30 There is a short selection of useful tips: … … 41 41 42 42 <div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="links" id="links"></a>2. Links</h2></div></div></div> 43 43 44 44 <div class="itemizedlist"><ul type="disc"><li> 45 45 <a class="link" href="http://www.dfanning.com/" target="_top">David Fanning</a> web page -
trunk/SRC/Documentation/xmldoc/tiplink.xml
r354 r495 1 <?xml version="1.0" encoding=" iso-8859-1"?>1 <?xml version="1.0" encoding="utf-8"?> 2 2 <article version="5.0" 3 3 xmlns="http://docbook.org/ns/docbook" … … 9 9 <info> 10 10 <authorgroup> 11 <author><personname><firstname>S ébastien</firstname> <surname>Masson</surname></personname> <email>Sebastien.Masson_at_locean-ipsl.upmc.fr</email></author>12 <author><personname><firstname>Fran çoise</firstname> <surname>Pinsard</surname></personname> <email>Francoise.Pinsard_at_locean-ipsl.upmc.fr</email></author>11 <author><personname><firstname>Sébastien</firstname> <surname>Masson</surname></personname> <email>Sebastien.Masson_at_locean-ipsl.upmc.fr</email></author> 12 <author><personname><firstname>Françoise</firstname> <surname>Pinsard</surname></personname> <email>Francoise.Pinsard_at_locean-ipsl.upmc.fr</email></author> 13 13 </authorgroup> 14 14 <keywordset> … … 20 20 <revnumber>0.1</revnumber> 21 21 <date>April 2008</date> 22 <revremark>migration from DocBook 4.2 to Doc book 5.0</revremark>22 <revremark>migration from DocBook 4.2 to DocBook 5.0</revremark> 23 23 </revision> 24 24 … … 31 31 <pubdate>$Id$</pubdate> 32 32 </info> 33 34 33 35 34 <sect1 xml:id="tips"> -
trunk/SRC/Documentation/xmldoc/updatesaxo.html
r416 r495 16 16 <div class="author"><h3 class="author"><span class="firstname">Françoise</span> <span class="surname">Pinsard</span> <code class="email"><<a class="email" href="mailto:Francoise.Pinsard_at_locean-ipsl.upmc.fr">Francoise.Pinsard_at_locean-ipsl.upmc.fr</a>></code></h3></div> 17 17 </div></div><div><span class="pubdate">svn Id of xml source file : $Id$<br /><br /></span></div><div><div class="revhistory"><table border="1" width="100%" summary="Revision history"><tr><th align="left" valign="top" colspan="2"><b>Revision History</b></th></tr> 18 <tr><td align="left">Revision 0.1</td><td align="left">April 2008</td></tr><tr><td align="left" colspan="2">migration from DocBook 4.2 to Doc book 5.0</td></tr>18 <tr><td align="left">Revision 0.1</td><td align="left">April 2008</td></tr><tr><td align="left" colspan="2">migration from DocBook 4.2 to DocBook 5.0</td></tr> 19 19 <tr><td align="left">Revision 0.0</td><td align="left">May 2006</td></tr><tr><td align="left" colspan="2">First draft</td></tr> 20 20 </table></div></div></div><hr /></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#saxo_local">1. If you work at IDRIS, IPSL or LOCEAN </a></span></dt><dt><span class="sect1"><a href="#saxo_svn">2. If you got SAXO with ??? </a></span></dt><dt><span class="sect1"><a href="#saxo_tar">3. If you got SAXO from a ??? </a></span></dt></dl></div> 21 21 22 23 22 24 23 24 25 25 26 26 27 27 <div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="saxo_local" id="saxo_local"></a>1. If you work at IDRIS, IPSL or LOCEAN </h2></div></div></div> 28 28 29 29 <p> 30 30 If you <a class="link" href="./getsaxo.html#saxo_local" target="_top">linked</a> your <code class="filename">${HOME}/SAXO_DIR</code> to … … 34 34 </div> 35 35 36 36 37 37 38 38 <div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="saxo_svn" id="saxo_svn"></a>2. If you got SAXO with <a class="link" href="./getsaxo.html#saxo_svn" target="_top"><span class="application"> Subversion (svn)</span></a> </h2></div></div></div> 39 39 40 40 <p> 41 41 You can check the status of your <code class="filename">${HOME}/SAXO_DIR</code> with the following command: … … 63 63 </div> 64 64 65 65 66 66 67 67 <div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="saxo_tar" id="saxo_tar"></a>3. If you got SAXO from a <a class="link" href="./getsaxo.html#saxo_src_tar" target="_top">tar file</a> </h2></div></div></div> 68 68 69 69 <p> 70 70 The only way to update SAXO is to re-download and reinstall the tar file as you done for the <a class="link" href="./getsaxo.html#saxo_src_tar" target="_top">first installation</a>. -
trunk/SRC/Documentation/xmldoc/updatesaxo.xml
r354 r495 1 <?xml version="1.0" encoding=" iso-8859-1"?>1 <?xml version="1.0" encoding="utf-8"?> 2 2 <article version="5.0" 3 3 xmlns="http://docbook.org/ns/docbook" … … 10 10 <info> 11 11 <authorgroup> 12 <author><personname><firstname>S ébastien</firstname> <surname>Masson</surname></personname><email>Sebastien.Masson_at_locean-ipsl.upmc.fr</email></author>13 <author><personname><firstname>Fran çoise</firstname> <surname>Pinsard</surname></personname><email>Francoise.Pinsard_at_locean-ipsl.upmc.fr</email></author>12 <author><personname><firstname>Sébastien</firstname> <surname>Masson</surname></personname><email>Sebastien.Masson_at_locean-ipsl.upmc.fr</email></author> 13 <author><personname><firstname>Françoise</firstname> <surname>Pinsard</surname></personname><email>Francoise.Pinsard_at_locean-ipsl.upmc.fr</email></author> 14 14 </authorgroup> 15 15 <keywordset> … … 21 21 <revnumber>0.1</revnumber> 22 22 <date>April 2008</date> 23 <revremark>migration from DocBook 4.2 to Doc book 5.0</revremark>23 <revremark>migration from DocBook 4.2 to DocBook 5.0</revremark> 24 24 </revision> 25 25 <revision> … … 31 31 <pubdate>$Id$</pubdate> 32 32 </info> 33 34 33 35 34 <sect1 xml:id="saxo_local"> … … 84 83 </sect1> 85 84 86 87 85 </article> -
trunk/SRC/Documentation/xmldoc/websaxo.html
r422 r495 18 18 <tr><td align="left">Revision 0.0</td><td align="left">June 2006</td></tr><tr><td align="left" colspan="2">First draft</td></tr> 19 19 <tr><td align="left">Revision 0.1</td><td align="left">September 2006</td></tr><tr><td align="left" colspan="2">rename to websaxo; use whatissaxo</td></tr> 20 <tr><td align="left">Revision 0.2</td><td align="left">April 2008</td></tr><tr><td align="left" colspan="2">migration from DocBook 4.2 to Doc book 5.0</td></tr>20 <tr><td align="left">Revision 0.2</td><td align="left">April 2008</td></tr><tr><td align="left" colspan="2">migration from DocBook 4.2 to DocBook 5.0</td></tr> 21 21 22 </table></div></div></div><hr /></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#whatissaxo">1. What is SAXO</a></span></dt><dt><span class="sect1"><a href="#whatsnew">2. What's new ?</a></span></dt><dt><span class="sect1"><a href="#getsaxo">3. 22 </table></div></div></div><hr /></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#whatissaxo">1. What is SAXO</a></span></dt><dt><span class="sect1"><a href="#whatsnew">2. What's new ?</a></span></dt><dt><span class="sect1"><a href="#getsaxo">3. 23 23 Get SAXO 24 24 </a></span></dt><dt><span class="sect1"><a href="#support">4. Support</a></span></dt><dt><span class="sect1"><a href="#documentation">5. Documentation</a></span></dt><dt><span class="sect1"><a href="#saxoteam">6. SAXO team</a></span></dt></dl></div> … … 26 26 27 27 28 28 29 29 30 30 <div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="whatissaxo" id="whatissaxo"></a>1. What is SAXO</h2></div></div></div> -
trunk/SRC/Documentation/xmldoc/websaxo.xml
r416 r495 1 <?xml version="1.0" encoding=" iso-8859-1"?>1 <?xml version="1.0" encoding="utf-8"?> 2 2 <!DOCTYPE article [ 3 3 <!ENTITY % isolat1 SYSTEM "http://www.w3.org/2003/entities/iso8879/isolat1.ent"> … … 27 27 <info> 28 28 <authorgroup> 29 <author><personname><firstname>S ébastien</firstname> <surname>Masson</surname></personname> <email>Sebastien.Masson_at_locean-ipsl.upmc.fr</email></author>30 <author><personname><firstname>Fran çoise</firstname> <surname>Pinsard</surname></personname> <email>Francoise.Pinsard_at_locean-ipsl.upmc.fr</email></author>29 <author><personname><firstname>Sébastien</firstname> <surname>Masson</surname></personname> <email>Sebastien.Masson_at_locean-ipsl.upmc.fr</email></author> 30 <author><personname><firstname>Françoise</firstname> <surname>Pinsard</surname></personname> <email>Francoise.Pinsard_at_locean-ipsl.upmc.fr</email></author> 31 31 </authorgroup> 32 32 <keywordset> … … 48 48 <revnumber>0.2</revnumber> 49 49 <date>April 2008</date> 50 <revremark>migration from DocBook 4.2 to Doc book 5.0</revremark>50 <revremark>migration from DocBook 4.2 to DocBook 5.0</revremark> 51 51 </revision> 52 52 … … 61 61 parse="xml" 62 62 xmlns:xi="http://www.w3.org/2001/XInclude"/> 63 <!-- je n'arrive pas àfaire fonctionner la syntaxe xpath suivante comme dans63 <!-- je n'arrive pas à faire fonctionner la syntaxe xpath suivante comme dans 64 64 http://www.zvon.org/xxl/XIncludeTutorial/Output/example12.html 65 65 … … 90 90 <listitem> 91 91 <para> 92 March 2006-May 2006 : migration of <emphasis role="bold">obsolete</emphasis> CVS repository + S ébastien Masson improvements in a beautiful <quote><application>trac</application>+<application>svn</application></quote> project.92 March 2006-May 2006 : migration of <emphasis role="bold">obsolete</emphasis> CVS repository + Sébastien Masson improvements in a beautiful <quote><application>trac</application>+<application>svn</application></quote> project. 93 93 </para> 94 94 </listitem> … … 165 165 <varlistentry> 166 166 <term> 167 S ébastien Masson167 Sébastien Masson 168 168 </term> 169 169 <listitem> … … 175 175 <varlistentry> 176 176 <term> 177 Cl ément De Boyer Montégut177 Clément De Boyer Montégut 178 178 </term> 179 179 <listitem> … … 185 185 <varlistentry> 186 186 <term> 187 Fran çoise Pinsard187 Françoise Pinsard 188 188 </term> 189 189 <listitem> -
trunk/SRC/Documentation/xmldoc/whatissaxo.html
r416 r495 18 18 <tr><td align="left">Revision 0.0</td><td align="left">May 2006</td></tr><tr><td align="left" colspan="2">First draft</td></tr> 19 19 <tr><td align="left">Revision 0.1</td><td align="left">August 2006</td></tr><tr><td align="left" colspan="2">add introduction (previously in main.xml)</td></tr> 20 <tr><td align="left">Revision 0.1</td><td align="left">April 2008</td></tr><tr><td align="left" colspan="2">migration from DocBook 4.2 to Doc book 5.0</td></tr>20 <tr><td align="left">Revision 0.1</td><td align="left">April 2008</td></tr><tr><td align="left" colspan="2">migration from DocBook 4.2 to DocBook 5.0</td></tr> 21 21 </table></div></div></div><hr /></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#whatissaxo">1. What is SAXO ?</a></span></dt><dt><span class="sect1"><a href="#prerequisites">2. Prerequisites</a></span></dt><dt><span class="sect1"><a href="#include">3. Include</a></span></dt></dl></div> 22 22 23 23 24 24 25 25 <div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="whatissaxo" id="whatissaxo"></a>1. What is SAXO ?</h2></div></div></div> … … 35 35 36 36 <div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="prerequisites" id="prerequisites"></a>2. Prerequisites</h2></div></div></div> 37 37 38 38 <p> 39 39 <span class="application">SAXO</span> needs at least <a class="link" href="http://www.ittvis.com/idl/" target="_top"><span class="trademark">IDL</span>â¢</a> 6.0. … … 42 42 <p><span class="application">SAXO</span> can be used with the 7 minutes demo-mode (within the limitations of this mode: impossible to save data and create a file).</p> 43 43 </div> 44 44 45 45 </div> 46 46 <div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="include" id="include"></a>3. Include</h2></div></div></div> 47 47 48 48 <div class="itemizedlist"><ul type="disc"><li> 49 49 <span class="application">idl-NetCDF</span> written and maintained by Alan Iwi -
trunk/SRC/Documentation/xmldoc/whatissaxo.xml
r416 r495 1 <?xml version="1.0" encoding=" iso-8859-1"?>1 <?xml version="1.0" encoding="utf-8"?> 2 2 <!DOCTYPE article [ 3 3 <!ENTITY % isolat1 SYSTEM "http://www.w3.org/2003/entities/iso8879/isolat1.ent"> … … 21 21 <info> 22 22 <authorgroup> 23 <author><personname><firstname>S ébastien</firstname> <surname>Masson</surname></personname> <email>Sebastien.Masson_at_locean-ipsl.upmc.fr</email></author>24 <author><personname><firstname>Fran çoise</firstname> <surname>Pinsard</surname></personname> <email>Francoise.Pinsard_at_locean-ipsl.upmc.fr</email></author>23 <author><personname><firstname>Sébastien</firstname> <surname>Masson</surname></personname> <email>Sebastien.Masson_at_locean-ipsl.upmc.fr</email></author> 24 <author><personname><firstname>Françoise</firstname> <surname>Pinsard</surname></personname> <email>Francoise.Pinsard_at_locean-ipsl.upmc.fr</email></author> 25 25 </authorgroup> 26 26 <keywordset> … … 42 42 <revnumber>0.1</revnumber> 43 43 <date>April 2008</date> 44 <revremark>migration from DocBook 4.2 to Doc book 5.0</revremark>44 <revremark>migration from DocBook 4.2 to DocBook 5.0</revremark> 45 45 </revision> 46 46 </revhistory> … … 67 67 <para><application>SAXO</application> can be used with the 7 minutes demo-mode (within the limitations of this mode: impossible to save data and create a file).</para> 68 68 </note> 69 <!-- ++un jour peut- être69 <!-- ++un jour peut-être 70 70 <para> 71 71 <productname>GDL</productname> -
trunk/SRC/Documentation/xmldoc/whatsnew.html
r416 r495 18 18 <tr><td align="left">Revision 0.0</td><td align="left">May 2006</td></tr><tr><td align="left" colspan="2">First draft</td></tr> 19 19 <tr><td align="left">Revision 0.1</td><td align="left">June 2006</td></tr><tr><td align="left" colspan="2">add date according to output of svn log</td></tr> 20 <tr><td align="left">Revision 0.2</td><td align="left">April 2008</td></tr><tr><td align="left" colspan="2">migration from DocBook 4.2 to Doc book 5.0</td></tr>21 </table></div></div></div><hr /></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#intro">1. Introduction</a></span></dt><dt><span class="sect1"><a href="#changeset175">2. Changeset 175 (2006-09-13)</a></span></dt><dt><span class="sect1"><a href="#changeset174">3. Changeset 172-174 (2006-09-11/12)</a></span></dt><dt><span class="sect1"><a href="#changeset163">4. Changeset 163 (2006-08-29)</a></span></dt><dt><span class="sect1"><a href="#changeset152">5. Changeset 152 (2006-08-10)</a></span></dt><dt><span class="sect1"><a href="#changeset114">6. Changeset 114 (2006-06-19)</a></span></dt><dt><span class="sect1"><a href="#changeset73">7. Changeset 73 (2006-05-22)</a></span></dt><dt><span class="sect1"><a href="#changeset69">8. Changeset 69 (2006-05-11)</a></span></dt><dt><span class="sect1"><a href="#ch gangeset68">9. Changeset 68 (2006-05-09)</a></span></dt><dt><span class="sect1"><a href="#changeset7">10. Changeset 7 (2006-04-24)</a></span></dt><dt><span class="sect1"><a href="#changeset2">11. Changeset 2 (revision date=2002-09-11 actually done 2006-04-13)</a></span></dt></dl></div>20 <tr><td align="left">Revision 0.2</td><td align="left">April 2008</td></tr><tr><td align="left" colspan="2">migration from DocBook 4.2 to DocBook 5.0</td></tr> 21 </table></div></div></div><hr /></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#intro">1. Introduction</a></span></dt><dt><span class="sect1"><a href="#changeset175">2. Changeset 175 (2006-09-13)</a></span></dt><dt><span class="sect1"><a href="#changeset174">3. Changeset 172-174 (2006-09-11/12)</a></span></dt><dt><span class="sect1"><a href="#changeset163">4. Changeset 163 (2006-08-29)</a></span></dt><dt><span class="sect1"><a href="#changeset152">5. Changeset 152 (2006-08-10)</a></span></dt><dt><span class="sect1"><a href="#changeset114">6. Changeset 114 (2006-06-19)</a></span></dt><dt><span class="sect1"><a href="#changeset73">7. Changeset 73 (2006-05-22)</a></span></dt><dt><span class="sect1"><a href="#changeset69">8. Changeset 69 (2006-05-11)</a></span></dt><dt><span class="sect1"><a href="#changeset68">9. Changeset 68 (2006-05-09)</a></span></dt><dt><span class="sect1"><a href="#changeset7">10. Changeset 7 (2006-04-24)</a></span></dt><dt><span class="sect1"><a href="#changeset2">11. Changeset 2 (revision date=2002-09-11 actually done 2006-04-13)</a></span></dt></dl></div> 22 22 23 23 24 24 25 25 26 26 … … 106 106 </div> 107 107 108 <div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="ch gangeset68" id="chgangeset68"></a>9. Changeset 68 (2006-05-09)</h2></div></div></div>108 <div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="changeset68" id="changeset68"></a>9. Changeset 68 (2006-05-09)</h2></div></div></div> 109 109 110 110 <p> -
trunk/SRC/Documentation/xmldoc/whatsnew.xml
r416 r495 1 <?xml version="1.0" encoding=" iso-8859-1"?>1 <?xml version="1.0" encoding="utf-8"?> 2 2 <article version="5.0" 3 3 xmlns="http://docbook.org/ns/docbook" … … 9 9 <info> 10 10 <authorgroup> 11 <author><personname><firstname>S ébastien</firstname> <surname>Masson</surname></personname> <email>Sebastien.Masson_at_locean-ipsl.upmc.fr</email></author>12 <author><personname><firstname>Fran çoise</firstname> <surname>Pinsard</surname></personname> <email>Francoise.Pinsard_at_locean-ipsl.upmc.fr</email></author>11 <author><personname><firstname>Sébastien</firstname> <surname>Masson</surname></personname> <email>Sebastien.Masson_at_locean-ipsl.upmc.fr</email></author> 12 <author><personname><firstname>Françoise</firstname> <surname>Pinsard</surname></personname> <email>Francoise.Pinsard_at_locean-ipsl.upmc.fr</email></author> 13 13 </authorgroup> 14 14 <keywordset> … … 30 30 <revnumber>0.2</revnumber> 31 31 <date>April 2008</date> 32 <revremark>migration from DocBook 4.2 to Doc book 5.0</revremark>32 <revremark>migration from DocBook 4.2 to DocBook 5.0</revremark> 33 33 </revision> 34 34 </revhistory> … … 118 118 </sect1> 119 119 120 <sect1 xml:id="ch gangeset68">120 <sect1 xml:id="changeset68"> 121 121 <title>Changeset 68 (2006-05-09)</title> 122 122 <para> -
trunk/SRC/Documentation/xmldoc/wiki/WikiStart
r422 r495 50 50 == SAXO team == 51 51 52 53 52 '''Sébastien Masson''' 54 53 Author 55 56 54 57 55 '''Clément De Boyer Montégut''' 58 56 Co-author 59 57 60 61 58 '''Françoise Pinsard''' 62 59 Project owner (trac, mailman and svn) 63 60 64 65 61 '''Olivier Thauvin'''[http://forge.ipsl.jussieu.fr/ IPSL forge] maintainer 66 67 -
trunk/SRC/ForOldVersion/com_eg.pro
r459 r495 1 ; empty 1 ; empty -
trunk/SRC/ForOldVersion/updatekwd.pro
r493 r495 15 15 ; IDL> @updatekwd 16 16 ; 17 ; @restrictions 17 ; @restrictions 18 18 ; the compatibility can be made only if the keywords 19 19 ; given through _extra are given with their complete name -
trunk/SRC/Grid/computegrid.pro
r493 r495 379 379 ENDIF 380 380 IF keyword_set(xalreadycut) THEN BEGIN 381 xmin = 0 382 xmax = jpi - 1 381 xmin = 0 382 xmax = jpi - 1 383 383 nxx = jpi 384 384 ENDIF ELSE BEGIN … … 390 390 ixminmesh = 0 > ixminmesh < ixmaxmesh 391 391 jpi = ixmaxmesh-ixminmesh+1 392 xmin = ixminmesh 392 xmin = ixminmesh 393 393 xmax = ixmaxmesh 394 394 nxx = jpiglo … … 401 401 ENDIF 402 402 IF keyword_set(yalreadycut) THEN BEGIN 403 ymin = 0 404 ymax = jpj - 1 403 ymin = 0 404 ymax = jpj - 1 405 405 nyy = jpj 406 ENDIF ELSE BEGIN 406 ENDIF ELSE BEGIN 407 407 jpjglo = long(ny) 408 408 IF n_elements(yminmesh) NE 0 THEN iyminmesh = long(yminmesh[0]) ELSE iyminmesh = 0l … … 413 413 iyminmesh = 0 > iyminmesh < iymaxmesh 414 414 jpj = iymaxmesh-iyminmesh+1 415 ymin = iyminmesh 415 ymin = iyminmesh 416 416 ymax = iymaxmesh 417 417 nyy = jpjglo … … 422 422 ENDIF 423 423 IF keyword_set(zalreadycut) THEN BEGIN 424 zmin = 0 425 zmax = jpk - 1 424 zmin = 0 425 zmax = jpk - 1 426 426 nzz = jpk 427 ENDIF ELSE BEGIN 427 ENDIF ELSE BEGIN 428 428 jpkglo = long(nz) 429 429 IF n_elements(zminmesh) NE 0 THEN izminmesh = long(zminmesh[0]) ELSE izminmesh = 0l … … 433 433 izminmesh = 0 > izminmesh < izmaxmesh 434 434 jpk = izmaxmesh-izminmesh+1 435 zmin = izminmesh 435 zmin = izminmesh 436 436 zmax = izmaxmesh 437 437 nzz = jpkglo … … 516 516 ELSE glamt = reform(glamt, nxx, /over) 517 517 CASE size(glamt, /n_dimensions) OF 518 1:BEGIN 518 1:BEGIN 519 519 IF n_elements(glamt) EQ 1 THEN glamt = replicate(glamt[0], jpi, jpj) $ 520 520 ELSE glamt = glamt[xmin:xmax]#replicate(1, jpj) … … 550 550 ELSE gphit = reform(gphit, nyy, /over) 551 551 CASE size(gphit, /n_dimensions) OF 552 1:BEGIN 552 1:BEGIN 553 553 IF n_elements(gphit) EQ 1 THEN gphit = replicate(gphit[0], jpi, jpj) $ 554 554 ELSE gphit = replicate(1, jpi)#gphit[ymin:ymax] … … 644 644 ;==================================================== 645 645 ; 646 IF n_elements(yreverse) EQ 0 THEN BEGIN 646 IF n_elements(yreverse) EQ 0 THEN BEGIN 647 647 IF jpj GT 1 THEN BEGIN 648 648 IF total(gphit[0, 1:jpj-1] LT gphit[0, 0:jpj-2]) GT jpj/2 THEN key_yreverse = 1 ELSE key_yreverse = 0 … … 993 993 ;~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 994 994 ; 995 ;996 995 ;==================================================== 997 996 ; e1[tuvf] from degree to meters … … 1125 1124 AND total(tmask[*, 0, *]) EQ 0 AND total(tmask[*, jpj-1, *]) EQ 0 $ 1126 1125 AND total(tmask[0, *, *]) EQ 0 AND total(tmask[jpi-1, *, *]) EQ 0 THEN BEGIN 1127 IF NOT keyword_set(key_periodic) THEN BEGIN 1126 IF NOT keyword_set(key_periodic) THEN BEGIN 1128 1127 xminmesh = ixminmesh + 1 1129 1128 xmaxmesh = ixmaxmesh - 1 … … 1136 1135 gphit = reverse(gphit, 2) 1137 1136 glamt = reverse(glamt, 2) 1138 tmask = reverse(tmask, 2) 1137 tmask = reverse(tmask, 2) 1139 1138 IF jpk EQ 1 THEN tmask = reform(tmask, jpi, jpj, jpk, /over) 1140 1139 ENDIF -
trunk/SRC/Grid/micromeshmask.pro
r451 r495 104 104 zgr_varlist = strtrim(strlowcase(zgr_varlist), 2) 105 105 ; is e3t a real 3D array? 106 IF (where(zgr_varlist EQ 'e3t'))[0] NE -1 THEN BEGIN 106 IF (where(zgr_varlist EQ 'e3t'))[0] NE -1 THEN BEGIN 107 107 varinq = ncdf_varinq(cdfid, 'e3t') 108 108 if varinq.ndims GE 3 THEN BEGIN … … 111 111 ncdf_diminq, cdfid, varinq.dim[2], name, kkk 112 112 IF iii EQ jpi AND jjj EQ jpj AND kkk EQ jpk THEN key_e3_3d = 1 113 ENDIF 113 ENDIF 114 114 ENDIF 115 115 ; is gdept a real 3D array? 116 IF (where(zgr_varlist EQ 'gdept'))[0] NE -1 THEN BEGIN 116 IF (where(zgr_varlist EQ 'gdept'))[0] NE -1 THEN BEGIN 117 117 varinq = ncdf_varinq(cdfid, 'gdept') 118 118 if varinq.ndims GE 3 THEN BEGIN … … 121 121 ncdf_diminq, cdfid, varinq.dim[2], name, kkk 122 122 IF iii EQ jpi AND jjj EQ jpj AND kkk EQ jpk THEN key_gdep_3d = 1 123 ENDIF 123 ENDIF 124 124 ENDIF 125 125 ;------------------------------------------------------ … … 137 137 dimidy_m = ncdf_dimdef(cdfidout, 'y_m', jpj_m) 138 138 dimidz = ncdf_dimdef(cdfidout, 'z', jpk) 139 ; global attribut s139 ; global attributes 140 140 ncdf_attput, cdfidout, 'IDL_Program_Name', 'micromeshmask.pro', /GLOBAL 141 141 ncdf_attput, cdfidout, 'Creation_Date', systime(), /GLOBAL -
trunk/SRC/Grid/ncdf_meshread.pro
r493 r495 297 297 ncdf_diminq, cdfid, varinq.dim[2], name, kkk 298 298 IF iii EQ jpiglo AND jjj EQ jpjglo AND kkk EQ jpkglo THEN key_gdep_3d = 1 299 ENDIF 300 ENDIF 299 ENDIF 300 ENDIF 301 301 ; for compatibility with old versions of meshmask/partial steps 302 302 e3t_ps = -1 … … 315 315 key_partialstep = 1 316 316 ENDIF 317 ENDIF 317 ENDIF 318 318 ENDIF 319 319 ; … … 465 465 ENDIF 466 466 ; boundary conditions used to compute umask. 467 IF ncdf_varid(cdfid, 'umask') NE -1 THEN BEGIN 467 IF ncdf_varid(cdfid, 'umask') NE -1 THEN BEGIN 468 468 varinq = ncdf_varinq(cdfid, 'umask') 469 469 name = varinq.name … … 482 482 ENDIF ELSE umaskred = bytarr(jpj, jpk) 483 483 ; boundary conditions used to compute fmask (1). 484 IF ncdf_varid(cdfid, 'fmask') NE -1 THEN BEGIN 484 IF ncdf_varid(cdfid, 'fmask') NE -1 THEN BEGIN 485 485 varinq = ncdf_varinq(cdfid, 'fmask') 486 486 name = varinq.name … … 497 497 ENDIF ELSE fmaskredy = bytarr(jpj, jpk) 498 498 ; boundary conditions used to compute vmask 499 IF ncdf_varid(cdfid, 'vmask') NE -1 THEN BEGIN 499 IF ncdf_varid(cdfid, 'vmask') NE -1 THEN BEGIN 500 500 varinq = ncdf_varinq(cdfid, 'vmask') 501 501 name = varinq.name … … 525 525 ENDIF ELSE vmaskred = bytarr(jpi, jpk) 526 526 ; boundary conditions used to compute fmask (2). 527 IF ncdf_varid(cdfid, 'fmask') NE -1 THEN BEGIN 527 IF ncdf_varid(cdfid, 'fmask') NE -1 THEN BEGIN 528 528 varinq = ncdf_varinq(cdfid, 'fmask') 529 529 name = varinq.name … … 548 548 ;------------------------------------------------------- 549 549 IF (where(allvarname EQ 'e3t_0'))[0] NE -1 THEN fnamevar = ['e3t_0', 'e3w_0', 'gdept_0', 'gdepw_0'] $ 550 ELSE fnamevar = ['e3t', 'e3w', 'gdept', 'gdepw'] 550 ELSE fnamevar = ['e3t', 'e3w', 'gdept', 'gdepw'] 551 551 for i = 0, n_elements(fnamevar)-1 do begin 552 552 varinq = ncdf_varinq(cdfid, fnamevar[i]) -
trunk/SRC/Grid/smallmeshmask.pro
r475 r495 109 109 zgr_varlist = strtrim(strlowcase(zgr_varlist), 2) 110 110 ; is e3t a real 3D array? 111 IF (where(zgr_varlist EQ 'e3t'))[0] NE -1 THEN BEGIN 111 IF (where(zgr_varlist EQ 'e3t'))[0] NE -1 THEN BEGIN 112 112 varinq = ncdf_varinq(cdfid, 'e3t') 113 113 if varinq.ndims GE 3 THEN BEGIN … … 116 116 ncdf_diminq, cdfid, varinq.dim[2], name, kkk 117 117 IF iii EQ jpi AND jjj EQ jpj AND kkk EQ jpk THEN key_e3_3d = 1 118 ENDIF 118 ENDIF 119 119 ENDIF 120 120 ; is gdept a real 3D array? 121 IF (where(zgr_varlist EQ 'gdept'))[0] NE -1 THEN BEGIN 121 IF (where(zgr_varlist EQ 'gdept'))[0] NE -1 THEN BEGIN 122 122 varinq = ncdf_varinq(cdfid, 'gdept') 123 123 if varinq.ndims GE 3 THEN BEGIN … … 126 126 ncdf_diminq, cdfid, varinq.dim[2], name, kkk 127 127 IF iii EQ jpi AND jjj EQ jpj AND kkk EQ jpk THEN key_gdep_3d = 1 128 ENDIF 128 ENDIF 129 129 ENDIF 130 130 ;------------------------------------------------------ … … 141 141 dimidy = ncdf_dimdef(cdfidout, 'y', jpj) 142 142 dimidz = ncdf_dimdef(cdfidout, 'z', jpk) 143 ; global attribut s143 ; global attributes 144 144 ncdf_attput, cdfidout, 'IDL_Program_Name', 'smallmeshmask.pro', /GLOBAL 145 145 ncdf_attput, cdfidout, 'Creation_Date', systime(), /GLOBAL -
trunk/SRC/Interpolation/angle.pro
r434 r495 17 17 ; 18 18 ; @returns 19 ; structure: {x:x, y:y} containing the point position in north stereographic 19 ; structure: {x:x, y:y} containing the point position in north stereographic 20 20 ; polar projection 21 21 ; -
trunk/SRC/Interpolation/compute_fromirr_bilinear_weigaddr.pro
r477 r495 59 59 ; - June 2006: Sebastien Masson (smasson\@lodyc.jussieu.fr) 60 60 ; 61 ;62 61 ; @version 63 62 ; $Id$ 64 63 ; 65 64 ;- 66 PRO compute_fromirr_bilinear_weigaddr, olonin, olat, omsk, alonin, alat, amsk $ 65 PRO compute_fromirr_bilinear_weigaddr, olonin, olat, omsk, alonin, alat, amsk $ 67 66 , weig, addr 68 67 ; … … 102 101 ENDIF ELSE omsk[*, 80:120] = 1b - bad[*, 80:120] 103 102 ENDIF 104 ENDIF ELSE BEGIN 103 ENDIF ELSE BEGIN 105 104 IF n_elements(omsk) NE jpio*jpjo THEN BEGIN 106 105 ras = report('input grid mask do not have the good size') 107 106 stop 108 107 ENDIF 109 ENDELSE 110 IF n_elements(amsk) EQ 1 AND amsk[0] EQ -1 THEN amsk = replicate(1b, jpia, jpja) ELSE BEGIN 108 ENDELSE 109 IF n_elements(amsk) EQ 1 AND amsk[0] EQ -1 THEN amsk = replicate(1b, jpia, jpja) ELSE BEGIN 111 110 IF n_elements(amsk) NE jpia*jpja THEN BEGIN 112 111 ras = report('output grid mask do not have the good size') 113 112 stop 114 113 ENDIF 115 ENDELSE 114 ENDELSE 116 115 ; 117 116 ; longitude, between 0 and 360 … … 144 143 ((jpio EQ 722 ) AND (jpjo EQ 522 OR jpjo EQ 521 OR jpjo EQ 520 )) OR $ 145 144 ((jpio EQ 1442) AND (jpjo EQ 1021 OR jpjo EQ 1020 OR jpjo EQ 1019)) THEN alladdrm1[jpio-1, *] = alladdr[2, *] 146 145 147 146 celladdr = lonarr(4, jpio*(jpjo-1)) 148 147 celladdr[0, *] = alladdr … … 306 305 END 307 306 ENDCASE 308 IF cnt NE 0 THEN BEGIN 307 IF cnt NE 0 THEN BEGIN 309 308 neig[i] = keep[(neighbor(xtmp, ytmp, goodlon[keep], goodlat[keep], sphere = onsphere))[0]] 310 309 ENDIF ELSE neig[i] = (neighbor(alon[badaddr[i]], alat[badaddr[i]], goodlon, goodlat, sphere = onsphere))[0] -
trunk/SRC/Interpolation/compute_fromreg_imoms3_weigaddr.pro
r481 r495 526 526 ; Come back to the original index of atm grid without longitudinal overlap. 527 527 ; 528 ;529 528 xaddr = temporary(xaddr) - toadd 530 529 jpia = jpia - 2*toadd -
trunk/SRC/Interpolation/cutpar.pro
r372 r495 16 16 ; @param y3 {in}{required} 17 17 ; 1d arrays of p elements, giving the edge positions. 18 ; The edges must be given as in <proidl>PLOT</proidl> to draw the 18 ; The edges must be given as in <proidl>PLOT</proidl> to draw the 19 19 ; parallelogram. (see example). 20 20 ; -
trunk/SRC/Interpolation/extrapolate.pro
r493 r495 38 38 ; put 1 to force the extrapolated values to be larger than 0, same as using minval=0. 39 39 ; 40 ; @keyword 40 ; @keyword 41 41 ; _EXTRA to be able to call extrapolate with _extra keyword 42 42 ; … … 102 102 finztmp = finite(ztmp) 103 103 nan = where(finztmp EQ 0, cnt_nan) 104 IF cnt_nan NE 0 THEN BEGIN 104 IF cnt_nan NE 0 THEN BEGIN 105 105 ztmp[temporary(nan)] = 1.e20 106 106 msk = temporary(msk) * temporary(finztmp) … … 125 125 ; find the land points 126 126 land = where(msk EQ 0, cnt_land) 127 IF keyword_set(fillxdir) THEN BEGIN 127 IF keyword_set(fillxdir) THEN BEGIN 128 128 tst = total(msk[1:nx, 1:ny], 1) 129 129 cnt_land = total(tst NE 0 AND tst NE nx) 130 ENDIF 131 IF keyword_set(fillydir) THEN BEGIN 130 ENDIF 131 IF keyword_set(fillydir) THEN BEGIN 132 132 tst = total(msk[1:nx, 1:ny], 2) 133 133 cnt_land = total(tst NE 0 AND tst NE ny) 134 ENDIF 134 ENDIF 135 135 ;--------------------------------------------------------------- 136 136 WHILE cnt LE nb_iteration AND cnt_land NE 0 DO BEGIN … … 164 164 ; border of the array, we can compute the weight without shift 165 165 ; (faster). 166 ; 166 ; 167 167 CASE 1 OF 168 168 keyword_set(fillxdir):weight = msk[land+1]+msk[land-1] … … 215 215 ; find the land points 216 216 land = where(msk EQ 0, cnt_land) 217 IF keyword_set(fillxdir) THEN BEGIN 217 IF keyword_set(fillxdir) THEN BEGIN 218 218 tst = total(msk[1:nx, 1:ny], 1) 219 219 cnt_land = total(tst NE 0 AND tst NE nx) 220 ENDIF 221 IF keyword_set(fillydir) THEN BEGIN 220 ENDIF 221 IF keyword_set(fillydir) THEN BEGIN 222 222 tst = total(msk[1:nx, 1:ny], 2) 223 223 cnt_land = total(tst NE 0 AND tst NE ny) 224 ENDIF 224 ENDIF 225 225 ; 226 226 ENDWHILE … … 238 238 ; add extra bands to avoid edge errors... 239 239 240 one = replicate(1, smwin) 240 one = replicate(1, smwin) 241 241 IF keyword_set(x_periodic) THEN BEGIN 242 242 ; nx-smwin nx-1 0 smwin-1 nx-smwin nx-1 0 smwin-1 243 243 ; |----------| |----------|------------------------------|----------| |----------| 244 ; 0 smwin-1 smwin 2*smwin-1 nx nx+smwin-1 nx+smwin nx+2*smwin-1 244 ; 0 smwin-1 smwin 2*smwin-1 nx nx+smwin-1 nx+smwin nx+2*smwin-1 245 245 z = [ z[nx-smwin:nx-1, *], z, z[0:smwin-1, *] ] 246 246 msk = [ maskinput[nx-smwin:nx-1, *], maskinput, maskinput[0:smwin-1, *] ] 247 247 ;; IF array_equal(z[0:smwin-1, *], z[nx:nx+smwin-1, *]) NE 1 THEN stop 248 248 ;; IF array_equal(z[nx+smwin:nx+2*smwin-1, *], z[smwin:2*smwin-1, *]) NE 1 THEN stop 249 ENDIF ELSE BEGIN 249 ENDIF ELSE BEGIN 250 250 z = [ one#(z[0, *])[*], z, one#(z[nx-1, *])[*] ] 251 251 msk = [ one#(maskinput[0, *])[*], maskinput, one#(maskinput[nx-1, *])[*] ] 252 ENDELSE 252 ENDELSE 253 253 z = [ [ z[*, 0]#one], [ z], [ z[*, ny-1]#one] ] 254 254 msk = [ [msk[*, 0]#one], [msk], [msk[*, ny-1]#one] ] … … 261 261 z[0:smwin-1, *] = z[nx:nx+smwin-1, *] 262 262 z[nx+smwin:nx+2*smwin-1, *] = z[smwin:2*smwin-1, *] 263 ENDIF ELSE BEGIN 263 ENDIF ELSE BEGIN 264 264 z[0:smwin-1, *] = one#(z[smwin, *])[*] 265 265 z[nx+smwin:nx+2*smwin-1, *] = one#(z[nx+smwin-1, *])[*] 266 ENDELSE 266 ENDELSE 267 267 z[*, 0:smwin-1] = z[*, smwin]#one 268 268 z[*, ny+smwin:ny+2*smwin-1] = z[*, ny+smwin-1]#one 269 ENDFOR 269 ENDFOR 270 270 z = temporary(z)*mskm1 + zorg*msk 271 271 z = (temporary(z))[smwin:nx+smwin-1, smwin:ny+smwin-1] -
trunk/SRC/Interpolation/extrapsmooth.pro
r371 r495 27 27 ; put 1 to force the extrapolated values to be larger than 0, same as using minval=0. 28 28 ; 29 ; @keyword 29 ; @keyword 30 30 ; _EXTRA to be able to call extrapsmooth with _extra keyword 31 31 ; -
trunk/SRC/Interpolation/file_interp.pro
r493 r495 69 69 ; add extra bands to avoid edge errors... 70 70 one = replicate(1, data_smwin) 71 ; 71 ; 72 72 ; nx-smwin nx-1 0 smwin-1 nx-smwin nx-1 0 smwin-1 73 73 ; |----------| |----------|------------------------------|----------| |----------| 74 ; 0 smwin-1 smwin 2*smwin-1 nx nx+smwin-1 nx+smwin nx+2*smwin-1 74 ; 0 smwin-1 smwin 2*smwin-1 nx nx+smwin-1 nx+smwin nx+2*smwin-1 75 75 ; define boundaries (extra columns and rows) 76 76 data = [ data[nx-data_smwin:nx-1, *], data, data[0:data_smwin-1, *] ] 77 77 data = [ [data[*, 0]#one], [data], [data[*, ny-1]#one] ] 78 FOR i = 1, data_nsmooth DO BEGIN 78 FOR i = 1, data_nsmooth DO BEGIN 79 79 data = smooth( temporary(data), data_smwin ) 80 80 ; update boundaries … … 83 83 data[*, 0:data_smwin-1] = data[*, data_smwin]#one 84 84 data[*, ny+data_smwin:ny+2*data_smwin-1] = data[*, ny+data_smwin-1]#one 85 ENDFOR 85 ENDFOR 86 86 ; keep only the interior domain 87 87 data = (temporary(data))[data_smwin:nx+data_smwin-1, data_smwin:ny+data_smwin-1] … … 90 90 IF method EQ 'boxmean' THEN BEGIN 91 91 data = boxmean_interp(temporary(data), divx, divy) 92 ENDIF ELSE BEGIN 92 ENDIF ELSE BEGIN 93 93 IF NOT keyword_set(inirr) THEN BEGIN 94 94 data = fromreg(method, temporary(data), inlon, inlat, outlon, outlat, WEIG = weig, ADDR = addr, _extra = ex) … … 97 97 data = fromirr(method, temporary(data), inlon, inlat, mask, outlon, outlat, -1, WEIG = weig, ADDR = addr) 98 98 ENDELSE 99 ENDELSE 99 ENDELSE 100 100 101 101 IF n_elements(gethan) EQ 1 THEN data = gethan > temporary(data) 102 102 IF n_elements(lethan) EQ 1 THEN data = temporary(data) < lethan 103 103 IF outmask_ind[0] NE -1 THEN data[outmask_ind] = set_outmskval 104 104 105 105 if intype LE 3 THEN data = round(temporary(data)) 106 106 … … 205 205 ; mask is based on the first record (if record dimension 206 206 ; exists). The input mask is build according to operator defined by INTESTOP 207 ; keyword (default NE) and the testing values defined as 207 ; keyword (default NE) and the testing values defined as 208 208 ; 1) the second word of TESTOP if existing 209 209 ; 2) MISSING_VALUE keyword … … 220 220 ; contains 2 words. 221 221 ; Note: do not mismatch with MISSING_VALUE used to detect missing 222 ; values at reach record. 222 ; values at reach record. 223 223 ; 224 224 ; @keyword OUTMISSING_VALUE {type=scalar} … … 250 250 ; (Re)define the missing value in input data (missing values are treated 251 251 ; like masked values and will be filled with extrapolation before 252 ; interpolation). 252 ; interpolation). 253 253 ; Note: do not mismatch with (IN/OUT)MISSING_VALUE which are missing value 254 254 ; used (in association with (IN/OUT)USEASMASK) to built the mask (that … … 384 384 divx = round(gridout[0]) 385 385 divy = round(gridout[1]) 386 IF jpiin MOD divx NE 0 THEN BEGIN 386 IF jpiin MOD divx NE 0 THEN BEGIN 387 387 print, 'in boxmean method, the x size ('+strtrim(divx, 1)+') of the box used to average the data must divide the size of the x dimension ('+strtrim(jpiin, 1)+')' 388 388 return 389 389 ENDIF 390 IF jpjin MOD divy NE 0 THEN BEGIN 390 IF jpjin MOD divy NE 0 THEN BEGIN 391 391 print, 'in boxmean method, the y size ('+strtrim(divy, 1)+') of the box used to average the data must divide the size of the y dimension ('+strtrim(jpjin, 1)+')' 392 392 return … … 396 396 outlon = inlon & outlon = boxmean_interp(outlon, divx, divy) 397 397 outlat = inlat & outlat = boxmean_interp(outlat, divx, divy) 398 IF jpiout EQ 1 OR jpjout EQ 1 THEN BEGIN 398 IF jpiout EQ 1 OR jpjout EQ 1 THEN BEGIN 399 399 outlon = reform(outlon, jpiout, jpjout, /overwrite) 400 400 outlat = reform(outlat, jpiout, jpjout, /overwrite) 401 ENDIF 402 ENDIF ELSE BEGIN 401 ENDIF 402 ENDIF ELSE BEGIN 403 403 ncdf_getaxis, gridout, outdimidx, outdimidy, outlon, outlat, xaxisname = outxaxisname, yaxisname = outyaxisname 404 404 get_gridparams, outlon, outlat, jpiout, jpjout, 2 405 ENDELSE 405 ENDELSE 406 406 ; 407 407 ; masks … … 415 415 outmask = inmask 416 416 IF inmask[0] NE -1 THEN outmask = boxmean_interp(outmask, divx, divy) 417 ENDIF ELSE BEGIN 417 ENDIF ELSE BEGIN 418 418 outmask = ncdf_getmask(maskout, MASKNAME = outmaskname, INVMASK = outinvmask, USEASMASK = outuseasmask $ 419 419 , MISSING_VALUE = outmissing_value, ADDSCL_BEFORE = outaddscl_before, TESTOP = outtestop) 420 ENDELSE 420 ENDELSE 421 421 ; 422 422 ; irregular grids? … … 518 518 ELSE: 519 519 ENDCASE 520 520 521 521 FOR j = 0, varinq.natts-1 DO BEGIN 522 522 name = ncdf_attname(inid, i, j) … … 531 531 ENDCASE 532 532 ENDFOR 533 533 534 534 IF keyword_set(interp) AND outmask[0] NE -1 THEN BEGIN 535 535 IF n_elements(set_outmskval) NE 0 THEN outmiss[i] = set_outmskval 536 536 ncdf_attput, outid, outvarid[i], '_fillvalue', outmiss[i] 537 ncdf_attput, outid, outvarid[i], 'missing_value', outmiss[i] 537 ncdf_attput, outid, outvarid[i], 'missing_value', outmiss[i] 538 538 ENDIF 539 539 -
trunk/SRC/Interpolation/fromirr.pro
r433 r495 51 51 ; lonout, latout are used only to know the output domain size 52 52 ; 53 ; @keyword 53 ; @keyword 54 54 ; _EXTRA to be able to call fromirr with _extra keyword 55 55 ; … … 78 78 ; IDL> help, a, b 79 79 ; 80 ; 2) use a and b that are now defined to bypass the computation of the weights 80 ; 2) use a and b that are now defined to bypass the computation of the weights 81 81 ; and addresses and speed-up the computation! 82 82 ; -
trunk/SRC/Interpolation/fromreg.pro
r433 r495 6 6 ; 2 methods available: bilinear and imoms3 7 7 ; 8 ; A "regular/rectangular grid" is defined as a grid for which 8 ; A "regular/rectangular grid" is defined as a grid for which 9 9 ; 10 ; Each longitude lines have the same latitude and each latitude columns 10 ; Each longitude lines have the same latitude and each latitude columns 11 11 ; have the same longitude. 12 12 ; 13 ; @categories 13 ; @categories 14 14 ; Interpolation 15 15 ; … … 37 37 ; 38 38 ; @keyword ADDR {type=2d array or variable name} 39 ; 1) at the first call of fromreg: 39 ; 1) at the first call of fromreg: 40 40 ; This keyword can be set to a named variable (undefined or equal to 0) into which the 41 41 ; addresses used to perform the interpolation will be copied when the current routine exits. … … 57 57 ; of the input data when performing the interpolation. 58 58 ; 59 ; @keyword 59 ; @keyword 60 60 ; _EXTRA to be able to call fromreg with _extra keyword 61 61 ; … … 74 74 ; 75 75 ; or if you have several fields to interpolate from the same source and target grids 76 ; 76 ; 77 77 ; 1) get back the weights and addresses in variables a and b 78 78 ; (that must be undefined or equal to 0 before calling fromreg … … 81 81 ; IDL> help, a, b 82 82 ; 83 ; 2) use a and b that are now defined to bypass the computation of the weights and addresses 83 ; 2) use a and b that are now defined to bypass the computation of the weights and addresses 84 84 ; and speed-up the computation! 85 85 ; -
trunk/SRC/Interpolation/get_gridparams.pro
r379 r495 8 8 ; sure they are 1D or 2D arrays 9 9 ; 10 ; @categories 10 ; @categories 11 11 ; Interpolation 12 12 ; … … 29 29 ; n_dimensions dimensions when returned 30 30 ; 31 ; @param in3 31 ; @param in3 32 32 ; Case 1: name of the variable containing the latitude in the NetCDF file 33 33 ; Case 2: returned number of points in longitudinal direction. … … 38 38 ; 39 39 ; @param in5 40 ; Case 1: returned latitudes array, with n_dimensions dimensions 41 ; Case 2: input scalar (1 or 2) to specify if lon and lat should be returned 40 ; Case 1: returned latitudes array, with n_dimensions dimensions 41 ; Case 2: input scalar (1 or 2) to specify if lon and lat should be returned 42 42 ; as 1D or 2D arrays. Note that if n_dimensions = 1, the grid must be 43 43 ; regular (longitude and latitudes can be described as 1D arrays). … … 50 50 ; 51 51 ; @param in8 {in} 52 ; Case 1: input scalar (1 or 2) to specify if lon and lat should be returned 52 ; Case 1: input scalar (1 or 2) to specify if lon and lat should be returned 53 53 ; as 1D or 2D arrays. Note that if n_dimensions = 1, the grid must be 54 54 ; regular (longitude and latitudes can be described as 1D arrays). … … 59 59 ; @examples 60 60 ; 61 ; 1) 61 ; 1) 62 62 ; 63 63 ; IDL> ncdf_get_gridparams, 'coordinates_ORCA_R05.nc', 'glamt', 'gphit' $ 64 64 ; , olon, olat, jpio, jpjo, 2 65 65 ; 66 ; 2) 66 ; 2) 67 67 ; 68 68 ; IDL> ncdf_get_gridparams, olon, olat, jpio, jpjo, 2 -
trunk/SRC/Interpolation/inquad.pro
r371 r495 34 34 ; 35 35 ; @keyword DELTA {default=4} 36 ; to speed up the program, we reduce the a era where we look for potential36 ; to speed up the program, we reduce the area where we look for potential 37 37 ; quadrilaterals containing (x,y). Delta defines the limit of the box 38 38 ; centred on (x,y) with a zonal and meridional extent of delta degrees. … … 202 202 ENDIF 203 203 ; 204 ;205 204 ; the point is inside the quadrilateral if test eq 1 206 205 ; with test equal to: … … 217 216 ; row j of test corresponds to all the points localized in cell j 218 217 219 IF keyword_set(double) THEN one = 1.d ELSE one = 1. 218 IF keyword_set(double) THEN one = 1.d ELSE one = 1. 220 219 nquad_1 = replicate(one, nquad) 221 220 ntofind_1 = replicate(one, ntofind) -
trunk/SRC/Interpolation/inrecgrid.pro
r372 r495 2 2 ; 3 3 ; @file_comments 4 ; given 4 ; given 5 5 ; - a list of points, (x,y) position 6 6 ; - the x and y limits of a rectangular grid -
trunk/SRC/Interpolation/lbcorca.pro
r493 r495 13 13 ; @param grid {in}{required}{type=scalar string} 14 14 ; type of grid-point on which is located the array: 'T', 'U', 'V' or 'F' 15 ; 15 ; 16 16 ; @param psign {in}{optional}{type=1. or -1.}{default=1.} 17 17 ; … … 61 61 tst = arr[0, *, *, *] - arr[jpi-2, *, *, *] 62 62 nberr = total(tst NE 0) 63 IF nberr NE 0 THEN BEGIN 63 IF nberr NE 0 THEN BEGIN 64 64 IF keyword_set(verbose) THEN print, grid + 'east-west periodicity (1) : '+strtrim(nberr, 1)+' errors' 65 65 IF keyword_set(verbose) AND nberr LE 10 THEN print, ' located on : ', where(tst NE 0) 66 66 IF keyword_set(stop) THEN stop 67 67 IF keyword_set(correction) THEN arr[0, *, *, *] = arr[jpi-2, *, *, *] 68 res = res + 1 68 res = res + 1 69 69 ENDIF 70 70 tst = arr[1, *, *, *] - arr[jpi-1, *, *, *] 71 71 nberr = total(tst NE 0) 72 IF nberr NE 0 THEN BEGIN 72 IF nberr NE 0 THEN BEGIN 73 73 IF keyword_set(verbose) THEN print, grid + 'east-west periodicity (2) : '+strtrim(nberr, 1)+' errors' 74 74 IF keyword_set(verbose) AND nberr LE 10 THEN print, ' located on : ', where(tst NE 0) 75 75 IF keyword_set(stop) THEN stop 76 76 IF keyword_set(correction) THEN arr[jpi-1, *, *, *] = arr[1, *, *, *] 77 res = res + 1 77 res = res + 1 78 78 ENDIF 79 79 80 80 ; north pole periodicity 81 81 82 82 CASE 1 OF 83 83 (jpi EQ 182 AND jpj EQ 149) OR (jpi EQ 1442 AND jpj EQ 1021) OR (jpi EQ 4322 AND jpj EQ 3059):BEGIN ; this is ORCA2, 0RCA025, ORCA12... … … 86 86 tst = arr[1:jpi-1, jpj-1, *, *] - psign * reverse(arr[1:jpi-1, jpj-3, *, *]) 87 87 nberr = total(tst NE 0) 88 IF nberr NE 0 THEN BEGIN 88 IF nberr NE 0 THEN BEGIN 89 89 IF keyword_set(verbose) THEN print, grid + 'grid: north pole periodicity (1) : '+strtrim(nberr, 1)+' errors' 90 90 IF keyword_set(verbose) AND nberr LE 10 THEN print, ' located on : ', where(tst NE 0) 91 91 IF keyword_set(stop) THEN stop 92 92 IF keyword_set(correction) THEN arr[1:jpi-1, jpj-1, *, *] = psign * reverse(arr[1:jpi-1, jpj-3, *, *]) 93 res = res + 1 93 res = res + 1 94 94 ENDIF 95 95 tst = arr[1:jpi/2, jpj-2, *, *] - psign * reverse(arr[jpi/2:jpi-1, jpj-2, *, *]) 96 96 nberr = total(tst NE 0) 97 IF nberr NE 0 THEN BEGIN 97 IF nberr NE 0 THEN BEGIN 98 98 IF keyword_set(verbose) THEN print, grid + 'grid: north pole periodicity (2) : '+strtrim(nberr, 1)+' errors' 99 99 IF keyword_set(verbose) AND nberr LE 10 THEN print, ' located on : ', where(tst NE 0) 100 100 IF keyword_set(stop) THEN stop 101 101 IF keyword_set(correction) THEN arr[jpi/2:jpi-1, jpj-2, *, *] = psign * reverse(arr[1:jpi/2, jpj-2, *, *]) 102 res = res + 1 102 res = res + 1 103 103 ENDIF 104 104 END … … 106 106 tst = arr[1:jpi-1, jpj-1, *, *] - psign * reverse(arr[0:jpi-2, jpj-3, *, *]) 107 107 nberr = total(tst NE 0) 108 IF nberr NE 0 THEN BEGIN 108 IF nberr NE 0 THEN BEGIN 109 109 IF keyword_set(verbose) THEN print, grid + 'grid: north pole periodicity (1) : '+strtrim(nberr, 1)+' errors' 110 110 IF keyword_set(verbose) AND nberr LE 10 THEN print, ' located on : ', where(tst NE 0) 111 111 IF keyword_set(stop) THEN stop 112 112 IF keyword_set(correction) THEN arr[1:jpi-1, jpj-1, *, *] = psign * reverse(arr[0:jpi-2, jpj-3, *, *]) 113 res = res + 1 113 res = res + 1 114 114 ENDIF 115 115 tst = arr[1:jpi/2, jpj-2, *, *] - psign * reverse(arr[jpi/2-1:jpi-2, jpj-2, *, *]) 116 116 nberr = total(tst NE 0) 117 IF nberr NE 0 THEN BEGIN 117 IF nberr NE 0 THEN BEGIN 118 118 IF keyword_set(verbose) THEN print, grid + 'grid: north pole periodicity (2) : '+strtrim(nberr, 1)+' errors' 119 119 IF keyword_set(verbose) AND nberr LE 10 THEN print, ' located on : ', where(tst NE 0) 120 120 IF keyword_set(stop) THEN stop 121 121 IF keyword_set(correction) THEN arr[jpi/2-1:jpi-2, jpj-2, *, *] = psign * reverse(arr[1:jpi/2, jpj-2, *, *]) 122 res = res + 1 122 res = res + 1 123 123 ENDIF 124 124 END … … 126 126 tst = arr[1:jpi-1, jpj-1, *, *] - psign * reverse(arr[1:jpi-1, jpj-4, *, *]) 127 127 nberr = total(tst NE 0) 128 IF nberr NE 0 THEN BEGIN 128 IF nberr NE 0 THEN BEGIN 129 129 IF keyword_set(verbose) THEN print, grid + 'grid: north pole periodicity (1) : '+strtrim(nberr, 1)+' errors' 130 130 IF keyword_set(verbose) AND nberr LE 10 THEN print, ' located on : ', where(tst NE 0) 131 131 IF keyword_set(stop) THEN stop 132 132 IF keyword_set(correction) THEN arr[1:jpi-1, jpj-1, *, *] = psign * reverse(arr[1:jpi-1, jpj-4, *, *]) 133 res = res + 1 133 res = res + 1 134 134 ENDIF 135 135 tst = arr[1:jpi-1, jpj-2, *, *] - psign * reverse(arr[1:jpi-1, jpj-3, *, *]) 136 136 nberr = total(tst NE 0) 137 IF nberr NE 0 THEN BEGIN 137 IF nberr NE 0 THEN BEGIN 138 138 IF keyword_set(verbose) THEN print, grid + 'grid: north pole periodicity (2) : '+strtrim(nberr, 1)+' errors' 139 139 IF keyword_set(verbose) AND nberr LE 10 THEN print, ' located on : ', where(tst NE 0) 140 140 IF keyword_set(stop) THEN stop 141 141 IF keyword_set(correction) THEN arr[1:jpi-1, jpj-2, *, *] = psign * reverse(arr[1:jpi-1, jpj-3, *, *]) 142 res = res + 1 142 res = res + 1 143 143 ENDIF 144 144 END … … 146 146 tst = arr[1:jpi-1, jpj-1, *, *] - psign * reverse(arr[0:jpi-2, jpj-4, *, *]) 147 147 nberr = total(tst NE 0) 148 IF nberr NE 0 THEN BEGIN 148 IF nberr NE 0 THEN BEGIN 149 149 IF keyword_set(verbose) THEN print, grid + 'grid: north pole periodicity (1) : '+strtrim(nberr, 1)+' errors' 150 150 IF keyword_set(verbose) AND nberr LE 10 THEN print, ' located on : ', where(tst NE 0) 151 151 IF keyword_set(stop) THEN stop 152 152 IF keyword_set(correction) THEN arr[1:jpi-1, jpj-1, *, *] = psign * reverse(arr[0:jpi-2, jpj-4, *, *]) 153 res = res + 1 153 res = res + 1 154 154 ENDIF 155 155 tst = arr[1:jpi-1, jpj-2, *, *] - psign * reverse(arr[0:jpi-2, jpj-3, *, *]) 156 156 nberr = total(tst NE 0) 157 IF nberr NE 0 THEN BEGIN 157 IF nberr NE 0 THEN BEGIN 158 158 IF keyword_set(verbose) THEN print, grid + 'grid: north pole periodicity (2) : '+strtrim(nberr, 1)+' errors' 159 159 IF keyword_set(verbose) AND nberr LE 10 THEN print, ' located on : ', where(tst NE 0) 160 160 IF keyword_set(stop) THEN stop 161 161 IF keyword_set(correction) THEN arr[1:jpi-1, jpj-2, *, *] = psign * reverse(arr[0:jpi-2, jpj-3, *, *]) 162 res = res + 1 162 res = res + 1 163 163 ENDIF 164 164 END … … 171 171 tst = arr[1:jpi-2, jpj-1, *, *] - psign * reverse(arr[1:jpi-2, jpj-2, *, *]) 172 172 nberr = total(tst NE 0) 173 IF nberr NE 0 THEN BEGIN 173 IF nberr NE 0 THEN BEGIN 174 174 IF keyword_set(verbose) THEN print, grid + 'grid: north pole periodicity : '+strtrim(nberr, 1)+' errors' 175 175 IF keyword_set(verbose) AND nberr LE 10 THEN print, ' located on : ', where(tst NE 0) 176 176 IF keyword_set(stop) THEN stop 177 177 IF keyword_set(correction) THEN arr[1:jpi-2, jpj-1, *, *] = psign * reverse(arr[1:jpi-2, jpj-2, *, *]) 178 res = res + 1 178 res = res + 1 179 179 ENDIF 180 180 END … … 182 182 tst = arr[1:jpi-2, jpj-1, *, *] - psign * reverse(arr[0:jpi-3, jpj-2, *, *]) 183 183 nberr = total(tst NE 0) 184 IF nberr NE 0 THEN BEGIN 184 IF nberr NE 0 THEN BEGIN 185 185 IF keyword_set(verbose) THEN print, grid + 'grid: north pole periodicity : '+strtrim(nberr, 1)+' errors' 186 186 IF keyword_set(verbose) AND nberr LE 10 THEN print, ' located on : ', where(tst NE 0) 187 187 IF keyword_set(stop) THEN stop 188 188 IF keyword_set(correction) THEN arr[1:jpi-2, jpj-1, *, *] = psign * reverse(arr[0:jpi-3, jpj-2, *, *]) 189 res = res + 1 189 res = res + 1 190 190 ENDIF 191 191 END … … 193 193 tst = arr[1:jpi-2, jpj-1, *, *] - psign * reverse(arr[1:jpi-2, jpj-3, *, *]) 194 194 nberr = total(tst NE 0) 195 IF nberr NE 0 THEN BEGIN 195 IF nberr NE 0 THEN BEGIN 196 196 IF keyword_set(verbose) THEN print, grid + 'grid: north pole periodicity (1) : '+strtrim(nberr, 1)+' errors' 197 197 IF keyword_set(verbose) AND nberr LE 10 THEN print, ' located on : ', where(tst NE 0) 198 198 IF keyword_set(stop) THEN stop 199 199 IF keyword_set(correction) THEN arr[1:jpi-2, jpj-1, *, *] = psign * reverse(arr[1:jpi-2, jpj-3, *, *]) 200 res = res + 1 200 res = res + 1 201 201 ENDIF 202 202 tst = arr[jpi/2:jpi-1, jpj-2, *, *] - psign * reverse(arr[0:jpi/2-1, jpj-2, *, *]) 203 203 nberr = total(tst NE 0) 204 IF nberr NE 0 THEN BEGIN 204 IF nberr NE 0 THEN BEGIN 205 205 IF keyword_set(verbose) THEN print, grid + 'grid: north pole periodicity (2) : '+strtrim(nberr, 1)+' errors' 206 206 IF keyword_set(verbose) AND nberr LE 10 THEN print, ' located on : ', where(tst NE 0) 207 207 IF keyword_set(stop) THEN stop 208 208 IF keyword_set(correction) THEN arr[jpi/2:jpi-1, jpj-2, *, *] = psign * reverse(arr[0:jpi/2-1, jpj-2, *, *]) 209 res = res + 1 209 res = res + 1 210 210 ENDIF 211 211 END … … 213 213 tst = arr[1:jpi-2, jpj-1, *, *] - psign * reverse(arr[0:jpi-3, jpj-3, *, *]) 214 214 nberr = total(tst NE 0) 215 IF nberr NE 0 THEN BEGIN 215 IF nberr NE 0 THEN BEGIN 216 216 IF keyword_set(verbose) THEN print, grid + 'grid: north pole periodicity (2) : '+strtrim(nberr, 1)+' errors' 217 217 IF keyword_set(verbose) AND nberr LE 10 THEN print, ' located on : ', where(tst NE 0) 218 218 IF keyword_set(stop) THEN stop 219 219 IF keyword_set(correction) THEN arr[1:jpi-2, jpj-1, *, *] = psign * reverse(arr[0:jpi-3, jpj-3, *, *]) 220 res = res + 1 220 res = res + 1 221 221 ENDIF 222 222 tst = arr[jpi/2:jpi-2, jpj-2, *, *] - psign * reverse(arr[0:jpi/2-2, jpj-2, *, *]) 223 223 nberr = total(tst NE 0) 224 IF nberr NE 0 THEN BEGIN 224 IF nberr NE 0 THEN BEGIN 225 225 IF keyword_set(verbose) THEN print, grid + 'grid: north pole periodicity (2) : '+strtrim(nberr, 1)+' errors' 226 226 IF keyword_set(verbose) AND nberr LE 10 THEN print, ' located on : ', where(tst NE 0) 227 227 IF keyword_set(stop) THEN stop 228 228 IF keyword_set(correction) THEN arr[jpi/2:jpi-2, jpj-2, *, *] = psign * reverse(arr[0:jpi/2-2, jpj-2, *, *]) 229 res = res + 1 229 res = res + 1 230 230 ENDIF 231 231 END … … 241 241 ENDIF 242 242 243 244 243 RETURN, res 245 244 END -
trunk/SRC/Interpolation/ll_narcs_distances.pro
r371 r495 73 73 compile_opt idl2, strictarrsubs 74 74 ; 75 ;76 75 IF n_elements(lon0) NE n_elements(lat0) $ 77 76 OR n_elements(lon0) NE n_elements(arc_dist) $ -
trunk/SRC/Interpolation/map_npoints.pro
r371 r495 36 36 ; 37 37 ; @keyword TWO_BY_TWO 38 ; If given, then <pro>map_npoints</pro> returns the distances between 38 ; If given, then <pro>map_npoints</pro> returns the distances between 39 39 ; number n of P0 points and number n of P1 pointsi. 40 40 ; In that case, np0 and np1 must be equal. -
trunk/SRC/Interpolation/quadrilateral2square.pro
r372 r495 73 73 ; IEEE Computer Society Press, Los Alamitos, California 74 74 ; Chapter 3, see p 52-56 75 ;76 75 ; 77 76 ; @version -
trunk/SRC/Interpolation/square2quadrilateral.pro
r372 r495 71 71 ;- 72 72 FUNCTION square2quadrilateral, x0in, y0in, x1in, y1in, x2in, y2in $ 73 , x3in, y3in, xxin, yyin $ 73 , x3in, y3in, xxin, yyin $ 74 74 , DOUBLE=double 75 75 ; -
trunk/SRC/Matrix/cmapply.pro
r493 r495 96 96 ; 97 97 ; USER - Applies user-defined function no. of output elements 98 ;99 98 ; 100 99 ; It is possible to perform user-defined operations arrays using … … 173 172 ; @examples 174 173 ; 175 ; First example: 176 ; Shows how <pro>cmapply</pro> can be used to total the second dimension of 174 ; First example: 175 ; Shows how <pro>cmapply</pro> can be used to total the second dimension of 177 176 ; the array called IN. This is equivalent to OUT = TOTAL(IN, 2) 178 177 ; … … 377 376 end 378 377 379 380 378 endcase 381 379 -
trunk/SRC/Matrix/different.pro
r493 r495 34 34 ; IDL> b = [6,1,3,2] 35 35 ; 36 ; IDL> res=different(a,b) 36 ; IDL> res=different(a,b) 37 37 ; 4 8 38 38 ; Right because 4 and 8 are in a but not in b ! -
trunk/SRC/Matrix/extrac2.pro
r373 r495 138 138 endcase 139 139 140 141 140 ;------------------------------------------------------------ 142 141 ;------------------------------------------------------------ -
trunk/SRC/Matrix/inter.pro
r378 r495 9 9 ; Calculation 10 10 ; 11 ; @param a {in}{required} 11 ; @param a {in}{required} 12 12 ; arrays of positive integers, which need not to be 13 13 ; sorted. Duplicate elements are ignored, as they have no effect on the 14 14 ; result 15 15 ; 16 ; @param b {in}{required} 16 ; @param b {in}{required} 17 17 ; see a 18 18 ; … … 23 23 ; -1. 24 24 ; 25 ; @restrictions 25 ; @restrictions 26 26 ; These functions will not be efficient on sparse sets with wide 27 ; ranges, as they trade memory for efficiency. 27 ; ranges, as they trade memory for efficiency. 28 28 ; The <proidl>HISTOGRAM</proidl> function 29 29 ; is used, which creates arrays of size equal to the range of the -
trunk/SRC/Matrix/union.pro
r414 r495 14 14 ; effect on the result 15 15 ; 16 ; @param b {in}{required} 16 ; @param b {in}{required} 17 17 ; see a 18 18 ; … … 20 20 ; an array containing the set of values in a and b. 21 21 ; 22 ; @restrictions 22 ; @restrictions 23 23 ; These functions will not be efficient on sparse sets with wide 24 ; ranges, as they trade memory for efficiency. 24 ; ranges, as they trade memory for efficiency. 25 25 ; The <proidl>HISTOGRAM</proidl> function 26 26 ; is used, which creates arrays of size equal to the range of the … … 31 31 ; IDL> a = [2,4,6,8] 32 32 ; IDL> b = [6,1,3,2] 33 ; IDL> res=union(a,b) 33 ; IDL> res=union(a,b) 34 34 ; IDL> print, res 35 35 ; 1 2 3 4 5 6 -
trunk/SRC/Matrix/zero_one.pro
r373 r495 14 14 ; @examples 15 15 ; 16 ; IDL> a=zero_one(3) 16 ; IDL> a=zero_one(3) 17 17 ; IDL> help,a 18 18 ; A FLOAT = Array[3] … … 20 20 ; 0.00000 1.00000 0.00000 21 21 ; 22 ; IDL> a=zero_one(2,3) 22 ; IDL> a=zero_one(2,3) 23 23 ; IDL> help,a 24 24 ; A FLOAT = Array[2, 3] -
trunk/SRC/Picture/showimage.pro
r371 r495 14 14 ; to 8-bit or 24-bit images on-screen are done automatically. 15 15 ; 16 ; @categories 16 ; @categories 17 17 ; Input/Output 18 18 ; -
trunk/SRC/Postscript/openps.pro
r493 r495 57 57 , LIGHTNESS=Lightness, _EXTRA=ex 58 58 ; 59 ;60 59 compile_opt idl2, strictarrsubs 61 60 ; … … 99 98 file_basename(nameps, '.ps') + '.ps' 100 99 ; add path (psdir) and check that nameps is ok 101 nameps = isafile(nameps, iodir = psdir, /new) 100 nameps = isafile(nameps, iodir = psdir, /new) 102 101 ;------------------------------------------------------------ 103 102 ; we define xsize, ysize, xoffset and yoffset -
trunk/SRC/Postscript/printps.pro
r493 r495 31 31 ; print_command+printer_machine_names[i]+' '+file.ps 32 32 ; is working. default definition is '\lpr -P' 33 ;34 33 ; 35 34 ; @history … … 204 203 ; to print the postscript file. DIRECTPRINT must correspond to one of 205 204 ; the names defined in the common variables printer_machine_names or 206 ; printer_human_names. useful to use printps in batch mode 205 ; printer_human_names. useful to use printps in batch mode 207 206 ; 208 207 ; @uses … … 289 288 ; build the widget 290 289 ;------------------------------------------------------------ 291 keyword_set(directprint): BEGIN 290 keyword_set(directprint): BEGIN 292 291 ; check if directprint is well defined 293 292 printnumb = (where(strlowcase(printer_machine_names) EQ strlowcase(directprint)))[0] … … 305 304 ; build the widget 306 305 ;------------------------------------------------------------ 307 ELSE:BEGIN 308 IF keyword_set(key_batch) THEN return 306 ELSE:BEGIN 307 IF keyword_set(key_batch) THEN return 309 308 base = widget_base(/row, title = 'Postscript file: ' $ 310 309 + file_basename(nameps)) … … 359 358 ENDCASE 360 359 361 362 360 return 363 361 end -
trunk/SRC/ReadWrite/ncdf_getatt.pro
r493 r495 19 19 ; or NCDF_VARID, or the name of the variable. 20 20 ; 21 ; @keyword add_offset 21 ; @keyword add_offset 22 22 ; Set this keyword to a named variable in which the value of 23 23 ; add_offset attribute is returned. Return 0. if this attribute … … 55 55 ; @keyword standard_name 56 56 ; Set this keyword to a named variable in which the value of 57 ; standard_name (CF convention) is returned. Return empty string 57 ; standard_name (CF convention) is returned. Return empty string 58 58 ; if this attribute does not exist. 59 59 ; 60 60 ; @keyword _EXTRA 61 ; defined only to be able to call <pro>ncdf_getatt</pro> with the 61 ; defined only to be able to call <pro>ncdf_getatt</pro> with the 62 62 ; _EXTRA keyword 63 63 ; … … 94 94 long_name = '' 95 95 standard_name = '' 96 ; 96 ; 97 97 varinq = ncdf_varinq(cdfid, varid) 98 98 IF varinq.natts GT 0 THEN BEGIN … … 100 100 attname = ncdf_attname(cdfid, varid, a) 101 101 CASE strlowcase(attname) OF 102 'units':BEGIN 102 'units':BEGIN 103 103 ncdf_attget, cdfid, varid, attname, tmp 104 104 units = strcompress(strtrim(tmp, 2)) 105 105 END 106 'calendar':BEGIN 106 'calendar':BEGIN 107 107 ncdf_attget, cdfid, varid, attname, tmp 108 108 tmp = strtrim(tmp, 2) … … 126 126 'long_name':BEGIN 127 127 ncdf_attget, cdfid, varid, attname, tmp 128 long_name = strtrim(tmp, 2) 128 long_name = strtrim(tmp, 2) 129 129 END 130 130 'standard_name':BEGIN 131 131 ncdf_attget, cdfid, varid, attname, tmp 132 standard_name = strtrim(tmp, 2) 132 standard_name = strtrim(tmp, 2) 133 133 END 134 134 'add_offset':ncdf_attget, cdfid, varid, attname, add_offset … … 145 145 IF strmid(missing_value, 0, 1, /reverse_offset) EQ 'f' THEN $ 146 146 missing_value = strmid(missing_value, 0, strlen(missing_value)-1) 147 IF isnumber(string(missing_value), tmp) EQ 1 THEN BEGIN 147 IF isnumber(string(missing_value), tmp) EQ 1 THEN BEGIN 148 148 missing_value = tmp 149 149 ENDIF ELSE BEGIN … … 156 156 add_offset = double(add_offset) 157 157 scale_factor = double(scale_factor) 158 ENDIF ELSE BEGIN 158 ENDIF ELSE BEGIN 159 159 add_offset = float(add_offset) 160 160 scale_factor = float(scale_factor) … … 162 162 ; 163 163 IF size(fileid, /type) EQ 7 THEN ncdf_close, cdfid 164 164 165 165 return 166 END 166 END -
trunk/SRC/ReadWrite/ncdf_getaxis.pro
r429 r495 74 74 ; @history 75 75 ; March 2007: Sebastien Masson (smasson\@locean-ipsl.upmc.fr) 76 ;77 76 ; 78 77 ; @version … … 171 170 ENDFOR 172 171 jpiglo = xcount[0] 173 IF n_elements(xmaxmesh) NE 0 THEN BEGIN 172 IF n_elements(xmaxmesh) NE 0 THEN BEGIN 174 173 IF xmaxmesh GE 0 THEN ixmaxmesh = long(xmaxmesh[0]) ELSE ixmaxmesh = xcount[0] -1 + long(xmaxmesh[0]) 175 174 ENDIF ELSE ixmaxmesh = xcount[0] - 1L … … 179 178 jpifromx = xcount[0] 180 179 jpi = jpifromx 181 IF xinq.ndims GE 2 THEN BEGIN 180 IF xinq.ndims GE 2 THEN BEGIN 182 181 jpjglo = xcount[1] 183 IF n_elements(ymaxmesh) NE 0 THEN BEGIN 182 IF n_elements(ymaxmesh) NE 0 THEN BEGIN 184 183 IF ymaxmesh GE 0 THEN iymaxmesh = long(ymaxmesh[0]) ELSE iymaxmesh = xcount[1] - 1L + long(ymaxmesh[0]) 185 184 ENDIF ELSE iymaxmesh = xcount[1] - 1L … … 266 265 idy = yinq.ndims GE 2 267 266 jpjglo = ycount[idy] 268 IF n_elements(ymaxmesh) NE 0 THEN BEGIN 267 IF n_elements(ymaxmesh) NE 0 THEN BEGIN 269 268 IF ymaxmesh GE 0 THEN iymaxmesh = long(ymaxmesh[0]) ELSE iymaxmesh = ycount[idy] - 1L + long(ymaxmesh[0]) 270 269 ENDIF ELSE iymaxmesh = ycount[idy] - 1L … … 274 273 jpjfromy = ycount[idy] 275 274 jpj = jpjfromy 276 IF yinq.ndims GE 2 THEN BEGIN 275 IF yinq.ndims GE 2 THEN BEGIN 277 276 jpiglo = ycount[0] 278 IF n_elements(xmaxmesh) NE 0 THEN BEGIN 277 IF n_elements(xmaxmesh) NE 0 THEN BEGIN 279 278 IF xmaxmesh GE 0 THEN ixmaxmesh = long(xmaxmesh[0]) ELSE ixmaxmesh = ycount[0] - 1L + long(xmaxmesh[0]) 280 279 ENDIF ELSE ixmaxmesh = ycount[0] - 1L -
trunk/SRC/ReadWrite/ncdf_getmask.pro
r399 r495 30 30 ; To define (or redefine if the attribute is already existing) the 31 31 ; missing values used with USEASMASK keyword. Note that this value is 32 ; not used if TESTOP keyword is given and contains 2 words. 32 ; not used if TESTOP keyword is given and contains 2 words. 33 33 ; 34 34 ; @keyword USEASMASK {type=scalar string} … … 37 37 ; mask is based on the first record (if record dimension 38 38 ; exists). The mask is build according to operator defined by TESTOP 39 ; keyword (default NE) and the testing values defined as 39 ; keyword (default NE) and the testing values defined as 40 40 ; 1) the second word of TESTOP if existing 41 41 ; 2) MISSING_VALUE keyword … … 83 83 ; Note that if ZMAXMESH < 0 then izmaxmesh is defined as izmaxmesh = jpkglo -1 + maxmesh 84 84 ; 85 ; @keyword 85 ; @keyword 86 86 ; _EXTRA to be able to call ncdf_getmask with _extra keyword 87 87 ; … … 155 155 ENDIF 156 156 ENDFOR 157 158 IF n_elements(xmaxmesh) NE 0 THEN BEGIN 157 158 IF n_elements(xmaxmesh) NE 0 THEN BEGIN 159 159 IF xmaxmesh GE 0 THEN ixmaxmesh = long(xmaxmesh[0]) ELSE ixmaxmesh = count[0] - 1L + long(xmaxmesh[0]) 160 160 ENDIF ELSE ixmaxmesh = count[0] - 1L … … 165 165 jpi = count[0] 166 166 167 IF n_elements(ymaxmesh) NE 0 THEN BEGIN 167 IF n_elements(ymaxmesh) NE 0 THEN BEGIN 168 168 IF ymaxmesh GE 0 THEN iymaxmesh = long(ymaxmesh[0]) ELSE iymaxmesh = count[1] - 1L + long(ymaxmesh[0]) 169 ENDIF ELSE iymaxmesh = count[1] - 1L 169 ENDIF ELSE iymaxmesh = count[1] - 1L 170 170 iymaxmesh = 0 > iymaxmesh < (count[1] - 1L) ; make sure ixmaxmesh is not too big 171 171 jpjglo = count[1] … … 175 175 176 176 IF (mskinq.ndims EQ 3 AND withrcd EQ -1) OR (mskinq.ndims EQ 4) THEN BEGIN 177 IF n_elements(zmaxmesh) NE 0 THEN BEGIN 177 IF n_elements(zmaxmesh) NE 0 THEN BEGIN 178 178 IF zmaxmesh GE 0 THEN izmaxmesh = long(zmaxmesh[0]) ELSE izmaxmesh = count[2] - 1L + long(zmaxmesh[0]) 179 179 ENDIF ELSE izmaxmesh = count[2] - 1L … … 187 187 ; read the variable for the first record 188 188 ncdf_varget, cdfid, mskid, mask, count = count, offset = offset 189 189 190 190 ; get add_offset, scale factor and missing value attributes 191 191 ncdf_getatt, cdfid, mskid, add_offset = add, scale_factor = scl, missing_value = miss … … 206 206 IF op EQ 'EQ' THEN BEGIN 207 207 op = 'NE' 208 invmask = 1b - keyword_set(invmask) 208 invmask = 1b - keyword_set(invmask) 209 209 ENDIF 210 IF n_elements(tmp) EQ 1 THEN testval = miss ELSE testval = float(tmp[1]) 210 IF n_elements(tmp) EQ 1 THEN testval = miss ELSE testval = float(tmp[1]) 211 211 IF finite(testval) EQ 0 THEN BEGIN 212 212 IF op NE 'NE' THEN mask = report('NaN test value can be used only with EQ or NE operator') ELSE mask = finite(mask) … … 217 217 'LE':mask = mask LE testval 218 218 'LT':mask = mask LT testval 219 'NE':BEGIN 219 'NE':BEGIN 220 220 ; we have to take care of the float accuracy 221 221 CASE 1 OF … … 231 231 ENDIF 232 232 233 IF mask[0] NE -1 THEN BEGIN 233 IF mask[0] NE -1 THEN BEGIN 234 234 mask = byte(round(mask)) 235 235 if keyword_set(invmask) then mask = 1b - mask -
trunk/SRC/ReadWrite/ncdf_gettime.pro
r493 r495 12 12 ; 13 13 ; @param cdfid {in}{optional}{type=scalar} 14 ; the ID of the ncdf_file, if the file is already open. 14 ; the ID of the ncdf_file, if the file is already open. 15 15 ; if not provided, ncdf_gettime open the file defined by filename 16 16 ; … … 163 163 'greg':key_caltype = 'greg' 164 164 'gregorian':key_caltype = 'greg' 165 ELSE:BEGIN 165 ELSE:BEGIN 166 166 dummy = report( ['unknown calendar type: '+calendar, 'we use gregorian calendar'] ) 167 167 key_caltype = 'greg' … … 173 173 ; 174 174 value = strlowcase(value) 175 IF value NE 'true julian day' THEN BEGIN 175 IF value NE 'true julian day' THEN BEGIN 176 176 ; time_counter:units = "seconds since 0001-01-01 00:00:00" ; 177 177 ; time_counter:units = "minutes since 0001-01-01 00:00:00" ; -
trunk/SRC/ReadWrite/read_oasis.pro
r371 r495 32 32 ; IDL> m=read_oasis('masks_orca_t106','or1t.msk',182,149,/i4) 33 33 ; 34 ; see also 34 ; see also 35 35 ; 36 36 ; IDL> scanoasis,'grids_orca_t106' -
trunk/SRC/ReadWrite/readoldopadistcoast.pro
r372 r495 18 18 ; @returns 19 19 ; a structure that contains two elements: tdistcoast (the 20 ; distance for the t-points) and fdis coast (the distance for the20 ; distance for the t-points) and fdistcoast (the distance for the 21 21 ; f-points). 22 22 ; … … 75 75 , IBLOC=ibloc, JPBYT=jpbyt, NUMREC=numrec 76 76 ; 77 ;78 77 compile_opt idl2, strictarrsubs 79 78 ; … … 86 85 openr,numcost , iname_file, /get_lun, /swap_if_little_endian 87 86 ; check the size of the file 88 filepa mameters = fstat(numcost)87 fileparameters = fstat(numcost) 89 88 ; default parameter definition for ORCA2 90 89 IF keyword_set(ibloc) THEN ibloc = long(ibloc) ELSE ibloc = 4096L … … 97 96 ; number of records 98 97 IF keyword_set(numrec) THEN numrec = long(numrec) ELSE numrec = 3L*jpk 99 ; difference between the record length and the size of the cont ened98 ; difference between the record length and the size of the contained 100 99 ; array. 101 100 toomuch = reclen-jpiglo*jpjglo*jpbyt 102 101 ; expected size computation 103 102 size = numrec*reclen-toomuch 104 if size NE filepa mameters.size then begin103 if size NE fileparameters.size then begin 105 104 ras = report(['The size of the file is not the expected one!', $ 106 105 'Check your file or the values of ibloc, jpiglo,', $ -
trunk/SRC/ReadWrite/readoldoparestart.pro
r327 r495 146 146 openr,numrst , iname_file, /get_lun, /swap_if_little_endian 147 147 ; check the size of the file 148 filepa mameters = fstat(numrst)148 fileparameters = fstat(numrst) 149 149 ; parameter definition 150 150 IF keyword_set(ibloc) THEN ibloc = long(ibloc) ELSE ibloc = 4096L … … 159 159 ; expected size computation 160 160 size = numrec*reclen-toomuch 161 if size NE filepa mameters.size then begin161 if size NE fileparameters.size then begin 162 162 ras = report(['The size of the file is not the expected one!', $ 163 163 'Check your file or the values of ibloc, jpiglo,', $ … … 233 233 IF arg_present(en) THEN en = read3fromopa(numrst, params, 19) 234 234 235 236 237 235 close, numrst 238 236 free_lun, numrst … … 240 238 return 241 239 end 242 243 244 240 245 241 ;CDIR$ LIST -
trunk/SRC/ReadWrite/rseries_getname.pro
r493 r495 5 5 ; the file name must follow the following pattern: 6 6 ; prefix + * +dates_description + * + suffix + *.nc 7 ; - prefix suffix are described in the input parameters bellow 7 ; - prefix suffix are described in the input parameters bellow 8 8 ; - dates_description is described in the keyword datefmt 9 9 ; … … 50 50 ; @uses 51 51 ; @cm_general for the common variable "iodir" that specify the 52 ; directory where the files are located 52 ; directory where the files are located 53 53 ; 54 54 ; @restrictions 55 ; see description part 55 ; see description part 56 56 ; 57 57 ; @examples … … 62 62 ; 63 63 ; @history 64 ; 2011-04: Creation. Sebastien Masson (smasson\@locean-ipsl.upmc.fr) 64 ; 2011-04: Creation. Sebastien Masson (smasson\@locean-ipsl.upmc.fr) 65 65 ; 66 66 ; @version … … 90 90 'yi4mi2':d1_d2 = '*y[0-9][0-9][0-9][0-9]m[0-9][0-9]*' ; yxxxxmxx 91 91 'yi4':d1_d2 = '*y[0-9][0-9][0-9][0-9]*' ; yxxxx 92 ELSE:BEGIN 92 ELSE:BEGIN 93 93 print, 'this date format is not accepted: ' + datefmt 94 94 return, '' 95 95 ENDCASE 96 96 ENDCASE 97 97 98 98 ; prefix + '*' + '_yyyymmdd_yyyymmdd_' + '*' + suffix + '*' + '.nc' 99 99 IF strlen(suffix) - strpos(suffix, '.nc', /reverse_search) EQ 3 $ … … 103 103 ; 104 104 IF nb_file EQ 0 THEN BEGIN 105 print, 'file ' + nn + ' not found' 105 print, 'file ' + nn + ' not found' 106 106 return, '' 107 107 ENDIF … … 113 113 114 114 CASE datefmt OF 115 'i8_i8':BEGIN 115 'i8_i8':BEGIN 116 116 d1_d2 = stregex(file_list[i], '[0-9]{8}_[0-9]{8}', /extract) 117 d1d2 = STRSPLIT(d1_d2, '_', /EXTRACT ) 117 d1d2 = STRSPLIT(d1_d2, '_', /EXTRACT ) 118 118 date1 = long(d1d2[0]) 119 119 date2 = long(d1d2[1]) 120 120 END 121 'i6_i6':BEGIN 121 'i6_i6':BEGIN 122 122 d1_d2 = stregex(file_list[i], '[0-9]{6}_[0-9]{6}', /extract) 123 d1d2 = STRSPLIT(d1_d2, '_', /EXTRACT ) 123 d1d2 = STRSPLIT(d1_d2, '_', /EXTRACT ) 124 124 date1 = long(d1d2[0]) 125 125 date2 = long(d1d2[1]) … … 127 127 date2 = jul2date(date2jul(date2 * 100L + 100L)) ; yyyymmdd (with dd the last day of the month) 128 128 END 129 'i4_i4':BEGIN 129 'i4_i4':BEGIN 130 130 d1_d2 = stregex(file_list[i], '[0-9]{4}_[0-9]{4}', /extract) 131 d1d2 = STRSPLIT(d1_d2, '_', /EXTRACT ) 131 d1d2 = STRSPLIT(d1_d2, '_', /EXTRACT ) 132 132 date1 = long(d1d2[0]) 133 133 date2 = long(d1d2[1]) … … 139 139 date2 = date1 140 140 END 141 'i6':BEGIN 141 'i6':BEGIN 142 142 date1 = long(stregex(file_list[i], '[0-9]{6}', /extract)) 143 143 date1 = date1 * 100L + 1L ; yyyymm01 144 144 date2 = jul2date(date2jul(date1 * 100L + 100L)) ; yyyymmdd (with dd the last day of the month) 145 145 END 146 'i4':BEGIN 146 'i4':BEGIN 147 147 date1 = long(stregex(file_list[i], '[0-9]{4}', /extract)) 148 148 date1 = date1 * 10000L + 101L ; yyyy0101 149 149 date2 = date1 * 10000L + 1231L ; yyyy1231 150 150 END 151 'yi4mi2di2_yi4mi2di2':BEGIN 151 'yi4mi2di2_yi4mi2di2':BEGIN 152 152 d1_d2 = stregex(file_list[i], 'y[0-9]{4}m[0-9]{2}d[0-9]{2}_y[0-9]{4}m[0-9]{2}d[0-9]{2}', /extract) 153 d1d2 = STRSPLIT(d1_d2, '_', /EXTRACT ) 153 d1d2 = STRSPLIT(d1_d2, '_', /EXTRACT ) 154 154 date1 = long(strjoin(strsplit(d1d2[0], '[ymd]', /extract))) 155 155 date2 = long(strjoin(strsplit(d1d2[1], '[ymd]', /extract))) 156 156 END 157 'yi4mi2_yi4mi2':BEGIN 157 'yi4mi2_yi4mi2':BEGIN 158 158 d1_d2 = stregex(file_list[i], 'y[0-9]{4}m[0-9]{2}_y[0-9]{4}m[0-9]{2}', /extract) 159 d1d2 = STRSPLIT(d1_d2, '_', /EXTRACT ) 159 d1d2 = STRSPLIT(d1_d2, '_', /EXTRACT ) 160 160 date1 = long(strjoin(strsplit(d1d2[0], '[ymd]', /extract))) 161 161 date2 = long(strjoin(strsplit(d1d2[1], '[ymd]', /extract))) … … 163 163 date2 = jul2date(date2jul(date2 * 100L + 100L)) ; yyyymmdd (with dd the last day of the month) 164 164 END 165 'yi4_yi4':BEGIN 165 'yi4_yi4':BEGIN 166 166 d1_d2 = stregex(file_list[i], 'y[0-9]{4}_y[0-9]{4}', /extract) 167 d1d2 = STRSPLIT(d1_d2, '_', /EXTRACT ) 167 d1d2 = STRSPLIT(d1_d2, '_', /EXTRACT ) 168 168 date1 = long(strjoin(strsplit(d1d2[0], '[ymd]', /extract))) 169 169 date2 = long(strjoin(strsplit(d1d2[1], '[ymd]', /extract))) … … 171 171 date2 = date2 * 10000L + 1231L ; yyyy1231 172 172 END 173 'yi4mi2di2':BEGIN 173 'yi4mi2di2':BEGIN 174 174 d1_d2 = stregex(file_list[i], 'y[0-9]{4}m[0-9]{2}d[0-9]{2}', /extract) 175 175 date1 = long(strjoin(strsplit(d1_d2, '[ymd]', /extract))) 176 176 date2 = date1 177 177 END 178 'yi4mi2':BEGIN 178 'yi4mi2':BEGIN 179 179 d1_d2 = stregex(file_list[i], 'y[0-9]{4}m[0-9]{2}_y[0-9]{4}m[0-9]{2}', /extract) 180 180 date1 = long(strjoin(strsplit(d1_d2, '[ymd]', /extract))) … … 182 182 date2 = jul2date(date2jul(date1 * 100L + 100L)) ; yyyymmdd (with dd the last day of the month) 183 183 END 184 'yi4':BEGIN 184 'yi4':BEGIN 185 185 d1_d2 = stregex(file_list[i], 'y[0-9]{4}_y[0-9]{4}', /extract) 186 186 date1 = long(strjoin(strsplit(d1_d2, '[ymd]', /extract))) … … 192 192 if date1 - date le 0 and date - date2 le 0 then filename = file_list[i] 193 193 i = i + 1 194 195 endwhile 196 197 if filename eq '' then BEGIN 194 195 endwhile 196 197 if filename eq '' then BEGIN 198 198 print, strtrim(date, 1)+' not found in the following list of files:' 199 199 FOR i = 0, nb_file-1 DO print, file_list[i] -
trunk/SRC/ReadWrite/rseries_ncdf.pro
r493 r495 45 45 ; 46 46 ; @returns 47 ; Structure readable by <pro>litchamp</pro> or an array if NOSTRUCT is 47 ; Structure readable by <pro>litchamp</pro> or an array if NOSTRUCT is 48 48 ; activated. 49 49 ; … … 65 65 ; 66 66 ; @history 67 ; 2011-04: Creation. Sebastien Masson (smasson\@locean-ipsl.upmc.fr) 67 ; 2011-04: Creation. Sebastien Masson (smasson\@locean-ipsl.upmc.fr) 68 68 ; 69 69 ; @version … … 78 78 @cm_4cal 79 79 @cm_4data 80 80 81 81 IF n_params() NE 5 THEN return, report('rseries_ncdf needs 5 parameters') 82 82 IF n_elements(sshprefix) EQ 0 THEN sshprefix = prefix 83 83 IF n_elements(sshsuffix) EQ 0 THEN sshsuffix = suffix 84 84 85 ; take care ofd the precision of the calendar parameters... 85 ; take care ofd the precision of the calendar parameters... 86 86 CASE size(date1, /type) OF 87 87 1:date1 = long(date1) … … 115 115 IF cnt NE 0 THEN BEGIN 116 116 print, file_basename(filename) 117 IF keyword_set(fileslist) THEN BEGIN 117 IF keyword_set(fileslist) THEN BEGIN 118 118 vlist = ncdf_listvars(filename) 119 IF (where(vlist EQ var_name))[0] NE -1 THEN flist = [flist, filename] ELSE BEGIN 119 IF (where(vlist EQ var_name))[0] NE -1 THEN flist = [flist, filename] ELSE BEGIN 120 120 print, var_name + 'not found in the file ' + filename 121 121 return, '' 122 ENDELSE 123 ENDIF ELSE BEGIN 122 ENDELSE 123 ENDIF ELSE BEGIN 124 124 IF keyword_set(withssh) THEN BEGIN 125 125 sshfilename = rseries_getname(sshprefix, sshsuffix, date, datefmt = datefmt) … … 132 132 ELSE tmp = read_ncdf(var_name, date, date2, filename = filename, /nostruct, ssh = ssh, _extra = ex) 133 133 IF n_elements(tmp) EQ 1 AND tmp[0] EQ -1 THEN return, -1 134 ; store the shape of the data 134 ; store the shape of the data 135 135 sz = size(tmp) 136 136 IF sz[0] GT ndims THEN BEGIN 137 137 ndims = sz[0] 138 IF ndims EQ 0 THEN shape = [-1] ELSE BEGIN 138 IF ndims EQ 0 THEN shape = [-1] ELSE BEGIN 139 139 IF jpt EQ 1 THEN shape = [sz[1:ndims], 1] ELSE shape = sz[1:ndims] 140 ENDELSE 140 ENDELSE 141 141 ENDIF 142 ; concatenate the arrays (as vectors) 142 ; concatenate the arrays (as vectors) 143 143 res = [temporary(res), (temporary(tmp))[*]] 144 144 tseries = [temporary(tseries), time] 145 ENDELSE 145 ENDELSE 146 146 ENDIF 147 147 148 148 date = jul2date(date2jul(dd2)+1) 149 149 150 150 ENDWHILE 151 151 ; 152 IF keyword_set(fileslist) THEN BEGIN 152 IF keyword_set(fileslist) THEN BEGIN 153 153 IF n_elements(flist) EQ 1 THEN return, '' ELSE return, flist[1:*] 154 154 ENDIF … … 158 158 time = tseries[1:*] 159 159 jpt = n_elements(time) 160 IF jpt EQ 1 THEN BEGIN 160 IF jpt EQ 1 THEN BEGIN 161 161 IF n_elements(shape) NE 1 THEN shape = shape[0:n_elements(shape)-2] 162 162 ENDIF ELSE shape[n_elements(shape)-1] = jpt -
trunk/SRC/ReadWrite/write_ncdf.pro
r378 r495 6 6 ;---------------------------------------------------------------------------------------------- 7 7 ; 8 ;9 8 ; secondary subroutines used in the main subroutine named : write_ncdf.pro 10 9 ; ------------------------------------------------------------------------ 11 10 ; 12 ;13 11 ;---------------------------------------------------------------------------------------------- 14 12 … … 19 17 ;---------------------------------------------------------------------------------------------- 20 18 ; 21 ; 22 ; SUBROUTINE (1)/(3) : 19 ; SUBROUTINE (1)/(3) : 23 20 ; 24 21 ; subroutine utilise ds le cas ou NOT_OUASSALU n est pas active … … 37 34 , DIMSIZESU=dimsizes, UNLIMTABAU=unlimtaba, UNLIMAU=unlima $ 38 35 , DIMIDASU=dimidas, NDIMTOTU=ndimtot, DNAMOSSU=dnamoss, DNAMAU=dnama $ 39 , IMPOSE_DNM_UNLU=impose_dnm_unl 40 36 , IMPOSE_DNM_UNLU=impose_dnm_unl 41 37 42 38 ; ------- … … 54 50 com = 'strd'+ikdp1st+' = writenc_strlc2str(supertab[ikd])' 55 51 if not execute(com) then message,'PB : writenc_unlimdim_update, loop1 on dim tot ('+ikdp1st+'), dim '+iidp1st+', var '+nviv+'... stop' 56 endfor 52 endfor 57 53 58 54 ; ------- … … 61 57 62 58 ; --> on est en train de gerer une last dim d une var avec option oneunlim_all_samesizeandlast_unlim=1, 63 ; i.e. : si une dim est definie en unlim=1 ALORS toutes les dim de meme taille ET last dim definie avant ou 59 ; i.e. : si une dim est definie en unlim=1 ALORS toutes les dim de meme taille ET last dim definie avant ou 64 60 ; apres deviennent identiques a cette dim (ne font plus qu une, selon compatibilite nom de dim ET unlimited impose ou pas) 65 61 ; 66 ; DONC - soit cette dim est unlim=0 --> - soit on a deja une dim meme taille unlimited=1 alors: Si nom+unlim_impose compatibles, 62 ; DONC - soit cette dim est unlim=0 --> - soit on a deja une dim meme taille unlimited=1 alors: Si nom+unlim_impose compatibles, 67 63 ; on passe notre dim courante a unlim=1 et elle sera assimile a celle qui 68 64 ; existe deja avec le meme nom precedent (car meme caracteristiques). Si nom+unlim incompatibles, 69 65 ; on va juste creer une nouvelle dim last not unlimited. 70 66 ; 71 ; - soit on a pas deja de dim meme taille et unlim=1, donc cas classique cette dim unlim=0 est 67 ; - soit on a pas deja de dim meme taille et unlim=1, donc cas classique cette dim unlim=0 est 72 68 ; creee ou assimilee a une existante si nom et taille compatibles 73 69 ; 74 70 ; - soit cette dim est unlim=1 --> - soit une dim unlim=1 existe deja, alors elle sera assimilee a celle-ci si noms compatibles 75 ; 76 ; - soit une dim unlim=1 existe pas deja, alors cas plus complexe : pour eventuellement 77 ; les mettre a jour, on doit parcourir les dimensions de meme taille pour separer les variables 71 ; 72 ; - soit une dim unlim=1 existe pas deja, alors cas plus complexe : pour eventuellement 73 ; les mettre a jour, on doit parcourir les dimensions de meme taille pour separer les variables 78 74 ; dont la dim en question est la last, et les variables dont la dim est not la last 79 75 ; - soit on n a pas de variables qui ont une dim de meme taille en last dim, alors pas de mise … … 94 90 ; donc WARNING pour dire qu en ajoutant des contraintes pour forcer dim unlim=0 ou 1 ou bien 95 91 ; forcer le nom de la dim, alors on levera l ambiguite. 96 97 98 99 if unlima eq 0 then begin 92 93 if unlima eq 0 then begin 100 94 101 95 ; si on a une last dim not unlim, on check si des dim meme taille unlim1 qui existent pour les utiliser as same dim … … 114 108 if (unl_imposed eq 0) and (dnames_imposed eq 0 or samnamokchgunlim) $ 115 109 then unlima=1 ; ok pn peut changer unlim de la nouvelle dim qui pourra bien etre assimilee par la suite a une dim deja existante 116 117 endif 110 111 endif 118 112 119 113 endif else begin ; unlima = 1 --> cette last dim de la var est unlim=1 et donc unl_imposed = 1 aussi … … 123 117 124 118 if aaddo[0] eq -1 then begin ; si une dim same kind pas deja definie --> update des dims precedentes ou create (sinon, on aura assimil...) 125 ; on a pas de dim meme taille avec unlim=1, donc on cherche si on a des last dims de meme taille 119 ; on a pas de dim meme taille avec unlim=1, donc on cherche si on a des last dims de meme taille 126 120 ; pour les mettre a jour question var et les rendre unlim=1 si possible ou creer un new dim unlim sinon 127 121 aabb = where(dimsizes - nn eq 0) ; et comme aucun n a same size et unlim=1 (cf au dessus) --> on tombe sur des dim unlim=0 !!!! … … 157 151 notlasdd = [ notlasdd, { u:aabb[iod]+1,v:[vnmarr[iij]],w:[ddparr[iij]] $ 158 152 ,x:[nvararr[iij]],y:[lastad[iij]] } ] 159 endelse 160 endfor 161 endfor 162 153 endelse 154 endfor 155 endfor 156 163 157 if n_elements(lasdd) ne 0 then begin ; alors on a des vars qui ont la meme dim en taille ET last dim --> update/creation faisable 164 158 165 159 listdwlast = lasdd[*].(0) 166 160 nnndz=0 … … 175 169 'ERR : attrib strdtmp 0b (dim'+strnbdo+', var'+nviv+')...stop' 176 170 ;print,'hello ',strdtmp.vardep_ndim.(3) 177 if (where(strdtmp.vardep_ndim.(3) eq 0))[0] eq -1 and impose_dnm_unl[1, listdwlast[iad]-1] eq 0 then begin 171 if (where(strdtmp.vardep_ndim.(3) eq 0))[0] eq -1 and impose_dnm_unl[1, listdwlast[iad]-1] eq 0 then begin 178 172 ; pour cette dim: que des var avec last ET son unlim est pas imposed: ok, on peut utiliser cette dim pour update 179 173 dimwzonlylast = listdwlast[iad] 180 174 nnndz = nnndz+1 181 endif 175 endif 182 176 IF iad EQ 0 THEN dimdone = [listdwlast[iad]] ELSE dimdone = [dimdone, listdwlast[iad]] 183 177 endif 184 ENDFOR 178 ENDFOR 185 179 186 180 updatevara=0 … … 194 188 ; on ajoute ces vars (si plus de 1 existe) qui ont dim unlim a la struct de dim choisie 195 189 ; 196 strnbdu = string(dimwzonlylast,format=fmtbase) 190 strnbdu = string(dimwzonlylast,format=fmtbase) 197 191 com = 'strdtmp1 = strd'+strnbdu 198 192 if not execute(com) then message, $ … … 207 201 endif else bbvdnd = strdtmp1.vardep_ndim ; ici pas d update var a faire (updatevara=0) 208 202 unlimtaba[dimwzonlylast-1] = 1 ; update de unlim !!! 209 ;si dnames_imposed=1, on a selectionne des dims de meme nom ou nom non impose, donc nomdim=dnama[iid], 203 ;si dnames_imposed=1, on a selectionne des dims de meme nom ou nom non impose, donc nomdim=dnama[iid], 210 204 ;si dnames_imposed=0, le nom de notre dim courante peut changer pour assimile a ancien nomdim dnamoss[dimwzonlylast-1] 211 205 ; -> ok gere par dnames_imposed... continue plus haut 212 if n_elements(dnama) ne 0 then dnamoss[dimwzonlylast-1] = dnama[iid] 206 if n_elements(dnama) ne 0 then dnamoss[dimwzonlylast-1] = dnama[iid] 213 207 strdtmp2={ dimid:strdtmp1.dimid,taille:strdtmp1.taille,nomdim:dnamoss[dimwzonlylast-1] $ 214 208 ,unlimz:unlimtaba[dimwzonlylast-1],vardep_ndim:bbvdnd} ; on passe en unlim=1 ICI … … 217 211 'ERR : update strd unlim dim '+strnbdu+', loop: dim'+iidp1st+', var'+nviv+'... stop 0' 218 212 strdtmp1 = 0 & strdtmp2 = 0 219 end 220 0:begin 213 end 214 0:begin 221 215 ; aucune dim ne contient que des vars en last dim --> on doit cree une new dim 222 216 ; --> la dim iidp1st = nbdimvv sera donc pas creee mais assimilee a celle-ci 223 217 ; on ne cree bien qu une seule dim au max par passage sur indice iid 224 218 225 219 ; pour creer nouvelle dim a laquelle la courante sera assimilee, il faut que les variables 226 220 ; ramenees dedans, proviennent de dim qui le permettent, vis a vis de nom de dim imposee et/ou unlim impose 227 221 noka = 0 228 for iud=0,n_elements(lasdd)-1 do begin 222 for iud=0,n_elements(lasdd)-1 do begin 229 223 if ( impose_dnm_unl[1, lasdd[iud].(0)-1 ] eq 0) then begin ; car unlim passe de 0 a 1 pour ces dim de vars 230 224 ndst = string(ndimtot, format = fmtbase) … … 232 226 if ( ( impose_dnm_unl[0, lasdd[iud].(0)-1 ] eq 0 ) or ( dnamur eq dnamoss[lasdd[iud].(0) -1]) ) then begin 233 227 if noka eq 0 then begin 234 lasddoka = [lasdd[iud]] 228 lasddoka = [lasdd[iud]] 235 229 listdwlastoka = [lasdd[iud].(0)] 236 230 endif else begin 237 231 lasddoka = [lasddoka,lasdd[iud]] 238 232 listdwlastoka = [listdwlastoka,lasdd[iud].(0)] 239 endelse 233 endelse 240 234 noka = noka + 1 241 235 endif else begin … … 244 238 else notlasddoka = [notlasdd, lasdd[iud]] 245 239 endif else notlasddoka = [notlasddoka, lasdd[iud]] 246 endelse 240 endelse 247 241 endif 248 242 endfor … … 266 260 if not execute(com) then message, 'ERR : a la def (3) de la structure de dim' $ 267 261 +iidp1st+', var'+nviv+'... stop' 268 endif ; else aucune last var de dim est ok pour aller ds la nouvelle dim creable... elle se creera toute seule apres 262 endif ; else aucune last var de dim est ok pour aller ds la nouvelle dim creable... elle se creera toute seule apres 269 263 end 270 264 else:begin … … 272 266 +'unlimited demandee)... pour ne pas choisir ou supprimer une dim, on ne change aucune dim en unlimited. ' $ 273 267 +' --> Pour lever l''ambiguite si besoin, utiliser les champs unlim et dnames pour imposer des noms ' $ 274 +'et cara teristiques de dimensions et donner plus de contraintes pour la construction du netcdf (ou bien ' $268 +'et caracteristiques de dimensions et donner plus de contraintes pour la construction du netcdf (ou bien ' $ 275 269 +'activer le mot cle /NOT_OUASSALU pour ne pas uniformiser les last dim des vars a unlimited dim).' 276 270 ;message, 'PB Z : on ne peut avoir que 0 ou max 1 dim avec que des var lasto ' $ … … 312 306 ENDIF 313 307 IF iad EQ 0 THEN dimdone = [listdwlast[iad]] ELSE dimdone = [dimdone, listdwlast[iad]] 314 ENDIF 315 endfor 316 308 ENDIF 309 endfor 310 317 311 endif ; else pas besoin de faire update sur les var car on a juste mis unlim a 1 ds dimwzonlylas 318 312 319 313 endif ; else... on n a pas de dim meme taille dont une var depend en last dim --> on va creer new dim 320 314 321 315 endif ; else... pas de dim deja definie et de meme taille, donc on va creer une new dim 322 316 323 317 endif else begin ; else... on a deja une dim de meme taille et unlim=1, donc elle DOIVENT etre les memes car une seule dim unlim=1 324 318 325 319 strnbd = string(aaddo[0]+1,format=fmtbase) 326 320 com = 'strdtmp = strd'+strnbd … … 328 322 if dnames_imposed eq 1 then if not (strdtmp.nomdim eq dnama[n_elements(dnama)-1]) then $ 329 323 message,'PB : on specifie 2 dimensions unlimited avec 2 noms differents... impossible... stop' 330 331 endelse 332 333 endelse 324 325 endelse 326 327 endelse 334 328 335 329 ;print,'d',inv,unlima … … 339 333 ; (3) re-mise en forme en supertab pour passer au prog principal 340 334 341 for ikd=0,ndimtot-1 do begin ; loop on dims pour mettre les champs vardep_ndim des struc dim en liste chainee 335 for ikd=0,ndimtot-1 do begin ; loop on dims pour mettre les champs vardep_ndim des struc dim en liste chainee 342 336 ikdp1st = string(ikd+1,format=fmtbase) 343 337 com = 'strdlc = writenc_str2strlc(strd'+ikdp1st+')' … … 349 343 350 344 ;---------------------------------------------------------------------------------------------- 351 352 353 345 ; 354 346 ;+ 355 ; SUBROUTINE (2)/(3) : 356 ; 357 ; on remplace la 4 ieme structure de structa par une liste chainee afin358 ; d uniform aiser les format de strd (cf prog write_ncdf) pour les347 ; SUBROUTINE (2)/(3) : 348 ; 349 ; on remplace la 4e structure de structa par une liste chainee afin 350 ; d uniformiser les format de strd (cf prog write_ncdf) pour les 359 351 ; passer facilement en argument au sous-prog writenc_unlimdim_update, sous forme de tablo de structures de 360 352 ; meme type !!!! (utilise si writenc_unlimdim_update est utilise i.e. dans le cas ou la cle NOT_OUASSALU … … 378 370 if nvardepa lt 1 then message,'PB : aucune var ne depend de cette dim... impossible... stop' 379 371 380 ; Create an anonymous struc utre to contain list elements. Note that372 ; Create an anonymous structure to contain list elements. Note that 381 373 ; the next field is initialized to be a null pointer. 382 374 … … 394 386 395 387 ; set the name field of 'current' to the input string. 396 388 397 389 (*current).vname = vnmarr[iidv] 398 390 (*current).numdimdep = ddparr[iidv] … … 411 403 412 404 current = next 413 414 endfor 405 406 endfor 415 407 416 408 if ptr_valid(next) then ptr_free, next … … 431 423 ;+ 432 424 ; 433 ; SUBROUTINE (3)/(3) : 425 ; SUBROUTINE (3)/(3) : 434 426 ; 435 427 ; convertit une structure contenant une liste … … 438 430 ; writenc_unlimdim_update, i.e. dans le cas ou la cle NOT_OUASSALU n 439 431 ; est pas activee, i.e. cas par defaut) 440 ;441 432 ; 442 433 ;- … … 462 453 nvararr = [ nvararr, (*current).(2) ] 463 454 lastad = [ lastad, (*current).(3) ] 464 endelse 455 endelse 465 456 466 457 ; set 'current' equal to the pointer in its own next field. … … 481 472 482 473 ;---------------------------------------------------------------------------------------------- 483 ;484 474 ; 485 475 ; END SECONDARY SUBROUTINES 486 476 ; ------------------------- 487 477 ; 488 ;489 478 ;---------------------------------------------------------------------------------------------- 490 479 491 492 493 480 ; ... ... .... ... .. . .. . 494 481 495 496 497 482 ;---------------------------------------------------------------------------------------------- 498 ;499 483 ; 500 484 ; MAIN SUBROUTINE … … 504 488 ;+ 505 489 ; 506 ; 507 ; pro write_ncdf, var01,var02,var03,var04,var05,var06,var07,var08,var09,var10 $ 490 ; pro write_ncdf, var01,var02,var03,var04,var05,var06,var07,var08,var09,var10 $ 508 491 ; ,var11,var12,var13,var14,var15,var16,var17,var18,var19,var20 $ 509 492 ; ,var21,var22,var23,var24,var25,var26,var27,var28,var29,var30 $ 510 ; ,FILENAME=filename $ 493 ; ,FILENAME=filename $ 511 494 ; ,GLOBATTR=globattr $ 512 495 ; ,VARNAME=namevquick … … 514 497 ; --------------------------------------------------------------------------------------------- 515 498 ; 516 ; @file_comments 499 ; @file_comments 517 500 ; Construct a netcdf file containing up to 30 variables of any 518 ; dimension (limited to 99 for now) with any attributes specified. 501 ; dimension (limited to 99 for now) with any attributes specified. 519 502 ; We use structures to pass the fields (var and their attributes, and 520 ; global attr) 503 ; global attr) 521 504 ; 522 505 ; @returns 523 506 ; a netcdf file containing the variable in the format specified 524 ; through keywords and variables 525 ; 526 ; @param var01 {in}{required} 507 ; through keywords and variables 508 ; 509 ; @param var01 {in}{required} 527 510 ; - It can be simply a variable (scalar or array, of type : 528 511 ; byte,int,long,float,double or string), or a structure 529 512 ; containing the variable and its properties and attributes. At 530 ; least one variable must be specified. 513 ; least one variable must be specified. 531 514 ; - If a structure is given it should be of the following form (exple): 532 515 ; vv1 = {var:xaxis,name:'nav_lon',dname:'x',at0:{a:'units',b:'degrees_east'},at1:{a:'title',b:'longitude'}} 533 516 ; vv4 = {var:rain, name:'rain', unlim:1, dname:['x','y','t'],at0:{a:'units',b:'mm/day'},at4:{a:'missing_value',b:-9999.}} 534 ; Namely, the if vv1 is a structure it MUST follow the following points: 535 ; - attributes fields for the variable (at0,at1...) MUST be the last fields of the vv1 structure 517 ; Namely, the if vv1 is a structure it MUST follow the following points: 518 ; - attributes fields for the variable (at0,at1...) MUST be the last fields of the vv1 structure 536 519 ; and name of those fields (at0,at1...) are not important. 537 ; - attributes MUST themselves be given in the form of a 2 field structure, containing the 520 ; - attributes MUST themselves be given in the form of a 2 field structure, containing the 538 521 ; name of the attribute (a string), and its value (can be any type as the ones of variable) 539 ; - order of the first fields is not important but they MUST have the names: 522 ; - order of the first fields is not important but they MUST have the names: 540 523 ; 'var' : for the variable (scalar or array, of type:byte,int,long,float,double or string) 541 524 ; 'name' : for its name (a string), default value is var01,var02 etc... 542 525 ; 'unlim' : = 1 to specify that the last dim of the var must be UNLIMITED, =0 or not specified otherwise 543 ; 'dname' : to give the names of the dimensions of the variable, in the same order as the var dimensions. 526 ; 'dname' : to give the names of the dimensions of the variable, in the same order as the var dimensions. 544 527 ; it is an array of string of dim = nbre de dim de la var. default is d01,d02 etc... 545 528 ; - the field 'var' MUST be there (a variable) but every others are optional 546 ; - if a missing value exists for the variable and one wants to specify it, it MUST be specified 547 ; somewhere in one of the attributes and the name of this attribute MUST be 'missing_value' (to be taken 529 ; - if a missing value exists for the variable and one wants to specify it, it MUST be specified 530 ; somewhere in one of the attributes and the name of this attribute MUST be 'missing_value' (to be taken 548 531 ; into account in the computing of the min-max of the variable), missing_value being not case sensitive 549 532 ; (MISSING_VALUE is also ok) 550 533 ; 551 ; @param var02, var03, .... var30 {in}{optional} 534 ; @param var02, var03, .... var30 {in}{optional} 552 535 ; All the variables/attributes to be written in the netcdf file, in 553 536 ; the same way as the var01 (cf info above) 554 537 ; 555 ; @keyword filename {in}{optional} 538 ; @keyword filename {in}{optional} 556 539 ; - a string giving the filename (including the path of the file) 557 540 ; - if not specified, it is set to iodir+'writenclem.nc' 558 541 ; 559 ; @keyword globattr {in}{optional} 542 ; @keyword globattr {in}{optional} 560 543 ; - a structure containing the global attributes for the 561 544 ; file. Similarly as for the attributes of the variable, this 562 545 ; structure contains 2-fields structures which are the global 563 546 ; attribute (first their name and second their value) 564 ; exple: glbatt = {gb1:{a:'Grid',b:'regular 0.25'},gb2:{a:'Production',b:'clem'+systime()}} 547 ; exple: glbatt = {gb1:{a:'Grid',b:'regular 0.25'},gb2:{a:'Production',b:'clem'+systime()}} 565 548 ; - if not specified in globattr, default case set production='date of 566 549 ; day' as a global attribute 567 550 ; 568 ; @keyword VARNAME {in}{optional} 551 ; @keyword VARNAME {in}{optional} 569 552 ; - an array of char, same number of elements as the number of given 570 553 ; var … … 607 590 ; ,gb5:{a:'Grid', b:'regular 0.25 degres resolution'}$ 608 591 ; } 609 ; IDL> write_ncdf, vv1, vv2, vv3, vv4, filename=fileoutnc, globattr=glbatt 610 ; 611 ; @history 592 ; IDL> write_ncdf, vv1, vv2, vv3, vv4, filename=fileoutnc, globattr=glbatt 593 ; 594 ; @history 612 595 ; CBM 2007-09-10 613 ; 614 ; @todo 615 ; clem 616 ; 617 ;- 596 ; 597 ; @todo 598 ; clem 599 ; 600 ;- 618 601 pro write_ncdf, var01,var02,var03,var04,var05,var06,var07,var08,var09,var10 $ ; RQ : if more than 30 variables is needed, simply add 619 602 ,var11,var12,var13,var14,var15,var16,var17,var18,var19,var20 $ ; var31,var32 etc... here and change nmaxvv to 32 ... 620 603 ,var21,var22,var23,var24,var25,var26,var27,var28,var29,var30 $ 621 ,FILENAME=filename $ 604 ,FILENAME=filename $ 622 605 ,GLOBATTR=globattr $ 623 606 ,VARNAME=namevquick $ … … 634 617 635 618 compile_opt idl2, strictarrsubs ; idl2 --> les entiers sont des long par defaut ET [...] obligatoire pour les tablo 636 ; strictarrsubs --> pas de depassement de tabl o619 ; strictarrsubs --> pas de depassement de tableau 637 620 638 621 @cm_general ; pour iodir si filename n est pas defini … … 652 635 ; creera qu une dim de nom 'x1' de taille n1 653 636 654 if keyword_set(flag1) then not_samedimname_in_same_var = 0 else not_samedimname_in_same_var = 1 637 if keyword_set(flag1) then not_samedimname_in_same_var = 0 else not_samedimname_in_same_var = 1 655 638 656 639 ; ------- … … 659 642 ; 0 pour definir une nouvelle dim par sa taille ET sa nature unlim, uniquement 660 643 ; 1 pour definir une nouvelle dim de la meme maniere, ET que si une dim est definie en unlim ALORS toutes les dim 661 ; de meme taille ET last dim definie avant ou apres deviennent identiques a cette dim (ne font plus qu une), plutot que de 644 ; de meme taille ET last dim definie avant ou apres deviennent identiques a cette dim (ne font plus qu une), plutot que de 662 645 ; definir, une dim de taille n0 ET not unlim en last dim de var01, ET une dim de taille n0 ET unlim=1 en last dim de var02 --> 663 646 ; on defini la meme dim de taille n0 ET unlim pour les 2 vars var01 et var02 !! (default) … … 704 687 if not(keyword_set(filename)) then ncfile=iodir+ncfile_default else ncfile=filename 705 688 706 nposdir = strpos(ncfile,'/',/reverse_search) ; --> control le de l existence du path menant au fichier689 nposdir = strpos(ncfile,'/',/reverse_search) ; --> controle de l existence du path menant au fichier 707 690 dirr=strmid(ncfile,0,nposdir+1) 708 691 if file_test(dirr,/directory) eq 0 then message,'ERR : le directory donne pour le fichier .nc n existe pas --> dir = '+dirr 709 692 710 idout = ncdf_create(ncfile,/clobber) ; --> create a netcdf file, automatically placed into define mode (/clobber = erase previous file) 693 idout = ncdf_create(ncfile,/clobber) ; --> create a netcdf file, automatically placed into define mode (/clobber = erase previous file) 711 694 ncdf_control, idout, /nofill ; --> data in the netcdf file is not pre-filled with default fill values 712 695 713 696 ; ----------------------------------------------------------------------------------------------------------- 714 697 ; 715 ; define mode --> 1ere boucle sur les vars pour trouver les dimensions a definir et leurs caracteristiques 698 ; define mode --> 1ere boucle sur les vars pour trouver les dimensions a definir et leurs caracteristiques 716 699 ; 717 700 ; ----------------------------------------------------------------------------------------------------------- … … 733 716 listofdimnams = strarr(nbvars) 734 717 ;fieldfd = intarr(nbvars) 735 718 736 719 firstdimcreated = 0 737 720 ndimtot = 0 … … 743 726 744 727 ; init de var, qui doivent etre non def si non attribuee (cf plus bas) 745 dnama = 12 & zorglub = temporary(dnama) 746 lasdd = 12 & zorglub = temporary(lasdd) 728 dnama = 12 & zorglub = temporary(dnama) 729 lasdd = 12 & zorglub = temporary(lasdd) 747 730 notlasdd = 12 & zorglub = temporary(notlasdd) 748 731 … … 755 738 ; attribution des elements de la structure ou du tablo au vars de base pour ecrire definir la var-attr ds le ncdf 756 739 ; 757 740 758 741 sstr = size(vvtmpstr) 759 742 nbdim = sstr[0] … … 763 746 if arr_struct[inv] eq -1 then message,'PB : la var numero '+nviv+' est ni un array (int, float, string etc...) ni une structure... stop' 764 747 765 case arr_struct[inv] of 748 case arr_struct[inv] of 766 749 767 750 0:begin ; --> var = scal or array of int, real, char, etc... … … 777 760 endif else begin 778 761 if nbdimvv[inv] eq 0 then ssvvdims = -12 else ssvvdims = ssvv[1:nbdimvv[inv]] 779 endelse 762 endelse 780 763 781 764 if n_elements(namevquick) eq 0 then nama[inv] = varst+nviv else nama[inv] = namevquick[inv] … … 784 767 785 768 ;dnama = zorglub ; non defini (car init avec temporary), default value fixed when dim are created (cf hereunder) 786 769 787 770 end 788 771 … … 794 777 ; controle de la forme de la structure et def des elements 795 778 796 ; 1) champ necessaire --> la variable 779 ; 1) champ necessaire --> la variable 797 780 fieldfound=0 798 781 for itg=0,nbtags[inv]-1 do begin … … 809 792 endif else begin 810 793 if nbdimvv[inv] eq 0 then ssvvdims = -12 else ssvvdims = ssvv[1:nbdimvv[inv]] 811 endelse 794 endelse 812 795 iattrv0[inv] = iattrv0[inv]+1 813 796 fieldfound=1 … … 817 800 if fieldfound eq 0 then message,'ERR : le champ ''var'' est pas ds la structure (var num'+nviv+')... stop' 818 801 819 ; 2) champ optionnel --> le nom de la var 802 ; 2) champ optionnel --> le nom de la var 820 803 fieldfound=0 821 804 for itg=0,nbtags[inv]-1 do begin … … 841 824 if unlima ne 0 and unlima ne 1 then message,'PB : unlim vaut pas 0 ou 1 pour la var num '+nviv+'... stop' 842 825 fieldfound=1 843 unl_imposed = 1 826 unl_imposed = 1 844 827 endif 845 828 if fieldfound eq 1 then break … … 857 840 +' donner autant de noms que de dims pour la var... stop' 858 841 aahh = strlen(dnama) 859 if (where(aahh eq 0))[0] eq -1 or n_elements(where(aahh eq 0)) ne n_elements(dnama) then begin 842 if (where(aahh eq 0))[0] eq -1 or n_elements(where(aahh eq 0)) ne n_elements(dnama) then begin 860 843 ; si on a pas que des chaines vides -> ok 861 844 if (where(aahh eq 0))[0] ne -1 then $ … … 863 846 if typcodvv[inv] eq 7 then dnama = ['d_strlen',dnama] ; on ajoute une dim donc un nom de dim aussi 864 847 fieldfound=1 865 dnames_imposed = 1 ; si on donne des noms de dim, alors elles seront creees a coup sur 848 dnames_imposed = 1 ; si on donne des noms de dim, alors elles seront creees a coup sur 866 849 ; (pas assimilees a d autres de meme taille ou autre...) 867 850 endif else begin 868 851 ; au cas ou on donne un tablo avec que des noms vide='', on considere que c est comme rien donner et on efface dnama 869 852 zorglub = temporary(dnama) 870 endelse 853 endelse 871 854 ;print,'dnama=',dnama 872 855 endif … … 884 867 if inv ge 1 then begin 885 868 for invloc=0,inv-1 do if nama[inv] eq nama[invloc] then message,'PB : impossible de donner 2 noms identiques a 2 vars... stop' 886 endif 887 869 endif 870 888 871 ;print,'NVIV = ',nviv 889 872 … … 907 890 ;endif 908 891 909 if firstdimcreated eq 0 then aadd = [-1] else begin 892 if firstdimcreated eq 0 then aadd = [-1] else begin 910 893 911 894 case iidp1 of 912 895 913 896 ; (1) la dim de la var is the last one --> it can be unlimited 914 897 915 nbdimvv[inv]:begin 898 nbdimvv[inv]:begin 916 899 917 900 if oneunlim_all_samesizeandlast_unlim eq 1 then begin ; --> on update/create unlimited dimensions according to this one 918 901 ptr_free,ptr_valid() 919 for ikd=0,ndimtot-1 do begin ; loop on dims pour mettre les champs vardep_ndim des struc dim en liste chainee 902 for ikd=0,ndimtot-1 do begin ; loop on dims pour mettre les champs vardep_ndim des struc dim en liste chainee 920 903 ikdp1st = string(ikd+1,format=fmtbase) 921 904 com = 'strdlc = writenc_str2strlc(strd'+ikdp1st+')' … … 926 909 , supertabu = supertab, dimsizesu=dimsizes, unlimtabau=unlimtaba, unlimau=unlima $ 927 910 , dimidasu=dimidas, ndimtotu=ndimtot, dnamossu=dnamoss, dnamau=dnama $ 928 , impose_dnm_unlu = impose_dnm_unl 929 for ikd=0,ndimtot-1 do begin ; on remet les struc avec liste chain en structures classiques du main prog 911 , impose_dnm_unlu = impose_dnm_unl 912 for ikd=0,ndimtot-1 do begin ; on remet les struc avec liste chain en structures classiques du main prog 930 913 ikdp1st = string(ikd+1,format=fmtbase) 931 914 com = 'strd'+ikdp1st+' = writenc_strlc2str(supertab[ikd])' … … 940 923 end 941 924 942 ; (2) la dim de la var is not last --> cannot be unlimited 925 ; (2) la dim de la var is not last --> cannot be unlimited 943 926 944 927 else : begin 945 928 946 929 if dnames_imposed eq 1 then $ 947 930 aadd = where(dimsizes - nn eq 0 and unlimtaba eq 0 and dnamoss eq dnama[iid]) else $ ; case sensitive sur EQ character 948 aadd = where(dimsizes - nn eq 0 and unlimtaba eq 0) 949 931 aadd = where(dimsizes - nn eq 0 and unlimtaba eq 0) 932 950 933 end 951 934 952 935 endcase 953 954 endelse 955 936 937 endelse 938 956 939 ;if inv eq 3 and iid eq 2 then begin 957 940 ;if inv eq 2 and iid eq 0 then begin 958 941 ; ;print,'aadd inv 2, iid 0 =',aadd 959 942 ; ;stop 960 ;endif 943 ;endif 961 944 962 945 if aadd[0] eq -1 then begin … … 967 950 ndst = string(ndimtot, format = fmtbase) 968 951 if firstdimcreated eq 0 and iid eq 0 then begin ; premiere dim cree 969 dimsizes = [nn] 952 dimsizes = [nn] 970 953 dimidas = [dst+ndst] 971 if iidp1 eq nbdimvv[inv] then unlimtaba = [unlima] else unlimtaba = [0] 954 if iidp1 eq nbdimvv[inv] then unlimtaba = [unlima] else unlimtaba = [0] 972 955 if n_elements(dnama) ne 0 then dnamoss = [dnama[iid]] else dnamoss = [dimidas[ndimtot-1]] 973 956 impose_dnm_unl = [dnames_imposed,unl_imposed] 974 957 firstdimcreated = 1 975 endif else begin 958 endif else begin 976 959 dimsizes = [dimsizes, nn] 977 960 dimidas = [dimidas, dst+ndst] … … 979 962 if n_elements(dnama) ne 0 then dnamoss = [dnamoss, dnama[iid]] else dnamoss = [dnamoss, dimidas[ndimtot-1]] 980 963 impose_dnm_unl = [[impose_dnm_unl],[dnames_imposed,unl_imposed]] ; tablo: ix=2, jy=ndimtot 981 endelse 964 endelse 982 965 if iidp1 eq nbdimvv[inv] then lasto=1 else lasto=0 983 966 com = 'strd'+ndst+' = { dimid:dimidas[ndimtot-1],taille:nn,nomdim:dnamoss[ndimtot-1],unlimz:unlimtaba[ndimtot-1]' $ 984 967 +',vardep_ndim:{a:[nama[inv]],b:[iidp1],c:[invp1],d:[lasto],impos:impose_dnm_unl[ndimtot-1]} } ' 985 968 if not execute(com) then message, 'ERR : a la def (1) de la structure de dim'+iidp1st+', var'+nviv+'... stop' 986 987 endif else begin 988 969 970 endif else begin 971 989 972 ; cette taille de dim existe avec same unlimited style, on checke si c est ds la meme var ou pas 990 973 991 974 nbsamedim = n_elements(aadd) ; au moins egal a 1 ou plus 992 975 993 976 if dnames_imposed eq 1 then if nbsamedim gt 1 then message,'PB : impossible d avoir 2 dim identiques deja definies... stop' 994 977 995 978 nbdsaminvar = 0 996 979 if not_samedimname_in_same_var eq 1 then begin 997 ; ci-dessous: 980 ; ci-dessous: 998 981 ; soit check 1ere dim of var: no same dim in var(nbdsaminvar=0), or elle existe deja, donc on utilise la 1ere identique 999 982 ; soit on check la last (qui peut aussi etre la 1st), et si unlim=1 alors again: no same dim in var(nbdsaminvar=0), or ... … … 1005 988 endif ; else nbdsaminvar = 0 1006 989 1007 if nbdsaminvar lt nbsamedim then begin 990 if nbdsaminvar lt nbsamedim then begin 1008 991 1009 992 ; pas besoin de creer, on peut se servir d une dim deja definie, juste mise a jour de strd de aadd[nbdsaminvar]+1 … … 1028 1011 if not execute(com) then message, 'ERR : update vardep,unlimz, dim'+strnbd+', loop: dim'+iidp1st+', var'+nviv+'... stop' 1029 1012 1030 ;if inv eq 3 and iid eq 2 then stop 1013 ;if inv eq 3 and iid eq 2 then stop 1031 1014 1032 1015 endif else if nbdsaminvar eq nbsamedim then begin 1033 1016 1034 ; on cree nouvelle dim, car cette taille de dim existe par exemple 2 fois avec 2 dimid noms differents 1017 ; on cree nouvelle dim, car cette taille de dim existe par exemple 2 fois avec 2 dimid noms differents 1035 1018 ; mais on doit en creer une troisieme (meme taille, nom different) car une var contient 3 fois cette taille de dim... 1036 1019 1037 1020 ; pour pouvoir etre ici, une condition necessaire est (car sinon nbdsaminvar=0 or nbsamedim > 0): 1038 ; not (iid eq 0 or (iidp1 eq nbdimvv[inv] and unlima eq 1)) 1021 ; not (iid eq 0 or (iidp1 eq nbdimvv[inv] and unlima eq 1)) 1039 1022 ; donc on est (pas 1ere dim of var) ET (pas last dim of var OU pas unlim=1) 1040 1023 ; donc je peux etre last dim mais alors en unlim=0 seulement, sinon je suis une dim du milieu (pas 1ere, ni last) … … 1057 1040 1058 1041 endelse 1059 1060 ; checke que l on ne vient pas de creer une 2 ieme dim differentes en unlimited...1042 1043 ; checke que l on ne vient pas de creer une 2e dim differentes en unlimited... 1061 1044 ; (ncdf_dimdef stop autrement, car une seule dim unlimited allowed) 1062 1045 1063 if n_elements(where(unlimtaba eq 1)) ge 2 then message,'ERR : une 2 ieme structure-dim unlimited (dim '+iidp1st+') vient ' $1046 if n_elements(where(unlimtaba eq 1)) ge 2 then message,'ERR : une 2e structure-dim unlimited (dim '+iidp1st+') vient ' $ 1064 1047 +'d etre creee, mais on ne peut definir qu une unique dim unlimited en netcdf... stop' 1065 1048 … … 1075 1058 ; 1076 1059 ; ------------------------------------------------------------------- 1077 1078 1060 1079 1061 ; checke que l on n a pas mis deux dimensions differentes en unlimited... (ncdf_dimdef stop autrement, une seule dim unlimited) … … 1085 1067 ; idout_of_the_dim = NCDF_DIMDEF(idout_of_the_nc_file, 'name_of_dim', n_size_of_dim) 1086 1068 ; 1087 ; EX PLES:1069 ; EXAMPLES: 1088 1070 ; 1089 1071 ; xidout = NCDF_DIMDEF(idout, 'x', n1) … … 1091 1073 ; tidout = NCDF_DIMDEF(idout, 'time', /unlimited) ; sans donner la taille de la dim !!! 1092 1074 ; 1093 ; RQ : 1094 ; 1095 ; - si on a deux dim avec le meme nom, la definition des dim renvoi tun message d erreur, OK1096 ; 1097 ; - si on definit une dim unlimited (t1idout par exemple), et si 2 var a1=fltarr(5) et a2=fltarr(7) se reclament de cette dim 1075 ; RQ : 1076 ; 1077 ; - si on a deux dim avec le meme nom, la definition des dim renvoie un message d erreur, OK 1078 ; 1079 ; - si on definit une dim unlimited (t1idout par exemple), et si 2 var a1=fltarr(5) et a2=fltarr(7) se reclament de cette dim 1098 1080 ; au moment du ncdf_vadef par id1=NCDF_VARDEF(idout,'a1',[t1idout],/FLOAT) et id2=...'a2'... ALORS la taille de la dim 1099 1081 ; unlimited sera egale a la plus grde des 2 dims (ici 7) et les valeurs pour a1[5] et a1[6]seront mises a 9.96921e+36 ds le netcdf !!! 1100 1082 ; --> ici on previent ce genre de choses, toutes les vars avec la dim unlim en dernier doivent avoir la meme taille pour 1101 ; cette dim, quitte a mettre des missing_value au prealable pour combler certains tablos a la bonne taille 1083 ; cette dim, quitte a mettre des missing_value au prealable pour combler certains tablos a la bonne taille 1102 1084 ; (plutot que des 9.96921e+36 non reconnaissable a priori) 1103 1085 ; 1104 ; - avec une var tablo avec 2 (ou plus) dim de meme taille exple: fltarr(5,5), on peut 1086 ; - avec une var tablo avec 2 (ou plus) dim de meme taille exple: fltarr(5,5), on peut 1105 1087 ; soit definir 2 dim de nom differents et de meme taille d01idout=NCDF_DIMDEF(idout,'d01',5) et d02..= 'd02' puis ncdf_vardef([d01,d02]) 1106 1088 ; soit definir UNE SEULE DIM d01idout de taille 5 et faire pour la var: ncdf_vardef(... [d01idout,d01idout] ...), aussi accepte … … 1118 1100 endfor 1119 1101 1120 1121 1102 ; ------------------------------------------------------------------- 1122 1103 ; 1123 ; define mode --> 2 ieme boucle sur les vars pour definir celles-ci1104 ; define mode --> 2e boucle sur les vars pour definir celles-ci 1124 1105 ; 1125 1106 ; ------------------------------------------------------------------- 1126 1107 1127 1108 ; commande de base pour definir une var : 1128 1109 ; 1129 1110 ; id_of_the_var = NCDF_VARDEF(id_of_the_nc_file, 'name_of_the_var', [id_of_the_dim_of_the_var_in_the_right_order], /type_of_var) 1130 1111 ; 1131 ; RQ : 1112 ; RQ : 1132 1113 ; - si on veut definir une var unlimited, ca doit etre la derniere 1133 1114 ; dim des variables. Si a2 = fltarr(n1, n4, n5, n3) alors la unlim ne … … 1135 1116 ; - si on veut definir 2 vars avec le meme nom, on a un diag error par idl, ok 1136 1117 ; 1137 ; EX PLE:1118 ; EXAMPLE: 1138 1119 ; id0 = NCDF_VARDEF(idout, 'a2', [xidout,tidout,yidout,zidout], /FLOAT) 1139 1120 ; … … 1157 1138 7:tpv[5]=1 ; char 1158 1139 else:message,'PB : le type de la var num '+nviv+' est pas accepte par ncdf idl (not byte,int,real...) ... stop' 1159 end 1140 end 1160 1141 flagstype = 'BYTE=tpv[0],SHORT=tpv[1],LONG=tpv[2],FLOAT=tpv[3],DOUBLE=tpv[4],CHAR=tpv[5]' 1161 1142 … … 1165 1146 1166 1147 for iid = 0, nbdimvv[inv]-1 do begin ; boucle sur les dims de la var ds ordre des dim de la var 1167 1148 1168 1149 iidp1 = iid+1 1169 1150 iidp1st = string(iid+1,format=fmtbase) 1170 1151 1171 1152 ndimdepfd = 0 1172 1153 for ind=0,ndimtot-1 do begin ; boucle sur les dims globales qui ont ete definies precedemment … … 1191 1172 ; --- 1192 1173 ndimdepfd=ndimdepfd + 1 1193 endif 1194 endfor 1174 endif 1175 endfor 1195 1176 1196 1177 case ndimdepfd of … … 1201 1182 end 1202 1183 else:message,'PB : on trouve plus de 1 nom de dim glob pour la dim '+iidp1st+' de la var '+nviv+'... stop' 1203 endcase 1204 1205 endfor 1184 endcase 1185 1186 endfor 1206 1187 1207 1188 listofdims='['+listofdims+'],' ; listofdims doit etre de la forme : '[...] ,' 1208 1189 1209 endif ; else listofdims = '' 1190 endif ; else listofdims = '' 1210 1191 1211 1192 com='id'+nviv+'=NCDF_VARDEF(idout,nama[inv],'+listofdims+flagstype+')' … … 1223 1204 1224 1205 com= 'vvtmpstr=var'+nviv 1225 if not execute(com) then message,'ERR : attribution de vvtmpstr, 2 ieme boucle sur les var, var num '+nviv+'... stop'1206 if not execute(com) then message,'ERR : attribution de vvtmpstr, 2e boucle sur les var, var num '+nviv+'... stop' 1226 1207 1227 1208 if nbtags[inv] gt iattrv0[inv] then begin ; --> on a des attributs en plus … … 1240 1221 missaval_flag = 1 1241 1222 missaval = attxttmp 1242 endif 1243 endfor 1223 endif 1224 endfor 1244 1225 endif 1245 1226 … … 1248 1229 ; attributs par defaut: valid_min et valid_max et infos sur missing value 1249 1230 1250 if typcodvv[inv] ne 7 then begin ; --> si var est pas un char on peut calculer min et max 1251 1231 if typcodvv[inv] ne 7 then begin ; --> si var est pas un char on peut calculer min et max 1232 1252 1233 case arr_struct[inv] of 1253 1234 0:com= 'vvtmp=var'+nviv … … 1256 1237 endcase 1257 1238 1258 if not execute(com) then message,'ERR : attribution de vvtmp, 2 ieme boucle sur les var, var num '+nviv+'... stop'1239 if not execute(com) then message,'ERR : attribution de vvtmp, 2e boucle sur les var, var num '+nviv+'... stop' 1259 1240 1260 1241 if not keyword_set(oknan) then begin … … 1263 1244 message,'PB : la var numero '+nviv+' contient des nan... pas propre ds un fichier netcdf (cf utilisation ferret et autre soft)' $ 1264 1245 +', remplacer par des missing ou bien activer le mot-cle /oknan pour tolerer l''ecriture de Nan ds le fichier nc... stop' 1265 endif 1246 endif 1266 1247 1267 1248 writevalidminmax = 1 ; a priori on va ecrire un min et max value mais si que des missing alors on ne l ecrit pas en fait … … 1278 1259 comm = 'NCDF_ATTPUT, idout, id'+nviv+', attnamtmp, attxttmp' 1279 1260 if not execute(comm) then message,'ERR : def extra attr miss val 0, var numero '+nviv+'... stop' 1280 endif 1261 endif 1281 1262 aamax = max(vvtmp,min=aamin) 1282 1263 endif else begin … … 1287 1268 comm = 'NCDF_ATTPUT, idout, id'+nviv+', attnamtmp, attxttmp' 1288 1269 if not execute(comm) then message,'ERR : def extra attr miss val 1, var numero '+nviv+'... stop' 1289 endif 1290 aamax = max(vvtmp[whhok],min=aamin) 1270 endif 1271 aamax = max(vvtmp[whhok],min=aamin) 1291 1272 endif else begin ; on a que des missing value 1292 1273 if n_elements(vvtmp) gt 1 then begin … … 1297 1278 writevalidminmax = 0 1298 1279 endif else aamax = max(vvtmp,min=aamin) 1299 endelse 1300 endelse 1280 endelse 1281 endelse 1301 1282 1302 1283 endif else begin … … 1308 1289 if not execute(comm) then message,'ERR : def extra attr miss val 3, var numero '+nviv+'... stop' 1309 1290 1310 endelse 1311 1291 endelse 1292 1312 1293 if writevalidminmax then begin 1313 1294 attnamtmp = 'valid_min' … … 1319 1300 endif 1320 1301 1321 endif 1302 endif 1322 1303 1323 1304 endfor … … 1331 1312 attprod = 0 1332 1313 1333 if n_elements(globattr) ne 0 then begin ; --> on a prescrit des attributs globaux 1334 1314 if n_elements(globattr) ne 0 then begin ; --> on a prescrit des attributs globaux 1315 1335 1316 if (size(globattr))[0] ne 1 or (size(globattr))[2] ne 8 then message, 'PB : les global attr doivent etre donne sous forme de struct... stop' 1336 1317 nbtagsgb = n_tags(globattr) … … 1348 1329 endif 1349 1330 1350 if attprod eq 0 then begin 1331 if attprod eq 0 then begin 1351 1332 producta = systime() 1352 1333 NCDF_ATTPUT, idout, 'Production', producta, /GLOBAL … … 1358 1339 ; 1359 1340 ; -------------------------------------------------------- 1360 1361 1341 1362 1342 NCDF_CONTROL, idout, /ENDEF ; --> take the open netCDF file out of define mode and into data mode 1363 1343 1364 1365 1344 ; -------------------------------------------------------- 1366 1345 ; 1367 ; Ecriture des variables 1346 ; Ecriture des variables 1368 1347 ; 1369 1348 ; -------------------------------------------------------- 1370 1349 1371 1372 1350 for inv=0,nbvars-1 do begin 1373 1351 1374 1352 nviv=string(inv+1,format='(i2.2)') 1375 1353 1376 1354 case arr_struct[inv] of 1377 1355 0: comm = 'NCDF_VARPUT, idout, id'+nviv+', var'+nviv ; --> tablo … … 1380 1358 endcase 1381 1359 1382 if writeout and inv eq 0 then print,'Writing fields : ' 1360 if writeout and inv eq 0 then print,'Writing fields : ' 1383 1361 if writeout then print,' '+nama[inv]+'['+listofdimnams[inv]+'] = var'+nviv 1384 1362 … … 1389 1367 ; -------------------------------------------------------- 1390 1368 ; 1391 ; Fermeture fichier netcdf 1369 ; Fermeture fichier netcdf 1392 1370 ; 1393 1371 ; -------------------------------------------------------- 1394 1372 1395 1373 NCDF_CLOSE, idout 1396 1374 1397 if writeout then print,'Written to '+ncfile 1375 if writeout then print,'Written to '+ncfile 1398 1376 if writeout then print,'------------------------' 1399 1377 … … 1402 1380 ; -------------------------------------------------------- 1403 1381 1404 end 1382 end 1405 1383 1406 1384 ; exemples of var attr : 1407 1385 ; ----------------------- 1408 ; rain:units = "mm/day" 1409 ; rain:valid_min = -32700 1410 ; rain:valid_max = 32700 1411 ; rain:valid_range = -32700, 32700 1412 ; rain:standard_name = "rain1" 1386 ; rain:units = "mm/day" 1387 ; rain:valid_min = -32700 1388 ; rain:valid_max = 32700 1389 ; rain:valid_range = -32700, 32700 1390 ; rain:standard_name = "rain1" 1413 1391 ; rain:long_name = "monthly precipitation by merging gauge, 5 kinds of satellite estimates (GPI,OPI,SSM/I scattering, SSM/I emission and MSU)" 1414 1392 ; rain:title = "monthly precipitation by merging gauge, 5 kinds of satellite estimates (GPI,OPI,SSM/I scattering, SSM/I emission and MSU)" 1415 ; rain:add_offset = 31.7f 1416 ; rain:scale_factor = 0.001f 1417 ; rain:missing_value = -1.f 1418 ; rain:lon = "nav_lon" 1419 ; rain:lat = "nav_lat" 1420 1393 ; rain:add_offset = 31.7f 1394 ; rain:scale_factor = 0.001f 1395 ; rain:missing_value = -1.f 1396 ; rain:lon = "nav_lon" 1397 ; rain:lat = "nav_lat" 1398 1421 1399 ; exemples of global attr : 1422 1400 ; -------------------------- 1423 1401 ; 1424 ; File_Name : trmm_1d_19980101_19981231_reg0.25.nc 1402 ; File_Name : trmm_1d_19980101_19981231_reg0.25.nc 1425 1403 ; Model_Name : TRMM 3B42_V6 derived product 1426 1404 ; Source_File : ftp://disc2.nascom.nasa.gov/data/TRMM/Gridded/Derived_Products/3B42_V6/Daily/'+iyystr+'/*.bin' … … 1446 1424 ; ; Attributs globaux 1447 1425 ; NCDF_ATTPUT, idout, 'title', 'Weekly Topex/ers sea surface anomaly from oct 14th 1992 to feb 13th 2002', /GLOBAL 1448 ; NCDF_ATTPUT, idout, 'production', 'Cl ément de Boyer (cdblod@lodyc.jussieu.fr)', /GLOBAL1426 ; NCDF_ATTPUT, idout, 'production', 'Clement de Boyer (cdblod@lodyc.jussieu.fr)', /GLOBAL 1449 1427 ; ;NCDF_ATTPUT, idout, 'description' $ 1450 1428 ; ; , ' ncecat 488 files of Topex/ers data on Indian Ocean and add a time counter', /GLOBAL … … 1470 1448 ; NCDF_ATTPUT, idout, id1, 'long_name', 'Latitude at t-point' 1471 1449 ; ; 1472 ; ; Attributs variable 2 : 1473 ; NCDF_ATTPUT, idout, id2, 'units', origt 1450 ; ; Attributs variable 2 : 1451 ; NCDF_ATTPUT, idout, id2, 'units', origt 1474 1452 ; NCDF_ATTPUT, idout, id2, 'calendar','leap' 1475 1453 ; NCDF_ATTPUT, idout, id2, 'title', 'Time' … … 1494 1472 ; NCDF_ATTPUT, idout, id3, 'short_name', 'sla' 1495 1473 ; ; 1496 ; ; fin def des variables 1474 ; ; fin def des variables 1497 1475 ; NCDF_CONTROL, idout, /ENDEF 1498 1476 ; ; 1499 ; ; Ecriture des variables 1477 ; ; Ecriture des variables 1500 1478 ; NCDF_VARPUT, idout, id0, lon ; la longitude, var 0 1501 1479 ; NCDF_VARPUT, idout, id1, lat ; la latitude, var 1 1502 1480 ; NCDF_VARPUT, idout, id2, ttt ; le time (calendrier), var 2 1503 1481 ; NCDF_VARPUT, idout, id3, vv ; la vv, var 3 1504 ; ; 1505 ; ; Fermeture fichier netcdf 1482 ; ; 1483 ; ; Fermeture fichier netcdf 1506 1484 ; NCDF_CLOSE, idout 1507 1485 1508 1509 1510 1511 ; EXPLE de ncdf quickwrite... bof quoi...: 1486 ; EXAMPLE de ncdf quickwrite... bof quoi...: 1512 1487 ; 1513 1488 ; ncfile='!my.nc' … … 1517 1492 ; g_attr={units:'m s-2'} 1518 1493 ; globattr={source:'My program',version:2} 1519 ; 1494 ; 1520 1495 ; ncfields = 'pressure[longitude,latitude,time]=p:press_attr; ' $ 1521 1496 ; + 'longitude[]=lons:angle_attr; ' $ … … 1524 1499 ; + 'year[*time]=yr; ' $ 1525 1500 ; + 'g=9.8:g_attr @ globattr' 1526 ; 1501 ; 1527 1502 ; @ncdf_quickwrite 1528 1503 ; -
trunk/SRC/ReadWrite/write_oasis.pro
r493 r495 56 56 ; ysz = 100L 57 57 ; recsz8 = 16L * jpio * jpjo * 8L 58 ; FOR i = 0L, jpjo-1L, ysz DO BEGIN 58 ; FOR i = 0L, jpjo-1L, ysz DO BEGIN 59 59 ; ii = (i+ysz-1L) < (jpjo-1L) 60 60 ; position = (4L + 8L + 4L + 4L)*(i NE 0) + 16L * jpio * i * 8L 61 ; weig = .... 61 ; weig = .... 62 62 ; write_oasis, fa2ou, 'WEIGHTS3', temporary(weig), /temporary, append = i NE 0, header = i EQ 0 $ 63 63 ; , ending = ii EQ jpjo-1, recsize = recsz8, position = position 64 64 ; ENDFOR 65 ;66 65 ; 67 66 ; @history … … 92 91 writeu, unit, long(recsize) 93 92 ENDIF 94 ENDIF ELSE BEGIN 93 ENDIF ELSE BEGIN 95 94 writeu, unit, string(varname, format = '(a8)') 96 ENDELSE 95 ENDELSE 97 96 98 97 IF keyword_set(temporary) THEN BEGIN … … 104 103 ELSE: writeu, unit, double(temporary(z2d)) 105 104 ENDCASE 106 ENDIF ELSE BEGIN 105 ENDIF ELSE BEGIN 107 106 CASE 1 OF 108 107 keyword_set(i2):writeu, unit, fix( z2d) … … 112 111 ELSE: writeu, unit, double(z2d) 113 112 ENDCASE 114 ENDELSE 113 ENDELSE 115 114 116 115 IF keyword_set(recsize) AND keyword_set(ending) THEN writeu, unit, long(recsize) -
trunk/SRC/Tests/TestsOld/tst_initorca05_index_stride_old.pro
r325 r495 13 13 ; $Id$ 14 14 ; 15 ; @todo 15 ; @todo 16 16 ; find the right way to avoid 17 17 ; IDLDOC: unknown tag "file_comments" in file tst_initorca05_index_stride_old.pro -
trunk/SRC/Tests/TestsOld/tst_plt_old.pro
r327 r495 97 97 cnt = cnt + 1 98 98 99 100 99 return 101 100 end -
trunk/SRC/Tests/makeold.sh
r430 r495 3 3 for i in tst_*.pro 4 4 do 5 new=$( basename $i .pro )6 sed -e "/@update/d" \5 new=$( basename $i .pro ) 6 sed -e "/@update/d" \ 7 7 -e "s/@cm_4mesh/@common/g" \ 8 8 -e "s/@cm_4cal/@common/g" \ … … 31 31 for i in $( egrep -il "^ *(pro|function) .*," *.pro ) 32 32 do 33 a=$( egrep -ih "^ *(pro|function) .*," $i )34 b=${a%%,*}_old,${a#*,}35 sed -e "s/${a}/${b}/" $i > tmp_$$36 mv tmp_$$ $i33 a=$( egrep -ih "^ *(pro|function) .*," $i ) 34 b=${a%%,*}_old,${a#*,} 35 sed -e "s/${a}/${b}/" $i > tmp_$$ 36 mv tmp_$$ $i 37 37 done -
trunk/SRC/Tests/tst_plt.pro
r371 r495 8 8 ; 9 9 ; @examples 10 ; 10 ; 11 11 ; To run test with Levitus temperature on a regular 1x1 grid : 12 12 ; IDL> @tst_initlev … … 103 103 cnt = cnt + 1 104 104 105 106 105 return 107 106 end -
trunk/SRC/Tests/tst_pltt.pro
r371 r495 8 8 ; 9 9 ; @examples 10 ; 10 ; 11 11 ; To run test with Levitus temperature on a regular 1x1 grid : 12 12 ; IDL> @tst_initlev -
trunk/SRC/Tests/tst_pltt_zero.sh
r484 r495 13 13 # ======== 14 14 # 15 # ::16 # 17 # tst_pltt_zero.sh --save_image y|n15 # .. code-block:: bash 16 # 17 # tst_pltt_zero.sh --save_image saveimage 18 18 # 19 19 # DESCRIPTION … … 22 22 # Run :ref:`tst_pltt_zero.pro` 23 23 # 24 # We suppose here that all inputs data are already available localy. 25 # 26 # .. option:: --save_image y|n 24 # We suppose here that all inputs data are already available locally. 25 # 26 # .. option:: --save_image <save_image> 27 # 28 # y or n 27 29 # 28 30 # Some IDL programs are launched here using ${IDL_CMD} command … … 41 43 # digraph tst_pltt_zero { 42 44 # 43 # log [shape=ellipse,fontname=Courier,label="${PROJECT_LOG}/tst_pltt_zero.log{YYYYMMDDTHHMMSSZ}"]; 45 # log [shape=ellipse, 46 # fontname=Courier, 47 # label="${PROJECT_LOG}/tst_pltt_zero.log{YYYYMMDDTHHMMSSZ}"]; 44 48 # 45 49 # tst_pltt_zero_sh [shape=box, … … 62 66 # ======== 63 67 # 64 # To test in foreground:: 65 # 66 # tst_pltt_zero.sh --save_image y 67 # 68 # To test in background:: 69 # 70 # tst_pltt_zero.sh --save_image y & 71 # 72 # And look at log file with:: 73 # 74 # $ tlogd.sh tst_pltt_zero 68 # To test in foreground: 69 # 70 # .. code-block:: bash 71 # 72 # tst_pltt_zero.sh --save_image y 73 # 74 # To test in background: 75 # 76 # .. code-block:: bash 77 # 78 # tst_pltt_zero.sh --save_image y & 79 # 80 # And look at log file with: 81 # 82 # .. code-block:: bash 83 # 84 # tlogd.sh tst_pltt_zero 75 85 # 76 86 # and of course on image files in imagedir define in ${IDL_STARTUP} … … 102 112 # - fplod 20130802T101039Z cratos.locean-ipsl.upmc.fr (Linux) 103 113 # 104 # * creation to check difference between behaviour of tst_pltt_zero.pro 114 # * creation to check difference between behaviour of tst_pltt_zero.pro 105 115 # in an IDL session, in a shell session foreground and background 106 116 # … … 108 118 system=$(uname) 109 119 case "${system}" in 110 AIX|IRIX64)111 echo "${command} : ${LINENO} : www : no specific posix checking"112 date_cmd=date113 ;;114 Darwin)115 set -o posix116 date_cmd=gdate117 ;;118 Linux)119 set -o posix120 date_cmd=date121 ;;120 AIX|IRIX64) 121 echo "${command} : ${LINENO} : www : no specific posix checking" 122 date_cmd=date 123 ;; 124 Darwin) 125 set -o posix 126 date_cmd=gdate 127 ;; 128 Linux) 129 set -o posix 130 date_cmd=date 131 ;; 122 132 *) 123 133 set -o posix … … 145 155 if [ ${#} -lt ${minargcount} ] 146 156 then 147 echo "${command} : ${LINENO} : eee : not enoughtarguments"148 echo "${usage}"149 exit 1157 echo "${command} : ${LINENO} : eee : not enough arguments" 158 echo "${usage}" 159 exit 1 150 160 fi 151 161 unset minargcount … … 153 163 while [ ${#} -gt 0 ] 154 164 do 155 case ${1} in156 --save_image)157 save_image=${2}158 shift159 ;;160 -h)161 echo "${usage}"162 exit 0163 ;;164 *)165 # other choice166 echo "${command} : ${LINENO} : eee : unknown option ${1}"167 echo "${usage}"168 exit 1169 ;;170 esac171 # next flag172 shift165 case ${1} in 166 --save_image) 167 save_image=${2} 168 shift 169 ;; 170 -h) 171 echo "${usage}" 172 exit 0 173 ;; 174 *) 175 # other choice 176 echo "${command} : ${LINENO} : eee : unknown option ${1}" 177 echo "${usage}" 178 exit 1 179 ;; 180 esac 181 # next flag 182 shift 173 183 done 174 184 unset usage … … 182 192 if [ ${status} -ne 0 ] 183 193 then 184 echo "${command} : ${LINENO} : eee : tool ${tool} not found"185 echo "${command} : ${LINENO} : eee : check project_profile.sh sequence"186 exit 1194 echo "${command} : ${LINENO} : eee : tool ${tool} not found" 195 echo "${command} : ${LINENO} : eee : check project_profile.sh sequence" 196 exit 1 187 197 fi 188 198 unset status … … 192 202 if [ ! -w ${PROJECT_LOG} ] 193 203 then 194 echo "${command} : ${LINENO} : eee : ${PROJECT_LOG} not writable"195 exit 1204 echo "${command} : ${LINENO} : eee : ${PROJECT_LOG} not writable" 205 exit 1 196 206 fi 197 207 # … … 215 225 if [ "${save_image}" == "y" ] 216 226 then 217 image_arg=", IMAGE=\"${command}\""227 image_arg=", IMAGE=\"${command}\"" 218 228 else 219 image_arg=""229 image_arg="" 220 230 fi 221 231 # build IDL script … … 251 261 if [ ${status} -ne 0 ] 252 262 then 253 echo "${command} : ${LINENO} : eee: ${IDL_CMD} failed : ${status}" >> ${log} 2>&1254 cat ${MY_IDL}/tst_pltt_zero_${$}.pro >> ${log} 2>&1255 exit 1263 echo "${command} : ${LINENO} : eee: ${IDL_CMD} failed : ${status}" >> ${log} 2>&1 264 cat ${MY_IDL}/tst_pltt_zero_${$}.pro >> ${log} 2>&1 265 exit 1 256 266 fi 257 267 unset status -
trunk/SRC/Tests/tst_pltz.pro
r371 r495 6 6 ; 7 7 ; @keyword IMAGE 8 ;9 8 ; 10 9 ; @examples -
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) -
trunk/SRC/Utilities/createfunc.pro
r375 r495 6 6 ; 7 7 ; @param command {in}{required} {type=scalar string} 8 ; defining the result to be given back by the function. 8 ; defining the result to be given back by the function. 9 9 ; (see examples) 10 10 ; … … 12 12 ; name of the function to be created. 13 13 ; 14 ; @keyword KWDLIST {in} {type=vector string} 15 ; to specify a list of keywords that must be included in the 16 ; function definition. 14 ; @keyword KWDLIST {in} {type=vector string} 15 ; to specify a list of keywords that must be included in the 16 ; function definition. 17 17 ; 18 ; Warning: the string must start with a ',' 18 ; Warning: the string must start with a ',' 19 19 ; for example: KWDLIST=', TOTO=toto' 20 20 ; 21 ; @keyword _EXTRA 21 ; @keyword _EXTRA 22 22 ; Used to pass keywords to the created function. 23 23 ; -
trunk/SRC/Utilities/createpro.pro
r493 r495 5 5 ; 6 6 ; @param command {in}{required}{type=string array} 7 ; array defining the procedure to be created. 7 ; array defining the procedure to be created. 8 8 ; each element will be a line of the created procedure. 9 9 ; … … 12 12 ; 13 13 ; @keyword KWDLIST {in} {type=vector string} 14 ; to specify a list of keywords that must be included in the procedure 15 ; definition. 14 ; to specify a list of keywords that must be included in the procedure 15 ; definition. 16 16 ; 17 ; Warning: the string must start with a ',' 17 ; Warning: the string must start with a ',' 18 18 ; for example: KWDLIST=', TOTO = toto' 19 19 ; 20 ; @keyword KWDUSED 20 ; @keyword KWDUSED 21 21 ; obsolete, please pass directly your keywords through _EXTRA 22 22 ; 23 ; @keyword _EXTRA 23 ; @keyword _EXTRA 24 24 ; Used to pass keywords to the created procedure. 25 25 ; … … 40 40 ; Sebastien Masson (smasson\@lodyc.jussieu.fr) 41 41 ; - cleaning + new keywords: October 2005 42 ; - Feb. 2006: suppress keyword "kwdused" and use call_procedure instead of 42 ; - Feb. 2006: suppress keyword "kwdused" and use call_procedure instead of 43 43 ; execute 44 44 ; -
trunk/SRC/Utilities/def_myuniquetmpdir.pro
r371 r495 5 5 ; (common variable from cm_general) and add it to !path 6 6 ; 7 ; @categories 7 ; @categories 8 8 ; Utilities 9 9 ; … … 45 45 IF nouniq[0] NE -1 THEN BEGIN 46 46 allpro = find('*.pro', iodirectory = !path, /onlypro) 47 nall = n_elements(allpro) 47 nall = n_elements(allpro) 48 48 allpro = strmid(allpro, reform(strpos(allpro, '/', /reverse_search), 1, nall)+1) 49 49 nouniqpro = different(lindgen(nall), uniq(allpro, sort(allpro))) 50 IF nouniqpro[0] NE -1 THEN BEGIN 50 IF nouniqpro[0] NE -1 THEN BEGIN 51 51 nouniqcnt = n_elements(nouniq) 52 52 nouniqprocnt = n_elements(nouniqpro) -
trunk/SRC/Utilities/demomode_compatibility.pro
r371 r495 37 37 ; update the path cache to include cm_demomode_used 38 38 path_cache, /rebuild 39 39 40 40 return 41 41 END -
trunk/SRC/Utilities/find.pro
r375 r495 57 57 ; 58 58 ; @keyword TRYFIND 59 ; if the file was not found and this keyword is activated, <pro>find</pro> 59 ; if the file was not found and this keyword is activated, <pro>find</pro> 60 60 ; will call 61 61 ; itself with the keywords /LOOKALLDIR and /FIRSTFOUND to try to find -
trunk/SRC/Utilities/fitintobox.pro
r388 r495 89 89 ; @param lastz {in}{optional}{default=define by <pro>grille</pro>} 90 90 ; 91 ; @keyword GRID {default=vargrid defined in <pro>cm_4data</pro>} 91 ; @keyword GRID {default=vargrid defined in <pro>cm_4data</pro>} 92 92 ; To specify on which grid are located the data, see <pro>grille</pro> 93 93 ; -
trunk/SRC/Utilities/isadirectory.pro
r493 r495 6 6 ; 7 7 ; @categories 8 ; Input/Output 8 ; Input/Output 9 9 ; 10 10 ; @param DIRECTORYIN {in}{optional} -
trunk/SRC/Utilities/isafile.pro
r493 r495 3 3 ; @file_comments 4 4 ; same as <pro>find</pro> except that as long as the file is 'NOT FOUND', 5 ; <pro>isafile</pro> calls 5 ; <pro>isafile</pro> calls 6 6 ; <proidl>DIALOG_PICKFILE</proidl>, to ask the user to select a file. 7 7 ; -
trunk/SRC/Utilities/lineintersection.pro
r375 r495 24 24 ; @returns 25 25 ; 2 possibilities: 26 ; 1) by default: it is a vector of complex whose each element is the 26 ; 1) by default: it is a vector of complex whose each element is the 27 27 ; coordinates of the intersection point of a pair of straight lines. 28 28 ; 2) if FLOAT is activated, it is a array of reals of dimension 2, -
trunk/SRC/Utilities/mergeonline_help.pro
r493 r495 8 8 ; 9 9 ; @restrictions 10 ; Needs at least version greater than 6.2 and lower than 7, 10 ; Needs at least version greater than 6.2 and lower than 7, 11 11 ; 12 12 ; @history -
trunk/SRC/Utilities/report.pro
r493 r495 16 16 ; activate to print only the message without the name 17 17 ; and the line of the routine (defined by calling <pro>routine_name</pro>) 18 ; or++ 18 ; or++ 19 19 ; Activate to print the error message without printing the routine name with 20 20 ; its full path. … … 25 25 ; @keyword QUESTION {default="Warning"} 26 26 ; Set this keyword to create a "Question" dialog. 27 ; If batch mode is detected, answer to be given is ANSWER_BATCH if exists or 27 ; If batch mode is detected, answer to be given is ANSWER_BATCH if exists or 28 28 ; the default one (see DEFAULT_NO keyword). 29 29 ; … … 37 37 ; 38 38 ; @keyword _EXTRA 39 ; Used to pass keywords to <proidl>DIALOG_MESSAGE</proidl> and 39 ; Used to pass keywords to <proidl>DIALOG_MESSAGE</proidl> and 40 40 ; <proidl>MESSAGE</proidl> 41 41 ; … … 75 75 ; answer = report(question, /default_no, /question) 76 76 ; 77 ;78 77 ; If widgets are already activated, it is the same thing but with widgets! 79 78 ; … … 84 83 ; * add ANSWER_BATCH keyword and handle key_batch 85 84 ; 86 ; - Sebastien Masson (smasson\@lodyc.jussieu.fr) 21/10/1999 85 ; - Sebastien Masson (smasson\@lodyc.jussieu.fr) 21/10/1999 87 86 ; 88 87 ; @version … … 120 119 ; we get the line, routine name and revision version 121 120 IF NOT keyword_set(simple) THEN BEGIN 122 ; Look for the revision in the code of the procedure/function calling this 121 ; Look for the revision in the code of the procedure/function calling this 123 122 ; report function (ie the one where an problem was detected) in the first 124 123 ; occurrence of the form : 125 124 ; "; $Id$" 126 125 prefix = routine_name(1) 127 split = STRSPLIT(prefix, ' ', /EXTRACT, count = cnt) 126 split = STRSPLIT(prefix, ' ', /EXTRACT, count = cnt) 128 127 IF cnt GT 1 THEN BEGIN 129 128 coderoutine = getfile(split[1]) … … 170 169 ENDELSE 171 170 ENDELSE 172 171 173 172 answer = strlowcase(answer) ; 174 173 ; if the answer is not appropriated -
trunk/SRC/Utilities/routine_name.pro
r493 r495 16 16 ; 17 17 ; @restrictions 18 ; This function use the keyword OUTPUT in <proidl>HELP</proidl> and 18 ; This function use the keyword OUTPUT in <proidl>HELP</proidl> and 19 19 ; it is specified 20 20 ; in the on-line help that the return syntax of this word can change in … … 72 72 ; we choose the line which concern us. 73 73 if NOT keyword_set(pilingnum) THEN pilingnum = 0 74 if pilingnum GE n_elements(name) THEN BEGIN 74 if pilingnum GE n_elements(name) THEN BEGIN 75 75 return, '$MAIN$' 76 76 ENDIF 77 77 name = name[pilingnum] 78 if strpos(name, '$MAIN$') NE -1 THEN BEGIN 78 if strpos(name, '$MAIN$') NE -1 THEN BEGIN 79 79 return, '$MAIN$' 80 80 ENDIF 81 81 name = str_sep(name, ' ') 82 82 if n_elements(name) LT 3 THEN BEGIN 83 name = name[0] 83 name = name[0] 84 84 ENDIF ELSE BEGIN 85 85 name = 'L.'+name[1]+' '+name[2] -
trunk/SRC/Utilities/set_default_device.pro
r493 r495 38 38 ; 39 39 ; define key_batch if it not already done... 40 IF n_elements(batch) EQ 0 THEN BEGIN 40 IF n_elements(batch) EQ 0 THEN BEGIN 41 41 IF n_elements(key_batch) EQ 0 THEN BEGIN ; if not already defined 42 42 fstat0_structure = FSTAT(0) ; automatic definition … … 49 49 ; nb of colors is set to 8 in order to allow color number from 0 to 256 50 50 device, SET_PIXEL_DEPTH = 8, Z_BUFFERING = 0 51 ENDIF ELSE BEGIN 51 ENDIF ELSE BEGIN 52 52 thisOS = strupcase(strmid(!version.os_family, 0, 3)) 53 53 CASE thisOS of -
trunk/SRC/Utilities/testvar.pro
r371 r495 2 2 ; 3 3 ; @file_comments 4 ; A kind of <proidl>KEYWORD_SET</proidl> but when the value exist, it 4 ; A kind of <proidl>KEYWORD_SET</proidl> but when the value exist, it 5 5 ; send it back. 6 6 ; -
trunk/SRC/Utilities/text_box.pro
r375 r495 20 20 ; 21 21 ; @keyword BG_COLOR 22 ; background color. 22 ; background color. 23 23 ; Setting BG_COLOR erases the area 24 24 ; covered by the text box (filling it with color BG_COLOR) … … 71 71 nny=[0., 1.]*!d.y_vsize 72 72 73 74 73 if n_elements(pos) eq 0 then begin 75 74 … … 82 81 ',pos=[',pos[0],',',pos[1],',',pos[2],',',pos[3],']') 83 82 print,strcompress(posstring,/remove_all) 84 85 83 86 84 endif else begin -
trunk/SRC/buildinit.pro
r479 r495 149 149 RETURN, Base 150 150 END 151 ;152 151 ; 153 152 ;+ … … 203 202 END 204 203 ; 205 ;206 204 ;+ 207 205 ; … … 252 250 ; @categories 253 251 ; 254 ; @param event 252 ; @param event 255 253 ; 256 254 ; @returns … … 362 360 RETURN, dir 363 361 END 364 ;365 362 ; 366 363 ;+ … … 405 402 init = [';' $ 406 403 , '; This is the initialisation file.' $ 407 , '; it defines the !path and the defau t values of some of the common variables' $404 , '; it defines the !path and the default values of some of the common variables' $ 408 405 , ';' $ 409 406 , '; this is supposed to speed-up IDL...' $
Note: See TracChangeset
for help on using the changeset viewer.