Changeset 231 for trunk/SRC


Ignore:
Timestamp:
03/19/07 18:15:51 (17 years ago)
Author:
pinsard
Message:

improvements/corrections of some *.pro headers

Location:
trunk/SRC
Files:
290 edited

Legend:

Unmodified
Added
Removed
  • trunk/SRC/Calendar/caldat.pro

    r205 r231  
    33; @file_comments 
    44; Return the calendar date and time given julian date. 
    5 ; This is the inverse of the function JULDAY. 
    6 ; 3 calendars are available according to the value of key_caltype  
     5; This is the inverse of the function 
     6; <pro>julday</pro>. 
     7; 3 calendars are available according to the value of key_caltype 
    78; (variable of the common file cm_4cal): 'greg', '360d', 'noleap' 
    89; 
    910; @categories Calendar 
    1011; 
    11 ; @param JULIAN {in}{required}  
     12; @param JULIAN {in}{required} {type=long integer} 
    1213; contains the Julian Day Number (which begins at noon) of the 
    13 ; specified calendar date.  It should be a long integer. 
    14 ; 
    15 ; @param MONTH {out}  
     14; specified calendar date. 
     15; 
     16; @param MONTH {out} {type=integer} 
    1617; Number of the desired month (1 = January, ..., 12 = December). 
    1718; 
    18 ; @param DAY {out}  
     19; @param DAY {out} {type=integer} 
    1920; Number of day of the month. 
    2021; 
    21 ; @param YEAR {out}  
     22; @param YEAR {out} {type=integer} 
    2223; Number of the desired year. 
    2324; 
    24 ; @param HOUR {out}  
     25; @param HOUR {out} {type=integer} 
    2526; Hour of the day 
    2627; 
    27 ; @param Minute {out}  
     28; @param Minute {out} {type=integer} 
    2829; Minute of the day 
    2930; 
    30 ; @param Second {out}  
     31; @param Second {out} {type=float} 
    3132; Second (and fractions) of the day. 
    3233; 
    33 ; @keyword NDAYSPM {default=30}  
    34 ; To use a calendar with fixed number of days per months. 
     34; @keyword NDAYSPM {type=integer} {default=30} 
     35; To use a calendar with fixed number of days per month. 
    3536; see also the use of key_caltype (variable of the common file cm_4cal) 
    3637; 
    3738; @uses cm_4cal 
    3839; 
    39 ; @restrictions  
    40 ; Accuracy using IEEE double precision numbers is approximately 1/10000th of a  
     40; @restrictions 
     41; Accuracy using IEEE double precision numbers is approximately 1/10000th of a 
    4142; second. 
    4243; 
    43 ; @history  
     44; @history 
    4445; Translated from "Numerical Recipies in C", by William H. Press, 
    4546; Brian P. Flannery, Saul A. Teukolsky, and William T. Vetterling. 
     
    5556; AB, 3 January 2000, Make seconds output as DOUBLE in array output. 
    5657; 
    57 ; Sebastien Masson, May 2006, add different calendat with key_caltype  
     58; Sebastien Masson, May 2006, add different calendar with key_caltype 
    5859; (variable of the common file cm_4cal) 
    5960; 
    60 ; @version $Id$ 
     61; @version 
     62; $Id$ 
    6163;- 
     64; 
    6265pro caldat, julian, month, day, year, hour, minute, second, NDAYSPM = ndayspm 
    63 ;------------------------------------------------------------ 
     66; 
    6467@cm_4cal 
    65 ;------------------------------------------------------------ 
    66   COMPILE_OPT idl2 
     68; 
     69  compile_opt idl2, strictarrsubs 
    6770 
    6871  ON_ERROR, 2                   ; Return to caller if errors 
     
    112115      year = year - (year LE 0) 
    113116 
    114     END  
     117    END 
    115118    '360d':BEGIN 
    116   
     119 
    117120      IF keyword_set(ndayspm) THEN BEGIN 
    118121        IF ndayspm EQ 1 THEN ndayspm = 30 
     
    137140      neg = where(year LT 0) 
    138141      IF neg[0] NE -1 THEN year[neg] = year[neg]-1 
    139     END  
     142    END 
    140143    'noleap':BEGIN 
    141144 
     
    150153              + (day GT 273) + (day GT 304) + (day GT 334) 
    151154      month = long(month) 
    152 ;  
     155; 
    153156      day = day - 31L * (day GT 31) - 28L * (day GT 59) - 31L * (day GT 90) $ 
    154157              - 30L * (day GT 120) - 31L * (day GT 151) - 30L * (day GT 181) $ 
     
    160163        month[zero] = 12L 
    161164        day[zero] = 31L 
    162       ENDIF  
    163 ; 
    164     END  
     165      ENDIF 
     166; 
     167    END 
    165168    ELSE:BEGIN 
    166169      ng = report('only 3 types of calendar are accepted: greg, 360d and noleap') 
     
    180183    second = (TEMPORARY(fraction) - minute/1440d) * 86400d 
    181184  ENDIF 
    182    
     185 
    183186; if julian is an array, reform all output to correct dimensions 
    184187  IF (SIZE(julian, /N_DIMENSION) GT 0) THEN BEGIN 
  • trunk/SRC/Calendar/date2jul.pro

    r205 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    107; Calendar 
    118; 
    12 ; @param date {in}{required}  
     9; @param date {in}{required} {type=string} 
    1310; date in yyyymmdd format 
    1411; 
     
    3128; Sebastien Masson (smasson\@lodyc.jussieu.fr) June 2005 
    3229; 
    33 ; @version $Id$ 
     30; @version 
     31; $Id$ 
    3432; 
    3533;- 
    36 ;------------------------------------------------------------ 
    37 ;------------------------------------------------------------ 
    38 ;------------------------------------------------------------ 
     34; 
    3935function date2jul, date, GRADS = grads 
    40 ;------------------------------------------------------------ 
    4136; 
    4237  compile_opt idl2, strictarrsubs 
  • trunk/SRC/Calendar/date2string.pro

    r157 r231  
    1 ;------------------------------------------------------------ 
    21;+ 
    32; 
     
    54; create a nice and readable format to print a date 
    65; 
    7 ; @categories  
     6; @categories 
    87; Calendar, String 
    98; 
    10 ; @param yyyymmdd {in}{required}  
    11 ; the date in the format yyyymmdd. Can be scalar or array 
     9; @param yyyymmdd {in}{required} {type=scalor or array} 
     10; the date in the format yyyymmdd. 
    1211; 
    13 ; @keyword _EXTRA  
    14 ; used to pass your keywords to other procedures, for example 
    15 ; keyword FORMAT of string function (see example bellow)  
     12; @keyword _EXTRA 
     13; Used to pass keywords 
    1614; 
    1715; @returns 
     
    3028; update/review June 2005 Sebastien Masson. 
    3129; 
    32 ; @version $Id$ 
     30; @version 
     31; $Id$ 
    3332; 
    3433;- 
    35 ;------------------------------------------------------------ 
     34; 
    3635FUNCTION date2string, yyyymmdd, _EXTRA = ex 
    37 ; 
    3836; 
    3937  compile_opt idl2, strictarrsubs 
  • trunk/SRC/Calendar/daysinmonth.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    107; Calendar 
    118; 
    12 ; @param YEAR {in}{optional}{default=from "time" common variable of cm_4cal} 
     9; @param YEAR {in}{optional} {default=from "time" common variable of cm_4cal} 
    1310; To specify the year of the month. Used only if the common variable 
    1411; key_caltype = 'greg'. In that case, month and year must have the same 
    1512; number of elements. 
    1613; 
    17 ; @param MONTH  
     14; @param MONTH {in}{optional} {type=integer} 
     15; month number 
    1816; 
    1917; @returns  
     
    3533; 
    3634;- 
    37 ;------------------------------------------------------------ 
    38 ;------------------------------------------------------------ 
    39 ;------------------------------------------------------------ 
     35; 
    4036function daysinmonth, month, year 
    41 ;------------------------------------------------------------ 
    42 ; include commons 
    4337; 
    4438  compile_opt idl2, strictarrsubs 
  • trunk/SRC/Calendar/jul2date.pro

    r227 r231  
    1 ;------------------------------------------------------------ 
    21;+ 
    32; 
     
    54; gives yyyymmdd date equivalent of a Julian day 
    65; 
    7 ; @categories  
     6; @categories 
    87; Calendar 
    98; 
    10 ; @param jday {in}{required}  
     9; @param jday {in}{required} {type=double} 
    1110; Julian day 
    1211; 
    13 ; @returns  
     12; @returns 
    1413; date in yyyymmdd format 
    1514; 
     
    1918;        19991223 
    2019; 
    21 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 
     20; @history 
     21; Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    2222;                       June 2005 
    2323; 
    24 ; @version $Id$ 
     24; @version 
     25; $Id$ 
    2526; 
    2627;- 
    27 ;------------------------------------------------------------ 
     28; 
    2829function jul2date, jday 
    2930; 
  • trunk/SRC/Calendar/julday.pro

    r226 r231  
    33; @file_comments 
    44; Calculate the Julian Day Number for a given month, day, and year. 
    5 ; This is the inverse of the library function CALDAT. 
     5; This is the inverse of the library function 
     6; <pro>CALDAT</pro>. 
    67; 3 calendars are available according to the value of key_caltype 
    78; (variable of the common file cm_4cal): 'greg', '360d', 'noleap' 
    89; 
    9 ; @categories Calendar 
    10 ; 
    11 ; @param MONTH {in}{required} 
     10; @categories 
     11; Calendar 
     12; 
     13; @param MONTH {in}{required} {type=scalar (integer or double) or array of scalars} 
    1214; Number of the desired month (1 = January, ..., 12 = December). 
    13 ; Can be scalar or array 
    14 ; 
    15 ; @param DAY {in}{required} 
    16 ; Number of day of the month.Can be scalar or array 
    17 ; 
    18 ; @param YEARin {in}{required} 
     15; 
     16; @param DAY {in}{required} {type=scalar (integer or double) or array of scalars} 
     17; Number of day of the month. 
     18; 
     19; @param YEARin {in}{required} {type=scalar (integer or double) or array of scalars} 
    1920; Number of the desired year.Year parameters must be valid 
    2021; values from the civil calendar.  Years B.C.E. are represented 
     
    2627; O but we change it for year 654321L (the same trick is done in 
    2728; caldat so caldat, julday(1,1,0) gives you back Jan 1st of year 0) 
    28 ; Can be scalar or array 
    29 ; 
    30 ; @param HOUR {in}{optional}{default=12} 
    31 ; Number of the hour of the day. Can be scalar or array 
    32 ; 
    33 ; @param MINUTE {in}{optional}{default=0} 
    34 ; Number of the minute of the hour. Can be scalar or array 
    35 ; 
    36 ; @param SECOND {in}{optional}{default=0} 
    37 ; Number of the second of the minute. Can be scalar or array 
     29; 
     30; @param HOUR {in}{optional} {type=scalar (integer or double) or array of scalars} {default=12} 
     31; Number of the hour of the day. 
     32; 
     33; @param MINUTE {in}{optional} {type=scalar (integer or double) or array of scalars} {default=0} 
     34; Number of the minute of the hour. 
     35; 
     36; @param SECOND {in}{optional} {type=scalar (integer or double) or array of scalars} {default=0} 
     37; Number of the second of the minute. 
    3838; 
    3939; @restrictions 
    40 ; The Result will have the same dimensions as the smallest array, or 
     40; The result will have the same dimensions as the smallest array, or 
    4141; will be a scalar if all arguments are scalars. 
    4242; 
    43 ; @keyword NDAYSPM {default=30} 
    44 ; To use a calendar with fixed number of days per months. 
     43; @keyword NDAYSPM {default=30} {type=integer} 
     44; To use a calendar with fixed number of days per month. 
    4545; see also the use of key_caltype (variable of the common file cm_4cal) 
    4646; 
     
    5151; number. 
    5252; 
    53 ; @uses cm_4cal 
     53; @uses 
     54; cm_4cal 
    5455; 
    5556; @restrictions 
     
    8384; 
    8485function julday, MONTH, DAY, YEARin, Hour, Minute, Second, NDAYSPM = ndayspm 
    85 ;------------------------------------------------------------ 
     86; 
    8687@cm_4cal 
    87 ;------------------------------------------------------------ 
    88  
    89   COMPILE_OPT idl2 
     88 
     89  compile_opt idl2, strictarrsubs 
    9090 
    9191  ON_ERROR, 2                   ; Return to caller if errors 
  • trunk/SRC/Calendar/leapyr.pro

    r157 r231  
    1 ;----------------------------------------------------------------- 
    21;+ 
    32; 
     
    109; Calendar 
    1110; 
    12 ; @param year {in}{required}  
    13 ; year to be tested as a leap year. Can be scalar or array 
     11; @param year {in}{required} {type= scalar or array} 
     12; year to be tested as a leap year. 
    1413; 
    1514; @returns  
     
    1716; with the same number of elements than year. 
    1817; 
    19 ; @uses cm_4cal 
     18; @uses 
     19; cm_4cal 
    2020; 
    2121; @examples 
     
    3939; June 2005 update for new commons, Sebastien Masson. 
    4040; 
    41 ; @version $Id$ 
     41; @version 
     42; $Id$ 
    4243; 
    4344;- 
    44 ;------------------------------------------------------------ 
     45; 
    4546function leapyr, year 
    46 ; include commons 
    4747; 
    4848  compile_opt idl2, strictarrsubs 
  • trunk/SRC/Calendar/monthname.pro

    r157 r231  
    1 ;------------------------------------------------------------ 
    21;+ 
    32; 
     
    54; gives the name of a month 
    65; 
    7 ; @categories  
     6; @categories 
    87; Calendar,String 
    98; 
    10 ; @param month {in}{required}  
    11 ; the month number (from 1 to 12). Can be scalar or array 
     9; @param month {in}{required} {type=scalar or array} 
     10; the month number (from 1 to 12). 
    1211; 
    1312; @keyword _EXTRA 
    14 ; used to pass your keywords to other procedures, for example 
    15 ; keyword FORMAT of string function (see example bellow)  
     13; Used to pass keywords 
    1614; 
    1715; @returns 
     
    2119; IDL> name=monthname(2) 
    2220; 
    23 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 
     21; @history 
     22; Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    2423;                      1 October 2001 
    2524; 
    26 ; @version $Id$ 
     25; @version 
     26; $Id$ 
    2727; 
    2828;- 
    29 ;------------------------------------------------------------ 
     29; 
    3030FUNCTION monthname, month, _EXTRA = ex 
    3131; 
  • trunk/SRC/Colors/color24.pro

    r163 r231  
    11;+ 
    22; 
    3 ; @file_comments  
     3; @file_comments 
    44; The purpose of this function is to convert a RGB color triple 
    5 ; into the equivalent 24-big long integer.  
     5; into the equivalent 24-big long integer. 
     6; This routine was written to be used with routines like COLORS or 
     7; <pro>GETCOLOR</pro>. 
    68; 
    7 ; @categories Graphics, Color 
     9; @categories 
     10; Graphics, Color 
    811; 
    9 ; @param rgb_triple {in}{required}  
    10 ; A three-element column or row array representing  
     12; @param rgb_triple {in}{required} 
     13; A three-element column or row array representing 
    1114; a color triple. The values of the elements must be between 0 and 255. 
    1215; 
    13 ; @returns  
    14 ; a 24-bit long integer that is equivalent the input color.  
     16; @returns 
     17; a 24-bit long integer that is equivalent the input color. 
    1518; The color is described in terms of a hexadecimal number (e.g., FF206A) 
    16 ; where the left two digits represent the blue color, the  
    17 ; middle two digits represent the green color, and the right  
     19; where the left two digits represent the blue color, the 
     20; middle two digits represent the green color, and the right 
    1821; two digits represent the red color. 
    1922; 
    20 ; @examples  
    21 ; To convert the color triple for the color YELLOW,  
    22 ; (255, 255, 0), to the hexadecimal value '00FFFF'x  
     23; @examples 
     24; To convert the color triple for the color YELLOW, 
     25; (255, 255, 0), to the hexadecimal value '00FFFF'x 
    2326; or the decimal number 65535, type: 
    2427; 
    2528; IDL> color = COLOR24([255, 255, 0]) 
    26 ;        
    27 ; This routine was written to be used with routines like COLORS or GETCOLOR 
     29; 
    2830; 
    2931; @history 
    3032;       Written by:     David Fanning, 3 February 96. 
    3133; 
    32 ; @version $Id$ 
     34; @version 
     35; $Id$ 
    3336; 
    3437;- 
     
    3639; 
    3740  compile_opt idl2, strictarrsubs 
    38 ;    
     41; 
    3942ON_ERROR, 1 
    4043 
     
    5154FOR j=0,2 DO num24bit = num24bit + ((rgb_triple[j] MOD 16) * base16[0,j]) + $ 
    5255   (Fix(rgb_triple[j]/16) * base16[1,j]) 
    53     
     56 
    5457RETURN, num24bit 
    55 END  
     58END 
  • trunk/SRC/Colors/colorbar.pro

    r163 r231  
    55; graphics window. 
    66; 
    7 ; @categories Graphics, Widget 
     7; @categories 
     8; Graphics, Widget 
    89; 
    910; @keyword BOTTOM {default=0B} 
     
    2526; This is title for the color bar. 
    2627; 
    27 ; @keyword DISCRETE  
     28; @keyword DISCRETE 
    2829; Vector which contain color's indexes to trace in a color bar. Therefore 
    29 ; we obtain a discrete colorbar which contains only the specified colors  
     30; we obtain a discrete colorbar which contains only the specified colors 
    3031; in the order they appear in the vector 
    3132; 
     
    100101; IDL> COLORBAR, NCOLORS=100 
    101102; 
    102 ; @history  
     103; @history 
    103104; Written by: David Fanning, 10 JUNE 96. 
    104105; 10/27/96: Added the ability to send output to PostScript. DWF 
     
    112113; 03/03/98: Add DISCRETE keyword, sebastien masson (smasson\@lodyc.jussieu.fr) 
    113114; 
    114 ; @version $Id$ 
     115; @version 
     116; $Id$ 
    115117; 
    116118;- 
     119; 
    117120PRO colorbar, BOTTOM=bottom, CB_CHARSIZE=cb_charsize, CB_CHARTHICK=cb_charthick $ 
    118121              , CB_COLOR=cb_color, DIVISIONS=divisions, DISCRETE=discrete $ 
  • trunk/SRC/Colors/getcolor.pro

    r163 r231  
    11;+ 
    22; 
    3 ; @file_comments  
     3; @file_comments 
    44; The original purpose of this function was to enable the 
    55; user to specify one of the 16 colors supported by the 
     
    1515; table offered on the IDL newsgroup by Liam Gumley.) 
    1616; 
    17 ; @categories Graphics, Color 
    18 ; 
    19 ; @param thisColor {in}{optional}  
     17; @categories 
     18; Graphics, Color 
     19; 
     20; @param thisColor {in}{optional} 
    2021; A string with the "name" of the color. Valid names are: 
    2122;           black 
     
    3940; Case is unimportant. 
    4041; 
    41 ; 
    42 ; @param index {in}{optional}  
     42; @param index {in}{optional} 
    4343; The color table index where the specified color should be loaded. 
    4444; 
     
    6868; 
    6969; 
    70 ; @keyword NAMES  
     70; @keyword NAMES 
    7171; If this keyword is set, the return value of the function is 
    7272; a 16-element string array containing the names of the colors. 
     
    7777; listID = Widget_List(baseID, Value=GetColor(/Names), YSize=16) 
    7878; 
    79 ; @keyword LOAD   
     79; @keyword LOAD 
    8080; If this keyword is set, all 16 colors are automatically loaded 
    8181; starting at the color index specified by the START keyword. 
     
    9696; IDL 5.2 and higher. 
    9797; 
    98 ; @keyword TRUE   
     98; @keyword TRUE 
    9999; If this keyword is set, the specified color triple is returned 
    100100; as a 24-bit integer equivalent. The lowest 8 bits correspond to 
     
    104104; were set. 
    105105; 
    106 ; @restrictions  
     106; @restrictions 
    107107; The TRUE keyword causes the START keyword to be ignored. 
    108 ; The NAMES keyword causes the COLOR, INDEX, START, and TRUE parameters to be  
     108; The NAMES keyword causes the COLOR, INDEX, START, and TRUE parameters to be 
    109109; ignored. 
    110110; The COLOR parameter is ignored if the LOAD keyword is used. 
     
    113113; returned if color decomposition is ON. 
    114114; 
    115 ; @examples  
     115; @examples 
    116116; To load a yellow color in color index 100 and plot in yellow, type: 
    117117; 
     
    177177;      IDL> PLOT, data, Color=colors.yellow 
    178178; 
    179 ; @history  
     179; @history 
    180180; Written by: David Fanning, 10 February 96. 
    181181; Fixed a bug in which N_ELEMENTS was spelled wrong. 7 Dec 96. DWF 
     
    187187; Added LOAD AND START keywords. 7 June 99. DWF. 
    188188; 
    189 ; @version $Id$ 
     189; @version 
     190; $Id$ 
    190191;- 
    191  
     192; 
    192193FUNCTION getcolor, thisColor, index, TRUE=truecolor, $ 
    193194   NAMES=colornames, LOAD=load, START=start 
  • trunk/SRC/Colors/lct.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    21;+ 
    32; 
    4 ; @file_comments  
     3; @file_comments 
    54; Fastest than type loadct, file = 'palette.tbl' 
    65; 
    7 ; @categories  
     6; @categories 
    87; Graphics, Color 
    98; 
     
    1110; number of the color palette we want to select in the file palette.tbl 
    1211; 
    13 ; @keyword LIGHTNESS  
     12; @keyword LIGHTNESS 
    1413; a scalar used to change the Lightness of the color 
    1514; palette to be able to adjust according to the printer we use, 
    16 ; the media (paper or slide)...  
     15; the media (paper or slide)... 
    1716;               lightness < 1 to get lighter colors 
    1817;                         > 1 to get darker colors 
     
    2625; 
    2726; @keyword _EXTRA 
    28 ; Used to pass loadct keywords 
     27; Used to pass keywords to <pro>loadct</pro> 
    2928; 
    3029; @history 
     
    3332; 6/7/1999: mac/windows compatibility 
    3433; 
    35 ; @version $Id$ 
     34; @version 
     35; $Id$ 
    3636; 
    3737;- 
    38 ;------------------------------------------------------------ 
     38; 
    3939PRO lct, numpal, FILE = file, GET_NAME = get_name, LIGHTNESS = Lightness, _EXTRA = ex 
    4040; 
     
    6363  n = 0 
    6464  repeat begin 
    65     res = findfile(nametbl[n])  
     65    res = findfile(nametbl[n]) 
    6666    n = n+1 
    67   endrep until res[0] NE '' OR n EQ n_elements(nametbl)  
     67  endrep until res[0] NE '' OR n EQ n_elements(nametbl) 
    6868  if res[0] NE '' then BEGIN 
    6969    nametbl = nametbl[n-1] 
    70     if n_elements(ex) NE 0 then $  
     70    if n_elements(ex) NE 0 then $ 
    7171       if (where(tag_names(ex) EQ 'FILE'))[0] NE -1 then ex.FILE = nametbl 
    7272; if we are in POSTSCRIPT mode, we have to pass in X mode in order to change the color palette 
    7373    oldname = !d.name 
    74     if !d.name EQ 'PS' OR !d.name EQ 'Z' then BEGIN  
     74    if !d.name EQ 'PS' OR !d.name EQ 'Z' then BEGIN 
    7575      thisOS = !VERSION.OS_FAMILY 
    7676      thisOS = STRMID(thisOS, 0, 3) 
     
    9090         loadct, file = nametbl, GET_NAME = get_name, _EXTRA = ex $ 
    9191      ELSE loadct, numpal, file = nametbl, /silent, GET_NAME = get_name, _EXTRA = ex 
    92     ENDIF ELSE BEGIN  
     92    ENDIF ELSE BEGIN 
    9393      if n_elements(numpal) EQ 0 then loadct, file = nametbl, _EXTRA = ex $ 
    9494      ELSE loadct, numpal, file = nametbl, /silent, _EXTRA = ex 
    95     ENDELSE  
     95    ENDELSE 
    9696; 
    97     if oldname EQ 'PS' AND keyword_set(lightness) then palit, lightness  
     97    if oldname EQ 'PS' AND keyword_set(lightness) then palit, lightness 
    9898; 
    9999    set_plot, oldname 
  • trunk/SRC/Colors/newpalette.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    21;+ 
    32; 
     
    1110; 
    1211; @param namepal {in}{required}{type=string} 
    13 ; a string containing the name of the new palette we want to write. 
     12; the name of the new palette we want to write. 
    1413; 
    1514; @keyword OVER 
    16 ; the number of the palette we want to replace 
     15; the number of the palette we want to replace. 
    1716; 
    1817; @keyword FILE {default='palette.tbl'} 
     
    2019; 
    2120; @keyword _EXTRA 
    22 ; Used to pass modifyct keywords 
     21; Used to pass keywords to <pro>modifyct</pro> 
    2322; 
    24 ; @history Guillaume Roulet (gr\@lodyc.jussieu.fr) 
     23; @history  
     24; Guillaume Roulet (gr\@lodyc.jussieu.fr) 
    2525; 30/3/1999 s.masson, add _extra, research of the full name, OVER 
    2626;                       5/5/1999 s.masson 
    2727; 
    28 ; @version $Id$ 
     28; @version 
     29; $Id$ 
    2930; 
    3031;- 
    31 ;------------------------------------------------------------ 
     32; 
    3233pro newpalette, namepal, FILE = file, OVER = over, _EXTRA = ex 
    3334; 
  • trunk/SRC/Colors/xlct.pro

    r163 r231  
    22; @hidden 
    33;- 
     4; 
    45PRO xlct_psave                  ;Save/Restore our plotting state. 
    56;  Swaps our state with the current state each time its called. 
     
    396397 
    397398;+ 
    398 ; @file_comments  
    399 ; Like xloadct but fastest to write and call by default the palette  
     399; @file_comments 
     400; Like xloadct but fastest to write and call by default the palette 
    400401; palette.tbl which can be in any directory 
    401402; 
    402 ; @categories Widget, Color 
     403; @categories 
     404; Widget, Color 
    403405; 
    404406; @keyword FILE {default='palette.tbl'} 
     
    407409; allows multiple IDL users to have their own color table file. 
    408410; 
    409 ; @keyword GROUP  
     411; @keyword GROUP 
    410412; The widget ID of the widget that calls Xlct. When  this ID is 
    411413; specified, a death of the caller results in a death of Xlct 
     
    419421; BOTTOM+NCOLORS-1. 
    420422; 
    421 ; @keyword SILENT  
     423; @keyword SILENT 
    422424; Normally, no informational message is printed when a color map 
    423425; is loaded. If this keyword is present and zero, this message is printed. 
     
    458460; will be undefined. 
    459461; 
    460 ; @history 5/5/1999 copy of xloadct par Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    461 ; 
    462 ; @version $Id$ 
     462; @history 
     463; 5/5/1999 copy of xloadct par Sebastien Masson (smasson\@lodyc.jussieu.fr) 
     464; 
     465; @version 
     466; $Id$ 
    463467; 
    464468;- 
     
    493497; Changes made by S.Masson 
    494498;----------------------------------------------------------------------------- 
    495    IF N_ELEMENTS(file) GT 0 THEN filename = file ELSE BEGIN  
     499   IF N_ELEMENTS(file) GT 0 THEN filename = file ELSE BEGIN 
    496500      filename = find('palette.tbl') 
    497501      filename = filename[0] 
    498502      if filename EQ 'NOT FOUND' then filename=filepath('colors1.tbl',subdir=['resource', 'colors']) 
    499    ENDELSE  
     503   ENDELSE 
    500504   file = filename 
    501505;----------------------------------------------------------------------------- 
  • trunk/SRC/Colors/xpal.pro

    r163 r231  
    77; @hidden 
    88;- 
     9; 
    910function xp_new_colors 
    1011; 
     
    568569; will be undefined. 
    569570; 
    570 ; @history  
     571; @history 
    571572; Adaptation of xpalette to add a save button by 
    572573;          Grima Nicolas (nglod\@ipsl.jussieu.fr) and by Masson 
    573574;          Sebastien (smlod\@ipsl.jussieu.fr) 
    574575; 
     576; @version 
    575577; $Id$ 
    576578; 
  • trunk/SRC/Commons/cm_4cal.pro

    r157 r231  
    44;                       June 2005 
    55;- 
     6; 
    67@cm_general 
    78; 
  • trunk/SRC/Commons/cm_4data.pro

    r172 r231  
    44;                       June 2005 
    55;- 
     6; 
    67@cm_general 
    78; 
  • trunk/SRC/Commons/cm_4mesh.pro

    r172 r231  
    44;                       June 2005 
    55;- 
     6; 
    67@cm_general 
    78; 
  • trunk/SRC/Commons/cm_4ps.pro

    r157 r231  
    44;                       June 2005 
    55;- 
     6; 
    67@cm_general 
    78; 
  • trunk/SRC/Commons/cm_demomode.pro

    r163 r231  
    22; @file_comments this common is use only when we are in demo mode (7 minutes test) 
    33;- 
     4; 
    45COMMON instead_of_save, boxzoomparam, colorbarparam 
  • trunk/SRC/Computation/curl.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    4138;   T, U, V and F grids, it is possible that these two arrays do not have the same 
    4239;   size and refer to different indexes. In this case, arrays are re-cut on 
    43 ;   common indexes. To avoid these re-cuts, use the keyword /memeindice in domdef.pro 
     40;   common indexes. To avoid these re-cuts, use the keyword /memeindice in 
     41; <pro>domdef</pro> 
    4442; - When computing the divergence, we update, vargrid, varname, varunits and the 
    4543;   grid position parameters (firstxf, lastxf, nxf, firstyf, lastyf, nyf). 
     
    6260; code the 4d case 
    6361;- 
    64 ;------------------------------------------------------------ 
    65 ;------------------------------------------------------------ 
    66 ;------------------------------------------------------------ 
     62; 
    6763FUNCTION curl, uu, vv, DIREC = DIREC 
    6864; 
  • trunk/SRC/Computation/div.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    4138;   T, U, V and F grids, it is possible that these two arrays do not have the same 
    4239;   size and refer to different indexes. In this case, arrays are re-cut on 
    43 ;   common indexes. To avoid these re-cuts, use the keyword /memeindice in domdef.pro 
     40;   common indexes. To avoid these re-cuts, use the keyword /memeindice in  
     41; <pro>domdef</pro> 
    4442; - When computing the divergence, we update, vargrid, varname, varunits and the 
    4543;   grid position parameters (firstxt, lastxt, nxt, firstyt, lastyt, nyt). 
     
    6159; code the 4d case 
    6260;- 
    63 ;------------------------------------------------------------ 
    64 ;------------------------------------------------------------ 
    65 ;------------------------------------------------------------ 
     61; 
    6662FUNCTION div, uu, vv, DIREC = DIREC 
    6763; 
  • trunk/SRC/Computation/grad.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; @file_comments 
     
    4542; 
    4643;- 
    47 ;------------------------------------------------------------ 
    48 ;------------------------------------------------------------ 
    49 ;------------------------------------------------------------ 
     44; 
    5045FUNCTION grad, field, direc 
    5146; 
  • trunk/SRC/ForOldVersion/keep_compatibility.pro

    r175 r231  
    2626; 
    2727;- 
     28; 
    2829PRO keep_compatibility, flag 
    2930; 
  • trunk/SRC/ForOldVersion/updatekwd.pro

    r136 r231  
    1919; 
    2020;- 
     21; 
    2122; if ex is a structure... 
    2223IF size(ex, /type) EQ 8 THEN BEGIN 
  • trunk/SRC/Grid/changemsk.pro

    r230 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    4 ; 
     1;+ 
    52; @file_comments 
    63; add land points on a 2D land-sea mask 
    74; 
    8 ; @categories  
     5; @categories 
    96; Grid 
    107; 
    11 ; @param TAB {in}{required}  
     8; @param TAB {in}{required} 
    129; a 2D land-sea mask, with 1 on sea and 0 on land 
    1310; 
    14 ; @keyword CELLSIZE  
     11; @keyword CELLSIZE 
    1512; size (in pixel) of the square 
    1613; representing one point of the mask 
    1714; 
    18 ; @returns  
     15; @returns 
    1916; newmsk the new 2D land-sea mask 
    2017; 
     
    2825;      June 2006 
    2926; 
    30 ; @version  
     27; @version 
    3128; $Id$ 
    3229; 
    33 ;------------------------------------------------------------ 
    34 ;------------------------------------------------------------ 
    35 ;------------------------------------------------------------ 
     30;- 
     31; 
    3632function changemsk,tab, CELLSIZE = cellsize 
    3733; 
  • trunk/SRC/Grid/checkperio.pro

    r226 r231  
    4242; $Id$ 
    4343;- 
     44; 
    4445PRO checkperio, file, WRITE = write 
    4546 
  • trunk/SRC/Grid/computegrid.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
    63; @file_comments 
    7 ; 
    84; compute the grid parameters (cm_4mesh) common 
    95; 
     
    117113; @keyword STRCALLING {type=string} 
    118114;       a string containing the calling command used to 
    119 ;       call computegrid (this is used by xxx.pro) 
     115;       call computegrid (this is used by <pro>xxx</pro>) 
    120116; 
    121117; @keyword STRIDE {default=[1, 1, 1]}{type=3 elements vector} 
     
    240236; 
    241237;- 
    242 ;------------------------------------------------------------ 
    243 ;------------------------------------------------------------ 
    244 ;------------------------------------------------------------ 
     238; 
    245239PRO computegrid, startx, starty, stepxin, stepyin, nxin, nyin $ 
    246240                 , XAXIS = xaxis, YAXIS = yaxis, ZAXIS = zaxis $ 
     
    254248                 , UBASE2TBASE = ubase2tbase, VBASE2TBASE = vbase2tbase, FBASE2TBASE = fbase2tbase $ 
    255249                 , STRCALLING = strcalling, ROMSH = romsh, _extra = ex 
    256 ;--------------------------------------------------------- 
    257250; 
    258251  compile_opt idl2, strictarrsubs 
  • trunk/SRC/Grid/micromeshmask.pro

    r157 r231  
    11;+ 
    22; 
    3 ; @file_comments  
     3; @file_comments 
    44; Reduce the size of the NetCDF meshmask created by OPA by 
    55; using bit (and not byte) format for the masks and the float format 
    66; for the other fields. 
    77; 
    8 ; @categories  
     8; @categories 
    99; For OPA 
    1010; 
     
    1717;      July 2004 Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    1818; 
    19 ; @version  
     19; @version 
    2020; $Id$ 
    2121; 
    2222;- 
    23 ;------------------------------------------------------ 
    24 ;------------------------------------------------------ 
     23; 
    2524PRO ncdf_transfer, inid, outid, inname, outname 
    2625; 
  • trunk/SRC/Grid/n128gaussian.pro

    r157 r231  
    11;+ 
    2 ; @file_comments compute the latitudes of the n128 gaussian grid. See: 
    3 ; http://www.ecmwf.int/products/data/technical/gaussian/n128FIS.html 
     2; 
     3; @file_comments 
     4; compute the latitudes of the n128 gaussian grid. See: 
     5; <a href="http://www.ecmwf.int/products/data/technical/gaussian/n128FIS.html">Gaussian 128</a> 
    46; 
    57; @categories 
    68; Grid 
    79; 
    8 ; @examples  
     10; @examples 
    911; IDL> lat=n128gaussian() 
    1012; 
     
    1517;      June 2004 
    1618; 
    17 ; @version $Id$ 
     19; @version 
     20; $Id$ 
    1821; 
    1922;- 
  • trunk/SRC/Grid/n160gaussian.pro

    r157 r231  
    11;+ 
    22; 
    3 ; @file_comments compute the latitudes of the n160 gaussian grid. See: 
    4 ; http://www.ecmwf.int/products/data/technical/gaussian/n160FIS.html 
     3; @file_comments 
     4; compute the latitudes of the n160 gaussian grid. See: 
     5; <a href="http://www.ecmwf.int/products/data/technical/gaussian/n160FIS.html">Gaussian 160</a> 
    56; 
    6 ; @categories  
     7; @categories 
    78; Grid 
    89; 
    9 ; @examples  
     10; @examples 
    1011; IDL>lat=n160gaussian() 
    1112; 
     
    1617;      June 2004 
    1718; 
    18 ; @version $Id$ 
     19; @version 
     20; $Id$ 
    1921; 
    2022;- 
  • trunk/SRC/Grid/n256gaussian.pro

    r157 r231  
    11;+ 
    22; 
    3 ; @file_comments compute the latitudes of the n256 gaussian grid. See: 
    4 ; http://www.ecmwf.int/products/data/technical/gaussian/n256FIS.html 
    5 ; 
    6 ; @categories  
     3; @file_comments 
     4; compute the latitudes of the n256 gaussian grid. See: 
     5; <a href="http://www.ecmwf.int/products/data/technical/gaussian/n256FIS.html">Gaussian 256</a> 
     6; 
     7; @categories 
    78; Grid 
    89; 
     
    1617;      June 2004 
    1718; 
    18 ; @version $Id$ 
     19; @version 
     20; $Id$ 
    1921; 
    2022;- 
  • trunk/SRC/Grid/n48gaussian.pro

    r157 r231  
    11;+ 
    22; 
    3 ; @file_comments compute the latitudes of the n48 gaussian grid. See: 
    4 ; http://www.ecmwf.int/products/data/technical/gaussian/n48FIS.html 
     3; @file_comments 
     4; compute the latitudes of the n48 gaussian grid. See: 
     5; <a href="http://www.ecmwf.int/products/data/technical/gaussian/n48FIS.html">Gaussian 48</a> 
    56; 
    6 ; @categories  
     7; @categories 
    78; Grid 
    89; 
     
    1617;      June 2004 
    1718; 
    18 ; @version $Id$ 
     19; @version 
     20; $Id$ 
    1921; 
    2022;- 
  • trunk/SRC/Grid/n80gaussian.pro

    r157 r231  
    22; 
    33; @file_comments compute the latitudes of the n80 gaussian grid. See: 
    4 ; http://www.ecmwf.int/products/data/technical/gaussian/n80FIS.html 
     4; <a href="http://www.ecmwf.int/products/data/technical/gaussian/n80FIS.html">Gaussian 80</a> 
    55; 
    6 ; @categories  
     6; @categories 
    77; Grid 
    88; 
     
    1616;      June 2004 
    1717; 
    18 ; @version $Id$ 
     18; @version 
     19; $Id$ 
    1920; 
    2021;- 
  • trunk/SRC/Grid/ncdf_meshread.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
    6 ; @file_comments read NetCDF meshmask file created by OPA 
     3; @file_comments 
     4; read NetCDF meshmask file created by OPA 
    75; 
    86; @categories 
     
    2422;    defined according to GLAMBOUNDARY. 
    2523; 
    26 ; @keyword CHECKDAT Suppressed. Use micromeshmask.pro to create an 
     24; @keyword CHECKDAT 
     25; Suppressed. Use <pro>micromeshmask</pro> to create an 
    2726;    appropriate meshmask. 
    2827; 
     
    5150; 
    5251; @keyword STRCALLING {type=scalar string} 
    53 ;    the calling command used to call computegrid (this is used by xxx.pro) 
     52;    the calling command used to call computegrid (this is used by <pro>xxx<pro>) 
    5453; 
    5554; @keyword STRIDE {default=[1, 1, 1]}{type=3 elements vector} 
     
    5756;    value will be stored in the common (cm_4mesh) variable key_stride 
    5857; 
    59 ; @keyword _EXTRA used to pass isafile keywords 
    60 ; 
    61 ; @uses cm_4mesh cm_4data cm_4cal 
     58; @keyword _EXTRA 
     59; Used to pass keywords to <pro>isafile</pro> 
     60; 
     61; @uses 
     62; cm_4mesh 
     63; cm_4data 
     64; cm_4cal 
    6265; 
    6366; @restrictions 
    64 ; 
    65 ;  ixminmesh,ixmaxmesh,iyminmesh,iymaxmesh,izminmesh,izmaxmesh must 
    66 ;  be defined before calling ncdf_meshread. if some of those value 
    67 ;  are equal to -1 they will be automatically defined 
     67; ixminmesh,ixmaxmesh,iyminmesh,iymaxmesh,izminmesh,izmaxmesh must 
     68; be defined before calling ncdf_meshread. if some of those value 
     69; are equal to -1 they will be automatically defined 
    6870; 
    6971; @history 
     
    8082; 
    8183;- 
    82 ;------------------------------------------------------------ 
    83 ;------------------------------------------------------------ 
    84 ;------------------------------------------------------------ 
     84; 
    8585PRO ncdf_meshread, filename, GLAMBOUNDARY = glamboundary, CHECKDAT = checkdat $ 
    8686                  , ONEARTH = onearth, GETDIMENSIONS = getdimensions $ 
    8787                  , PERIODIC = periodic, SHIFT = shift, STRIDE = stride $ 
    8888                  , STRCALLING = strcalling, _EXTRA = ex 
    89 ; 
    90 ;--------------------------------------------------------- 
    9189; 
    9290  compile_opt idl2, strictarrsubs 
  • trunk/SRC/Grid/ncdf_meshroms.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
    6 ; @file_comments read NetCDF grid file created by ROMS 
     3; @file_comments 
     4; read NetCDF grid file created by ROMS 
    75; 
    86; @categories 
     
    5856;    value will be stored in the common (cm_4mesh) variable key_stride 
    5957; 
    60 ; @keyword _EXTRA used to pass isafile keywords 
    61 ; 
    62 ; @uses cm_4mesh cm_4data cm_4cal 
     58; @keyword _EXTRA 
     59; Used to pass keywords to <pro>isafile</pro> 
     60; 
     61; @uses 
     62; cm_4mesh 
     63; cm_4data 
     64; cm_4cal 
    6365; 
    6466; @restrictions 
    65 ; 
    66 ;  ixminmesh,ixmaxmesh,iyminmesh,iymaxmesh,izminmesh,izmaxmesh must 
    67 ;  be defined before calling ncdf_meshread. if some of those value 
    68 ;  are equal to -1 they will be automatically defined 
    69 ; 
    70 ;  In the original ROMS grid, if F grid has (jpi,jpj) points then T 
    71 ;  grid will have (jpi+1,jpj+1) points, U grid will have (jpi,jpj+1) 
    72 ;  points and V grid will have (jpi+1,jpj) points. 
    73 ;  By default C-grid used in this package needs the same number of 
    74 ;  points for T,U,V and F grid, with a T point at the bottom left 
    75 ;  corner of the grid. We therefore ignore the last column of T and 
    76 ;  V points and the last line of T and U points. 
    77 ; 
    78 ;  Scale factors are compuited using the distance between the points 
    79 ;  (which is not the exact definition for irregular grid). 
     67; ixminmesh,ixmaxmesh,iyminmesh,iymaxmesh,izminmesh,izmaxmesh must 
     68; be defined before calling ncdf_meshread. if some of those value 
     69; are equal to -1 they will be automatically defined 
     70; 
     71; In the original ROMS grid, if F grid has (jpi,jpj) points then T 
     72; grid will have (jpi+1,jpj+1) points, U grid will have (jpi,jpj+1) 
     73; points and V grid will have (jpi+1,jpj) points. 
     74; By default C-grid used in this package needs the same number of 
     75; points for T,U,V and F grid, with a T point at the bottom left 
     76; corner of the grid. We therefore ignore the last column of T and 
     77; V points and the last line of T and U points. 
     78; 
     79; Scale factors are compuited using the distance between the points 
     80; (which is not the exact definition for irregular grid). 
    8081; 
    8182; @history 
     
    8687; 
    8788;- 
    88 ;------------------------------------------------------------ 
    89 ;------------------------------------------------------------ 
    90 ;------------------------------------------------------------ 
     89; 
    9190PRO ncdf_meshroms, filename, NRHO = nrho, GLAMBOUNDARY = glamboundary $ 
    9291                  , ONEARTH = onearth, GETDIMENSIONS = getdimensions $ 
    9392                  , PERIODIC = periodic, SHIFT = shift, STRIDE = stride $ 
    9493                  , STRCALLING = strcalling, _EXTRA = ex 
    95 ; 
    96 ;--------------------------------------------------------- 
    9794; 
    9895  compile_opt idl2, strictarrsubs 
  • trunk/SRC/Grid/numbisland.pro

    r197 r231  
    2222; 
    2323;- 
     24; 
    2425PRO mskneig, msk, nx, ny, indin, numb 
    2526; flag the point 
    2627  msk[indin] = numb 
    2728; find its neighbourgs 
    28   indx = (indin MOD nx) + [-1L, 0L, 1L]  
     29  indx = (indin MOD nx) + [-1L, 0L, 1L] 
    2930  indx = (temporary(indx) + nx) MOD nx ; x periodicity 
    30   indy = (indin/nx) + [-1L, 0L, 1L]  
     31  indy = (indin/nx) + [-1L, 0L, 1L] 
    3132  indy = 0 > temporary(indy) < (ny-1L) ; y periodicity 
    3233; build 1d index 
    3334  ind = temporary(indx)#replicate(1L, 3) + replicate(nx, 3)#temporary(indy) 
    3435; for each neighbourgs on the same island, call again mskneig 
    35   FOR i = 0, n_elements(ind)-1 DO BEGIN   
     36  FOR i = 0, n_elements(ind)-1 DO BEGIN 
    3637    IF msk[ind[i]] EQ 0 THEN mskneig, msk, nx, ny, ind[i], numb 
    37   ENDFOR  
     38  ENDFOR 
    3839 
    3940  return 
     
    8283    IF (islnumb-9) MOD 10 EQ 0 THEN print,  'island number :'+strtrim(islnumb-9, 1) 
    8384 
    84     mskneig, msk, nx, ny, land, islnumb  
    85      
     85    mskneig, msk, nx, ny, land, islnumb 
     86 
    8687    land = (where(msk EQ 0, count))[0] 
    8788    islnumb = islnumb + 1 
     
    9192  msk[where(msk EQ -8)] = 0 
    9293 
    93   print, 'time:', systime(1)-time1  
     94  print, 'time:', systime(1)-time1 
    9495 
    9596  RETURN, msk 
  • trunk/SRC/Grid/restoreboxparam.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
    6 ; @file_comments restore all the zoom parameters (defined by calling domdef) 
    7 ; previously defined by saveboxparam 
     3; @file_comments 
     4; restore all the zoom parameters (defined by calling <pro>domdef</pro>) 
     5; previously defined by <pro>saveboxparam</pro> 
    86; 
    97; @param filename {in}{required} 
    108; a scalar string defining the file name 
    119; 
    12 ; @uses cm_4mesh (and cm_demomode_used if we are in demo mode) 
     10; @uses 
     11; cm_4mesh (and cm_demomode_used if we are in demo mode) 
    1312; 
    14 ; @restrictions call def_myuniquetmpdir, if myuniquetmpdir is undefined: 
     13; @restrictions 
     14; call def_myuniquetmpdir, if myuniquetmpdir is undefined: 
    1515;               => define, create and add it to !path 
    1616; 
     
    1818; IDL> restoreboxparam, filename 
    1919; 
    20 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 
     20; @history 
     21; Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    2122;                      July 2005 
    2223; 
    23 ; @version $Id$ 
     24; @version 
     25; $Id$ 
    2426; 
    2527;- 
    26 ;------------------------------------------------------------ 
    27 ;------------------------------------------------------------ 
    28 ;------------------------------------------------------------ 
     28; 
    2929PRO restoreboxparam, filename 
    3030; 
     
    8888  return 
    8989end 
    90  
  • trunk/SRC/Grid/romsdepth.pro

    r226 r231  
    11;+ 
     2; 
    23; @file_comments 
    34; compute depth of ROMS outputs according to ROMS parameters 
     
    2223; $Id$ 
    2324;- 
     25; 
    2426FUNCTION romsdepth 
    2527; 
  • trunk/SRC/Grid/saveboxparam.pro

    r155 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
    6 ; @file_comments save all the zoom parameters (defined by calling domdef) 
     3; @file_comments 
     4; save all the zoom parameters (defined by calling <pro>domdef</pro>) 
    75; in a file (using save command) located in myuniquetmpdir 
    86; (common variable defined by def_myuniquetmpdir) 
    9 ;  
    10 ; @param filename {in}{required} a scalar string defining the file name  
    117; 
    12 ; @uses cm_4mesh (and cm_demomode_used if we are in demo mode) 
     8; @param filename {in}{required} 
     9; a scalar string defining the file name 
    1310; 
    14 ; @restrictions call def_myuniquetmpdir, if myuniquetmpdir is undefined:  
     11; @uses 
     12; cm_4mesh (and cm_demomode_used if we are in demo mode) 
     13; 
     14; @restrictions 
     15; call def_myuniquetmpdir, if myuniquetmpdir is undefined: 
    1516;               => define, create and add it to !path 
    1617; 
     
    1819; IDL> saveboxparam, filename 
    1920; 
    20 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 
     21; @history 
     22; Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    2123;                      June 2005 
    2224; 
    23 ; @version $Id$ 
     25; @version 
     26; $Id$ 
    2427; 
    2528;- 
    26 ;------------------------------------------------------------ 
    27 ;------------------------------------------------------------ 
    28 ;------------------------------------------------------------ 
     29; 
    2930PRO saveboxparam, filename 
    3031; 
  • trunk/SRC/Grid/smallmeshmask.pro

    r157 r231  
    11;+ 
    22; 
    3 ; 
    4 ; @categories  
     3; @categories 
    54; For OPA 
    65; 
     
    1312;      July 2004 Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    1413; 
    15 ; @version  
     14; @version 
    1615; $Id$ 
    1716; 
    1817;- 
    19 ;------------------------------------------------------ 
    20 ;------------------------------------------------------ 
     18; 
    2119PRO ncdf_transfer, inid, outid, inname, outname 
    2220; 
     
    3028; 
    3129;+ 
    32 ; @file_comments  
     30; @file_comments 
    3331; Reduce the size of the NetCDF meshmask created by OPA by 
    3432; using byte format for the masks and the float format for the other 
     
    4543; xxx.mask.nc. In that case, the meshmask is split into 3 files. 
    4644; 
    47 ; @param ncfileout {in}{optional}{default=smallmeshmask.nc}  
    48 ; the name of the reduced meshmask file.  
     45; @param ncfileout {in}{optional}{default=smallmeshmask.nc} 
     46; the name of the reduced meshmask file. 
    4947; 
    5048; @examples 
     
    5250; IDL> smallmeshmask, 'meshmask_ORCA_R05.nc',iodir=meshdir 
    5351; 
    54 ; @categories  
     52; @categories 
    5553; For OPA 
    5654; 
     
    5856;      July 2004 Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    5957; 
    60 ; @version  
     58; @version 
    6159; $Id$ 
    6260; 
     
    8684; get the horizontal dimensions 
    8785  IF n_elements(filein_hgr) NE 0  THEN cdfid = ncdf_open(filein_hgr) $ 
    88   ELSE cdfid = ncdf_open(filein)  
     86  ELSE cdfid = ncdf_open(filein) 
    8987  ncdf_diminq, cdfid, 'x', name, jpi 
    9088  ncdf_diminq, cdfid, 'y', name, jpj 
     
    9593  ENDIF 
    9694  listdims = strlowcase(ncdf_listdims(cdfid)) 
    97   IF (where(listdims EQ 'z'))[0] NE -1 THEN ncdf_diminq, cdfid, 'z', name, jpk ELSE BEGIN  
     95  IF (where(listdims EQ 'z'))[0] NE -1 THEN ncdf_diminq, cdfid, 'z', name, jpk ELSE BEGIN 
    9896    dimid = (where(strmid(listdims, 0, 5) EQ 'depth'))[0] 
    99     IF dimid NE -1 THEN ncdf_diminq, cdfid, dimid, name, jpk ELSE BEGIN  
     97    IF dimid NE -1 THEN ncdf_diminq, cdfid, dimid, name, jpk ELSE BEGIN 
    10098      dummy = report('We could not find the vertical dimension..., its name must be z or start with depth') 
    10199      return 
    102     ENDELSE  
    103   ENDELSE  
     100    ENDELSE 
     101  ENDELSE 
    104102; get the variables list related to the partial steps 
    105103  varlist_ps = ncdf_listvars(cdfid) 
     
    112110;------------------------------------------------------ 
    113111  IF n_elements(ncfileout) EQ 0  THEN ncfileout = 'smallmeshmask.nc' 
    114    
     112 
    115113  cdfidout = ncdf_create(isafile(FILE = ncfileout, IODIR = iodir, /NEW), /clobber) 
    116114  ncdf_control, cdfidout, /nofill 
     
    184182  FOR z = 0, n_elements(zgrlist)-1 DO $ 
    185183    ncdf_transfer, cdfid, cdfidout, zgrlist[z] 
    186 ; partial step variables  
     184; partial step variables 
    187185  IF (where(varlist_ps EQ 'hdept'))[0] NE -1 THEN $ 
    188186    ncdf_transfer, cdfid, cdfidout, 'hdept' 
  • trunk/SRC/Interpolation/angle.pro

    r202 r231  
    1 ;--------- 
    21;+ 
    32; @file_comments 
    43; north stereographic polar projection 
    54; 
    6 ; @categories  
     5; @categories 
    76; Interpolation 
    87; 
     
    3837  RETURN, {x:x, y:y} 
    3938END 
    40 ;--------- 
    4139;+ 
    4240; @file_comments Compute angles between grid lines and direction of the North pole 
    4341;(fom angle.F,v 2.2 in OPA8.2) 
    4442; 
    45 ; @categories  
     43; @categories 
    4644; Interpolation 
    4745; 
     
    9189;       Feb 2005: IDL adaptation S. Masson 
    9290; 
    93 ; @version $Id$ 
     91; @version 
     92; $Id$ 
    9493;- 
    95 ;--------- 
    9694; 
    9795PRO angle, fileocemesh, gcosu, gsinu, gcosv, gsinv, gcost, gsint $ 
  • trunk/SRC/Interpolation/clickincell.pro

    r163 r231  
    66; Grid 
    77; 
    8 ; @keyword CELLTYPE = 'T', 'W', 'U', 'V' or 'F' This this the type of point 
     8; @keyword CELLTYPE 
     9; = 'T', 'W', 'U', 'V' or 'F' This this the type of point 
    910;     that is located in the center of the cell which the click is 
    1011;     located. default is T type of cell (with corner defined by F 
    1112;     points). 
    1213; 
    13 ; @keyword DRAWCELL to draw the cell in which we clicked 
    14 ; 
    15 ; @keyword COLOR  the color used to draw the cells (Clicking one more 
    16 ;     time in the same cell will draw the cell with the white color) 
    17 ; 
    18 ; @keyword ORIGINAL to get the position of the cell regarding the original 
    19 ;     grid (with no key_shift, ixminmesh, iyminmesh...) 
    20 ; 
    21 ; @keyword IJ see outputs 
    22 ; 
    23 ; @keyword _EXTRA to pass extra keywords to inquad and plot (when /drawcell) 
     14; @keyword DRAWCELL 
     15; to draw the cell in which we clicked 
     16; 
     17; @keyword COLOR 
     18; the color used to draw the cells (Clicking one more 
     19; time in the same cell will draw the cell with the white color) 
     20; 
     21; @keyword ORIGINAL 
     22; to get the position of the cell regarding the original 
     23; grid (with no key_shift, ixminmesh, iyminmesh...) 
     24; 
     25; @keyword IJ 
     26; see outputs 
     27; 
     28; @keyword _EXTRA 
     29; Used to pass extra keywords to <pro>inquad</pro> and <pro>plot</pro> 
     30; (when /drawcell) 
    2431; 
    2532; @returns 
    26 ;     the index of the selected cells regarding to the grid which 
    27 ;     is in memory in the variable of the common. If /ij keyword is 
    28 ;     activated give 2D array (2, n) which are the i,j position of the 
    29 ;     n selected cells. 
    30 ; 
    31 ; @uses common.pro 
     33; the index of the selected cells regarding to the grid which 
     34; is in memory in the variable of the common. If /ij keyword is 
     35; activated give 2D array (2, n) which are the i,j position of the 
     36; n selected cells. 
     37; 
     38; @uses 
     39; common.pro 
    3240; 
    3341; @examples 
    34 ; 
    3542; IDL> res = clickincell() 
    3643;     Click with the left button to select a cell. Clicking one more 
     
    4552;      August 2003 
    4653; 
    47 ; @version $Id$ 
     54; @version 
     55; $Id$ 
    4856; 
    4957;- 
     58; 
    5059FUNCTION clickincell, CELLTYPE = celltype, DRAWCELL = drawcell, COLOR = color, ORIGINAL = original, IJ = ij, _EXTRA = extra 
    5160; 
  • trunk/SRC/Interpolation/compute_fromreg_imoms3_weigaddr.pro

    r226 r231  
    5353;  March 2006: works for rectangular grids 
    5454; 
    55 ; @version $Id$ 
     55; @version 
     56; $Id$ 
    5657; 
    5758;- 
    58 ; 
    59 ;---------------------------------------------------------- 
    60 ;---------------------------------------------------------- 
    6159; 
    6260PRO compute_fromreg_imoms3_weigaddr, alonin, alatin, olonin, olat, weig, addr $ 
  • trunk/SRC/Interpolation/cutpar.pro

    r163 r231  
    44; cut p parallelogram(s) into p*n^2 parallelograms 
    55; 
    6 ; @categories basic work 
     6; @categories 
     7; basic work 
    78; 
    89; @param x0 {in}{required} 
     
    3435;  of each piece of the parallelograms 
    3536; 
    36 ; @uses cutsegment.pro 
     37; @uses 
     38; <pro>cutsegment</pro> 
    3739; 
    3840; @examples 
     
    5658;           July 5th, 2002 
    5759; 
    58 ; @version $Id$ 
     60; @version 
     61; $Id$ 
    5962; 
    6063;- 
     64; 
    6165FUNCTION cutpar, x0, y0, x1, y1, x2, y2, x3, y3, n, ENDPOINTS = endpoints, ONSPHERE = onsphere 
    6266; 
  • trunk/SRC/Interpolation/cutsegment.pro

    r163 r231  
    44; cut p segments into p*n equal parts 
    55; 
    6 ; @categories basic work 
     6; @categories 
     7; basic work 
    78; 
    89; @param x0 {in}{required} 
     
    4546;           July 5th, 2002 
    4647; 
    47 ; @version $Id$ 
     48; @version 
     49; $Id$ 
    4850; 
    4951;- 
     52; 
    5053FUNCTION cutsegment, x0, y0, x1, y1, n, ENDPOINTS = endpoints, ONSPHERE = onsphere 
    5154; 
  • trunk/SRC/Interpolation/extrapolate.pro

    r226 r231  
    5151; 
    5252;- 
     53; 
    5354FUNCTION extrapolate, zinput, maskinput, nb_iteration, x_periodic = x_periodic $ 
    5455                      , MINVAL = minval, MAXVAL = maxval, GE0 = ge0 
  • trunk/SRC/Interpolation/extrapsmooth.pro

    r226 r231  
    55; extrapolate data where maskinput eq 0 by filling 
    66; step by step the coastline points with the mean value of the 8 neighbourgs. 
    7 ; 
    87; 
    98; @categories 
     
    4544; $Id$ 
    4645;- 
     46; 
    4747FUNCTION extrapsmooth, in, mskin, x_periodic = x_periodic, MINVAL = minval, MAXVAL = maxval, GE0 = ge0 
    4848; 
  • trunk/SRC/Interpolation/fromirr.pro

    r228 r231  
    55;   Only 1 method available = bilinear 
    66; 
    7 ; @categories  
     7; @categories 
    88; Interpolation 
    99; 
     
    3838; 
    3939; @keyword ADDR {type=2d array} 
    40 ; 1) at the first call of fromirr:  
     40; 1) at the first call of fromirr: 
    4141; This keyword can be set to a named variable (undefined or equal to 0) into which the 
    4242; addresses used to perform the interpolation will be copied when the current routine exits. 
     
    8181;  June 2006: Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    8282; 
    83 ; @version $Id$ 
     83; @version 
     84; $Id$ 
    8485; 
    8586;- 
    86 ;---------------------------------------------------------- 
    87 ;---------------------------------------------------------- 
    8887; 
    8988FUNCTION fromirr, method, datain, lonin, latin, mskin, lonout, latout, mskout $ 
  • trunk/SRC/Interpolation/fromreg.pro

    r228 r231  
    8181;  November 2005: Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    8282; 
    83 ; @version $Id$ 
     83; @version 
     84; $Id$ 
    8485; 
    8586;- 
    86 ;---------------------------------------------------------- 
    87 ;---------------------------------------------------------- 
    8887; 
    8988FUNCTION fromreg, method, datain, lonin, latin, lonout, latout $ 
  • trunk/SRC/Interpolation/get_gridparams.pro

    r226 r231  
    7171;  November 2005: Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    7272; 
    73 ; @version $Id$ 
     73; @version 
     74; $Id$ 
    7475; 
    7576;- 
    76 ; 
    77 ;---------------------------------------------------------- 
    78 ;---------------------------------------------------------- 
    7977; 
    8078PRO get_gridparams, in1,   in2,   in3,     in4, in5, in6, in7, in8, DOUBLE = double 
  • trunk/SRC/Interpolation/imoms3.pro

    r134 r231  
    44; @param xin {in}{required} 
    55; 
    6 ; @version $Id$ 
     6; @version 
     7; $Id$ 
    78; 
    89;- 
     10; 
    911FUNCTION imoms3, xin 
    1012; 
  • trunk/SRC/Interpolation/inquad.pro

    r226 r231  
    7171; IDL> print, inquad(x, y, x1, y1, x2, y2, x3, y3, x4, y4) 
    7272; 
    73 ; On a sphere see clickincell.pro... 
     73; On a sphere see 
     74; <pro>clickincell.pro</pro> ... 
    7475; 
    7576; @history 
     
    7879;      Based on Convert_clic_ij.pro written by Gurvan Madec 
    7980; 
    80 ; @version $Id$ 
     81; @version 
     82; $Id$ 
    8183; 
    8284;- 
     85; 
    8386FUNCTION inquad, x, y, x1, y1, x2, y2, x3, y3, x4, y4, ONSPHERE = onsphere,  DOUBLE = double, ZOOMRADIUS = zoomradius, NOPRINT = noprint, NEWCOORD = newcoord 
    8487; 
  • trunk/SRC/Interpolation/inrecgrid.pro

    r163 r231  
    5151; October 3rd, 2003: use value_locate 
    5252; 
    53 ; @version $Id$ 
     53; @version 
     54; $Id$ 
    5455; 
    5556;- 
     57; 
    5658FUNCTION inrecgrid, x1d, y1d, left, bottom, OUTPUT2D = output2d, CHECKOUT = checkout 
    5759; 
  • trunk/SRC/Interpolation/ll_narcs_distances.pro

    r163 r231  
    1010; 1395. Equations (5-5) and (5-6). 
    1111; 
    12 ; @categories Mapping, geography 
     12; @categories  
     13; Mapping, geography 
    1314; 
    1415; @param Lon0 {in}{required} 
     
    6364;                  August 2005 
    6465; 
    65 ; @version $Id$ 
     66; @version 
     67; $Id$ 
    6668; 
    6769;- 
  • trunk/SRC/Interpolation/map_npoints.pro

    r163 r231  
    99; without do loop. 
    1010; 
    11 ; @categories Maps 
     11; @categories 
     12; Maps 
    1213; 
    1314; @param Lon0 {in}{required} 
     
    9798; October 2003 
    9899; 
    99 ; @version $Id$ 
     100; @version 
     101; $Id$ 
    100102; 
    101103;- 
     104; 
    102105Function map_npoints, lon0, lat0, lon1, lat1, AZIMUTH = azimuth $ 
    103106 , RADIANS = radians, RADIUS = radius, MIDDLE = middle, TWO_BY_TWO = two_by_two 
    104107 
    105  COMPILE_OPT idl2, strictarrsubs 
     108 compile_opt idl2, strictarrsubs 
    106109 
    107110 IF (N_PARAMS() LT 4) THEN $ 
  • trunk/SRC/Interpolation/neighbor.pro

    r136 r231  
    55; P1 Which can be on a sphere 
    66; 
    7 ; @categories Maps 
     7; @categories 
     8; Maps 
    89; 
    910; @param p0lon {in}{required} 
     
    4041;                  October 2003 
    4142; 
    42 ; @version $Id$ 
     43; @version 
     44; $Id$ 
    4345; 
    4446;- 
     47; 
    4548FUNCTION neighbor, p0lon, p0lat, neighlon, neighlat, sphere = sphere, distance = distance, radians = radians 
    4649; 
  • trunk/SRC/Interpolation/quadrilateral2square.pro

    r163 r231  
    88;       (x2,y2) -> (1,1) 
    99;       (x3,y3) -> (0,1) 
    10 ; This is the inverse function of square2quadrilateral.pro 
     10; This is the inverse function of <pro>square2quadrilateral</pro>. 
     11; 
    1112; The mapping is done using perspective transformation which preserve 
    1213; lines in all orientations and permit quadrilateral to quadrilateral 
    1314; mappings. see ref. bellow. 
    1415; 
    15 ; @categories  
     16; @categories 
    1617; Picture, Grid 
    1718; 
     
    7071; 
    7172; 
    72 ; @version $Id$ 
     73; @version 
     74; $Id$ 
    7375; 
    7476;- 
    75 ;------------------------------------------------------------ 
    76 ;------------------------------------------------------------ 
    77 ;------------------------------------------------------------ 
     77; 
    7878FUNCTION quadrilateral2square, x0in, y0in, x1in, y1in, x2in, y2in, x3in, y3in, xxin, yyin, PERF = perf 
    79 ; 
    8079; 
    8180  compile_opt idl2, strictarrsubs 
  • trunk/SRC/Interpolation/spl_fstdrv.pro

    r186 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    3936;  Sebastien Masson (smasson\@lodyc.jussieu.fr): May 2005 
    4037; 
    41 ; @version $Id$ 
     38; @version 
     39; $Id$ 
    4240; 
    4341;- 
    44 ;------------------------------------------------------------ 
    45 ;------------------------------------------------------------ 
    46 ;------------------------------------------------------------ 
     42; 
    4743FUNCTION spl_fstdrv, x, y, yscd, x2 
    4844; 
  • trunk/SRC/Interpolation/spl_incr.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    6259;  Sebastien Masson (smasson\@lodyc.jussieu.fr): May-Dec 2005 
    6360; 
    64 ; @version $Id$ 
     61; @version 
     62; $Id$ 
    6563; 
    6664;- 
    67 ;------------------------------------------------------------ 
    68 ;------------------------------------------------------------ 
    69 ;------------------------------------------------------------ 
     65; 
    7066FUNCTION pure_concave, x1, x2, y1, y2, der2, x 
    7167; X^n type 
  • trunk/SRC/Interpolation/spl_keep_mean.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; @file_comments 
     
    7370;  Sebastien Masson (smasson\@lodyc.jussieu.fr): May 2005 
    7471; 
    75 ; @version $Id$ 
     72; @version 
     73; $Id$ 
    7674; 
    7775;- 
    78 ;------------------------------------------------------------ 
    79 ;------------------------------------------------------------ 
    80 ;------------------------------------------------------------ 
     76; 
    8177FUNCTION spl_keep_mean, x, yin, x2, YP0 = yp0, YPN_1 = ypn_1, GE0 = ge0 
    8278; 
  • trunk/SRC/Interpolation/square2quadrilateral.pro

    r163 r231  
    1212; mappings. see ref. bellow. 
    1313; 
    14 ; @categories  
     14; @categories 
    1515; Picture, Grid 
    1616; 
     
    6363; 
    6464; 
    65 ; @version $Id$ 
     65; @version 
     66; $Id$ 
    6667; 
    6768;- 
    68 ;------------------------------------------------------------ 
    69 ;------------------------------------------------------------ 
    70 ;------------------------------------------------------------ 
     69; 
    7170FUNCTION square2quadrilateral, x0in, y0in, x1in, y1in, x2in, y2in, x3in, y3in, xxin, yyin 
    7271; 
  • trunk/SRC/Matrix/different.pro

    r230 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    4441; 
    4542;- 
    46 ;------------------------------------------------------------ 
    47 ;------------------------------------------------------------ 
    48 ;------------------------------------------------------------ 
     43; 
    4944FUNCTION different, a, b 
    5045; 
  • trunk/SRC/Matrix/extrac2.pro

    r230 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    8077; 
    8178;- 
    82 ;------------------------------------------------------------ 
    83 ;------------------------------------------------------------ 
    84 ;------------------------------------------------------------ 
     79; 
    8580FUNCTION extrac2, array, index1, index2, index3, index4 
    86 ;------------------------------------------------------------ 
    8781; 
    8882  compile_opt idl2, strictarrsubs 
     
    9084   taille = size(array) 
    9185;------------------------------------------------------------ 
    92 ; test of the numbre of parameters 
     86; test of the number of parameters 
    9387; and of the nature of the index (for THE case 'x') 
    9488;------------------------------------------------------------ 
  • trunk/SRC/Matrix/inter.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    3532; 
    3633;- 
    37 ;------------------------------------------------------------ 
    38 ;------------------------------------------------------------ 
    39 ;------------------------------------------------------------ 
    40  
     34; 
    4135FUNCTION inter, a, b 
    4236; 
  • trunk/SRC/Matrix/make_selection.pro

    r223 r231  
    6868; mgs, 28 Aug 1998: VERSION 1.00 
    6969; mgs, 29 Aug 1998: - changed behavior and added ONLY_VALID keyword 
    70 ; 
    71 ; @version 
    72 ; $Id$ 
    73 ; 
    74 ;- 
    7570; Copyright (C) 1998, Martin Schultz, Harvard University 
    7671; This software is provided as is without any warranty 
     
    8277; Bugs and comments should be directed to mgs@io.harvard.edu 
    8378; with subject "IDL routine make_selection" 
    84 ;------------------------------------------------------------- 
    85  
    86  
     79; 
     80; @version 
     81; $Id$ 
     82; 
     83;- 
     84; 
    8785function make_selection,names,selnames,  $ 
    8886            only_valid=only_valid,required=required,  $ 
  • trunk/SRC/Matrix/union.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
    6 ; @file_comments  
     3; @file_comments 
    74; calculate the union between 2 matrices of whole numbers 
    85; 
    9 ; @categories  
     6; @categories 
    107; Calculation 
    118; 
    12 ; @param a {in}{required} arrays of positive integers, which need 
     9; @param a {in}{required} 
     10; arrays of positive integers, which need 
    1311;               not be sorted. Duplicate elements are ignored, as they have no 
    1412;               effect on the result 
     
    1614; @param b {in}{required} see a 
    1715; 
    18 ; @returns tableau 
     16; @returns 
     17; tableau 
    1918; 
    20 ; @restrictions The empty set is denoted by an array with the first element equal to 
    21 ; -1. 
     19; @restrictions 
     20; The empty set is denoted by an array with the first element equal to -1. 
    2221; 
    2322; @restrictions These functions will not be efficient on sparse sets with wide 
     
    2625; resulting set. 
    2726; 
    28 ; @examples a = [2,4,6,8] 
    29 ;           b = [6,1,3,2] 
    30 ;           union(a,b) = [ 1, 2, 3, 4, 6, 8]  ; Elements in either set 
     27; @examples 
     28; IDL> a = [2,4,6,8] 
     29; IDL> b = [6,1,3,2] 
     30; IDL> union(a,b) = [ 1, 2, 3, 4, 6, 8]  ; Elements in either set 
    3131; 
    32 ; @history  http://www.dfanning.com/tips/set_operations.html 
     32; @history 
     33; http://www.dfanning.com/tips/set_operations.html 
    3334; 
    34 ; @version $Id$ 
     35; @version 
     36; $Id$ 
    3537; 
    3638;- 
    37 ;------------------------------------------------------------ 
    38 ;------------------------------------------------------------ 
    39 ;------------------------------------------------------------ 
     39; 
    4040FUNCTION union, a, b 
    4141; 
  • trunk/SRC/Matrix/zero_one.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; @file_comments  
     
    2017; 
    2118;- 
    22 ;------------------------------------------------------------ 
    23 ;------------------------------------------------------------ 
    24 ;------------------------------------------------------------ 
     19; 
    2520function zero_one, n1,n2 
    2621; 
  • trunk/SRC/Obsolete/common.pro

    r134 r231  
    22; @obsolete 
    33; 
    4 ; @version $Id$ 
     4; @version 
     5; $Id$ 
    56; 
    67;- 
  • trunk/SRC/Obsolete/congridseb.pro

    r157 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; @file_comments 
     
    4845; 
    4946;- 
    50 ;------------------------------------------------------------ 
    51 ;------------------------------------------------------------ 
    52 ;------------------------------------------------------------ 
     47; 
    5348function congridseb, tableau, x, y 
    5449; 
  • trunk/SRC/Obsolete/cp.pro

    r134 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; @file_comments 
     
    1310; @param filenameout {in}{required} 
    1411; 
    15 ; @keyword _EXTRA used to pass your keywords 
     12; @keyword _EXTRA 
     13; Used to pass keywords 
    1614; 
    1715; @history 
    1816; June 2005: Sebastien Masson => obsolete routine 
    1917; 
    20 ; @version $Id$ 
     18; @version 
     19; $Id$ 
    2120; 
    2221;- 
    23 ;------------------------------------------------------------ 
    24 ;------------------------------------------------------------ 
    25 ;------------------------------------------------------------ 
     22; 
    2623PRO cp, filenamein, filenameout, _extra = ex 
    2724; 
  • trunk/SRC/Obsolete/extrait.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
    6 ; @file_comments  
    7 ; extraction of subdomains of matrices;  
     3; @file_comments 
     4; extraction of subdomains of matrices; 
    85; Even if the subdomain is "pierced" (see the example) 
    96; By default, IDL can make extractions of subdomain: 
    107; 
    11 ;      IDL> a=indgen(5,5)  
    12 ;      IDL> print, a  
     8;      IDL> a=indgen(5,5) 
     9;      IDL> print, a 
    1310;             0       1       2       3       4 
    1411;             5       6       7       8       9 
     
    1613;            15      16      17      18      19 
    1714;            20      21      22      23      24 
    18 ;      IDL> print, a[[0,2],3]  
     15;      IDL> print, a[[0,2],3] 
    1916;            15      17 
    20 ;      IDL> print, a[[0,2],*]   
     17;      IDL> print, a[[0,2],*] 
    2118;             0       2 
    2219;             5       7 
     
    2522;            20      22 
    2623; but 
    27 ;      IDL> print, a[[0,2],[3,4]]  
     24;      IDL> print, a[[0,2],[3,4]] 
    2825;            15      22 
    2926; while 
    30 ;      IDL> print, extrait(a,[0,2],[3,4])   
     27;      IDL> print, extrait(a,[0,2],[3,4]) 
    3128;            15      17 
    3229;            20      22 
     
    3734; @obsolete 
    3835; 
    39 ; @categories  
     36; @categories 
    4037; Utilities 
    4138; 
    42 ; @param tab {in}{required}  
     39; @param tab {in}{required} 
    4340; a 1,2,3 or 4 dim table 
    4441; 
    45 ; @param indicex {in}{required}  
     42; @param indicex {in}{required} 
    4643; can have 2 forms: 
    4744; 1)a vector containing indexes of lines we want to keep 
    4845; 2)the string '*' if we want to keep all lines. 
    4946; 
    50 ; @param indicey {in}{required}  
     47; @param indicey {in}{required} 
    5148; the same thing that indicex but for dim 2. 
    5249; 
    53 ; @param indicez {in}{required}  
     50; @param indicez {in}{required} 
    5451; the same thing that indicex but for dim 3. 
    55 ;  
    56 ; @param indicet {in}{required}  
     52; 
     53; @param indicet {in}{required} 
    5754; the same thing that indicex but for dim 4. 
    5855; 
    59 ; @returns  
     56; @returns 
    6057; a matrix 1,2,3 or 4d extract from tab 
     58; -1 in case of mistake 
    6159; 
    62 ; @restrictions  
    63 ; res=-1 in case of mistake 
    64 ;  
    65 ; @examples  
    66 ; I have a dim 2 matrix named A. I want extract a small intersection  
     60; @examples 
     61; I have a dim 2 matrix named A. I want extract a small intersection 
    6762; matrix 2d of the line 2,3 and 7 and of the column 0 and 1: 
    68 ;       
     63; 
    6964; IDL> res=extrait(A,[2,3,7],[0,1]) 
    7065; 
    7166; other ex: 
    72 ; IDL> print, a  
     67; IDL> print, a 
    7368; a b c 
    7469; d e f 
    7570; g h i 
    76 ; IDL> print, extrait(a,[0,2],[0,2])         
     71; IDL> print, extrait(a,[0,2],[0,2]) 
    7772; a c 
    7873; g i 
    79 ;  
     74; 
    8075; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    8176; 12/1/1999 
     
    8580; 
    8681;- 
    87 ;------------------------------------------------------------ 
    88 ;------------------------------------------------------------ 
    89 ;------------------------------------------------------------ 
     82; 
    9083FUNCTION extrait, tab, indicex, indicey, indicez, indicet 
    91 ;------------------------------------------------------------ 
    9284; 
    9385  compile_opt idl2, strictarrsubs 
  • trunk/SRC/Obsolete/ficdate.pro

    r134 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; @file_comments 
     
    96; @obsolete 
    107; 
    11 ; @param vdate {in} date vairmer ex:930124 
     8; @param vdate {in} 
     9; date vairmer ex:930124 
    1210; 
    13 ; @param dim {in} 'so' ou 'vo' par defaut so est choisi 
     11; @param dim {in} 
     12; 'so' ou 'vo' par defaut so est choisi 
    1413; 
    15 ; @param nomexp {in} nom de l'experience en trois lettres par defaut prefix 
     14; @param nomexp {in} 
     15; nom de l'experience en trois lettres par defaut prefix 
    1616; 
    17 ; @returns le nom du fichier vairmer (depuis iodir) 
     17; @returns 
     18; le nom du fichier vairmer (depuis iodir) 
    1819; 
    19 ; @uses common.pro 
     20; @uses 
     21; common.pro 
    2022; 
    2123; @examples 
    2224; IDL> fic = ficdate(930124) 
    2325; 
    24 ; @history Jerome Vialard  (jv\@lodyc.jussieu.fr) 
    25 ;1/7/98 
     26; @history 
     27; Jerome Vialard  (jv\@lodyc.jussieu.fr) 
     28; 1/7/98 
    2629; 
    27 ; @version $Id$ 
     30; @version 
     31; $Id$ 
    2832; 
    2933;- 
    30 ;------------------------------------------------------------ 
    31 ;------------------------------------------------------------ 
    32 ;------------------------------------------------------------ 
     34; 
    3335function ficdate, vdate, dim, nomexp 
    3436; 
  • trunk/SRC/Obsolete/fictype.pro

    r134 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; @file_comments 
     
    96; @param vdate {in}{required} 
    107; 
    11 ; @param dim unused 
     8; @param dim 
     9; unused 
    1210; 
    13 ; @uses common.pro 
     11; @uses 
     12; common.pro 
    1413; 
    1514; @examples 
     
    2221; 
    2322;- 
    24 ;------------------------------------------------------------ 
    25 ;------------------------------------------------------------ 
    26 ;------------------------------------------------------------ 
     23; 
    2724function fictype, vdate, dim 
    2825; 
  • trunk/SRC/Obsolete/imprime.pro

    r134 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; @file_comments 
     
    1411; @keyword NB 
    1512; 
    16 ; @uses printps 
     13; @uses 
     14; printps 
    1715; 
    1816; @history 
    1917; June 2005: Sebastien Masson, english version 
    2018; 
    21 ; @version $Id$ 
     19; @version 
     20; $Id$ 
    2221; 
    2322;- 
    24 ;------------------------------------------------------------ 
    25 ;------------------------------------------------------------ 
    26 ;------------------------------------------------------------ 
     23; 
    2724PRO imprime, filename, TRANS = trans, NB = nb 
    2825; 
  • trunk/SRC/Obsolete/jourdsmois.pro

    r134 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; @file_comments 
    6 ; used daysinmonth instead... 
     3; used <pro>daysinmonth<pro> instead 
    74; 
    85; @obsolete 
     
    129; @param annee {in}{optional} 
    1310; 
    14 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 
     11; @history 
     12; Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    1513; June 2005: Sebastien Masson, english version 
    1614; 
    17 ; @version $Id$ 
     15; @version 
     16; $Id$ 
    1817; 
    1918;- 
    20 ;------------------------------------------------------------ 
    21 ;------------------------------------------------------------ 
    22 ;------------------------------------------------------------ 
     19; 
    2320function jourdsmois, mois, annee 
    2421; 
  • trunk/SRC/Obsolete/juldate.pro

    r157 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    5 ; @file_comments  
     2; @file_comments 
    63; gives julian date equivalent of a date in vairmer 
    74; ( yymmdd or yyyymmdd ) format 
     
    129; @obsolete 
    1310; 
    14 ; @categories  
     11; @categories 
    1512; Calendar 
    1613; 
    17 ; @param vvdate {in} date de la forme yymmdd ou yyyymmdd 
     14; @param vvdate {in} 
     15; date de la forme yymmdd ou yyyymmdd 
    1816; 
    19 ; @keyword _EXTRA used to pass your keywords 
     17; @keyword _EXTRA 
     18; Used to pass keywords 
    2019; 
    21 ; @uses common.pro vraidate 
     20; @uses 
     21; common.pro 
     22; vraidate 
    2223; 
    23 ; @returns date en jour julien 
     24; @returns 
     25; date en jour julien 
    2426;   l'annee 0 n'existant pas, qd year est nulle on calcule le 
    2527;     jour julien de l'annee -1. 
     
    3133; IDL> date = juldate(930124) 
    3234; 
    33 ; @history Jerome Vialard  (jv\@lodyc.jussieu.fr) 
     35; @history 
     36; Jerome Vialard  (jv\@lodyc.jussieu.fr) 
    3437; 2/7/98 
    3538; 
    36 ; @version $Id$ 
     39; @version 
     40; $Id$ 
    3741; 
    3842;- 
    39 ;------------------------------------------------------------ 
    40 ;------------------------------------------------------------ 
    41 ;------------------------------------------------------------ 
     43; 
    4244function juldate, vvdate, _EXTRA = ex 
    4345; 
  • trunk/SRC/Obsolete/lec.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; @file_comments 
     
    2118; IDL> resultat=lec('nom_Vairmer'[,date[,'nom_experience']]) 
    2219; 
    23 ; @param nomchamp {in}{required} 2 choix possibles: 
     20; @param nomchamp {in}{required} 
     21; 2 choix possibles: 
    2422;             1) nom de champ Vairmer (chaine de 8 caracteres en majuscule ou 
    2523; minuscule commencant par vo ou so). Dans cette methode on saute directement 
     
    2927; plus rapide car elle va directement chercher le fichier qui nous interesse. 
    3028; 
    31 ; @param date {in}{optional} nombres de 6 ou 8 chiffres (anneemoisjour, par ex:19980507) 
    32 ; 
    33 ; @param nomexp {in}{optional} trois lettres designant le nom de l'experience 
    34 ; 
    35 ; 
    36 ; @keyword ANOM {in} type du fichier vairmer par rapport auquel on doit calculer 
     29; @param date {in}{optional} 
     30; nombres de 6 ou 8 chiffres (anneemoisjour, par ex:19980507) 
     31; 
     32; @param nomexp {in}{optional} 
     33; trois lettres designant le nom de l'experience 
     34; 
     35; 
     36; @keyword ANOM {in} 
     37; type du fichier vairmer par rapport auquel on doit calculer 
    3738;             l'anomalie ('EX','AN','SE','MO','') 
    3839; 
    39 ; @keyword ECRIT {in} permet d'imprimer tous les noms vairmer que contient le fichier. 
     40; @keyword ECRIT {in} 
     41; permet d'imprimer tous les noms vairmer que contient le fichier. 
    4042; ds ce cas en input on met seulement 'vo' ou 'so' la fonction retourne le 
    4143; nombre de fichiers lus. 
     
    4345; @keyword BOITE 
    4446; 
    45 ; @keyword EXPANOM {in} si on calcule l'anom par rapport a une exper 
    46 ;       differente 
    47 ; 
    48 ; @keyword FILENAME string pour passer directement le nom du champ sans 
     47; @keyword EXPANOM {in} 
     48; si on calcule l'anom par rapport a une exper differente 
     49; 
     50; @keyword FILENAME 
     51; string pour passer directement le nom du champ sans 
    4952;       utiliser les inputs: nom_Vairmer',date,'nom_experience'. Rq si 
    5053;       ces inputs sont qd meme donnes ils ne sont pas modifies par 
    5154;       filename. 
    5255; 
    53 ; @keyword GRID lorsque ce mot clef est active, lec retourne la liste 
     56; @keyword GRID 
     57; lorsque ce mot clef est active, lec retourne la liste 
    5458;       des types de grilles (T, U...) auxquelles se rapportent les 
    5559;       variables. ds ce cas en input on met seulement 'vo' ou 'so'. 
    5660; 
    57 ; @keyword NAME lorsque ce mot clef est active, lec retourne la liste 
     61; @keyword NAME 
     62; lorsque ce mot clef est active, lec retourne la liste 
    5863;       des noms des variables. ds ce cas en input on met seulement 
    5964;       'vo' ou 'so'. 
    6065; 
    61 ; @keyword TOUT  oblige lec a lire le champ sur tout le domaine qui a 
     66; @keyword TOUT 
     67; oblige lec a lire le champ sur tout le domaine qui a 
    6268;       etait selectionne pour la cession en cours (jpi,jpj,jpk) 
    6369; 
    64 ; @returns un tableau 2 ou 3d. sans le mot cle /TOUT, sa taille est 
     70; @returns 
     71; un tableau 2 ou 3d. sans le mot cle /TOUT, sa taille est 
    6572; celle du sous domaine definit par domdef (nx,ny,nz). avec /TOUT le 
    6673; champ a la taille du  domaine qui a etait selectionne pour la 
    6774; cession en cours (jpi,jpj,jpk). 
    6875; pour les sous domaines cf: 
    69 ;        http://www.ipsl.jussieu.fr/~smlod/sousdomaine.html 
     76;        <a href="http://www.ipsl.jussieu.fr/~smlod/sousdomaine.html"> 
    7077; Retourne -1 en cas d'erreur. 
    7178; 
    72 ; @uses common.pro isnumber.pro fivardate.pro 
     79; @uses 
     80; common.pro 
     81; isnumber.pro 
     82; fivardate.pro 
    7383; 
    7484; @history 
     
    8393;                       2/99 
    8494; 
    85 ; @version  
     95; @version 
    8696; $Id$ 
    87 ; 
    88 ;;- 
    89 ;-------------------------------------------------------------- 
    90 ;-------------------------------------------------------------- 
    91 ;-------------------------------------------------------------- 
     97;- 
     98; 
    9299function lec, nomchamp,date,nomexp,ECRIT=ecrit,ANOM=anom, BOITE = boite,EXPANOM=expanom, TOUT = tout, GRID = grid, NAME = name, filename = FILENAME 
    93100; 
  • trunk/SRC/Obsolete/lect.pro

    r157 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    1411; @obsolete 
    1512; 
    16 ; @categories  
     13; @categories 
    1714; Graphics, Reading 
    1815; 
     
    4744; par defaut la meme que nomexp 
    4845; 
    49 ; @uses common vraidate juldate 
    50 ; 
    51 ; @history Jerome Vialard (jv\@lodyc.jussieu.fr) 
     46; @uses 
     47; common 
     48; vraidate 
     49; juldate 
     50; 
     51; @history 
     52; Jerome Vialard (jv\@lodyc.jussieu.fr) 
    5253; 2/7/98 
    5354; 
    54 ; @version $Id$ 
     55; @version 
     56; $Id$ 
    5557; 
    5658;- 
    57 ;-------------------------------------------------------------- 
    58 ;-------------------------------------------------------------- 
    59 ;-------------------------------------------------------------- 
     59; 
    6060;                  1      2      3    4      5 
    6161function lect, nomchamp,date1,date2,nomexp,direc,BOITE=boite, $ 
  • trunk/SRC/Obsolete/meshlec.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
    6 ; @file_comments  
     3; @file_comments 
    74; lecture du mask des sorties d'OPA. les sources se trouvent ds les 
    85; repertoires sur maia du type: 
     
    1411; IDL> meshmask[,' nomfich'] 
    1512; 
    16 ; @param nomfich {in}{required} string, c''est le nom du fichier a lire. Par defaut, c''est meshmask. 
    17 ; 
    18 ; @keyword GLAMBOUNDARY {in} un vecteur de 2 elements specifaint le min et le 
     13; @param nomfich {in}{required} 
     14; string, c''est le nom du fichier a lire. Par defaut, c''est meshmask. 
     15; 
     16; @keyword GLAMBOUNDARY {in} 
     17; un vecteur de 2 elements specifaint le min et le 
    1918; max qui doivent etre imposes en longitude (obligatoire si le 
    2019; tableau depasse 360 degres) 
    2120; 
    22 ; @keyword pasblabla {in} pour suprimer les blablas 
    23 ; 
    24 ; @keyword DOUBLE {in} pour forcer a lire les tableaux en double 
     21; @keyword pasblabla {in} 
     22; pour supprimer les blablas 
     23; 
     24; @keyword DOUBLE {in} 
     25; pour forcer a lire les tableaux en double 
    2526;        precision. ce Mot clef est maintenant active 
    2627;        automatiquement. 
     
    2829; @keyword GETDIMENSIONS 
    2930; 
    30 ; @uses common.pro 
     31; @uses 
     32; common.pro 
    3133; 
    3234; @restrictions 
     
    3638;  possible les mettre toutes a -1 et meshlec les calculera. 
    3739; 
    38 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 
     40; @history 
     41; Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    3942;     Marina Levy : lecture en double precision (cas calcul sur shine) 
    4043; 
    41 ; @version $Id$ 
     44; @version 
     45; $Id$ 
    4246; 
    4347;- 
    44 ;------------------------------------------------------------ 
    45 ;------------------------------------------------------------ 
    46 ;------------------------------------------------------------ 
    47 pro meshlec, nomfich, PASBLABLA = pasblabla,DOUBLE = double, GLAMBOUNDARY = glamboundary, GETDIMENSIONS = GETDIMENSIONS 
     48; 
     49PRO meshlec, nomfich, PASBLABLA = pasblabla,DOUBLE = double, GLAMBOUNDARY = glamboundary, GETDIMENSIONS = GETDIMENSIONS 
    4850; 
    4951  compile_opt idl2, strictarrsubs, obsolete 
  • trunk/SRC/Obsolete/ncdf_meshlec.pro

    r134 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    5 ; @file_comments  
    6 ; use ncdf_meshread instead... 
     2; @file_comments 
     3; use <pro>ncdf_meshread</pro> instead 
    74; 
    85; @obsolete 
     
    107; @param filename 
    118; 
    12 ; @keyword _EXTRA used to pass your keywords 
     9; @keyword _EXTRA 
     10; Used to pass keywords 
    1311; 
    1412; @history 
    1513; Aug. 2005, Sebastien Masson: switch to ncdf_meshread 
    1614; 
    17 ; @version $Id$ 
     15; @version 
     16; $Id$ 
    1817; 
    1918;- 
    20 ;------------------------------------------------------------ 
    21 ;------------------------------------------------------------ 
    22 ;------------------------------------------------------------ 
     19; 
    2320PRO ncdf_meshlec, filename, _EXTRA = ex 
    24 ; 
    2521; 
    2622  compile_opt idl2, strictarrsubs, obsolete 
  • trunk/SRC/Obsolete/nlec.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    5 ; @file_comments  
     2; @file_comments 
    63; lit les fichiers Net-Cdf de l'experience TOTEM/ECMWF qui sont sur 
    74; maia: /u/rech/eee/reee217/TOTEM/REF/OUTPUTS 
     
    96; @obsolete 
    107; 
    11 ; @param name {in}{required} nom du tableau contenant le champ que l'on veut (le 
     8; @param name {in}{required} 
     9; nom du tableau contenant le champ que l'on veut (le 
    1210; trouver avec ncdflec,fichier,/var 
    1311; 
    14 ; @param debut {in} nombres de 6 ou 8 chiffres (anneemoisjour, par ex:19980507) 
    15 ; @param fin {in} nombres de 6 ou 8 chiffres (anneemoisjour, par ex:19980507) 
    16 ; @param nomexperience {in}{optional} trois lettres designant le nom de l'experience 
    17 ; 
    18 ; 
    19 ; @keyword BOITE boite sur laquelle integrer (par defaut tt le domaine) 
    20 ; 
    21 ; @keyword DIREC 'x' 'y' 'z' 'xy' 'xz' 'yz' 'xyz' directions selon lesquelles 
    22 ;             effectuer les moyennes (si rien n'est donne on n'effectue pas de moyenne) 
    23 ; 
    24 ; @keyword GRILLE impose la grille a laquelle est rapporte le champ. rq permet 
     12; @param debut {in} 
     13; nombres de 6 ou 8 chiffres (anneemoisjour, par ex:19980507) 
     14; 
     15; @param fin {in} 
     16; nombres de 6 ou 8 chiffres (anneemoisjour, par ex:19980507) 
     17; 
     18; @param nomexperience {in}{optional} 
     19; trois lettres designant le nom de l'experience 
     20; 
     21; @keyword BOITE 
     22; boite sur laquelle integrer (par defaut tt le domaine) 
     23; 
     24; @keyword DIREC 
     25; 'x' 'y' 'z' 'xy' 'xz' 'yz' 'xyz' directions selon lesquelles 
     26; effectuer les moyennes (si rien n'est donne on n'effectue pas de moyenne) 
     27; 
     28; @keyword GRILLE 
     29; impose la grille a laquelle est rapporte le champ. rq permet 
    2530; d'aller plus vite ds la lecture 
    2631; 
    27 ; @keyword TOUT oblige a lire le tableau entier en non pas celui reduit a domdef 
     32; @keyword TOUT 
     33; oblige a lire le tableau entier en non pas celui reduit a domdef 
     34; 
    2835; @keyword STRUCTURE 
     36; 
    2937; @keyword SEUILMIN 
     38; 
    3039; @keyword SEUILMAX 
     40; 
    3141; @keyword NAN 
    3242; 
    33 ; @keyword _EXTRA used to pass your keywords 
    34 ; 
    35 ; @uses common.pro vraidate juldate  nlec5j nlecserie 
    36 ; 
    37 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 
     43; @keyword _EXTRA 
     44; Used to pass keywords 
     45; 
     46; @uses 
     47; common.pro 
     48; vraidate 
     49; juldate 
     50; nlec5j 
     51; nlecserie 
     52; 
     53; @history 
     54; Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    3855;   14/8/98 
    3956; 
    40 ; @version $Id$ 
     57; @version 
     58; $Id$ 
    4159; 
    4260;- 
     
    4765;REF.07.790101.grid.W.nc 
    4866;------------------------------------------------------------ 
    49 ;------------------------------------------------------------ 
     67; 
    5068function nlec,name,debut,fin,nomexperience,BOITE=boite,DIREC=direc,GRILLE=grille,TOUT=tout $ 
    5169              , STRUCTURE = structure, SEUILMIN = seuilmin, SEUILMAX = seuilmax, NAN = nan $ 
  • trunk/SRC/Obsolete/nlec5j.pro

    r157 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    5 ; @file_comments  
     2; @file_comments 
    63; lit les fichiers Net-Cdf de l'experience TOTEM/ECMWF qui 
    74; contiennent les sorties a 5j regroupees par type de grille par 
     
    118; @obsolete 
    129; 
    13 ; @categories  
     10; @categories 
    1411; Reading 
    1512; 
     
    1714; IDL> res=nlec5j( nom, numsortie, nbretps) 
    1815; 
    19 ; @param nom {in}{required} nom du tableau contenant le champ que l'on veut (le 
     16; @param nom {in}{required} 
     17; nom du tableau contenant le champ que l'on veut (le 
    2018; trouver avec ncdflec,fichier,/var 
    2119; 
     
    2422; fichier (compte a partir de 1) a partir de year 
    2523; 
    26 ; @param nbretps {in}{required} nombre de pas de temps a extraire 
    27 ; 
    28 ; @keyword BOITE boite sur laquelle integrer (par defaut tt le domaine) 
    29 ; 
    30 ; @keyword GRILLE impose la grille a laquelle est rapporte le champ. rq permet 
     24; @param nbretps {in}{required} 
     25; nombre de pas de temps a extraire 
     26; 
     27; @keyword BOITE 
     28; boite sur laquelle integrer (par defaut tt le domaine) 
     29; 
     30; @keyword GRILLE 
     31; impose la grille a laquelle est rapporte le champ. rq permet 
    3132; d'aller plus vite ds la lecture 
    3233; 
    33 ; @keyword TOUT oblige a lire le tableau entier en non pas celui reduit a domdef 
    34 ; 
    35 ; @keyword _EXTRA used to pass your keywords 
     34; @keyword TOUT 
     35; oblige a lire le tableau entier en non pas celui reduit a domdef 
     36; 
     37; @keyword _EXTRA 
     38; Used to pass keywords 
    3639 
    37 ; @returns tableau 2d (qd on ne demande pas de serie) ou 3d ou 4d ds le cas dune serie 
    38 ; 
    39 ; @uses common.pro 
    40 ; 
    41 ; @restrictions appele par nlec 
    42 ; 
    43 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    44 ; 
    45 ; 
    46 ; @version $Id$ 
     40; @returns 
     41; tableau 2d (qd on ne demande pas de serie) ou 3d ou 4d ds le cas dune serie 
     42; 
     43; @uses 
     44; common.pro 
     45; 
     46; @restrictions 
     47; appele par <pro>nlec</pro> 
     48; 
     49; @history 
     50; Sebastien Masson (smasson\@lodyc.jussieu.fr) 
     51; 
     52; @version 
     53; $Id$ 
    4754; 
    4855;- 
    49 ;------------------------------------------------------------ 
    50 ;------------------------------------------------------------ 
    51 ;------------------------------------------------------------ 
     56; 
    5257function nlec5j, nom, numsortie, nbretps,BOITE = boite, GRILLE=grille,TOUT=tout, _EXTRA = ex 
    5358; 
  • trunk/SRC/Obsolete/nlecan.pro

    r157 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; @file_comments 
     
    1411; IDL> res=nlecan(nom, numsortie79, nbretps) 
    1512; 
    16 ; @param nom {in}{required} nom du tableau contenant le champ que l'on veut (le 
     13; @param nom {in}{required}  
     14; nom du tableau contenant le champ que l'on veut (le 
    1715; trouver avec ncdflec,fichier,/var 
    1816; 
    19 ; @param numsortie79 {in}{required} le numero du pas de temps que l'on veut sortir du 
     17; @param numsortie79 {in}{required}  
     18; le numero du pas de temps que l'on veut sortir du 
    2019; fichier (compte a partir de 1) a partir de 79 
    2120; 
    22 ; @param nbretps {in}{required} nombre de pas de temps a extraire 
     21; @param nbretps {in}{required}  
     22; nombre de pas de temps a extraire 
    2323; 
    24 ; @keyword BOITE  boite sur laquelle integrer (par defaut tt le domaine) 
     24; @keyword BOITE   
     25; boite sur laquelle integrer (par defaut tt le domaine) 
    2526; 
    26 ; @keyword GRILLE impose la grille a laquelle est rapporte le champ. rq permet 
     27; @keyword GRILLE  
     28; impose la grille a laquelle est rapporte le champ. rq permet 
    2729; d'aller plus vite ds la lecture 
    2830; 
    29 ; @keyword TOUT oblige a lire le tableau entier en non pas celui reduit a domdef 
     31; @keyword TOUT  
     32; oblige a lire le tableau entier en non pas celui reduit a domdef 
    3033; 
    31 ; @keyword _EXTRA used to pass your keywords 
     34; @keyword _EXTRA  
     35; Used to pass keywords 
    3236; 
    33 ; @returns tableau 2d (qd la serie ne fait que 1 pas de temps) ou 
     37; @returns  
     38; tableau 2d (qd la serie ne fait que 1 pas de temps) ou 
    3439; 3d (valable ds 1 premier tps que pour les tableaux 2d) 
    3540; 
    36 ; @uses common.pro 
     41; @uses  
     42; common.pro 
    3743; 
    38 ; @restrictions appele par nlec 
     44; @restrictions  
     45; appele par <pro>nlec</pro> 
    3946; 
    40 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 
     47; @history  
     48; Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    4149; 
    42 ; @version $Id$ 
     50; @version  
     51; $Id$ 
    4352; 
    4453;- 
    4554;------------------------------------------------------------ 
    46 ;------------------------------------------------------------ 
    4755;REF.moyenne.annuelle.grid.T.nc 
    4856;------------------------------------------------------------ 
     57; 
    4958function nlecan, nom, numsortie79, nbretps,BOITE = boite,GRILLE=grille,TOUT=tout, _EXTRA = ex 
    5059; 
  • trunk/SRC/Obsolete/nlecmois.pro

    r134 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    118; @obsolete 
    129; 
    13 ; @keyword BOITE boite sur laquelle integrer (par defaut tt le domaine) 
     10; @keyword BOITE 
     11; boite sur laquelle integrer (par defaut tt le domaine) 
    1412; 
    15 ; @keyword GRILLE impose la grille a laquelle est rapporte le champ. rq permet 
     13; @keyword GRILLE 
     14; impose la grille a laquelle est rapporte le champ. rq permet 
    1615; d'aller plus vite ds la lecture 
    1716; 
    18 ; @keyword TOUT oblige a lire le tableau entier en non pas celui reduit a domdef 
     17; @keyword TOUT 
     18; oblige a lire le tableau entier en non pas celui reduit a domdef 
    1919; 
    20 ; @keyword _EXTRA used to pass your keywords 
     20; @keyword _EXTRA 
     21; Used to pass keywords 
    2122; 
    22 ; @uses common.pro 
     23; @uses 
     24; common.pro 
    2325; 
    24 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 
     26; @history 
     27; Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    2528; 
    26 ; @version $Id$ 
     29; @version 
     30; $Id$ 
    2731; 
    2832;- 
    2933;------------------------------------------------------------ 
    30 ;------------------------------------------------------------ 
    3134;REF.moyenne.mensuelle.79-81.grid.T.nc 
    3235;------------------------------------------------------------ 
     36; 
    3337function nlecmois,nom,numsortie79,nbretps ,BOITE=boite,GRILLE=grille,TOUT=tout, _EXTRA = ex 
    3438; 
  • trunk/SRC/Obsolete/nlecsaison.pro

    r157 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; @file_comments 
     
    96; @obsolete 
    107; 
    11 ; @categories  
     8; @categories 
    129; Reading 
    1310; 
     
    1512; IDL> res=nlecsaison(nom, numsortie79, nbretps) 
    1613; 
    17 ; @param nom {in}{required} nom du tableau contenant le champ que l'on veut (le 
     14; @param nom {in}{required} 
     15; nom du tableau contenant le champ que l'on veut (le 
    1816; trouver avec ncdflec,fichier,/var 
    1917; 
    20 ; @param numsortie79 {in}{required} le numero du pas de temps que l'on veut sortir du 
     18; @param numsortie79 {in}{required} 
     19; le numero du pas de temps que l'on veut sortir du 
    2120; fichier (compte a partir de 1) a partir de 79 
    2221; 
    23 ; @param nbretps {in}{required} nombre de pas de temps a extraire 
     22; @param nbretps {in}{required} 
     23; nombre de pas de temps a extraire 
    2424; 
    25 ; @keyword BOITE boite sur laquelle integrer (par defaut tt le domaine) 
     25; @keyword BOITE 
     26; boite sur laquelle integrer (par defaut tt le domaine) 
    2627; 
    27 ; @keyword GRILLE impose la grille a laquelle est rapporte le champ. rq permet 
     28; @keyword GRILLE 
     29; impose la grille a laquelle est rapporte le champ. rq permet 
    2830; d'aller plus vite ds la lecture 
    2931; 
    30 ; @keyword TOUT oblige a lire le tableau entier en non pas celui reduit a domdef 
     32; @keyword TOUT 
     33; oblige a lire le tableau entier en non pas celui reduit a domdef 
    3134; 
    32 ; @keyword _EXTRA used to pass your keywords 
     35; @keyword _EXTRA 
     36; Used to pass keywords 
    3337; 
    34 ; @returns tableau 2d (qd la serie ne fait que 1 pas de temps) ou 
     38; @returns 
     39; tableau 2d (qd la serie ne fait que 1 pas de temps) ou 
    3540; 3d (valable ds 1 premier tps que pour les tableaux 2d) 
    3641; 
    37 ; @uses common.pro 
     42; @uses 
     43; common.pro 
    3844; 
    39 ; @restrictions appele par nlec 
     45; @restrictions 
     46; appele par <pro>nlec</.pro> 
    4047; 
    41 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 
     48; @history 
     49; Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    4250; 
    43 ; 
    44 ; @version $Id$ 
     51; @version 
     52; $Id$ 
    4553; 
    4654;- 
     
    4957;------------------------------------------------------------ 
    5058;------------------------------------------------------------ 
     59; 
    5160function nlecsaison, nom, numsortie79, nbretps,BOITE = boite, GRILLE=grille,TOUT=tout, _EXTRA = ex 
    5261; 
  • trunk/SRC/Obsolete/nlecserie.pro

    r157 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; @file_comments 
     
    96; @obsolete 
    107; 
    11 ; @categories  
     8; @categories 
    129; Reading 
    1310; 
     
    1512; IDL> res=nlecserie(nom, date1, date2) 
    1613; 
    17 ; @param nom {in}{required} nom du tableau contenant le champ que l'on veut (le 
     14; @param nom {in}{required} 
     15; nom du tableau contenant le champ que l'on veut (le 
    1816; trouver avec ncdflec,fichier,/var 
    1917; 
    20 ; @param date1 {in}{required}  
    21 ; @param date2 {in}{required}  
     18; @param date1 {in}{required} 
     19; @param date2 {in}{required} 
    2220; les dates vermairs qui delimitent la serie temporelle 
    2321; 
    24 ; @keyword BOITE boite sur laquelle integrer (par defaut tt le domaine) 
     22; @keyword BOITE 
     23; boite sur laquelle integrer (par defaut tt le domaine) 
    2524; 
    26 ; @keyword GRILLE impose la grille a laquelle est rapporte le champ. rq permet 
     25; @keyword GRILLE 
     26; impose la grille a laquelle est rapporte le champ. rq permet 
    2727; d'aller plus vite ds la lecture 
    2828; 
    29 ; @keyword TOUT oblige a lire le tableau entier en non pas celui reduit a domdef 
     29; @keyword TOUT 
     30; oblige a lire le tableau entier en non pas celui reduit a domdef 
    3031; 
    31 ; @keyword _EXTRA used to pass your keywords 
     32; @keyword _EXTRA 
     33; Used to pass keywords 
    3234; 
    33 ; @returns tableau 2d (qd la serie ne fait que 1 pas de temps) ou 
     35; @returns 
     36; tableau 2d (qd la serie ne fait que 1 pas de temps) ou 
    3437; 3d (valable ds 1 premier tps que pour les tableaux 2d) 
    3538; 
    36 ; @uses common.pro 
     39; @uses 
     40; common.pro 
    3741; 
    38 ; @restrictions appele par nlec 
     42; @restrictions 
     43; appele par <pro>nlec</pro> 
    3944; 
    40 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 
     45; @history 
     46; Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    4147; 
    42 ; @version $Id$ 
     48; @version 
     49; $Id$ 
    4350; 
    4451;- 
     
    4754;REF.sss.grid.T.nc 
    4855;------------------------------------------------------------ 
     56; 
    4957function nlecserie, nom, date1, date2,BOITE = boite, GRILLE=grille,TOUT=tout, _EXTRA = ex 
    5058; 
  • trunk/SRC/Obsolete/strrepl.pro

    r192 r231  
    1 ;------------------------------------------------------------- 
    21;+ 
    32; 
    4 ; @file_comments  
     3; @file_comments 
    54; replace one (or more) character(s)/string(s) in a string 
    6 ; --- OBSOLETE --- you should better use strsed.pro 
     5; --- OBSOLETE --- you should better use <pro>strsed</pro> 
    76; 
    87; @categories 
     
    2120; another string 
    2221; 
    23 ; @restrictions  
     22; @restrictions 
    2423; Known shortcoming: if index is an array, it must contain all 
    2524; valid elements (only the first entry is checked). 
     
    4948; @history 
    5049;        mgs, 02 Jun 1998: VERSION 1.00 
    51 ;        sebastien Masson (smlod\@ipsl.jussieu.fr) 
    52 ; 
    53 ; @version 
    54 ; $Id$ 
    55 ; 
    56 ;- 
    5750; Copyright (C) 1998, Martin Schultz, Harvard University 
    5851; This software is provided as is without any warranty 
     
    6457; Bugs and comments should be directed to mgs@io.harvard.edu 
    6558; with subject "IDL routine strrepl" 
    66 ;------------------------------------------------------------- 
    67  
    68  
     59; 
     60;        sebastien Masson (smlod\@ipsl.jussieu.fr) 
     61; 
     62; @version 
     63; $Id$ 
     64; 
     65;- 
     66; 
    6967function strrepl,str,arg2,rchar 
    7068; 
    7169  compile_opt idl2, strictarrsubs, obsolete 
    7270; 
    73     
     71 
    7472   if (n_elements(str) eq 0) then return,'' 
    75     
     73 
    7674                                ; convert strign and replace character to byte 
    7775   BStr = byte(str) 
     
    110108                                ; return result as string 
    111109   return,string(BStr) 
    112     
     110 
    113111end 
  • trunk/SRC/Obsolete/vairdate.pro

    r134 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    85; sets month, day and year to the corresp values 
    96; 
    10 ; you better use jul2date 
     7; you better use <pro>jul2date</pro> 
    118; 
    129; @obsolete 
     
    1512; IDL> vdate = vairdate(1755087) 
    1613; 
    17 ; @param jdate {in}{required} date en jours juliens 
     14; @param jdate {in}{required} 
     15; date en jours juliens 
    1816; 
    19 ; @keyword MENSUEL a activer si on veut pour  que les dates dont le jour est 
     17; @keyword MENSUEL 
     18; a activer si on veut pour  que les dates dont le jour est 
    2019;    15 deviennent avec un jour egale a 0. par ex: 
    2120;    19990115   ->   19990100 
    2221; 
    23 ; @keyword ANNUEL a activer si on veut pour  que les dates dont le mois est 
     22; @keyword ANNUEL 
     23; a activer si on veut pour  que les dates dont le mois est 
    2424;    6 et dont le jour est 1 deviennent avec un mois et jour egale a 
    2525;    0. par ex: 
    2626;    19990601   ->   19990000 
    2727; 
    28 ; @keyword _EXTRA used to pass your keywords 
     28; @keyword _EXTRA 
     29; Used to pass keywords 
    2930; 
    30 ; @returns vdate date vairmer 
    31 ;   plus year, month et day 
     31; @returns 
     32; vdate date vairmer plus year, month et day 
    3233; 
    33 ; @uses  common 
     34; @uses 
     35; common 
    3436; 
    35 ; 
    36 ; @history  Jerome Vialard  (jv\@lodyc.jussieu.fr) 
     37; @history 
     38; Jerome Vialard  (jv\@lodyc.jussieu.fr) 
    3739;   2/7/98 
    3840;                13/9/1999, Sebastien Masson (smasson\@lodyc.jussieu.fr) 
     
    4143;                       tableaux 
    4244; 
    43 ; @version $Id$ 
     45; @version 
     46; $Id$ 
    4447; 
    4548;- 
    46 ;------------------------------------------------------------ 
    47 ;------------------------------------------------------------ 
    48 ;------------------------------------------------------------ 
     49; 
    4950function vairdate, jdate,  ANNUEL = annuel, MENSUEL = mensuel, _EXTRA = ex 
    5051; 
     
    5253; 
    5354@common 
    54 ;------------------------------------------------------------ 
    5555   caldat, jdate, month, day, year, _EXTRA = ex 
    5656   index = where(year eq -1) 
  • trunk/SRC/Obsolete/vraidate.pro

    r134 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; @file_comments 
     
    85; @obsolete 
    96; 
    10 ; @param date {in}{required} une date du type yyyymmdd 
     7; @param date {in}{required} 
     8; une date du type yyyymmdd 
    119; 
    12 ; @keyword GRADS if  1 le year le 49 then year = 2000+year 
    13 ;               if 50 le year le 99 then year = 1900+year 
     10; @keyword GRADS 
     11; if  1 le year le 49 then year = 2000+year 
     12; if 50 le year le 99 then year = 1900+year 
    1413; 
    15 ; @keyword _EXTRA used to pass your keywords 
     14; @keyword _EXTRA 
     15; Used to pass keywords 
    1616; 
    17 ; @returns une date vairmer du type yyyymmdd 
     17; @returns 
     18; une date vairmer du type yyyymmdd 
    1819; si year est nulle ou egale a -1 ne change rien 
    1920; 
     
    2324; donne 19980703 qui est un long 
    2425; 
    25 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 
     26; @history 
     27; Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    2628;   3/7/98 
    2729; remove automatic change from year 1 to 1901... Aug 2004 
    2830; 
    29 ; @version $Id$ 
     31; @version 
     32; $Id$ 
    3033; 
    3134;- 
    32 ;------------------------------------------------------------ 
    33 ;------------------------------------------------------------ 
    34 ;------------------------------------------------------------ 
     35; 
    3536function vraidate, date, GRADS = grads, _EXTRA = ex 
    36 ;------------------------------------------------------------ 
    3737; 
    3838  compile_opt idl2, strictarrsubs, obsolete 
  • trunk/SRC/Obsolete/zeroun.pro

    r157 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    5 ; @file_comments  
     2; 
     3; @file_comments 
    64; Send back a vector or a matrix constituate of 0 and 1 in alternation 
    75; 
    8 ; you better use zero_one 
     6; you better use <pro>zero_one</pro> 
    97; 
    108; @obsolete 
    119; 
    12 ; @categories  
     10; @categories 
    1311; Function, Matrix 
    1412; 
    15 ; @param n1 {in}{required} number of elements in the first dimension 
    16 ; @param n2 {in}{required} numbre of elements in the second dimension 
     13; @param n1 {in}{required} 
     14; number of elements in the first dimension 
    1715; 
    18 ; @returns resultat 
    19 ;  
    20 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 
     16; @param n2 {in}{required} 
     17; number of elements in the second dimension 
     18; 
     19; @returns 
     20; resultat 
     21; 
     22; @history 
     23; Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    2124;                       1/12/98 
    2225; 
    23 ; @version $Id$ 
     26; @version 
     27; $Id$ 
    2428; 
    2529;- 
    26 ;------------------------------------------------------------ 
    27 ;------------------------------------------------------------ 
    28 ;------------------------------------------------------------ 
    29 function zeroun, n1,n2 
     30; 
     31FUNCTION zeroun, n1,n2 
    3032; 
    3133  compile_opt idl2, strictarrsubs 
  • trunk/SRC/Picture/image_viewer.pro

    r163 r231  
    3030; $Id$ 
    3131;_ 
    32  
     32; 
    3333PRO image_viewer_open_files,event 
    3434;THIS PROCEDURE IS CALLED WHEN A USER SELECTS "File > Open Picture Files" FROM THE MAIN MENU 
  • trunk/SRC/Picture/imdisp.pro

    r230 r231  
    1 ;------------------------------------------------------------------------------- 
    21;+ 
    32; @hidden 
    43;- 
     4; 
    55FUNCTION imdisp_getpos, ASPECT, POSITION=POSITION, MARGIN=MARGIN 
    66; 
     
    4949 
    5050END 
    51 ;------------------------------------------------------------------------------- 
    5251;+ 
    5352; @hidden 
     
    8382 
    8483END 
    85 ;------------------------------------------------------------------------------- 
    8684;+ 
    8785; @hidden 
     
    127125 
    128126END 
    129 ;------------------------------------------------------------------------------- 
    130127;+ 
    131128; @hidden 
     
    484481; 
    485482;- 
    486 ;------------------------------------------------------------------------------- 
     483; 
    487484PRO imdisp, IMAGE, RANGE=RANGE, BOTTOM=BOTTOM, NCOLORS=NCOLORS, $ 
    488485  MARGIN=MARGIN, INTERP=INTERP, DITHER=DITHER, ASPECT=ASPECT, $ 
  • trunk/SRC/Picture/saveimage.pro

    r230 r231  
    9292; 
    9393;- 
     94; 
    9495PRO saveimage, FILE, BMP=BMP, PNG=PNG, PICT=PICT, JPEG=JPEG, TIFF=TIFF, $ 
    9596  QUALITY=QUALITY, DITHER=DITHER, CUBE=CUBE, QUIET=QUIET, MULTIPLE = multiple 
  • trunk/SRC/Picture/showimage.pro

    r230 r231  
    5858; 
    5959;- 
     60; 
    6061PRO showimage, FILE, DITHER=DITHER, CURRENT=CURRENT 
    6162; 
  • trunk/SRC/Postscript/closeps.pro

    r230 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; @file_comments 
     
    129; 
    1310; @keyword INFOWIDGET {type=long integer} 
    14 ; id of the information widget (created by  
    15 ; <a href="./openps.html">openps</a> 
     11; id of the information widget (created by; <pro>OPENPS</pro>) 
    1612; that we have to destroy at the end of closeps (when the postscript is done). 
    1713; 
     
    2824; 
    2925;- 
    30 ;------------------------------------------------------------ 
    31 ;------------------------------------------------------------ 
    32 ;------------------------------------------------------------ 
     26; 
    3327PRO closeps, INFOWIDGET = infowidget 
    3428; 
     29compile_opt idl2, strictarrsubs 
    3530; 
    36   compile_opt idl2, strictarrsubs 
     31IF lmgr(/demo) EQ 1 THEN return 
    3732; 
    38    IF lmgr(/demo) EQ 1 THEN return 
    39 ;------------------------------------------------------------ 
    40 ; include commons 
    4133@cm_4ps 
    4234  IF NOT keyword_set(key_forgetold) THEN BEGIN 
  • trunk/SRC/Postscript/openps.pro

    r230 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    129; 
    1310; @keyword FILENAME 
    14 ; to define the name of the postscript file through a keyword rather than with  
     11; to define the name of the postscript file through a keyword rather than with 
    1512; nameps input argument (in this case the keyword can be pass through 
    1613; different routines via _EXTRA keyword). 
    1714; 
    1815; @keyword INFOWIDGET 
    19 ; If INFOWIDGET is present, it specifies a named variable into which the id of  
    20 ; the widget giving information about the postscript creation is stored as a  
     16; If INFOWIDGET is present, it specifies a named variable into which the id of 
     17; the widget giving information about the postscript creation is stored as a 
    2118; long integer. 
    22 ; This id is needed by <a href="./closeps.html">closeps</a> to kill  
    23 ; the information widget. 
     19; This id is needed by <pro>closeps</pro> to kill the information widget. 
    2420; 
    2521; @keyword KEEP_PFONT 
     
    4036; 
    4137; @keyword _EXTRA 
    42 ; used to pass any keyword to device procedure. 
     38; Used to pass keywords to <pro>device<pro>. 
    4339; 
    44 ; @uses cm_4ps 
     40; @uses  
     41; cm_4ps 
    4542; 
    4643; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 
     
    5451; 
    5552;- 
    56 ;------------------------------------------------------------ 
    57 ;------------------------------------------------------------ 
    58 ;------------------------------------------------------------ 
     53; 
    5954pro openps, namepsin, FILENAME = filename, INFOWIDGET = infowidget $ 
    6055            , KEEPPFONT = keeppfont, KEEP_PFONT = keep_pfont $ 
     
    6964      return 
    7065   ENDIF 
    71 ;------------------------------------------------------------ 
    72 ; include commons 
     66; 
    7367@cm_4ps 
    7468IF NOT keyword_set(key_forgetold) THEN BEGIN 
     
    139133   RETURN 
    140134END 
    141  
    142  
    143  
    144  
    145  
    146  
    147  
    148  
    149  
    150  
    151  
    152  
  • trunk/SRC/Postscript/printps.pro

    r230 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    4744; 
    4845;- 
    49 ;------------------------------------------------------------ 
    50 ;------------------------------------------------------------ 
    51 ;------------------------------------------------------------ 
     46; 
    5247PRO printps_event, event 
    53 ;------------------------------------------------------------ 
    54 ; include commons 
    5548; 
    5649  compile_opt idl2, strictarrsubs 
     
    235228    ELSE: 
    236229  ENDCASE 
    237 ;------------------------------------------------------------ 
    238 ; include commons 
     230; 
    239231@cm_4ps 
    240232  IF NOT keyword_set(key_forgetold) THEN BEGIN 
  • trunk/SRC/ReadWrite/ncdf_getaxis.pro

    r225 r231  
    5858; $Id$ 
    5959;- 
     60; 
    6061PRO ncdf_getaxis, cdfid, dimidx, dimidy, xaxis, yaxis $ 
    6162                  , XAXISNAME = xaxisname, YAXISNAME = yaxisname $ 
  • trunk/SRC/ReadWrite/ncdf_timeget.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; @file_comments 
     
    4037; @version $Id$ 
    4138;- 
    42 ;------------------------------------------------------------ 
    43 ;------------------------------------------------------------ 
    44 ;------------------------------------------------------------ 
     39; 
    4540FUNCTION ncdf_timeget, cdfid, timeid, YYYYMMDD = yyyymmdd, _EXTRA = ex 
    4641; 
  • trunk/SRC/ReadWrite/read_grads.pro

    r223 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; @file_comments 
     
    3431; @keyword EVERYTHING 
    3532; 
    36 ; 
    3733; @keyword NOSTRUCT 
    3834; 
    39 ; 
    4035; @keyword _EXTRA 
    41 ; Used to pass your keywords 
     36; Used to pass keywords 
    4237; 
    4338; @returns 
     
    6560; 
    6661;- 
    67 ;------------------------------------------------------------ 
    68 ;------------------------------------------------------------ 
    69 ;------------------------------------------------------------ 
    70  
     62; 
    7163FUNCTION read_grads, var, date1, date2, FILENAME = filename, BOX=box, TIMESTEP = timestep, EVERYTHING = everything, NOSTRUCT = nostruct, _EXTRA = ex 
    72 ;--------------------------------------------------------- 
    7364; 
    7465  compile_opt idl2, strictarrsubs 
  • trunk/SRC/ReadWrite/read_oasis.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; @file_comments 
     
    3835; @version $Id$ 
    3936;- 
    40 ;------------------------------------------------------------ 
    41 ;------------------------------------------------------------ 
    42 ;------------------------------------------------------------ 
    43  
    44  
     37; 
    4538FUNCTION read_oasis, filename, varname, jpi, jpj, I2 = I2, I4 = i4, I8 = i8, R4 = r4 
    4639; 
  • trunk/SRC/ReadWrite/readbat.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; @file_comments 
     
    2320; 
    2421;- 
     22; 
    2523FUNCTION readbat, filename, ZERO = zero 
    2624; 
  • trunk/SRC/ReadWrite/readoldopadistcoast.pro

    r157 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; @file_comments 
     
    2926; @version $Id$ 
    3027;- 
    31 ;------------------------------------------------------------ 
    32 ;------------------------------------------------------------ 
    33 ;------------------------------------------------------------ 
    34  
     28; 
    3529FUNCTION read3fromopa, unit, params, num 
    3630; 
  • trunk/SRC/ReadWrite/readoldoparestart.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    2421; $Id$ 
    2522;- 
    26 ;------------------------------------------------------------ 
    27 ;------------------------------------------------------------ 
    28 ;------------------------------------------------------------ 
    29  
    30  
     23; 
    3124FUNCTION read2fromopa, unit, params, num 
    3225; 
  • trunk/SRC/ReadWrite/scanctl.pro

    r136 r231  
    99; @version $Id$ 
    1010;- 
     11; 
    1112PRO scanctl, filename, filesname, jpt1file, varsname, varslev, swapbytes, bigendian, littleendian, f77sequential, fileheader, theader, xyheader, VARFMT = varfmt, _EXTRA = ex 
    1213; 
  • trunk/SRC/ReadWrite/scanoasis.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; @file_comments 
     
    2118; @version $Id$ 
    2219;- 
    23 ;------------------------------------------------------------ 
    24 ;------------------------------------------------------------ 
    25 ;------------------------------------------------------------ 
    26  
     20; 
    2721PRO scanoasis, filename 
    2822; 
  • trunk/SRC/ReadWrite/write_oasis.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    3431; @version $Id$ 
    3532;- 
    36 ;------------------------------------------------------------ 
    37 ;------------------------------------------------------------ 
    38 ;------------------------------------------------------------ 
    39  
    40  
     33; 
    4134PRO write_oasis, filename, varname, z2d, I2 = i2, I4 = i4, I8 = i8, R4 = r4, APPEND = append 
    4235; 
  • trunk/SRC/ReadWrite/writebat.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    2219; @version $Id$ 
    2320;- 
     21; 
    2422PRO writebat, zbat, filename 
    2523; 
  • trunk/SRC/Tests/tst_basic.pro

    r131 r231  
    99; @version $Id$ 
    1010;- 
     11; 
    1112PRO tst_basic 
    1213; 
  • trunk/SRC/Tests/tst_initlev.pro

    r131 r231  
    33; Sebastien Masson 
    44; 
    5 ; @version $Id$ 
     5; @version 
     6; $Id$ 
    67;- 
     8; 
    79file = 'Levitus98_1m_01_12_Temperature_Pot_1x1.nc' 
    810initncdf, file, glamboundary = [20, 380], useasmask = 'votemper' $ 
  • trunk/SRC/Tests/tst_initlev_index.pro

    r131 r231  
    55; @version $Id$ 
    66;- 
     7; 
    78file = 'Levitus98_1m_01_12_Temperature_Pot_1x1.nc' 
    89initncdf, file, glamboundary = [20, 380], useasmask = 'votemper' $ 
  • trunk/SRC/Tests/tst_initlev_index_stride.pro

    r131 r231  
    55; @version $Id$ 
    66;- 
     7; 
    78file = 'Levitus98_1m_01_12_Temperature_Pot_1x1.nc' 
    89initncdf, file, glamboundary = [20, 380], useasmask = 'votemper' $ 
  • trunk/SRC/Tests/tst_initlev_stride.pro

    r131 r231  
    55; @version $Id$ 
    66;- 
     7; 
    78file = 'Levitus98_1m_01_12_Temperature_Pot_1x1.nc' 
    89initncdf, file, glamboundary = [20, 380], useasmask = 'votemper' $ 
  • trunk/SRC/Tests/tst_initorca05.pro

    r131 r231  
    55; @version $Id$ 
    66;- 
     7; 
    78@cm_4mesh 
    89@cm_4cal 
  • trunk/SRC/Tests/tst_initorca05_short.pro

    r131 r231  
    55; @version $Id$ 
    66;- 
     7; 
    78file = 'Levitus98_1m_01_12_Temperature_Pot_ORCA05.nc' 
    89initncdf, file, glamboundary = [20, 380], xminmesh = 1, xmaxmesh = -1 $ 
  • trunk/SRC/Tests/tst_initorca05_short_stride.pro

    r131 r231  
    55; @version $Id$ 
    66;- 
     7; 
    78file = 'Levitus98_1m_01_12_Temperature_Pot_ORCA05.nc' 
    89initncdf, file, glamboundary = [20, 380], xminmesh = 1, xmaxmesh = -1 $ 
  • trunk/SRC/Tests/tst_initorca2_short.pro

    r131 r231  
    55; @version $Id$ 
    66;- 
     7; 
    78file = 'Levitus98_1m_01_12_Temperature_Pot_ORCA2.nc' 
    89initncdf, file, glamboundary = [20, 380], xminmesh = 1, xmaxmesh = 180 $ 
  • trunk/SRC/Tests/tst_initorca2_short_stride.pro

    r131 r231  
    55; @version $Id$ 
    66;- 
     7; 
    78file = 'Levitus98_1m_01_12_Temperature_Pot_ORCA2.nc' 
    89initncdf, file, glamboundary = [20, 380], xminmesh = 1, xmaxmesh = 180 $ 
  • trunk/SRC/Tests/tst_plt.pro

    r157 r231  
    1414; $Id$ 
    1515;- 
     16; 
    1617PRO tst_plt, IMAGE = image 
    1718; commons 
  • trunk/SRC/Tests/tst_pltt.pro

    r157 r231  
    1414; $Id$ 
    1515;- 
     16; 
    1617PRO tst_pltt, IMAGE = image 
    1718; commons 
  • trunk/SRC/Tests/tst_pltz.pro

    r157 r231  
    1414; $Id$ 
    1515;- 
     16; 
    1617PRO tst_pltz, IMAGE = image 
    1718; commons 
  • trunk/SRC/Textoidl/strcnt.pro

    r163 r231  
    4747; $Id$ 
    4848;- 
     49; 
    4950FUNCTION strcnt, strn, substrn, startpos, $ 
    5051                 HELP=Help 
  • trunk/SRC/Textoidl/sub_sup_idl.pro

    r134 r231  
    2525;         
    2626; MODIFICATION HISTORY: 
    27 ;       $Id: sub_sup_idl.pro,v 1.1 1996/01/31 18:47:37 mcraig Exp $ 
     27;       $Id$ 
    2828;       $Log: sub_sup_idl.pro,v $ 
    2929;       Revision 1.1  1996/01/31 18:47:37  mcraig 
     
    3333;       $Name: Rel_2_1_2 $ 
    3434;- 
     35; 
    3536FUNCTION Sub_sup_idl, token,  FORCE_UD = force_ud 
    3637; 
  • trunk/SRC/Textoidl/textable.pro

    r163 r231  
    6060; $Id$ 
    6161;- 
     62; 
    6263FUNCTION textable, POSTSCRIPT=ps, VECTOR=vec,  HELP=Help 
    6364; 
  • trunk/SRC/Textoidl/translate_sub_super.pro

    r226 r231  
    6464; $Id$ 
    6565;- 
     66; 
    6667FUNCTION sub_sup_idl, token,  FORCE_UD = force_ud 
    6768; 
  • trunk/SRC/ToBeReviewed/CALCULS/depth2floatlevel.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
     2; 
    53; @file_comments 
    64; Rather comparable to depth2level but here, the calculated level is in float. 
     
    4038; 
    4139;- 
    42 ;------------------------------------------------------------ 
    43 ;------------------------------------------------------------ 
    44 ;------------------------------------------------------------ 
     40; 
    4541FUNCTION depth2floatlevel, tab, NOMASK = nomask 
    4642; 
  • trunk/SRC/ToBeReviewed/CALCULS/depth2level.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    4441; $Id$ 
    4542;- 
    46 ;------------------------------------------------------------ 
    47 ;------------------------------------------------------------ 
    48 ;------------------------------------------------------------ 
     43; 
    4944FUNCTION depth2level, tab, LOWER = lower, UPPER = upper, CLOSER = closer $ 
    5045                      , NOMASK = nomask, _extra = ex 
  • trunk/SRC/ToBeReviewed/CALCULS/depth2mask.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    1512; 
    1613; @keyword _EXTRA 
    17 ; used to pass your keywords 
     14; Used to pass keywords 
    1815; 
    1916; @returns 
    20 ; It is a 3d array containing the mas associated to the 2d sill depth array 
     17; It is a 3d array containing the mask associated to the 2d sill depth array 
    2118; 
    2219; @uses 
     
    3128; 
    3229;- 
    33 ;------------------------------------------------------------ 
    34 ;------------------------------------------------------------ 
    35 ;------------------------------------------------------------ 
    3630FUNCTION depth2mask, tab, _extra = ex 
    37 ;------------------------------------------------------------ 
    3831; 
    3932  compile_opt idl2, strictarrsubs 
  • trunk/SRC/ToBeReviewed/CALCULS/determ3.pro

    r163 r231  
    2424; defined by in10 = z2ds[1, 0, *] 
    2525; 
    26 ; 
    2726; @param IN11 {in}{required} 
    2827; It is an n element array 
    2928; defined by in11 = z2ds[1, 1, *] 
    30 ; 
    3129; 
    3230; @param IN12 {in}{required} 
     
    3432; defined by in12 = z2ds[1, 2, *] 
    3533; 
    36 ; 
    3734; @param IN20 {in}{required} 
    3835; It is an n element array 
    3936; defined by in20 = z2ds[2, 0, *] 
    40 ; 
    4137; 
    4238; @param IN21 {in}{required} 
     
    4440; defined by in21 = z2ds[2, 1, *] 
    4541; 
    46 ; 
    4742; @param IN22 {in}{required} 
    4843; It is an n element array 
    4944; defined by in22 = z2ds[2, 2, *] 
    5045; 
    51 ; @returns  
     46; @returns 
    5247; n elements array, the determinant of each 3*3 arrays 
    5348; 
  • trunk/SRC/ToBeReviewed/CALCULS/floatlevel2depth.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
    63; @file_comments 
    7 ; Rather comparable to level2depth. It is the invert function of depth2floatlevel 
     4; Rather comparable to <pro>level2depth<pro>. 
     5; It is the invert function of <pro>depth2floatlevel</pro>. 
    86; 
    97; @categories 
     
    3634; 
    3735;- 
    38 ;------------------------------------------------------------ 
    39 ;------------------------------------------------------------ 
    40 ;------------------------------------------------------------ 
    4136FUNCTION floatlevel2depth, tab, NOMASK = nomask 
    4237; 
  • trunk/SRC/ToBeReviewed/CALCULS/fsfzpt.pro

    r163 r231  
    22; @file_comments 
    33; 
    4 ; 
    54; @categories 
    6 ; 
    75; 
    86; @param PFS 
    97; 
    10 ; 
    118; @param PFP 
    12 ; 
    139; 
    1410; @returns 
    1511; 
    16 ; 
    1712; @uses 
    18 ; 
    1913; 
    2014; @restrictions 
    2115; 
    22 ; 
    2316; @examples 
    24 ; 
    2517; 
    2618; @history 
     
    4537; 
    4638;- 
     39; 
    4740FUNCTION fsfzpt, pfs, pfp 
    4841; 
  • trunk/SRC/ToBeReviewed/CALCULS/grossemoyenne.pro

    r223 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    8077; $Id$ 
    8178;- 
    82  
     79; 
    8380function grossemoyenne, tab, direc, BOXZOOM = boxzoom, INTEGRATION = integration $ 
    8481                        , NAN = nan, NODOMDEF = nodomdef, WDEPTH = wdepth $ 
  • trunk/SRC/ToBeReviewed/CALCULS/hdyn.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    6865; 
    6966;- 
    70 ;------------------------------------------------------------ 
    71 ;------------------------------------------------------------ 
    72 ;------------------------------------------------------------ 
     67; 
    7368FUNCTION hdyn, tabsn, tabtn, TREF = tref, SREF = sref, PROFREF = profref, LEVEL = level, GILL = gill, SURFACE_LEVEL = surface_level 
    7469; 
  • trunk/SRC/ToBeReviewed/CALCULS/level2depth.pro

    r226 r231  
    1 ; 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    4 ;------------------------------------------------------------ 
    51;+ 
    62; 
     
    3228; 
    3329;- 
    34 ;------------------------------------------------------------ 
    35 ;------------------------------------------------------------ 
    36 ;------------------------------------------------------------ 
     30; 
    3731FUNCTION level2depth, tab, NOMASK = nomask 
    3832; 
  • trunk/SRC/ToBeReviewed/CALCULS/level2index.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
    6 ; @file_comments  
    7 ; We want, from a 3d matrix, to extract a 2d (x,y) array whose each element  
    8 ; has been extract from a level specified by the 2d level array (typically,  
     3; @file_comments 
     4; We want, from a 3d matrix, to extract a 2d (x,y) array whose each element 
     5; has been extract from a level specified by the 2d level array (typically, 
    96; we want to obtain the salinity along an isopycn we have repered by its level). 
    10 ; level2index is a function who give, in function of level, a 2d indexes array  
     7; level2index is a function who give, in function of level, a 2d indexes array 
    118; which will allow to extract the 2d array from the 3d array... 
    129; 
     
    2825; 
    2926;- 
    30 ;------------------------------------------------------------ 
    31 ;------------------------------------------------------------ 
    32 ;------------------------------------------------------------ 
     27; 
    3328FUNCTION level2index, level 
    34 ; An element of 3d array (whose the two first dimensions are nx and ny) whose  
     29; An element of 3d array (whose the two first dimensions are nx and ny) whose 
    3530; coordinates are i, j and k have for index in the same 3d array i + j*nx + k*(nx*ny) 
    3631; level given, for  each point of level, we know i, j et k, 
  • trunk/SRC/ToBeReviewed/CALCULS/level2mask.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
    63; @file_comments 
    7 ; Allow to pass from a 2d sill level array to the 3d mask array with 1s in  
     4; Allow to pass from a 2d sill level array to the 3d mask array with 1s in 
    85; levels above the sill level and 0s below (and on it) 
    96; 
    10 ; @categories  
     7; @categories 
    118; Without loop 
    129; 
     
    3229; 
    3330;- 
    34 ;------------------------------------------------------------ 
    35 ;------------------------------------------------------------ 
    36 ;------------------------------------------------------------ 
     31; 
    3732FUNCTION level2mask, tab 
    38 ;------------------------------------------------------------ 
    3933; 
    4034  compile_opt idl2, strictarrsubs 
     
    6862;------------------------------------------------------------ 
    6963;------------------------------------------------------------ 
    70    if keyword_set(key_performance) THEN print, 'temps level2mask', systime(1)-tempsun  
     64   if keyword_set(key_performance) THEN print, 'temps level2mask', systime(1)-tempsun 
    7165   return, mask 
    7266end 
  • trunk/SRC/ToBeReviewed/CALCULS/moyenne.pro

    r223 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    6764; 
    6865;- 
    69  
     66; 
    7067function moyenne, tab, direc, BOXZOOM = boxzoom, INTEGRATION = integration $ 
    7168                  , NAN = nan, NODOMDEF = nodomdef, WDEPTH = wdepth $ 
  • trunk/SRC/ToBeReviewed/CALCULS/norme.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    129; temporal average because the average of the norm is not equal to the 
    1310; norm of averages 
    14  
    1511; 
    1612; @categories 
     
    4844; a geographic domain on which fields U and V are extracted on same points 
    4945; 
    50 ; @restrictions 
    5146; To know what type of array we work with, we  test its size and dates 
    5247; gave by time[0] and time[jpt-1] to know if thee is a temporal dimension. 
     
    6762; 
    6863;- 
    69 ;------------------------------------------------------------ 
    70 ;------------------------------------------------------------ 
    71 ;------------------------------------------------------------ 
     64; 
    7265FUNCTION norme, composanteu, composantev, BOXZOOM = boxzoom, DIREC = direc, _extra = ex 
    73 ;--------------------------------------------------------- 
    7466; 
    7567  compile_opt idl2, strictarrsubs 
  • trunk/SRC/ToBeReviewed/CALCULS/projectondepth.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    4643; 
    4744;- 
    48 ;------------------------------------------------------------ 
    49 ;------------------------------------------------------------ 
    50 ;------------------------------------------------------------ 
     45; 
    5146FUNCTION projectondepth, arrayin, depthin 
    5247; 
  • trunk/SRC/ToBeReviewed/CALCULS/remplit.pro

    r226 r231  
    22; @file_comments 
    33; 
    4 ; 
    54; @categories 
    65; 
    7 ; 
    86; @param ZINPUT 
    97; 
    10 ; 
    118; @keyword NAN 
    129; 
    13 ; 
    1410; @keyword NITER 
    1511; 
    16 ; 
    1712; @keyword BASIQUE 
    1813; 
    19 ; 
    2014; @keyword MASK 
    2115; 
    22 ; 
    2316; @keyword FILLXDIR 
    2417; 
    25 ; 
    2618; @keyword FILLYDIR 
    2719; 
    28 ; 
    2920; @keyword FILLVAL 
    3021; 
    31 ; 
    3222; @keyword _EXTRA 
    33 ; Used to pass your keywords 
     23; Used to pass keywords 
    3424; 
    3525; @returns 
    3626; 
    37 ; 
    3827; @uses 
    3928; 
    40 ; 
    4129; @restrictions 
    4230; 
    43 ; 
    4431; @examples 
    4532; 
    46 ; 
    4733; @history 
    48 ; 
    4934; 
    5035; @version 
     
    6853; 
    6954;- 
     55; 
    7056FUNCTION remplit, zinput, NAN = nan, NITER = niter, BASIQUE = basique, mask = mask, FILLXDIR = fillxdir, FILLYDIR = fillydir, FILLVAL = fillval, _extra = ex 
    7157; 
  • trunk/SRC/ToBeReviewed/CALCULS/rhon.pro

    r163 r231  
    22; @file_comments 
    33; 
    4 ; 
    54; @categories 
    6 ; 
    75; 
    86; @param SN 
    97; 
    10 ; 
    118; @param TN 
    12 ; 
    139; 
    1410; @keyword INSITU 
    1511; 
    16 ; 
    1712; @keyword SIGMA_N 
    18 ; 
    1913; 
    2014; @returns 
    2115; 
    22 ; 
    2316; @uses 
    24 ; 
    2517; 
    2618; @restrictions 
    2719; 
    28 ; 
    2920; @examples 
    3021; 
    31 ; 
    3222; @history 
    33 ; 
    3423; 
    3524; @version 
    3625; $Id$ 
    3726; 
    38    ;; 
    39    ;; Calcul de la fonction d'etat (issue de eos.F) 
    40    ;; 
    41    ;; Creation : 1997 / G. Roullet 
    42    ;; adaptation pour les tableaux z,zt,xyz,xyzt 
    43    ;; par seb. 
    44    ;; 
    45 ; 
     27;; 
     28;; Calcul de la fonction d'etat (issue de eos.F) 
     29;; 
     30;; Creation : 1997 / G. Roullet 
     31;; adaptation pour les tableaux z,zt,xyz,xyzt 
     32;; par seb. 
     33;; 
    4634; @todo seb 
    4735; 
    4836;- 
     37; 
    4938FUNCTION rhon, sn, tn, INSITU = insitu, SIGMA_N = sigma_n 
    5039; 
     
    6453         zrhop=0d 
    6554         jkmax = 1 
    66       END  
     55      END 
    6756      1:BEGIN                   ;z 
    6857         zrhop=dblarr(taille[1]) 
    6958         jkmax = taille[1] 
    70       END  
     59      END 
    7160      2:BEGIN                   ;xy (jpt=1) ou zt 
    7261         zrhop=dblarr(taille[1],taille[2]) 
    7362         if jpt EQ 1 then jkmax = 1 ELSE jkmax = taille[1] 
    74       END  
     63      END 
    7564      3:BEGIN                   ;xyz (jpt=1) ou xyt 
    7665         zrhop=dblarr(taille[1],taille[2],taille[3]) 
    7766         if jpt EQ 1 then jkmax = taille[3] ELSE jkmax = 1 
    78       END  
     67      END 
    7968      4:BEGIN                   ;xyzt 
    8069         zrhop=dblarr(taille[1],taille[2],taille[3],taille[4] ) 
    8170         jkmax = taille[3] 
    82       END  
     71      END 
    8372   endcase 
    84     
     73 
    8574 
    8675 
     
    9180            ztt = tn 
    9281            zs = sn 
    93          END  
     82         END 
    9483         1:BEGIN                ;z 
    9584            ztt = tn[jk] 
    96             zs = sn[jk]  
    97          END  
     85            zs = sn[jk] 
     86         END 
    9887         2:BEGIN                ;xy (jpt=1) ou zt 
    9988            if jpt EQ 1 then begin 
     
    10291            ENDIF ELSE BEGIN 
    10392               ztt = tn[jk, *] 
    104                zs = sn[jk, *]  
     93               zs = sn[jk, *] 
    10594            ENDELSE 
    106          END  
     95         END 
    10796         3:BEGIN                ;xyz (jpt=1) ou xyt 
    10897            if jpt EQ 1 then begin 
    10998               ztt = tn[*, *, jk] 
    110                zs = sn[*, *,jk]  
     99               zs = sn[*, *,jk] 
    111100            endif ELSE BEGIN 
    112101               ztt = tn 
    113102               zs = sn 
    114103            ENDELSE 
    115          END  
     104         END 
    116105         4:BEGIN                ;xyzt 
    117106            ztt = tn[*, *, jk, *] 
    118             zs = sn[*, *,jk, *]  
    119          END  
     107            zs = sn[*, *,jk, *] 
     108         END 
    120109      endcase 
    121110      if n_elements(sigma_n) NE 0 then zh = 1000.*sigma_n ELSE zh = gdept[jk] 
     
    133122         0: zrhop    = (zr4*zs + zr3*zsr + zr2)*zs + zr1 
    134123         1: zrhop[jk]= (zr4*zs + zr3*zsr + zr2)*zs + zr1 
    135          2:BEGIN  
     124         2:BEGIN 
    136125            if jpt EQ 1 then zrhop = (zr4*zs + zr3*zsr + zr2)*zs + zr1 $ 
    137126            ELSE zrhop[jk, *]= (zr4*zs + zr3*zsr + zr2)*zs + zr1 
    138127         END 
    139          3:BEGIN  
     128         3:BEGIN 
    140129            if jpt EQ 1 then zrhop[*, *,jk]= (zr4*zs + zr3*zsr + zr2)*zs + zr1 $ 
    141130             ELSE zrhop = (zr4*zs + zr3*zsr + zr2)*zs + zr1 
     
    144133      endcase 
    145134 
    146       IF n_elements(insitu) EQ 1 THEN BEGIN  
     135      IF n_elements(insitu) EQ 1 THEN BEGIN 
    147136; ...   add the compression terms 
    148137         ze = (-3.508914e-8*ztt-1.248266e-8)*ztt-2.595994e-6 
     
    164153            0: zrhop = zrhop / (1.0-zh/(zk0-zh*(za-zh*zb))) 
    165154            1: zrhop[jk] = zrhop[jk] / (1.0-zh/(zk0-zh*(za-zh*zb))) 
    166             2:BEGIN  
     155            2:BEGIN 
    167156               if jpt EQ 1 then zrhop = zrhop / (1.0-zh/(zk0-zh*(za-zh*zb))) $ 
    168157               ELSE zrhop[jk, *] = zrhop[jk, *] / (1.0-zh/(zk0-zh*(za-zh*zb))) 
    169158            END 
    170             3:BEGIN  
     159            3:BEGIN 
    171160               if jpt EQ 1 then zrhop[*, *,jk] = zrhop[*, *,jk] / (1.0-zh/(zk0-zh*(za-zh*zb))) $ 
    172161               ELSE zrhop = zrhop / (1.0-zh/(zk0-zh*(za-zh*zb))) 
     
    174163            4: zrhop[*, *,jk, *] = zrhop[*, *,jk, *] / (1.0-zh/(zk0-zh*(za-zh*zb))) 
    175164         endcase 
    176           
    177       ENDIF  
    178    ENDFOR  
    179     
     165 
     166      ENDIF 
     167   ENDFOR 
     168 
    180169   terre = where(tn GE 1e6) 
    181170   if terre[0] NE -1 then zrhop[terre] = valmask 
    182171 
    183    if keyword_set(key_performance) THEN print, 'temps rhon', systime(1)-tempsun  
    184  
    185     
    186    return, zrhop 
    187 END  
     172   if keyword_set(key_performance) THEN print, 'temps rhon', systime(1)-tempsun 
    188173 
    189174 
     175   return, zrhop 
     176END 
  • trunk/SRC/ToBeReviewed/GRILLE/changegrid.pro

    r163 r231  
    1 ;+ 
     1; + 
    22; @file_comments 
    3 ; 
    43; 
    54; @categories 
    65; 
    7 ; 
    86; @param NEWGRID 
    9 ; 
    107; 
    118; @returns 
    129; 
    13 ; 
    1410; @uses 
    15 ; 
    1611; 
    1712; @restrictions 
    1813; 
    19 ; 
    2014; @examples 
    2115; 
    22 ; 
    2316; @history 
    24 ; 
    2517; 
    2618; @version 
    2719; $Id$ 
    2820; 
    29 ; 
    30 ; @todo seb 
     21; @todo 
     22; seb 
    3123; 
    3224;- 
     25; 
    3326function changegrid, newgrid 
    34 ; 
    3527; 
    3628  compile_opt idl2, strictarrsubs 
  • trunk/SRC/ToBeReviewed/GRILLE/cmpgrid.pro

    r163 r231  
    22; @file_comments 
    33; 
    4 ; 
    54; @categories 
    6 ; 
    75; 
    86; @param NEWGRID 
    97; 
    10 ; 
    118; @returns 
    12 ; 
    139; 
    1410; @uses 
    1511; 
    16 ; 
    1712; @restrictions 
    18 ; 
    1913; 
    2014; @examples 
    2115; 
    22 ; 
    2316; @history 
    24 ; 
    2517; 
    2618; @version 
    2719; $Id$ 
    2820; 
    29 ; 
    30 ; @todo seb 
     21; @todo 
     22; seb 
    3123; 
    3224;- 
     25; 
    3326FUNCTION cmpgrid, newgrid 
    34 ; 
    3527; 
    3628  compile_opt idl2, strictarrsubs 
  • trunk/SRC/ToBeReviewed/GRILLE/decoupeterre.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    1714; @param MASK 
    1815; 
    19 ; 
    2016; @param GLAM 
    2117; 
    22 ; 
    2318; @param GPHI 
    2419; 
    25 ; 
    2620; @param GDEP 
    2721; 
    28 ; 
    2922; @keyword TYPE 
    3023; 
    31 ; 
    3224; @keyword INDICEZOOM 
    3325; 
    34 ; 
    3526; @keyword COINMONTE 
    3627; 
    37 ; 
    3828; @keyword COINDESCEND 
    3929; 
    40 ; 
    4130; @keyword REALSECTION 
    4231; 
    43 ; 
    4432; @keyword USETRI 
    4533; 
    46 ; 
    4734; @keyword _EXTRA 
    48 ; Used to pass your keywords 
     35; Used to pass keywords 
    4936; 
    5037; @keyword TRI 
     
    5340; is passed in the variable we have equate at TRI. 
    5441; For example: grille,...,tri=triangulation_reduite. 
    55 ; This keyword is used in plt.pro 
     42; This keyword is used in <pro>plt</pro>. 
    5643; 
    5744; @keyword WDEPTH 
     
    6956; $Id$ 
    7057; 
    71 ; @todo seb : manque tous les param et plein de keywords. 
    72 ; 
    73 ; 
    74 ; 
     58; @todo 
     59; seb : manque tous les param et plein de keywords. 
    7560; 
    7661;- 
    77 ;------------------------------------------------------------ 
    78 ;------------------------------------------------------------ 
    79 ;------------------------------------------------------------ 
     62; 
    8063PRO decoupeterre, mask, glam, gphi, gdep, TYPE = type, TRI = tri, INDICEZOOM = indicezoom, COINMONTE = coinmonte, COINDESCEND = coindescend, WDEPTH = wdepth, REALSECTION = realsection, USETRI = usetri, _extra = ex 
    81 ;--------------------------------------------------------- 
    8264; 
    8365  compile_opt idl2, strictarrsubs 
     
    310292  return 
    311293end 
    312  
  • trunk/SRC/ToBeReviewed/GRILLE/domdef.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    8683; $Id$ 
    8784; 
    88 ; @todo seb: output pas clair/ pas d'input required? 
     85; @todo 
     86; seb: output pas clair/ pas d'input required? 
    8987;- 
    90 ;------------------------------------------------------------ 
    91 ;------------------------------------------------------------ 
    92 ;------------------------------------------------------------ 
    93 pro domdef, x1, x2, y1, y2, z1, z2, FINDALWAYS = findalways $ 
     88; 
     89PRO domdef, x1, x2, y1, y2, z1, z2, FINDALWAYS = findalways $ 
    9490            , GRIDTYPE = gridtype, MEMEINDICES = memeindices $ 
    9591            , XINDEX = xindex, YINDEX = yindex, ZINDEX = zindex $ 
    9692            , ENDPOINTS = endpoints, TYPE = type $ 
    9793            , INDEX = index, _extra = ex 
    98 ;------------------------------------------------------------ 
    99 ; include commons 
    10094; 
    10195  compile_opt idl2, strictarrsubs 
  • trunk/SRC/ToBeReviewed/GRILLE/f2v.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
    63; @file_comments 
    7 ; Allows to pass a field referring to the grid F on the grid V,  
    8 ; thanks to the average:  
    9 ; res = 0.5*(res + shift(res, 1, 0))     
     4; Allows to pass a field referring to the grid F on the grid V, 
     5; thanks to the average: 
     6; res = 0.5*(res + shift(res, 1, 0)) 
    107; 
    11 ; @categories  
     8; @categories 
    129; Grid 
    1310; 
     
    2118; common.pro 
    2219; 
    23 ; @restrictions  
    24 ; Force parameters of the zoom on the grid V to be the same as  
     20; @restrictions 
     21; Force parameters of the zoom on the grid V to be the same as 
    2522; those on the grid T. 
    2623; 
    27 ; @restrictions  
    28 ; Points which can not be calculated are put at the value NaN  
     24; @restrictions 
     25; Points which can not be calculated are put at the value NaN 
    2926; consecrated by IDL: !values.f_nan 
    3027; 
     
    3835; 
    3936;- 
    40 ;------------------------------------------------------------ 
    41 ;------------------------------------------------------------ 
    42 ;------------------------------------------------------------ 
     37; 
    4338FUNCTION f2v, temp 
    44 ;--------------------------------------------------------- 
    4539; 
    4640  compile_opt idl2, strictarrsubs 
     
    6862; case on tha array's size and application 
    6963   taille = size(temp) 
    70    CASE taille[0] OF  
     64   CASE taille[0] OF 
    7165      1: res = -1 
    72       2: BEGIN  
     66      2: BEGIN 
    7367         case 1 of 
    7468            taille[1] eq nxf and taille[2] eq nyf: 
     
    7973         endcase 
    8074         mask = (fmask())[firstxf:lastxf, firstyf:lastyf, 0] 
    81          terre = where(mask EQ 0)  
     75         terre = where(mask EQ 0) 
    8276         IF terre[0] NE -1 THEN res[terre] = !values.f_nan 
    8377         res = 0.5*(res + shift(res, 1, 0)) 
    8478         if NOT (keyword_set(key_periodic) AND nxf EQ jpi) then res[0, *] = !values.f_nan 
    8579         mask = (vmask())[firstxf:lastxf, firstyf:lastyf, 0] 
    86          terre = where(mask EQ 0)  
     80         terre = where(mask EQ 0) 
    8781         IF terre[0] NE -1 THEN res[terre] = valmask 
    8882      END 
    89       3: BEGIN  
     83      3: BEGIN 
    9084         case 1 of 
    9185            taille[1] eq nxf and taille[2] eq nyf AND taille[3] EQ nzt: 
     
    10599            mask = reform(mask, nxf, nyf, jpt, /over) 
    106100         ENDIF ELSE mask = (fmask())[firstxf:lastxf, firstyf:lastyf, firstzt:lastzt] 
    107          terre = where(temporary(mask) EQ 0)  
     101         terre = where(temporary(mask) EQ 0) 
    108102         IF terre[0] NE -1 THEN res[temporary(terre)] = !values.f_nan 
    109103         res = 0.5*(res + shift(res, 1, 0, 0)) 
     
    114108            mask = reform(mask, nxf, nyf, jpt, /over) 
    115109         ENDIF ELSE mask = (vmask())[firstxf:lastxf, firstyf:lastyf, firstzt:lastzt] 
    116          terre = where(temporary(mask) EQ 0)  
     110         terre = where(temporary(mask) EQ 0) 
    117111         IF terre[0] NE -1 THEN res[temporary(terre)] = valmask 
    118112      END 
    119       4: BEGIN  
     113      4: BEGIN 
    120114         case 1 of 
    121115            taille[1] eq nxf and taille[2] eq nyf AND taille[3] EQ nzt AND taille[4] EQ jpt: 
     
    130124         mask = temporary(mask[*])#replicate(1, jpt) 
    131125         mask = reform(mask, nxf, nyf, nzt, jpt, /over) 
    132          terre = where(temporary(mask) EQ 0)  
     126         terre = where(temporary(mask) EQ 0) 
    133127         IF terre[0] NE -1 THEN res[temporary(terre)] = !values.f_nan 
    134128         res = 0.5*(res + shift(res, 1, 0, 0, 0)) 
     
    137131         mask = temporary(mask[*])#replicate(1, jpt) 
    138132         mask = reform(mask, nxf, nyf, nzt, jpt, /over) 
    139          terre = where(temporary(mask) EQ 0)  
     133         terre = where(temporary(mask) EQ 0) 
    140134         IF terre[0] NE -1 THEN res[temporary(terre)] = valmask 
    141135      END 
     
    144138   IF NOT keyword_set(key_forgetold) THEN BEGIN 
    145139   @updateold 
    146    ENDIF  
    147     
     140   ENDIF 
     141 
    148142   return, res 
    149143END 
    150  
  • trunk/SRC/ToBeReviewed/GRILLE/fmask.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    2522; 
    2623;- 
    27 ;------------------------------------------------------------ 
    28 ;------------------------------------------------------------ 
    29 ;------------------------------------------------------------ 
     24; 
    3025FUNCTION fmask 
    31 ;--------------------------------------------------------- 
    3226; 
    3327  compile_opt idl2, strictarrsubs 
  • trunk/SRC/ToBeReviewed/GRILLE/grille.pro

    r172 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    74; Choose the grid which must be used to do the graph in function of 
    85; vargrid and send back corresponding parameters calculated in 
    9 ; domdef.pro and reduced at the domain defined by domdef (contrarily 
    10 ; to grandegrille.pro) 
    11 ; BEWARE!! The choice of the grid is made from the value of the  
     6; <pro>domdef</pro> and reduced at the domain defined by 
     7; <pro>domdef</pro> (contrarily to <pro>grandegrille</pro>) 
     8; BEWARE!! The choice of the grid is made from the value of the 
    129; global variable vargrid, which can be equal to 'T', 'U', 'V', 'W' ou 'F'. 
    1310; 
    1411; @categories 
    1512; 
    16 ; @keyword TRI  
     13; @keyword TRI 
    1714; This keyword serve to obtain, thanks to grille, the triangulation which 
    1815; refer to the grid but only on the part of the zoom. This of triangulation 
    1916; is passed in the variable we have equate at TRI. 
    2017; For example: grille,...,tri=triangulation_reduite. 
    21 ; This keyword is used in plt.pro 
     18; This keyword is used in <pro>plt</pro>. 
    2219; 
    2320; @keyword WDEPTH 
    24 ; To specify that the field is at W depth instead of T  
     21; To specify that the field is at W depth instead of T 
    2522; depth (automatically activated if vargrid eq 'W') 
    26 ;  
     23; 
    2724; @keyword FORPLT 
    28 ; In plt, we want that land points, glam and gphi, be equal to glamt and  
     25; In <pro>plt</pro>, we want that land points, 
     26; glam and gphi, be equal to glamt and 
    2927; gphit regardless of the grid. 
    3028; 
    3129; @keyword NOTRI 
    32 ; Useful only when TRI is activated. In this case, grill send back -1 in the  
    33 ; variable tri even if the variable of the common triangles_list is defined  
     30; Useful only when TRI is activated. In this case, grill send back -1 in the 
     31; variable tri even if the variable of the common triangles_list is defined 
    3432; and different of-1 
    35 ;  
    36 ; @keyword _EXTRA  
    37 ; Used to pass your keywords 
     33; 
     34; @keyword _EXTRA 
     35; Used to pass keywords 
    3836; 
    3937; @keyword TOUT 
    4038; 
    4139; @param MASK {out}{optional} 
    42 ; For the definition, see domdef and the management of subdomains on the web. 
    43 ;  
    44 ; @param  GLAM {out}{optional} 
    45 ; For the definition, see domdef and the management of subdomains on the web. 
    46 ;  
    47 ; @param  GPHI {out}{optional} 
    48 ; For the definition, see domdef and the management of subdomains on the web. 
    49 ;  
    50 ; @param  GDEP {out}{optional} 
    51 ; For the definition, see domdef and the management of subdomains on the web. 
    52 ;  
    53 ; @param  NX {out}{optional} 
    54 ; For the definition, see domdef and the management of subdomains on the web. 
    55 ;  
    56 ; @param  NY {out}{optional} 
    57 ; For the definition, see domdef and the management of subdomains on the web. 
    58 ;  
    59 ; @param  NZ {out}{optional} 
    60 ; For the definition, see domdef and the management of subdomains on the web. 
    61 ;  
    62 ; @param  FIRSTX {out}{optional} 
    63 ; For the definition, see domdef and the management of subdomains on the web. 
    64 ;  
    65 ; @param  FIRSTY {out}{optional} 
    66 ; For the definition, see domdef and the management of subdomains on the web. 
    67 ;  
    68 ; @param  FIRSTZ {out}{optional} 
    69 ; For the definition, see domdef and the management of subdomains on the web. 
    70 ;          
     40; For the definition, see <pro>domdef</pro> and the management of subdomains on the web. 
     41; 
     42; @param GLAM {out}{optional} 
     43; For the definition, see <pro>domdef</pro> and the management of subdomains on the web. 
     44; 
     45; @param GPHI {out}{optional} 
     46; For the definition, see <pro>domdef</pro> and the management of subdomains on the web. 
     47; 
     48; @param GDEP {out}{optional} 
     49; For the definition, see <pro>domdef</pro> and the management of subdomains on the web. 
     50; 
     51; @param NX {out}{optional} 
     52; For the definition, see <pro>domdef</pro> and the management of subdomains on the web. 
     53; 
     54; @param NY {out}{optional} 
     55; For the definition, see <pro>domdef</pro> and the management of subdomains on the web. 
     56; 
     57; @param NZ {out}{optional} 
     58; For the definition, see <pro>domdef</pro> and the management of subdomains on the web. 
     59; 
     60; @param FIRSTX {out}{optional} 
     61; For the definition, see <pro>domdef</pro> and the management of subdomains on the web. 
     62; 
     63; @param FIRSTY {out}{optional} 
     64; For the definition, see <pro>domdef</pro> and the management of subdomains on the web. 
     65; 
     66; @param FIRSTZ {out}{optional} 
     67; For the definition, see <pro>domdef</pro> and the management of subdomains on the web. 
     68; 
    7169; @param LASTX {out}{optional} 
    72 ; For the definition, see domdef and the management of subdomains on the web. 
    73 ;  
    74 ; @param  LASTY {out}{optional} 
    75 ; For the definition, see domdef and the management of subdomains on the web. 
    76 ;  
    77 ; @param  LASTZ {out}{optional} 
    78 ; For the definition, see domdef and the management of subdomains on the web. 
    79 ;  
    80 ; @param  E1 {out}{optional} 
    81 ; For the definition, see domdef and the management of subdomains on the web. 
    82 ; 
    83 ; @param  E2 {out}{optional} 
    84 ; For the definition, see domdef and the management of subdomains on the web. 
    85 ;  
    86 ; @param  E3 {out}{optional} 
    87 ; For the definition, see domdef and the management of subdomains on the web. 
     70; For the definition, see <pro>domdef</pro> and the management of subdomains on the web. 
     71; 
     72; @param LASTY {out}{optional} 
     73; For the definition, see <pro>domdef</pro> and the management of subdomains on the web. 
     74; 
     75; @param LASTZ {out}{optional} 
     76; For the definition, see <pro>domdef</pro> and the management of subdomains on the web. 
     77; 
     78; @param E1 {out}{optional} 
     79; For the definition, see <pro>domdef</pro> and the management of subdomains on the web. 
     80; 
     81; @param E2 {out}{optional} 
     82; For the definition, see <pro>domdef</pro> and the management of subdomains on the web. 
     83; 
     84; @param E3 {out}{optional} 
     85; For the definition, see <pro>domdef</pro> and the management of subdomains on the web. 
    8886; 
    8987; @uses 
    90 ; cm_4mesh  
     88; cm_4mesh 
    9189; cm_4data 
    9290; 
    93 ; @restrictions  
     91; @restrictions 
    9492; Use the variable vargrid 
    9593; 
     
    103101; 
    104102; @version 
    105 ; $Id$  
    106 ; 
    107 ; @todo Comment ecrire la remarque sur les inputs? 
    108 ;  
     103; $Id$ 
     104; 
     105; @todo 
     106; Comment ecrire la remarque sur les inputs? 
     107; 
    109108;- 
    110 ;------------------------------------------------------------ 
    111 ;------------------------------------------------------------ 
    112 ;------------------------------------------------------------ 
    113 pro grille, mask, glam, gphi, gdep, nx, ny, nz, firstx, firsty, firstz, lastx, lasty, lastz, e1, e2, e3, TRI = tri, NOTRI = notri, TOUT = tout, FORPLT = forplt, TYPE = type, WDEPTH = wdepth, _EXTRA = ex 
    114 ;------------------------------------------------------------ 
    115 ; include commons 
     109; 
     110PRO grille, mask, glam, gphi, gdep, nx, ny, nz, firstx, firsty, firstz, lastx, lasty, lastz, e1, e2, e3, TRI = tri, NOTRI = notri, TOUT = tout, FORPLT = forplt, TYPE = type, WDEPTH = wdepth, _EXTRA = ex 
    116111; 
    117112  compile_opt idl2, strictarrsubs 
     
    138133;------------------------------------------------------------ 
    139134  IF keyword_set(wdepth) THEN BEGIN 
    140     firstz = firstzw  
     135    firstz = firstzw 
    141136    lastz = lastzw 
    142137    nz = nzw 
     
    148143;------------------------------------------------------------ 
    149144;------------------------------------------------------------ 
    150   CASE 1 OF  
     145  CASE 1 OF 
    151146;------------------------------------------------------------ 
    152147; grid T and W 
     
    165160      IF arg_present(e1) THEN e1 = e1t[firstx:lastx, firsty:lasty] 
    166161      IF arg_present(e2) THEN e2 = e2t[firstx:lastx, firsty:lasty] 
    167 ;3d vectors  
     162;3d vectors 
    168163      IF keyword_set(forplt) THEN mask = tmask[firstx:lastx, firsty:lasty, firstz] $ 
    169164      ELSE IF arg_present(mask) THEN mask = tmask[firstx:lastx, firsty:lasty, firstz:lastz] 
     
    204199        no1 = temporary(tmp1)*temporary(tmp2) 
    205200        tmp = temporary(eastboarder)*temporary(no1)*mask 
    206         mask[0:nx-2, *] = 0b  
     201        mask[0:nx-2, *] = 0b 
    207202        tmp = temporary(tmp)+temporary(mask) 
    208203        tmp = where(tmp GE 1) 
     
    233228      IF arg_present(glam) THEN glam = glamv[firstx:lastx, firsty:lasty] 
    234229      IF arg_present(gphi) THEN gphi = gphiv[firstx:lastx, firsty:lasty] 
    235       if keyword_set(forplt) then BEGIN  
     230      if keyword_set(forplt) then BEGIN 
    236231        mask = 1b-tmask[firstx:lastx, firsty:lasty, firstz] 
    237232        northboarder = mask-shift(mask, 0, 1)*mask 
     
    271266; grid F 
    272267;------------------------------------------------------------ 
    273     vargrid eq 'OPAPTDHF' or vargrid eq 'OPAPT3DF' $  
     268    vargrid eq 'OPAPTDHF' or vargrid eq 'OPAPT3DF' $ 
    274269      or vargrid eq 'F': begin 
    275270;scalars 
     
    283278      IF arg_present(glam) THEN glam = glamf[firstx:lastx, firsty:lasty] 
    284279      IF arg_present(gphi) THEN gphi = gphif[firstx:lastx, firsty:lasty] 
    285       if keyword_set(forplt) then BEGIN  
     280      if keyword_set(forplt) then BEGIN 
    286281        mask = 1b-tmask[firstx:lastx, firsty:lasty, firstz] 
    287282        eastboarder = mask-shift(mask, 1, 0)*mask 
     
    313308        no1 = temporary(tmp1)*temporary(tmp2) 
    314309        tmp = (temporary(northboarder)+temporary(eastboarder))*mask*temporary(no1) 
    315         mask[0:nx-2, *] = 0b  
    316         mask[*, 0:ny-2] = 0b  
     310        mask[0:nx-2, *] = 0b 
     311        mask[*, 0:ny-2] = 0b 
    317312        tmp = temporary(tmp)+temporary(mask) 
    318313        tmp = where(tmp GE 1) 
     
    324319      IF arg_present(e1) THEN e1  = e1f[firstx:lastx, firsty:lasty] 
    325320      IF arg_present(e2) THEN e2  = e2f[firstx:lastx, firsty:lasty] 
    326 ;3d vectors  
     321;3d vectors 
    327322      IF keyword_set(forplt) THEN mask = (fmask())[firstx:lastx, firsty:lasty, firstz] $ 
    328323      ELSE IF arg_present(mask) THEN mask = (fmask())[firstx:lastx, firsty:lasty, firstz:lastz] 
    329324    END 
    330325;------------------------------------------------------------ 
    331     ELSE:BEGIN  
     326    ELSE:BEGIN 
    332327      ras = report('Wrong definition of vargrid = '+vargrid+'. Only T, U, V, W or F are acceptable') 
    333328      stop 
     
    391386  IF keyword_set(type) AND n_elements(romszinfos) NE 0 THEN BEGIN 
    392387    romsdp = romsdepth() 
    393     IF romsdp[0] NE -1 THEN BEGIN  
     388    IF romsdp[0] NE -1 THEN BEGIN 
    394389      IF jpt EQ 1 THEN BEGIN 
    395390        CASE type OF 
     
    400395          ELSE: 
    401396        ENDCASE 
    402       ENDIF ELSE BEGIN  
     397      ENDIF ELSE BEGIN 
    403398        CASE type OF 
    404399          'z':gdep = moyenne(temporary(romsdp), 'xyt') 
     
    420415;------------------------------------------------------------ 
    421416  if arg_present(TRI) then $ 
    422     if triangles_list[0] EQ -1 OR keyword_set(notri) then tri = -1 ELSE BEGIN  
     417    if triangles_list[0] EQ -1 OR keyword_set(notri) then tri = -1 ELSE BEGIN 
    423418    tempdeux = systime(1)       ; pour key_performance =2 
    424419    msk = bytarr(jpi, jpj) 
     
    444439 
    445440  if keyword_set(savedbox) THEN restoreboxparam, 'boxparam4grille.dat' 
    446   if keyword_set(key_performance) THEN print, 'temps grille', systime(1)-tempsun  
     441  if keyword_set(key_performance) THEN print, 'temps grille', systime(1)-tempsun 
    447442 
    448443;------------------------------------------------------------ 
    449444  IF NOT keyword_set(key_forgetold) THEN BEGIN 
    450445@updateold 
    451   ENDIF  
     446  ENDIF 
    452447;--------------------- 
    453448  return 
    454449 
    455450end 
    456  
    457  
    458  
    459  
    460  
    461  
    462  
  • trunk/SRC/ToBeReviewed/GRILLE/t2v.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    3734; 
    3835;- 
    39 ;------------------------------------------------------------ 
    40 ;------------------------------------------------------------ 
    41 ;------------------------------------------------------------ 
     36; 
    4237FUNCTION t2v, temp 
    43 ;--------------------------------------------------------- 
    4438; 
    4539  compile_opt idl2, strictarrsubs 
     
    148142   return, res 
    149143END 
    150  
  • trunk/SRC/ToBeReviewed/GRILLE/tracegrille.pro

    r209 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    85; 
    96; @categories 
    10 ;  
     7; 
    118; @param GLAMIN {in}{required} 
    12 ; The 1d or 2d array in longitude of points of the grid.If GLAM/GLAMIN  
    13 ; is not specified, it trace the grid specified by vargrid, on the  
     9; The 1d or 2d array in longitude of points of the grid.If GLAM/GLAMIN 
     10; is not specified, it trace the grid specified by vargrid, on the 
    1411; domain defined by domdef. 
    1512; 
    1613; @param GPHIIN {in}{required} 
    17 ; The 1d or 2d array in latitude of points of the grid.If GPHI/GPHIIN  
    18 ; is not specified, it trace the grid specified by vargrid, on the  
     14; The 1d or 2d array in latitude of points of the grid.If GPHI/GPHIIN 
     15; is not specified, it trace the grid specified by vargrid, on the 
    1916; domain defined by domdef. 
    2017; 
    21 ; @keyword XSTRIDE {type=integer}  
    22 ; It specify that we want to trace only one line of  
     18; @keyword XSTRIDE {type=integer} 
     19; It specify that we want to trace only one line of 
    2320; constant i every xstride points 
    2421; 
    2522; @keyword YSTRIDE {type=integer} 
    26 ; It specify that we want to trace only one line of  
     23; It specify that we want to trace only one line of 
    2724; constant j every xstride points 
    2825; 
    29 ; @keyword OCEAN  
     26; @keyword OCEAN 
    3027; To trace the grid only on ocean points. 
    31 ;  
     28; 
    3229; @keyword EARTH 
    3330; To trace the grid only on land points. 
     
    3835; 
    3936; @keyword _EXTRA 
    40 ; Used to pass your keywords. 
    41 ;  
     37; Used to pass keywords 
     38; 
    4239; @uses 
    4340; common.pro 
    44 ;  
     41; 
    4542; @examples 
    4643; 
     
    5653; @version 
    5754; $Id$ 
    58 ;                   
     55; 
    5956;- 
    60 ;------------------------------------------------------------ 
    61 ;------------------------------------------------------------ 
    62 ;------------------------------------------------------------ 
     57; 
    6358PRO tracegrille, glamin, gphiin, OCEAN = ocean, EARTH = earth $ 
    6459                 , XSTRIDE = xstride, YSTRIDE = ystride, RMOUT = rmout $ 
    6560                 , _extra = extra 
    66 ;--------------------------------------------------------- 
    6761; 
    6862  compile_opt idl2, strictarrsubs 
     
    116110    gphi = gphiin 
    117111    IF (size(glam))[0] EQ 1 AND (size(gphi))[0] EQ 1 THEN BEGIN 
    118       nx = n_elements(glam)  
    119       ny = n_elements(gphi)  
     112      nx = n_elements(glam) 
     113      ny = n_elements(gphi) 
    120114      glam = glam#replicate(1, ny) 
    121115      gphi = replicate(1, nx)#gphi 
     
    191185  endcase 
    192186 
    193   if keyword_set(key_performance) THEN print, 'temps trace grille', systime(1)-tempsun  
     187  if keyword_set(key_performance) THEN print, 'temps trace grille', systime(1)-tempsun 
    194188  !except = oldexcept 
    195189 
  • trunk/SRC/ToBeReviewed/GRILLE/u2t.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
    63; @file_comments 
    7 ; Allows to pass a field referring to the grid U on the grid T,  
    8 ; thanks to the average:  
    9 ; res = 0.5*(res + shift(res, 1, 0))     
     4; Allows to pass a field referring to the grid U on the grid T, 
     5; thanks to the average: 
     6; res = 0.5*(res + shift(res, 1, 0)) 
    107; 
    11 ; @categories  
     8; @categories 
    129; Grid 
    1310; 
     
    2118; common.pro 
    2219; 
    23 ; @restrictions  
    24 ; Force parameters of the zoom on the grid V to be the same as  
     20; @restrictions 
     21; Force parameters of the zoom on the grid V to be the same as 
    2522; those on the grid T. 
    2623; 
    27 ; @restrictions  
    28 ; Points which can not be calculated are put at the value NaN  
     24; @restrictions 
     25; Points which can not be calculated are put at the value NaN 
    2926; consecrated by IDL: !values.f_nan 
    3027; 
     
    3835; 
    3936;- 
    40 ;------------------------------------------------------------ 
    41 ;------------------------------------------------------------ 
    42 ;------------------------------------------------------------ 
     37; 
    4338FUNCTION u2t, temp 
    44 ;--------------------------------------------------------- 
    4539; 
    4640  compile_opt idl2, strictarrsubs 
     
    6862; case on tha array's size and application 
    6963   taille = size(temp) 
    70    CASE taille[0] OF  
     64   CASE taille[0] OF 
    7165      1: res = -1 
    72       2: BEGIN  
     66      2: BEGIN 
    7367         case 1 of 
    7468            taille[1] eq nxu and taille[2] eq nyu: 
     
    7973         endcase 
    8074         mask = (umask())[firstxu:lastxu, firstyu:lastyu, 0] 
    81          terre = where(mask EQ 0)  
     75         terre = where(mask EQ 0) 
    8276         IF terre[0] NE -1 THEN res[terre] = !values.f_nan 
    8377         res = 0.5*(res + shift(res, 1, 0)) 
    8478         if NOT (keyword_set(key_periodic) AND nxu EQ jpi) then res[0, *] = !values.f_nan 
    8579         mask = tmask[firstxu:lastxu, firstyu:lastyu, 0] 
    86          terre = where(mask EQ 0)  
     80         terre = where(mask EQ 0) 
    8781         IF terre[0] NE -1 THEN res[terre] = valmask 
    8882      END 
    89       3: BEGIN  
     83      3: BEGIN 
    9084         case 1 of 
    9185            taille[1] eq nxu and taille[2] eq nyu AND taille[3] EQ nzt: 
     
    10599            mask = reform(mask, nxu, nyu, jpt, /over) 
    106100         ENDIF ELSE mask = (umask())[firstxu:lastxu, firstyu:lastyu, firstzt:lastzt] 
    107          terre = where(temporary(mask) EQ 0)  
     101         terre = where(temporary(mask) EQ 0) 
    108102         IF terre[0] NE -1 THEN res[temporary(terre)] = !values.f_nan 
    109103         res = 0.5*(res + shift(res, 1, 0, 0)) 
     
    114108            mask = reform(mask, nxu, nyu, jpt, /over) 
    115109         ENDIF ELSE mask = tmask[firstxu:lastxu, firstyu:lastyu, firstzt:lastzt] 
    116          terre = where(temporary(mask) EQ 0)  
     110         terre = where(temporary(mask) EQ 0) 
    117111         IF terre[0] NE -1 THEN res[temporary(terre)] = valmask 
    118112      END 
    119       4: BEGIN  
     113      4: BEGIN 
    120114         case 1 of 
    121115            taille[1] eq nxu and taille[2] eq nyu AND taille[3] EQ nzt AND taille[4] EQ jpt: 
     
    130124         mask = temporary(mask[*])#replicate(1, jpt) 
    131125         mask = reform(mask, nxu, nyu, nzt, jpt, /over) 
    132          terre = where(temporary(mask) EQ 0)  
     126         terre = where(temporary(mask) EQ 0) 
    133127         IF terre[0] NE -1 THEN res[temporary(terre)] = !values.f_nan 
    134128         res = 0.5*(res + shift(res, 1, 0, 0, 0)) 
     
    137131         mask = temporary(mask[*])#replicate(1, jpt) 
    138132         mask = reform(mask, nxu, nyu, nzt, jpt, /over) 
    139          terre = where(temporary(mask) EQ 0)  
     133         terre = where(temporary(mask) EQ 0) 
    140134         IF terre[0] NE -1 THEN res[temporary(terre)] = valmask 
    141135      END 
     
    144138  IF NOT keyword_set(key_forgetold) THEN BEGIN 
    145139   @updateold 
    146   ENDIF  
    147    
     140  ENDIF 
     141 
    148142   return, res 
    149143END 
    150  
  • trunk/SRC/ToBeReviewed/GRILLE/umask.pro

    r157 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    85; 
    96; @categories 
    10 ; Utilities  
     7; Utilities 
    118; 
    129; @returns 
    13 ; A 3d array corresponding to umask.  
     10; A 3d array corresponding to umask. 
    1411; 
    1512; @uses 
     
    2017; For example: Instaed of write umask[domainef] we have to write (umask())[domainef] 
    2118; 
    22 ; MODIFICATION HISTORY: Sebastien Masson (smasson\@lodyc.jussieu.fr) 
     19; @history 
     20; Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    2321;                       11/12/98 
    2422;                       ??/6/99 introduction of the key_shift 
     
    2927; 
    3028;- 
    31 ;------------------------------------------------------------ 
    32 ;------------------------------------------------------------ 
    33 ;------------------------------------------------------------ 
     29; 
    3430FUNCTION umask 
    35 ;--------------------------------------------------------- 
    3631; 
    3732  compile_opt idl2, strictarrsubs 
     
    4843    3:res = tmask*shift(tmask, -1, 0, 0) 
    4944  ENDCASE 
    50 ;    
     45; 
    5146  if NOT keyword_set(key_periodic) then res[jpi-1, *, *] = umaskred 
    52   if keyword_set(key_performance) THEN print, 'temps umask', systime(1)-tempsun  
     47  if keyword_set(key_performance) THEN print, 'temps umask', systime(1)-tempsun 
    5348; 
    5449  return, res 
  • trunk/SRC/ToBeReviewed/GRILLE/v2t.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
    63; @file_comments 
    7 ; Allows to pass a field referring to the grid V on the grid T,  
    8 ; thanks to the average:  
    9 ; res = 0.5*(res + shift(res, 1, 0))     
     4; Allows to pass a field referring to the grid V on the grid T, 
     5; thanks to the average: 
     6; res = 0.5*(res + shift(res, 1, 0)) 
    107; 
    11 ; @categories  
     8; @categories 
    129; Grid 
    1310; 
     
    2118; common.pro 
    2219; 
    23 ; @restrictions  
    24 ; Force parameters of the zoom on the grid V to be the same as  
     20; @restrictions 
     21; Force parameters of the zoom on the grid V to be the same as 
    2522; those on the grid T. 
    2623; 
    27 ; @restrictions  
    28 ; Points which can not be calculated are put at the value NaN  
     24; @restrictions 
     25; Points which can not be calculated are put at the value NaN 
    2926; consecrated by IDL: !values.f_nan 
    3027; 
     
    3734; $Id$ 
    3835; 
    39 ; @todo seb: nom du input? 
     36; @todo 
     37; seb: nom du input? 
    4038; 
    4139;- 
    42 ;------------------------------------------------------------ 
    43 ;------------------------------------------------------------ 
    44 ;------------------------------------------------------------ 
     40; 
    4541FUNCTION v2t, temp 
    46 ;--------------------------------------------------------- 
    4742; 
    4843  compile_opt idl2, strictarrsubs 
     
    7065; case on tha array's size and application 
    7166   taille = size(temp) 
    72    CASE taille[0] OF  
     67   CASE taille[0] OF 
    7368      1: res = -1 
    74       2: BEGIN  
     69      2: BEGIN 
    7570         case 1 of 
    7671            taille[1] eq nxv and taille[2] eq nyv: 
     
    8176         endcase 
    8277         mask = (vmask())[firstxv:lastxv, firstyv:lastyv, 0] 
    83          terre = where(mask EQ 0)  
     78         terre = where(mask EQ 0) 
    8479         IF terre[0] NE -1 THEN res[terre] = !values.f_nan 
    8580         res = 0.5*(res + shift(res, 0, +1)) 
    8681         res[*, 0] = !values.f_nan 
    8782         mask = tmask[firstxv:lastxv, firstyv:lastyv, 0] 
    88          terre = where(mask EQ 0)  
     83         terre = where(mask EQ 0) 
    8984         IF terre[0] NE -1 THEN res[terre] = valmask 
    9085      END 
    91       3: BEGIN  
     86      3: BEGIN 
    9287         case 1 of 
    9388            taille[1] eq nxv and taille[2] eq nyv AND taille[3] EQ nzt: 
     
    107102            mask = reform(mask, nxv, nyv, jpt, /over) 
    108103         ENDIF ELSE mask = (vmask())[firstxv:lastxv, firstyv:lastyv, firstzt:lastzt] 
    109          terre = where(temporary(mask) EQ 0)  
     104         terre = where(temporary(mask) EQ 0) 
    110105         IF terre[0] NE -1 THEN res[temporary(terre)] = !values.f_nan 
    111106         res = 0.5*(res + shift(res, 0, +1, 0)) 
     
    116111            mask = reform(mask, nxv, nyv, jpt, /over) 
    117112         ENDIF ELSE mask = tmask[firstxv:lastxv, firstyv:lastyv, firstzt:lastzt] 
    118          terre = where(temporary(mask) EQ 0)  
     113         terre = where(temporary(mask) EQ 0) 
    119114         IF terre[0] NE -1 THEN res[temporary(terre)] = valmask 
    120115      END 
    121       4: BEGIN  
     116      4: BEGIN 
    122117         case 1 of 
    123118            taille[1] eq nxv and taille[2] eq nyv AND taille[3] EQ nzt AND taille[4] EQ jpt: 
     
    132127         mask = temporary(mask[*])#replicate(1, jpt) 
    133128         mask = reform(mask, nxv, nyv, nzt, jpt, /over) 
    134          terre = where(temporary(mask) EQ 0)  
     129         terre = where(temporary(mask) EQ 0) 
    135130         IF terre[0] NE -1 THEN res[temporary(terre)] = !values.f_nan 
    136131         res = 0.5*(res + shift(res, 0, +1, 0, 0)) 
     
    139134         mask = temporary(mask[*])#replicate(1, jpt) 
    140135         mask = reform(mask, nxv, nyv, nzt, jpt, /over) 
    141          terre = where(temporary(mask) EQ 0)  
     136         terre = where(temporary(mask) EQ 0) 
    142137         IF terre[0] NE -1 THEN res[temporary(terre)] = valmask 
    143138      END 
     
    146141   IF NOT keyword_set(key_forgetold) THEN BEGIN 
    147142   @updateold 
    148    ENDIF  
     143   ENDIF 
    149144 
    150145    return, res 
    151146END 
    152  
  • trunk/SRC/ToBeReviewed/GRILLE/vmask.pro

    r157 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    2623; 
    2724;- 
    28 ;------------------------------------------------------------ 
    29 ;------------------------------------------------------------ 
    30 ;------------------------------------------------------------ 
     25; 
    3126FUNCTION vmask 
    3227; 
     
    4237; 
    4338  res[*, jpj-1, *] = vmaskred 
    44   if keyword_set(key_performance) THEN print, 'temps vmask', systime(1)-tempsun  
    45 ; 
     39  if keyword_set(key_performance) THEN print, 'temps vmask', systime(1)-tempsun 
     40 
    4641  return, res 
    4742end 
  • trunk/SRC/ToBeReviewed/HOPE/computehopegrid.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    4037; 
    4138;- 
    42 ;------------------------------------------------------------ 
    43 ;------------------------------------------------------------ 
    44 ;------------------------------------------------------------ 
     39; 
    4540PRO computehopegrid, xaxis, yaxis, zaxis, linetype, FORTHEMASK = forthemask, WPOINT = wpoint, FIRSTS = firsts, LASTS = lasts, PTTYPE = pttype 
    4641;--------------------------------------------------------- 
  • trunk/SRC/ToBeReviewed/HOPE/createhopestruct.pro

    r163 r231  
    3030; 
    3131;- 
     32; 
    3233FUNCTION createhopestruct, event 
    3334; 
     
    8485   ENDIF 
    8586   tint = time[where(yyyymmdd GE tlimits[0] AND yyyymmdd LE tlimits[1])] 
    86 ;  
     87; 
    8788; limits of the domain 
    8889; 
     
    9091   nyt = n_elements(yint) 
    9192   nzt = n_elements(zint) 
    92    jpt = n_elements(tint)  
     93   jpt = n_elements(tint) 
    9394; 
    9495   firstx = (where(xaxis GE xint[0]))[0] 
     
    140141      if (where(attnames EQ 'missing_value'))[0] EQ -1 then valmask = 1e20 $ 
    141142      ELSE ncdf_attget,cdfid,varid,'missing_value', valmask 
    142    ENDIF ELSE BEGIN  
     143   ENDIF ELSE BEGIN 
    143144      varunit = '' 
    144145      valmask = 1e20 
  • trunk/SRC/ToBeReviewed/HOPE/cw_selectinterval.pro

    r163 r231  
    4444;    return 
    4545; end 
    46 ;-------------------------------------------------------------------------- 
    47 ;-------------------------------------------------------------------------- 
    48 ;-------------------------------------------------------------------------- 
     46; 
    4947;+ 
    50 ; @file_comments  
    51 ;  
    52 ;  
     48; @file_comments 
     49; 
    5350; @categories 
    5451; Compound widget 
    55 ;  
     52; 
    5653; @param ID 
    57 ;  
    58 ;  
     54; 
    5955; @returns 
    60 ;  
    61 ;  
     56; 
    6257; @restrictions 
    63 ;  
    64 ;  
     58; 
    6559; @examples 
    6660; 
    67 ; 
    6861; @history 
    69 ;  
    7062; 
    7163; @version 
    7264; $Id$ 
    7365;- 
     66; 
    7467function cw_selectinterval_get_value, id 
    7568; 
     
    9689  if selected[0] eq -1 then return, -1 else return, vecteur[selected] 
    9790END 
    98 ;-------------------------------------------------------------------------- 
     91; 
    9992;+ 
    100 ; @file_comments  
    101 ;  
    102 ;  
     93; @file_comments 
     94; 
    10395; @categories 
    10496; Compound widget 
    105 ;  
     97; 
    10698; @param EVENT 
    107 ;  
    108 ;  
     99; 
    109100; @returns 
    110 ;  
    111 ;  
     101; 
    112102; @restrictions 
    113 ;  
    114 ;  
     103; 
    115104; @examples 
    116105; 
    117 ; 
    118106; @history 
    119 ;  
    120107; 
    121108; @version 
    122109; $Id$ 
    123110;- 
     111; 
    124112 function cw_selectinterval_event, event 
    125113; 
     
    140128   return, {ID:event.handler, TOP:event.top, HANDLER:0L} 
    141129END 
    142  
    143 ;-------------------------------------------------------------------------- 
     130; 
    144131;+ 
    145 ; @file_comments  
    146 ;  
    147 ;  
     132; @file_comments 
     133; 
    148134; @categories 
    149 ; Compound widget  
    150 ;  
    151 ; @param PARENT  
     135; Compound widget 
     136; 
     137; @param PARENT 
    152138; The widget ID of the parent widget. 
    153 ;  
     139; 
    154140; @param VECTEUR {type=vector} 
    155 ; A vector whose the first element must be the smallest one and the last  
     141; A vector whose the first element must be the smallest one and the last 
    156142; must be the biggest one. 
    157 ;  
     143; 
    158144; @keyword _EXTRA 
    159 ; Used to pass your keywords 
    160 ;  
     145; Used to pass keywords 
     146; 
    161147; @returns 
    162 ;  
    163 ;  
     148; 
    164149; @restrictions 
    165 ;  
    166 ;  
     150; 
    167151; @examples 
    168152; 
    169 ; 
    170153; @history 
    171 ;  
    172154; 
    173155; @version 
    174156; $Id$ 
    175157;- 
     158; 
    176159function cw_selectinterval, parent, vecteur, _extra = ex 
    177160; 
  • trunk/SRC/ToBeReviewed/HOPE/domainpart.pro

    r226 r231  
    11;+ 
     2; 
    23; @file_comments 
    3 ; 
    44; 
    55; @categories 
    66; 
    7 ; 
    87; @param TOP_UVALUE 
    9 ; 
    108; 
    119; @param BASEDOMAIN 
    1210; 
    13 ; 
    1411; @param SELECTED 
    15 ; 
    1612; 
    1713; @keyword DESTROY 
    1814; 
    19 ; 
    2015; @returns 
    21 ; 
    2216; 
    2317; @uses 
    2418; 
    25 ; 
    2619; @restrictions 
    27 ; 
    2820; 
    2921; @examples 
    3022; 
    31 ; 
    3223; @history 
    33 ; 
    3424; 
    3525; @version 
     
    9585; 
    9686end 
    97 ; 
  • trunk/SRC/ToBeReviewed/HOPE/findlineandpointtype.pro

    r226 r231  
    11;+ 
     2; 
    23; @file_comments 
    34; 
    4 ; 
    55; @categories 
    66; 
    7 ; 
    87; @param SECTYPE 
    98; 
    10 ; 
    119; @param XAXIS 
    1210; 
    13 ; 
    1411; @param YAXIS 
    1512; 
    16 ; 
    1713; @param IODIR 
    1814; 
    19 ; 
    2015; @returns 
    2116; 
    22 ; 
    2317; @uses 
    2418; 
    25 ; 
    2619; @restrictions 
    2720; 
    28 ; 
    2921; @examples 
    3022; 
    31 ; 
    3223; @history 
    33 ; 
    3424; 
    3525; @version 
     
    3929; 
    4030;- 
     31; 
    4132FUNCTION findlineandpointtype, sectype, xaxis, yaxis, iodir 
    4233; the file 'HOPE_lonlat.nc' is used in this function, This file must 
  • trunk/SRC/ToBeReviewed/HOPE/read_hope.pro

    r230 r231  
    11;+ 
     2; 
    23; @file_comments 
    34; 
    4 ; 
    55; @categories 
    66; 
    7 ; 
    87; @param EVENT 
    98; 
    10 ; 
    119; @returns 
    1210; 
    13 ; 
    1411; @restrictions 
    1512; 
    16 ; 
    1713; @examples 
    1814; 
    1915; @history 
    20 ; 
    2116; 
    2217; @version 
     
    2520;- 
    2621; 
    27 pro read_hope_event, event 
     22PRO read_hope_event, event 
    2823; 
    2924  compile_opt idl2, strictarrsubs 
     
    206201end 
    207202; 
    208 ;------------------------------------------------------------ 
    209 ;------------------------------------------------------------ 
    210 ;------------------------------------------------------------ 
    211203;+ 
    212204; 
     
    258250; 
    259251; @keyword _EXTRA 
    260 ; Used to pass your keywords 
     252; Used to pass keywords 
    261253; 
    262254; @returns 
     
    264256; version) 
    265257; 
    266 ; A structure which but be read by litchamp.pro and is 
     258; A structure which but be read by <pro>litchamp</pro> and is 
    267259; necessary to complete the grid associated to the data (see 
    268260; the example). 
     
    324316; 
    325317;- 
    326 ;------------------------------------------------------------ 
    327 ;------------------------------------------------------------ 
    328 ;------------------------------------------------------------ 
     318; 
    329319FUNCTION read_hope, typein, varnamein, FILENAME = filename, XLIMITS = xlimits, YLIMITS = ylimits,  ZLIMITS = zlimits, TLIMITS = tlimits, ODDPT = oddpt, ODDEVENPT = oddevenpt, EVENPT = evenpt, _extra = ex 
    330320; 
  • trunk/SRC/ToBeReviewed/HOPE/rh_alldomains.pro

    r226 r231  
    11;+ 
     2; 
    23; @file_comments 
    3 ; 
    44; 
    55; @categories 
    66; 
    7 ; 
    87; @param TOPID 
    9 ; 
    108; 
    119; @param SELECTED 
    1210; 
    13 ; 
    1411; @returns 
    15 ; 
    1612; 
    1713; @uses 
    1814; 
    19 ; 
    2015; @restrictions 
    21 ; 
    2216; 
    2317; @examples 
    2418; 
    25 ; 
    2619; @history 
    27 ; 
    2820; 
    2921; @version 
     
    3325; 
    3426;- 
     27; 
    3528PRO rh_alldomains, topid, selected 
    3629; 
  • trunk/SRC/ToBeReviewed/HOPE/sortdim.pro

    r163 r231  
    11;+ 
     2; 
    23; @file_comments 
    3 ; 
    44; 
    55; @categories 
    66; 
    7 ; 
    87; @param DIMS 
    9 ; 
    108; 
    119; @keyword INVERSE 
    1210; 
    13 ; 
    1411; @returns 
    15 ; 
    1612; 
    1713; @uses 
    1814; 
    19 ; 
    2015; @restrictions 
    21 ; 
    2216; 
    2317; @examples 
    2418; 
    25 ; 
    2619; @history 
    27 ; 
    2820; 
    2921; @version 
     
    3325; 
    3426;- 
    35  
    36  
     27; 
    3728function sortdim, dims, inverse=inverse 
    3829; 
    39 ;   IDL> a=['x','y','t','z']  
    40 ;   IDL> b=a[sortdim(a)]  
    41 ;   IDL> print, a  
     30;   IDL> a=['x','y','t','z'] 
     31;   IDL> b=a[sortdim(a)] 
     32;   IDL> print, a 
    4233;   x y t z 
    43 ;   IDL> print, b  
     34;   IDL> print, b 
    4435;   x y z t 
    45 ;   IDL> print, b[sortdim(a,/inv)]  
     36;   IDL> print, b[sortdim(a,/inv)] 
    4637;   x y t z 
    4738;   IDL> a='xytz' 
     
    6657 
    6758end 
    68 ; 
    69  
  • trunk/SRC/ToBeReviewed/HOPE/xrh.pro

    r163 r231  
    11;+ 
     2; 
    23; @file_comments 
    3 ; 
     4; procedure to call <pro>read_hope</pro> in the widget mode 
    45; 
    56; @categories 
    67; 
    7 ; 
    88; @keyword _EXTRA 
    9 ; Used to pass your keywords 
     9; Used to pass keywords 
    1010; 
    1111; @returns 
    1212; 
    13 ; 
    1413; @uses 
    15 ; 
    1614; 
    1715; @restrictions 
    1816; 
    19 ; 
    2017; @examples 
    2118; 
    22 ; 
    2319; @history 
    24 ; 
    2520; 
    2621; @version 
     
    3025; 
    3126;- 
    32 ; procedure to call read_hope in the widget mode 
     27; 
    3328PRO xrh, _extra = ex 
    3429; 
  • trunk/SRC/ToBeReviewed/INIT/initncdf.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    107; @categories 
    118; Grid 
    12 ;  
     9; 
    1310; @param NCFILEIN {in}{required}{type=scalar string} 
    1411; A string giving the name of the NetCdf file 
     
    1815; 
    1916; @keyword MASKNAME {type=string} 
    20 ; A string giving the name of the variable in the file  
     17; A string giving the name of the variable in the file 
    2118; that contains the land/sea mask 
    2219; 
     
    3128; 
    3229; @keyword USEASMASK {type=scalar string} 
    33 ; A string giving the name of the variable in the file  
     30; A string giving the name of the variable in the file 
    3431; that will be used to build the land/sea mask. In this case the 
    3532; mask is based on the first record (if record dimension 
     
    4037; 
    4138; @keyword ZAXISNAME {default='z', 'level', 'lev', 'depth...'}{type=scalar string} 
    42 ; A string giving the name of the variable in the file  
    43 ; that contains the [xyz]axis.  
     39; A string giving the name of the variable in the file 
     40; that contains the [xyz]axis. 
    4441; 
    4542; @keyword XYINDEX {default=0}{type=scalar: 0 or 1} 
    4643; To define the x/y axis with index instead of using 
    47 ; the values contained in X/YAXISNAME.  
    48 ; x/yaxis = keyword_set(start1) + findgen(jpi/jpj)  
     44; the values contained in X/YAXISNAME. 
     45; x/yaxis = keyword_set(start1) + findgen(jpi/jpj) 
    4946; this forces key_onearth = 0 
    5047; 
    5148; @keyword ZINDEX {default=0}{type=scalar: 0 or 1} 
    5249; To define the z axis with index instead of using 
    53 ; the values contained in ZAXISNAME.  
    54 ; zaxis = keyword_set(start1) + findgen(jpk)  
    55 ;  
     50; the values contained in ZAXISNAME. 
     51; zaxis = keyword_set(start1) + findgen(jpk) 
     52; 
    5653; @keyword _EXTRA 
    57 ; Used to pass keywords to computegrid and ncdf_getaxis 
     54; Used to pass keywords to <pro>computegrid</pro> and <pro>ncdf_getaxis</pro> 
    5855; 
    5956; @uses 
     
    6158; 
    6259; @restrictions 
    63 ; Change the grid parameters (see computegrid) 
     60; Change the grid parameters (see <pro>computegrid</pro>) 
    6461; 
    6562; @restrictions 
     
    6764; 
    6865; @examples 
    69 ;  IDL> initncdf,'toto.nc',glam=[-180,180] 
     66; IDL> initncdf,'toto.nc',glam=[-180,180] 
    7067; 
    7168; @history 
     
    7774; 
    7875;- 
    79 ;------------------------------------------------------------ 
    80 ;------------------------------------------------------------ 
    81 ;------------------------------------------------------------ 
     76; 
    8277PRO initncdf, ncfilein $ 
    8378              , ZAXISNAME = zaxisname, MASKNAME = maskname $ 
     
    8681              , XYINDEX = xyindex, ZINDEX = zindex $ 
    8782              , _EXTRA = ex 
    88 ; 
    8983; 
    9084  compile_opt idl2, strictarrsubs 
     
    9993  endif 
    10094; if the file is stored on tape 
    101   if !version.os_family EQ 'unix' then spawn, 'file '+ncfile+' > /dev/null'  
     95  if !version.os_family EQ 'unix' then spawn, 'file '+ncfile+' > /dev/null' 
    10296;---------------------------------------------------------- 
    10397; open the file 
     
    109103  namedim = strarr(inside.ndims) 
    110104  for dimiq = 0, inside.ndims-1 do begin 
    111     ncdf_diminq, cdfid, dimiq, tmpname, value  
     105    ncdf_diminq, cdfid, dimiq, tmpname, value 
    112106    namedim[dimiq] = strlowcase(tmpname) 
    113107  ENDFOR 
     
    126120; find the zaxis 
    127121  IF keyword_set(romsgrid) THEN BEGIN 
    128     FOR i = 0, inside.ndims-1 DO BEGIN  
     122    FOR i = 0, inside.ndims-1 DO BEGIN 
    129123      ncdf_diminq, cdfid, i, name, size 
    130124      CASE strlowcase(name) OF 
     
    136130        ELSE: 
    137131      ENDCASE 
    138     ENDFOR  
     132    ENDFOR 
    139133    IF (where(namevar EQ 'h'))[0] NE -1 THEN BEGIN 
    140134      ncdf_varget, cdfid, 'h', romsh 
    141135    ENDIF ELSE romsh = -1 
    142   ENDIF ELSE BEGIN  
     136  ENDIF ELSE BEGIN 
    143137    if keyword_set(zaxisname) then zaxisname = strlowcase(zaxisname) ELSE zaxisname = 'z' 
    144138    zvarid = (where(namevar EQ 'nav_lev' or namevar EQ zaxisname OR namevar EQ 'level' OR namevar EQ 'lev' OR strmid(namevar, 0, 5) EQ 'depth'))[0] 
     
    149143; read the zaxis 
    150144    if zvarid NE -1 THEN ncdf_varget, cdfid, zvarid, zaxis 
    151   ENDELSE  
     145  ENDELSE 
    152146  IF keyword_set(zindex) AND keyword_set(zaxis) THEN $ 
    153147     zaxis = keyword_set(start1) + findgen(n_elements(zaxis)) 
     
    158152    keyword_set(maskname):BEGIN 
    159153      mskid = (where(namevar EQ strlowcase(maskname)))[0] 
    160       if mskid NE -1 THEN BEGIN  
     154      if mskid NE -1 THEN BEGIN 
    161155        mskinq = ncdf_varinq(cdfid, mskid) 
    162156; is the mask variable containing the record dimension? 
    163157        withrcd = (where(mskinq.dim EQ inside.recdim))[0] 
    164158        IF withrcd NE -1 THEN BEGIN 
    165 ; in order to read only the first record           
     159; in order to read only the first record 
    166160; we need to get the size of each dimension 
    167161          count = replicate(1L, mskinq.ndims) 
     
    172166            ENDIF 
    173167          ENDFOR 
    174 ; read the variable for the first record           
     168; read the variable for the first record 
    175169          ncdf_varget, cdfid, mskid, tmask, count = count 
    176170        ENDIF ELSE ncdf_varget, cdfid, mskid, tmask 
    177 ; check if we need to applay add_offset and scale factor          
     171; check if we need to applay add_offset and scale factor 
    178172        FOR a = 0, mskinq.natts-1 DO BEGIN 
    179           attname = ncdf_attname(cdfid, mskid, a)      
     173          attname = ncdf_attname(cdfid, mskid, a) 
    180174          CASE strlowcase(attname) OF 
    181175            'add_offset':ncdf_attget, cdfid, mskid, attname, add_offset 
     
    188182        if keyword_set(invmask) then tmask = 1-tmask 
    189183        tmask = byte(round(tmask)) 
    190       ENDIF ELSE tmask = -1        
     184      ENDIF ELSE tmask = -1 
    191185    END 
    192186;.................. 
    193187    keyword_set(useasmask):BEGIN 
    194188      mskid = (where(namevar EQ strlowcase(useasmask)))[0] 
    195       if mskid NE -1 THEN BEGIN  
     189      if mskid NE -1 THEN BEGIN 
    196190        mskinq = ncdf_varinq(cdfid, mskid) 
    197191; is the mask variable containing the record dimension? 
    198192        withrcd = (where(mskinq.dim EQ inside.recdim))[0] 
    199193        IF withrcd NE -1 THEN BEGIN 
    200 ; in order to read only the first record           
     194; in order to read only the first record 
    201195; we need to get the size of each dimension 
    202196          count = replicate(1L, mskinq.ndims) 
     
    207201            ENDIF 
    208202          ENDFOR 
    209 ; read the variable for the first record        
     203; read the variable for the first record 
    210204          ncdf_varget, cdfid, mskid, tmask, count = count 
    211205        ENDIF ELSE ncdf_varget, cdfid, mskid, tmask 
    212 ; check if we need to applay add_offset and scale factor        
     206; check if we need to applay add_offset and scale factor 
    213207        FOR a = 0, mskinq.natts-1 DO BEGIN 
    214           attname = ncdf_attname(cdfid, mskid, a)      
     208          attname = ncdf_attname(cdfid, mskid, a) 
    215209          CASE strlowcase(attname) OF 
    216210            'add_offset':ncdf_attget, cdfid, mskid, attname, add_offset 
     
    236230          IF min(tmask) EQ 1 THEN BEGIN 
    237231            print, 'missing or nan values not found...' 
    238             tmask = -1           
     232            tmask = -1 
    239233          ENDIF 
    240234        ENDELSE 
    241       ENDIF ELSE tmask = -1        
     235      ENDIF ELSE tmask = -1 
    242236    END 
    243237;.................. 
     
    248242; 
    249243; compute the grid 
    250   if NOT keyword_set(zaxis) then BEGIN  
     244  if NOT keyword_set(zaxis) then BEGIN 
    251245    computegrid, xaxis = xaxis, yaxis = yaxis $ 
    252                  , mask = tmask, onearth = 1b - keyword_set(xyindex), ROMSH = romsh, _EXTRA = ex  
    253   ENDIF ELSE BEGIN  
     246                 , mask = tmask, onearth = 1b - keyword_set(xyindex), ROMSH = romsh, _EXTRA = ex 
     247  ENDIF ELSE BEGIN 
    254248    computegrid, xaxis = xaxis, yaxis = yaxis, zaxis = zaxis $ 
    255249                 , mask = tmask, onearth = 1b - keyword_set(xyindex), ROMSH = romsh, _EXTRA = ex 
    256   ENDELSE  
     250  ENDELSE 
    257251  IF n_elements(time) EQ 0 THEN time = 0 
    258   jpt = n_elements(time)  
     252  jpt = n_elements(time) 
    259253;---------------------------------------------------------- 
    260254 
  • trunk/SRC/ToBeReviewed/LECTURE/binary.pro

    r223 r231  
    11;+ 
     2; 
    23; @file_comments 
    34; Returns the binary representation of a number of any numerical type. 
     
    4344; 
    4445;- 
    45 function binary, number 
     46; 
     47FUNCTION binary, number 
    4648; 
    4749  compile_opt idl2, strictarrsubs 
  • trunk/SRC/ToBeReviewed/LECTURE/changeread.pro

    r163 r231  
    22; @file_comments 
    33; 
    4 ; 
    54; @categories 
    6 ; 
    75; 
    86; @param NEWREAD 
    97; 
    10 ; 
    118; @returns 
    12 ; 
    139; 
    1410; @uses 
    1511; 
    16 ; 
    1712; @restrictions 
    18 ; 
    1913; 
    2014; @examples 
    2115; 
    22 ; 
    2316; @history 
    24 ; 
    2517; 
    2618; @version 
     
    3022; 
    3123;- 
     24; 
    3225FUNCTION changeread, newread 
    33 ; 
    3426; 
    3527  compile_opt idl2, strictarrsubs 
     
    3729@common 
    3830; 
    39 ; 
    4031; newread must be two structures 
    4132; 
    4233   if size(newread, /type) NE 8 then return, 0 
    4334; 
    44 ; we compare the two structure which caracterise the read   
     35; we compare the two structure which caracterise the read 
    4536; 
    4637   case 1 of 
  • trunk/SRC/ToBeReviewed/LECTURE/inverse_binary.pro

    r157 r231  
    22; 
    33; @file_comments 
    4 ; Inverse function of the binary.pro function => given a 
     4; Inverse function of the <pro>binary</pro> function => given a 
    55; input array of 0/1, return its corresponding byte/integer/long 
    66; representation 
     
    1010; @param BINNUMB {in}{required} 
    1111; Must be a binary type array containing only 0 and 1. 
    12 ; According to binary.pro outputs, binnum array must have the 
     12; According to <pro>binary</pro> outputs, binnum array must have the 
    1313; following dimensions values: (8, t, d1, d2...) 
    1414; t gives the output type: t = 1 -> byte 
    1515;                             t = 2 -> integer 
    1616;                             t = 4 -> long 
    17 ;     
     17; 
    1818;  (d1, d2...) are the output dimensions 
    1919; 
    2020; 
    21 ; @returns  
     21; @returns 
    2222; A byte/integer/long array with (d1, d2...) dimensions 
    2323; 
     
    3434;        0   0   0   0   0   0   0   0 
    3535;        0   0   0   0   0   0   0   0 
    36 ;      
     36; 
    3737;        0   0   0   0   0   0   0   0 
    3838;        0   0   0   0   0   0   0   1 
    39 ;      
     39; 
    4040;        0   0   0   0   0   0   0   0 
    4141;        0   0   0   0   0   0   1   0 
    42 ;      
     42; 
    4343;        0   0   0   0   0   0   0   0 
    4444;        0   0   0   0   0   0   1   1 
    45 ;      
     45; 
    4646;        0   0   0   0   0   0   0   0 
    4747;        0   0   0   0   0   1   0   0 
     
    5959; 
    6060;- 
    61 ;------------------------------------------------------ 
    62 ;------------------------------------------------------ 
     61; 
    6362FUNCTION inverse_binary, binnumb 
    64 ; 
    6563; 
    6664  compile_opt idl2, strictarrsubs 
  • trunk/SRC/ToBeReviewed/LECTURE/litchamp.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
    63; @file_comments 
    74; Allows to read an array or a structure corresponding to a field. 
    8 ; If we have in input:  
     5; If we have in input: 
    96;   -an array, litchamp send back the array. 
    10 ;   -a structure, litchamp send back the first element of the structure  
     7;   -a structure, litchamp send back the first element of the structure 
    118;   which must be the field in an array. 
    129;   Litchamp profit of this to look other elements of the structure et 
    1310;   update if needed global variables which refer to the field: 
    14 ;   vargrid, varname, varunit, vardate, varexp , valmask et time  
     11;   vargrid, varname, varunit, vardate, varexp , valmask et time 
    1512; 
    1613; @categories 
     
    2522;        corresponding  to the calendar to be associated with the field if it is a 
    2623;        temporal series. 
    27 ;        -the order of elements (except the first) has not any importance.  
     24;        -the order of elements (except the first) has not any importance. 
    2825;        -the other elements (except the first) are optional. 
    2926;        -they are recognize by the first letter of their names: 
     
    3633; 
    3734; @keyword GRID 
    38 ; We activate this keyword if we want litchamp to send back the variable  
    39 ; associated with the element of the structure starting by 'g' if it exist  
     35; We activate this keyword if we want litchamp to send back the variable 
     36; associated with the element of the structure starting by 'g' if it exist 
    4037; and '' if it does not. 
    4138; 
    4239; @keyword UNIT 
    43 ; We activate this keyword if we want litchamp to send back the variable  
    44 ; associated with the element of the structure starting by 'u' if it exist  
     40; We activate this keyword if we want litchamp to send back the variable 
     41; associated with the element of the structure starting by 'u' if it exist 
    4542; and '' if it does not. 
    4643; 
    4744; @keyword EXP 
    48 ; We activate this keyword if we want litchamp to send back the variable  
    49 ; associated with the element of the structure starting by 'u' if it exist  
     45; We activate this keyword if we want litchamp to send back the variable 
     46; associated with the element of the structure starting by 'u' if it exist 
    5047; and '' if it does not. 
    5148; 
    5249; @keyword DATE 
    53 ; We activate this keyword if we want litchamp to send back the variable  
    54 ; associated with the element of the structure starting by 'd' if it exist  
     50; We activate this keyword if we want litchamp to send back the variable 
     51; associated with the element of the structure starting by 'd' if it exist 
    5552; and '' if it does not. 
    5653; 
    5754; @keyword NAME 
    58 ; We activate this keyword if we want litchamp to send back the variable  
    59 ; associated with the element of the structure starting by 'n' if it exist  
     55; We activate this keyword if we want litchamp to send back the variable 
     56; associated with the element of the structure starting by 'n' if it exist 
    6057; and '' if it does not. 
    6158; 
    6259; @keyword LEVEL 
    63 ; We activate this keyword if we want litchamp to send back the variable  
    64 ; associated with the element of the structure starting by 'l' if it exist  
     60; We activate this keyword if we want litchamp to send back the variable 
     61; associated with the element of the structure starting by 'l' if it exist 
    6562; and -1 if it does not. 
    66 ;  
     63; 
    6764; @keyword MASK 
    68 ; We activate this keyword if we want litchamp to send back the variable  
    69 ; associated with the element of the structure starting by 'm' if it exist  
     65; We activate this keyword if we want litchamp to send back the variable 
     66; associated with the element of the structure starting by 'm' if it exist 
    7067; and -1 if it does not. 
    7168; 
     
    8178; 
    8279; @examples 
    83 ;      
    84 ;    IDL> print, vargrid,', ', varname,', ', varunit,', ', vardate,', ', varexp      
    85 ;    T,  ,  , 0,   
    86 ;    IDL> help, litchamp({a:indgen(5), u:'C', name:'toto'})    
     80; 
     81;    IDL> print, vargrid,', ', varname,', ', varunit,', ', vardate,', ', varexp 
     82;    T,  ,  , 0, 
     83;    IDL> help, litchamp({a:indgen(5), u:'C', name:'toto'}) 
    8784;    <Expression>    INT       = Array[5] 
    88 ;    IDL> print, vargrid,', ', varname,', ', varunit,', ', vardate,', ', varexp       
    89 ;    T, toto, C, 0,   
    90 ;    IDL> help, litchamp({a:indgen(5), da:'1999'})    
     85;    IDL> print, vargrid,', ', varname,', ', varunit,', ', vardate,', ', varexp 
     86;    T, toto, C, 0, 
     87;    IDL> help, litchamp({a:indgen(5), da:'1999'}) 
    9188;    <Expression>    INT       = Array[5] 
    92 ;    IDL> print, vargrid,', ', varname,', ', varunit,', ', vardate,', ', varexp      
    93 ;    T, toto, C, 1999,   
    94 ;  
     89;    IDL> print, vargrid,', ', varname,', ', varunit,', ', vardate,', ', varexp 
     90;    T, toto, C, 1999, 
     91; 
    9592; 
    9693; @history 
     
    10299; 
    103100;- 
    104 ;------------------------------------------------------------ 
    105 ;------------------------------------------------------------ 
    106 ;------------------------------------------------------------ 
     101; 
    107102FUNCTION litchamp, struct, GRID = grid, NAME = name, UNIT = unit, EXP = exp, DATE = date $ 
    108103                   , LEVEL = level, MASK = mask 
     
    111106; 
    112107@common 
    113 ;------------------------------------------------------------ 
     108; 
    114109  if size(struct, /type) ne 8 then BEGIN ; so contour is not a structure. 
    115110      if keyword_set(grid) then return, '' 
     
    120115      if keyword_set(level)  then return, -1 
    121116      if keyword_set(mask)  then return, -1 
    122       return,  struct            
    123    ENDIF   
     117      return,  struct 
     118   ENDIF 
    124119;------------------------------------------------------------ 
    125120   IF n_tags(struct) EQ 1 then BEGIN ; The structure has only one element. 
     
    132127      if keyword_set(mask)  then return, -1 
    133128      return,  struct.(0) 
    134    ENDIF   
     129   ENDIF 
    135130;------------------------------------------------------------ 
    136131   nomelements = tag_names(struct) 
     
    157152            valmask = struct.(i) 
    158153         END 
    159          'd':BEGIN  
    160             if size(struct.(i),/type) EQ 7 THEN BEGIN  
     154         'd':BEGIN 
     155            if size(struct.(i),/type) EQ 7 THEN BEGIN 
    161156               vardate = struct.(i) 
    162157            ENDIF ELSE BEGIN 
     
    165160               if jpt EQ 1 then vardate =  strtrim(vairdate((struct.(i))[0]), 2)$ 
    166161               ELSE vardate =  strtrim(vairdate((struct.(i))[0]), 2)+' - ' $ 
    167                 +strtrim(vairdate((struct.(i))[jpt-1]), 2)  
     162                +strtrim(vairdate((struct.(i))[jpt-1]), 2) 
    168163            ENDELSE 
    169164            if keyword_set(date) then return, vardate 
     
    175170             , FORTHEMASK = struct.(0), pttype = (struct.(i)).pttype 
    176171         END 
    177          ELSE:BEGIN  
     172         ELSE:BEGIN 
    178173            ras = report('Le nom '+nomelements[i]+' ne correspont a aucun element reconnu de la structure. cf. IDL> xhelp, ''litchamp''') 
    179174         end 
  • trunk/SRC/ToBeReviewed/LECTURE/ncdf_lec.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
    63; @file_comments 
    7 ; Give informations on a file net cdf and allows to recuperate  
     4; Give informations on a file net cdf and allows to recuperate 
    85; variables which are write in. 
    96; 
     
    1512; 
    1613; @keyword ATT 
    17 ; 'global' or at the name of a variable. Allows to see all attributes  
     14; 'global' or at the name of a variable. Allows to see all attributes 
    1815; joined at a variable 
    1916; 
     
    2926; 
    3027; @keyword _EXTRA 
    31 ; Allows to pass keywords defined by IDL to functions NETCDF ( particularly OFFSET  
    32 ; and COUNT in ncdf_varget) 
     28; Used to pass keywords defined by IDL to functions NETCDF (especially OFFSET 
     29; and COUNT in <pro>ncdf_varget</pro>) 
    3330; 
    3431; @returns 
     
    3633; 
    3734; @restrictions 
    38 ; Variables's names of the program are similar to these used by the IDL manual  
     35; Variables's names of the program are similar to these used by the IDL manual 
    3936; 'scientific data formats' 
    4037; 
     
    4744; 
    4845;- 
    49 ;------------------------------------------------------------ 
    50 function ncdf_lec,nom,ATT=att,DIM=dim,VAR=var, IODIR = iodir, _extra = ex 
     46; 
     47FUNCTION ncdf_lec,nom,ATT=att,DIM=dim,VAR=var, IODIR = iodir, _extra = ex 
    5148; 
    5249  compile_opt idl2, strictarrsubs 
     
    7269   wathinside=ncdf_inquire(cdfid) 
    7370;   print,'in the file, ',iodir+nom,', there are:' 
    74    if keyword_set(dim) then begin  
     71   if keyword_set(dim) then begin 
    7572      print,'nombre de dimensions: ',strtrim(wathinside.ndims,1) 
    7673      print,'numero de la dimension dont la valeur est infini: ',strtrim(wathinside.recdim,1) 
     
    9895; Display of different dimensions. 
    9996;------------------------------------------------------------ 
    100    if keyword_set(dim) then begin  
     97   if keyword_set(dim) then begin 
    10198      print, '----------------------------' 
    10299      print,'DIMENSIONS' 
     
    108105      nomdim[dimiq]=name 
    109106      tailledim[dimiq]=value 
    110       if keyword_set(dim) then begin  
     107      if keyword_set(dim) then begin 
    111108         print,'dimension numero ',strtrim(dimiq,1),', nom: ',nomdim[dimiq] $ 
    112109          ,', valeur: ' ,strtrim(tailledim[dimiq],1) 
     
    117114;------------------------------------------------------------ 
    118115; 
    119    if keyword_set(att) or keyword_set(var) then begin  
     116   if keyword_set(att) or keyword_set(var) then begin 
    120117; var's value? string or 1 
    121118   help, var, output = nature 
     
    125122      ncdf_varget, cdfid, var, res, _extra = ex 
    126123      GOTO, sortie 
    127    ENDIF  
     124   ENDIF 
    128125; If it is to have pieces of information. 
    129126   if not keyword_set(att) then att='rien' 
  • trunk/SRC/ToBeReviewed/LECTURE/read_ftp.pro

    r226 r231  
    11;+ 
     2; 
    23; @file_comments 
    34; 
     
    67; @param U 
    78; 
    8 ; 
    99; @param CMD 
    1010; 
    11 ; 
    1211; @param RES 
    1312; 
    1413; @keyword OUT 
    15 ; 
    1614; 
    1715; @keyword COUNT 
     
    2422; @examples 
    2523; 
    26 ; 
    2724; @history 
    28 ; 
    2925; 
    3026; @version 
    3127; $Id$ 
    3228;- 
    33  
    34 pro ftp_post, u, cmd, res, out=out, count=count 
    35   compile_opt idl2 
     29; 
     30PRO ftp_post, u, cmd, res, out=out, count=count 
     31; 
     32  compile_opt idl2, strictarrsubs 
     33; 
    3634  if (cmd ne '') then begin 
    3735    printf, u, cmd, format='(a)' 
     
    5553  endwhile 
    5654end 
     55; 
    5756;+ 
     57; 
    5858; @file_comments 
    5959; 
     
    6565; @param HOST 
    6666; 
    67 ; 
    6867; @param PORT 
    6968; 
    7069; @restrictions 
    71 ; 
    7270; 
    7371; @examples 
     
    7775; @version 
    7876; $Id$ 
     77; 
    7978;- 
    80  
    81 pro ftp_parse_pasv, text, host, port 
     79; 
     80PRO ftp_parse_pasv, text, host, port 
    8281  t=strtrim(text,2) 
    8382  ind=where(strcmp(t,'227',3)) 
     
    9190  endif 
    9291end 
     92; 
    9393;+ 
    9494; 
     
    178178; 
    179179;- 
    180 pro read_ftp, site, files, dir, port, data=data, file=file, user=user, $ 
     180; 
     181PRO read_ftp, site, files, dir, port, data=data, file=file, user=user, $ 
    181182              pass=pass, ptr=ptr 
     183; 
    182184  compile_opt idl2 
     185; 
    183186  if n_elements(port) eq 0 then port='ftp' 
    184187  if n_elements(files) eq 0 then begin 
  • trunk/SRC/ToBeReviewed/LECTURE/read_ncdf.pro

    r226 r231  
    11;+ 
     2; 
    23; @file_comments 
    34; Reading function for the file net_cdf. 
     
    7475; 
    7576; @keyword _EXTRA 
    76 ; Used to pass your keywords 
     77; Used to pass keywords 
    7778; 
    7879; @returns 
    79 ; Structure readable by litchamp.pro or an array if NOSTRUCT is activated. 
     80; Structure readable by <pro>litchamp</pro> or an array if NOSTRUCT is activated. 
    8081; 
    8182; @uses 
     
    9293; $Id$ 
    9394;- 
    94 ;--------------------------------------------------------- 
    95 ;--------------------------------------------------------- 
    96 ;--------------------------------------------------------- 
    97  
     95; 
    9896FUNCTION read_ncdf, name, beginning, ending, compatibility, BOXZOOM = boxzoom, FILENAME = filename $ 
    9997                    , PARENTIN = parentin, TIMESTEP = timestep, TIMEVAR = timevar $ 
     
    102100                    , ZETAFILENAME = zetafilename, ZETAZERO = zetazero $ 
    103101                    , _EXTRA = ex 
    104 ;--------------------------------------------------------- 
    105102; 
    106103  compile_opt idl2, strictarrsubs 
     
    544541 
    545542END 
    546  
    547  
    548  
    549  
    550  
    551  
  • trunk/SRC/ToBeReviewed/LECTURE/read_ncdf_varget.pro

    r216 r231  
    7676    IF keyword_set(key_periodic)  THEN BEGIN 
    7777      key_shift =  key_shift-1 
    78     ENDIF ELSE BEGIN  
     78    ENDIF ELSE BEGIN 
    7979      firstx = firstx+1 
    80       lastx = lastx+1     
    81     ENDELSE  
     80      lastx = lastx+1 
     81    ENDELSE 
    8282  ENDIF 
    8383  IF (key_gridtype EQ 'c_v' OR key_gridtype EQ 'c_f') $ 
     
    133133                   ,count=[nx,ny] 
    134134               END 
    135                ELSE:BEGIN  ; we have to extract the array in 2 pieces...   
     135               ELSE:BEGIN  ; we have to extract the array in 2 pieces... 
    136136; ......... part, first part... 
    137137                  ncdf_varget,cdfid,name,tab1,offset=[jpi-key+ixmin+firstx $ 
     
    151151            case 1 OF           ; case sur la facon de fire le champ 
    152152; --------- part, we can directly extract the array in one piece 
    153                firstx*key_stride[0] GE key:BEGIN  
     153               firstx*key_stride[0] GE key:BEGIN 
    154154                  ncdf_varget,cdfid,name,res,offset=[ixmin $ 
    155155                                                     +(key_stride[0]-1)-((key-1) MOD key_stride[0]) $ 
     
    159159                END 
    160160; ......... part, we can directly extract the array in one piece 
    161                lastx*key_stride[0] LE key-1:BEGIN  
     161               lastx*key_stride[0] LE key-1:BEGIN 
    162162                  ncdf_varget,cdfid,name,res,offset=[jpitotal-key+ixmin+firstx*key_stride[0] $ 
    163163                                                     ,firsty*key_stride[1]+iymin] $ 
     
    338338; --------- part, we can directly extract the array in one piece 
    339339            case 1 OF           ; case sur la facon de fire le champ 
    340                firstx*key_stride[0] GE key:BEGIN  
     340               firstx*key_stride[0] GE key:BEGIN 
    341341                  ncdf_varget,cdfid,name,res,offset=[ixmin $ 
    342342                                                     +(key_stride[0]-1)-((key-1) MOD key_stride[0]) $ 
     
    347347               END 
    348348; ......... part, we can directly extract the array in one piece 
    349                lastx*key_stride[0] LE key-1:BEGIN  
     349               lastx*key_stride[0] LE key-1:BEGIN 
    350350                  ncdf_varget,cdfid,name,res,offset=[jpitotal-key+ixmin+firstx*key_stride[0] $ 
    351351                                                     ,firsty*key_stride[1]+iymin $ 
     
    353353                   ,count=[nx,ny,jpt], stride = [key_stride[0:1], 1] 
    354354               END 
    355                ELSE:BEGIN       
     355               ELSE:BEGIN 
    356356; ......... part, first part... 
    357357                  ncdf_varget,cdfid,name,tab1,offset=[jpitotal-key+ixmin+firstx*key_stride[0] $ 
     
    480480 
    481481; we apply reverse 
    482   IF keyword_set(key_yreverse) AND ny NE 1 THEN BEGIN  
     482  IF keyword_set(key_yreverse) AND ny NE 1 THEN BEGIN 
    483483    IF varcontient.ndims - ((where(varcontient.dim EQ contient.recdim))[0] NE -1) EQ 2 THEN $ 
    484484       res = reverse(reform(res, nx, ny, jpt, /overwrite),  2) $ 
  • trunk/SRC/ToBeReviewed/LECTURE/xncdf_lec.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
    63; @file_comments 
    7 ; Reading of a Net Cdf file with widgets !  
    8 ; 
    9 ; @categories  
     4; Reading of a Net Cdf file with widgets ! 
     5; 
     6; @categories 
    107; Widget 
    118; 
    12 ; @param NAME {in}{optional}{type=string}  
    13 ; It give the name of the file to be opened. If NAME  
    14 ; does not contain the separating character of directories ('/' under  
     9; @param NAME {in}{optional}{type=string} 
     10; It give the name of the file to be opened. If NAME 
     11; does not contain the separating character of directories ('/' under 
    1512; unix for example), the file will be looked for in the current directory. 
    1613; 
    1714; @keyword IODIR {type=string} 
    1815; It contains the directory where to go look for the file to be read. 
    19 ; If NAME does not contain the separating character of directories ('/' under  
     16; If NAME does not contain the separating character of directories ('/' under 
    2017; unix for example), the file will be called iodir+nom_fichier. 
    2118; 
     
    2926; The widget ID of the widget that calls XNCDF_LEC. When 
    3027; this ID is specified, a death of the caller results in a death 
    31 ; of XNCDF_LEC.  
     28; of XNCDF_LEC. 
    3229; 
    3330; @keyword OFFSET {type=vector}{default=[0, 0,...]} 
     
    3633; 
    3734; @keyword SHIFT {type=vector}{default=[0, 0,...]} 
    38 ; A vector of integers, specifying for each dimension how much we have to shift it.  
    39 ; By default, it is [0,0,...]. See the function shift for more explanations. BEWARE,  
    40 ; the shift is done on the biggest array before a possible reduction determined  
    41 ; by OFFSET and COUNT. On the other hand, it is done after the possible extraction  
     35; A vector of integers, specifying for each dimension how much we have to shift it. 
     36; By default, it is [0,0,...]. See the function shift for more explanations. BEWARE, 
     37; the shift is done on the biggest array before a possible reduction determined 
     38; by OFFSET and COUNT. On the other hand, it is done after the possible extraction 
    4239; created by the STRIDE. 
    4340; 
     
    5148;       1) None attribute has been selected. In this case, res is the array we 
    5249;       wanted to read. 
    53 ;       2) Some attributes has been selected. In this case, res is a structure  
    54 ;       whose the first element having the name of the variable is the values  
     50;       2) Some attributes has been selected. In this case, res is a structure 
     51;       whose the first element having the name of the variable is the values 
    5552;       array and the other arguments are the select arguments. 
    5653; 
     
    6865; $Id$ 
    6966;- 
    70 ;------------------------------------------------------------ 
    71 ;------------------------------------------------------------ 
    72 ;------------------------------------------------------------ 
     67; 
    7368FUNCTION xncdf_lec, name, ATT = att, COUNT = count, GROUP = group, OFFSET = offset, IODIR = iodir, SHIFT = shift,  STRIDE = stride, VAR = var 
    7469; 
     
    10398   mciodir = iodir 
    10499; We complete IODIR with a separating character if needed. 
    105    IF rstrpos(iodir, sep) NE strlen(iodir)-1 THEN iodir = iodir+sep  
     100   IF rstrpos(iodir, sep) NE strlen(iodir)-1 THEN iodir = iodir+sep 
    106101   if n_elements(name) EQ 0 then BEGIN ; If NAME is not defined, we find one thanks to the program dialog_pickfile. 
    107       name = dialog_pickfile(filter = iodir+'*.nc')  
     102      name = dialog_pickfile(filter = iodir+'*.nc') 
    108103      if name[0] EQ '' then return,  -1 ;If we do not have find anything, we go out. 
    109104;We complete NAME by IODIR if NAME does not contain any directory separating character. 
     
    132127;------------------------------------------------------------ 
    133128   base1 = widget_base(base, /column, /align_center) 
    134    rien = widget_label(base1, value = 'Net Cdf filename', /align_center)  
     129   rien = widget_label(base1, value = 'Net Cdf filename', /align_center) 
    135130   rien = widget_text(base1, value = name, /align_center, uvalue=1, /editable) ;File's name we can change 
    136131   rien = widget_label(base1, value = ' ') ; We jump a line 
     
    207202; 
    208203;+ 
     204; 
    209205; @file_comments 
    210206; Procedure called by xmanager when we press on a button of a second widget created by wid_var. 
    211 ;  
     207; 
    212208; @param EVENT {in}{required} 
    213209; A structure caracterizing the type of event which arrive to a widget number1 2 
     
    215211; @uses 
    216212; wididbase,resultat,infovariable,indicewid,motcle 
    217 ;  
     213; 
    218214; @version 
    219215; $Id$ 
    220216;- 
    221 ;------------------------------------------------------------ 
    222 ;------------------------------------------------------------ 
    223 ;------------------------------------------------------------ 
    224 pro wid_var_event,  event 
     217; 
     218PRO wid_var_event,  event 
    225219; 
    226220  compile_opt idl2, strictarrsubs 
     
    246240         if event.y GT (size(table))[2] then return 
    247241         if size(table[event.x, event.y], /type) GE 6 $ 
    248           OR size(table[event.x, event.y], /type) EQ 0 then BEGIN  
     242          OR size(table[event.x, event.y], /type) EQ 0 then BEGIN 
    249243            if event.x EQ 1 then $ 
    250244             widget_control, widbase1, use_table_select = [1, event.y,1, event.y] $ 
     
    347341; We redefine the command allowing to cut dimensions which has not been cut yet (ones we shift). 
    348342            commande = 'res=res[' ; initialization of the command 
    349             for dim = 0, varcontient.ndims-1 do BEGIN  
     343            for dim = 0, varcontient.ndims-1 do BEGIN 
    350344               if mcshift[dim] EQ 0 then commande = commande+'*,' $ 
    351345               ELSE commande=commande+string(mcoffset[dim])+':'+string(mccount[dim]+mcoffset[dim]-1)+',' 
     
    380374   return 
    381375end 
    382 ;------------------------------------------------------------ 
    383 ;------------------------------------------------------------ 
    384 ;------------------------------------------------------------ 
     376; 
    385377;+ 
     378; 
    386379; @file_comments 
    387 ; This procedure manage the second created whiget when we call xncdf_lec.  
     380; This procedure manage the second created whiget when we call xncdf_lec. 
    388381; This widget concern the reading of the variable. 
    389382; 
    390383; @param WIDID_PERE {type=scalar}{in}{required} 
    391 ; It contains the identity of the father widget which was  
     384; It contains the identity of the father widget which was 
    392385; created by xncdf_lec and which has allowed to select the variable to be read. 
    393386; 
    394387; OUTPUTS: indirectement res (le tableau ou la structure resultat) 
    395388; 
    396 ; @uses  
     389; @uses 
    397390; resultat,infovariable,indicewid_var,motcle 
    398391; 
     
    400393; $Id$ 
    401394;- 
    402 ;------------------------------------------------------------ 
    403 ;------------------------------------------------------------ 
    404 ;------------------------------------------------------------ 
     395; 
    405396PRO wid_var, widid_pere 
    406397; 
     
    416407   widbase = widget_base(/column, title='variable: '+varcontient.name, /align_center, group_leader = widid_pere) 
    417408;------------------------------------------------------------ 
    418 ; Opening of the base subwindow  
     409; Opening of the base subwindow 
    419410;------------------------------------------------------------ 
    420411; widbase1 array of offsets 
     
    457448   rien = widget_label(widbase, value = ' ') ; We jump a line 
    458449   widbase2 = widget_base(widbase, /column) 
    459 ; To each attribute, we created a widget (widbase21) containing in line a button  
    460 ; yes/no (widbase211), and two wigdet text (widbase212, widbase213) comprising the  
     450; To each attribute, we created a widget (widbase21) containing in line a button 
     451; yes/no (widbase211), and two wigdet text (widbase212, widbase213) comprising the 
    461452; name and the value of the attribute. 
    462453   widbase21 = lonarr(varcontient.natts) 
     
    492483   return 
    493484end 
    494 ;------------------------------------------------------------ 
    495  
    496 ;------------------------------------------------------------ 
    497 ;------------------------------------------------------------ 
    498 ;------------------------------------------------------------ 
     485; 
    499486;+ 
     487; 
    500488; @file_comments 
    501 ; Procedure called by xmanager when we press a button of the first widget  
     489; Procedure called by xmanager when we press a button of the first widget 
    502490; created by par xncdf_lec 
    503 ;  
     491; 
    504492; @param EVENT 
    505493; A structure caracterising the event type which arrive at the widget number 1. 
     
    511499; $Id$ 
    512500;- 
    513 ;------------------------------------------------------------ 
    514 ;------------------------------------------------------------ 
    515 ;------------------------------------------------------------ 
     501; 
    516502PRO xncdf_lec_event, event 
    517503; 
     
    531517;We call back xncdf_lec 
    532518         res = xncdf_lec(nom[0], ATT = mcatt, COUNT = mccount, OFFSET = mcoffset, IODIR = mciodir $ 
    533                          , SHIFT = mcshift,  STRIDE = mcstride, VAR = mcvar)  
     519                         , SHIFT = mcshift,  STRIDE = mcstride, VAR = mcvar) 
    534520         return 
    535521      END 
  • trunk/SRC/ToBeReviewed/PLOTS/DESSINE/plt.pro

    r171 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
    6 ; @file_comments  
     3; @file_comments 
    74; Draw horizontal graph (map) with CONTOUR procedure 
    85; 
    9 ; @categories  
     6; @categories 
    107; Graphics 
    118; 
    12 ; @param TAB1 {in}{required}  
     9; @param TAB1 {in}{required} 
    1310; The field whose we want to make the horizontal map can be: 
    1411;         1) an array. if needed, its mean along the z and t direction 
    1512;         will be automatically performed. 
    1613;         2) a structure respecting all criterions specified by 
    17 ;         litchamp.pro. cf. IDL> xhelp,'litchamp' 
    18 ;   
    19 ; @param PARAM2 {in}{optional}{default=min of tab1 (on ocean points)}  
     14;         <pro>litchamp</pro> cf. IDL> xhelp,'litchamp' 
     15; 
     16; @param PARAM2 {in}{optional}{default=min of tab1 (on ocean points)} 
    2017; Min value we want to consider in the contour's drawing. 
    2118;         Note: Could also be the type of plot that can be only 'xy' for plt 
    2219; 
    23 ; @param PARAM3 {in}{optional}{default=max of tab1 (on ocean points)}  
     20; @param PARAM3 {in}{optional}{default=max of tab1 (on ocean points)} 
    2421; Max value we want to consider in the contour's drawing. 
    2522;         Note: if param2 is defined as 'xy' then param3 is used to define the min (see param2) 
    2623; 
    27 ; @param PARAM4 {in}{optional}{default='xy'}  
     24; @param PARAM4 {in}{optional}{default='xy'} 
    2825; Type of plot (can be only 'xy' for plt). 
    2926;         Note: if param2 is defined as 'xy' then param4 is used to define the max (see param3) 
    3027; 
    3128; @keyword BOXZOOM {type=vector} 
    32 ; Vector indicating the geographic zone on which we want to cut the map.  
     29; Vector indicating the geographic zone on which we want to cut the map. 
    3330;  If BOXZOOM has : 
    3431; 1 element : The extraction is made on [lon1, lon2, lat1, lat2, 0.,boxzoom[0]] 
     
    4037; Where lon1, lon2,lat1,lat2 are global variables defined at the last domdef! 
    4138; 
    42 ; @keyword REALCONT  
     39; @keyword REALCONT 
    4340; Allow to draw continents defined in IDL. REALCONT can have 2 form: 
    4441;           /REALCONT: we draw continents in place of the mask 
    45 ;           REALCONT=2 we draw continent's contour over the mask (this allows  
     42;           REALCONT=2 we draw continent's contour over the mask (this allows 
    4643;                      to see if the mask correspond at real continents). 
    4744; 
    48 ; @keyword CONTINTERVALLE  
    49 ; When CONTOUR is activated, it is the value between 2 isolines  
    50 ; traced by a trait. So it can be different from the one specified by INTERVALLE which,  
    51 ; in this case, does not control colored isolines in color anymore. If there is noone  
    52 ; specified min, we choose a contour min which goes well with the specified interval!  
    53 ; If this keyword is not specified, we trace 20 isolines from the min to the max.  
     45; @keyword CONTINTERVALLE 
     46; When CONTOUR is activated, it is the value between 2 isolines 
     47; traced by a trait. So it can be different from the one specified by INTERVALLE which, 
     48; in this case, does not control colored isolines in color anymore. If there is noone 
     49; specified min, we choose a contour min which goes well with the specified interval! 
     50; If this keyword is not specified, we trace 20 isolines from the min to the max. 
    5451; 
    5552; @keyword CONTLABEL {type=integer} 
    5653; It is an integer n. When CONTOUR is activated, if n 
    57 ; is different of 0, choose the label type corresponding to n cases for  
    58 ; the traced by a traitisolines. To specify the type of label of the  
     54; is different of 0, choose the label type corresponding to n cases for 
     55; the traced by a traitisolines. To specify the type of label of the 
    5956; colored contour, use LABEL 
    6057; 
    6158; @keyword CONTMAX {default=The max of the array passed in the keyword CONTOUR (on ocean points)} 
    62 ; When CONTOUR is activated, max value we want to consider in the isoline  
     59; When CONTOUR is activated, max value we want to consider in the isoline 
    6360; traced by a trait's line 
    6461; 
    6562; @keyword CONTMIN {default=The min of the array passed in the keyword CONTOUR (on ocean points)} 
    66 ; When CONTOUR is activated, min value we want to consider in the isoline  
     63; When CONTOUR is activated, min value we want to consider in the isoline 
    6764; traced by a trait's line. 
    6865; 
     
    7269; CONTLABEL=0) 
    7370; 
    74 ; @keyword CONTOUR  
    75 ; If we want to trace contours of a different field than the one  
    76 ; whose we have the colored drawing (by example E-P in color and QSR in contours).  
     71; @keyword CONTOUR 
     72; If we want to trace contours of a different field than the one 
     73; whose we have the colored drawing (by example E-P in color and QSR in contours). 
    7774; It must be a field respecting same characteristics than the argument number one of plt. 
    7875; 
     
    8077; Comment: In this case, we should use a structure like field. 
    8178; 
    82 ; @keyword INTERVALLE  
    83 ; Value of an internal between to isoline. If there is none specified min,  
    84 ; we choose a min contour which goes well with the specified interval!. If this keyword is not  
    85 ; specified, we trace 20 isoline from the min to the max. Comment: When CONTOUR is activated,  
    86 ; INTERVALLE only specify the interval between 2 colored isoline. To specify the interval  
     79; @keyword INTERVALLE 
     80; Value of an internal between to isoline. If there is none specified min, 
     81; we choose a min contour which goes well with the specified interval!. If this keyword is not 
     82; specified, we trace 20 isoline from the min to the max. Comment: When CONTOUR is activated, 
     83; INTERVALLE only specify the interval between 2 colored isoline. To specify the interval 
    8784; between 2 isolines traced by a trait, use CONTINTERVALLE. 
    8885; 
    89 ; @keyword INV  
    90 ; Invert the color vector used to color the graph  
     86; @keyword INV 
     87; Invert the color vector used to color the graph 
    9188;               (without use the black, the white and the used palette) 
    92 ;  
     89; 
    9390; @keyword LABEL {type=integer} 
    94 ; It is an integer n. If n different of 0, it choose the label's type  
    95 ; corresponding to cases n. cf label.pro 
    96 ; Comment: When CONTOUR is activated, it only specify the label's type for colored isolines.  
     91; It is an integer n. If n different of 0, it choose the label's type 
     92; corresponding to cases n. cf <pro>label</pro> 
     93; Comment: When CONTOUR is activated, it only specify the label's type for colored isolines. 
    9794; For these one traced by a trait, use CONTLABEL. 
    9895;        
     
    10198; This keyword can be of two types: 
    10299;     MAP=[P0lat,P0lon,Rot]. For the description of these 3 values (see the online help of MAP_SET). 
    103 ;     /MAP: In this case, map is automatically calculated have the value:  
     100;     /MAP: In this case, map is automatically calculated have the value: 
    104101;          map = [0, (lon1+lon2)/2., 0] 
    105102; Comment: A good way to choose the type of the projection we want to do is to have a look at IDL demo: 
    106103; IDL> demo 
    107104; Then choose earth sciences and  mapping. 
    108 ; Comment2: By default it is a cylindrical projection which is effectuated (with or without the keyword map).  
     105; Comment2: By default it is a cylindrical projection which is effectuated (with or without the keyword map). 
    109106; If we want an other projection, MAP must be activated and we have to add the keyword: /nom_projection. 
    110107; For example, for a polar projection centered on the south pole: 
     
    115112; Corresponds to label keywords of map_set. 
    116113; 
    117 ; @keyword MAXIN  
     114; @keyword MAXIN 
    118115; to specify the max value we want to plot with a keyword instead of with the 
    119116; input parameter max. If max is defined by both, parameter and keyword, the 
    120117; keyword is retained. 
    121118; 
    122 ; @keyword MININ  
     119; @keyword MININ 
    123120; to specify the min value we want to plot with a keyword instead of with the 
    124121; input parameter min. If min is defined by both, parameter and keyword, the 
     
    129126; LABEL=0 or is not specified. 
    130127; 
    131 ; @keyword NOTRI  
    132 ; To force not to use the triangulation. Beware, in this case, the  
    133 ; drawing only works if the grid is undeformed (It means that each point of a longitude  
    134 ; give one latitude and each point of a latitude give one longitude) except if we use  
    135 ; the keyword CELL_FILL=2.  
     128; @keyword NOTRI 
     129; To force not to use the triangulation. Beware, in this case, the 
     130; drawing only works if the grid is undeformed (It means that each point of a longitude 
     131; give one latitude and each point of a latitude give one longitude) except if we use 
     132; the keyword CELL_FILL=2. 
    136133; Comment: if the field contain points !values.f_nan, then we even do a triangulation. 
    137134; 
    138 ; @keyword OVERPLOT  
    139 ; To make a plot over an other one.  
    140 ; Comment: Contrarily to the use of CONTOUR or VECTEUR, the use of this keyword  
     135; @keyword OVERPLOT 
     136; To make a plot over an other one. 
     137; Comment: Contrarily to the use of CONTOUR or VECTEUR, the use of this keyword 
    141138; does not the caption and/or the color bar. 
    142139; 
    143 ; @keyword STRICTFILL  
    144 ; Activate this keyword to that the filling of contours be  
    145 ; precisely done between the min and the max specified letting values inferior at the  
     140; @keyword STRICTFILL 
     141; Activate this keyword to that the filling of contours be 
     142; precisely done between the min and the max specified letting values inferior at the 
    146143; specified min and values superior at the specified max in white. 
    147144; 
     
    158155; 
    159156; @keyword _EXTRA 
    160 ; used to pass your keywords 
    161 ;  
    162 ; @keyword CONT_NOFILL        
    163 ; Activate it not to fill the point mask to let them transparent!  
     157; Used to pass keywords 
     158; 
     159; @keyword CONT_NOFILL 
     160; Activate it not to fill the point mask to let them transparent! 
    164161; Comment: Nevertheless, we trace mask's contour. 
    165 ;  
     162; 
    166163; @keyword USETRI 
    167164; To force using triangulation. 
    168 ;  
    169 ; @keyword MASKFILL  
    170 ;  
     165; 
     166; @keyword MASKFILL 
     167; 
    171168; @keyword DUPLICATE 
    172169; 
     
    176173; common.pro 
    177174; 
    178 ; @history  
     175; @history 
    179176; Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    180177; 7/1999 
    181178; Sebastien Masson 08/02/2000 checkfield and 
    182179; notri keyword (or triangule = -1) . 
    183 ;  
     180; 
    184181; @version 
    185182; $Id$ 
    186 ;  
    187 ; @todo seb  
     183; 
     184; @todo seb 
    188185; Changer param "tab1",keyword "REMPLI", "UNLABSUR", "UNSUR2", 
    189186; "UNVECTSUR"+ quelques trucs dans la routine. 
    190187;- 
    191 ;------------------------------------------------------------ 
    192 ;------------------------------------------------------------ 
    193 ;------------------------------------------------------------ 
    194 pro plt, tab1, param2, param3, param4, REALCONT = realcont, CONTOUR = contour $ 
     188; 
     189PRO plt, tab1, param2, param3, param4, REALCONT = realcont, CONTOUR = contour $ 
    195190         , INTERVALLE = intervalle, INV = inv, GRIDTYPE = gridtype, BOXZOOM = boxzoom $ 
    196191         , CONTINTERVALLE = contintervalle, LABEL = label, CONTLABEL = contlabel $ 
     
    201196         , DUPLICATE = duplicate, STRICTFILL = strictfill, OVERPLOT = overplot $ 
    202197         , DECIMATETRI = decimatetri,  LABMAP = labmap, _extra = ex 
    203 ;--------------------------------------------------------- 
    204 ; include common 
    205198; 
    206199  compile_opt idl2, strictarrsubs 
     
    239232  if n_elements(param3) NE 0 then min = param3 
    240233  if n_elements(param4) NE 0 then max = param4 
    241   if n_elements(minin) NE 0 then min = minin  
     234  if n_elements(minin) NE 0 then min = minin 
    242235  if n_elements(maxin) NE 0 then max = maxin 
    243236  checktypeminmax, 'plt', TYPE = type, MIN = min, MAX = max, _extra = ex 
    244   z2d = checkfield(tab1, 'plt', TYPE = type, BOXZOOM = boxzoom, DIREC = direc, VECTEUR = vecteur, _extra = ex)  
    245   if z2d[0] EQ -1 then BEGIN  
     237  z2d = checkfield(tab1, 'plt', TYPE = type, BOXZOOM = boxzoom, DIREC = direc, VECTEUR = vecteur, _extra = ex) 
     238  if z2d[0] EQ -1 then BEGIN 
    246239    IF keyword_set(savedbox) THEN restoreboxparam, 'boxparam4plt.dat' 
    247240    return 
     
    249242  IF n_elements(usetri) EQ 0 THEN BEGIN 
    250243; do we have holes in the triangulation? 
    251     holeintri = n_elements(triangles_list)/3 LT (jpi-1+keyword_set(key_periodic))*(jpj-1)*2 ; -> the triangulation must be used to draw the field  
     244    holeintri = n_elements(triangles_list)/3 LT (jpi-1+keyword_set(key_periodic))*(jpj-1)*2 ; -> the triangulation must be used to draw the field 
    252245; do we have a triangulation? 
    253246    wehavetri = triangles_list[0] NE -1 ; -> the triangulation must be used to draw the continents 
     
    260253      'F':nx = nxf 
    261254    ENDCASE 
    262     mapperio = keyword_set(map)*keyword_set(key_periodic)*(nx eq jpi)  
     255    mapperio = keyword_set(map)*keyword_set(key_periodic)*(nx eq jpi) 
    263256    usetri = (wehavetri*(wehavetri+holeintri+mapperio+keyword_set(key_irregular))) < 2 
    264257    IF n_elements(notri) NE 0 THEN usetri = 0 > (2-notri) 
     
    273266;--------------------------------------------------------------- 
    274267  IF  strupcase(vargrid) EQ 'W' THEN profond = firstzw NE 0 $ 
    275   ELSE profond = firstzt NE 0  
     268  ELSE profond = firstzt NE 0 
    276269; do we need to extract now the triangulation that will be use for 
    277270; contouring the field? 
     
    288281  ENDELSE 
    289282;---------------------------------------------------------------------------- 
    290 ; I5 determination of the mi:min and of the ma:max of z2d in the same way  
     283; I5 determination of the mi:min and of the ma:max of z2d in the same way 
    291284; as max: max and min: min for the drawing. 
    292285;----------------------------------------------------------------------------- 
    293286  masknan = finite(z2d) 
    294   nan = total(masknan) NE n_elements(z2d)  
     287  nan = total(masknan) NE n_elements(z2d) 
    295288; Do we need to do an autoscale ??? 
    296289  autoscale = testvar(var = min) EQ testvar(var = max) AND NOT keyword_set(intervalle) 
     
    302295;-------------------------------------------------------------- 
    303296;-------------------------------------------------------------- 
    304 ; II) We put the drawing in its place on the window or the page  
     297; II) We put the drawing in its place on the window or the page 
    305298; and possible opening of the window or of the page. 
    306299;-------------------------------------------------------------- 
     
    361354;---------------------------------------------------------- 
    362355; check mask and triangulation according to the grid type and NaN 
    363 ;----------------------------------------------------------  
    364 ; If we make a drawing at depth, we must redefine a triangulation  
     356;---------------------------------------------------------- 
     357; If we make a drawing at depth, we must redefine a triangulation 
    365358; on the zoom because the land/sea mask at depth may differ from 
    366359; the one at the surface. 
     
    385378;  IF n_elements(twin_corners_up) EQ 0 THEN coinmontemask = -1 ELSE coinmontemask = twin_corners_up 
    386379;  IF n_elements(twin_corners_dn) EQ 0 THEN coindescendmask =  -1 ELSE coindescendmask = twin_corners_dn 
    387   if vargrid EQ 'T' OR vargrid EQ 'W' then BEGIN  
     380  if vargrid EQ 'T' OR vargrid EQ 'W' then BEGIN 
    388381    glammsk = glam 
    389382    gphimsk = gphi 
    390383  ENDIF ELSE begin 
    391 ; decoupe terre: To draw the coast in a clean way, we try to take additionally  
     384; decoupe terre: To draw the coast in a clean way, we try to take additionally 
    392385; points to draw the land. Like that, we do not see gap between T and U/V/F grid. 
    393386; It is what decoupeterre do. We also redefine trimsk. 
     
    402395;------------------------------------------------------------ 
    403396  typetrace = 'classique' 
    404   if keyword_set(map) AND key_onearth then BEGIN  
     397  if keyword_set(map) AND key_onearth then BEGIN 
    405398; Call of  mapset when we want to do projections. 
    406399    IF n_elements(map) NE 3 THEN map = [0, ((lon1+lon2)/2.) MOD 360, 0] 
     
    410403    map_rot = map[2] 
    411404    if chkstru(ex, 'TITLE') then begin 
    412       maptitre = ex.title  
     405      maptitre = ex.title 
    413406      ex.title = '' 
    414407    endif 
     
    418411    if n_elements(trifield) GE 2 then trifield = ciseauxtri(trifield, glam, gphi, _EXTRA = ex) 
    419412    if n_elements(trimsk) GE 2 then trimsk = ciseauxtri(trimsk, glammsk, gphimsk, _EXTRA = ex) 
    420     if n_elements(trinan) GE 2 then BEGIN  
     413    if n_elements(trinan) GE 2 then BEGIN 
    421414      trinan = ciseauxtri(trinan, glam, gphi, _EXTRA = ex) 
    422415      if trinan[0] EQ -1 then undefine, trinan 
    423416    endif 
    424   ENDIF ELSE BEGIN  
     417  ENDIF ELSE BEGIN 
    425418;To axes of coordinates be considerated. 
    426419    if !x.type EQ 0 AND n_elements(contour) LE 4 then $ 
    427       plot, [0], [0], /nodata, xstyle = 5, ystyle = 5, title = '', subtitle = '', /noerase  
     420      plot, [0], [0], /nodata, xstyle = 5, ystyle = 5, title = '', subtitle = '', /noerase 
    428421    if keyword_set(key_periodic) then BEGIN 
    429 ; In this case, triangulation is closed in x and cover all the sphere.  
     422; In this case, triangulation is closed in x and cover all the sphere. 
    430423; We have to cut it at the level where we cut the sphere to make the drawing. 
    431424      if n_elements(trifield) GE 2 then trifield = ciseauxtri(trifield, glam, gphi, _EXTRA = ex) 
     
    461454                           , Connout, vertices = Vertsout $ 
    462455                           , percent_vertices = decimatetri) 
    463     connout = reform(connout, 4,  n_elements(connout)/4, /over)  
     456    connout = reform(connout, 4,  n_elements(connout)/4, /over) 
    464457    trifield = (temporary(connout))[1:3, *] 
    465458    glam = reform(Vertsout[0, *]) 
     
    467460    z2d = reform(Vertsout[2, *]) 
    468461    undefine, Vertsout 
    469     print, 'temps decimatetri', systime(1)-tempsdeux  
     462    print, 'temps decimatetri', systime(1)-tempsdeux 
    470463  ENDIF 
    471464  pltbase, z2d, glam, gphi $ 
     
    486479    return 
    487480  endif 
    488   if keyword_set(contour) THEN BEGIN  
     481  if keyword_set(contour) THEN BEGIN 
    489482    pourlegende = [1, 1, 1, 1] 
    490483    oldattributs = saveatt() 
     
    507500; V1) Possible add of vectors in double exposure. 
    508501;------------------------------------------------------------ 
    509   if keyword_set(vecteur) then BEGIN  
     502  if keyword_set(vecteur) then BEGIN 
    510503    oldattributs = saveatt() 
    511504    ajoutvect, vecteur, vectlegende, _extra = ex 
     
    545538;------------------------------------------------------------ 
    546539  legende, mi, ma, 'xy', CONTOUR = pourlegende, VECTLEGENDE = vectlegende, INTERVALLE = intervalle, DIREC = direc, _EXTRA = ex 
    547   if n_elements(ex) NE 0 then BEGIN  
     540  if n_elements(ex) NE 0 then BEGIN 
    548541; To keep frame's axes in black 
    549542    if (where(tag_names(ex) EQ 'COLOR'))[0] NE -1 then ex.COLOR = coast_color 
     
    553546    'classique': $ 
    554547      plot, [0], [0], /nodata, /noerase, color = 0, xstyle = 1, ystyle = 1, _extra = ex 
    555     'projection': BEGIN  
     548    'projection': BEGIN 
    556549      if chkstru(ex, 'NOERASE') then begin 
    557550        oldnoerase = ex.noerase 
     
    592585sortie: 
    593586  if keyword_set(savedbox) THEN restoreboxparam, 'boxparam4plt.dat' 
    594   if keyword_set(key_performance) NE 0 THEN print, 'temps plt', systime(1)-tempsun  
     587  if keyword_set(key_performance) NE 0 THEN print, 'temps plt', systime(1)-tempsun 
    595588;------------------------------------------------------------ 
    596589;------------------------------------------------------------ 
  • trunk/SRC/ToBeReviewed/PLOTS/DESSINE/plt1d.pro

    r172 r231  
    1 ;------------------------------------------------------------ 
    21;+ 
    32; 
     
    87; Graphics 
    98; 
    10 ; @param TAB {in}{required}  
     9; @param TAB {in}{required} 
    1110; The field whose we want to make the hovmoller map can be 2 kind of thing: 
    1211;       1) An array which can be: 
    13 ;          * 2d, 3d or 4d:  array xy, xyz. xyt or xyzt. In this case, the array will pass  
    14 ;          in moyenne or grossemoyenne to be averaged and become  an array 1d.  
    15 ;          * 1d:Nevertheless, the type must be specified in order to we know which trace  
     12;          * 2d, 3d or 4d:  array xy, xyz. xyt or xyzt. In this case, the array will pass 
     13;          in moyenne or grossemoyenne to be averaged and become  an array 1d. 
     14;          * 1d:Nevertheless, the type must be specified in order to we know which trace 
    1615;          it is about. To have a correct caption, respecify the  extraction zone via BOXZOOM. 
    17 ;       2) a structure respecting all criterions specified by litchamp.pro.  
    18 ;          See IDL> xhelp,'litchamp'. The array contained in the structure  
    19 ;          respecting criterions of case 1)  
    20 ; 
    21 ; @param PARAM2 {in}{required}  
     16;       2) a structure respecting all criterions specified by <pro>litchamp</pro> 
     17;          See IDL> xhelp,'litchamp'. The array contained in the structure 
     18;          respecting criterions of case 1) 
     19; 
     20; @param PARAM2 {in}{required} 
    2221; Min value we want to consider in the contour's drawing. 
    2322; Note: could also be the type of plot:'x','y','z' 
    24 ;   
    25 ; @param PARAM3 {in}{optional}{default=min/max of tab (on ocean points)}  
     23; 
     24; @param PARAM3 {in}{optional}{default=min/max of tab (on ocean points)} 
    2625; Max value we want to consider in the contour's drawing. 
    2726; Note: if param2 is defined as 'x','y','z' then param3 is used to define the min (see param2) 
    2827; 
    29 ; @param PARAM4 {in}{optional}{default=max of tab (on ocean points)}  
     28; @param PARAM4 {in}{optional}{default=max of tab (on ocean points)} 
    3029; Type of plot (can be only 'x','y','z' for plt1d). 
    3130; Note: if param2 is defined as 'xy' then param4 is used to define the max (see param3) 
    3231; 
    3332; @keyword BOXZOOM 
    34 ; Vector indicating the geographic zone (3d) on which the extraction of the field must  
     33; Vector indicating the geographic zone (3d) on which the extraction of the field must 
    3534; be done to do the hovmoeller. 
    3635;  If BOXZOOM has : 
     
    4443; 
    4544; @keyword COL1d 
    46 ;  --OBSOLETE--Color number when we make a trace 1d by default, 0.It is better to use the  
    47 ; keyword COLOR used by plot. 
    48 ; 
    49 ; @keyword ENDPOINTS  
    50 ; keyword specifying that we want to make a vertical cut in diagonal. Then coordinated of extremities  
    51 ; of these one are defined by the 4 elements of the vector ENDPOINTS: [x1,y1,x2,y2] which are  
    52 ; coordinates. 
    53 ; 
    54 ; @keyword MAXIN  
    55 ; Allows to specify the max value we want to consider in the drawing of contour  
    56 ; helping by the keyword instead of the argument max. If the argument and the keyword are  
    57 ; specified in the same time, it is the value specified by the keyword which is retained. 
    58 ; 
    59 ; @keyword MININ  
    60 ; Allows to specify the min value we want to consider in the drawing of contour  
    61 ; helping by the keyword instead of the argument min. If the argument and the keyword are  
    62 ; specified in the same time, it is the value specified by the keyword which is retained. 
     45;  --OBSOLETE--Color number when we make a trace 1d by default, 0. 
     46; It is better to use the keyword COLOR used by plot. 
     47; 
     48; @keyword ENDPOINTS 
     49; keyword specifying that we want to make a vertical cut in diagonal. 
     50; Then coordinated of extremities of these one are defined by the 4 elements 
     51; of the vector ENDPOINTS: [x1,y1,x2,y2] which are coordinates. 
     52; 
     53; @keyword MAXIN 
     54; Allows to specify the max value we want to consider in the drawing of contour 
     55; helping by the keyword instead of the argument max. 
     56; If the argument and the keyword are specified in the same time, it is the 
     57; value specified by the keyword which is retained. 
     58; 
     59; @keyword MININ 
     60; Allows to specify the min value we want to consider in the drawing of contour 
     61; helping by the keyword instead of the argument min. 
     62; If the argument and the keyword are specified in the same time, it is the 
     63; value specified by the keyword which is retained. 
    6364; 
    6465; @keyword OV1D 
    6566; Allow the double exposure of an 1d curve to a precedent 1d trace. 
    6667; 
    67 ; @keyword REVERSE_X  
     68; @keyword REVERSE_X 
    6869; To invert the x axis (so as the drawing) 
    6970; 
    70 ; @keyword REVERSE_Y  
     71; @keyword REVERSE_Y 
    7172; To invert the y axis (so as the drawing) 
    7273; 
    73 ; @keyword SIN  
    74 ; Activate this keyword if we want the x axis to be traced in sinus of the  
     74; @keyword SIN 
     75; Activate this keyword if we want the x axis to be traced in sinus of the 
    7576; latitude when we make a drawing f(y) 
    7677; 
    77 ; @keyword STY1D  
     78; @keyword STY1D 
    7879; --OBSOLETE-- 
    79 ; Number of the style used when we make a 1d drawing. We should better use the  
    80 ; keyword LINESTYLE which is tho one of the plot. Beware, this keyword is still  
     80; Number of the style used when we make a 1d drawing. We should better use the 
     81; keyword LINESTYLE which is tho one of the plot. Beware, this keyword is still 
    8182; useful if we want to d bars instead of curves, put sty1d='bar' 
    8283; 
    8384; @keyword TYPEIN 
    8485; allows to specify the type of hovmoller we want to do 
    85 ;             'xt','yt','zt','t'   
    86 ; with help of a keyword rather than the argument type. If the argument and the  
    87 ; keyword are specified in the same time, it is the value specified by the  
     86;             'xt','yt','zt','t' 
     87; with help of a keyword rather than the argument type. If the argument and the 
     88; keyword are specified in the same time, it is the value specified by the 
    8889; keyword which is retained. 
    8990; 
    90 ; @keyword _EXTRA  
    91 ; used to pass your keywords 
    92 ; 
    93 ; @history  
    94 ; creation 24/6/99 Eric Guilyardi  
     91; @keyword _EXTRA 
     92; Used to pass keywords 
     93; 
     94; @history 
     95; creation 24/6/99 Eric Guilyardi 
    9596; (a partir routine pltt de Sebastien Masson) 
    96 ; 8/7/1999 Sebastien Masson (smasson\@lodyc.jussieu.fr)  
     97; 8/7/1999 Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    9798; inspection des travaux finis 
    9899; 8/2/2000 Sebastien Masson: checkfield 
    99100; 
    100 ; @version  
     101; @version 
    101102; $Id$ 
    102103; 
    103104;- 
    104 ;------------------------------------------------------------ 
    105 ;------------------------------------------------------------ 
    106 ;------------------------------------------------------------ 
    107 pro plt1d, tab, param2, param3, param4, BOXZOOM = boxzoom, SIN = sin $ 
     105; 
     106PRO plt1d, tab, param2, param3, param4, BOXZOOM = boxzoom, SIN = sin $ 
    108107           , MININ = minin, MAXIN = maxin, TYPEIN = typein, ENDPOINTS = endpoints $ 
    109108           , COL1D = col1d, STY1D = sty1d, OV1D = ov1d, X = x, Y = y, Z = z, TT = tt $ 
     
    137136  if n_elements(maxin) NE 0 then max = maxin 
    138137  if keyword_set(tt) then typein = 't' 
    139   if keyword_set(typein) then BEGIN  
     138  if keyword_set(typein) then BEGIN 
    140139    if size(type, /type) NE 7 AND size(type, /type) NE 0 then begin 
    141140      if n_elements(min) NE 0 then max = min 
     
    146145; 
    147146  checktypeminmax, 'plt1d', TYPE = type, MIN = min, MAX = max, ENDPOINTS = endpoints $ 
    148     , XX = keyword_set(x), YY = keyword_set(y), ZZ = keyword_set(z)  
     147    , XX = keyword_set(x), YY = keyword_set(y), ZZ = keyword_set(z) 
    149148  if type EQ 't' then BEGIN 
    150149    pltt, tab, type, min, max, BOXZOOM = boxzoom, SIN = sin, TYPEIN = typein $ 
     
    168167    section, tab, z1d, glam, gphi, ENDPOINTS = endpoints, TYPE = type $ 
    169168      , BOXZOOM = boxzoom, DIREC = direc 
    170     nx = n_elements(glam)  
     169    nx = n_elements(glam) 
    171170    ny = nx 
    172171    if strupcase(vargrid) EQ 'W' then begin 
     
    177176      nz = nzt 
    178177    ENDELSE 
    179   ENDIF ELSE BEGIN  
     178  ENDIF ELSE BEGIN 
    180179    z1d = checkfield(tab, 'plt1d', TYPE = type, BOXZOOM = boxzoom $ 
    181180                     , direc = direc, _extra = ex) 
    182181    grille, mask, glam, gphi, gdep, nx, ny, nz, type = type 
    183182  ENDELSE 
    184   if z1d[0] EQ -1 then BEGIN  
     183  if z1d[0] EQ -1 then BEGIN 
    185184    IF keyword_set(savedbox) THEN restoreboxparam, 'boxparam4plt1d.dat' 
    186185    return 
    187186endif 
    188 ; We build the mask. For this, the array must be hidden (Automaticaly done at valmask  
     187; We build the mask. For this, the array must be hidden (Automaticaly done at valmask 
    189188; value if we pass in moyenne or grossemoyenne) 
    190189  mask = fltarr(n_elements(z1d)) 
     
    212211;----------------------------------------------------------------------------- 
    213212; definition of the abscisse and ordinate vectors. 
    214 ; The triangulation is defined in order to the drawing be done from the  
    215 ; left bottom to the right up. So the matrix have to be shown like this,  
     213; The triangulation is defined in order to the drawing be done from the 
     214; left bottom to the right up. So the matrix have to be shown like this, 
    216215; from which some transpose and reverse 
    217216;----------------------------------------------------------------------------- 
     
    220219    'y': begin 
    221220      yy = z1d 
    222       IF (size(gphi))[0] EQ 1 then xx = gphi ELSE BEGIN  
    223         IF keyword_set(key_irregular) THEN BEGIN  
     221      IF (size(gphi))[0] EQ 1 then xx = gphi ELSE BEGIN 
     222        IF keyword_set(key_irregular) THEN BEGIN 
    224223          cln = (where(gphi EQ max(gphi)))[0] 
    225224          xx = reform(gphi[cln MOD nx, *]) 
     
    233232      xx = glam[*, 0] 
    234233      min0 = lon1 & max0 = lon2 
    235     END  
     234    END 
    236235    'z':begin 
    237236      yy = reverse(gdep, 1) 
     
    247246      endcase 
    248247      if NOT keyword_set(ov1d) then !y.range = reverse(!y.range) 
    249     END  
    250   ENDCASE  
     248    END 
     249  ENDCASE 
    251250;----------------------------------------------------------- 
    252251;----------------------------------------------------------- 
     
    263262  if type EQ 'z' then begin 
    264263    idx = where(xx NE valmask) 
    265     if NOT keyword_set(ov1d) then BEGIN  
     264    if NOT keyword_set(ov1d) then BEGIN 
    266265      if min EQ mi then !x.range = [min-abs(max-min)/5., max+abs(max-min)/5.] $ 
    267266      ELSE !x.range = [min, max] 
    268267    ENDIF 
    269   ENDIF ELSE BEGIN  
     268  ENDIF ELSE BEGIN 
    270269    idx = where(yy NE valmask) 
    271     if NOT keyword_set(ov1d) then BEGIN  
     270    if NOT keyword_set(ov1d) then BEGIN 
    272271      if min EQ mi then !y.range = [min-abs(max-min)/5., max+abs(max-min)/5.] $ 
    273272      ELSE !y.range = [min, max] 
    274273    ENDIF 
    275   ENDELSE  
    276 ; 
    277   if NOT keyword_set(ov1d) then BEGIN  
     274  ENDELSE 
     275; 
     276  if NOT keyword_set(ov1d) then BEGIN 
    278277    legende, mi, ma, type, CONTOUR = contour, DIREC = direc, ENDPOINTS = endpoints, _EXTRA = ex 
    279278; 
     
    283282    xx = yy 
    284283    yy = temporary(tmp) 
    285     if NOT keyword_set(ov1d) then BEGIN  
     284    if NOT keyword_set(ov1d) then BEGIN 
    286285      tmp = !x 
    287286      !x = !y 
     
    289288    ENDIF 
    290289  ENDIF 
    291   if NOT keyword_set(ov1d) then BEGIN  
     290  if NOT keyword_set(ov1d) then BEGIN 
    292291    if keyword_set(reverse_x) then !x.range = reverse(!x.range) 
    293292    if keyword_set(reverse_y) then !y.range = reverse(!y.range) 
     
    299298  if keyword_set(sty1d) then BEGIN ;If we want to make bars 
    300299    IF strlowcase(strtrim(sty1d)) EQ 'bar' then begin 
    301       !y.range = [!y.range[0]-(!y.range[1]-!y.range[0])*.05, !y.range[1]]  
     300      !y.range = [!y.range[0]-(!y.range[1]-!y.range[0])*.05, !y.range[1]] 
    302301      bar_plot, yy, background = (!d.n_colors-1) < 255,  $ 
    303302        baselines = replicate(!y.range[0], n_elements(yy)), barnames = ['', ''], $ 
    304303        colors    = replicate(col1d, n_elements(yy)), /outline 
    305       if n_elements(ex) NE 0 then BEGIN  
     304      if n_elements(ex) NE 0 then BEGIN 
    306305; To have a black frame 
    307306        if (where(tag_names(ex) EQ 'COLOR'))[0] NE -1 then ex.COLOR = 0 
     
    309308      plot, [0], [0], /noerase, /nodata, _extra = ex 
    310309      GOTO, fini 
    311     ENDIF  
    312   ENDIF 
    313 ; 
    314   if NOT keyword_set(ov1d) then BEGIN  
     310    ENDIF 
     311  ENDIF 
     312; 
     313  if NOT keyword_set(ov1d) then BEGIN 
    315314; 
    316315    plot, xx, yy, color = col1d, linestyle = sty1d, thick = 2, title = '', subtitle = '', _extra = ex 
    317     if n_elements(ex) NE 0 then BEGIN  
     316    if n_elements(ex) NE 0 then BEGIN 
    318317; To have a 0 colored frame and trace a line at y=0 
    319318      if (where(tag_names(ex) EQ 'COLOR'))[0] NE -1 then ex.COLOR = 0 
     
    340339;------------------------------------------------------------ 
    341340  if n_elements(key_performance) NE 0 then $ 
    342     IF key_performance EQ 1 THEN print, 'temps plt1d', systime(1)-tempsun  
     341    IF key_performance EQ 1 THEN print, 'temps plt1d', systime(1)-tempsun 
    343342;------------------------------------------------------------ 
    344343;------------------------------------------------------------ 
  • trunk/SRC/ToBeReviewed/PLOTS/DESSINE/pltbase.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    9390; 
    9491; @keyword _EXTRA 
    95 ; Used to pass your keywords 
     92; Used to pass keywords 
    9693; 
    9794; @uses 
     
    113110; 
    114111;- 
    115 ;------------------------------------------------------------ 
    116 ;------------------------------------------------------------ 
    117 ;------------------------------------------------------------ 
     112; 
    118113PRO pltbase, z2d, x, y, mask, xm, ym, levels, colors, UNSUR2 = unsur2, CONTOUR = contour $ 
    119114             , NOCONTOUR = nocontour, NOFILL = nofill $ 
  • trunk/SRC/ToBeReviewed/PLOTS/DESSINE/pltsc.pro

    r163 r231  
    22; @file_comments 
    33; 
    4 ; 
    54; @categories 
    6 ; 
    75; 
    86; @param TAB1 
    97; 
    10 ; 
    118; @param TAB2 
    12 ; 
    139; 
    1410; @param MIN1 
    1511; 
    16 ; 
    1712; @param MAX1 
    18 ; 
    1913; 
    2014; @param MIN2 
    2115; 
    22 ; 
    2316; @param MAX2 
    24 ; 
    2517; 
    2618; @param VARNAME2 
    2719; 
    28 ; 
    2920; @keyword BOXZOOM 
    30 ; Vector indicating the geographic zone on which we want to cut the map.  
     21; Vector indicating the geographic zone on which we want to cut the map. 
    3122;  If BOXZOOM has : 
    3223; 1 element : The extraction is made on [lon1, lon2, lat1, lat2, 0.,boxzoom[0]] 
     
    3829; @keyword COL1D 
    3930; 
    40 ; 
    4131; @keyword STY1D 
    42 ; 
    4332; 
    4433; @keyword OV1D 
    4534; 
    46 ; 
    4735; @keyword _EXTRA 
    48 ; Used to pass your keywords 
     36; Used to pass keywords 
    4937; 
    5038; @returns 
    5139; 
    52 ; 
    5340; @uses 
    54 ; 
    5541; 
    5642; @restrictions 
    5743; 
    58 ; 
    5944; @examples 
    6045; 
    61 ; 
    6246; @history 
    63 ; 
    6447; 
    6548; @version 
     
    7457; scatter plot (inspired from plt1d) 
    7558; 
    76 ; 
    7759  compile_opt idl2, strictarrsubs 
    7860; 
    79  
    80 ;--------------------------------------------------------- 
    81 ; include common 
    8261@cm_4mesh 
    8362@cm_4data 
     
    8665@updatekwd 
    8766  ENDIF 
    88 ;-------------------------------------------------------------- 
    8967 
    9068; Comment: We do not reinitializate when we call back pltsc 
     
    9270   ;; reduce data xyzt domain 
    9371 
    94    if keyword_set(boxzoom) then BEGIN  
     72   if keyword_set(boxzoom) then BEGIN 
    9573     Case 1 Of 
    9674       N_Elements(Boxzoom) Eq 1:bte = [lon1, lon2, lat1, lat2, 0., boxzoom[0]] 
     
    10078       N_Elements(Boxzoom) Eq 6:bte = Boxzoom 
    10179       Else: Begin 
    102          ras = report('Wrong Definition of Boxzoom')  
     80         ras = report('Wrong Definition of Boxzoom') 
    10381         return 
    10482       End 
     
    122100   IF finite(min2) EQ 0 THEN min2 = min(tab2) 
    123101   IF finite(max2) EQ 0 THEN max2 = max(tab2) 
    124     
     102 
    125103 
    126104; init plot if not overlay 
    127     
     105 
    128106   IF NOT keyword_set(ov1d) THEN placedessin, 'yfx', posfenetre, posbar, $ 
    129107    contour = contour, _extra = ex 
     
    137115   IF (NOT keyword_set(sty1d)) THEN sty1d = 0 
    138116   IF (NOT keyword_set(col1d)) THEN col1d = 0 
    139    IF  NOT keyword_set(ov1d) THEN  BEGIN  
    140       legende, min1, max1, 'yfx', VARNAME2 = varname2, NPTS = npts, _EXTRA = ex  
     117   IF  NOT keyword_set(ov1d) THEN  BEGIN 
     118      legende, min1, max1, 'yfx', VARNAME2 = varname2, NPTS = npts, _EXTRA = ex 
    141119; 
    142120      plot,xx,yy, background = 255, psym = sty1d+1, color=col1d, thick=2 $ 
    143121       , title = '', subtitle = '',_extra = ex 
    144122 
    145       if n_elements(ex) NE 0 then BEGIN  
     123      if n_elements(ex) NE 0 then BEGIN 
    146124; To have a 0 colored frame and trace a line at y=0 
    147125         if (where(tag_names(ex) EQ 'COLOR'))[0] NE -1 then ex.COLOR = 0 
     
    162140;------------------------------------------------------------ 
    163141   if n_elements(key_performance) NE 0 then $ 
    164     IF key_performance EQ 1 THEN print, 'temps plt1d', systime(1)-tempsun  
     142    IF key_performance EQ 1 THEN print, 'temps plt1d', systime(1)-tempsun 
    165143;------------------------------------------------------------ 
    166144;------------------------------------------------------------ 
     
    168146   return 
    169147end 
    170  
    171  
  • trunk/SRC/ToBeReviewed/PLOTS/DESSINE/pltt.pro

    r192 r231  
    1 ;------------------------------------------------------------ 
    21;+ 
    32; 
    4 ; @file_comments  
     3; @file_comments 
    54; Trace hovmoller graphs: xt,yt,zt,t 
    65; 
    76; @categories Graphics 
    87; 
    9 ; @param TAB {in}{required}  
     8; @param TAB {in}{required} 
    109; The field whose we want to make the hovmoller map can be 2 kind of thing: 
    1110;       1) An array which can be: 
    12 ;          * 3d or 4d: array  'xt','yt','zt','t'. The last component is the time. In this case, the array will  
     11;          * 3d or 4d: array  'xt','yt','zt','t'. The last component is the time. In this case, the array will 
    1312;            pass in grossemoyenne to be averaged and become an 1d or 2d array. 
    14 ;          * 2d: If the array is already 2d, it is not modified (beware, lands must  
    15 ;            be masked at the value valmask) and nevertheless,type must be specified  
     13;          * 2d: If the array is already 2d, it is not modified (beware, lands must 
     14;            be masked at the value valmask) and nevertheless,type must be specified 
    1615;            to we know of which trace it is about. 
    1716;            To have a correct caption, respecify the  extraction zone via BOXZOOM. 
    18 ;          * 1d: only for traces of the 't' type. Nevertheless, type must be specified  
     17;          * 1d: only for traces of the 't' type. Nevertheless, type must be specified 
    1918;            to we know of which trace it is about. 
    2019;            To have a correct caption, respecify the  extraction zone via BOXZOOM. 
    21 ;       2) a structure respecting all criterions specified by litchamp.pro.  
    22 ;          See IDL> xhelp,'litchamp'. The array contained in the structure  
    23 ;          respecting criterions of case 1)  
    24 ;   
     20;       2) a structure respecting all criterions specified by <pro>litchamp</pro> 
     21;          See IDL> xhelp,'litchamp'. The array contained in the structure 
     22;          respecting criterions of case 1) 
     23; 
    2524; PARAM:         
    2625;       MAX: valeur maximum que l''on veut prendre en compte dans le trace 
     
    3837; 
    3938; @keyword BOXZOOM 
    40 ; Vector indicating the geographic zone (3d) on which the extraction of the field must  
     39; Vector indicating the geographic zone (3d) on which the extraction of the field must 
    4140; be done to do the hovmoeller. 
    4241;  If BOXZOOM has : 
     
    4948; Where lon1, lon2,lat1,lat2,vert1,vert2 are global variables defined at the last domdef! 
    5049; 
    51 ; @keyword CONTINTERVALLE  
    52 ; When CONTOUR is activated, it is the value between 2 isolines  
    53 ; traced by a trait. So it can be different from the one specified by INTERVALLE which,  
    54 ; in this case, does not control colored isolines in color anymore. If there is noone  
    55 ; specified min, we choose a contour min which goes well with the specified interval!  
    56 ; If this keyword is not specified, we trace 20 isolines from the min to the max.  
     50; @keyword CONTINTERVALLE 
     51; When CONTOUR is activated, it is the value between 2 isolines 
     52; traced by a trait. So it can be different from the one specified by INTERVALLE which, 
     53; in this case, does not control colored isolines in color anymore. If there is noone 
     54; specified min, we choose a contour min which goes well with the specified interval! 
     55; If this keyword is not specified, we trace 20 isolines from the min to the max. 
    5756; 
    5857; @keyword CONTLABEL {type=integer} 
    5958; When CONTOUR is activated, if n 
    60 ; is different of 0, choose the label type corresponding to n cases for  
    61 ; the traced by a traitisolines. To specify the type of label of the  
     59; is different of 0, choose the label type corresponding to n cases for 
     60; the traced by a traitisolines. To specify the type of label of the 
    6261; colored contour, use LABEL 
    6362; 
    6463; @keyword CONTMAX {default=we take the max of the array passed in the keyword CONTOUR (on ocean points)} 
    65 ; When CONTOUR is activated, max value we want to consider in the isoline  
    66 ; traced by a trait's line.  
     64; When CONTOUR is activated, max value we want to consider in the isoline 
     65; traced by a trait's line. 
    6766; 
    6867; @keyword CONTMIN {default=we take the min of the array passed in the keyword CONTOUR (on ocean points)} 
    69 ; When CONTOUR is activated, min value we want to consider in the isoline  
    70 ; traced by a trait's line.  
     68; When CONTOUR is activated, min value we want to consider in the isoline 
     69; traced by a trait's line. 
    7170; 
    7271; @keyword CONTNLEVEL {default=20} 
     
    7574; CONTLABEL=0). 
    7675; 
    77 ; @keyword CONTOUR  
    78 ; If we want to trace contours of a different field than the one  
    79 ; whose we have the colored drawing (by example E-P in color and QSR in contours).  
     76; @keyword CONTOUR 
     77; If we want to trace contours of a different field than the one 
     78; whose we have the colored drawing (by example E-P in color and QSR in contours). 
    8079; It must be a field respecting same characteristics than the argument number one of pltt. 
    8180; 
    82 ; @keyword ENDPOINTS  
    83 ; keyword specifying that we want to make a vertical cut in diagonal. Then coordinated of extremities  
    84 ; of these one are defined by the 4 elements of the vector ENDPOINTS: [x1,y1,x2,y2] which are  
    85 ; coordinates.  
     81; @keyword ENDPOINTS 
     82; keyword specifying that we want to make a vertical cut in diagonal. Then coordinated of extremities 
     83; of these one are defined by the 4 elements of the vector ENDPOINTS: [x1,y1,x2,y2] which are 
     84; coordinates. 
    8685; 
    8786; @keyword EXCHANGE_XY 
    8887; Allows to invert axes. 
    89 ;  
     88; 
    9089; @keyword FILTER 
    9190; Apply a slippery average of width FILTER 
    92 ;  
    93 ; @keyword INTERVALLE  
    94 ; Value of an internal between to isoline. If there is none specified min,  
    95 ; we choose a min contour which goes well with the specified interval!. If this keyword is not  
    96 ; specified, we trace 20 isoline from the min to the max. Comment: When CONTOUR is activated,  
    97 ; INTERVALLE only specify the interval between 2 colored isoline. To specify the interval  
     91; 
     92; @keyword INTERVALLE 
     93; Value of an internal between to isoline. If there is none specified min, 
     94; we choose a min contour which goes well with the specified interval!. If this keyword is not 
     95; specified, we trace 20 isoline from the min to the max. Comment: When CONTOUR is activated, 
     96; INTERVALLE only specify the interval between 2 colored isoline. To specify the interval 
    9897; between 2 isolines traced by a trait, use CONTINTERVALLE. 
    9998; 
    100 ; @keyword INV  
    101 ; Invert the color vector used to color the graph  
     99; @keyword INV 
     100; Invert the color vector used to color the graph 
    102101;               (without use the black, the white and the used palette) 
    103 ;  
     102; 
    104103; @keyword LABEL {type=integer} 
    105 ; If n different of 0, it choose the label's type  
    106 ; corresponding to cases n. cf label.pro 
    107 ; Comment: When CONTOUR is activated, it only specify the label's type for colored isolines.  
    108 ; For these one traced by a trait, use CONTLABEL.  
     104; If n different of 0, it choose the label's type 
     105; corresponding to cases n. cf <pro>label</pro> 
     106; Comment: When CONTOUR is activated, it only specify the label's type for colored isolines. 
     107; For these one traced by a trait, use CONTLABEL. 
    109108; 
    110109; @keyword COL1d 
    111 ; --OBSOLETE--Color number when we make a trace 1d by default, 0.It is better to use the  
     110; --OBSOLETE--Color number when we make a trace 1d by default, 0.It is better to use the 
    112111; keyword COLOR used by plot. 
    113112; 
    114 ; @keyword MAXIN  
     113; @keyword MAXIN 
    115114; to specify the max value we want to plot with a keyword instead of with the 
    116115; input parameter max. If max is defined by both, parameter and keyword, the 
    117116; keyword is retained. 
    118117; 
    119 ; @keyword MININ  
     118; @keyword MININ 
    120119; to specify the min value we want to plot with a keyword instead of with the 
    121120; input parameter min. If min is defined by both, parameter and keyword, the 
     
    131130; CONTLABEL=0). 
    132131; 
    133 ; @keyword OV1D  
     132; @keyword OV1D 
    134133; Allows to overprint a 1d curve over a precedent 1d drawing. 
    135134; 
    136 ; @keyword OVERPLOT  
    137 ; To make a plot over an other one.  
    138 ; Comment: Contrarily to the use of CONTOUR or VECTEUR, the use of this keyword  
     135; @keyword OVERPLOT 
     136; To make a plot over an other one. 
     137; Comment: Contrarily to the use of CONTOUR or VECTEUR, the use of this keyword 
    139138; does not the caption and/or the color bar. 
    140139; 
    141 ; @keyword STRICTFILL  
    142 ; Activate this keyword to that the filling of contours be  
    143 ; precisely done between the min and the max specified letting values inferior at the  
     140; @keyword STRICTFILL 
     141; Activate this keyword to that the filling of contours be 
     142; precisely done between the min and the max specified letting values inferior at the 
    144143; specified min and values superior at the specified max in white. 
    145144; 
     
    147146; Contour's style to adopt to draw isolines 
    148147; 
    149 ; @keyword STY1D  
     148; @keyword STY1D 
    150149; --OBSOLETE-- 
    151 ; Number of the style used when we make a 1d drawing. We should better use the  
    152 ; keyword LINESTYLE which is tho one of the plot. Beware, this keyword is still  
     150; Number of the style used when we make a 1d drawing. We should better use the 
     151; keyword LINESTYLE which is tho one of the plot. Beware, this keyword is still 
    153152; useful if we want to d bars instead of curves, put sty1d='bar' 
    154153; 
    155154; @keyword TREND_TYPE 
    156 ; Modify field by calling trends.pro 
     155; Modify field by calling <pro>trends</pro> 
    157156; 
    158157; @keyword TYPEIN 
    159158; allows to specify the type of hovmoller we want to do 
    160 ;             'xt','yt','zt','t'   
    161 ; with help of a keyword rather than the argument type. If the argument and the  
    162 ; keyword are specified in the same time, it is the value specified by the  
     159;             'xt','yt','zt','t' 
     160; with help of a keyword rather than the argument type. If the argument and the 
     161; keyword are specified in the same time, it is the value specified by the 
    163162; keyword which is retained. 
    164163; 
    165164; @keyword _EXTRA 
    166 ; Used to pass your keywords 
     165; Used to pass keywords 
    167166; 
    168167; @uses 
    169168; common.pro 
    170169; 
    171 ; @history  
     170; @history 
    172171; Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    173172;                       27/5/98 
     
    177176;                       15/1/98 
    178177; Adaptation for arrays 3 and 4d to the average be done in pltt rather than during the reading. 
    179 ;                       Sebastien Masson 14/8/98  
    180 ;                       7/1999  
     178;                       Sebastien Masson 14/8/98 
     179;                       7/1999 
    181180;                       Eric Guilyardi 29/7/99 FILTER, TREND_TYPE, 
    182 ;                       REPEAT_C  
     181;                       REPEAT_C 
    183182;                       Sebastien Masson 08/02/2000 checkfield and 
    184183;                       usetri keyword. 
    185 ;  
    186 ; @version  
     184; 
     185; @version 
    187186; $Id$ 
    188187; 
    189188; @todo seb: L.24 à 36, L.426 à 427, L. 492 à 493 
    190189;- 
    191 ;------------------------------------------------------------ 
    192 ;------------------------------------------------------------ 
    193 ;------------------------------------------------------------ 
     190; 
    194191pro pltt,tab,giventype,givenmin,givenmax,datmin,datmax,BOXZOOM = boxzoom, CONTOUR=contour $ 
    195192         ,ENDPOINTS=endpoints,INTERVALLE=intervalle,INV=inv  $ 
     
    203200         , EXCHANGE_XY = exchange_xy $ 
    204201         , _extra = ex 
    205 ;--------------------------------------------------------- 
    206 ; include common 
    207202; 
    208203  compile_opt idl2, strictarrsubs 
     
    237232   if n_elements(minin) NE 0 then min = minin 
    238233   if n_elements(maxin) NE 0 then max = maxin 
    239    if keyword_set(typein) then BEGIN  
     234   if keyword_set(typein) then BEGIN 
    240235      if size(type, /type) NE 7 AND size(type, /type) NE 0 then begin 
    241236         if n_elements(min) NE 0 then max = min 
     
    251246      section, tab, z2d, glam, gphi, ENDPOINTS = endpoints, TYPE = type $ 
    252247        , BOXZOOM = boxzoom, DIREC = direc 
    253       nx = n_elements(glam)  
     248      nx = n_elements(glam) 
    254249      ny = nx 
    255250      if strupcase(vargrid) EQ 'W' then begin 
     
    260255         nz = nzt 
    261256      ENDELSE 
    262    ENDIF ELSE BEGIN  
     257   ENDIF ELSE BEGIN 
    263258      z2d = checkfield(tab, 'pltt', TYPE = type, BOXZOOM = boxzoom $ 
    264259                       , direc = direc, _extra = ex) 
    265       if z2d[0] EQ -1 then BEGIN  
     260      if z2d[0] EQ -1 then BEGIN 
    266261        IF keyword_set(savedbox) THEN restoreboxparam, 'boxparam4pltt.dat' 
    267262        return 
     
    278273 
    279274;--------------------------------------------------------------- 
    280 ; Filtering of fields in the 't' case.  
    281 ;--------------------------------------------------------------- 
    282  
    283    IF type EQ 't' AND keyword_set(filter) THEN BEGIN  
     275; Filtering of fields in the 't' case. 
     276;--------------------------------------------------------------- 
     277 
     278   IF type EQ 't' AND keyword_set(filter) THEN BEGIN 
    284279      print, '    Applying a running mean filter of width '+string(filter, format = '(I3)') 
    285280      z2d = smooth(z2d, filter) 
    286281      z2d[0:filter/2-1] = 0. 
    287282      z2d[(size(z2d))[1]-filter/2-1:(size(z2d))[1]-1] = 0. 
    288    ENDIF  
     283   ENDIF 
    289284 
    290285;--------------------------------------------------------------- 
     
    302297            z2d = z2d[*]#replicate(1, repeat_c) 
    303298            z2d = reform(z2d, taille[1], taille[2]*repeat_c, /over) 
    304          END  
    305          ELSE:  
     299         END 
     300         ELSE: 
    306301      ENDCASE 
    307302      temps = [temps, (lindgen(jpt*(REPEAT_c-1))+1)*(temps[1]-temps[0])+temps[jpt-1]] 
    308    ENDIF  
    309  
    310 ;--------------------------------------------------------------- 
    311 ; Selection of graphic's type.  
     303   ENDIF 
     304 
     305;--------------------------------------------------------------- 
     306; Selection of graphic's type. 
    312307;--------------------------------------------------------------- 
    313308   taille=size(z2d) 
     
    332327      end 
    333328  endcase 
    334 ; We build the mask. For that, the table must be masked (automaticaly done at the  
     329; We build the mask. For that, the table must be masked (automaticaly done at the 
    335330; value valmask if we pass in moyenne or grossemoyenne) 
    336331   nan = total(finite(z2d,/nan)) < 1 
     
    365360;----------------------------------------------------------------------------- 
    366361; definition of the abscisse and ordinate vectors. 
    367 ; The triangulation is defined in order to the drawing be done from the  
    368 ; left bottom to the right up. So the matrix have to be shown like this,  
     362; The triangulation is defined in order to the drawing be done from the 
     363; left bottom to the right up. So the matrix have to be shown like this, 
    369364; from which some transpose and reverse 
    370365;----------------------------------------------------------------------------- 
     
    401396            end 
    402397            type eq 'yt' : begin 
    403                IF (size(gphi))[0] EQ 1 then yy = gphi ELSE BEGIN  
    404                  IF keyword_set(key_irregular) THEN BEGIN  
     398               IF (size(gphi))[0] EQ 1 then yy = gphi ELSE BEGIN 
     399                 IF keyword_set(key_irregular) THEN BEGIN 
    405400                   cln = (where(gphi EQ max(gphi)))[0] 
    406401                   yy = reform(gphi[cln MOD nx, *]) 
     
    422417   endcase 
    423418;-------------------------------------------------------------- 
    424    if NOT keyword_set(overplot) THEN axe, type, tempsmin, tempsmax, _EXTRA = ex ELSE BEGIN  
    425       if type EQ 'xt' then BEGIN  
    426          !y.range=!y.range-tempsmin  
     419   if NOT keyword_set(overplot) THEN axe, type, tempsmin, tempsmax, _EXTRA = ex ELSE BEGIN 
     420      if type EQ 'xt' then BEGIN 
     421         !y.range=!y.range-tempsmin 
    427422         !y.tickv=!y.tickv-tempsmin 
    428       ENDIF ELSE BEGIN  
     423      ENDIF ELSE BEGIN 
    429424         !x.range=!x.range-tempsmin 
    430425         !x.tickv=!x.tickv-tempsmin 
     
    469464                                  , coindescend = coindescendmask) 
    470465        usetri = 1 
    471       ENDIF ELSE triangulation = -1  
     466      ENDIF ELSE triangulation = -1 
    472467      IF size(gdep, /n_dimensions) EQ 2 THEN BEGIN 
    473468        usetri = 2 
     
    475470           triangulation = triangule(mask, /basic, coinmonte = coinmontemask $ 
    476471                                     , coindescend = coindescendmask) 
    477       ENDIF   
     472      ENDIF 
    478473;---------------------------------------------------------------------- 
    479474      pltbase, z2d, xx, yy, mask, xx, yy, level_z2d, colnumb, contour = contour, /noerase $ 
     
    488483      endif 
    489484;------------------------------------------------------------ 
    490       if keyword_set(contour) then BEGIN  
     485      if keyword_set(contour) then BEGIN 
    491486         pourlegende = [1, 1, 1, 1] 
    492487         oldattributs = saveatt() 
     
    506501      IF key_onearth THEN BEGIN 
    507502        CASE type OF 
    508           'xt':oplot, [180, 180] - 360*(!x.range[1] LT 180), !y.range  
     503          'xt':oplot, [180, 180] - 360*(!x.range[1] LT 180), !y.range 
    509504          'yt':oplot, !x.range, [0, 0] 
    510505          ELSE: 
     
    523518; the top (right) axis by hand using axis. 
    524519; 
    525       if n_elements(ex) NE 0 then BEGIN  
     520      if n_elements(ex) NE 0 then BEGIN 
    526521; pour avoir un cadre de la couleur noire 
    527522        if (where(tag_names(ex) EQ 'COLOR'))[0] NE -1 then ex.COLOR = 0 
     
    533528; call axis for the missing axis. 
    534529      IF type EQ 'xt' AND NOT keyword_set(endpoints) THEN BEGIN 
    535         if n_elements(ex) NE 0 then $  
     530        if n_elements(ex) NE 0 then $ 
    536531          if (where(tag_names(ex) EQ 'YTICKNAME'))[0] NE -1 then $ 
    537532          ex.YTICKNAME = replicate(' ', n_elements(ex.YTICKNAME)) 
     
    540535      ENDIF 
    541536      IF (type EQ 'yt' OR type EQ 'zt') AND NOT keyword_set(endpoints) THEN BEGIN 
    542         if n_elements(ex) NE 0 then $  
     537        if n_elements(ex) NE 0 then $ 
    543538          if (where(tag_names(ex) EQ 'XTICKNAME'))[0] NE -1 then $ 
    544539          ex.XTICKNAME = replicate(' ', n_elements(ex.XTICKNAME)) 
     
    564559      if keyword_set(sty1d) then BEGIN ;if we want to make bars 
    565560         IF strlowcase(strtrim(sty1d)) EQ 'bar' then begin 
    566             !y.range = [!y.range[0]-(!y.range[1]-!y.range[0])*.05,!y.range[1]]  
     561            !y.range = [!y.range[0]-(!y.range[1]-!y.range[0])*.05,!y.range[1]] 
    567562            bar_plot, yy, background = (!d.n_colors-1) < 255,  $ 
    568563             baselines = replicate(!y.range[0], n_elements(yy)), barnames = ['', ''], $ 
    569564             colors    = replicate(col1d, n_elements(yy)), /outline 
    570             if n_elements(ex) NE 0 then BEGIN  
     565            if n_elements(ex) NE 0 then BEGIN 
    571566; To have a black frame 
    572567              if (where(tag_names(ex) EQ 'COLOR'))[0] NE -1 then ex.COLOR = 0 
     
    574569            plot, [0], [0], /nodata, /noerase, _extra = ex 
    575570            GOTO, fini 
    576          ENDIF  
     571         ENDIF 
    577572      ENDIF 
    578       if NOT keyword_set(ov1d) then BEGIN  
     573      if NOT keyword_set(ov1d) then BEGIN 
    579574         !y.range=[min-abs(max-min)/50.,max+abs(max-min)/50.] 
    580575         legende,mi,ma,type, DIREC = direc, _extra = ex 
     
    596591; use xstyle=1 then each axis (up and down) have majorticks with a 
    597592; length of 1 (-> not very nice when xgridstyle=2), same if 
    598 ; xticklen=0.5 (not very nice in the middle).  
     593; xticklen=0.5 (not very nice in the middle). 
    599594; => so we draw the top axis by hand using axis. 
    600          if n_elements(ex) NE 0 then BEGIN  
     595         if n_elements(ex) NE 0 then BEGIN 
    601596; To have a black frame 
    602597            if (where(tag_names(ex) EQ 'COLOR'))[0] NE -1 then ex.COLOR = 0 
     
    606601           , ystyle = 1+8*keyword_set(exchange_xy), _extra = ex 
    607602; call axis for the missing axis. 
    608          if n_elements(ex) NE 0 then BEGIN  
     603         if n_elements(ex) NE 0 then BEGIN 
    609604; force tickname to blank array 
    610605            if (where(tag_names(ex) EQ 'YTICKNAME'))[0] NE -1 AND keyword_set(exchange_xy) then ex.YTICKNAME = replicate(' ', n_elements(ex.YTICKNAME)) 
     
    619614fini: 
    620615;------------------------------------------------------------ 
    621 ; we reput time axis in IDL julian days and not in julian days count from tempsmin  
    622 ;------------------------------------------------------------ 
    623    if type EQ 'xt' then BEGIN  
    624       !y.range=!y.range+tempsmin  
     616; we reput time axis in IDL julian days and not in julian days count from tempsmin 
     617;------------------------------------------------------------ 
     618   if type EQ 'xt' then BEGIN 
     619      !y.range=!y.range+tempsmin 
    625620      !y.tickv=!y.tickv+tempsmin 
    626    ENDIF ELSE BEGIN  
     621   ENDIF ELSE BEGIN 
    627622      !x.range=!x.range+tempsmin 
    628623      !x.tickv=!x.tickv+tempsmin 
     
    640635;------------------------------------------------------------ 
    641636   if n_elements(key_performance) NE 0 then $ 
    642     IF key_performance EQ 1 THEN print, 'temps pltt', systime(1)-tempsun  
     637    IF key_performance EQ 1 THEN print, 'temps pltt', systime(1)-tempsun 
    643638;------------------------------------------------------------ 
    644639;------------------------------------------------------------ 
     
    646641   return 
    647642end 
    648  
    649  
  • trunk/SRC/ToBeReviewed/PLOTS/DESSINE/pltv.pro

    r181 r231  
    1 ;------------------------------------------------------------ 
    21;+ 
     2; 
    33; @file_comments 
    44; Draw 2d plots with TV procedure 
     
    77; graphic 
    88; 
    9 ; @param DATA {in}{required}  
     9; @param DATA {in}{required} 
    1010; The field we want to display can be: 
    1111;    1) an array. If the array is not a 2D array, its mean along 
     
    1313;       (as it is done in plt). 
    1414;    2) a structure respecting all criterions specified by 
    15 ;       litchamp.pro. cf. IDL> xhelp,'litchamp' 
     15;       <pro>litchamp</pro> cf. IDL> xhelp,'litchamp' 
    1616; 
    17 ; @param MIN {in}{optional}{default=min of DATA (on non-masked points)}  
     17; @param MIN {in}{optional}{default=min of DATA (on non-masked points)} 
    1818; 
    19 ; @param MAX {in}{optional}{default=max of DATA (on non-masked points)}  
     19; @param MAX {in}{optional}{default=max of DATA (on non-masked points)} 
    2020; 
    2121; @keyword BOTTOM {default=0} 
    2222; The lowest color index of the colors to be used 
    2323; 
    24 ; @keyword BOXZOOM  
    25 ; Vector indicating the geographic zone on which we want to cut the map.  
     24; @keyword BOXZOOM 
     25; Vector indicating the geographic zone on which we want to cut the map. 
    2626;  If BOXZOOM has : 
    2727; 1 element : The extraction is made on [lon1, lon2, lat1, lat2, 0.,boxzoom[0]] 
     
    5454; 
    5555; @keyword _EXTRA 
    56 ; used to pass keywords to PLACEDESSIN, TV, AXE, LEGENDE, BARRECOULEUR, TERMINEDESSIN 
    57 ;  
     56; Used to pass keywords to <pro>PLACEDESSIN</pro>, <pro>TV</pro>, <pro>AXE</pro>, <pro>LEGENDE</pro>, <pro>BARRECOULEUR</pro>, <pro>TERMINEDESSIN</pro> 
     57; 
    5858; @examples 
    5959; IDL> tvplus, dist(100) 
     
    6666; 
    6767;- 
    68 ;-------------------------------------------------------------- 
    69  
     68; 
    7069PRO pltv, data, min, max, BOTTOM = bottom, BOXZOOM = boxzoom $ 
    7170          , C_MASK = c_mask, C_NAN = c_nan, MININ = minin, MAXIN = maxin $ 
     
    8281; I2) Reading of the field and checkup. 
    8382;-------------------------------------------------------------- 
    84   IF n_elements(minin) NE 0 THEN min = minin  
     83  IF n_elements(minin) NE 0 THEN min = minin 
    8584  IF n_elements(maxin) NE 0 THEN max = maxin 
    8685  IF size(data, /type) NE 8 THEN z2d = reform(float(data)) ELSE z2d = data 
     
    9089      saveboxparam, 'boxparam4pltv.dat' 
    9190    ENDIF 
    92     z2d = checkfield(temporary(z2d), 'plt', TYPE = 'xy', direc = direc, BOXZOOM = boxzoom)  
    93     if z2d[0] EQ -1 then BEGIN  
     91    z2d = checkfield(temporary(z2d), 'plt', TYPE = 'xy', direc = direc, BOXZOOM = boxzoom) 
     92    if z2d[0] EQ -1 then BEGIN 
    9493      IF keyword_set(savedbox) THEN restoreboxparam, 'boxparam4pltv.dat' 
    9594      return 
     
    114113;------------------------------------------------------------ 
    115114  IF n_elements(maskval) EQ 0 THEN maskval = 1.e20 
    116   IF abs(maskval) LT 1e6 THEN BEGIN  
     115  IF abs(maskval) LT 1e6 THEN BEGIN 
    117116    IF keyword_set(nan) THEN z2d[nanind] = 1.e20 
    118     msk = z2d NE maskval  
    119   ENDIF ELSE BEGIN  
     117    msk = z2d NE maskval 
     118  ENDIF ELSE BEGIN 
    120119    IF keyword_set(nan) THEN z2d[nanind] = 0 
    121120    msk = abs(z2d) LT abs(maskval)/10. 
     
    129128  z2d = min > temporary(z2d) < max 
    130129;------------------------------------------------------------ 
    131 ; apply other keywords (nointerp, c_nan, c_mask)  
     130; apply other keywords (nointerp, c_nan, c_mask) 
    132131;------------------------------------------------------------ 
    133132  IF NOT keyword_set(nointerp) THEN BEGIN 
     
    137136    z2d = m * temporary(z2d) + p 
    138137  ENDIF 
    139 ; set c_nan for NaN values  
     138; set c_nan for NaN values 
    140139  IF keyword_set(nan) THEN BEGIN 
    141140    IF n_elements(c_nan) NE 0 THEN cnan = 0 > c_nan < (ncolmax -1) ELSE cnan = (ncolmax -1) 
     
    143142  ENDIF 
    144143; c_mask for masked values 
    145   IF keyword_set(masked) THEN BEGIN    
     144  IF keyword_set(masked) THEN BEGIN 
    146145    IF n_elements(c_mask) NE 0 THEN cmask = 0 > c_mask < (ncolmax - 1) ELSE cmask = (ncolmax -1) 
    147146    z2d[maskind] = cmask 
    148   ENDIF  
    149   z2d = round(temporary(z2d))  
     147  ENDIF 
     148  z2d = round(temporary(z2d)) 
    150149; use byte type to save memory 
    151150  z2d = byte(temporary(z2d)) 
     
    161160   xsize = !p.position[2] - !p.position[0] 
    162161   ysize = !p.position[3] - !p.position[1] 
    163    IF !d.name EQ 'X' THEN BEGIN  
     162   IF !d.name EQ 'X' THEN BEGIN 
    164163     xsize = ceil(xsize * !d.x_size) 
    165164     ysize = ceil(ysize * !d.y_size) 
    166165     z2d = congrid(z2d, xsize, ysize) 
    167166   ENDIF 
    168     
     167 
    169168   tv, z2d, !p.position[0], !p.position[1] $ 
    170169       , xsize = xsize, ysize = ysize $ 
     
    185184;------------------------------------------------------------ 
    186185   barrecouleur, 0, min,  max, 10, bottom = bottom, position = posbar, ncolors = (topcol-bottom+1), _extra = ex 
    187 ; 4) End of drawing  
    188    terminedessin, _extra=ex  
     186; 4) End of drawing 
     187   terminedessin, _extra=ex 
    189188; 
    190189  if keyword_set(savedbox) THEN restoreboxparam, 'boxparam4pltv.dat' 
    191   if keyword_set(key_performance) NE 0 THEN print, 'time pltv', systime(1)-tempsun  
     190  if keyword_set(key_performance) NE 0 THEN print, 'time pltv', systime(1)-tempsun 
    192191; 
    193192   return 
  • trunk/SRC/ToBeReviewed/PLOTS/DESSINE/pltz.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    1512;         If the field is 2d, indicate, with the keyword BOXZOOM, geographic delineations of the boxzoom. 
    1613;         If the field is 3d, we extract the section on we average possibly before to do the plot. 
    17 ;         2)  a structure respecting all criterions specified by litchamp.pro. 
     14;         2)  a structure respecting all criterions specified by <pro>litchamp</pro>. 
    1815;          See IDL> xhelp,'litchamp'. The array contained in the structure must be 2 or 3d (See case 1) 
    1916; 
     
    8986; 
    9087; @keyword LABEL {default=0}{type=integer} 
    91 ; It choose the label's type corresponding to cases in label.pro. 
     88; It choose the label's type corresponding to cases in <pro>label</pro> 
    9289; Comment: When CONTOUR is activated, it only specify the label's type for colored isolines. 
    9390; For these one traced by a trait, use CONTLABEL. 
     
    159156; 
    160157;- 
    161 ;------------------------------------------------------------ 
    162 ;------------------------------------------------------------ 
    163 ;------------------------------------------------------------ 
    164 pro pltz, tab, giventype, givenmin, givenmax, BOXZOOM = boxzoom, CONTOUR = contour $ 
     158; 
     159PRO pltz, tab, giventype, givenmin, givenmax, BOXZOOM = boxzoom, CONTOUR = contour $ 
    165160          , ENDPOINTS = endpoints, INTERVALLE = intervalle, INV = inv, ZRATIO = zratio $ 
    166161          , CONTINTERVALLE = contintervalle, LABEL = label, CONTLABEL = contlabel $ 
     
    172167          , WDEPTH = wdepth, REALSECTION = realsection $ 
    173168          , _EXTRA = ex 
    174 ;--------------------------------------------------------- 
    175 ; include common 
    176169; 
    177170  compile_opt idl2, strictarrsubs 
     
    483476  return 
    484477end 
    485  
    486  
    487  
  • trunk/SRC/ToBeReviewed/PLOTS/DESSINE/sbar_plot.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
    6 ; @file_comments  
     3; @file_comments 
    74; Same thing that bar_plot but compatible with the whole environment (common.pro included) 
    85; 
     
    1613; 
    1714; @keyword COLORS {type=integer} 
    18 ; I gives color of all colorbars. (contrarily to colors  
     15; I gives color of all colorbars. (contrarily to colors 
    1916; which is a vector giving the color of each colorbar). 
    2017; 
    2118; @keyword NOREINITPLT 
    22 ; We active it if we do not want environment variables !p, !x, !y, !z  
     19; We active it if we do not want environment variables !p, !x, !y, !z 
    2320; to be reinitializated by the procedure reinitplt 
    2421; 
    2522; @keyword _EXTRA 
    26 ; used to pass your keyword 
     23; Used to pass keyword 
    2724; 
    2825; @uses 
    2926; common.pro 
    3027; 
    31 ; @restrictions  
    32 ; If NOREINITPLT is not activated, all environment  
     28; @restrictions 
     29; If NOREINITPLT is not activated, all environment 
    3330; variables !p, !x, !y, !z are reinitializted by the procedure reinitplt 
    3431; 
     
    4643; 
    4744;- 
    48 ;------------------------------------------------------------ 
    49 ;------------------------------------------------------------ 
    50 ;------------------------------------------------------------ 
    51  
    52 PRO sbar_plot, Values, COLORS = colors, NOREINITPLT = noreinitplt, _extra = ex  
     45; 
     46PRO sbar_plot, Values, COLORS = colors, NOREINITPLT = noreinitplt, _extra = ex 
    5347; 
    5448  compile_opt idl2, strictarrsubs 
    5549; 
    5650@common 
    57 ; 1) I reinitialize the graphic environment (variables !x, !y et !p):  
    58    if NOT keyword_set(NOREINITPLT) then reinitplt, _extra = ex  
    59 ; 2) I place the drawing on the screen like on the postscript  
     51; 1) I reinitialize the graphic environment (variables !x, !y et !p): 
     52   if NOT keyword_set(NOREINITPLT) then reinitplt, _extra = ex 
     53; 2) I place the drawing on the screen like on the postscript 
    6054   IF chkstru(ex, 'overplot')EQ 0 THEN placedessin, 'autre', _extra = ex 
    61 ; 3) Drawing  
     55; 3) Drawing 
    6256   if n_elements(COLORS) NE 0 then BEGIN 
    6357      if n_elements(COLORS) EQ n_elements(Values) then col = colors $ 
     
    6761   bar_plot, Values, background = !p.background, colors = col $ 
    6862             , xstyle = 1, ystyle = 1, _extra = ex 
    69 ; 4) End of drawing  
    70    terminedessin, _extra=ex  
     63; 4) End of drawing 
     64   terminedessin, _extra=ex 
    7165 
    7266   return 
  • trunk/SRC/ToBeReviewed/PLOTS/DESSINE/scontour.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    1512; 
    1613; @keyword _EXTRA 
    17 ; used to pass your keywords 
     14; Used to pass keywords 
    1815; 
    1916; @uses 
     
    3330; 
    3431;- 
    35 ;------------------------------------------------------------ 
    36 ;------------------------------------------------------------ 
    37 ;------------------------------------------------------------ 
     32; 
    3833PRO scontour, x, y, z, NOREINITPLT = noreinitplt, _EXTRA = ex 
    3934; 
  • trunk/SRC/ToBeReviewed/PLOTS/DESSINE/splot.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    1512; 
    1613; @keyword _EXTRA 
    17 ; used to pass your keywords 
     14; Used to pass keywords 
    1815; 
    1916; @uses 
     
    3734; 
    3835;- 
    39 ;------------------------------------------------------------ 
    40 ;------------------------------------------------------------ 
    41 ;------------------------------------------------------------ 
     36; 
    4237PRO splot, x, y, NOREINITPLT = noreinitplt, _EXTRA = ex 
    4338; 
  • trunk/SRC/ToBeReviewed/PLOTS/DESSINE/tvplus.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    74; Enhanced version of tvscl 
    85; 
    9 ; @categories quick exploration of 2D arrays 
     6; @categories 
     7; quick exploration of 2D arrays 
    108; 
    119; @param Z2D {in}{required} 
     
    6462; 
    6563; @keyword _EXTRA 
    66 ; used to pass keywords to TV, PLOT, COLORBAR 
     64; Used to pass keywords to <pro>TV</pro>, <pro>PLOT</pro>, <pro>COLORBAR</pro> 
    6765; 
    6866; @restrictions 
     
    8785; 
    8886;- 
    89 ;------------------------------------------------------------ 
    90 ;------------------------------------------------------------ 
    91 ;------------------------------------------------------------ 
     87; 
    9288PRO tvplus, z2d, cellsize, BOTTOM = bottom, C_MASK = c_mask, C_NAN = c_nan, WINDOW = window $ 
    9389            , MIN = min, MAX = max, MASK = mask, OFFSET = offset, NOUSEINFOS = NOUSEINFOS $ 
    9490            , NCOLORS = ncolors, NOINTERP = nointerp, _EXTRA = ex 
    95 ; 
    9691; 
    9792  compile_opt idl2, strictarrsubs 
  • trunk/SRC/ToBeReviewed/PLOTS/DIVERS/addaxe.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    1310; @param ENDPOINTS {in}{required} 
    1411; Coordinate of extremities of the section 
    15 ;  
     12; 
    1613; @param TYPE {in}{required}{type=string} 
    1714; A string of two characters specifying the type of plot we do 
    1815; 
    1916; @param POSFENETRE {in}{required}{type=vector} 
    20 ; The vector !p.position corresponding to the frame position of  
     17; The vector !p.position corresponding to the frame position of 
    2118; the drawing part of the plot. 
    2219; 
     
    3128; 
    3229;- 
    33 ;------------------------------------------------------------ 
    34 ;------------------------------------------------------------ 
    35 ;------------------------------------------------------------ 
     30; 
    3631PRO addaxe, endpoints, type, posfenetre, _EXTRA = ex 
    3732; 
     
    4237   IF strpos(type, 'x') NE -1 THEN BEGIN 
    4338      IF endpoints[1] EQ endpoints[3] THEN return 
    44       IF key_onearth THEN BEGIN  
     39      IF key_onearth THEN BEGIN 
    4540        formeaxe0 = 'lonaxe' 
    4641        formeaxe1 = 'lataxe' 
    4742        titreaxe = 'latitude' 
    48       ENDIF ELSE BEGIN  
     43      ENDIF ELSE BEGIN 
    4944        formeaxe0 = '' 
    5045        formeaxe1 = '' 
     
    5550   ENDIF ELSE BEGIN 
    5651      IF endpoints[0] EQ endpoints[2] THEN return 
    57       IF key_onearth THEN BEGIN  
     52      IF key_onearth THEN BEGIN 
    5853        formeaxe0 = 'lataxe' 
    5954        formeaxe1 = 'lonaxe' 
    6055        titreaxe = 'longitude' 
    61       ENDIF ELSE BEGIN  
     56      ENDIF ELSE BEGIN 
    6257        formeaxe0 = '' 
    6358        formeaxe1 = '' 
  • trunk/SRC/ToBeReviewed/PLOTS/DIVERS/autoscale.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
    6 ; @file_comments  
    7 ; We give a min and a max, and the procedure send back  
     3; @file_comments 
     4; We give a min and a max, and the procedure send back 
    85; the good contour interval and labels's value. 
    96; 
    10 ; @categories  
     7; @categories 
    118; Graphics 
    129; 
     
    3128; 
    3229;- 
    33 ;------------------------------------------------------------ 
    34 ;------------------------------------------------------------ 
    35 ;------------------------------------------------------------ 
     30; 
    3631PRO autoscale, min, max, ci 
    3732; 
     
    5348; until the number of contour is inferior to 30. 
    5449; 
    55     WHILE ceil((max-min)/ci) GE 30 DO BEGIN  
     50    WHILE ceil((max-min)/ci) GE 30 DO BEGIN 
    5651          ci = ci0*coef[n] 
    5752          n = n+1 
    58     ENDWHILE  
     53    ENDWHILE 
    5954 
    6055    min = floor(min/ci/2)*ci*2 
    6156    max = ceil(max/ci/2)*ci*2 
    62      
    63     nlevels = round((max-min)/ci)     
     57 
     58    nlevels = round((max-min)/ci) 
    6459 
    6560; 
    6661;  We force the number of contour to be even 
    6762; 
    68     IF nlevels MOD 2 EQ 1 THEN BEGIN  
     63    IF nlevels MOD 2 EQ 1 THEN BEGIN 
    6964          nlevels = nlevels+1 
    7065          max = max+ci 
    71     END  
    72  
    73  
    74 END  
    75  
    76  
    77  
    78  
     66    END 
     67END 
  • trunk/SRC/ToBeReviewed/PLOTS/DIVERS/axis4pltz.pro

    r172 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    96; @param MASK {in}{required} 
    107;  3d mask 
    11 ;         
     8; 
    129; @param GLAM {in}{required} 
    13 ; 2d longitude  
    14 ;  
     10; 2d longitude 
     11; 
    1512; @param GPHI {in}{required} 
    1613; 2d latitude 
     
    1916; 1d depth 
    2017; 
    21 ; @keyword XXAXIS  
     18; @keyword XXAXIS 
    2219; to get the xaxis we need to use in pltbase 
    23 ;       
    24 ; @keyword ZZAXIS  
     20; 
     21; @keyword ZZAXIS 
    2522; to get the yaxis we need to use in pltbase 
    2623; 
    27 ; @keyword SIN  
    28 ; Activate this keyword if we want the x axis to be traced in sinus of the  
     24; @keyword SIN 
     25; Activate this keyword if we want the x axis to be traced in sinus of the 
    2926; latitude when we make a drawing f(y) 
    3027; 
    3128; @keyword ZRATIO {default=2./3} 
    32 ; When the drawing has a zoomed part, it is the size rapport between the zoomed part,  
     29; When the drawing has a zoomed part, it is the size rapport between the zoomed part, 
    3330; hz (zoom height), and the whole drawing, ht (total height). 
    3431; 
    3532; @keyword _EXTRA 
    36 ; used to pass your keywords 
    37 ;  
    38 ;  Others: see pltz  
     33; Used to pass keywords 
     34; 
     35;  Others: see pltz 
    3936; 
    4037; 
     
    4744; 
    4845;- 
    49 ;------------------------------------------------------------ 
    50 ;------------------------------------------------------------ 
    51 ;------------------------------------------------------------ 
    52  
     46; 
    5347PRO axis4pltz, type, mask, glam, gphi, z, XXAXIS = xxaxis, ZZAXIS = zzaxis, SIN = sin, ZRATIO = zratio, ZOOM = zoom, PROFMAX = profmax, PROFMIN = profmin, _extra = ex 
    54 ; 
    55 ; include common 
    5648; 
    5749  compile_opt idl2, strictarrsubs 
     
    6153@updatekwd 
    6254  ENDIF 
    63    
     55 
    6456;-------------------------------------------------------------------- 
    6557; define the mask used for this section 
     
    8274  ENDCASE 
    8375; 
    84   if type eq 'yz' then BEGIN  
    85     IF (size(gphi))[0] EQ 1 then xxaxis = gphi ELSE BEGIN  
    86       IF keyword_set(key_irregular) THEN BEGIN  
     76  if type eq 'yz' then BEGIN 
     77    IF (size(gphi))[0] EQ 1 then xxaxis = gphi ELSE BEGIN 
     78      IF keyword_set(key_irregular) THEN BEGIN 
    8779        cln = (where(gphi EQ max(gphi)))[0] 
    8880        xxaxis = reform(gphi[cln MOD nx, *]) 
     
    9284  ENDIF ELSE BEGIN 
    9385    xxaxis = glam[*, 0] 
    94   ENDELSE  
     86  ENDELSE 
    9587  zzaxis = z 
    9688;---------------------------------------------------------- 
     
    113105; to draw from bottom to top (avoid using cell_fill) 
    114106  CASE size(zzaxis, /n_dimensions) OF 
    115     1:zzaxis = reverse(-zzaxis)  
    116     2:zzaxis = reverse(-zzaxis, 2)  
     107    1:zzaxis = reverse(-zzaxis) 
     108    2:zzaxis = reverse(-zzaxis, 2) 
    117109  ENDCASE 
    118110  if mask[0] NE -1 then mask = reverse(mask, 2) 
  • trunk/SRC/ToBeReviewed/PLOTS/DIVERS/barrecouleur.pro

    r230 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    5047; 
    5148; @keyword _EXTRA 
    52 ; Used to pass your keywords 
     49; Used to pass keywords 
    5350; 
    5451; @restrictions 
     
    6562; seb: mettre les keyword et les param 
    6663;- 
    67 ;------------------------------------------------------------ 
    68 ;------------------------------------------------------------ 
    69 ;------------------------------------------------------------ 
     64; 
    7065PRO barrecouleur, colnumb, clbinf, clbsup, clbdiv $ 
    7166                  , NOCOLORBAR = nocolorbar, CB_TITLE = cb_title $ 
     
    7368                  , MIN = min, MAX = max, divisions = divisions $ 
    7469                  , CB_SUBTITLE = cb_subtitle, POST = post, _extra = ex 
    75 ;------------------------------------------------------------ 
    7670; 
    7771  compile_opt idl2, strictarrsubs 
  • trunk/SRC/ToBeReviewed/PLOTS/DIVERS/checkfield.pro

    r163 r231  
    11;+ 
    2 ; @file_comments  
    3 ;  
    4 ;  
     2; 
     3; @file_comments 
     4; 
    55; @categories 
    6 ;  
    7 ;  
     6; 
    87; @param TYPE {in}{required}{type=string} 
    98; A string of two characters specifying the type of plot we do 
     
    2120; 
    2221; @returns 
    23 ;  
    24 ;  
     22; 
    2523; @restrictions 
    26 ;  
    27 ;  
     24; 
    2825; @examples 
    2926; 
    30 ; 
    3127; @history 
    32 ;  
    3328; 
    3429; @version 
    3530; $Id$ 
    3631;- 
     32; 
    3733FUNCTION err_1d, type, n1, name, n2 
    3834; 
     
    4541; 
    4642;+ 
    47 ; @file_comments  
    48 ;  
    49 ;  
     43; 
     44; @file_comments 
     45; 
    5046; @categories 
    51 ;  
    52 ;  
     47; 
    5348; @param TYPE {in}{required}{type=string} 
    5449; A string of two characters specifying the type of plot we do 
    5550; 
    56 ; @param SZ {in}{optional}{default=defined by grille.pro}  
    57 ;  
    58 ; @param NX {in}{optional}{default=defined by grille.pro}  
    59 ;  
    60 ; @param NY {in}{optional}{default=defined by grille.pro}   
    61 ;  
     51; @param SZ {in}{optional}{default=defined by <pro>grille<pro>} 
     52; 
     53; @param NX {in}{optional}{default=defined by <pro>grille</pro>} 
     54; 
     55; @param NY {in}{optional}{default=defined by <pro>grille</pro>} 
     56; 
    6257; @param NZ 
    63 ;  
    64 ;  
     58; 
    6559; @returns 
    66 ;  
    67 ;  
     60; 
    6861; @restrictions 
    69 ;  
    70 ;  
     62; 
    7163; @examples 
    7264; 
    73 ; 
    7465; @history 
    75 ;  
    7666; 
    7767; @version 
    7868; $Id$ 
    7969;- 
     70; 
    8071FUNCTION err_2d, type, sz, nx, ny, nz 
    8172; 
     
    9586; 
    9687;+ 
    97 ; @file_comments  
    98 ;  
    99 ;  
     88; 
     89; @file_comments 
     90; 
    10091; @categories 
    101 ;  
    102 ;  
     92; 
    10393; @param TYPE {in}{required}{type=string} 
    10494; A string of two characters specifying the type of plot we do 
    10595; 
    106 ; @param SZ {in}{optional}{default=defined by grille.pro}  
    107 ;  
    108 ; @param NX {in}{optional}{default=defined by grille.pro}  
    109 ;  
    110 ; @param NY {in}{optional}{default=defined by grille.pro}   
    111 ;  
     96; @param SZ {in}{optional}{default=defined by <pro>grille</pro>} 
     97; 
     98; @param NX {in}{optional}{default=defined by <pro>grille</pro>} 
     99; 
     100; @param NY {in}{optional}{default=defined by <pro>grille</pro>} 
     101; 
    112102; @param NZ 
    113 ;  
    114 ;  
     103; 
    115104; @returns 
    116 ;  
    117 ;  
     105; 
    118106; @restrictions 
    119 ;  
    120 ;  
     107; 
    121108; @examples 
    122109; 
    123 ; 
    124110; @history 
    125 ;  
    126111; 
    127112; @version 
    128113; $Id$ 
     114; 
    129115;- 
     116; 
    130117FUNCTION err_3d, type, sz, nx, ny, nz 
    131118; 
     
    143130                  + ', ' + strtrim(jpt, 1) + ']'], /simple) 
    144131END 
    145 ;------------------------------------------------------------ 
    146 ;------------------------------------------------------------ 
    147 ;------------------------------------------------------------ 
     132; 
    148133;+ 
    149134; 
    150135; @file_comments 
    151 ; In input of plt, pltz, pltt and plt1d, it check that the field give  
    152 ; a size compatible with the domain and, if needed, average to give us  
     136; In input of plt, pltz, pltt and plt1d, it check that the field give 
     137; a size compatible with the domain and, if needed, average to give us 
    153138; a 2d array if we make a plot of the type: 'xy', 'xz', 'xt', 'yz', 'yt' 
    154139; , 'zt' or a 1d array if we make a plot of the type: 'x', 'y', 'z', 't'. 
     
    156141; @categories 
    157142; Graphics 
    158 ;  
     143; 
    159144; @param FIELD {in}{required}{type=field} 
    160 ; It respect litchamp.pro's criterions. See IDL>xhelp,'litchamp' 
     145; It respect <pro>litchamp</pro>'s criterions. See IDL>xhelp,'litchamp' 
    161146; 
    162147; @param PROCEDURE {in}{required} 
    163148; 
    164 ;  
    165149; @keyword TYPE 
    166150; 
    167 ; 
    168151; @keyword NOQUESTION 
    169152; 
    170 ; 
    171153; @keyword BOXZOOM {type=vector} 
    172 ; Vector indicating the geographic zone on which we want to cut the map.  
     154; Vector indicating the geographic zone on which we want to cut the map. 
    173155;  If BOXZOOM has : 
    174156; 1 element : The extraction is made on [lon1, lon2, lat1, lat2, 0.,boxzoom[0]] 
     
    181163; 
    182164; @keyword WDEPTH 
    183 ; to specify that the field is at W depth instead of T  
     165; to specify that the field is at W depth instead of T 
    184166; depth (automatically activated if vargrid eq 'W') 
    185 ;  
     167; 
    186168; @keyword VECTEUR{type=vetcor} 
    187169; It is a structure composed by 2 elements containing the 2 fields U 
     
    193175; 
    194176; @keyword _EXTRA 
    195 ; used to pass your keywords 
    196 ; 
    197 ; @keyword DIREC    
    198 ; 
    199 ; 
    200 ; @uses  
     177; Used to pass keywords 
     178; 
     179; @keyword DIREC 
     180; 
     181; @uses 
    201182; common.pro 
    202183; 
     
    208189; $Id$ 
    209190; 
    210 ; @todo seb: mettre les param  
     191; @todo seb: mettre les param 
    211192; 
    212193;- 
    213 ;------------------------------------------------------------ 
    214 ;------------------------------------------------------------ 
    215 ;-------------------------------------------------------------- 
    216194; 
    217195FUNCTION checkfield, field, procedure, TYPE = type, BOXZOOM = boxzoom, DIREC = direc, NOQUESTION = noquestion, VECTEUR = vecteur, WDEPTH = wdepth, _EXTRA = ex 
    218 ;-------------------------------------------------------------- 
    219196; 
    220197  compile_opt idl2, strictarrsubs 
    221198; 
    222 ; include commons 
    223199@cm_4mesh 
    224200@cm_4cal 
     
    237213    if arr EQ -1 then $ 
    238214      return, report('Error: input array = -1. Maybe the reading did ont perform well...', /simple) $ 
    239     ELSE return, report('Error: input array is a scalar', /simple)      
     215    ELSE return, report('Error: input array is a scalar', /simple) 
    240216  ENDIF 
    241217  nan = total(finite(arr, /nan)) < 1 
     
    264240  ENDIF 
    265241; 
    266 ; The procedure domdef determine elements which are inside the boxzoom.  
    267 ;  
     242; The procedure domdef determine elements which are inside the boxzoom. 
     243; 
    268244  if strpos(type, 'z') NE -1 THEN BEGIN 
    269     if NOT keyword_set(localbox) then BEGIN  
     245    if NOT keyword_set(localbox) then BEGIN 
    270246      localbox = [minprof, profdefault] 
    271247      if keyword_set(wdepth) then grillechoice = 'W' $ 
     
    275251    nelbox = n_elements(localbox) 
    276252;we keep yranges (z axis) before changing the boxzoom. 
    277     !y.range = [localbox[nelbox-1], localbox[nelbox-2]]  
     253    !y.range = [localbox[nelbox-1], localbox[nelbox-2]] 
    278254    if vargrid EQ 'W' OR keyword_set(wdepth) then BEGIN 
    279255      firstzw = 0 > (firstzw-1) 
     
    329305                            , 'Impossible to make a "'+type+'" plot with a 1D array'], /simple) 
    330306      ENDCASE 
    331     END  
     307    END 
    332308;-------------------------------------------------------------- 
    333309    2:BEGIN 
     
    372348        'zt':IF sz[1] NE nz OR sz[2] NE jpt THEN return, err_2d(type, sz, nx, ny, nz) ; zt array 
    373349      ENDCASE 
    374     END  
     350    END 
    375351;-------------------------------------------------------------- 
    376352    3:BEGIN 
     
    426402            sz[1] EQ nx AND sz[2] EQ ny AND sz[3] EQ  nz:direc = 'x' ; xyz array 
    427403            nx EQ 1 AND sz[1] EQ ny AND sz[2] EQ nz AND sz[3] EQ jpt:direc = 't' ; (x)yzt 
    428             ELSE:return, err_3d(type, sz, nx, ny, nz)  
     404            ELSE:return, err_3d(type, sz, nx, ny, nz) 
    429405          endcase 
    430406        END 
     
    433409            sz[1] EQ nx AND sz[2] EQ ny AND sz[3] EQ jpt:direc = 'y' ; xyt array 
    434410            sz[1] EQ nx AND ny EQ 1 AND sz[2] EQ nz AND sz[3] EQ jpt:direc = 'z' ; x(y)zt array 
    435             ELSE:return, err_3d(type, sz, nx, ny, nz)  
     411            ELSE:return, err_3d(type, sz, nx, ny, nz) 
    436412          endcase 
    437413        END 
     
    440416            sz[1] EQ nx AND sz[2] EQ ny AND sz[3] EQ jpt:direc = 'x' ; xyt array 
    441417            nx EQ 1 AND sz[1] EQ ny AND sz[2] EQ nz AND sz[3] EQ jpt:direc = 'z' ; (x)yzt array 
    442             ELSE:return, err_3d(type, sz, nx, ny, nz)  
     418            ELSE:return, err_3d(type, sz, nx, ny, nz) 
    443419          endcase 
    444420        END 
     
    447423            sz[1] EQ nx AND ny EQ 1 AND sz[2] EQ nz AND sz[3] EQ jpt:direc = 'x' ; x(y)zt array 
    448424            nx EQ 1 AND sz[1] EQ ny AND sz[2] EQ nz AND sz[3] EQ jpt:direc = 'y' ; (x)yzt array 
    449             ELSE:return, err_3d(type, sz, nx, ny, nz)  
     425            ELSE:return, err_3d(type, sz, nx, ny, nz) 
    450426          ENDCASE 
    451         END  
    452       ENDCASE  
    453     END  
    454 ;-------------------------------------------------------------- 
    455     4:BEGIN  
     427        END 
     428      ENDCASE 
     429    END 
     430;-------------------------------------------------------------- 
     431    4:BEGIN 
    456432      CASE type OF 
    457433        'x':direc = 'yzt' 
     
    465441        'yt':direc = 'xz' 
    466442        'zt':direc = 'xy' 
    467       ENDCASE  
     443      ENDCASE 
    468444    END 
    469445  ENDCASE 
  • trunk/SRC/ToBeReviewed/PLOTS/DIVERS/checktypeminmax.pro

    r199 r231  
    22; @file_comments 
    33; 
    4 ; 
    54; @categories 
    6 ; 
    75; 
    86; @param PROCEDURE 
    97; 
    10 ; 
    118; @keyword TYPE 
    12 ; 
    139; 
    1410; @keyword MIN 
    1511; 
    16 ; 
    1712; @keyword MAX 
    18 ; 
    1913; 
    2014; @keyword XY 
    2115; 
    22 ; 
    2316; @keyword XZ 
    24 ; 
    2517; 
    2618; @keyword YZ 
    2719; 
    28 ; 
    2920; @keyword XT 
    30 ; 
    3121; 
    3222; @keyword YT 
    3323; 
    34 ; 
    3524; @keyword ZT 
    36 ; 
    3725; 
    3826; @keyword TT 
    3927; 
    40 ; 
    4128; @keyword XX 
    42 ; 
    4329; 
    4430; @keyword YY 
    4531; 
    46 ; 
    4732; @keyword ZZ 
    48 ; 
    4933; 
    5034; @keyword XINDEX 
    5135; 
    52 ; 
    5336; @keyword YINDEX 
    54 ; 
    5537; 
    5638; @keyword ENDPOINTS 
    5739; 
    58 ; 
    5940; @keyword _EXTRA 
    60 ; Used to pass your keywords 
     41; Used to pass keywords 
    6142; 
    6243; @returns 
    63 ; 
    6444; 
    6545; @uses 
     
    6848; @restrictions 
    6949; 
    70 ; 
    7150; @examples 
    72 ; 
    7351; 
    7452; @history 
     
    8159;- 
    8260; 
    83 ; 
    8461PRO checktypeminmax, procedure, TYPE = type, MIN = min, MAX = max, XY = xy $ 
    8562                     , XZ = xz, YZ = yz, XT = XT, YT = YT, ZT = zt $ 
     
    8764                     , XINDEX = xindex, YINDEX = yindex $ 
    8865                     , ENDPOINTS = endpoints, _extra = ex 
     66; 
    8967  compile_opt idl2, strictarrsubs 
    9068; 
     
    9775         vraimin = type 
    9876         case size(min, /type) of 
    99             0:BEGIN  
     77            0:BEGIN 
    10078               min = vraimin 
    10179               type = 0 
    10280            END 
    103             7:BEGIN  
     81            7:BEGIN 
    10482               type = min 
    10583               min = vraimin 
     
    11290                     type = 0 
    11391                  END 
    114                   7:BEGIN  
     92                  7:BEGIN 
    11593                     type = max 
    11694                     max = min 
     
    152130        'plt':type = 'xy' 
    153131        'pltz':BEGIN 
    154           if keyword_set(endpoints) then BEGIN  
     132          if keyword_set(endpoints) then BEGIN 
    155133            lon1 = min([endpoints[0], endpoints[2]], max = lon2) 
    156134            lat1 = min([endpoints[1], endpoints[3]], max = lat2) 
     
    159137        END 
    160138        'pltt':BEGIN 
    161           if keyword_set(endpoints) then BEGIN  
     139          if keyword_set(endpoints) then BEGIN 
    162140            lon1 = min([endpoints[0], endpoints[2]], max = lon2) 
    163141            lat1 = min([endpoints[1], endpoints[3]], max = lat2) 
     
    167145        END 
    168146        'plt1d':BEGIN 
    169           if keyword_set(endpoints) then BEGIN  
     147          if keyword_set(endpoints) then BEGIN 
    170148            lon1 = min([endpoints[0], endpoints[2]], max = lon2) 
    171149            lat1 = min([endpoints[1], endpoints[3]], max = lat2) 
     
    181159        END 
    182160      endcase 
    183     ENDIF  
     161    ENDIF 
    184162    WHILE type NE 'xy' AND type NE 'xz' AND type NE 'yz' $ 
    185163      AND type NE 'xt' AND type NE 'yt' AND type NE 'zt' $ 
     
    189167                       , /chkwidget) 
    190168      type = strlowcase(type) 
    191     ENDWHILE  
     169    ENDWHILE 
    192170; 
    193171; 
    194      
     172 
    195173    return 
    196174  end 
  • trunk/SRC/ToBeReviewed/PLOTS/DIVERS/determineminmax.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    2724; 
    2825; @keyword _EXTRA 
    29 ; used to pass your keywords 
     26; Used to pass keywords 
    3027; 
    3128; @keyword USETRI 
     
    5451; 
    5552;- 
    56 ;------------------------------------------------------------ 
    57 ;------------------------------------------------------------ 
    58 ;------------------------------------------------------------ 
     53; 
    5954PRO determineminmax, tab, mask, vraimin, vraimax, glam, gphi, MAXIN = maxin, MININ = minin, INTERVALLE = intervalle, usetri = usetri, ZEROMIDDLE = zeromiddle, _extra = ex 
    6055; 
     
    6257; 
    6358@common 
    64 ;----------------------------------------------------------------------------- 
    65 ;----------------------------------------------------------------------------- 
     59; 
    6660; Type of the vertical grid: 
    6761  if vargrid EQ 'W' then nz = nzw ELSE nz = nzt 
  • trunk/SRC/ToBeReviewed/PLOTS/DIVERS/givewindowsize.pro

    r163 r231  
    22; @file_comments 
    33; 
    4 ; 
    54; @categories 
    6 ; 
    75; 
    86; @returns 
    97; 
    10 ; 
    118; @uses 
    12 ; 
    139; 
    1410; @restrictions 
    1511; 
    16 ; 
    1712; @examples 
    1813; 
    19 ; 
    2014; @history 
    21 ; 
    2215; 
    2316; @version 
     
    2619; @todo seb 
    2720;- 
     21; 
    2822FUNCTION givewindowsize 
    29  
    30 ;------------------------------------------------------------ 
    31 ; include commons 
    3223; 
    3324  compile_opt idl2, strictarrsubs 
     
    4536     IF NOT keyword_set(key_forgetold) THEN BEGIN 
    4637     @updateold 
    47      ENDIF  
    48    ENDIF  
     38     ENDIF 
     39   ENDIF 
    4940   coef = windowsize_scale * coef 
    5041; 
  • trunk/SRC/ToBeReviewed/PLOTS/DIVERS/meridienparallele.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    107; Graphics 
    118; 
    12 ; @param COUPE  
     9; @param COUPE 
    1310; The type of drawing we treat 
    1411; 
     
    2421; 
    2522;- 
    26 ;------------------------------------------------------------ 
    27 ;------------------------------------------------------------ 
    28 ;------------------------------------------------------------ 
     23; 
    2924PRO meridienparallele, coupe 
    3025; 
     
    3429;------------------------------------------------------------ 
    3530   case coupe of 
    36       'xy':BEGIN  
     31      'xy':BEGIN 
    3732         if lon1 lt 180 and lon2 gt 180 then $ 
    3833          plot, [180,180],[lat1,lat2],/noerase,color=0 
  • trunk/SRC/ToBeReviewed/PLOTS/DIVERS/placecolor.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    1411; 
    1512; @param POS 
    16 ; Vector composed by 4 elements giving coordinates of the left bottom  
     13; Vector composed by 4 elements giving coordinates of the left bottom 
    1714; corner and of the right up one -in cm- in which we want to do the color bar 
    1815; 
    19 ; @keyword _extra 
    20 ; used to pass your keywords 
     16; @keyword _EXTRA 
     17; Used to pass keywords 
    2118; 
    2219; @uses 
     
    3431; 
    3532;- 
    36 ;------------------------------------------------------------ 
    37 ;------------------------------------------------------------ 
    38 ;------------------------------------------------------------ 
     33; 
    3934pro placecolor, pos, _extra = ex 
    40 ;------------------------------------------------------------ 
    41 ; include commons 
    4235; 
    4336  compile_opt idl2, strictarrsubs 
     
    4740@updatenew 
    4841   ENDIF 
    49 ;--------------------- 
    5042; 
    5143   xsave = !x 
     
    5749   mipgsz = min(page_size, max = mapgsz) 
    5850   if key_portrait eq 1 then begin 
    59       pos[0]=pos[0]/mipgsz   
    60       pos[1]=pos[1]/mapgsz     
    61       pos[2]=pos[2]/mipgsz  
    62       pos[3]=pos[3]/mapgsz     
     51      pos[0]=pos[0]/mipgsz 
     52      pos[1]=pos[1]/mapgsz 
     53      pos[2]=pos[2]/mipgsz 
     54      pos[3]=pos[3]/mapgsz 
    6355   endif else begin 
    64       pos[0]=pos[0]/mapgsz     
    65       pos[1]=pos[1]/mipgsz     
    66       pos[2]=pos[2]/mapgsz     
    67       pos[3]=pos[3]/mipgsz     
     56      pos[0]=pos[0]/mapgsz 
     57      pos[1]=pos[1]/mipgsz 
     58      pos[2]=pos[2]/mapgsz 
     59      pos[3]=pos[3]/mipgsz 
    6860   ENDELSE 
    6961; 
     
    7567; 
    7668      colnumb = colorbarparam.colnumb 
    77       clbinf = colorbarparam.clbinf  
     69      clbinf = colorbarparam.clbinf 
    7870      clbsup = colorbarparam.clbsup 
    7971      clbdiv = colorbarparam.clbdiv 
     
    8274      file = myuniquetmpdir + '4colorbar.dat' 
    8375      IF file_test(file) THEN BEGIN 
    84          restore, file         
    85          if size(ex, /type) EQ 8 then BEGIN  
     76         restore, file 
     77         if size(ex, /type) EQ 8 then BEGIN 
    8678            if (where(tag_names(ex) EQ 'MIN'))[0] NE -1 then clbinf = ex.MIN 
    8779            if (where(tag_names(ex) EQ 'MAX'))[0] NE -1 then clbsup = ex.MAX 
     
    9991   !y = ysave 
    10092   !p = psave 
    101 ;------------------------------------------------------------ 
     93; 
    10294   return 
    10395end 
  • trunk/SRC/ToBeReviewed/PLOTS/DIVERS/placedessin.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    9794; 
    9895; @keyword _EXTRA 
    99 ; Used to pass your keywords. 
     96; Used to pass keywords 
    10097; 
    10198; @keyword COLOR_C 
     
    124121; 
    125122;- 
    126 ;------------------------------------------------------------ 
    127 ;------------------------------------------------------------ 
    128 ;------------------------------------------------------------ 
     123; 
    129124PRO placedessin, typedessin, posfenetre, posbar, BARMARGES = barmarges $ 
    130125                 , NOCOLORBAR = nocolorbar, NOFILL = nofill, COLOR_c = color_c $ 
     
    135130                 , ENDPOINTS = endpoints, TYPE = type, BASICMARGES = basicmarges $ 
    136131                 , NOERASE = noerase, LCT = lct, DIREC = direc, CB_TITLE = cb_title, _extra = ex 
    137 ;--------------------------------------------------------- 
    138 ; include common 
    139132; 
    140133  compile_opt idl2, strictarrsubs 
  • trunk/SRC/ToBeReviewed/PLOTS/DIVERS/projsegment.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
    63; @file_comments 
    7 ; project linearly a segment, a vector whose boundaries are [a,b] on  
     4; project linearly a segment, a vector whose boundaries are [a,b] on 
    85; a vector whose boundaries are [c,d] 
    96; 
     
    1411; A vector whose the first element must be the smallest one and the last must be the biggest one. 
    1512; 
    16 ; @param BORNES  
     13; @param BORNES 
    1714; New boundaries of the vector. 
    1815; 
    1916; @keyword MP 
    20 ; Activate this keyword to the function send back this a vector of 2  
    21 ; elements which are the m and p of the linear projection y=mx+p used  
     17; Activate this keyword to the function send back this a vector of 2 
     18; elements which are the m and p of the linear projection y=mx+p used 
    2219; to pass from the [a,b] segment to the [c,d] segment. 
    2320; 
    24 ; @returns  
     21; @returns 
    2522; A vector whose new boundaries are specified by BORNES. 
    2623; 
    2724; @examples 
    28 ;    
    29 ;   IDL> a=indgen(9)  
    30 ;   IDL> print, a  
     25; 
     26;   IDL> a=indgen(9) 
     27;   IDL> print, a 
    3128;          0       1       2       3       4       5       6       7       8 
    32 ;   IDL> print, projsegment(a,[0,80])  
     29;   IDL> print, projsegment(a,[0,80]) 
    3330;          0      10      20      30      40      50      60      70      80 
    34 ;   IDL> print, projsegment(a,[0,-80])   
     31;   IDL> print, projsegment(a,[0,-80]) 
    3532;          0     -10     -20     -30     -40     -50     -60     -70     -80 
    36 ;   IDL> print, projsegment(a,[-80,0])    
     33;   IDL> print, projsegment(a,[-80,0]) 
    3734;        -80     -70     -60     -50     -40     -30     -20     -10      0 
    3835; 
     
    4542; 
    4643;- 
    47 ;------------------------------------------------------------ 
    48 ;------------------------------------------------------------ 
    49 ;------------------------------------------------------------ 
     44; 
    5045FUNCTION projsegment, vecteur, bornes, MP = mp 
    51 ;-------------------------------------------------------------- 
    5246; 
    5347  compile_opt idl2, strictarrsubs 
  • trunk/SRC/ToBeReviewed/PLOTS/DIVERS/restoreatt.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
    63; @file_comments 
    74; Allows to reattribute global variables associated with a field 
    8 ; when we give a structure created by saveatt.pro by example. 
     5; when we give a structure created by <pro>saveatt</pro> by example. 
    96; 
    107; @categories 
     
    3027; 
    3128;- 
    32 ;------------------------------------------------------------ 
    33 ;------------------------------------------------------------ 
    34 ;------------------------------------------------------------ 
     29; 
    3530PRO restoreatt, struct 
    3631; 
  • trunk/SRC/ToBeReviewed/PLOTS/DIVERS/rotation.pro

    r163 r231  
    33; @file_comments 
    44; Rotate two vectors by a specified amount. 
    5 ;            
     5; 
    66; @param X {in}{required} 
    77; original data point pairs 
     
    99; @param Y {in}{required} 
    1010; original data point pairs 
    11 ;            
     11; 
    1212; @param DEG {in}{required} 
    1313; degrees to rotate. 
    14 ;            
     14; 
    1515; @param NX {out} 
    1616; rotated point pairs. 
    17 ;  
     17; 
    1818; @param NY {out} 
    1919; rotated point pairs. 
    20 ;            
     20 
    2121; @history 
    2222; Jeff Bennett, U of Colorado 
  • trunk/SRC/ToBeReviewed/PLOTS/DIVERS/saveatt.pro

    r157 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    107; Utilities 
    118; 
    12 ; @returns  
     9; @returns 
    1310; A structure of the form: 
    1411;         {n:varname,g:vargrid,d:vardate,e:varexp,u:varunit,m:valmask,l:niveau} 
     
    2522; 
    2623;- 
    27 ;------------------------------------------------------------ 
    28 ;------------------------------------------------------------ 
    29 ;------------------------------------------------------------ 
     24; 
    3025FUNCTION saveatt 
    3126; 
  • trunk/SRC/ToBeReviewed/PLOTS/DIVERS/terminedessin.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    107; Utilities, Graphics 
    118; 
    12 ; @keyword POST  
     9; @keyword POST 
    1310; Make a postscript. Only works if we made one drawing on the page. 
    1411; If we make several drawing, use \@ps. 
    1512; 
    16 ; @keyword SMALL {type=vector}  
    17 ; Vector composed of 3 or 4 elements, applied to make a drawing on a  
     13; @keyword SMALL {type=vector} 
     14; Vector composed of 3 or 4 elements, applied to make a drawing on a 
    1815; small portion of a page or screen. It delimit the zone where the drawing will be done. 
    1916;     If there is 4 elements: 
    20 ; then is constituted of coordinates (expressed in cm located from the up and  
    21 ; left corner of the page or the window (in portrait like in landscape)) of the bottom  
     17; then is constituted of coordinates (expressed in cm located from the up and 
     18; left corner of the page or the window (in portrait like in landscape)) of the bottom 
    2219; and left corner and of the up and right corner of the drawing zone. 
    2320;     If there is 3 elements: 
    24 ; in this case, we divide the page or the screen in small[0] columns and in small[1] lines  
    25 ; the drawing made in the box numbered small[2]. The numerotation starting up and left by  
     21; in this case, we divide the page or the screen in small[0] columns and in small[1] lines 
     22; the drawing made in the box numbered small[2]. The numerotation starting up and left by 
    2623; the number 1 and then, following the writing direction. 
    27 ; By default, we make the largest drawing we can do, conserving the aspect rapport  
     24; By default, we make the largest drawing we can do, conserving the aspect rapport 
    2825; (except when REMPLI is activated). 
    2926; 
    30 ; @keyword _EXTRA  
    31 ; Used to pass your keywords 
     27; @keyword _EXTRA 
     28; Used to pass keywords 
    3229; 
    3330; @uses 
     
    4239; 
    4340;- 
    44 ;------------------------------------------------------------ 
    45 ;------------------------------------------------------------ 
    46 ;------------------------------------------------------------ 
     41; 
    4742PRO terminedessin, POST = post, SMALL = small, _extra = ex 
    48 ;--------------------------------------------------------- 
    4943; 
    5044  compile_opt idl2, strictarrsubs 
  • trunk/SRC/ToBeReviewed/PLOTS/LABEL/label_gmt.pro

    r157 r231  
    11;+ 
    2 ; @file_comments  
     2; 
     3; @file_comments 
    34; Apply GMT palette into IDL color/intervals system 
    4 ;  
     5; 
    56; @categories 
    6 ;  
    7 ;  
     7; 
    88; @param MIN {in}{required} 
    99; A reel number specifying above what value we want to trace a contour 
     
    1111; @param MAX {in}{required} 
    1212; A reel number specifying below what value we want to trace a contour 
    13 ;  
    14 ; @param INTERVALLE  
    1513; 
    16 ;  
    17 ; @param NCOUL  
     14; @param INTERVALLE 
    1815; 
    19 ;  
     16; @param NCOUL 
     17; 
    2018; @param NCONTOUR {out} 
    2119; Number of contour to be drawn. 
     
    2624; @param COUL 
    2725; 
    28 ;  
    2926; @restrictions 
    30 ;  
    31 ;  
     27; 
    3228; @examples 
    3329; 
    34 ; 
    3530; @history 
    36 ;  
    3731; 
    3832; @version 
    3933; $Id$ 
    4034;- 
     35; 
    4136PRO label_gmt, min, max, intervalle, ncoul, ncontour, level_z2d, coul 
    4237; 
     
    4641@com_eg 
    4742 
    48    IF pal_type NE '2dom' THEN BEGIN  
     43   IF pal_type NE '2dom' THEN BEGIN 
    4944 
    5045;  color defined in lec_pal_gmt.pro 
     
    5651      intervalle =  -1 
    5752 
    58    ENDIF ELSE BEGIN  
     53   ENDIF ELSE BEGIN 
    5954 
    6055      ; grey_shade palette (case 1 in label) 
    6156      IF finite(min) EQ 0 THEN read, ' Grey shade needs a min,max :', min, max 
    6257      ncontour  = fix((max-min)/intervalle) 
    63       level_z2d = min + intervalle*findgen(Ncontour)  
     58      level_z2d = min + intervalle*findgen(Ncontour) 
    6459      max=level_z2d[Ncontour-1]+intervalle 
    6560 
     
    6964      ; color index 
    7065 
    71       IF idx_pal EQ 0 THEN BEGIN  
     66      IF idx_pal EQ 0 THEN BEGIN 
    7267 
    7368         ; build palette 
     
    7671         red[50:98] = long((100.-float(grey_shade))/100.*255.) 
    7772 
    78          IF field.origin EQ 'diff' THEN BEGIN  
    79        
     73         IF field.origin EQ 'diff' THEN BEGIN 
     74 
    8075           ; difference plot : lighter below first negative interval 
    8176            red[51:98] = long((100.-float(grey_shade_2))/100.*255.) 
     
    8378            red[50] = 255 
    8479 
    85          ENDIF  
     80         ENDIF 
    8681 
    8782         ; first color=black 
     
    9590         tvlct, red, green, blue 
    9691 
    97       ENDIF   
    98   
     92      ENDIF 
     93 
    9994      mid_index = max(where(level_z2d LE fldatt.mid)) 
    10095      coul = findgen(Ncontour)+49-mid_index +2 
    10196 
    102    ENDELSE  
    103  
    104  
    105 END  
     97   ENDELSE 
     98END 
  • trunk/SRC/ToBeReviewed/PLOTS/VECTEUR/ajoutvect.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    118; 
    129; @param VECTEUR {in}{required}{type=vector} 
    13 ; It is a structure with 2 elements containing we 2 matrices U and V of  
    14 ; values of the zonal and meridian component of the field of vectors to  
     10; It is a structure with 2 elements containing we 2 matrices U and V of 
     11; values of the zonal and meridian component of the field of vectors to 
    1512; be traced. 
    1613;      For ex: 
     
    2219; It is a scalar n or an array with 2 elements [n1,n2]. 
    2320; In the first case, we will trace a vector on n following x and y. 
    24 ; In the second case, we will trace a vector on n1 following x and a  
     21; In the second case, we will trace a vector on n1 following x and a 
    2522; vector n2 following n2 
    26 ;   Comments: To trace all vectors following y and one vector on two  
     23;   Comments: To trace all vectors following y and one vector on two 
    2724; following x, put unvectsur=[2,1] 
    2825; 
    2926; @keyword VECTMIN {in}{required} 
    30 ; Minimum norme of vectors to be traced  
     27; Minimum norme of vectors to be traced 
    3128; 
    3229; @keyword VECTMAX {in}{required} 
    33 ; Maximum norme of vectors to be traced  
     30; Maximum norme of vectors to be traced 
    3431; 
    3532; @keyword _EXTRA 
    36 ; Used to pass your keywords 
    37 ;  
     33; Used to pass keywords 
     34; 
    3835; @uses 
    3936; common.pro             
     
    4643; 
    4744; @version 
    48 ; $Id$  
    49 ;  
     45; $Id$ 
     46; 
    5047;- 
    51 ;------------------------------------------------------------ 
    52 ;------------------------------------------------------------ 
    53 ;------------------------------------------------------------ 
    54 pro ajoutvect,vecteur, vectlegende, UNVECTSUR=unvectsur,VECTMIN=vectmin, VECTMAX=vectmax, _EXTRA = ex 
     48; 
     49PRO ajoutvect,vecteur, vectlegende, UNVECTSUR=unvectsur,VECTMIN=vectmin, VECTMAX=vectmax, _EXTRA = ex 
    5550; 
    5651  compile_opt idl2, strictarrsubs 
     
    9085      indiceyv = (lindgen(jpj))[firstyv:firstyv+nyv-1] 
    9186      indicey = inter(indiceyu, indiceyv) 
    92       nx = n_elements(indicex)  
     87      nx = n_elements(indicex) 
    9388      ny = n_elements(indicey) 
    9489      indice2d = lindgen(jpi, jpj) 
     
    10095         (size(u))[0] NE 2 OR (size(v))[0] NE 2: return 
    10196         (size(u))[1] EQ nxu AND (size(u))[2] EQ nyu AND $ 
    102           (size(v))[1] EQ nxv AND (size(v))[2] EQ nyv:BEGIN  
     97          (size(v))[1] EQ nxv AND (size(v))[2] EQ nyv:BEGIN 
    10398            if nxu NE nx then $ 
    104              if indicex[0] EQ firstxu then u = u[0:nx-1, *] ELSE u = u[1: nx, *]  
     99             if indicex[0] EQ firstxu then u = u[0:nx-1, *] ELSE u = u[1: nx, *] 
    105100            IF nxv NE nx THEN $ 
    106101             if indicex[0] EQ firstxv then v = v[0:nx-1, *] ELSE v = v[1: nx, *] 
    107102            IF nyu NE ny THEN $ 
    108              if indicey[0] EQ firstyu then u = u[*, 0:ny-1] ELSE u = u[*, 1: ny]  
     103             if indicey[0] EQ firstyu then u = u[*, 0:ny-1] ELSE u = u[*, 1: ny] 
    109104            IF nyv NE ny THEN $ 
    110105             if indicey[0] EQ firstyv then v = v[*, 0:ny-1] ELSE v = v[*, 1: ny] 
    111106         END 
    112107         (size(u))[1] EQ jpi AND (size(u))[2] EQ jpj AND $ 
    113           (size(v))[1] EQ jpi AND (size(v))[2] EQ jpj:BEGIN  
     108          (size(v))[1] EQ jpi AND (size(v))[2] EQ jpj:BEGIN 
    114109            u = u[indice2d] 
    115110            v = v[indice2d] 
    116111         END 
    117          ELSE:BEGIN  
     112         ELSE:BEGIN 
    118113            ras = report('problemes d''adequation entre la taille du domaine et la taille des matrices necessaires a tracer des vecteurs') 
    119114            return 
     
    138133;---------------------------------------------------------------------------- 
    139134; attribution of the mask and of longitude and latitude arrays. 
    140 ; We recuperate the complete grid to establish a big mask extensive  
    141 ; in the four directions to cover points for which a land point has  
     135; We recuperate the complete grid to establish a big mask extensive 
     136; in the four directions to cover points for which a land point has 
    142137; been considerated (do a small drawing) 
    143138;---------------------------------------------------------------------------- 
     
    154149      endif 
    155150;----------------------------------------------------------- 
    156 ; We mask u and v et v the long of coasts (the place where we  
     151; We mask u and v et v the long of coasts (the place where we 
    157152; can not calculate the average) 
    158 ;-----------------------------------------------------------  
     153;----------------------------------------------------------- 
    159154; extention of the mask 
    160155      u = u*msku*shift(msku,1,0) 
    161156      v = v*mskv*shift(mskv,0,1) 
    162    ENDIF ELSE BEGIN  
     157   ENDIF ELSE BEGIN 
    163158      u = u*tmask[firstxt:lastxt,firstyt:lastyt,firstzt] 
    164159      v = v*tmask[firstxt:lastxt,firstyt:lastyt,firstzt] 
     
    173168   nan = where(finite(v, /nan) EQ 1) 
    174169   if nan[0] NE -1 then v[nan] = 1e5 
    175    if keyword_set(vectmin) then BEGIN  
     170   if keyword_set(vectmin) then BEGIN 
    176171      toosmall=where(tabnorme lt vectmin) 
    177172      if toosmall[0] NE -1 then begin 
     
    208203         indx = where((lindgen(nx) MOD unvectsur[0]) eq 0) 
    209204         indy = where((lindgen(ny) MOD unvectsur[0]) eq 0) 
    210       ENDIF ELSE BEGIN  
     205      ENDIF ELSE BEGIN 
    211206         indx = where((lindgen(nx) MOD unvectsur[0]) eq 0) 
    212207         indy = where((lindgen(ny) MOD unvectsur[1]) eq 0) 
     
    222217   endif 
    223218;----------------------------------------------------------- 
    224 ;  
     219; 
    225220;----------------------------------------------------------- 
    226221   if keyword_set(inverse) then begin 
     
    238233   if terre[0] ne -1 then mini = min(tabnorme[where(t2 eq 1)], max = maxi, /nan) $ 
    239234   ELSE mini = min(tabnorme, max = maxi, /nan) 
    240     
     235 
    241236   if litchamp(vecteur.(0), /u) NE '' then $ 
    242237    vectlegende = {minmax:[mini, maxi], unite:litchamp(vecteur.(0), /u)} $ 
     
    245240 
    246241sortie: 
    247    if keyword_set(key_performance) NE 0 THEN print, 'temps ajoutvect', systime(1)-tempsun  
     242   if keyword_set(key_performance) NE 0 THEN print, 'temps ajoutvect', systime(1)-tempsun 
    248243   return 
    249244end 
    250  
    251  
  • trunk/SRC/ToBeReviewed/PLOTS/VECTEUR/vecteur.pro

    r226 r231  
    11;+ 
     2; 
    23; @file_comments 
    34; 
     
    4849; 
    4950;+ 
     51; 
    5052; @file_comments 
    5153; 
    52 ; 
    5354; @categories 
    5455; 
    55 ; 
    5656; @param U 
    57 ; 
    5857; 
    5958; @param V 
     
    7069; $Id$ 
    7170;- 
     71; 
    7272PRO normalise, u, v, w 
    7373; 
     
    153153; 
    154154; @keyword _EXTRA 
    155 ; Used to pass your keywords 
     155; Used to pass keywords 
    156156; 
    157157; @uses 
  • trunk/SRC/ToBeReviewed/PLOTS/VECTEUR/velovect.pro

    r163 r231  
    1 ; 
    2 ;+  
     1;+ 
    32; 
    43; @file_comments 
    54; Produce a two-dimensional velocity field plot. 
    65; 
    7 ; A directed arrow is drawn at each point showing the direction and  
     6; A directed arrow is drawn at each point showing the direction and 
    87; magnitude of the field. 
    9 ;                
     8; 
    109; @categories 
    1110; Plotting, two-dimensional. 
    1211; 
    13 ; 
    1412; @param U {in}{required} 
    15 ; The X component of the two-dimensional field.   
     13; The X component of the two-dimensional field. 
    1614; U must be a two-dimensional array. 
    1715; 
    1816; @param V {in}{required} 
    1917; The Y component of the two dimensional field.  Y must have 
    20 ; the same dimensions as X.  The vector at point [i,j] has a  
     18; the same dimensions as X.  The vector at point [i,j] has a 
    2119; magnitude of: 
    2220; 
     
    2826; 
    2927; @param X {in}{optional}{type=vector} 
    30 ; Optional abscissa values.  X must be a vector with a length  
     28; Optional abscissa values.  X must be a vector with a length 
    3129; equal to the first dimension of U and V. 
    3230; 
     
    3937; 
    4038; @keyword DOTS 
    41 ; Set this keyword to 1 to place a dot at each missing point.  
     39; Set this keyword to 1 to place a dot at each missing point. 
    4240; Set this keyword to 0 or omit it to draw nothing for missing 
    4341; points.  Has effect only if MISSING is specified. 
     
    5553; current graphics screen is not erased, no axes are drawn, and 
    5654; the previously established scaling remains in effect. 
    57 ;  
     55; 
    5856; @keyword CLIP 
    59 ;  
     57; 
    6058; @keyword NOCLIP 
    6159; 
    6260; @keyword _EXTRA 
    63 ; Used to pass your keywords. 
     61; Used to pass keywords 
    6462; 
    65 ; @restrictions  
     63; @restrictions 
    6664; Plotting on the selected device is performed.  System 
    6765; variables concerning plotting are changed. 
    6866; Note:   All other keywords are passed directly to the PLOT procedure 
    69 ;       and may be used to set option such as TITLE, POSITION,  
     67;       and may be used to set option such as TITLE, POSITION, 
    7068;       NOERASE, etc. 
    7169; 
     
    8381;       June, 1995, MWR. Removed _EXTRA inheritance for PLOTS and changed 
    8482;                        OPLOT to PLOTS. 
    85 ;       September, 1996, GGS. Changed denominator of x_step and y_step vars.  
     83;       September, 1996, GGS. Changed denominator of x_step and y_step vars. 
    8684;       February, 1998, DLD.  Add support for CLIP and NO_CLIP keywords. 
    8785;       June, 1998, DLD.  Add support for OVERPLOT keyword. 
     
    103101        s = size(u) 
    104102        t = size(v) 
    105         if s[0] ne 2 then begin  
     103        if s[0] ne 2 then begin 
    106104baduv:   message, 'U and V parameters must be 2D and same size.' 
    107105                endif 
     
    122120        nbad = 0                        ;# of missing points 
    123121        if n_elements(missing) gt 0 then begin 
    124                 good = where(mag lt missing)  
     122                good = where(mag lt missing) 
    125123                if keyword_set(dots) then bad = where(mag ge missing, nbad) 
    126124        endif else begin 
  • trunk/SRC/ToBeReviewed/PLOTS/axe.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    3734; 
    3835; @keyword _EXTRA 
    39 ; used to pass your keywords 
     36; Used to pass keywords 
    4037; 
    4138; @uses 
     
    5552; 
    5653;- 
    57 ;------------------------------------------------------------ 
    58 ;------------------------------------------------------------ 
    59 ;------------------------------------------------------------ 
     54; 
    6055PRO axe, coupe,tempsmin,tempsmax, REVERSE_X = reverse_x, REVERSE_Y = reverse_y, SIN = sin, SEPDATE = sepdate, DIGITSYEAR = digitsyear, _EXTRA = ex 
    6156; 
  • trunk/SRC/ToBeReviewed/PLOTS/legende.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    129; @param MI {in}{required} 
    1310; The min of the drawing 
    14 ;  
     11; 
    1512; @param MA {in}{required} 
    1613; The max of the plot 
     
    1916; Character containing two letters giving the type of the cut  (for example: 'xz'). 
    2017; 
    21 ; @keyword CONTOUR  
    22 ; If we want to trace contours of a different field than the one  
    23 ; whose we have the colored drawing (by example E-P in color and QSR in contours).  
     18; @keyword CONTOUR 
     19; If we want to trace contours of a different field than the one 
     20; whose we have the colored drawing (by example E-P in color and QSR in contours). 
    2421; It must be a field respecting same characteristics than the argument number one of plt. 
    2522; 
     
    2825; 
    2926; @keyword _EXTRA 
    30 ; used to pass your keywords 
    31 ;  
     27; Used to pass keywords 
     28; 
    3229; @uses 
    3330; common.pro 
     
    4643; 
    4744;- 
    48 ;------------------------------------------------------------ 
    49 ;------------------------------------------------------------ 
    50 ;------------------------------------------------------------ 
    51 pro legende, mi, ma, coupe, CONTOUR = contour, ENDPOINTS = endpoints, DIREC = direc $ 
     45; 
     46PRO legende, mi, ma, coupe, CONTOUR = contour, ENDPOINTS = endpoints, DIREC = direc $ 
    5247             , VECTLEGENDE = vectlegende $ 
    5348             , INTERVALLE = intervalle, TYPE_YZ = type_yz, VARNAME2 = varname2 $ 
     
    9085  IF key_onearth THEN lontitle = 'Longitude' ELSE lontitle = 'i index' 
    9186  IF key_onearth THEN lattitle = 'Latitude' ELSE lattitle = 'j index' 
    92    
     87 
    9388  vertz = depthf2 
    9489  legniv = ' m' 
    9590  IF keyword_set(TYPE_YZ) THEN BEGIN 
    96     IF type_yz EQ 'hPa' THEN vertz = 'hPa'  
    97     IF type_yz EQ 'hPa' THEN legniv = ' hPa'  
    98   ENDIF  
     91    IF type_yz EQ 'hPa' THEN vertz = 'hPa' 
     92    IF type_yz EQ 'hPa' THEN legniv = ' hPa' 
     93  ENDIF 
    9994; 
    10095; Start legende 
     
    110105       !p.subtitle = !p.subtitle+', Int= '+strtrim(string(format = fmt_mm, intervalle), 2) 
    111106  endif 
    112   if size(contour, /type) EQ 8 then BEGIN ; it is a structure  
     107  if size(contour, /type) EQ 8 then BEGIN ; it is a structure 
    113108    unite = '('+contour.(1)+')' 
    114109    !p.subtitle = !p.subtitle+'!C '+contourf+unite $ 
     
    126121;------------------------------------------------------------ 
    127122; Shapping of subdomain 's dimensions 
    128 ;------------------------------------------------------------   
     123;------------------------------------------------------------ 
    129124  la1 = strtrim(string(format = fmt_bt, lat1), 2) 
    130125  la2 = strtrim(string(format = fmt_bt, lat2), 2) 
     
    135130;------------------------------------------------------------ 
    136131; Management of the date 
    137 ;------------------------------------------------------------   
     132;------------------------------------------------------------ 
    138133  if n_elements(vardate) EQ 0 then vardate = '' 
    139134  if NOT keyword_set(direc) then direc = '' 
     
    143138;------------------------------------------------------------ 
    144139; case on the caes where the caption is applied 
    145 ;------------------------------------------------------------    
     140;------------------------------------------------------------ 
    146141  case coupe of 
    147     'xy':begin           
     142    'xy':begin 
    148143      if strupcase(vargrid) EQ 'W' then firstz = firstzw $ 
    149144      ELSE firstz = firstzt 
     
    163158            !p.title = zonalf+varexp+datef+svardate+fieldf+varname 
    164159      !x.title = lontitle 
    165       if keyword_set(endpoints) AND lat1 EQ lat2 then BEGIN  
     160      if keyword_set(endpoints) AND lat1 EQ lat2 then BEGIN 
    166161        IF key_onearth THEN !x.title = !x.title+' at '+strtrim(lataxe(0, 0, lat1), 1) ELSE !x.title = !x.title+' at j index '+strtrim(lat1, 1) 
    167162      ENDIF 
     
    177172      !y.title = vertz 
    178173      !x.title = lattitle 
    179       if keyword_set(endpoints) AND lon1 EQ lon2 then BEGIN  
     174      if keyword_set(endpoints) AND lon1 EQ lon2 then BEGIN 
    180175        IF key_onearth THEN !x.title = !x.title+' at '+strtrim(lonaxe(0, 0, lon1), 1) ELSE !x.title = !x.title+' at i index '+strtrim(lon1, 1) 
    181176      ENDIF 
     
    189184      IF (time[(size(time))[0]-1] - time[0]) GE 10 THEN !y.title = timef 
    190185      !x.title = lontitle 
    191       if keyword_set(endpoints) AND lat1 EQ lat2 then BEGIN  
     186      if keyword_set(endpoints) AND lat1 EQ lat2 then BEGIN 
    192187        IF key_onearth THEN !x.title = !x.title+' at '+strtrim(lataxe(0, 0, lat1), 1) ELSE !x.title = !x.title+' at j index '+strtrim(lat1, 1) 
    193188      ENDIF 
     
    195190 
    196191    'yt':begin 
    197 ;         IF keyword_set(npts) THEN n = strtrim(npts, 1)  
     192;         IF keyword_set(npts) THEN n = strtrim(npts, 1) 
    198193      if keyword_set(endpoints) AND lon1 NE lon2 then $ 
    199194         !p.title = diaghovyt+varexp+fieldf+varname ELSE $ 
     
    201196      IF (time[(size(time))[0]-1] - time[0]) GE 10 THEN !x.title = timef 
    202197      !y.title = lattitle 
    203       if keyword_set(endpoints) AND lon1 EQ lon2 then BEGIN  
     198      if keyword_set(endpoints) AND lon1 EQ lon2 then BEGIN 
    204199        IF key_onearth THEN !x.title = !x.title+' at '+strtrim(lonaxe(0, 0, lon1), 1) ELSE !x.title = !x.title+' at i index '+strtrim(lon1, 1) 
    205200      ENDIF 
     
    213208    end 
    214209    't':begin 
    215 ;         IF keyword_set(npts) THEN n = strtrim(npts, 1) ELSE BEGIN  
     210;         IF keyword_set(npts) THEN n = strtrim(npts, 1) ELSE BEGIN 
    216211;            if keyword_set(integration3d) then n=strtrim(nx*ny*nz, 1) ELSE n=strtrim(nx*ny, 1) 
    217 ;         ENDELSE  
     212;         ENDELSE 
    218213      !p.title = hovt+varexp+fieldf+varname 
    219214      !y.title = varname 
    220215      IF (time[(size(time))[0]-1] - time[0]) GE 10 THEN !x.title = timef 
    221216    end 
    222     'x':begin             
     217    'x':begin 
    223218;         IF keyword_set(npts) THEN n = strtrim(npts, 1) ELSE n=strtrim(ny*nz, 1) 
    224219      if keyword_set(endpoints) AND lat1 NE lat2 then $ 
     
    226221            !p.title  =            varexp+datef+svardate+fieldf+varname 
    227222      !x.title = lontitle 
    228       if keyword_set(endpoints) AND lat1 EQ lat2 then BEGIN  
     223      if keyword_set(endpoints) AND lat1 EQ lat2 then BEGIN 
    229224        IF key_onearth THEN !x.title = !x.title+' at '+strtrim(lataxe(0, 0, lat1), 1) ELSE !x.title = !x.title+' at j index '+strtrim(lat1, 1) 
    230225      ENDIF 
    231226      !y.title = varname 
    232227    end 
    233     'y':begin             
     228    'y':begin 
    234229;         IF keyword_set(npts) THEN n = strtrim(npts, 1) ELSE n=strtrim(nx*nz, 1) 
    235230      if keyword_set(endpoints) AND lon1 NE lon2 then $ 
     
    237232            !p.title  =            varexp+datef+svardate+fieldf+varname 
    238233      !x.title = lattitle 
    239       if keyword_set(endpoints) AND lon1 EQ lon2 then BEGIN  
     234      if keyword_set(endpoints) AND lon1 EQ lon2 then BEGIN 
    240235        IF key_onearth THEN !x.title = !x.title+' at '+strtrim(lonaxe(0, 0, lon1), 1) ELSE !x.title = !x.title+' at i index '+strtrim(lon1, 1) 
    241236      ENDIF 
     
    253248      !x.title = varname2 
    254249      !y.title = varname 
    255     END  
     250    END 
    256251    else: 
    257252  ENDCASE 
     
    264259      ELSE !p.subtitle = latintf+'['+la1+', '+la2+']'+onf+'('+strtrim(ny, 1)+' points)  '+!p.subtitle 
    265260    ENDIF 
    266     if strpos(direc, 'z') NE -1 AND (nz NE 1 OR coupe NE 'xy') then BEGIN  
     261    if strpos(direc, 'z') NE -1 AND (nz NE 1 OR coupe NE 'xy') then BEGIN 
    267262      if strpos(!p.subtitle, '[') EQ -1 then $ 
    268263         !p.subtitle = depintf+'['+pr1+', '+pr2+']'+onf+'('+strtrim(nz, 1)+' points)  !C'+!p.subtitle $ 
     
    271266  ENDIF 
    272267  if keyword_set(endpoints) AND coupe NE 'yt' AND lat1 NE lat2 then !p.title = !p.title+'!C!C' 
    273    
    274   if keyword_set(key_performance) THEN print, 'temps legende', systime(1)-tempsun  
     268 
     269  if keyword_set(key_performance) THEN print, 'temps legende', systime(1)-tempsun 
    275270  return 
    276271end 
  • trunk/SRC/ToBeReviewed/PLOTS/plotsym.pro

    r223 r231  
    2929; 
    3030; @keyword _EXTRA 
    31 ; extra keywords for usersym.  These are thick, color and fill 
     31; Used to pass keywords to <pro>usersym</pro>. 
     32; These are thick, color and fill. 
    3233; 
    3334; @history 
     
    4445; 
    4546;- 
    46  
    47 function plotsym, circle=circle, triangle=triangle, diamond=diamond, $ 
     47; 
     48FUNCTION plotsym, circle=circle, triangle=triangle, diamond=diamond, $ 
    4849                  angle=angle, box=box, line=line, scale=scale, $ 
    4950                  _extra=extra 
  • trunk/SRC/ToBeReviewed/PLOTS/reinitplt.pro

    r213 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
    63; @file_comments 
    7 ; This procedure will reinitialize all or a selection  
     4; This procedure will reinitialize all or a selection 
    85; of the system plot variables 
    96; 
     
    118; Utilities 
    129; 
    13 ;  
    1410; @keyword X 
    1511; clear the appropriate variable 
     
    2016; @keyword Z     
    2117; clear the appropriate variable 
    22 ;  
     18; 
    2319; @keyword P 
    2420; clear the appropriate variable 
     
    3329; @uses 
    3430; common.pro 
    35 ;  
     31; 
    3632; @restrictions 
    3733; The system plot variables are changed. 
     
    4743; 
    4844;- 
    49 ;------------------------------------------------------------ 
    50 ;------------------------------------------------------------ 
    51 ;------------------------------------------------------------ 
    52 pro reinitplt, all=all,x=x,y=y,z=z,p=p, invert=invert 
    53 ;------------------------------------------------------------ 
     45; 
     46PRO reinitplt, all=all,x=x,y=y,z=z,p=p, invert=invert 
    5447; 
    5548  compile_opt idl2, strictarrsubs 
     
    8275                !x.charsize=0 
    8376                !x.GRIDSTYLE=0 
    84                 !X.MARGIN=[10,3]  
     77                !X.MARGIN=[10,3] 
    8578                !X.MINOR=0 
    8679                !X.OMARGIN=[0,0] 
     
    10093                !y.charsize=0 
    10194                !y.GRIDSTYLE=0 
    102                 !Y.MARGIN=[10,3]  
     95                !Y.MARGIN=[10,3] 
    10396                !Y.MINOR=0 
    10497                !Y.OMARGIN=[0,0] 
     
    118111                !z.charsize=0 
    119112                !z.GRIDSTYLE=0 
    120                 !Z.MARGIN=[10,3]  
     113                !Z.MARGIN=[10,3] 
    121114                !Z.MINOR=0 
    122115                !Z.OMARGIN=[0,0] 
  • trunk/SRC/ToBeReviewed/PLOTS/style.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
    6 ; @file_comments  
     3; @file_comments 
    74; Choose the way to trace isolines. 
    85; 
     
    2623;               4       Dash Dot Dot Dot         
    2724;               5       Long Dashes      
    28 ;  
     25; 
    2926; @param THICK {out} 
    3027; Vector defining the thick of the isoline. 
     
    3734; 
    3835;- 
    39 ;------------------------------------------------------------ 
    40 ;------------------------------------------------------------ 
    41 ;------------------------------------------------------------ 
    42 pro style,labstyle,level_z2d,linestyle,thick 
     36; 
     37PRO style,labstyle,level_z2d,linestyle,thick 
    4338; 
    4439  compile_opt idl2, strictarrsubs 
     
    5752         a=replicate(0,fix(n_elements(level_z2d)/2)) 
    5853         b=replicate(1,fix(n_elements(level_z2d)/2)) 
    59          c=replicate(2,fix(n_elements(level_z2d)/2))          
     54         c=replicate(2,fix(n_elements(level_z2d)/2)) 
    6055         if impair then begin 
    6156            thick=[b,2,b] 
     
    7469         rien=where(level_z2d lt seuil,n) 
    7570         a=replicate(0,n_elements(level_z2d)-n) 
    76          c=replicate(2,n)          
     71         c=replicate(2,n) 
    7772         if seuil eq level_z2d[n] then begin 
    7873            thick=[replicate(1,n),2,replicate(1,n_elements(level_z2d)-1-n)] 
  • trunk/SRC/ToBeReviewed/PLOTS/symbols.pro

    r142 r231  
    33; @file_comments 
    44; Create custom plotting symbols 
    5 ;  
     5; 
    66; @param NSYM {in}{required} 
    7 ;         
     7;        
    88;                1 = open circle 
    99;                2 = filled circle 
     
    2424;                31 = filled diamond 
    2525;                32 = filled triangle 
    26 ;                 
     26;                
    2727; @param SCALE {in}{required} 
    2828; size of symbols. 
    29 ;         
     29; 
    3030; @keyword COLOR 
    3131; color of symbols 
    3232;                
    3333; @restrictions 
    34 ; The desired symbol is stored in the user buffer and  
     34; The desired symbol is stored in the user buffer and 
    3535; will be plotted if !P.PSYM = 8. 
    3636; 
     
    4242; 
    4343;- 
    44 pro symbols,nsym,scale,color=col 
     44; 
     45PRO symbols,nsym,scale,color=col 
    4546; 
    4647  compile_opt idl2, strictarrsubs 
     
    6667                      ;nsyms greater than 10 should be filled arrows 
    6768                      if nsym gt 10 then begin 
    68                          xarr[3] = 6.  
     69                         xarr[3] = 6. 
    6970                         xarr[4] = 10. 
    7071                         yarr[3] = -2. 
  • trunk/SRC/ToBeReviewed/POSTSCRIPT/calibre.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
     2; 
    53; @file_comments 
    64; From a rapport of aspect and values (in line of character) of different margins, 
     
    5856; 
    5957; @keyword _EXTRA 
    60 ; Used to pass your keywords 
     58; Used to pass keywords 
    6159; 
    6260; @param POSFENETRE {type=vector} 
     
    7977; $Id$ 
    8078;- 
    81 ;------------------------------------------------------------ 
    82 ;------------------------------------------------------------ 
    83 ;------------------------------------------------------------ 
    84 pro calibre, rapportyx, marge, margebar, smalldraw, posfenetre, posbar $ 
     79; 
     80PRO calibre, rapportyx, marge, margebar, smalldraw, posfenetre, posbar $ 
    8581             , REMPLI = rempli, YXASPECT = yxaspect, PORTRAIT = portrait $ 
    8682             , LANDSCAPE = lanscape, _extra = ex 
    87 ;--------------------------------------------------------- 
    8883; 
    8984  compile_opt idl2, strictarrsubs 
  • trunk/SRC/ToBeReviewed/POSTSCRIPT/chcolps.pro

    r163 r231  
    11;+ 
     2; 
    23; @file_comments  
    34;  
    4 ;  
    55; @categories 
    66;  
    7 ;  
    87; @param TABLE 
    98;  
    10 ;  
    119; @restrictions 
    1210;  
    13 ;  
    1411; @examples 
    15 ; 
    1612; 
    1713; @history 
     
    2016; @version 
    2117; $Id$ 
     18; 
    2219;- 
     20; 
    2321PRO format_colortable_hexa, table 
    2422; 
     
    4240 
    4341END 
    44  
    45  
     42; 
    4643;+ 
     44; 
    4745; @file_comments  
    4846; Build a bloc of colortable 
     
    5048; @categories 
    5149;  
    52 ;  
    5350; @param TABLEOUT 
    5451;  
    55 ;  
    5652; @restrictions 
    5753;  
    58 ;  
    5954; @examples 
    6055; 
    61 ; 
    6256; @history 
    6357;  
    64 ; 
    6558; @version 
    6659; $Id$ 
     60; 
    6761;- 
     62; 
    6863PRO build_table, tableout 
    69 ; 
    70 ; 
    7164; 
    7265  compile_opt idl2, strictarrsubs 
     
    8780     
    8881END 
    89  
    90  
    91  
     82; 
    9283;+ 
     84; 
    9385; @file_comments  
    9486; Modify colors of a postscript file 
    9587; 
    9688; @categories 
    97 ;  
    9889;  
    9990; @param N1 {in}{required} 
     
    110101; @keyword PALIT1 
    111102;  
    112 ;  
    113103; @keyword PALIT2 
    114104;  
    115 ;  
    116105; @restrictions 
    117106;  
    118 ;  
    119107; @examples 
    120 ; 
    121108; 
    122109; @history 
     
    125112; @version 
    126113; $Id$ 
     114; 
    127115;- 
     116; 
    128117PRO chcolps, n1, n2, file, PALIT1 = palit1, PALIT2 = palit2 
    129 ;; 
    130 ;; 
    131 ;; 
     118; 
     119  compile_opt idl2, strictarrsubs 
    132120; 
    133121; recuperate palettes 
    134 ; 
    135 ; 
    136   compile_opt idl2, strictarrsubs 
    137122; 
    138123    lct, n1 
  • trunk/SRC/ToBeReviewed/STRING/string2struct.pro

    r223 r231  
    11;+ 
     2; 
    23; @file_comments 
    34; This is a really, really cool way to turn keywords into a structure. 
     
    78; 
    89; @keyword _EXTRA 
    9 ; used to pass your keywords 
     10; Used to pass keywords 
    1011; 
    1112; @returns 
     
    1516; @examples 
    1617; 
    17 ; 
    1818; @history 
    1919; 
     
    2121; $Id$ 
    2222;- 
    23 function too_cool,_extra=extra 
     23; 
     24FUNCTION too_cool,_extra=extra 
    2425; 
    2526  compile_opt idl2, strictarrsubs 
  • trunk/SRC/ToBeReviewed/STRING/strkeywd.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    5653; 
    5754;- 
    58 ;------------------------------------------------------------ 
    59 ;------------------------------------------------------------ 
    60 ;------------------------------------------------------------ 
     55; 
    6156FUNCTION strkeywd, struct 
    6257; 
  • trunk/SRC/ToBeReviewed/STRUCTURE/struct2string.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    2421; 
    2522; @restrictions 
    26 ; Use tostr.pro, cf this function header! 
     23; Use <pro>tostr</pro>, cf this function header! 
    2724; 
    2825; @examples 
     
    4340; 
    4441;- 
    45 ;------------------------------------------------------------ 
    46 ;------------------------------------------------------------ 
    47 ;------------------------------------------------------------ 
     42; 
    4843FUNCTION struct2string, struct, CUT_IN_STRING = cut_in_string, MAX_STRUCT_LENGTH = max_struct_length, DIRECT2STRING = direct2string 
    4944; 
  • trunk/SRC/ToBeReviewed/TRIANGULATION/ciseauxtri.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
     2; 
    53; @file_comments 
    64; Delete arrays which do not have to be drawn thanks to 2 tests: 
     
    1816; 
    1917; @keyword _EXTRA 
    20 ; Used to pass your keywords. 
     18; Used to pass keywords 
    2119; 
    2220; @uses 
     
    3129; 
    3230;- 
    33 ;------------------------------------------------------------ 
    34 ;------------------------------------------------------------ 
    35 ;------------------------------------------------------------ 
     31; 
    3632FUNCTION ciseauxtri, triang, glam, gphi, _EXTRA = ex 
    3733;--------------------------------------------------------- 
  • trunk/SRC/ToBeReviewed/TRIANGULATION/completecointerre.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
    63; @file_comments 
    7 ; 
    84; 
    95; @categories 
    106; Graphics 
    117; 
    12 ; @param LONS  
    13 ; 
     8; @param LONS 
    149; 
    1510; @param LATS 
    1611; 
    17 ; 
    1812; @param SEUIL 
    1913; 
    20 ; 
    2114; @keyword _EXTRA 
    22 ; Used to pass your keywords  
     15; Used to pass keywords 
    2316; 
    2417; @keyword CONT_COLOR {default=(!d.n_colors - 1) < 255 => white} 
     
    3629; 
    3730;- 
    38 ;------------------------------------------------------------ 
    39 ;------------------------------------------------------------ 
    40 ;------------------------------------------------------------ 
     31; 
    4132PRO draw_corner_triangle, lons, lats, seuil, CONT_COLOR = cont_color, _extra = ex 
    4233; 
     
    4738  IF min(lons, max = maxlon) GE lon1 AND maxlon LE lon2 $ 
    4839    AND min(lats, max = maxlat) GE lat1 AND maxlat LE lat2 then BEGIN 
    49 ; the triangle must not be too big  
    50     z = convert_coord(lons, lats, /data, /to_normal)  
     40; the triangle must not be too big 
     41    z = convert_coord(lons, lats, /data, /to_normal) 
    5142    alldist = [(z[0, 2]-z[0, 0])^2 + (z[1, 2]-z[1, 0])^2 $ 
    5243               , (z[0, 0]-z[0, 1])^2 + (z[1, 0]-z[1, 1])^2 $ 
     
    5546      , color = cont_color, _extra = ex 
    5647    return 
    57   ENDIF  
     48  ENDIF 
    5849end 
    5950;------------------------------------------------------------ 
     
    6960; 
    7061; @keyword _EXTRA 
    71 ; Used to pass your keywords  
     62; Used to pass keywords 
    7263; 
    7364; @keyword CONT_COLOR 
     
    7667; 
    7768; @keyword COINMONTE {type=array} 
    78 ; To obtain the array of "ascending land corner"  
    79 ; to be treated with completecointerre.pro in the variable array  
     69; To obtain the array of "ascending land corner" 
     70; to be treated with <pro>completecointerre</pro> in the variable array 
    8071; instead of make it pass by the global variable twin_corners_up. 
    8172; 
     
    131122      IF total(key_stride) EQ 3 AND finite(glamv[0]*gphiv[0]) NE 0 THEN BEGIN 
    132123        long1 = glamv[indicezoom] & lati1 = gphiv[indicezoom] 
    133       ENDIF ELSE BEGIN  
     124      ENDIF ELSE BEGIN 
    134125        long1 = glamt[indicezoom] & lati1 = gphif[indicezoom] 
    135126      ENDELSE 
     
    140131      ENDELSE 
    141132      long3 = glamf[indicezoom] & lati3 = gphif[indicezoom] 
    142     ENDIF ELSE BEGIN  
     133    ENDIF ELSE BEGIN 
    143134      IF total(key_stride) EQ 3 AND finite(glamv[0]*gphiv[0]) NE 0 THEN BEGIN 
    144135        long1 = glamv & lati1 = gphiv 
    145       ENDIF ELSE BEGIN  
     136      ENDIF ELSE BEGIN 
    146137        long1 = glamt & lati1 = gphif 
    147138      ENDELSE 
    148139      IF total(key_stride) EQ 3 AND finite(glamu[0]*gphiu[0]) NE 0 THEN BEGIN 
    149140        long2 = glamu & lati2 = gphiu 
    150       ENDIF ELSE BEGIN  
     141      ENDIF ELSE BEGIN 
    151142        long2 = glamf & lati2 = gphit 
    152143      ENDELSE 
    153144      long3 = glamf & lati3 = gphif 
    154     ENDELSE  
     145    ENDELSE 
    155146; 
    156147    nx = (size(long1, /dimensions))[0] 
     
    169160;      2 land points in diagonal ascending with 2 ocean points on the descendant diagonal. 
    170161; 
    171 ;                     4     
     162;                     4 
    172163;     t(i+nx)=1    u(i+nx)       t(i+nx+1)=0 
    173164;                     |    \ 
     
    196187        lats = [lati3[i], lati1[i+1], lati2[i+nx]] 
    197188        draw_corner_triangle, lons, lats, seuil, CONT_COLOR = cont_color, _extra = ex 
    198       ENDIF  
    199     ENDFOR  
     189      ENDIF 
     190    ENDFOR 
    200191    IF testvar(var = key_performance) EQ 2 THEN $ 
    201192      print, 'temps completecointerre: trace de cointerremonte', systime(1)-tempdeux 
     
    204195; Case land corner in descent: 
    205196;      2 land points in diagonal descending with 2 ocean points on the ascendant diagonal. 
    206 ;  
     197; 
    207198;                     4 
    208199;     t(i+nx)=1    u(i+nx)       t(i+nx+1)=0 
    209 ;                /    |        
    210 ;             /       |           
     200;                /    | 
     201;             /       | 
    211202;          /        3 |                5 
    212203;       v(i)---------f(i)------------v(i+1) 
     
    238229 
    239230;------------------------------------------------------------ 
    240   IF keyword_set(key_performance) THEN print, 'temps completecointerre', systime(1)-tempsun  
     231  IF keyword_set(key_performance) THEN print, 'temps completecointerre', systime(1)-tempsun 
    241232;------------------------------------------------------------ 
    242233  return 
  • trunk/SRC/ToBeReviewed/TRIANGULATION/definetri.pro

    r230 r231  
    22; 
    33; @file_comments 
    4 ; Define a triangulation array like TRIANGULATE.  
     4; Define a triangulation array like <pro>TRIANGULATE</pro>. 
    55;         But in a VERY SIMPLE CASE: 
    66; the points are regulary-gridded on nx*ny array. 
    77; Find a Delaunay triangulation for this set of points is easy: 
    8 ; Points define (nx-1)*(ny-1) rectangles which we can cut in 2 triangles.  
     8; Points define (nx-1)*(ny-1) rectangles which we can cut in 2 triangles. 
    99; cf. figure above 
    1010; 
     
    1212; fixe 
    1313;      ny-1*---*---*. . . . . .*---*---* 
    14 ;          |  +|  +|           |  +|  +|       
     14;          |  +|  +|           |  +|  +| 
    1515;          | + | + |           | + | + | 
    1616;          |+  |+  |           |+  |+  | 
    17 ;      ny-2*---*---*. . . . . .*---*---*    
     17;      ny-2*---*---*. . . . . .*---*---* 
    1818;          .       .           .       . 
    1919;          .       .           .       . 
     
    2323;          | + | + |           | + | + | 
    2424;          |+  |+  |           |+  |+  | 
    25 ;         0*---*---*. . . . . .*---*---*   
     25;         0*---*---*. . . . . .*---*---* 
    2626;           0   1   2        nx-3  nx-2 nx-1 
    2727; </fixe> 
     
    3535;          | + |                        | + | 
    3636;          |+  |                        |  +| 
    37 ;          *---*                        *---*   
     37;          *---*                        *---* 
    3838; </fixe> 
    3939; 
    4040; @categories 
    4141; Utilities 
    42 ;  
     42; 
    4343; @param NX {in}{required} 
    4444; The x dimension array 
     
    4848; 
    4949; @param DOWNWARD {in}{optional} 
    50 ; When DOWNWARD is undefined all rectangles are cut in using the upward  
    51 ; diagonal.  
    52 ; DOWNWARD is a vector which contains the rectangles numbers which are cut in  
     50; When DOWNWARD is undefined all rectangles are cut in using the upward 
     51; diagonal. 
     52; DOWNWARD is a vector which contains the rectangles numbers which are cut in 
    5353; using the downward diagonal. 
    54 ; The rectangle number is defined by the index (in a nx*ny vector) of the  
     54; The rectangle number is defined by the index (in a nx*ny vector) of the 
    5555; lower-left corner of the rectangle. 
    5656; 
     
    8888   nx = long(nx) 
    8989   ny = long(ny) 
    90    if n_elements(downward) NE 0 THEN BEGIN  
     90   if n_elements(downward) NE 0 THEN BEGIN 
    9191      if n_elements(downward) GT (nx-1)*(ny-1) then begin 
    9292         print, 'downward a trop d''elements par rapport a nx et ny!' 
     
    9595      downward = long(downward) 
    9696   ENDIF 
    97 ; we define triangles  
     97; we define triangles 
    9898   triangles = lonarr(3, 2*(nx-1)*(ny-1)) 
    9999;---------------------------------------------------------------------------------- 
     
    110110      if n_elements(downward) NE 0 then upward[downward] = 0 
    111111      upward = where(upward EQ 1) 
    112       n1 = n_elements(upward)  
     112      n1 = n_elements(upward) 
    113113; 
    114114; 4 corners indexes of a rectangle number i are 
    115115; 
    116116;       i+nx  i+nx+1 
    117 ;          *---*                     
    118 ;          |  +|                    
    119 ;          | + |                    
    120 ;          |+  |                   
    121 ;          *---*                 
     117;          *---* 
     118;          |  +| 
     119;          | + | 
     120;          |+  | 
     121;          *---* 
    122122;          i   i+1 
    123123; 
     
    136136;---------------------------------------------------------------------------------- 
    137137   if n_elements(downward) NE 0 then BEGIN 
    138       n2 = n_elements(downward)  
     138      n2 = n_elements(downward) 
    139139      trinumber = 2*(downward-downward/nx) 
    140140; we define the right triangles 
  • trunk/SRC/ToBeReviewed/TRIANGULATION/definetri_e.pro

    r186 r231  
    11;+ 
     2; 
    23; @file_comments 
    34; 
    4 ; 
    55; @categories 
    6 ; 
    76; 
    87; @param INDEX 
     
    1514; The y dimension array 
    1615; 
    17 ; 
    1816; @returns 
    1917; 
     18; @restrictions 
    2019; 
    21 ; @restrictions 
    22 ;  
    23 ;  
    2420; @examples 
    25 ;  
    26 ;  
     21; 
    2722; @history 
    28 ; 
    2923; 
    3024; @version 
    3125; $Id$ 
    3226;- 
    33  function numtri, index, nx, ny 
     27; 
     28FUNCTION numtri, index, nx, ny 
    3429; 
    3530  compile_opt idl2, strictarrsubs 
     
    4237   return, numtri 
    4338end 
    44  
    45  
     39; 
    4640;+ 
    4741; 
    4842; @file_comments 
    49 ; Define a triangulation array like TRIANGULATE but for a 
     43; Define a triangulation array like <pro>TRIANGULATE</pro> but for a 
    5044; E-grid type 
    5145; 
    5246; @categories 
    5347; Make contours with E-grid type 
    54 ;  
     48; 
    5549; @param NX {in}{required} 
    5650; The x dimension array 
     
    6054; 
    6155; @param SINGULAR {in}{optional} 
    62 ; When singular is undefined all rectangles are cut in using the vertical  
    63 ; diagonal.  
    64 ; Singular is a vector which contains the rectangles numbers which are cut in  
     56; When singular is undefined all rectangles are cut in using the vertical 
     57; diagonal. 
     58; Singular is a vector which contains the rectangles numbers which are cut in 
    6559; using the horizontal diagonal. 
    66 ; The rectangle number is defined by the index (in a nx*ny vector) of the  
     60; The rectangle number is defined by the index (in a nx*ny vector) of the 
    6761; lower-left corner of the rectangle. 
    6862; 
    6963; @keyword SHIFTED 
    7064; 
    71 ; 
    7265; @returns 
    7366; Triangles is a 2d array and is dimensions are 3 and (nx-1)*(ny-1). 
    7467; Triangles is defined like in the TRIANGULATE procedure. 
    75 ;         
     68; 
    7669; @history 
    7770; Sebastien Masson (smlod\@ipsl.jussieu.fr) 
     
    8174; $Id$ 
    8275; 
    83 ; @todo  
     76; @todo 
    8477; seb: documenter SHIFTED 
    8578;- 
  • trunk/SRC/ToBeReviewed/TRIANGULATION/dessinetri.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    96; @categories 
    107; Utilities 
    11 ;  
     8; 
    129; @param TRI {in}{optional} 
    13 ; Array which define the triangulation (provided by triangule.pro or triangulate) 
    14 ;  
     10; Array which define the triangulation (provided by <pro>triangule</pro> or 
     11; <pro>triangulate</pro>) 
     12; 
    1513; @param X {in}{optional} 
    16 ; The x position of points to which the trangulation refer to  
     14; The x position of points to which the trangulation refer to 
    1715; (see the x array provided in triangulate) 
    1816; 
    1917; @param Y {in}{optional} 
    20 ; The y position of points to which the trangulation refer to  
     18; The y position of points to which the trangulation refer to 
    2119; (see the y array provided in triangulate) 
    2220; 
     
    4442; 
    4543;- 
    46 ;------------------------------------------------------------ 
    47 ;------------------------------------------------------------ 
    48 ;------------------------------------------------------------ 
    49  
     44; 
    5045PRO dessinetri, tri, x, y, WAIT = wait, ONEBYONE = onebyone, FILL = fill, CHANGECOLOR = changecolor, _extra = ex 
    5146; 
     
    5853     CASE size(x, /n_dimensions)+size(y, /n_dimensions) OF 
    5954       2:BEGIN 
    60          nx = n_elements(x)  
    61          ny = n_elements(y)  
     55         nx = n_elements(x) 
     56         ny = n_elements(y) 
    6257         glam = x#replicate(1., ny) 
    6358         gphi = replicate(1., nx)#y 
    64        END  
     59       END 
    6560       4:BEGIN 
    6661         glam = x 
     
    7267       END 
    7368     ENDCASE 
    74    ENDIF ELSE BEGIN  
     69   ENDIF ELSE BEGIN 
    7570      grille,mask,glam,gphi, tri = tri 
    7671      undefine, mask 
    7772      tri = ciseauxtri(tri, glam, gphi) 
    78    ENDELSE  
     73   ENDELSE 
    7974; 
    8075   IF keyword_set(changecolor) THEN BEGIN 
    8176      oldname = !d.name 
    82       if !d.name EQ 'PS' OR !d.name EQ 'Z' then BEGIN  
     77      if !d.name EQ 'PS' OR !d.name EQ 'Z' then BEGIN 
    8378         thisos = strupcase(strmid(!version.os_family, 0, 3)) 
    8479         CASE thisOS of 
     
    9287       color = 1+indgen(changecolor)*(ncolors/(changecolor-1)) 
    9388     ENDIF ELSE color = 0 
    94      color = color#replicate(1, n_elements(tri)/3/n_elements(color)+1)  
     89     color = color#replicate(1, n_elements(tri)/3/n_elements(color)+1) 
    9590; 
    9691   tempdeux = systime(1)         ; For key_performance =2 
     
    106101    print, 'temps dessinetri: trace des triangles', systime(1)-tempdeux 
    107102; 
    108    if keyword_set(key_performance) THEN print, 'temps dessinetri', systime(1)-tempsun  
     103   if keyword_set(key_performance) THEN print, 'temps dessinetri', systime(1)-tempsun 
    109104 
    110105   return 
  • trunk/SRC/ToBeReviewed/TRIANGULATION/drawcoast_c.pro

    r163 r231  
    55; @categories 
    66; 
    7 ;  
    87; @param MASK 
    98; 
    10 ;  
    119; @param XF 
    12 ;  
    1310; 
    1411; @param YF 
    15 ;  
    1612; 
    1713; @param NX 
    18 ;  
    1914; 
    2015; @param NY 
    21 ;  
    2216; 
    2317; @keyword COAST_COLOR {default=0} 
     
    2923; 
    3024; @keyword XSEUIL {default=5} 
    31 ; To eliminate segments of coasts which are to big (which link points which can  
    32 ; be close on the sphere but distant on the drawing). We delete all segments  
    33 ; whose the size surpass the size of the window following X/XSEUIL.  
    34 ; But it can be to big if we do a big zoom or a little one for some  
     25; To eliminate segments of coasts which are to big (which link points which can 
     26; be close on the sphere but distant on the drawing). We delete all segments 
     27; whose the size surpass the size of the window following X/XSEUIL. 
     28; But it can be to big if we do a big zoom or a little one for some 
    3529; projections... We specify it the keyword thanks to this keyword! 
    3630; 
    3731; @keyword YSEUIL 
    3832; See XSEUIL 
    39 ;  
     33; 
    4034; @keyword _EXTRA 
    41 ; Used to pass our keywords 
    42 ;   
     35; Used to pass keywords 
     36; 
    4337; @returns 
    44 ;  
    45 ;  
     38; 
    4639; @uses 
    47 ;  
    48 ;  
     40; 
    4941; @restrictions 
    50 ;  
    51 ;  
     42; 
    5243; @examples 
    53 ;  
    54 ;  
     44; 
    5545; @history 
    56 ;  
    57 ;  
    58 ; @version  
    59 ;  
    60 ; @todo  
     46; 
     47; @version 
     48; 
     49; @todo 
    6150; Seb: remplir le header 
    6251; 
    6352;- 
    64 ;--------------------------------------------------------- 
     53; 
    6554PRO drawcoast_c, mask, xf, yf, nx, ny, COAST_COLOR = coast_color, COAST_THICK = coast_thick, YSEUIL = yseuil, XSEUIL = xseuil, _extra = ex 
    6655; 
     
    9685          print, 'temps tracecote: determiner liste des points concernes par un trait vertical', systime(1)-tempdeux 
    9786         tempdeux = systime(1)  ; For key_performance =2 
    98          for pt = 0L, n_elements(lx)-1 do BEGIN  
     87         for pt = 0L, n_elements(lx)-1 do BEGIN 
    9988            i = lx[pt] & j = ly[pt] 
    10089            plots, [xf[i, j-1], xf[i, j]], [yf[i, j-1], yf[i, j]] $ 
     
    10897; For the drawing of horizontal segments , it is the same thing but we have to be careful if it is periodic. 
    10998; 
    110 ; If it is periodic, we duplicate the first column and we put it at the end.  
     99; If it is periodic, we duplicate the first column and we put it at the end. 
    111100; (This is made not for the shift which is periodic by default but for the plots) 
    112101   tempdeux = systime(1)        ; For key_performance =2 
     
    130119          print, 'temps tracecote: determiner liste des points concernes par un trait horizontal', systime(1)-tempdeux 
    131120         tempdeux = systime(1)  ; For key_performance =2 
    132          for pt = 0L, n_elements(lx)-1 do BEGIN  
     121         for pt = 0L, n_elements(lx)-1 do BEGIN 
    133122            i = lx[pt] & j = ly[pt] 
    134123            plots, [xf[i-1, j], xf[i, j]], [yf[i-1, j], yf[i, j]] $ 
  • trunk/SRC/ToBeReviewed/TRIANGULATION/drawcoast_e.pro

    r226 r231  
    22; @file_comments 
    33; 
    4 ; 
    54; @categories 
    6 ; 
    75; 
    86; @param MASK 
    97; 
    10 ; 
    118; @param XF 
    12 ; 
    139; 
    1410; @param YF 
    1511; 
    16 ; 
    1712; @param NX 
    1813; 
    19 ; 
    2014; @param NY 
    21 ; 
    2215; 
    2316; @keyword COAST_COLOR {default=0} 
     
    3932; 
    4033; @keyword _EXTRA 
    41 ; Used to pass our keywords 
     34; Used to pass keywords 
    4235; 
    4336; @returns 
    4437; 
    45 ; 
    4638; @uses 
    47 ; 
    4839; 
    4940; @restrictions 
    5041; 
    51 ; 
    5242; @examples 
    5343; 
    54 ; 
    5544; @history 
    56 ; 
    5745; 
    5846; @version 
     
    6250; 
    6351;- 
    64  
     52; 
    6553PRO drawcoast_e, mask, xf, yf, nx, ny, COAST_COLOR = coast_color, COAST_THICK = coast_thick, YSEUIL = yseuil, XSEUIL = xseuil, onemore = onemore, _extra = ex 
    66 ;--------------------------------------------------------- 
    6754; 
    6855  compile_opt idl2, strictarrsubs 
  • trunk/SRC/ToBeReviewed/TRIANGULATION/drawsectionbottom.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    85; 
    96; @categories 
    10 ;  
     7; 
    118; @param MASKIN {in}{required} 
    129; 
    13 ; @param XXAXISIN {in}{required}  
     10; @param XXAXISIN {in}{required} 
    1411; 
    1512; @param DEPTHSIN {in}{required} 
     
    3128; @restrictions 
    3229; Simple way to fill continents for a section (using the 
    33 ; fact that continents are wider at the bottom than at the top).  
     30; fact that continents are wider at the bottom than at the top). 
    3431; 
    3532; @history 
     
    4340; Seb: definir params 
    4441;- 
    45 ;------------------------------------------------------------ 
    46 ;------------------------------------------------------------ 
    47 ;------------------------------------------------------------ 
     42; 
    4843PRO drawsectionbottom, maskin, xxaxisin, depthsin $ 
    4944                       , COAST_COLOR = coast_color, COAST_THICK = coast_thick $ 
    5045                       , CONT_COLOR = cont_color, CONT_NOFILL = cont_nofill $ 
    5146                       , OVERPLOT = overplot, _extra = ex 
    52 ;--------------------------------------------------------- 
    5347; 
    5448  compile_opt idl2, strictarrsubs 
     
    5852@updatekwd 
    5953  ENDIF 
    60 ;---------------------------------------------------------  
     54;--------------------------------------------------------- 
    6155  if keyword_set(overplot) then return 
    6256; 
     
    9286  usepartial = total(usepartial NE usepartial[0]) GE 1 
    9387  depths = depthsin[0:nx-1,*] 
    94 ; we add one level according to the ocean level we had to the mask.  
     88; we add one level according to the ocean level we had to the mask. 
    9589  deltaz = abs(!y.range[1]-!y.range[0])/10. 
    9690  zmax = max(depthsin)+deltaz 
     
    142136     FOR i = 0, countout -1 DO BEGIN 
    143137       CASE 1 OF 
    144          out[i] EQ 0:BEGIN  
     138         out[i] EQ 0:BEGIN 
    145139; if we start with a out point 
    146140           xxx = !values.f_nan 
    147            zzz = !values.f_nan            
    148          END  
    149          i EQ 0:BEGIN  
     141           zzz = !values.f_nan 
     142         END 
     143         i EQ 0:BEGIN 
    150144; i eq 0 but out[i] ne 0 
    151145           xxx = [xx[0:out[i]], !values.f_nan] 
     
    155149; two consecutive out values at the same depth: we just keep 
    156150; !values.f_nan values until the next change of depth 
    157            IF (out[i-1] EQ out[i]-1) AND (zz[out[i-1]] EQ zz[out[i]]) THEN BEGIN  
     151           IF (out[i-1] EQ out[i]-1) AND (zz[out[i-1]] EQ zz[out[i]]) THEN BEGIN 
    158152             xxx = [xxx, !values.f_nan] 
    159              zzz = [zzz, !values.f_nan]              
    160            ENDIF ELSE BEGIN  
     153             zzz = [zzz, !values.f_nan] 
     154           ENDIF ELSE BEGIN 
    161155; we keep everything inbetween the out values (including themselves 
    162156; for the vertical lines) but we had !values.f_nan to remove the horizontal lines 
    163157             xxx = [xxx, xx[out[i-1]:out[i]], !values.f_nan] 
    164              zzz = [zzz, zz[out[i-1]:out[i]], !values.f_nan]              
     158             zzz = [zzz, zz[out[i-1]:out[i]], !values.f_nan] 
    165159           ENDELSE 
    166160         END 
     
    168162       IF i EQ countout-1 AND out[i] NE n_elements(xx)-1 THEN BEGIN 
    169163         xxx = [xxx, xx[out[i]:*]] 
    170          zzz = [zzz, zz[out[i]:*]]              
     164         zzz = [zzz, zz[out[i]:*]] 
    171165       ENDIF 
    172166     ENDFOR 
  • trunk/SRC/ToBeReviewed/TRIANGULATION/fillcornermask.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    118; 
    129; @keyword _EXTRA 
    13 ; Used to pass your keywords  
     10; Used to pass keywords 
    1411; 
    1512; @keyword CONT_COLOR {default=(!d.n_colors - 1) < 255 => white} 
     
    2724; 
    2825;- 
    29 ;------------------------------------------------------------ 
    30 ;------------------------------------------------------------ 
    31 ;------------------------------------------------------------ 
    32 PRO fillcornermask, xin, yin, COINMONTE = coinmonte, COINDESCEND = coindescend $             
     26; 
     27PRO fillcornermask, xin, yin, COINMONTE = coinmonte, COINDESCEND = coindescend $ 
    3328                    , CONT_COLOR = cont_color, INDICEZOOM = indicezoom $ 
    3429                    , _extra = ex 
     
    4237  tempsun = systime(1)          ; For key_performance 
    4338; 
    44   IF NOT keyword_set(cont_color) THEN cont_color = (!d.n_colors-1) <  255     
     39  IF NOT keyword_set(cont_color) THEN cont_color = (!d.n_colors-1) <  255 
    4540;------------------------------------------------------------ 
    4641; definition of coordinates of points numbered 1,2,3,4,5,6 (see figures below) 
     
    5449  y2 = .5*(y1+shift(y1, -1)) 
    5550  nx = n_elements(x1) 
    56   ny = n_elements(y1)  
     51  ny = n_elements(y1) 
    5752; 
    5853; 
     
    6156;      2 land points in diagonal ascending with 2 ocean points on the descendant diagonal. 
    6257; 
    63 ;                     3     
     58;                     3 
    6459;     t(i+nx)=1    u(i+nx)       t(i+nx+1)=0 
    6560;                     |      \ 
     
    9489;                     4 
    9590;     t(i+nx)=1    u(i+nx)       t(i+nx+1)=0 
    96 ;                /    |        
    97 ;             /       |           
     91;                /    | 
     92;             /       | 
    9893;          /        3 |                5 
    9994;       v(i)---------f(i)------------v(i+1) 
     
    120115 
    121116;------------------------------------------------------------ 
    122   IF keyword_set(key_performance) THEN print, 'temps fillcornermask', systime(1)-tempsun  
     117  IF keyword_set(key_performance) THEN print, 'temps fillcornermask', systime(1)-tempsun 
    123118;------------------------------------------------------------ 
    124119  return 
  • trunk/SRC/ToBeReviewed/TRIANGULATION/section.pro

    r186 r231  
    55; @categories 
    66; 
    7 ;  
    87; @param FIELD 
    98; 
    10 ;  
    119; @param RES 
    1210; 
    13 ;  
    1411; @param GLAMAXE 
    1512; 
    16 ;  
    1713; @param GPHIAXE 
    1814; 
    19 ;  
    20 ; @keyword ENDPOINTS  
    21 ;  
    22 ;  
     15; @keyword ENDPOINTS 
     16; 
    2317; @keyword BOXZOOM 
    2418; 
    25 ;  
    26 ; @keyword TYPE  
    27 ; 
     19; @keyword TYPE 
    2820; 
    2921; @keyword WDEPTH 
    3022; 
    31 ; 
    3223; @keyword DIREC 
    3324; 
    34 ; 
    3525; @keyword SHOWBUILD 
    3626; 
    37 ; 
    3827; @keyword ONLYBOX 
    3928; 
    40 ; 
    41 ; @keyword _EXTRA  
    42 ; Used to pass your keywords 
    43 ;  
     29; @keyword _EXTRA 
     30; Used to pass keywords 
     31; 
    4432; @returns 
    45 ;  
    46 ;  
     33; 
    4734; @uses 
    4835; common.pro 
    49 ;  
     36; 
    5037; @restrictions 
    51 ;  
    52 ;  
     38; 
    5339; @examples 
    54 ;  
    55 ;  
     40; 
    5641; @history 
    5742; Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    58 ;  
    59 ; @version  
     43; 
     44; @version 
    6045; $Id$ 
    61 ;  
     46; 
    6247;- 
    63  
     48; 
    6449PRO section, field, res, glamaxe, gphiaxe, ENDPOINTS = endpoints $ 
    6550             , BOXZOOM = boxzoom, TYPE = type, WDEPTH = wdepth $ 
    6651             , DIREC = direc, SHOWBUILD = showbuild, ONLYBOX = onlybox $ 
    6752             , _extra = ex 
    68 ; 
    69 ;--------------------------------------------------------- 
    70 ; include common 
    7153; 
    7254  compile_opt idl2, strictarrsubs 
     
    10890  domdef, localbox, GRIDTYPE = grillechoice, /findalways, _extra = ex 
    10991  grille, -1, -1, -1, -1, nx, ny 
    110 ; if less than 10 points where found, we apply domdef over the whole domain  
     92; if less than 10 points where found, we apply domdef over the whole domain 
    11193; -> problem... why 10 points as a test value??? 
    11294; how can we find a good test value? 
     
    119101  if strpos(type, 'z') NE -1 THEN BEGIN 
    120102; We keep yranges (axis z) before changing the boxzoom. 
    121     !y.range = [localbox[nelbox-1], localbox[nelbox-2]]  
     103    !y.range = [localbox[nelbox-1], localbox[nelbox-2]] 
    122104    if vargrid EQ 'W' OR keyword_set(wdepth) then BEGIN 
    123105      firstzw = 0 > (firstzw-1) 
     
    131113    IF NOT keyword_set(key_forgetold) THEN BEGIN 
    132114     @updateold 
    133    ENDIF  
    134   ENDIF 
    135   !y.range = [localbox[nelbox-1], localbox[nelbox-2]]  
     115   ENDIF 
     116  ENDIF 
     117  !y.range = [localbox[nelbox-1], localbox[nelbox-2]] 
    136118; We recuperate the grid on the boxzoom. 
    137119; 
     
    145127  firsty = 0 > (firsty - 1) 
    146128  lasty = (lasty + 1) < (jpj -1) 
    147    
     129 
    148130  domdef, firstx, lastx, firsty, lasty, firstz, lastz $ 
    149131          , /index, gridtype = vargrid 
     
    155137 
    156138;--------------------- 
    157 ; We define the triangulation which will allows us to determinate the section.  
     139; We define the triangulation which will allows us to determinate the section. 
    158140; We recalculate it because it must be defined on the Earth and on oceans. 
    159 ; Following the direction of the section -rather longitude or rather latitude-  
     141; Following the direction of the section -rather longitude or rather latitude- 
    160142; we define the way to triangulate. 
    161   if strpos(type, 'x') NE -1 then BEGIN  
     143  if strpos(type, 'x') NE -1 then BEGIN 
    162144    downward = (lindgen(nx, ny))[0:nx-2, 0:ny-2] 
    163     tri = definetri(nx, ny, (downward)[*])  
     145    tri = definetri(nx, ny, (downward)[*]) 
    164146  ENDIF ELSE tri = definetri(nx, ny) 
    165147; If we have an irregular grid that is periodic, then it is possible that 
    166148; some of the triangle have a very large size (neighborg points on the 
    167149; sphere but far away when doing the projection) and should not be 
    168 ; taken into account..  
     150; taken into account.. 
    169151  IF keyword_set(key_irregular) AND keyword_set(key_periodic) THEN BEGIN 
    170152    glamtri = glam[tri] 
     
    217199  points1 = tri[point1, index] 
    218200  points2 = tri[point2, temporary(index)] 
    219 ; points : complex containing couples of points in a side and the other  
     201; points : complex containing couples of points in a side and the other 
    220202; side of the line. We have to delete duplicates. 
    221203  points = dcomplex(points1, points2) 
     
    235217  gphiaxe = imaginary(inter) 
    236218; We arrange them in the growing order between boundaries of the section. 
    237   if strpos(type, 'x') NE -1 then BEGIN  
     219  if strpos(type, 'x') NE -1 then BEGIN 
    238220    sort = sort(glamaxe) 
    239221    glamaxe = glamaxe[sort] 
     
    288270;---------------------------------------------------------------------------- 
    289271    taille[0] EQ 3 AND jpt EQ 1:BEGIN 
    290       npoints = n_elements(points)  
     272      npoints = n_elements(points) 
    291273      index = double(points)#replicate(1, nz)+replicate(nx*ny, npoints)#lindgen(nz) 
    292274      value1 = array[index] 
     
    316298;---------------------------------------------------------------------------- 
    317299    taille[0] EQ 3 AND jpt NE 1:BEGIN 
    318       npoints = n_elements(points)  
     300      npoints = n_elements(points) 
    319301      index = double(points)#replicate(1, jpt)+replicate(nx*ny, npoints)#lindgen(jpt) 
    320302      value1 = array[index] 
     
    332314;---------------------------------------------------------------------------- 
    333315    taille[0] EQ 4:BEGIN 
    334       npoints = n_elements(points)  
     316      npoints = n_elements(points) 
    335317      index = double(points)#replicate(1, nz*jpt)+replicate(nx*ny, npoints)#lindgen(nz*jpt) 
    336318      index = reform(index, npoints, nz, jpt, /over) 
     
    367349  if terre[0] NE -1 then res[terre] = valmask 
    368350 
    369   if n_elements(showbuild) then BEGIN  
     351  if n_elements(showbuild) then BEGIN 
    370352    winsave = !window 
    371353    psave = !p 
     
    389371 
    390372;  ?? bug ??    IF terre[0] NE -1 THEN plots, float(terre[inter]), imaginary(terre[inter]), color = 0, psym = 1 
    391       
     373 
    392374;      dummy = '' 
    393375;      read, dummy,  prompt = 'press return to continue' 
     
    396378    !x = xsave 
    397379    !y = ysave 
    398   ENDIF  
     380  ENDIF 
    399381 
    400382  restoreboxparam, 'boxparam4section.dat' 
  • trunk/SRC/ToBeReviewed/TRIANGULATION/tracecote.pro

    r209 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    1613; 
    1714; @keyword _EXTRA 
    18 ; used to pass your keywords 
     15; Used to pass keywords 
    1916; 
    2017; @uses 
     
    2926; 
    3027;- 
    31 ;------------------------------------------------------------ 
    32 ;------------------------------------------------------------ 
    33 ;------------------------------------------------------------ 
     28; 
    3429PRO tracecote, SURFACE_COASTLINE = surface_coastline, _EXTRA = ex 
    35 ;-------------------------------------------------------------- 
    36 ; include commons 
    3730; 
    3831  compile_opt idl2, strictarrsubs 
     
    4740   if n_elements(key_gridtype) EQ 0 then key_gridtype = 'c' 
    4841; 
    49 ; We enlarge a bit the frame defined by firsts..., lasts... in order to  
     42; We enlarge a bit the frame defined by firsts..., lasts... in order to 
    5043; recuperate edges of the coast which are in the edging of the domain. 
    51 ;    
     44; 
    5245   tempdeux = systime(1)        ; For key_performance =2 
    5346   firstx = 0 > (min([firstxt, firstxf])-1) 
     
    6861; 
    6962   if key_gridtype EQ 'e' then onemore = xf[0, 0] gT xf[0, 1] 
    70 ; We pass in normalized coordinates to be able to become independant from the projection's  
     63; We pass in normalized coordinates to be able to become independant from the projection's 
    7164; type choosen and from the support on which we do the drawing (screen or postscript) 
    72    z = convert_coord(xf[*],yf[*],/data,/to_normal)  
     65   z = convert_coord(xf[*],yf[*],/data,/to_normal) 
    7366   xf = reform(z[0, *], nx, ny) 
    7467   yf = reform(z[1, *], nx, ny) 
    7568   tempvar = SIZE(TEMPORARY(z)) 
    7669; 
    77 ; Beware, following the projection, some points x or y can become NaN (see point  
     70; Beware, following the projection, some points x or y can become NaN (see point 
    7871; behind the earth in an orthographic projection). 
    7972; 
    80 ; We put points to be eliminated at a very big value so that they will not pass the  
     73; We put points to be eliminated at a very big value so that they will not pass the 
    8174; test with distanceseuil (see further). 
    8275; 
     
    8477    OR !map.projection EQ 14 OR !map.projection EQ 15 OR !map.projection EQ 18 then begin 
    8578      ind = where(finite(xf*yf) EQ 0) 
    86       IF ind[0] NE -1 THEN BEGIN  
     79      IF ind[0] NE -1 THEN BEGIN 
    8780         xf[ind] = 1e5 
    8881         yf[ind] = 1e5 
  • trunk/SRC/ToBeReviewed/TRIANGULATION/tracemask.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    3027; 
    3128; @keyword _EXTRA 
    32 ; used to pass your keywords 
     29; Used to pass keywords 
    3330; 
    3431; @uses 
     
    4239; 
    4340;- 
    44 ;------------------------------------------------------------ 
    45 ;------------------------------------------------------------ 
    46 ;------------------------------------------------------------ 
     41; 
    4742PRO tracemask, maskentree, xin, yin, COAST_COLOR = coast_color, COAST_THICK = coast_thick, OVERPLOT = overplot, _extra = ex 
    48 ; 
    4943; 
    5044  compile_opt idl2, strictarrsubs 
  • trunk/SRC/ToBeReviewed/TRIANGULATION/triangule.pro

    r209 r231  
    77; 
    88; @param MASKENTREE {in}{optional}{type=2d array} 
    9 ; It is a 2d array which will serve to mask the field we will trace after with CONTOUR,  
     9; It is a 2d array which will serve to mask the field we will trace after with CONTOUR, 
    1010; ...TRIANGULATION=triangule(mask) 
    1111; If this argument is not specified, the function use tmask 
     
    1515; 
    1616; @keyword COINMONTE {type=array} 
    17 ; To obtain the array of "ascending land corner" to be treated with  
    18 ; completecointerre.pro in the variable array instead of make it pass by the global  
     17; To obtain the array of "ascending land corner" to be treated with 
     18; completecointerre.pro in the variable array instead of make it pass by the global 
    1919; variable twin_corners_up. 
    2020; 
     
    2323; 
    2424; @keyword _EXTRA 
    25 ; Used to pass your keywords 
     25; Used to pass keywords 
    2626; 
    2727; @returns 
    2828; 
    29 ; 
    3029; @uses 
    31 ; 
    3230; 
    3331; @restrictions 
    3432; 
    35 ; 
    3633; @examples 
    3734; 
    38 ; 
    3935; @history 
    40 ; 
    4136; 
    4237; @version 
     
    4742; 
    4843;- 
    49 ;------------------------------------ 
     44; 
    5045FUNCTION triangule, maskentree, BASIC = basic, COINMONTE = coinmonte, COINDESCEND = coindescend, _extra = ex 
    5146; 
     
    5853    nx = jpi 
    5954    ny = jpj 
    60   ENDIF ELSE BEGIN  
     55  ENDIF ELSE BEGIN 
    6156    nx = szmsk[1] 
    6257    ny = szmsk[2] 
  • trunk/SRC/ToBeReviewed/TRIANGULATION/triangule_c.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    7673; c'est la traduction de ce qu'il y avait écrit. Correction si besoin. 
    7774;- 
    78 ;------------------------------------------------------------ 
    79 ;------------------------------------------------------------ 
    80 ;------------------------------------------------------------ 
     75; 
    8176FUNCTION triangule_c, maskentree, COINMONTE = coinmonte, COINDESCEND = coindescend, BASIC = basic, KEEP_CONT = keep_cont 
    8277; 
  • trunk/SRC/ToBeReviewed/TRIANGULATION/triangule_e.pro

    r163 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
     2; 
    53; @file_comments 
    64; Build the triangulation for a E-grid type 
     
    86; @categories 
    97; Graphics 
    10 ;  
     8; 
    119; @param MASKENTREE {in}{optional}{type=2d array} 
    12 ; It is a 2d array which will serve to mask the field we will trace after with CONTOUR,  
     10; It is a 2d array which will serve to mask the field we will trace after with CONTOUR, 
    1311; ...TRIANGULATION=triangule(mask) 
    1412; If this argument is not specified, the function use tmask 
    15 ;  
     13; 
    1614; @keyword BASIC 
    1715; Specify that the mask is on a basic grid (use the triangulation for vertical cuts and hovmoellers) 
    18 ;  
    19 ; @keyword COINMONTE {type=array}  
    20 ; To obtain the array of "ascending land corner" to be treated with  
    21 ; completecointerre.pro in the variable array instead of make it pass by the global  
    22 ; variable twin_corners_up. 
     16; 
     17; @keyword COINMONTE {type=array} 
     18; To obtain the array of "ascending land corner" to be treated with 
     19; <pro>completecointerre</pro> in the variable array instead of make it pass  
     20; by the global variable twin_corners_up. 
    2321; 
    2422; @keyword COINDESCEND {type=array} 
     
    2624; 
    2725; @keyword SHIFTED 
    28 ;  
     26; 
    2927; @uses 
    3028; common.pro 
    31 ;  
     29; 
    3230; @history 
    3331; Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    3432;                      june 2001 
    35 ;  
    36 ; @version  
     33; 
     34; @version 
    3735; $Id$ 
    38 ;  
     36; 
    3937; @todo 
    40 ; seb L.152->153 je ne pense pas que ce soit ce que tu voulais dire mais  
     38; seb L.152->153 je ne pense pas que ce soit ce que tu voulais dire mais 
    4139; c'est la traduction de ce qu'il y avait écrit. Correction si besoin. 
    4240;- 
    43 ;------------------------------------------------------------ 
    44 ;------------------------------------------------------------ 
    45 ;------------------------------------------------------------ 
     41; 
    4642FUNCTION triangule_e, maskentree, COINMONTE = coinmonte, COINDESCEND = coindescend $ 
    4743                  , SHIFTED = shifted, BASIC = basic 
    48 ;--------------------------------------------------------- 
    4944; 
    5045  compile_opt idl2, strictarrsubs 
     
    6661;------------------------------------------------------------ 
    6762   if keyword_set(key_periodic)*(nx EQ jpi) $ 
    68     AND NOT keyword_set(basic) then BEGIN  
     63    AND NOT keyword_set(basic) then BEGIN 
    6964      msk = [msk, msk[0, *]] 
    7065      nx = nx+1 
     
    151146; ; 
    152147;------------------------------------------------------------ 
    153 ; When key_periodic equal 1, triang is a list of indexes's array which  
     148; When key_periodic equal 1, triang is a list of indexes's array which 
    154149; have a surplus column. 
    155 ; We have to put it back to the initial matrix by putting indexes of  
     150; We have to put it back to the initial matrix by putting indexes of 
    156151; the last column equal to these of the last column... 
    157152;------------------------------------------------------------ 
    158153   tempdeux = systime(1)        ; For key_performance =2 
    159154   if keyword_set(key_periodic)*(nx-1 EQ jpi) $ 
    160     AND NOT keyword_set(basic) then BEGIN  
     155    AND NOT keyword_set(basic) then BEGIN 
    161156      indicey = triang/nx 
    162157      indicex = triang-indicey*nx 
     
    198193 
    199194 
    200    IF keyword_set(key_performance) THEN print, 'temps triangule', systime(1)-tempsun  
     195   IF keyword_set(key_performance) THEN print, 'temps triangule', systime(1)-tempsun 
    201196 
    202197   return, triang 
    203198 
    204 END  
     199END 
  • trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/buildcmd.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
  • trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/buildreadcmd.pro

    r172 r231  
    11;+ 
    2 ;  
    3 ; @param BASE {in}{required}  
     2; 
     3; @param BASE {in}{required} 
    44; The id of the widget where apply the drawing. 
    55; 
    66; @param SNAMEEXP {in}{required} 
    77; 
    8 ; 
    98; @param PROCEDURE {in}{required} 
    10 ; 
    119; 
    1210; @param TYPE {in}{required} 
    1311; 
    14 ;  
    1512; @keyword BOXZOOM 
    16 ; Vector indicating the geographic zone on which we want to cut the map.  
    17 ; If BOXZOOM has :  
     13; Vector indicating the geographic zone on which we want to cut the map. 
     14; If BOXZOOM has : 
    1815;   1 element : The extraction is made on [lon1, lon2, lat1, lat2, 0.,boxzoom[0]] 
    1916;   2 elements: The extraction is made on [lon1, lon2, lat1, lat2, boxzoom[0],boxzoom[1]] 
    2017;   4 elements: The extraction is made on [Boxzoom, 0, max([gdept, gdepw])] 
    2118;   5 elements: The extraction is made on [Boxzoom[0:3], 0, Boxzoom[4]] 
    22 ;   6 elements: The extraction is made on Boxzoom  
     19;   6 elements: The extraction is made on Boxzoom 
    2320; Where lon1, lon2,lat1,lat2 are global variables defined at the last domdef! 
    2421; 
    2522; @keyword COMPLETE 
    2623; 
    27  
    2824; @keyword NAMEFIELD 
    29 ; 
    3025; 
    3126; @uses 
    3227; common.pro 
    33 ;  
     28; 
    3429; @history 
    3530; Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    36 ;  
    37 ; @version  
     31; 
     32; @version 
    3833; $Id$ 
    3934; 
     
    7772; get the options 
    7873; 
    79   options = extractatt(top_uvalue, 'options')    
     74  options = extractatt(top_uvalue, 'options') 
    8075  flags = extractatt(top_uvalue, 'optionsflag') 
    8176  flags = flags[*, numdessinin] 
  • trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/changefield.pro

    r150 r231  
    11;+ 
     2; 
    23; @file_comments 
    3 ; 
    44; 
    55; @categories 
    66; 
    7 ;  
    87; @param BASE {in}{required} 
    98; The id of the widget where apply the drawing. 
     
    1110; @param NEWFIELDNAME 
    1211; 
    13 ;  
    1412; @keyword BOXZOOM 
    15 ; Vector indicating the geographic zone on which we want to cut the map.  
    16 ; If BOXZOOM has :  
     13; Vector indicating the geographic zone on which we want to cut the map. 
     14; If BOXZOOM has : 
    1715;   1 element : The extraction is made on [lon1, lon2, lat1, lat2, 0.,boxzoom[0]] 
    1816;   2 elements: The extraction is made on [lon1, lon2, lat1, lat2, boxzoom[0],boxzoom[1]] 
    1917;   4 elements: The extraction is made on [Boxzoom, 0, max([gdept, gdepw])] 
    2018;   5 elements: The extraction is made on [Boxzoom[0:3], 0, Boxzoom[4]] 
    21 ;   6 elements: The extraction is made on Boxzoom  
     19;   6 elements: The extraction is made on Boxzoom 
    2220; Where lon1, lon2,lat1,lat2 are global variables defined at the last domdef! 
    23 ;  
     21; 
    2422; @returns 
    25 ;  
    26 ;  
     23; 
    2724; @uses 
    28 ;  
    29 ;  
     25; 
    3026; @restrictions 
    31 ;  
    32 ;  
     27; 
    3328; @examples 
    34 ;  
    35 ;  
     29; 
    3630; @history 
    37 ;  
    38 ;  
    39 ; @version  
     31; 
     32; @version 
    4033; $Id$ 
    4134; 
  • trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/changefile.pro

    r150 r231  
    11;+ 
     2; 
    23; @file_comments 
    3 ; 
    44; 
    55; @categories 
    66; 
    7 ;  
    87; @param BASE {in}{required} 
    98; The id of the widget where apply the drawing. 
     
    1110; @param NEWFILENAME 
    1211; 
    13 ;  
    1412; @keyword BOXZOOM 
    15 ; Vector indicating the geographic zone on which we want to cut the map.  
    16 ; If BOXZOOM has :  
     13; Vector indicating the geographic zone on which we want to cut the map. 
     14; If BOXZOOM has : 
    1715;   1 element : The extraction is made on [lon1, lon2, lat1, lat2, 0.,boxzoom[0]] 
    1816;   2 elements: The extraction is made on [lon1, lon2, lat1, lat2, boxzoom[0],boxzoom[1]] 
    1917;   4 elements: The extraction is made on [Boxzoom, 0, max([gdept, gdepw])] 
    2018;   5 elements: The extraction is made on [Boxzoom[0:3], 0, Boxzoom[4]] 
    21 ;   6 elements: The extraction is made on Boxzoom  
     19;   6 elements: The extraction is made on Boxzoom 
    2220; Where lon1, lon2,lat1,lat2 are global variables defined at the last domdef! 
    23 ;  
     21; 
    2422; @keyword DATE1 
    25 ;  
     23; 
    2624; @keyword DATE2 
    2725; 
    2826; @keyword FIELDNAME 
    29 ;  
    30 ;  
     27; 
    3128; @returns 
    32 ;  
    33 ;  
     29; 
    3430; @uses 
    35 ;  
    36 ;  
     31; 
    3732; @restrictions 
    38 ;  
    39 ;  
     33; 
    4034; @examples 
    41 ;  
    42 ;  
     35; 
    4336; @history 
    44 ;  
    45 ;  
    46 ; @version  
     37; 
     38; @version 
    4739; $Id$ 
    4840; 
     
    8577; Did we change the calendar? 
    8678  if array_equal(oldcalendar, newcalendar) NE 1 then begin 
    87 @cm_4cal  
     79@cm_4cal 
    8880; for key_caltype 
    8981    key_caltype = (*(extractatt(top_uvalue, 'fileparameters'))[newfile]).caltype 
    9082; fake or real calendar??? 
    9183    fakecal = (*(extractatt(top_uvalue, 'fileparameters'))[newfile]).fakecal 
    92 ; Which dates were selected?     
     84; Which dates were selected? 
    9385    date1id = widget_info(base, find_by_uname = 'calendar1') 
    9486    if NOT keyword_set(date1) then widget_control, date1id, get_value = date1 
     
    10799    rien = cw_calendar(basecal, newcalendar, jdate2, uname = 'calendar2' $ 
    108100                       , FAKECAL = fakecal, uvalue = {name:'calendar2'}, /frame) 
    109   ENDIF ELSE BEGIN  
     101  ENDIF ELSE BEGIN 
    110102    if keyword_set(date1) then begin 
    111103      date1id = widget_info(base, find_by_uname = 'calendar1') 
     
    130122; file name 
    131123; 
    132   IF oldfile NE newfile THEN BEGIN  
     124  IF oldfile NE newfile THEN BEGIN 
    133125    flstid = widget_info(base, find_by_uname = 'filelist') 
    134126    widget_control, flstid, set_combobox_select =  newfile 
    135   ENDIF  
     127  ENDIF 
    136128; 
    137129; Variables name 
  • trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/createhistory.pro

    r163 r231  
    11;+ 
     2; 
    23; @file_comments 
    3 ; 
    44; 
    55; @categories 
    66; 
    7 ;  
    87; @param BASE {in}{required} 
    98; The id of the widget where apply the drawing. 
    109; 
    1110; @param SMALL 
    12 ; Vector composed of 3 or 4 elements, applied to make a drawing on a small  
    13 ; portion of a page or screen. It delimit the zone where the drawing will  
    14 ; be done. If there is 4 elements: then is constituted of coordinates (expressed  
    15 ; in cm located from the up and left corner of the page or the window (in portrait  
    16 ; like in landscape)) of the bottom and left corner and of the up and right corner  
    17 ; of the drawing zone. If there is 3 elements: in this case, we divide the page or  
    18 ; the screen in small[0] columns and in small[1] lines the drawing made in the box  
    19 ; numbered small[2]. The numerotation starting up and left by the number 1 and then,  
    20 ; following the writing direction. By default, we make the largest drawing we can do,  
     11; Vector composed of 3 or 4 elements, applied to make a drawing on a small 
     12; portion of a page or screen. It delimit the zone where the drawing will 
     13; be done. If there is 4 elements: then is constituted of coordinates (expressed 
     14; in cm located from the up and left corner of the page or the window (in portrait 
     15; like in landscape)) of the bottom and left corner and of the up and right corner 
     16; of the drawing zone. If there is 3 elements: in this case, we divide the page or 
     17; the screen in small[0] columns and in small[1] lines the drawing made in the box 
     18; numbered small[2]. The numerotation starting up and left by the number 1 and then, 
     19; following the writing direction. By default, we make the largest drawing we can do, 
    2120; conserving the aspect rapport (except when REMPLI is activated). 
    22 ;  
     21; 
    2322; @returns 
    24 ;  
    25 ;  
     23; 
    2624; @uses 
    27 ;  
    28 ;  
     25; 
    2926; @restrictions 
    30 ;  
    31 ;  
     27; 
    3228; @examples 
    33 ;  
    34 ;  
     29; 
    3530; @history 
    36 ;  
    37 ;  
    38 ; @version  
     31; 
     32; @version 
    3933; $Id$ 
    4034; 
     
    5549   *top_uvalue[1, findline(top_uvalue, 'globaloldcommand')] = globalcommand 
    5650; portrait or landscape ??? 
    57    options = extractatt(top_uvalue, 'options')    
     51   options = extractatt(top_uvalue, 'options') 
    5852   optionsflag = extractatt(top_uvalue, 'optionsflag') 
    5953   portrait = (optionsflag[where(options EQ 'Portrait/Landscape'), 0])[0] 
  • trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/cutcmd.pro

    r192 r231  
    11;+ 
     2; 
    23; @file_comments 
    3 ; 
    44; 
    55; @categories 
    66; 
    7 ;  
    87; @param WIDCMD 
    9 ; 
    108; 
    119; @param TOREAD 
    1210; 
    13 ; 
    1411; @param NUMBEROFREAD 
    15 ; 
    1612; 
    1713; @param PREFIX 
    1814; 
    19 ; 
    2015; @param NAMEEXP 
    21 ; 
    2216; 
    2317; @param ENDING 
    2418; 
    25 ;  
    2619; @returns 
    27 ;  
    28 ;  
     20; 
    2921; @uses 
    30 ;  
    31 ;  
     22; 
    3223; @restrictions 
    33 ;  
    34 ;  
     24; 
    3525; @examples 
    36 ;  
    37 ;  
     26; 
    3827; @history 
    39 ;  
    40 ;  
    41 ; @version  
     28; 
     29; @version 
    4230; $Id$ 
    43 ;  
     31; 
    4432; @todo 
    4533; seb 
    4634; 
    4735;- 
     36; 
    4837PRO cutcmd, widcmd, toread, numberofread, prefix, nameexp, ending 
    49 ; 
    5038; 
    5139  compile_opt idl2, strictarrsubs 
    5240; 
    53   dummy = where(byte(widcmd) EQ (byte('"'))[0], nbdblquote)  
     41  dummy = where(byte(widcmd) EQ (byte('"'))[0], nbdblquote) 
    5442  CASE 1 OF 
    5543    nbdblquote MOD 2: stop ; odd numbers are impossibles... 
     
    7260      IF n_elements(separator) NE n_elements(other) THEN stop 
    7361      widcmd = '' 
    74       FOR i = 0, n_elements(other)-1 DO BEGIN  
     62      FOR i = 0, n_elements(other)-1 DO BEGIN 
    7563        IF isnumber(other[i]) LT 1 THEN other[i] = '"' + other[i] + '"' 
    7664        widcmd = widcmd + separator[i] + other[i] 
    7765      ENDFOR 
    7866;      print, widcmd 
    79     END  
     67    END 
    8068  ENDCASE 
    8169 
     
    8371  IF strpos(widcmd, '"') EQ 0 THEN start = 0 ELSE start = 1 
    8472  nameexp = cutted[start:*:2] 
    85   numberofread = n_elements(nameexp)  
     73  numberofread = n_elements(nameexp) 
    8674  IF toread GE numberofread then begin 
    8775    dummy = report('toread cannot be larger than numberofread') 
  • trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/definedefaultextra.pro

    r150 r231  
    11;+ 
     2; 
    23; @file_comments 
    3 ; 
    44; 
    55; @categories 
    66; 
    7 ;  
    87; @param NOMVARIABLE 
    98; 
    10 ;  
    119; @returns 
    12 ;  
    13 ;  
     10; 
    1411; @uses 
    15 ;  
    16 ;  
     12; 
    1713; @restrictions 
    18 ;  
    19 ;  
     14; 
    2015; @examples 
    21 ;  
    22 ;  
     16; 
    2317; @history 
    24 ;  
    25 ;  
     18; 
    2619; @version 
    27 ; $Id$  
    28 ;  
     20; $Id$ 
     21; 
    2922; @todo 
    3023; seb 
    3124; 
    3225;- 
     26; 
    3327FUNCTION definedefaultextra, nomvariable 
    3428; 
  • trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/doubleclickaction.pro

    r150 r231  
    11;+ 
     2; 
    23; @file_comments 
    3 ; 
    44; 
    55; @categories 
    66; 
    7 ;  
    87; @param EVENT 
    98; 
    10 ;  
    119; @returns 
    12 ;  
    13 ;  
     10; 
    1411; @uses 
    15 ;  
    16 ;  
     12; 
    1713; @restrictions 
    18 ;  
    19 ;  
     14; 
    2015; @examples 
    21 ;  
    22 ;  
     16; 
    2317; @history 
    24 ;  
    25 ;  
     18; 
    2619; @version 
    27 ; $Id$  
    28 ;  
     20; $Id$ 
     21; 
    2922; @todo 
    3023; seb 
    3124; 
    3225;- 
     26; 
    3327PRO doubleclickaction, event 
    3428;------------------------------------------------------------ 
     
    6458; 
    6559      END 
    66       2:BEGIN  
     60      2:BEGIN 
    6761;         if top_uvalue.smallout[2] NE numdessin then begin 
    6862         tracecadre, smallout, /erase 
     
    7872         inserthistory, event.top, ';', '; beginning of '+strtrim(numdessin, 2) $ 
    7973          , '; end of '+strtrim(numdessin, 2) 
    80 ; Putting at 0 of attributes of the value concerning the drawing:  
     74; Putting at 0 of attributes of the value concerning the drawing 
    8175 
    8276         numdessin = numdessin-1 
  • trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/extractatt.pro

    r150 r231  
    11;+ 
     2; 
    23; @file_comments 
    3 ; 
    44; 
    55; @categories 
    66; 
    7 ;  
    87; @param TOP_UVALUE 
    9 ; 
    108; 
    119; @param NAME 
    1210; 
    13 ;  
    1411; @returns 
    15 ;  
    16 ;  
     12; 
    1713; @uses 
    18 ;  
    19 ;  
     14; 
    2015; @restrictions 
    21 ;  
    22 ;  
     16; 
    2317; @examples 
    24 ;  
    25 ;  
     18; 
    2619; @history 
    27 ;  
    28 ;  
    29 ; @version  
     20; 
     21; @version 
    3022; $Id$ 
    31 ;  
     23; 
    3224; @todo 
    3325; seb 
    3426; 
    3527;- 
     28; 
    3629FUNCTION extractatt, top_uvalue, name 
    3730; 
  • trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/findline.pro

    r150 r231  
    11;+ 
     2; 
    23; @file_comments 
    3 ; 
    44; 
    55; @categories 
    66; 
    7 ;  
    87; @param TOP_UVALUE 
    9 ; 
    108; 
    119; @param NAME 
    1210; 
    13 ;  
    1411; @returns 
    15 ;  
    16 ;  
     12; 
    1713; @uses 
    18 ;  
    19 ;  
     14; 
    2015; @restrictions 
    21 ;  
    22 ;  
     16; 
    2317; @examples 
    24 ;  
    25 ;  
     18; 
    2619; @history 
    27 ;  
    28 ;  
    29 ; @version  
     20; 
     21; @version 
    3022; $Id$ 
    31 ;  
     23; 
    3224; @todo 
    3325; seb 
    3426; 
    3527;- 
     28; 
    3629FUNCTION findline, top_uvalue, name 
    3730; 
  • trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/identifyclick.pro

    r226 r231  
    11;+ 
     2; 
    23; @file_comments 
    3 ; 
    44; 
    55; @categories 
    66; 
    7 ;  
    87; @param EVENT 
    98; 
    10 ;  
    119; @returns 
    12 ;  
    13 ;  
     10; 
    1411; @uses 
    15 ;  
    16 ;  
     12; 
    1713; @restrictions 
    18 ;  
    19 ;  
     14; 
    2015; @examples 
    21 ;  
    22 ;  
     16; 
    2317; @history 
    24 ;  
    25 ;  
     18; 
    2619; @version 
    27 ; $Id$  
    28 ;  
     20; $Id$ 
     21; 
    2922; @todo 
    3023; seb 
    3124; 
    3225;- 
     26; 
    3327FUNCTION identifyclick, event 
    3428; 
     
    7872      thisEvent EQ 'WIDGET_TIMER' AND uval.click EQ 1 AND press EQ 0:uval.click = 2 
    7973; t/2/0 normal click 
    80       thisEvent EQ 'WIDGET_TIMER' AND uval.click EQ 2 AND press EQ 0:BEGIN  
     74      thisEvent EQ 'WIDGET_TIMER' AND uval.click EQ 2 AND press EQ 0:BEGIN 
    8175         type = 'single' 
    8276         press = uval.press 
  • trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/inserthistory.pro

    r150 r231  
    11;+ 
     2; 
    23; @file_comments 
    3 ; 
    44; 
    55; @categories 
    66; 
    7 ;  
    87; @param BASE 
    9 ; 
    108; 
    119; @param TEXT 
    1210; 
    13 ; 
    1411; @param LINE1 
    15 ; 
    1612; 
    1713; @param LINE2 
    1814; 
    19 ;  
    2015; @returns 
    21 ;  
    22 ;  
     16; 
    2317; @uses 
    24 ;  
    25 ;  
     18; 
    2619; @restrictions 
    27 ;  
    28 ;  
     20; 
    2921; @examples 
    30 ;  
    31 ;  
     22; 
    3223; @history 
    33 ;  
    34 ;  
     24; 
    3525; @version 
    36 ; $Id$  
    37 ;  
     26; $Id$ 
     27; 
    3828; @todo 
    3929; seb 
    4030; 
    4131;- 
    42 ;------------------------------------------------------------- 
     32; 
    4333PRO inserthistory,  base, text, line1, line2 
    4434; 
  • trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/letsdraw.pro

    r163 r231  
    11;+ 
    2 ; @file_comments  
    3 ; It is the procedure launching the drawing.  
    4 ; If we do not give the command to it, it call  
     2; 
     3; @file_comments 
     4; It is the procedure launching the drawing. 
     5; If we do not give the command to it, it call 
    56; construitcommande to know what to trace. 
    67; 
    78; @categories 
    89; 
    9 ;  
    1010; @param BASE {in}{required} 
    1111; The id of the widget where apply the drawing. 
    12 ;  
     12; 
    1313; @keyword COMMANDE {type=string} 
    1414; A string of the style: read_data('sst'...),... 
    1515; 
    1616; @keyword _EXTRA 
    17 ; Used to pass your keywords  
    18 ;  
     17; Used to pass keywords 
     18; 
    1919; @uses 
    20 ; common.pro  
    21 ;  
     20; common.pro 
     21; 
    2222; @history 
    2323; Sebastien Masson (smasson\@lodyc.jussieu.fr) 
    24 ;  
    25 ; @version  
     24; 
     25; @version 
    2626; $Id$ 
    27 ;  
     27; 
    2828;- 
     29; 
    2930PRO letsdraw, base, COMMANDE = commande, _extra = ex 
    3031; 
     
    7374; 
    7475; 
    75    options = extractatt(top_uvalue, 'options')    
     76   options = extractatt(top_uvalue, 'options') 
    7677   optionsflag = extractatt(top_uvalue, 'optionsflag') 
    7778   portrait = (strtrim(optionsflag[where(options EQ 'Portrait/Landscape'), 0], 1))[0] 
    78     
     79 
    7980; 
    8081   createpro, ['@common' $ 
  • trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/loadgrid.pro

    r213 r231  
    11;+ 
     2; 
    23; @file_comments 
    3 ; 
    44; 
    55; @categories 
    66; 
    7 ;  
    87; @param MESHFILEIN 
    98; 
    10 ;  
    119; @keyword _EXTRA 
    12 ; Used to pass your keywords 
    13 ;  
     10; Used to pass keywords 
     11; 
    1412; @returns 
    15 ;  
    16 ;  
     13; 
    1714; @uses 
    18 ;  
    19 ;  
     15; 
    2016; @restrictions 
    21 ;  
    22 ;  
     17; 
    2318; @examples 
    24 ;  
    25 ;  
     19; 
    2620; @history 
    27 ;  
    28 ;  
    29 ; @version  
     21; 
     22; @version 
    3023; $Id$ 
    3124; 
     
    3427; 
    3528;- 
     29; 
    3630PRO loadgrid, meshfiletxtin, _extra = ex 
    37 ;  
     31; 
    3832  meshfilein = strsed(meshfiletxtin,'@@@', '''') 
    3933; 
     
    4741; try to find a .pro file with this name... 
    4842  filepro = (find(meshfile[0], /firstfound, /onlypro))[0] 
    49 ; if this is an idl batch file or a procedure   
     43; if this is an idl batch file or a procedure 
    5044  if filepro NE 'NOT FOUND' THEN BEGIN 
    5145    CASE protype(filepro) OF 
     
    6357  ENDELSE 
    6458; add the arguments and keywords if necessary 
    65   IF n_elements(meshfile) GT 1 AND strmid(listing, 0, 1) NE '@' THEN $  
     59  IF n_elements(meshfile) GT 1 AND strmid(listing, 0, 1) NE '@' THEN $ 
    6660    listing = listing + strmid(meshfilein, strpos(meshfilein, ',')) 
    6761 
     
    7266 
    7367return 
    74 END  
     68END 
  • trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/longclickaction.pro

    r154 r231  
    11;+ 
     2; 
    23; @file_comments 
    3 ; 
    44; 
    55; @categories 
    66; 
    7 ;  
    87; @param EVENT 
    98; 
    10 ;  
    119; @returns 
    12 ;  
    13 ;  
     10; 
    1411; @uses 
    15 ;  
    16 ;  
     12; 
    1713; @restrictions 
    18 ;  
    19 ;  
     14; 
    2015; @examples 
    21 ;  
    22 ;  
     16; 
    2317; @history 
    24 ;  
    25 ;  
     18; 
    2619; @version 
    27 ; $Id$  
    28 ;  
     20; $Id$ 
     21; 
    2922; @todo 
    3023; seb 
    3124; 
    3225;- 
     26; 
    3327PRO longclickaction, event 
    3428; 
     
    6660  y = [coor[1, 0], coor[1, 1]] 
    6761  domainid = widget_info(event.top, find_by_uname = 'domain') 
    68   IF type EQ 'pltv' THEN BEGIN  
     62  IF type EQ 'pltv' THEN BEGIN 
    6963    currentfile = extractatt(top_uvalue, 'currentfile') 
    7064    listgrid = (*(extractatt(top_uvalue, 'fileparameters'))[currentfile]).listgrid 
     
    7973; Do we have to pass the boxzoom in indexes ??? 
    8074  currentplot = (extractatt(top_uvalue, 'smallin'))[2]-1 
    81   options = extractatt(top_uvalue, 'options')    
     75  options = extractatt(top_uvalue, 'options') 
    8276  flags = extractatt(top_uvalue, 'optionsflag') 
    8377  flags = flags[*, currentplot] 
     
    107101      letsdraw, event.top 
    108102    END 
    109     2:BEGIN  
    110       IF type EQ 'plt' THEN BEGIN  
     103    2:BEGIN 
     104      IF type EQ 'plt' THEN BEGIN 
    111105        (*top_uvalue[1, findline(top_uvalue, 'types')])[smallout[2]-1] = 'pltz' 
    112106        forcetype = 'pltz' 
    113       ENDIF  
     107      ENDIF 
    114108      updatewidget, event.top, /noboxzoom 
    115109      letsdraw, event.top, forcetype = forcetype 
    116110    END 
    117111    4:BEGIN 
    118       IF type EQ 'plt' THEN BEGIN  
     112      IF type EQ 'plt' THEN BEGIN 
    119113        (*top_uvalue[1, findline(top_uvalue, 'types')])[smallout[2]-1] = 'pltt' 
    120114        forcetype = 'pltt' 
    121       ENDIF  
     115      ENDIF 
    122116      updatewidget, event.top, /noboxzoom, /nodates 
    123117      letsdraw, event.top, forcetype = forcetype 
  • trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/read_vermair.pro

    r150 r231  
    11;+ 
     2; 
    23; @file_comments 
    3 ; 
    44; 
    55; @categories 
    66; 
    7 ;  
    87; @param NAME 
    9 ; 
    108; 
    119; @param DEBUT 
    1210; 
    13 ; 
    1411; @param FIN 
    1512; 
    16 ; 
    1713; @param NOMEXP 
    18 ; 
    1914; 
    2015; @keyword PARENT 
     
    2217; 
    2318; @keyword BOXZOOM 
    24 ; Vector indicating the geographic zone on which we want to cut the map.  
    25 ; If BOXZOOM has :  
     19; Vector indicating the geographic zone on which we want to cut the map. 
     20; If BOXZOOM has : 
    2621;   1 element : The extraction is made on [lon1, lon2, lat1, lat2, 0.,boxzoom[0]] 
    2722;   2 elements: The extraction is made on [lon1, lon2, lat1, lat2, boxzoom[0],boxzoom[1]] 
    2823;   4 elements: The extraction is made on [Boxzoom, 0, max([gdept, gdepw])] 
    2924;   5 elements: The extraction is made on [Boxzoom[0:3], 0, Boxzoom[4]] 
    30 ;   6 elements: The extraction is made on Boxzoom  
     25;   6 elements: The extraction is made on Boxzoom 
    3126; Where lon1, lon2,lat1,lat2 are global variables defined at the last domdef! 
    3227; 
    3328; @keyword _EXTRA 
    34 ; Used to pass your keywords  
    35 ;  
     29; Used to pass keywords 
     30; 
    3631; @returns 
    37 ;  
    38 ;  
     32; 
    3933; @uses 
    40 ;  
    41 ;  
     34; 
    4235; @restrictions 
    43 ;  
    44 ;  
     36; 
    4537; @examples 
    46 ;  
    47 ;  
     38; 
    4839; @history 
    49 ;  
    50 ;  
    51 ; @version  
     40; 
     41; @version 
    5242; $Id$ 
    5343; 
    5444; @todo 
    5545; seb 
    56 ;  
     46; 
    5747;- 
     48; 
    5849FUNCTION read_vermair, name, debut, fin, nomexp, PARENT = parent, BOXZOOM=boxzoom, _EXTRA = ex 
    5950; 
     
    6152; 
    6253@common 
    63 ;------------------------------------------------------------  
    6454   if name EQ 'un' then name = 'vozocrtx' 
    6555   if name EQ 'vn' then name = 'vomecrty' 
  • trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/scanfile.pro

    r226 r231  
    11;+ 
     2; 
    23; @file_comments 
    34; 
    4 ; 
    55; @categories 
    6 ; 
    76; 
    87; @param NAMEFILE 
     
    1211; 
    1312; @keyword _EXTRA 
    14 ; Used to pass your keywords to isafile and ncdf_getaxis 
     13; Used to pass keywords to <pro>isafile</pro> and <pro>ncdf_getaxis</pro> 
    1514; 
    1615; @returns 
     
    6362;        is not found. 
    6463; 
    65 ;------------------------------------------------------------ 
     64; 
    6665FUNCTION scanfile, namefile, GRID = GRID, _extra = ex 
    6766; 
  • trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/selectfile.pro

    r213 r231  
    11;+ 
     2; 
    23; @file_comments 
    34; 
    4 ; 
    55; @categories 
    66; 
    7 ;  
    87; @param EVENT 
    98; 
    10 ; 
    119; @returns 
    12 ;  
    13 ;  
     10; 
    1411; @uses 
    15 ;  
    16 ;  
     12; 
    1713; @restrictions 
    18 ;  
    19 ;  
     14; 
    2015; @examples 
    21 ;  
    22 ;  
     16; 
    2317; @history 
    24 ;  
    25 ;  
    26 ; @version  
     18; 
     19; @version 
    2720; $Id$ 
    28 ;  
     21; 
    2922; @todo 
    3023; seb: documenter EVENT 
    3124;- 
    32 ;********************************************************************* 
     25; 
    3326PRO selectfile_event, event 
    34 ; 
    3527; 
    3628  compile_opt idl2, strictarrsubs 
     
    4840  case eventuvalue.name of 
    4941; cancel button 
    50     'Global Cancel':BEGIN  
     42    'Global Cancel':BEGIN 
    5143      widget_control, event.handler, get_uvalue = messenger 
    5244      *messenger = -1 
     
    5850      filename = isafile(filename = filename[0], /onlync, iodirectory =  iodir $ 
    5951                         , title = 'data file name', /tryfind, /fully_qualify_path) 
    60       if size(filename, /type) NE 7 then BEGIN  
     52      if size(filename, /type) NE 7 then BEGIN 
    6153        widget_control, event.id, set_value = '' 
    6254        return 
     
    7264; switch automatic/by and mesh definition buttons 
    7365    'gridload':BEGIN 
    74       IF event.select EQ 1 THEN BEGIN  
     66      IF event.select EQ 1 THEN BEGIN 
    7567        widget_control, widget_info(event.handler, find_by_uname = 'argtxt'), set_value = '' 
    7668        widget_control, widget_info(event.handler, find_by_uname = 'kwdtxt'), set_value = '' 
     
    8678            widget_control, widget_info(event.handler, find_by_uname = 'arg base'), sensitive = 1 
    8779            widget_control, widget_info(event.handler, find_by_uname = 'kwdlab'), set_value = 'keywords of IDL procedure:' 
    88           END  
     80          END 
    8981        ENDCASE 
    90       ENDIF  
     82      ENDIF 
    9183    END 
    9284; name of the procedure or batch file 
     
    9789        widget_control, event.id, set_value = '' 
    9890        return 
    99       endif  
     91      endif 
    10092      CASE protype(filename) OF 
    10193; this is a procedure 
    102         'proc':BEGIN  
     94        'proc':BEGIN 
    10395          widget_control, widget_info(event.handler, find_by_uname = 'arg base'), sensitive = 1 
    10496          widget_control, widget_info(event.handler, find_by_uname = 'kwd base'), sensitive = 1 
     
    10698        END 
    10799; this is a function, this case is not accepted 
    108         'func':BEGIN  
     100        'func':BEGIN 
    109101          widget_control, event.id, set_value = '' 
    110102          return 
    111103        END 
    112104; this is an IDL batch file 
    113         'batch':BEGIN  
     105        'batch':BEGIN 
    114106          widget_control, widget_info(event.handler, find_by_uname = 'arg base'), sensitive = 0 
    115107          widget_control, widget_info(event.handler, find_by_uname = 'kwd base'), sensitive = 0 
     
    136128      datafilename = isafile(filename = datafilename, /tryfind, /onlync $ 
    137129                             , title = 'data file name', /fully_qualify_path) 
    138       if size(datafilename, /type) NE 7 then BEGIN  
     130      if size(datafilename, /type) NE 7 then BEGIN 
    139131        widget_control, widget_info(event.handler, find_by_uname = 'datafilename') $ 
    140132                        , set_value = '' 
    141133        return 
    142       ENDIF  
     134      ENDIF 
    143135      widget_control, widget_info(event.handler, find_by_uname = 'gridload') $ 
    144136                      , get_value = gridload 
     
    162154            widget_control, meshload_id, set_value = '' 
    163155            return 
    164           endif  
    165         END  
     156          endif 
     157        END 
    166158        'via initnetcdf':meshload = datafilename 
    167159      ENDCASE 
     
    176168  return 
    177169end 
    178 ;********************************************************************* 
     170; 
    179171;+ 
     172; 
    180173; @file_comments 
    181174; 
    182 ; 
    183175; @categories 
    184176; 
    185 ;  
    186177; @param DATAFILENAME 
    187178; 
     
    192183; @param ARGSPRO 
    193184; 
    194 ;  
    195185; @keyword _EXTRA 
    196 ; Used to pass your keywords 
    197 ;  
     186; Used to pass keywords 
     187; 
    198188; @returns 
    199 ;  
    200 ;  
     189; 
    201190; @uses 
    202 ;  
    203 ;  
     191; 
    204192; @restrictions 
    205 ;  
    206 ;  
     193; 
    207194; @examples 
    208 ;  
    209 ;  
     195; 
    210196; @history 
    211 ;  
    212 ;  
    213 ; @version  
     197; 
     198; @version 
    214199; $Id$ 
    215 ;  
     200; 
    216201; @todo 
    217202; seb: documenter les params 
    218 ;  
     203; 
    219204;- 
    220205FUNCTION selectfile, datafilename, idlfile, argspro, _extra = ex 
     
    224209; 
    225210@common 
    226 ;------------------------------------------------------------ 
    227 ;------------------------------------------------------------ 
    228 ; 
    229 ; We create a pointer in the uvalue to recuperate answers at setted  
    230 ; questions atthe time of the use of this widget. So when the widget  
    231 ; is deleted in the procedure ...event.pro, the variable on which the  
    232 ; pointer pointed (contained in the uvalue of the widget) is not  
     211; 
     212; We create a pointer in the uvalue to recuperate answers at setted 
     213; questions atthe time of the use of this widget. So when the widget 
     214; is deleted in the procedure ...event.pro, the variable on which the 
     215; pointer pointed (contained in the uvalue of the widget) is not 
    233216; deleted and we can recuperate the result! 
    234217; 
     
    269252 
    270253;------------------------------------------------------------ 
    271   IF n_elements(datafilename) NE 0 THEN BEGIN  
     254  IF n_elements(datafilename) NE 0 THEN BEGIN 
    272255    widget_control, database, set_value = datafilename 
    273256    selectfile_event, {ID:database, TOP:base, HANDLER:base} 
    274   ENDIF  
    275   IF n_elements(idlfile) NE 0 THEN BEGIN  
     257  ENDIF 
     258  IF n_elements(idlfile) NE 0 THEN BEGIN 
    276259    widget_control, basemeshload, set_value = idlfile 
    277260    selectfile_event, {ID:basemeshload, TOP:base, HANDLER:base} 
    278261    widget_control, basemeshload, get_value = idlfile2 
    279262    IF idlfile2[0] NE '' THEN widget_control, gdldid, set_value = 1 
    280   ENDIF  
     263  ENDIF 
    281264  IF n_elements(argspro) NE 0 THEN widget_control, argbase, set_value = argspro 
    282265;------------------------------------------------------------ 
    283   IF n_elements(datafilename) EQ 0 THEN BEGIN  
     266  IF n_elements(datafilename) EQ 0 THEN BEGIN 
    284267    widget_control, base, /realize 
    285268    xmanager, 'selectfile', base, event_handler = 'selectfile_event', no_block = 0 
     
    302285  if size(res3, /type) NE 8 then return,  -1 
    303286 
    304   return, {fileparameters:res3, readparameters:ccreadparameters, meshparameters:ccmeshparameters}  
     287  return, {fileparameters:res3, readparameters:ccreadparameters, meshparameters:ccmeshparameters} 
    305288end 
  • trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/singleclickaction.pro

    r150 r231  
    11;+ 
     2; 
    23; @file_comments 
    3 ; 
    44; 
    55; @categories 
    66; 
    7 ;  
    87; @param EVENT 
    98; 
    10 ;  
    119; @returns 
    12 ;  
    13 ;  
     10; 
    1411; @uses 
    15 ;  
    16 ;  
     12; 
    1713; @restrictions 
    18 ;  
    19 ;  
     14; 
    2015; @examples 
    21 ;  
    22 ;  
     16; 
    2317; @history 
    24 ;  
    25 ;  
     18; 
    2619; @version 
    27 ; $Id$  
    28 ;  
     20; $Id$ 
     21; 
    2922; @todo 
    3023; seb 
    3124; 
    3225;- 
     26; 
    3327PRO singleclickaction, event 
    3428; 
     
    107101        x4 = -1                 ; free memory 
    108102        y4 = -1                 ; free memory 
    109        
    110       IF cell[0] EQ -1 OR n_elements(cell) GT 1 THEN RETURN       
     103 
     104      IF cell[0] EQ -1 OR n_elements(cell) GT 1 THEN RETURN 
    111105; 
    112106      yy = cell[0]/(nx-1+key_periodic*(nx EQ jpi)) 
  • trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/tracecadre.pro

    r150 r231  
    11;+ 
     2; 
    23; @file_comments 
    3 ; 
     4; determination of the column and of the line corresponding in input to small 
     5; ++ 
    46; 
    57; @categories 
    68; 
    7 ;  
    89; @param SMALL 
    910; 
    10 ;  
    1111; @keyword OUT 
    12 ; 
    1312; 
    1413; @keyword ERASE 
    1514; 
     15; @keyword FILL 
    1616; 
    17 ; @keyword FILL 
    18 ;  
    19 ;  
    2017; @returns 
    21 ;  
    22 ;  
     18; 
    2319; @uses 
    24 ;  
    25 ;  
     20; 
    2621; @restrictions 
    27 ;  
    28 ;  
     22; 
    2923; @examples 
    30 ;  
    31 ;  
     24; 
    3225; @history 
    33 ;  
    34 ;  
     26; 
    3527; @version 
    36 ; $Id$  
    37 ;  
     28; $Id$ 
     29; 
    3830; @todo 
    3931; seb 
    4032; 
    4133;- 
     34; 
    4235PRO tracecadre, small, out = out, erase = erase, fill = fill 
    43 ;------------------------------------------------------------ 
    44 ; determination of the column and of the line corresponding in input to small 
    4536; 
    4637  compile_opt idl2, strictarrsubs 
  • trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/updatewidget.pro

    r150 r231  
    11;+ 
     2; 
    23; @file_comments 
    3 ; 
    44; 
    55; @categories 
    66; 
    7 ;  
    87; @param BASE {in}{required} 
    98; The id of the widget where apply the drawing. 
    10 ;  
     9; 
    1110; @keyword NOBOXZOOM 
    12 ; 
    1311; 
    1412; @keyword NODATES 
    1513; 
     14; @keyword NOTYPE 
    1615; 
    17 ; @keyword NOTYPE 
    18 ;  
    19 ;  
    2016; @returns 
    21 ;  
    22 ;  
     17; 
    2318; @uses 
    24 ;  
    25 ;  
     19; 
    2620; @restrictions 
    27 ;  
    28 ;  
     21; 
    2922; @examples 
    30 ;  
    31 ;  
     23; 
    3224; @history 
    33 ;  
    34 ;  
     25; 
    3526; @version 
    36 ; $Id$  
    37 ;  
     27; $Id$ 
     28; 
    3829; @todo 
    3930; seb 
    4031; 
    4132;- 
     33; 
    4234PRO updatewidget, base, NOBOXZOOM = noboxzoom, NODATES = nodates, NOTYPE = notype 
    43 ;---------------------------------------------------------------------- 
    4435; 
    4536  compile_opt idl2, strictarrsubs 
     
    5647   if keyword_set(nodates) then begin 
    5748      date1 = 0 
    58       date2 = 0  
    59    ENDIF ELSE BEGIN  
     49      date2 = 0 
     50   ENDIF ELSE BEGIN 
    6051      dates = (extractatt(top_uvalue, 'dates'))[*, numdessinin] 
    6152      date1 = dates[0] & date2 = dates[1] 
     
    8475         widget_control, date2id, set_value = date2 
    8576      endif 
    86       if keyword_set(boxzoom) then BEGIN  
     77      if keyword_set(boxzoom) then BEGIN 
    8778         domainid = widget_info(base, find_by_uname = 'domain') 
    8879         widget_control, domainid, set_value = boxzoom 
     
    10798;-------------- 
    10899; graphtype 
    109 ;--------------    
     100;-------------- 
    110101   if NOT keyword_set(notype) then BEGIN 
    111102      graphtype = (extractatt(top_uvalue, 'types'))[numdessinin] 
  • trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/xcreateanim.pro

    r226 r231  
    11;+ 
     2; 
    23; @file_comments 
    3 ; 
    44; 
    55; @categories 
     
    2424; 
    2525;- 
    26 pro xcreateanim_event, event 
     26; 
     27PRO xcreateanim_event, event 
    2728; 
    2829  compile_opt idl2, strictarrsubs 
     
    165166  return 
    166167end 
    167 ;---------------------------------------------------------------- 
     168; 
    168169;+ 
    169170; @file_comments 
    170171; 
    171 ; 
    172172; @categories 
    173173; 
    174 ; 
    175174; @param PARENT 
    176175; 
    177 ; 
    178176; @returns 
    179 ; 
    180177; 
    181178; @uses 
     
    194191; 
    195192;- 
     193; 
    196194PRO xcreateanim, parent 
    197195; 
  • trunk/SRC/ToBeReviewed/WIDGET/AUTOUR_de_XXX/xxxmenubar_event.pro

    r226 r231  
    11;+ 
     2; 
    23; @file_comments 
    34; 
    4 ; 
    55; @categories 
    6 ; 
    76; 
    87; @param EVENT 
     
    2423; seb 
    2524;- 
    26 ;------------------------------------------------ 
     25; 
    2726PRO xxxmenubar_event, event 
    2827; 
     
    3029; 
    3130@common 
    32  
    3331 
    3432  case event.value of 
  • trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_bgroup.pro

    r163 r231  
    11;+ 
     2; 
    23; @file_comments 
    3 ; 
    44; 
    55; @categories 
    66; Compound widget 
    7 ;  
     7; 
    88; @param ID 
    9 ; 
    109; 
    1110; @param VALUE 
     
    1312; 
    1413; @returns 
    15 ;  
    16 ;  
     14; 
    1715; @uses 
    18 ;  
    19 ;  
     16; 
    2017; @restrictions 
    21 ;  
    22 ;  
     18; 
    2319; @examples 
    24 ;  
    25 ;  
     20; 
    2621; @history 
    27 ;  
    28 ;  
    29 ; @version  
     22; 
     23; @version 
    3024; $Id$ 
    3125;- 
    32 pro cw_bgroup_setv, id, value 
     26; 
     27PRO cw_bgroup_setv, id, value 
    3328  compile_opt hidden, idl2, strictarrsubs 
    3429 
     
    6560; @categories 
    6661; 
    67 ;  
    6862; @param ID 
    6963; 
     
    7367; 
    7468; @returns 
    75 ;  
    76 ;  
     69; 
    7770; @uses 
    78 ;  
    79 ;  
     71; 
    8072; @restrictions 
    81 ;  
    82 ;  
     73; 
    8374; @examples 
    84 ;  
    85 ;  
     75; 
    8676; @history 
    87 ;  
    88 ;  
    89 ; @version  
     77; 
     78; @version 
    9079; $Id$ 
    9180;- 
     
    10392    1: ret = state.ret_arr[state.excl_pos] 
    10493;    2: ret = state.nonexcl_curpos 
    105     2: BEGIN  
     94    2: BEGIN 
    10695      index = where(state.nonexcl_curpos NE 0) 
    10796      if index[0] EQ -1 then begin 
     
    11099    END 
    111100  endcase 
    112    
     101 
    113102  WIDGET_CONTROL, stash, SET_UVALUE=state, /NO_COPY 
    114103 
     
    116105 
    117106end 
    118  
    119  
    120  
     107; 
    121108;+ 
     109; 
    122110; @file_comments 
    123111; Compound widget 
     
    125113; @categories 
    126114; 
    127 ;  
    128115; @param EV 
    129116; 
    130 ; 
    131117; @returns 
    132 ;  
    133 ;  
     118; 
    134119; @uses 
    135 ;  
    136 ;  
     120; 
    137121; @restrictions 
    138 ;  
    139 ;  
     122; 
    140123; @examples 
    141 ;  
    142 ;  
     124; 
    143125; @history 
    144 ;  
    145 ;  
    146 ; @version  
     126; 
     127; @version 
    147128; $Id$ 
    148129;- 
     
    203184; @param PARENT {in}{required} 
    204185; The ID of the parent widget. 
    205 ;  
     186; 
    206187; @param NAMES {type=string array} 
    207188; A string array, containing one string per button, 
     
    211192; An array of user values to be associated with 
    212193; each button and returned in the event structure. 
    213 ;  
     194; 
    214195; @keyword COLUMN 
    215196; Buttons will be arranged in the number of columns 
    216197; specified by this keyword. 
    217 ;  
     198; 
    218199; @keyword EVENT_FUNCT 
    219200; The name of an optional user-supplied event function 
     
    221202; value structure whenever a button is pressed, and 
    222203; follows the conventions for user-written event functions. 
    223 ;  
     204; 
    224205; @keyword EXCLUSIVE 
    225206; Buttons will be placed in an exclusive base, with 
    226207; only one button allowed to be selected at a time. 
    227 ;  
     208; 
    228209; @keyword FONT 
    229210; The name of the font to be used for the button 
    230211; titles. If this keyword is not specified, the default 
    231212; font is used. 
    232 ;  
     213; 
    233214; @keyword FRAME 
    234215; Specifies the width of the frame to be drawn around the base. 
    235 ;  
     216; 
    236217; @keyword IDS 
    237218; A named variable into which the button IDs will be 
    238219; stored, as a longword vector. 
    239 ;  
     220; 
    240221; @keyword LABEL_LEFT 
    241222; Creates a text label to the left of the buttons. 
    242 ;  
     223; 
    243224; @keyword LABEL_TOP 
    244225; Creates a text label above the buttons. 
    245 ;  
     226; 
    246227; @keyword MAP 
    247228; If set, the base will be mapped when the widget 
    248229; is realized (the default). 
    249 ;  
     230; 
    250231; @keyword NONEXCLUSIVE 
    251232; Buttons will be placed in an non-exclusive base. 
    252233; The buttons will be independent. 
    253 ;  
     234; 
    254235; @keyword NO_RELEASE 
    255236; If set, button release events will not be returned. 
    256 ;  
     237; 
    257238; @keyword RETURN_ID 
    258239; If set, the VALUE field of returned events will be 
    259240; the widget ID of the button. 
    260 ;  
     241; 
    261242; @keyword RETURN_INDEX 
    262243; If set, the VALUE field of returned events will be 
    263244; the zero-based index of the button within the base. 
    264245; THIS IS THE DEFAULT. 
    265 ;  
     246; 
    266247; @keyword RETURN_NAME 
    267248; If set, the VALUE field of returned events will be 
    268249; the name of the button within the base. 
    269 ;  
     250; 
    270251; @keyword ROW 
    271252; Buttons will be arranged in the number of rows 
    272253; specified by this keyword. 
    273 ;  
     254; 
    274255; @keyword SCROLL 
    275256; If set, the base will include scroll bars to allow 
    276257; viewing a large base through a smaller viewport. 
    277 ;  
     258; 
    278259; @keyword SET_VALUE 
    279260; The initial value of the buttons. This is equivalent 
     
    286267; of a row or column major base. This keyword is 
    287268; ignored if EXCLUSIVE or NONEXCLUSIVE are specified. 
    288 ;  
     269; 
    289270; @keyword UVALUE 
    290271; The user value to be associated with the widget. 
    291 ;  
     272; 
    292273; @keyword UNAME 
    293274; The user name to be associated with the widget. 
    294 ;  
     275; 
    295276; @keyword XOFFSET 
    296277; The X offset of the widget relative to its parent. 
    297 ;  
     278; 
    298279; @keyword XPAD 
    299280; The horizontal space, in pixels, between children 
    300281; of a row or column major base. Ignored if EXCLUSIVE 
    301282; or NONEXCLUSIVE are specified. 
    302 ;  
     283; 
    303284; @keyword XSIZE 
    304285; The width of the base. 
    305286; @keyword X_SCROLL_SIZE 
    306287; The width of the viewport if SCROLL is specified. 
    307 ;  
     288; 
    308289; @keyword YOFFSET 
    309290; The Y offset of the widget relative to its parent. 
    310 ;  
     291; 
    311292; @keyword YPAD 
    312293; The vertical space, in pixels, between children of 
    313294; a row or column major base. Ignored if EXCLUSIVE 
    314295; or NONEXCLUSIVE are specified. 
    315 ;  
     296; 
    316297; @keyword YSIZE 
    317298; The height of the base. 
    318 ;  
     299; 
    319300; @keyword Y_SCROLL_SIZE 
    320301; The height of the viewport if SCROLL is specified. 
  • trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_calendar.pro

    r226 r231  
    3838; 
    3939;+ 
     40; 
    4041; @file_comments 
    4142; 
     
    4445; 
    4546; @param ID 
    46 ; 
    4747; 
    4848; @param VALUE 
     
    454454; 
    455455; @keyword _EXTRA 
    456 ; Used to pass your keywords 
     456; Used to pass keywords 
    457457; 
    458458; @returns 
  • trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_combobox_pm.pro

    r226 r231  
    4545;    return 
    4646; end 
    47 ;---------------------------------------------------------------------- 
    4847;+ 
     48; 
    4949; @file_comments 
    5050; 
     
    5454; 
    5555; @param ID 
    56 ; 
    5756; 
    5857; @param VALUE 
     
    7271; $Id$ 
    7372;- 
     73; 
    7474PRO cw_combobox_pm_set_value, id, value 
    7575; 
     
    9292   return 
    9393end 
    94 ;---------------------------------------------------------------------- 
     94; 
    9595;+ 
     96; 
    9697; @file_comments 
    97 ; 
    9898; 
    9999; @categories 
     
    115115; $Id$ 
    116116;- 
     117; 
    117118FUNCTION cw_combobox_pm_get_value, id 
    118119; 
     
    128129            , dynamic_resize:widget_info(ComboboxId, /dynamic_resize)} 
    129130end 
    130 ;---------------------------------------------------------------------- 
    131 ;---------------------------------------------------------------------- 
     131; 
    132132;+ 
     133; 
    133134; @file_comments 
    134 ; 
    135135; 
    136136; @categories 
     
    152152; $Id$ 
    153153;- 
     154; 
    154155FUNCTION cw_combobox_pm_event, event 
    155156; 
     
    185186                  , INDEX:index, STR:cmbbtxt, OUT:out} 
    186187end 
    187 ;------------------------------------------------------------ 
    188 ;------------------------------------------------------------ 
    189 ;------------------------------------------------------------ 
     188; 
    190189;+ 
    191190; 
     
    215214; @keyword VALUE 
    216215; 
    217 ; 
    218216; @keyword _EXTRA 
    219 ; Used to pass your keywords 
     217; Used to pass keywords 
    220218; 
    221219; @returns 
     
    296294; 
    297295;- 
    298 ;------------------------------------------------------------ 
    299 ;------------------------------------------------------------ 
    300 ;------------------------------------------------------------ 
     296; 
    301297FUNCTION cw_combobox_pm, parent, VALUE = value, UVALUE = uvalue, UNAME = uname, ROW = row, COLUMN = column, _extra = ex 
    302298; 
     
    316312                      , FUNC_GET_VALUE='cw_combobox_pm_get_value' $ 
    317313                      , PRO_SET_VALUE='cw_combobox_pm_set_value' $ 
    318                       , UVALUE = uvalue, UNAME = uname, _extra = ex)  
     314                      , UVALUE = uvalue, UNAME = uname, _extra = ex) 
    319315; 
    320316   vallen = widget_info(base, string_size = 'm') 
  • trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_domain.pro

    r226 r231  
    3838; 
    3939; 
    40 ;********************************************************************* 
    4140;+ 
     41; 
    4242; @file_comments 
    43 ; 
    4443; 
    4544; @categories 
     
    6564; $Id$ 
    6665;- 
    67 pro cw_domain_set_value, id, value 
     66; 
     67PRO cw_domain_set_value, id, value 
    6868; 
    6969  compile_opt idl2, strictarrsubs 
     
    283283   return 
    284284end 
    285 ;********************************************************************* 
     285; 
    286286;+ 
     287; 
    287288; @file_comments 
    288 ; 
    289289; 
    290290; @categories 
     
    292292; 
    293293; @param ID 
    294 ; 
    295294; 
    296295; @returns 
     
    307306; $Id$ 
    308307;- 
     308; 
    309309FUNCTION cw_domain_get_value, id 
    310310; 
     
    320320   return, box 
    321321end 
    322 ;********************************************************************* 
    323322;+ 
     323; 
    324324; @file_comments 
    325 ; 
    326325; 
    327326; @categories 
     
    329328; 
    330329; @param EVENT 
    331 ; 
    332330; 
    333331; @returns 
     
    344342; $Id$ 
    345343;- 
     344; 
    346345FUNCTION cw_domain_event, event 
    347346; 
     
    488487           , BOX:cw_domain_get_value(event.handler)} 
    489488end 
    490 ;********************************************************************* 
     489; 
    491490;+ 
     491; 
    492492; @file_comments 
    493 ; 
    494493; 
    495494; @categories 
     
    507506; @keyword STRICT 
    508507; 
    509 ; 
    510508; @keyword UNZOOM 
    511 ; 
    512509; 
    513510; @keyword BOXZOOM 
     
    522519; 
    523520; @keyword _EXTRA 
    524 ; Used to pass your keywords 
     521; Used to pass keywords 
    525522; 
    526523; @returns 
     
    541538; 
    542539;- 
     540; 
    543541FUNCTION cw_domain, parent, BOXZOOM = boxzoom, STRICT = strict, UVALUE = uvalue, UNAME = uname, UNZOOM = unzoom, _extra = ex 
    544542; 
  • trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_droplist_pm.pro

    r226 r231  
    4444;    return 
    4545; end 
    46 ;---------------------------------------------------------------------- 
    47  
    48 ; 
    4946; 
    5047;+ 
     48; 
    5149; @file_comments 
    52 ; 
    5350; 
    5451; @categories 
     
    7370; $Id$ 
    7471;- 
     72; 
    7573PRO cw_droplist_pm_set_value, id, value 
    7674; 
     
    9189   return 
    9290end 
    93 ;---------------------------------------------------------------------- 
     91; 
    9492;+ 
     93; 
    9594; @file_comments 
    9695; Compound widget 
     
    114113; $Id$ 
    115114;- 
     115; 
    116116FUNCTION cw_droplist_pm_get_value, id 
    117117; 
     
    123123            , dynamic_resize:widget_info(DroplistId, /dynamic_resize)} 
    124124end 
    125 ;---------------------------------------------------------------------- 
     125; 
    126126;+ 
     127; 
    127128; @file_comments 
    128129; Compound widget 
     
    146147; $Id$ 
    147148;- 
     149; 
    148150FUNCTION cw_droplist_pm_event, event 
    149151; 
     
    172174   endcase 
    173175end 
    174 ;---------------------------------------------------------------------- 
    175 ;------------------------------------------------------------ 
    176 ;------------------------------------------------------------ 
    177 ;------------------------------------------------------------ 
     176; 
    178177;+ 
    179178; 
     
    202201; 
    203202; @keyword _EXTRA 
    204 ; Used to pass your keywords 
     203; Used to pass keywords 
    205204; 
    206205; @returns 
     
    281280; 
    282281;- 
    283 ;------------------------------------------------------------ 
    284 ;------------------------------------------------------------ 
    285 ;------------------------------------------------------------ 
     282; 
    286283FUNCTION cw_droplist_pm, parent,UVALUE = uvalue, UNAME = uname, ROW = row, COLUMN = column, _extra = ex 
    287284; 
  • trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_pagelayout.pro

    r157 r231  
    1 ;********************************************************************* 
    21;+ 
     2; 
    33; @file_comments 
    4 ; 
    54; 
    65; @categories 
    76; Compound widget 
    8 ;  
     7; 
    98; @param EVENT 
    109; 
     10; @returns 
    1111; 
    12 ; @returns 
    13 ;  
    14 ;  
    1512; @uses 
    16 ;  
    17 ;  
     13; 
    1814; @restrictions 
    19 ;  
    20 ;  
     15; 
    2116; @examples 
    22 ;  
    23 ;  
     17; 
    2418; @history 
    25 ;  
    26 ;  
    27 ; @version  
     19; 
     20; @version 
    2821; $Id$ 
    2922;- 
    30 ;********************************************************************* 
     23; 
    3124FUNCTION cw_pagelayout_event, event 
    3225; 
     
    4336   if uval.name EQ 'undo' then begin 
    4437      return,{ID:event.handler, TOP:event.top, HANDLER:0L} 
    45    ENDIF ELSE BEGIN  
     38   ENDIF ELSE BEGIN 
    4639; 
    4740@common 
     
    6356      case uval.name of 
    6457         'clear': 
    65          'column':BEGIN  
     58         'column':BEGIN 
    6659            smallin = [event.index+1, smallin[1], 1] 
    6760            smallout = [event.index+1, smallout[1], 1] 
     
    7366      endcase 
    7467      nbredessin = smallin[0]*smallin[1] 
    75 ;          
     68; 
    7669; We put all back to 0 for postscripts 
    7770      createhistory, event.top, smallin 
    78 ;          
    79       options = extractatt(top_uvalue, 'options')    
     71; 
     72      options = extractatt(top_uvalue, 'options') 
    8073      flags = extractatt(top_uvalue, 'optionsflag') 
    8174      flag = flags[*, numdessinin] 
    82 ;          
     75; 
    8376; update and reset all values of the top_uvalue... 
    8477; 
     
    10093      ptr_free, extractatt(top_uvalue, 'exextra') 
    10194      *top_uvalue[1, findline(top_uvalue, 'exextra')] = ptrarr(nbredessin, /allocate_heap) 
    102 ;      *top_uvalue[1, findline(top_uvalue, '')] =  
     95;      *top_uvalue[1, findline(top_uvalue, '')] = 
    10396; 
    104    ENDELSE  
     97   ENDELSE 
    10598 
    10699   return,{ID:event.handler, TOP:event.top, HANDLER:0L} 
    107100end 
    108 ;********************************************************************* 
     101; 
    109102;+ 
     103; 
    110104; @file_comments 
    111 ; 
    112105; 
    113106; @categories 
    114107; Compound widget 
    115 ;  
     108; 
    116109; @param PARENT {in}{required} 
    117110; The widget ID of the parent widget. 
    118111; 
    119 ; @param SMALL  
    120 ; 
     112; @param SMALL 
    121113; 
    122114; @keyword COLUMN 
    123115; Buttons will be arranged in the number of columns 
    124116; specified by this keyword. 
    125 ;  
     117; 
    126118; @keyword ROW 
    127119; Buttons will be arranged in the number of rows 
    128120; specified by this keyword. 
    129 ;  
     121; 
    130122; @keyword UVALUE 
    131123; The user value to be associated with the widget. 
    132 ;  
     124; 
    133125; @keyword UNAME 
    134126; The user name to be associated with the widget. 
    135127; 
    136128; @keyword _EXTRA 
    137 ; Used to pass your keywords 
     129; Used to pass keywords 
    138130; 
    139131; @keyword UNZOOM 
    140 ;  
    141 ;  
     132; 
    142133; @returns 
    143 ;  
    144 ;  
     134; 
    145135; @uses 
    146 ;  
    147 ;  
     136; 
    148137; @restrictions 
    149 ;  
    150 ;  
     138; 
    151139; @examples 
    152 ;  
    153 ;  
     140; 
    154141; @history 
    155 ;  
    156 ;  
     142; 
    157143; @version 
    158 ; $Id$  
    159 ;  
    160 ; @todo  
     144; $Id$ 
     145; 
     146; @todo 
    161147; seb: documenter 
    162 ;  
     148; 
    163149;- 
     150; 
    164151FUNCTION cw_pagelayout, parent, small, UVALUE = uvalue, UNAME = uname, UNZOOM = unzoom, COLUMN = column, ROW = row, _extra = ex 
    165 ;------------------------------------------------ 
    166152; 
    167153  compile_opt idl2, strictarrsubs 
    168154; 
    169   row = keyword_set(row)*(1-keyword_set(column))   
     155  row = keyword_set(row)*(1-keyword_set(column)) 
    170156  if NOT keyword_set(uvalue) then uvalue = '' 
    171157  if NOT keyword_set(uname) then uname = '' 
     
    174160                     , FUNC_GET_VALUE = 'cw_pagelayout_get_value' $ 
    175161                     , PRO_SET_VALUE = 'cw_pagelayout_set_value' $ 
    176                      , UVALUE = uvalue, UNAME = uname, space = 0, _extra = ex)    
     162                     , UVALUE = uvalue, UNAME = uname, space = 0, _extra = ex) 
    177163;------------------------------------------------ 
    178164  IF n_elements(small) eq 0 then small = [1, 1, 1] 
     
    183169  widget_control, id, set_combobox_select = small[0]-1 
    184170; 
    185   IF keyword_set(row) THEN BEGIN  
     171  IF keyword_set(row) THEN BEGIN 
    186172    xoff = 60 
    187173    yoff = 0 
    188   ENDIF ELSE BEGIN  
     174  ENDIF ELSE BEGIN 
    189175    xoff = 0 
    190176    yoff = 20 
    191   ENDELSE  
     177  ENDELSE 
    192178  dummy = widget_label(base, value = 'row', xoffset = xoff, yoffset = yoff+3) 
    193179  id = widget_combobox(base, value = strtrim(indgen(9)+1, 1), uvalue = {name:'row'} $ 
     
    198184  return, base 
    199185end 
    200 ;********************************************************************* 
  • trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_slide_slice.pro

    r226 r231  
    11;+ 
     2; 
    23; @file_comments 
    34; 
     
    2425; $Id$ 
    2526;- 
    26 pro cw_slide_slice_set_value, id, value 
     27; 
     28PRO cw_slide_slice_set_value, id, value 
    2729; 
    2830  compile_opt idl2, strictarrsubs 
     
    6062   return 
    6163end 
    62 ;---------------------------------------------------------------------- 
     64; 
    6365;+ 
     66; 
    6467; @file_comments 
    65 ; 
    6668; 
    6769; @categories 
     
    8385; $Id$ 
    8486;- 
     87; 
    8588FUNCTION cw_slide_slice_event,  event 
    8689; 
     
    155158   return, {CW_SLIDE_SLICE, ID:event.handler, TOP:event.top, HANDLER:0L} 
    156159end 
    157 ;-------------------------------------------------------------------------------- 
     160; 
    158161;+ 
     162; 
    159163; @file_comments 
    160164; 
     
    194198; 
    195199; @keyword _EXTRA 
    196 ; Used to pass your keywords 
     200; Used to pass keywords 
    197201; 
    198202; @returns 
     
    213217; 
    214218;- 
     219; 
    215220FUNCTION cw_slide_slice, parent, boxzoom = boxzoom, UVALUE = uvalue, UNAME = uname, FRAME = frame, ROW = row, COLUMN = column, _extra = ex 
    216221; 
     
    271276;       maxi = ceil(maxi) 
    272277;    ENDELSE 
    273   
     278 
    274279;------------------------------------------------ 
    275280   return, base 
  • trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_slider_pm.pro

    r226 r231  
    4545;    return 
    4646; end 
    47 ;---------------------------------------------------------------------- 
    48 ;+ 
    49 ; @file_comments 
    50 ; 
     47;+ 
     48; 
     49; @file_comments 
    5150; 
    5251; @categories 
     
    6968; $Id$ 
    7069;- 
     70; 
    7171FUNCTION decvalue, value 
    7272; 
     
    7676  return, strtrim(string(floor(a) + 0.1*indgen(10), format = '(f15.1)'), 2) 
    7777end 
    78 ;---------------------------------------------------------------------- 
    79 ;+ 
    80 ; @file_comments 
    81 ; 
     78; 
     79;+ 
     80; 
     81; @file_comments 
    8282; 
    8383; @categories 
     
    100100; $Id$ 
    101101;- 
     102; 
    102103FUNCTION decind, value 
    103104; 
     
    107108  return, round(10*(a - floor(a))) ; !! computation accuracy 
    108109end 
    109 ;---------------------------------------------------------------------- 
    110 ;+ 
    111 ; @file_comments 
    112 ; 
     110; 
     111;+ 
     112; 
     113; @file_comments 
    113114; 
    114115; @categories 
     
    133134; $Id$ 
    134135;- 
     136; 
    135137PRO cw_slider_pm_set_value, id, value 
    136138; 
     
    184186  return 
    185187end 
    186 ;---------------------------------------------------------------------- 
    187 ;+ 
     188; 
     189;+ 
     190; 
    188191; @file_comments 
    189192; 
     
    207210; $Id$ 
    208211;- 
     212; 
    209213FUNCTION cw_slider_pm_get_value, id 
    210214; 
     
    217221   return, {value:value, slider_min_max:minmax} 
    218222end 
    219 ;---------------------------------------------------------------------- 
    220 ;+ 
    221 ; @file_comments 
    222 ; 
     223; 
     224;+ 
     225; 
     226; @file_comments 
    223227; 
    224228; @categories 
     
    240244; $Id$ 
    241245;- 
     246; 
    242247FUNCTION cw_slider_pm_event, event 
    243248; 
     
    274279           , VALUE:value, OUT:OUT} 
    275280end 
    276 ;---------------------------------------------------------------------- 
    277 ;------------------------------------------------------------ 
    278 ;------------------------------------------------------------ 
    279 ;------------------------------------------------------------ 
     281; 
    280282;+ 
    281283; 
     
    301303; @keyword MINIMUM 
    302304; 
    303 ; 
    304305; @keyword STRMINLEN 
    305306; 
    306 ; 
    307307; @keyword _EXTRA 
    308 ; Used to pass your keywords 
     308; Used to pass keywords 
    309309; 
    310310; @returns 
     
    381381; 
    382382;- 
    383 ;------------------------------------------------------------ 
    384 ;------------------------------------------------------------ 
    385 ;------------------------------------------------------------ 
     383; 
    386384FUNCTION cw_slider_pm, parent, MAXIMUM = maximum, MINIMUM = minimum $ 
    387385                       , STRMINLEN = strminlen, VALUE = value, UVALUE = uvalue $ 
  • trunk/SRC/ToBeReviewed/WIDGET/COMPOUND_WIDGET/cw_specifie.pro

    r226 r231  
    1 ;***************************************************** 
    2 ;+ 
    3 ; @file_comments 
    4 ; 
     1;+ 
     2; 
     3; @file_comments 
    54; 
    65; @categories 
     
    2524; $Id$ 
    2625;- 
     26; 
    2727PRO cw_specifie_set_value, id, value 
    2828; 
     
    5050   return 
    5151end 
    52 ;***************************************************** 
    53 ;+ 
    54 ; @file_comments 
    55 ; 
     52; 
     53;+ 
     54; 
     55; @file_comments 
    5656; 
    5757; @categories 
     
    7272; @version 
    7373; $Id$ 
    74 ;- 
     74; 
     75;- 
     76; 
    7577FUNCTION cw_specifie_get_value, id 
    7678; 
     
    9799   return, exextra 
    98100end 
    99 ;***************************************************** 
    100 ;+ 
    101 ; @file_comments 
    102 ; 
     101; 
     102;+ 
     103; @file_comments 
    103104; 
    104105; @categories 
     
    119120; @version 
    120121; $Id$ 
    121 ;- 
     122; 
     123;- 
     124; 
    122125FUNCTION cw_specifie_event, event 
     126; 
     127  compile_opt idl2, strictarrsubs 
     128; 
    123129;------------------------------------------------------------ 
    124130; on recupere les ID des differents widgets 
    125131;------------------------------------------------------------ 
    126132;------------------------------------------------------------ 
    127 ; 
    128   compile_opt idl2, strictarrsubs 
    129 ; 
    130133  widget_control, event.id, get_uvalue = uval 
    131134  widget_control, event.top, get_uvalue = top_uvalue 
     
    157160  return, {ID:event.handler, TOP:event.top, HANDLER:0L, OK:uval EQ 'ok'} 
    158161end 
    159 ;***************************************************** 
    160 ;***************************************************** 
    161 ;+ 
    162 ; @file_comments 
    163 ; 
     162; 
     163;+ 
     164; 
     165; @file_comments 
    164166; 
    165167; @categories 
     
    188190; 
    189191; @keyword _EXTRA 
    190 ; Used to pass your keywords 
     192; Used to pass keywords 
    191193; 
    192194; @returns 
     
    207209; 
    208210;- 
     211; 
    209212FUNCTION cw_specifie, parent, ROW = row, COLUMN = column, UVALUE = uvalue, UNAME = uname, FRAME = frame, FORXXX = forxxx, _extra = ex 
    210213; checking exclusive keywords 
  • trunk/SRC/ToBeReviewed/WIDGET/findtopid.pro

    r157 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
    63; @file_comments 
    7 ; Find, from an Id of widget, the Id of the widget which is  
     4; Find, from an Id of widget, the Id of the widget which is 
    85; "the top-level base" (i.e., it has no parent) 
    96; 
    107; categories 
    118; widget 
    12 ;  
     9; 
    1310; @param WIDGET_ID 
    1411; This argument should be the widget ID of the 
     
    2623; 
    2724;- 
    28 ;------------------------------------------------------------ 
    29 ;------------------------------------------------------------ 
    30 ;------------------------------------------------------------ 
     25; 
    3126FUNCTION findtopid,  WIDGET_ID 
    3227; 
  • trunk/SRC/ToBeReviewed/WIDGET/slec.pro

    r150 r231  
    11;+ 
     2; 
    23; @file_comments 
    3 ; 
    44; 
    55; @categories 
    66; 
    7 ;  
    87; @param NAME 
    9 ; 
    108; 
    119; @param DEBUT 
    1210; 
    13 ; 
    1411; @param FIN 
    15 ; 
    1612; 
    1713; @param NOMEXP 
    1814; 
    19 ;  
    2015; @keyword PARENT {in}{required} 
    2116; The widget ID of the parent widget. 
    2217; 
    2318; @keyword BOXZOOM 
    24 ; Vector indicating the geographic zone on which we want to cut the map.  
    25 ; If BOXZOOM has :  
     19; Vector indicating the geographic zone on which we want to cut the map. 
     20; If BOXZOOM has : 
    2621;   1 element : The extraction is made on [lon1, lon2, lat1, lat2, 0.,boxzoom[0]] 
    2722;   2 elements: The extraction is made on [lon1, lon2, lat1, lat2, boxzoom[0],boxzoom[1]] 
    2823;   4 elements: The extraction is made on [Boxzoom, 0, max([gdept, gdepw])] 
    2924;   5 elements: The extraction is made on [Boxzoom[0:3], 0, Boxzoom[4]] 
    30 ;   6 elements: The extraction is made on Boxzoom  
     25;   6 elements: The extraction is made on Boxzoom 
    3126; Where lon1, lon2,lat1,lat2 are global variables defined at the last domdef! 
    3227; 
    3328; @keyword _EXTRA 
    34 ; Used to pass your keywords 
    35 ;  
    36 ;  
     29; Used to pass keywords 
     30; 
    3731; @returns 
    38 ;  
    39 ;  
     32; 
    4033; @uses 
    41 ;  
    42 ;  
     34; 
    4335; @restrictions 
    44 ;  
    45 ;  
     36; 
    4637; @examples 
    47 ;  
    48 ;  
     38; 
    4939; @history 
    50 ;  
    51 ;  
    52 ; @version  
     40; 
     41; @version 
    5342; $Id$ 
    5443; 
     
    5746; 
    5847;- 
     48; 
    5949FUNCTION slec,name,debut,fin, nomexp, PARENT = parent, BOXZOOM=boxzoom, _EXTRA = ex 
    6050;--------------------------------------------------------- 
    61 ; include common 
    6251; 
    6352  compile_opt idl2, strictarrsubs 
     
    6857@updatekwd 
    6958  ENDIF 
    70 ;------------------------------------------------------------  
     59;------------------------------------------------------------ 
    7160   case n_params() of 
    7261      1:tab = nlec(name, PARENT = parent, BOXZOOM=boxzoom, _EXTRA = ex) 
  • trunk/SRC/ToBeReviewed/WIDGET/xnotice.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    3835; 
    3936;- 
    40 ;------------------------------------------------------------ 
    41 ;------------------------------------------------------------ 
    42 ;------------------------------------------------------------ 
     37; 
    4338FUNCTION xnotice, text, CHKWIDGET = chkwidget 
    4439; 
  • trunk/SRC/ToBeReviewed/WIDGET/xquestion.pro

    r163 r231  
    11;+ 
     2; 
    23; @file_comments 
    3 ; 
    44; 
    55; @categories 
    66; 
    7 ;  
    87; @param EVENT 
    98; 
     9; @returns 
    1010; 
    11 ; @returns 
    12 ;  
    13 ;  
    1411; @uses 
    15 ;  
    16 ;  
     12; 
    1713; @restrictions 
    18 ;  
    19 ;  
     14; 
    2015; @examples 
    21 ;  
    22 ;  
     16; 
    2317; @history 
    24 ;  
    25 ;  
    26 ; @version  
     18; 
     19; @version 
    2720; $Id$ 
    2821;- 
    29 ;------------------------------------------------------------------------- 
    30 pro xquestion_event, event 
     22; 
     23PRO xquestion_event, event 
    3124; 
    3225  compile_opt idl2, strictarrsubs 
     
    4235   return 
    4336end 
    44 ;------------------------------------------------------------------------- 
    45 ;------------------------------------------------------------ 
    46 ;------------------------------------------------------------ 
    47 ;------------------------------------------------------------ 
     37; 
    4838;+ 
    4939; 
     
    6757; A string proposing a answer 
    6858; 
    69 ; 
    7059; @keyword CHKWIDGET 
    7160; Active this keyword if you want that xquestion 
    7261; check if managed widget are present. If not, xquestion do not 
    73 ; open a widget but print the question in the IDL window.  
     62; open a widget but print the question in the IDL window. 
    7463; 
    7564; @keyword _EXTRA 
    76 ; Used to pass your keywords 
    77 ;  
     65; Used to pass keywords 
     66; 
    7867; @returns 
    7968; answer: a string 
     
    9584; 
    9685;- 
    97 ;------------------------------------------------------------ 
    98 ;------------------------------------------------------------ 
    99 ;------------------------------------------------------------ 
     86; 
    10087FUNCTION xquestion, question, proposedanswer, CHKWIDGET = chkwidget, _extra = ex ; 
    10188; 
    10289  compile_opt idl2, strictarrsubs 
    10390; 
    104 ; is separate line a scalar? we must cut it into pieces?  
     91; is separate line a scalar? we must cut it into pieces? 
    10592   if n_elements(question) EQ 1 then question = str_sep(question, '!C', /trim) 
    10693; is a widget necessary? 
    10794   if keyword_set(chkwidget) then BEGIN 
    10895      if (widget_info(/managed))[0] EQ 0 then BEGIN 
    109          if n_elements(proposedanswer) EQ 0 then BEGIN  
     96         if n_elements(proposedanswer) EQ 0 then BEGIN 
    11097            proposedanswer = '' 
    11198            answer = '' 
    11299            complete = '' 
    113          ENDIF ELSE BEGIN  
     100         ENDIF ELSE BEGIN 
    114101            answer = proposedanswer 
    115102            complete = '(default answer is '+proposedanswer+') ' 
    116103         ENDELSE 
    117104         if n_elements(question) GT 1 THEN $ 
    118           for i = 0, n_elements(question)-2 do print,question[i]  
     105          for i = 0, n_elements(question)-2 do print,question[i] 
    119106         read, question[n_elements(question)-1]+' '+complete , answer 
    120107         if keyword_set(answer) EQ 0 then answer = proposedanswer 
  • trunk/SRC/ToBeReviewed/WIDGET/xx.pro

    r157 r231  
    11;+ 
     2; 
    23; @file_comments 
    3 ; 
    44; 
    55; @categories 
    66; 
    7 ;  
    87; @keyword JOUR 
    9 ;  
    10 ;  
     8; 
    119; @keyword MESHFILENAME 
    12 ;  
    13 ;  
     10; 
    1411; @keyword LISTVAR 
    15 ;  
    16 ;  
     12; 
    1713; @keyword LISTGRID 
    18 ;  
    19 ;  
    20 ; @keyword FUNCLEC_NAME  
    21 ;  
    22 ;  
     14; 
     15; @keyword FUNCLEC_NAME 
     16; 
    2317; @keyword CALENDAR 
    24 ;  
    25 ;  
     18; 
    2619; @keyword _EXTRA 
    27 ; Used to pass your keywords 
    28 ;  
    29 ;  
     20; Used to pass keywords 
     21; 
    3022; @uses 
    31 ;  
    32 ;  
     23; 
    3324; @restrictions 
    34 ;  
    35 ;  
     25; 
    3626; @examples 
    37 ;  
    38 ;  
     27; 
    3928; @history 
    40 ;  
    41 ;  
    42 ; @version  
     29; 
     30; @version 
    4331; $Id$ 
    4432; 
     
    6452   if NOT keyword_set(listvar) then listvar = ['tn','sn','un','vn', 'taux', 'tauy','hdep20','hdep28','hdep15','hturb','hpycn','htoth','emp','qn','qs', 'smltot11', 'smltot12', 'smltot13', 'smltot14', 'smltot15', 'smltot16', 'tmltot11', 'tmltot12', 'tmltot13', 'tmltot14', 'tmltot15', 'tmltot16'] 
    6553; list of grids to which variables refer to. 
    66    if NOT keyword_set(listgrid) then BEGIN  
     54   if NOT keyword_set(listgrid) then BEGIN 
    6755      listgrid = replicate('T', n_elements(listvar)) 
    6856      listgrid[[2, 4]] = 'U' 
    6957      listgrid[[3, 5]] = 'V' 
    7058   ENDIF 
    71 ; calendar to be used (in IDL julian days     
    72 ; ++++    if NOT keyword_set(calendar) then BEGIN  
     59; calendar to be used (in IDL julian days 
     60; ++++    if NOT keyword_set(calendar) then BEGIN 
    7361; ++++       if keyword_set(jour) then calendar = calendriertotem(/julian_day) ELSE calendar = calendriertotem(/julian_day, /mensuel) 
    7462; ++++    ENDIF 
  • trunk/SRC/ToBeReviewed/WIDGET/xxx.pro

    r226 r231  
    11;+ 
     2; 
    23; @file_comments 
    34; see <a href="../../../xmldoc/mini_notice.html">Mini Guide for Basic Commands in the XXX Program</a> 
     
    67; 
    78; @param EVENT 
    8 ; 
    99; 
    1010; @returns 
     
    2121; $Id$ 
    2222;- 
     23; 
    2324PRO xxx_event, event 
    24 ;------------------------------------------------------------ 
    2525; 
    2626  compile_opt idl2, strictarrsubs 
     
    103103   return 
    104104end 
    105 ;------------------------------------------------------------ 
    106 ;------------------------------------------------------------ 
    107 ;------------------------------------------------------------ 
    108 ;------------------------------------------------------------ 
    109 ;------------------------------------------------------------ 
    110 ;------------------------------------------------------------ 
     105; 
    111106;+ 
    112107; 
     
    119114; @param DATAFILENAME 
    120115; 
    121 ; 
    122116; @param IDLFILE 
    123117; 
    124 ; 
    125118; @param ARGSPRO 
    126 ; 
    127119; 
    128120; @keyword SEPARATE 
     
    136128; 
    137129; @keyword _EXTRA 
    138 ; Used to pass your keywords 
     130; Used to pass keywords 
    139131; 
    140132; @keyword CALLERWIDID 
    141 ; 
    142133; 
    143134; @keyword REDRAW 
     
    163154; 
    164155;- 
    165 ;------------------------------------------------------------ 
    166 ;------------------------------------------------------------ 
    167 ;------------------------------------------------------------ 
    168 ;------------------------------------------------------------ 
    169 ;------------------------------------------------------------ 
    170 ;------------------------------------------------------------ 
     156; 
    171157PRO xxx, datafilename, idlfile, argspro, CALLERWIDID = CallerWidId $ 
    172158         , REDRAW = redraw, SEPARATE = separate, UVALUE = uvalue $ 
    173159         , RESTORE = restore, _EXTRA = ex 
    174 ;------------------------------------------------------------ 
    175160; 
    176161  compile_opt idl2, strictarrsubs 
  • trunk/SRC/Utilities/createfunc.pro

    r229 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
     2; 
    53; @file_comments 
    64; write an IDL function, compile it and execute it. 
     
    2119; 
    2220; @keyword _EXTRA  
    23 ; used to pass your keywords to the created function. 
     21; Used to pass keywords to the created function. 
    2422; 
    2523; @restrictions 
     
    4038; 
    4139;- 
    42 ;------------------------------------------------------------ 
    43 ;------------------------------------------------------------ 
    44 ;------------------------------------------------------------ 
     40; 
    4541FUNCTION createfunc, command, FILENAMEIN = filenamein $ 
    4642               , KWDLIST = kwdlist, _EXTRA = ex 
  • trunk/SRC/Utilities/createpro.pro

    r230 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; @file_comments 
     
    2421; 
    2522; @keyword _EXTRA  
    26 ; used to pass your keywords to the created procedure. 
     23; Used to pass keywords to the created procedure. 
    2724; 
    2825; @restrictions 
     
    4643; $Id$ 
    4744;- 
    48 ;------------------------------------------------------------ 
    49 ;------------------------------------------------------------ 
    50 ;------------------------------------------------------------ 
     45; 
    5146PRO createpro, command, FILENAMEIN = filenamein $ 
    5247               , KWDLIST = kwdlist, KWDUSED = kwdused, _EXTRA = ex 
     
    8883; compile it 
    8984   resolve_routine, shortfilename 
    90 help,ex,/structure 
    91 print,' ex = ',ex 
     85;help,ex,/structure 
     86;print,' ex = ',ex 
    9287; execute it 
    9388   call_procedure, shortfilename, _extra = ex 
  • trunk/SRC/Utilities/def_myuniquetmpdir.pro

    r224 r231  
    11;+ 
     2; 
    23; @file_comments 
    34; if needed, define and create myuniquetmpdir 
     
    2122; 
    2223;- 
     24; 
    2325PRO def_myuniquetmpdir 
    2426; 
  • trunk/SRC/Utilities/demomode_compatibility.pro

    r224 r231  
    11;+ 
     2; 
    23; @categories 
    34; Utilities 
     
    910; $Id$ 
    1011;- 
     12; 
    1113PRO demomode_compatibility 
    1214; 
  • trunk/SRC/Utilities/find.pro

    r224 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; @file_comments 
     
    6562; 
    6663; @keyword _EXTRA  
    67 ; used to pass your keywords 
     64; Used to pass keywords 
    6865; 
    6966; @returns  
     
    109106; $Id$ 
    110107;- 
    111 ;------------------------------------------------------------ 
    112 ;------------------------------------------------------------ 
    113 ;------------------------------------------------------------ 
     108; 
    114109FUNCTION find, filein, IODIRECTORY = iodirectory, RECURSIVE = recursive $ 
    115110               , REPERTOIRE = repertoire, NOPRO = nopro, ONLYPRO = onlypro $ 
  • trunk/SRC/Utilities/fitintobox.pro

    r224 r231  
    1  ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    4239; 
    4340;- 
    44 ;------------------------------------------------------------ 
    45 ;------------------------------------------------------------ 
    46 ;------------------------------------------------------------ 
     41; 
    4742FUNCTION err_mess, sz, jpi, nx, jpj, ny, jpk, nz, jpt 
    4843; 
     
    7570; @param field {in}{required}{type=array or struct} 
    7671; an array or a structure that can be read by the function 
    77 ; litchamp.pro 
    78 ; 
    79 ; @param nx {in}{optional}{default=define by grille.pro} 
    80 ; 
    81 ; @param ny {in}{optional}{default=define by grille.pro} 
    82 ; 
    83 ; @param nz {in}{optional}{default=define by grille.pro} 
    84 ; 
    85 ; @param firstx {in}{optional}{default=define by grille.pro} 
    86 ; 
    87 ; @param firsty {in}{optional}{default=define by grille.pro} 
    88 ; 
    89 ; @param firstz {in}{optional}{default=define by grille.pro} 
    90 ; 
    91 ; @param lastx {in}{optional}{default=define by grille.pro} 
    92 ; 
    93 ; @param lasty {in}{optional}{default=define by grille.pro} 
    94 ; 
    95 ; @param lastz {in}{optional}{default=define by grille.pro} 
     72; <pro>litchamp</pro> 
     73; 
     74; @param nx {in}{optional}{default=define by <pro>grille</pro>} 
     75; 
     76; @param ny {in}{optional}{default=define by <pro>grille</pro>} 
     77; 
     78; @param nz {in}{optional}{default=define by <pro>grille</pro>} 
     79; 
     80; @param firstx {in}{optional}{default=define by <pro>grille</pro>} 
     81; 
     82; @param firsty {in}{optional}{default=define by <pro>grille</pro>} 
     83; 
     84; @param firstz {in}{optional}{default=define by <pro>grille</pro>} 
     85; 
     86; @param lastx {in}{optional}{default=define by <pro>grille</pro>} 
     87; 
     88; @param lasty {in}{optional}{default=define by <pro>grille</pro>} 
     89; 
     90; @param lastz {in}{optional}{default=define by <pro>grille</pro>} 
    9691; 
    9792; @keyword WDEPTH 
     
    10297; or -1 if there is an error... 
    10398; 
    104 ; @uses cm_4mesh 
    105 ; @uses cm_4cal 
     99; @uses  
     100; cm_4mesh 
     101; cm_4cal 
    106102; 
    107103; @examples 
     
    123119; $Id$ 
    124120;- 
    125 ;------------------------------------------------------------ 
     121; 
    126122FUNCTION fitintobox, field, nx, ny, nz, firstx, firsty $ 
    127123                     , firstz, lastx, lasty, lastz, WDEPTH = wdepth 
    128 ;------------------------------------------------------------ 
    129 ; include commons 
    130124; 
    131125  compile_opt idl2, strictarrsubs 
  • trunk/SRC/Utilities/isadirectory.pro

    r224 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
     2; 
    53; @file_comments 
    64; check if a directory exists and make sure that it ends 
     
    2220; 
    2321; @keyword _EXTRA 
    24 ; used to pass your keywords 
     22; Used to pass keywords 
    2523; 
    2624; all dialog_pickfile keywords (like filter) can be used. 
     
    4543; $Id$ 
    4644;- 
    47 ;------------------------------------------------------------ 
    48 ;------------------------------------------------------------ 
    49 ;------------------------------------------------------------ 
     45; 
    5046FUNCTION isadirectory, directoryin, TITLE = title, IODIRECTORY = iodirectory, _extra = ex 
    5147; 
  • trunk/SRC/Utilities/isafile.pro

    r224 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
     2; 
    53; @file_comments 
    6 ; same as find.pro except that as long as the file is 'NOT FOUND', 
     4; same as <pro>find</pro> except that as long as the file is 'NOT FOUND', 
    75; isafile calls dialog_pickfile, to ask the user to select a file. 
    86; 
    9 ; @categories io 
     7; @categories  
     8; io 
    109; 
    1110; @param FILEIN {in}{optional} 
     
    3736; 
    3837; @keyword _EXTRA 
    39 ; used to pass your keywords 
     38; Used to pass keywords 
    4039; 
    4140; all find, file_search and dialog_pickfile keywords (like title) can be used 
     
    6665; $Id$ 
    6766;- 
    68 ;------------------------------------------------------------ 
    69 ;------------------------------------------------------------ 
    70 ;------------------------------------------------------------ 
     67; 
    7168FUNCTION isafile, filein, FILENAME = filename, IODIRECTORY = iodirectory $ 
    7269                  , NEW = new, RECURSIVE = RECURSIVE, ONLYPRO = onlypro $ 
    7370                  , ONLYNC = onlync, _extra = ex 
    74 ;------------------------------------------------------------ 
    7571; 
    7672  compile_opt idl2, strictarrsubs 
  • trunk/SRC/Utilities/linearequation.pro

    r224 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    4340; 
    4441;- 
    45 ;------------------------------------------------------------ 
    46 ;------------------------------------------------------------ 
    47 ;------------------------------------------------------------ 
     42; 
    4843FUNCTION linearequation, point1, point2 
    4944; 
  • trunk/SRC/Utilities/lineintersection.pro

    r224 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    5754; 
    5855;- 
    59 ;------------------------------------------------------------ 
    60 ;------------------------------------------------------------ 
    61 ;------------------------------------------------------------ 
     56; 
    6257FUNCTION lineintersection, abc1, abc2, FLOAT = float 
    6358; 
  • trunk/SRC/Utilities/mergeonline_help.pro

    r224 r231  
    11;+ 
     2; 
    23; @file_comments 
    34; Have one unique online help for IDL and SAXO 
     
    1516; $Id$ 
    1617;- 
     18; 
    1719PRO mergeonline_help 
    1820; 
  • trunk/SRC/Utilities/protype.pro

    r224 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
     2; 
    53; @file_comments 
    64; test is a ".pro" file corresponds to an IDL procedure, function or batch file. 
     
    3634; $Id$ 
    3735;- 
    38 ;------------------------------------------------------------ 
    39 ;------------------------------------------------------------ 
    40 ;------------------------------------------------------------ 
     36; 
    4137FUNCTION protype, file 
    4238; 
  • trunk/SRC/Utilities/pwd.pro

    r224 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    1714; 
    1815;- 
    19 ;------------------------------------------------------------ 
    20 ;------------------------------------------------------------ 
    21 ;------------------------------------------------------------ 
     16; 
    2217PRO pwd 
    2318; 
  • trunk/SRC/Utilities/report.pro

    r230 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
    63; @file_comments 
    7 ; Like dialog_message.pro if there is already some widget 
    8 ; active or like message.pro if there is not any widget active. 
     4; Like <pro>dialog_message</pro> if there is already some widget 
     5; active or like <pro>message</pro> if there is not any widget active. 
    96; To ask a question whose answer is not yes/no,use xquestion. 
    107; 
     
    2017; 
    2118; @keyword _EXTRA 
    22 ; used to pass keywords from dialog_message.pro and message.pro 
     19; Used to pass keywords to <pro>dialog_message</pro> and <pro>message</pro> 
    2320; 
    2421; @keyword PARENT 
    25 ; same as DIALOG_PARENT de dialog_message.pro 
     22; same as DIALOG_PARENT of <pro>dialog_message</pro> 
    2623; 
    2724; @keyword QUESTION {default="Warning"} 
     
    6461; 
    6562;- 
    66 ;------------------------------------------------------------ 
    67 ;------------------------------------------------------------ 
    68 ;------------------------------------------------------------ 
     63; 
    6964FUNCTION report, text, DEFAULT_NO = default_no, PARENT = parent, QUESTION = question, SIMPLE = simple, _extra = ex 
    7065; 
  • trunk/SRC/Utilities/routine_name.pro

    r226 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    4340; 
    4441;- 
    45 ;------------------------------------------------------------ 
    46 ;------------------------------------------------------------ 
    47 ;------------------------------------------------------------ 
     42; 
    4843FUNCTION routine_name,  pilingnum 
    4944; 
  • trunk/SRC/Utilities/testvar.pro

    r224 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    3027; 
    3128;- 
    32 ;------------------------------------------------------------ 
    33 ;------------------------------------------------------------ 
    34 ;------------------------------------------------------------ 
     29; 
    3530FUNCTION testvar, var = var 
    3631; 
  • trunk/SRC/Utilities/text_box.pro

    r226 r231  
    3636; 
    3737; @keyword _EXTRA 
    38 ; used to pass your keyword 
     38; Used to pass keywords 
    3939; 
    4040; @keyword BOX 
     
    5050; 
    5151;- 
     52; 
    5253PRO text_box,text,pos=pos,fg_color=fg_color,bg_color=bg_color,$ 
    5354               center=center,right=right,box=box,vert_space=vert_space, _EXTRA = ex 
  • trunk/SRC/Utilities/undefine.pro

    r224 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    3633; 
    3734;- 
    38 ;------------------------------------------------------------ 
    39 ;------------------------------------------------------------ 
    40 ;------------------------------------------------------------ 
    41    PRO undefine, varname 
     35; 
     36PRO undefine, varname 
    4237; 
    4338  compile_opt idl2, strictarrsubs 
     
    4540   tempvar = SIZE(TEMPORARY(varname)) 
    4641   END 
    47  
  • trunk/SRC/Utilities/xfile.pro

    r230 r231  
    1 ;------------------------------------------------------------ 
    2 ;------------------------------------------------------------ 
    3 ;------------------------------------------------------------ 
    41;+ 
    52; 
     
    1815; 
    1916; @keyword _EXTRA 
    20 ; used to pass your keywords 
     17; Used to pass keywords 
    2118; 
    2219; @examples 
     
    3229; 
    3330;- 
    34 ;------------------------------------------------------------ 
    35 ;------------------------------------------------------------ 
    36 ;------------------------------------------------------------ 
     31; 
    3732PRO xfile, filename, _extra = ex 
    3833; 
  • trunk/SRC/Utilities/xhelp.pro

    r230 r231  
    1515; 
    1616; @keyword _EXTRA 
    17 ; used to pass your keywords 
     17; Used to pass keywords 
    1818; 
    1919; @restrictions 
     
    3838; 
    3939;- 
     40; 
    4041PRO xhelp, filename, _extra=ex 
    4142; 
  • trunk/SRC/buildinit.pro

    r229 r231  
    11;+ 
     2; 
    23; @file_comments 
    34; 
    4 ; 
    55; @categories 
    6 ; 
    76; 
    87; @param PARENT {in}{required} 
    98; The ID of the parent widget. 
    109; 
    11 ; @keyword COLUMN  
     10; @keyword COLUMN 
    1211; Buttons will be arranged in the number of columns specified by this keyword. 
    1312; 
     
    1615; 
    1716; @keyword EVENT_FUNC 
    18 ; The name of an optional user-supplied event function for buttons.  
    19 ; This function is called with the return value structure whenever a  
     17; The name of an optional user-supplied event function for buttons. 
     18; This function is called with the return value structure whenever a 
    2019; button is pressed, and follows the conventions for user-written event functions. 
    2120; 
    2221; @keyword FLOATING 
    2322; 
    24 ; 
    2523; @keyword INTEGER 
    2624; 
    27 ; 
    2825; @keyword LONG 
    2926; 
    30 ; 
    3127; @keyword STRING 
    3228; 
    33 ; 
    3429; @keyword FONT 
    35 ; The name of the font to be used for the button titles. If this keyword  
     30; The name of the font to be used for the button titles. If this keyword 
    3631; is not specified, the default font is used. 
    3732; 
     
    4742; @keyword VALUE 
    4843; 
    49 ; 
    5044; @keyword RETURN_EVENTS 
    5145; 
    52 ; 
    5346; @keyword ALL_EVENTS 
    5447; 
    55 ; 
    5648; @keyword FIELDFONT 
    5749; 
    58 ; 
    5950; @keyword NOEDIT 
    6051; 
    61 ; 
    6252; @keyword TEXT_FRAME 
    6353; 
    64 ; 
    6554; @keyword XSIZE 
    66 ; The width of the base.  
     55; The width of the base 
    6756; 
    6857; @keyword YSIZE 
     
    7968; 
    8069; @examples 
    81 ; 
    8270; 
    8371; @history 
     
    8775;- 
    8876; 
    89 ;---------------------------------------------------------- 
    90 ;---------------------------------------------------------- 
    91 ; 
    9277; slightly modified version of cw_field... 
     78; 
    9379FUNCTION cw_field2, Parent, COLUMN=Column, ROW=Row, $ 
    9480    EVENT_FUNC = efun, $ 
     
    9884    FIELDFONT=FieldFont, NOEDIT=NoEdit, TEXT_FRAME=Text_Frame, $ 
    9985    XSIZE=XSize, YSIZE=YSize, UNAME=uname 
    100 ;   FLOOR=vmin, CEILING=vmax  
     86;   FLOOR=vmin, CEILING=vmax 
    10187; 
    10288  compile_opt idl2, strictarrsubs 
     
    165151  END 
    166152; 
    167 ;---------------------------------------------------------- 
    168 ;---------------------------------------------------------- 
    169153; 
    170154;+ 
     
    174158; @categories 
    175159; 
    176 ;  
     160; 
    177161; @param EVENT 
    178162; 
    179163; 
    180164; @returns 
    181 ;  
    182 ;  
     165; 
    183166; @uses 
    184 ;  
    185 ;  
     167; 
    186168; @restrictions 
    187 ;  
    188 ;  
     169; 
    189170; @examples 
    190 ;  
    191 ;  
     171; 
    192172; @history 
    193 ;  
    194 ;  
    195 ; @version  
     173; 
     174; @version 
    196175; $Id$ 
    197176;- 
     
    226205END 
    227206; 
    228 ;---------------------------------------------------------- 
    229 ;---------------------------------------------------------- 
    230207; 
    231208;+ 
     209; 
    232210; @file_comments 
    233211; 
    234 ; 
    235212; @categories 
    236213; 
    237 ;  
    238214; @param EVENT 
    239215; 
    240 ; 
    241216; @returns 
    242 ;  
    243 ;  
     217; 
    244218; @uses 
    245 ;  
    246 ;  
     219; 
    247220; @restrictions 
    248 ;  
    249 ;  
     221; 
    250222; @examples 
    251 ;  
    252 ;  
     223; 
    253224; @history 
    254 ;  
    255 ;  
    256 ; @version  
     225; 
     226; @version 
    257227; $Id$ 
    258228;- 
     
    283253; @file_comments 
    284254; 
    285 ; 
    286255; @categories 
    287256; 
    288 ;  
    289257; @param EVENT 
    290258; 
    291 ; 
    292259; @returns 
    293 ;  
    294 ;  
     260; 
    295261; @uses 
    296 ;  
    297 ;  
     262; 
    298263; @restrictions 
    299 ;  
    300 ;  
     264; 
    301265; @examples 
    302 ;  
    303 ;  
     266; 
    304267; @history 
    305 ;  
    306 ;  
    307 ; @version  
     268; 
     269; @version 
    308270; $Id$ 
    309271;- 
     
    320282END 
    321283; 
    322 ;---------------------------------------------------------- 
    323 ;---------------------------------------------------------- 
    324 ; 
    325284;+ 
     285; 
    326286; @file_comments 
    327287; 
    328 ; 
    329288; @categories 
    330289; 
    331 ;  
    332290; @keyword _EXTRA 
    333 ; Used to pass your keywords 
     291; Used to pass keywords 
    334292; 
    335293; @returns 
    336 ;  
    337 ;  
     294; 
    338295; @uses 
    339 ;  
    340 ;  
     296; 
    341297; @restrictions 
    342 ;  
    343 ;  
     298; 
    344299; @examples 
    345 ;  
    346 ;  
     300; 
    347301; @history 
    348 ;  
    349 ;  
    350 ; @version  
     302; 
     303; @version 
    351304; $Id$ 
    352305;- 
     306; 
    353307FUNCTION xask, _extra = ex 
    354308; 
    355309  compile_opt idl2, strictarrsubs 
    356310; 
    357   base = widget_base()  
    358   field = cw_field2(base, /frame, /return_events, /column, _extra = ex)  
     311  base = widget_base() 
     312  field = cw_field2(base, /frame, /return_events, /column, _extra = ex) 
    359313  ptranswer = ptr_new(/allocate_heap) 
    360314; we realize the widget and wait for an answer 
     
    368322END 
    369323; 
    370 ;---------------------------------------------------------- 
    371 ;---------------------------------------------------------- 
    372 ; 
    373324;+ 
     325; 
    374326; @file_comments 
    375327; 
    376 ; 
    377328; @categories 
    378 ; 
    379329; 
    380330; @keyword TITLE 
     
    382332; 
    383333; @keyword NOMARK 
    384 ;  
    385334; 
    386335; @keyword NOWRITE 
    387336; 
    388 ; 
    389337; @returns 
    390 ;  
    391 ;  
     338; 
    392339; @uses 
    393 ;  
    394 ;  
     340; 
    395341; @restrictions 
    396 ;  
    397 ;  
     342; 
    398343; @examples 
    399 ;  
    400 ;  
     344; 
    401345; @history 
    402 ;  
    403 ;  
    404 ; @version  
     346; 
     347; @version 
    405348; $Id$ 
    406349;- 
     350; 
    407351FUNCTION getdir, title = title, nomark = nomark, nowrite = nowrite 
    408352; 
    409353  compile_opt idl2, strictarrsubs 
    410354; 
    411    
     355 
    412356  REPEAT BEGIN 
    413357    dir = dialog_pickfile(/directory, /must_exist, title = title) 
     
    422366END 
    423367; 
    424 ;---------------------------------------------------------- 
    425 ;---------------------------------------------------------- 
    426368; 
    427369;+ 
     370; 
    428371; @file_comments 
    429372; 
    430 ; 
    431373; @categories 
    432374; 
    433 ; 
    434375; @returns 
    435 ;  
    436 ;  
     376; 
    437377; @uses 
    438 ;  
    439 ;  
     378; 
    440379; @restrictions 
    441 ;  
    442 ;  
     380; 
    443381; @examples 
    444 ;  
    445 ;  
     382; 
    446383; @history 
    447 ;  
    448 ;  
    449 ; @version  
     384; 
     385; @version 
    450386; $Id$ 
    451387;- 
     388; 
    452389PRO buildinit 
    453390; 
    454 ; 
    455391  compile_opt idl2, strictarrsubs 
    456392; 
    457   IF fix(strmid(!version.release, 0, 1)) LT 6 THEN BEGIN  
     393  IF fix(strmid(!version.release, 0, 1)) LT 6 THEN BEGIN 
    458394    print, '                   *** ***** ***' 
    459395    print, '                   *** ERROR ***' 
     
    496432                        , 'with the old version ?'], /question, /default_no) 
    497433  yes = strlowcase(yes) 
    498    
     434 
    499435  init = [init $ 
    500436          , ';' $ 
    501437          , '; compatibility with the old version' $ 
    502438          , ';' $ 
    503           , 'keep_compatibility, ' + strtrim(fix(yes EQ 'yes'), 2)]  
     439          , 'keep_compatibility, ' + strtrim(fix(yes EQ 'yes'), 2)] 
    504440; 
    505441; define all the commons 
     
    535471  ptnumb = xask(title = 'Number of accessible printers', value = 0, /long) 
    536472; 
    537 ; define all the printer parameters  
     473; define all the printer parameters 
    538474; 
    539475  init = [init $ 
     
    543479; 
    544480  IF ptnumb NE 0 THEN BEGIN 
    545     base = widget_base(/column, /frame)  
     481    base = widget_base(/column, /frame) 
    546482    cwids = lonarr(3, ptnumb) 
    547483    FOR i = 0, ptnumb-1 DO BEGIN 
    548484      subbase = widget_base(base, /row) 
    549485      cwids[0, i] = cw_field(subbase, /string $ 
    550                              , Title = 'printer_human_names['+strtrim(i, 2)+'] = ')  
     486                             , Title = 'printer_human_names['+strtrim(i, 2)+'] = ') 
    551487      cwids[1, i] = cw_field(subbase, /string $ 
    552                              , Title = 'printer_machine_names['+strtrim(i, 2)+'] = ')  
     488                             , Title = 'printer_machine_names['+strtrim(i, 2)+'] = ') 
    553489      cwids[2, i] = cw_field(subbase, /string, value = '\lpr -P' $ 
    554                              , Title = 'print_command['+strtrim(i, 2)+'] = ')  
     490                             , Title = 'print_command['+strtrim(i, 2)+'] = ') 
    555491    ENDFOR 
    556492    trash = widget_button(base, value = 'ok', uvalue = cwids) 
     
    580516            , 'printer_machine_names = ''''' $ 
    581517            , 'print_command = '''''] 
    582   ENDELSE  
     518  ENDELSE 
    583519; 
    584520; Colors 
     
    622558; postscript position 
    623559; 
    624   yes = dialog_message(['the default postscript position', 'is landscape?'], /question)  
     560  yes = dialog_message(['the default postscript position', 'is landscape?'], /question) 
    625561  init = [init $ 
    626562          , ';' $ 
     
    661597          , '11x17        11         17         27.94     43.18' $ 
    662598          , 'ledger       17         11         43.18     27.94'] 
    663   base = widget_base(/column)  
     599  base = widget_base(/column) 
    664600  trash = widget_label(base, value = '--- Select the paper size ---') 
    665601  trash = widget_label(base, value = '') 
     
    689625  wsize_scale = xask(title = title, value = 1, /floating) 
    690626  init = [init, 'windowsize_scale = ' + strtrim(wsize_scale, 2)] 
    691    
     627 
    692628; 
    693629; postscript archiving... 
Note: See TracChangeset for help on using the changeset viewer.