- Timestamp:
- 06/07/06 19:12:14 (18 years ago)
- Location:
- trunk/SRC
- Files:
-
- 39 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SRC/Calendar/date2jul.pro
r69 r93 3 3 ;------------------------------------------------------------ 4 4 ;+ 5 ; NAME: date2jul6 5 ; 7 ; PURPOSE:gives julian day equivalent of a date in yyyymmdd format6 ; gives julian day equivalent of a date in yyyymmdd format 8 7 ; 9 ; CATEGORY:calendar8 ; @categories calendar 10 9 ; 11 ; CALLING SEQUENCE: jday = juldate(19930124)10 ; @param date {in}{required} date in yyyymmdd format 12 11 ; 13 ; INPUTS: date in yyyymmdd format 14 ; 15 ; KEYWORD PARAMETERS: 16 ; 17 ; /GRADS: if 1 <= year <= 49 --> year = 2000 + year 12 ; @keyword /GRADS {in}{optional} 13 ; if 1 <= year <= 49 --> year = 2000 + year 18 14 ; if 50 <= year <= 99 --> year = 1900 + year 19 15 ; 20 ; OUTPUTS:date en jour julien16 ; @returns date in julian day 21 17 ; 22 ; COMMON BLOCKS: none18 ; @examples 23 19 ; 24 ; SIDE EFFECTS: ? 25 ; 26 ; RESTRICTIONS: ? 27 ; 28 ; EXAMPLE: 29 ; 20 ; IDL> jday = juldate(19930124) 30 21 ; IDL> print, date2jul(19931205) EQ julday(12,5,1993) 31 22 ; 1 … … 33 24 ; 1 34 25 ; 35 ; MODIFICATION HISTORY:Sebastien Masson (smasson@lodyc.jussieu.fr)26 ; @history Sebastien Masson (smasson@lodyc.jussieu.fr) 36 27 ; June 2005 37 28 ;- -
trunk/SRC/Calendar/date2string.pro
r9 r93 3 3 ;------------------------------------------------------------ 4 4 ;+ 5 ; NAME: date2string6 5 ; 7 ; PURPOSE:create a nice and readable format to print a date6 ; create a nice and readable format to print a date 8 7 ; 9 ; CATEGORY: calendar/string8 ; @categories calendar, string 10 9 ; 11 ; CALLING SEQUENCE: nice_date = date2string(yyyymmdd) 12 ; 13 ; INPUTS: yyyymmdd the date in the format 14 ; yearyearyearyearmonthmonthdayday 10 ; @param yyyymmdd {in}{required} the date in the format yyyymmdd 15 11 ; 16 ; KEYWORD PARAMETERS:those of string fonction to specify the 17 ; format of the month (the C format) 12 ; @file_comments keyword parameters of string function to specify the format of the month (the C format) can be used 18 13 ; 19 ; OUTPUTS:a string containing the date in a easy readable format14 ; @returns a string containing the date in a easy readable format 20 15 ; 21 ; COMMON BLOCKS:none 22 ; 23 ; SIDE EFFECTS:? 24 ; 25 ; RESTRICTIONS:? 26 ; 27 ; EXAMPLE: 16 ; @examples 28 17 ; 29 18 ; IDL> print, date2string(19900123) … … 32 21 ; JAN 23, 1990 33 22 ; 34 ; MODIFICATION HISTORY:Sebastien Masson (smasson@lodyc.jussieu.fr)23 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 35 24 ; Creation ??? 36 25 ; update/review June 2005 Sebastien Masson. -
trunk/SRC/Calendar/daysinmonth.pro
r9 r93 3 3 ;------------------------------------------------------------ 4 4 ;+ 5 ; NAME:daysinmonth6 5 ; 7 ; PURPOSE:give the nomber of days in a specefic month6 ; give the number of days in a specific month 8 7 ; 9 ; CATEGORY: calandar8 ; @categories calendar 10 9 ; 11 ; CALLING SEQUENCE: ndays = daysinmonth([month[, year]])12 10 ; 13 ; INPUTS (optionnal): month and year. Year is used only if the 14 ; common variable key_caltype = 'greg'. In that case, month 15 ; and year must have the same number of elements. if not 16 ; provided, we take month and year from "time" common variable. 11 ; @param month {in}{optional} 12 ; @param year {in}{optional} 13 ; Year is used only if the common variable key_caltype = 'greg'. 14 ; In that case, month and year must have the same number of elements. 15 ; If not provided, we take month and year from "time" common variable. 17 16 ; 18 ; KEYWORD PARAMETERS:17 ; @returns number of days in a month or -1 in case of error 19 18 ; 20 ; OUTPUTS: 19 ; @uses cm_4cal 20 ; 21 ; @examples 22 ; IDL> ndays = daysinmonth(2, 2000) 21 23 ; 22 ; COMMON BLOCKS: cm_4cal 23 ; 24 ; SIDE EFFECTS: return -1 in case of error 25 ; 26 ; RESTRICTIONS: 27 ; 28 ; EXAMPLE: 29 ; 30 ; MODIFICATION HISTORY: Sebastien Masson (smasson@lodyc.jussieu.fr) 24 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 31 25 ; 2/7/98 32 26 ; update/review/english/new commons: June 2005 Sebastien Masson. -
trunk/SRC/Calendar/jul2date.pro
r69 r93 3 3 ;------------------------------------------------------------ 4 4 ;+ 5 ; NAME: jul2date6 5 ; 7 ; PURPOSE:gives yyyymmdd date equivalent of a julian day6 ; gives yyyymmdd date equivalent of a julian day 8 7 ; 9 ; CATEGORY:calendar8 ; @categories calendar 10 9 ; 11 ; CALLING SEQUENCE: date = jul2date(jday)10 ; @param jday {in}{required} julian day 12 11 ; 13 ; INPUTS:jday: julian day12 ; @returns date in yyyymmdd format 14 13 ; 15 ; KEYWORD PARAMETERS: None 16 ; 17 ; OUTPUTS: date in yyyymmdd format 18 ; 19 ; COMMON BLOCKS: None 20 ; 21 ; SIDE EFFECTS: 22 ; 23 ; RESTRICTIONS: 24 ; 25 ; EXAMPLE: 14 ; @examples 26 15 ; 27 16 ; IDL> print, jul2date(julday(12,23,1999)) 28 17 ; 19991223 29 18 ; 30 ; MODIFICATION HISTORY: Sebastien Masson (smasson@lodyc.jussieu.fr)19 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 31 20 ; June 2005 32 21 ;- -
trunk/SRC/Calendar/leapyr.pro
r9 r93 1 1 ;----------------------------------------------------------------- 2 function leapyr, year3 2 ;+ 4 ; NAME: leapyr5 3 ; 6 ; PURPOSE:determine whether the input year is a leap year or not7 ; 8 ; 4 ; determine whether the input year is a leap year or not 5 ; Very useful for finding number of days in a year. 6 ; eg. NUM_DAYS_IN_YR = 365 + leapyr(year) 9 7 ; 10 ; CATEGORY: Utility8 ; @categories calendar 11 9 ; 12 ; CALLING SEQUENCE: result = leapyr(year)10 ; @param year {in}{required} year to be tested as a leap year 13 11 ; 14 ; INPUTS: year = test if year is a leap year 12 ; @returns 0 then not a leap year 13 ; 1 then year is a leap year 15 14 ; 16 ; OUTPUTS: result = 0 then not a leap year 17 ; = 1 then year is a leap year 15 ; @uses cm_4cal 18 16 ; 19 ; COMMON BLOCKS: cm_4cal 17 ; @examples 18 ; IDL> result = leapyr(2000) 20 19 ; 21 ; SIDE EFFECTS: 22 ; none. 23 ; MODIFICATION HISTORY: 20 ; @history 24 21 ; 25 ; 26 ; 22 ; Originally Written by: Trevor Harris, Physics Dept., University of Adelaide, 23 ;20/09/88 27 24 ; 28 25 ; November 2004: correction for century years... S. Masson; … … 40 37 ;- 41 38 ;------------------------------------------------------------ 39 function leapyr, year 42 40 ; include commons 43 41 @cm_4cal 44 ;------------------------------------------------------------45 42 yr = long(year) 46 43 IF n_elements(key_caltype) EQ 0 THEN key_caltype = 'greg' -
trunk/SRC/Calendar/monthname.pro
r9 r93 3 3 ;------------------------------------------------------------ 4 4 ;+ 5 ; NAME:monthname6 5 ; 7 ; PURPOSE:gives the name of a month6 ; gives the name of a month 8 7 ; 9 ; CATEGORY: 8 ; @categories calendar 9 ; 10 ; @param number {in}{required} the month number (from 1 to 12) 10 11 ; 11 ; CALLING SEQUENCE:name=monthname(number) 12 ; 13 ; INPUTS: number, the month number (from 1 to 12) 12 ; @file_comments keyword parameters of string function to specify the format of the month (the C format) can be used. 14 13 ; 15 ; KEYWORD PARAMETERS:those of string fonction to specify the 16 ; format of the month (the C format) 14 ; @returns the month's name 17 15 ; 18 ; OUTPUTS: an integer, the month's name 16 ; @examples 17 ; IDL> name=monthname(2) 19 18 ; 20 ; COMMON BLOCKS:None 21 ; 22 ; SIDE EFFECTS: 23 ; 24 ; RESTRICTIONS: 25 ; 26 ; EXAMPLE: 27 ; 28 ; MODIFICATION HISTORY:Sebastien Masson (smasson@lodyc.jussieu.fr) 19 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 29 20 ; 1 October 2001 30 21 ;- -
trunk/SRC/Documentation/idldoc_html_output/Calendar/date2jul.html
r89 r93 102 102 <div class="routine_details" id="_date2jul"> 103 103 104 <h2><a class="top" href="#container">top</a>date2jul </h2> 104 <h2><a class="top" href="#container">top</a>date2jul <span class="categories"> calendar 105 </span></h2> 105 106 106 107 <p class="header"> 107 <span class="result">result = </span>date2jul(<span class="result"><a href="#_date2jul_param_date">date</a></span> , <a href="#_date2jul_keyword_GRADS">GRADS</a>=<span class="result">GRADS</span>)</p>108 <span class="result">result = </span>date2jul(<span class="result"><a href="#_date2jul_param_date">date</a></span>[, <a href="#_date2jul_keyword_GRADS">GRADS</a>=<span class="result">GRADS</span>])</p> 108 109 109 110 <div class="comments"> 110 NAME: date2jul 111 112 PURPOSE: gives julian day equivalent of a date in yyyymmdd format 113 114 CATEGORY: calendar 115 116 CALLING SEQUENCE: jday = juldate(19930124) 117 118 INPUTS: date in yyyymmdd format 119 120 KEYWORD PARAMETERS: 121 122 /GRADS: if 1 <= year <= 49 --> year = 2000 + year 111 112 gives julian day equivalent of a date in yyyymmdd format 113 </div> 114 115 <h3>Return value</h3><div class="value"> date in julian day 116 </div> 117 118 119 <h3>Parameters</h3> 120 121 122 <h4 id="_date2jul_param_date">date 123 <span class="attr">in</span> 124 125 126 <span class="attr">required</span> 127 128 129 130 131 </h4> 132 133 <div class="comments"> date in yyyymmdd format 134 </div> 135 136 137 138 139 140 141 <h3>Keywords</h3> 142 143 <h4 id="_date2jul_keyword_GRADS">GRADS 144 <span class="attr">in</span> 145 146 <span class="attr">optional</span> 147 148 149 150 151 152 </h4> 153 154 <div class="comments"> 155 if 1 <= year <= 49 --> year = 2000 + year 123 156 if 50 <= year <= 99 --> year = 1900 + year 124 125 OUTPUTS:date en jour julien 126 127 COMMON BLOCKS: none 128 129 SIDE EFFECTS: ? 130 131 RESTRICTIONS: ? 132 133 EXAMPLE: 134 157 </div> 158 159 160 161 <h3>Examples</h3><div class="value"> 162 163 IDL> jday = juldate(19930124) 135 164 IDL> print, date2jul(19931205) EQ julday(12,5,1993) 136 165 1 … … 138 167 1 139 168 </div> 140 141 142 143 144 <h3>Parameters</h3> 145 146 147 <h4 id="_date2jul_param_date">date 148 149 150 151 152 153 154 155 156 </h4> 157 158 <div class="comments"></div> 159 160 161 162 163 164 165 <h3>Keywords</h3> 166 167 <h4 id="_date2jul_keyword_GRADS">GRADS 168 169 170 171 172 173 174 175 176 </h4> 177 178 <div class="comments"></div> 179 180 181 182 183 184 185 186 169 <h3>Version history</h3> 170 171 172 <h4>History</h4><div class="value"> Sebastien Masson (smasson@lodyc.jussieu.fr) 173 June 2005</div> 187 174 188 175 -
trunk/SRC/Documentation/idldoc_html_output/Calendar/date2string.html
r89 r93 87 87 </div> 88 88 89 <div id="file_comments"></div> 89 <div id="file_comments"> keyword parameters of string function to specify the format of the month (the C format) can be used 90 </div> 90 91 91 92 … … 102 103 <div class="routine_details" id="_date2string"> 103 104 104 <h2><a class="top" href="#container">top</a>date2string </h2> 105 <h2><a class="top" href="#container">top</a>date2string <span class="categories"> calendar, string 106 </span></h2> 105 107 106 108 <p class="header"> … … 108 110 109 111 <div class="comments"> 110 NAME: date2string 111 112 PURPOSE: create a nice and readable format to print a date 113 114 CATEGORY: calendar/string 115 116 CALLING SEQUENCE: nice_date = date2string(yyyymmdd) 117 118 INPUTS: yyyymmdd the date in the format 119 yearyearyearyearmonthmonthdayday 120 121 KEYWORD PARAMETERS:those of string fonction to specify the 122 format of the month (the C format) 123 124 OUTPUTS: a string containing the date in a easy readable format 125 126 COMMON BLOCKS:none 127 128 SIDE EFFECTS:? 129 130 RESTRICTIONS:? 131 132 EXAMPLE: 112 113 create a nice and readable format to print a date 114 </div> 115 116 <h3>Return value</h3><div class="value"> a string containing the date in a easy readable format 117 </div> 118 119 120 <h3>Parameters</h3> 121 122 123 <h4 id="_date2string_param_yyyymmdd">yyyymmdd 124 <span class="attr">in</span> 125 126 127 <span class="attr">required</span> 128 129 130 131 132 </h4> 133 134 <div class="comments"> the date in the format yyyymmdd 135 </div> 136 137 138 139 140 141 142 <h3>Keywords</h3> 143 144 <h4 id="_date2string_keyword__EXTRA">_EXTRA 145 146 147 148 149 150 151 152 153 </h4> 154 155 <div class="comments"></div> 156 157 158 159 <h3>Examples</h3><div class="value"> 133 160 134 161 IDL> print, date2string(19900123) … … 137 164 JAN 23, 1990 138 165 </div> 139 140 141 142 143 <h3>Parameters</h3> 144 145 146 <h4 id="_date2string_param_yyyymmdd">yyyymmdd 147 148 149 150 151 152 153 154 155 </h4> 156 157 <div class="comments"></div> 158 159 160 161 162 163 164 <h3>Keywords</h3> 165 166 <h4 id="_date2string_keyword__EXTRA">_EXTRA 167 168 169 170 171 172 173 174 175 </h4> 176 177 <div class="comments"></div> 178 179 180 181 182 183 184 185 166 <h3>Version history</h3> 167 168 169 <h4>History</h4><div class="value"> Sebastien Masson (smasson@lodyc.jussieu.fr) 170 Creation ??? 171 update/review June 2005 Sebastien Masson.</div> 186 172 187 173 -
trunk/SRC/Documentation/idldoc_html_output/Calendar/daysinmonth.html
r89 r93 102 102 <div class="routine_details" id="_daysinmonth"> 103 103 104 <h2><a class="top" href="#container">top</a>daysinmonth </h2> 104 <h2><a class="top" href="#container">top</a>daysinmonth <span class="categories"> calendar 105 106 </span></h2> 105 107 106 108 <p class="header"> 107 <span class="result">result = </span>daysinmonth(<span class="result"> <a href="#_daysinmonth_param_month">month</a>, <a href="#_daysinmonth_param_year">year</a></span>)</p>109 <span class="result">result = </span>daysinmonth(<span class="result">[<a href="#_daysinmonth_param_month">month</a>][, <a href="#_daysinmonth_param_year">year</a>]</span>)</p> 108 110 109 111 <div class="comments"> 110 NAME:daysinmonth111 112 112 PURPOSE:give the nomber of days in a specefic month 113 114 CATEGORY: calandar 115 116 CALLING SEQUENCE: ndays = daysinmonth([month[, year]]) 117 118 INPUTS (optionnal): month and year. Year is used only if the 119 common variable key_caltype = 'greg'. In that case, month 120 and year must have the same number of elements. if not 121 provided, we take month and year from "time" common variable. 122 123 KEYWORD PARAMETERS: 124 125 OUTPUTS: 126 127 COMMON BLOCKS: cm_4cal 128 129 SIDE EFFECTS: return -1 in case of error 130 131 RESTRICTIONS: 132 133 EXAMPLE: 113 give the number of days in a specific month 134 114 </div> 135 115 136 116 <h3>Return value</h3><div class="value"> number of days in a month or -1 in case of error 117 </div> 137 118 138 119 … … 141 122 142 123 <h4 id="_daysinmonth_param_month">month 124 <span class="attr">in</span> 143 125 144 145 126 <span class="attr">optional</span> 146 127 147 128 … … 151 132 </h4> 152 133 153 <div class="comments"> </div>134 <div class="comments"> </div> 154 135 155 136 <h4 id="_daysinmonth_param_year">year 137 <span class="attr">in</span> 156 138 157 158 139 <span class="attr">optional</span> 159 140 160 141 … … 164 145 </h4> 165 146 166 <div class="comments"></div> 147 <div class="comments"> 148 Year is used only if the common variable key_caltype = 'greg'. 149 In that case, month and year must have the same number of elements. 150 If not provided, we take month and year from "time" common variable. 151 </div> 167 152 168 153 … … 171 156 172 157 158 <h3>Examples</h3><div class="value"> 159 IDL> ndays = daysinmonth(2, 2000) 160 </div> 161 <h3>Version history</h3> 173 162 174 163 175 176 177 164 <h4>History</h4><div class="value"> Sebastien Masson (smasson@lodyc.jussieu.fr) 165 2/7/98 166 update/review/english/new commons: June 2005 Sebastien Masson.</div> 178 167 179 168 … … 184 173 185 174 175 <h3>Other attributes</h3> 186 176 187 177 188 189 178 <h4>Uses routines</h4><div class="value"> cm_4cal 179 </div> 190 180 191 181 -
trunk/SRC/Documentation/idldoc_html_output/Calendar/directory-overview.html
r89 r93 93 93 94 94 <dt><a href="date2string.html?format=raw">date2string.pro</a></dt> 95 <dd> </dd>95 <dd> keyword parameters of string function to specify the format of the month (the C format) can be used </dd> 96 96 97 97 <dt><a href="daysinmonth.html?format=raw">daysinmonth.pro</a></dt> … … 105 105 106 106 <dt><a href="monthname.html?format=raw">monthname.pro</a></dt> 107 <dd> </dd>107 <dd> keyword parameters of string function to specify the format of the month (the C format) can be used.</dd> 108 108 109 109 </dl> -
trunk/SRC/Documentation/idldoc_html_output/Calendar/jul2date.html
r89 r93 102 102 <div class="routine_details" id="_jul2date"> 103 103 104 <h2><a class="top" href="#container">top</a>jul2date </h2> 104 <h2><a class="top" href="#container">top</a>jul2date <span class="categories"> calendar 105 </span></h2> 105 106 106 107 <p class="header"> … … 108 109 109 110 <div class="comments"> 110 NAME: jul2date111 111 112 PURPOSE: gives yyyymmdd date equivalent of a julian day 113 114 CATEGORY: calendar 115 116 CALLING SEQUENCE: date = jul2date(jday) 117 118 INPUTS:jday: julian day 119 120 KEYWORD PARAMETERS: None 121 122 OUTPUTS: date in yyyymmdd format 123 124 COMMON BLOCKS: None 125 126 SIDE EFFECTS: 127 128 RESTRICTIONS: 129 130 EXAMPLE: 131 132 IDL> print, jul2date(julday(12,23,1999)) 133 19991223 112 gives yyyymmdd date equivalent of a julian day 134 113 </div> 135 114 136 115 <h3>Return value</h3><div class="value"> date in yyyymmdd format 116 </div> 137 117 138 118 … … 141 121 142 122 <h4 id="_jul2date_param_jday">jday 123 <span class="attr">in</span> 143 124 144 125 145 146 126 <span class="attr">required</span> 147 127 148 128 … … 151 131 </h4> 152 132 153 <div class="comments"></div> 133 <div class="comments"> julian day 134 </div> 154 135 155 136 … … 158 139 159 140 141 <h3>Examples</h3><div class="value"> 142 143 IDL> print, jul2date(julday(12,23,1999)) 144 19991223 145 </div> 146 <h3>Version history</h3> 160 147 161 148 162 163 164 149 <h4>History</h4><div class="value"> Sebastien Masson (smasson@lodyc.jussieu.fr) 150 June 2005</div> 165 151 166 152 -
trunk/SRC/Documentation/idldoc_html_output/Calendar/leapyr.html
r89 r93 102 102 <div class="routine_details" id="_leapyr"> 103 103 104 <h2><a class="top" href="#container">top</a>leapyr </h2> 104 <h2><a class="top" href="#container">top</a>leapyr <span class="categories"> calendar 105 </span></h2> 105 106 106 107 <p class="header"> 107 108 <span class="result">result = </span>leapyr(<span class="result"><a href="#_leapyr_param_year">year</a></span>)</p> 108 109 109 <div class="comments"> </div>110 <div class="comments"> 110 111 111 112 determine whether the input year is a leap year or not 113 Very useful for finding number of days in a year. 114 eg. NUM_DAYS_IN_YR = 365 + leapyr(year) 115 </div> 116 117 <h3>Return value</h3><div class="value"> 0 then not a leap year 118 1 then year is a leap year 119 </div> 112 120 113 121 … … 116 124 117 125 <h4 id="_leapyr_param_year">year 126 <span class="attr">in</span> 118 127 119 128 120 121 129 <span class="attr">required</span> 122 130 123 131 … … 126 134 </h4> 127 135 128 <div class="comments"></div> 136 <div class="comments"> year to be tested as a leap year 137 </div> 129 138 130 139 … … 133 142 134 143 144 <h3>Examples</h3><div class="value"> 145 IDL> result = leapyr(2000) 146 </div> 147 <h3>Version history</h3> 135 148 136 149 137 138 139 150 <h4>History</h4><div class="value"> 151 152 Originally Written by: Trevor Harris, Physics Dept., University of Adelaide, 153 20/09/88 154 155 November 2004: correction for century years... S. Masson; 156 157 Every year divisible by 4 is a leap year. 158 But every year divisible by 100 is NOT a leap year 159 Unless the year is also divisible by 400, then it is still a 160 leap year. 161 This means that year 1800, 1900, 2100, 2200, 2300 and 2500 are 162 NOT leap years, while year 2000 and 2400 are leap years. 163 + supress the automatic change 89 -> 1989 164 165 June 2005 update for new commons, Sebastien Masson. 166 </div> 140 167 141 168 … … 146 173 147 174 175 <h3>Other attributes</h3> 148 176 149 177 150 151 178 <h4>Uses routines</h4><div class="value"> cm_4cal 179 </div> 152 180 153 181 -
trunk/SRC/Documentation/idldoc_html_output/Calendar/monthname.html
r89 r93 87 87 </div> 88 88 89 <div id="file_comments"></div> 89 <div id="file_comments"> keyword parameters of string function to specify the format of the month (the C format) can be used. 90 </div> 90 91 91 92 … … 102 103 <div class="routine_details" id="_monthname"> 103 104 104 <h2><a class="top" href="#container">top</a>monthname </h2> 105 <h2><a class="top" href="#container">top</a>monthname <span class="categories"> calendar 106 </span></h2> 105 107 106 108 <p class="header"> … … 108 110 109 111 <div class="comments"> 110 NAME:monthname111 112 112 PURPOSE:gives the name of a month 113 114 CATEGORY: 115 116 CALLING SEQUENCE:name=monthname(number) 117 118 INPUTS: number, the month number (from 1 to 12) 119 120 KEYWORD PARAMETERS:those of string fonction to specify the 121 format of the month (the C format) 122 123 OUTPUTS: an integer, the month's name 124 125 COMMON BLOCKS:None 126 127 SIDE EFFECTS: 128 129 RESTRICTIONS: 130 131 EXAMPLE: 113 gives the name of a month 132 114 </div> 133 115 134 116 <h3>Return value</h3><div class="value"> the month's name 117 </div> 135 118 136 119 … … 173 156 174 157 158 <h3>Examples</h3><div class="value"> 159 IDL> name=monthname(2) 160 </div> 161 <h3>Version history</h3> 175 162 176 163 177 178 179 164 <h4>History</h4><div class="value"> Sebastien Masson (smasson@lodyc.jussieu.fr) 165 1 October 2001</div> 180 166 181 167 -
trunk/SRC/Documentation/idldoc_html_output/Documentation/xmldoc/dir-files.html
r91 r93 21 21 <ul> 22 22 23 <li><a href="idldoc_html_ 6832.html?format=raw" target="file_frame">idldoc_html_6832.pro</a></li>23 <li><a href="idldoc_html_16774.html?format=raw" target="file_frame">idldoc_html_16774.pro</a></li> 24 24 </ul> 25 25 -
trunk/SRC/Documentation/idldoc_html_output/Documentation/xmldoc/directory-overview.html
r91 r93 89 89 <dl> 90 90 91 <dt><a href="idldoc_html_ 6832.html?format=raw">idldoc_html_6832.pro</a></dt>91 <dt><a href="idldoc_html_16774.html?format=raw">idldoc_html_16774.pro</a></dt> 92 92 <dd></dd> 93 93 -
trunk/SRC/Documentation/idldoc_html_output/Documentation/xmldoc/idldoc_html_3519.html
r89 r93 72 72 <div id="secondary_navbar"> 73 73 74 << prev file | next file >> <a href="idldoc_html_3519.html " target="_TOP">view single page</a> | <a href="./../../index.html?format=raw" target="_TOP">view frames</a> summary: fields | routine details: <a href="#routine_details">routine</a>74 << prev file | next file >> <a href="idldoc_html_3519.html?format=raw" target="_TOP">view single page</a> | <a href="./../../index.html?format=raw" target="_TOP">view frames</a> summary: fields | routine details: <a href="#routine_details">routine</a> 75 75 76 76 </div> -
trunk/SRC/Documentation/idldoc_html_output/Utilities/createfunc.html
r89 r93 108 108 109 109 <div class="comments"> 110 NAME:createfunc 111 112 PURPOSE: write an idl function, compile it and execute it. 113 usefull to avoid the use of execute 114 115 CATEGORY: 116 117 CALLING SEQUENCE:res = createfunc(command) 118 119 INPUTS: 120 command: a scalar string defining the result to be byven back by the 121 function. (see examples) 122 123 KEYWORD PARAMETERS: 124 125 FILENAMEIN: name of the funccedure to be created. 126 'for_createfunc.pro' by default 127 128 KWDLIST: a vector string. to specify a list of keywords that 110 write an idl function, compile it and execute it. 111 usefull to avoid the use of execute 112 </div> 113 114 115 116 117 <h3>Parameters</h3> 118 119 120 <h4 id="_createfunc_param_command">command 121 <span class="attr">in</span> 122 123 124 <span class="attr">required</span> 125 126 127 128 129 </h4> 130 131 <div class="comments"> a scalar string defining the result to be byven back by the function. (see examples) 132 </div> 133 134 135 136 137 138 139 <h3>Keywords</h3> 140 141 <h4 id="_createfunc_keyword_FILENAMEIN">FILENAMEIN 142 <span class="attr">in</span> 143 144 145 146 147 148 149 150 </h4> 151 152 <div class="comments"> name of the funccedure to be created. 153 'for_createfunc.pro' by default</div> 154 155 <h4 id="_createfunc_keyword_KWDLIST">KWDLIST 156 <span class="attr">in</span> 157 158 159 160 161 162 163 164 </h4> 165 166 <div class="comments"> a vector string. to specify a list of keywords that 129 167 must be included in the function definition. Warning: the string 130 168 must start with a ',' for example: KWDLIST = ', TOTO = toto' 131 132 _EXTRA: used to pass your keywords to the created function. 133 134 OUTPUTS: none 135 136 COMMON BLOCKS: none 169 </div> 170 171 <h4 id="_createfunc_keyword__extra">_extra 172 173 174 175 176 177 178 179 180 </h4> 181 182 <div class="comments"> used to pass your keywords to the created function. 137 183 138 184 SIDE EFFECTS: ends the function name with '.pro' if needed 139 140 RESTRICTIONS:arguments can be given only through keywords 141 142 EXAMPLE: 185 </div> 186 187 188 189 <h3>Examples</h3><div class="value"> 143 190 IDL> print, createfunc('3*2', filename='test') 144 191 IDL> print, createfunc('3*two', filename = 'test' $ 145 192 , kwdlist ='two = two', two = 2) 146 193 </div> 147 148 149 150 151 <h3>Parameters</h3> 152 153 154 <h4 id="_createfunc_param_command">command 155 156 157 158 159 160 161 162 163 </h4> 164 165 <div class="comments"></div> 166 167 168 169 170 171 172 <h3>Keywords</h3> 173 174 <h4 id="_createfunc_keyword_FILENAMEIN">FILENAMEIN 175 176 177 178 179 180 181 182 183 </h4> 184 185 <div class="comments"></div> 186 187 <h4 id="_createfunc_keyword_KWDLIST">KWDLIST 188 189 190 191 192 193 194 195 196 </h4> 197 198 <div class="comments"></div> 199 200 <h4 id="_createfunc_keyword__extra">_extra 201 202 203 204 205 206 207 208 209 </h4> 210 211 <div class="comments"></div> 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 194 <h3>Version history</h3> 195 196 197 <h4>History</h4><div class="value"> Sebastien Masson (smasson@lodyc.jussieu.fr) 198 May 2005</div> 199 200 201 <h3>Known issues</h3> 202 203 204 205 <h4>Restrictions</h4><div class="value"> arguments can be given only through keywords 206 </div> 227 207 228 208 -
trunk/SRC/Documentation/idldoc_html_output/Utilities/createpro.html
r89 r93 108 108 109 109 <div class="comments"> 110 NAME:createpro 111 112 PURPOSE: write an idl procedure, compile it and execute it. 113 114 CATEGORY: 115 116 CALLING SEQUENCE:createpro, command 117 118 INPUTS: 119 command: a string array defining the procedure to be created. 120 each element will be a line of the created procedure. 121 122 KEYWORD PARAMETERS: 123 124 FILENAMEIN: name of the procedure to be created. 110 write an idl procedure, compile it and execute it. 111 </div> 112 113 114 115 116 <h3>Parameters</h3> 117 118 119 <h4 id="_createpro_param_command">command 120 <span class="attr">in</span> 121 122 123 <span class="attr">required</span> 124 125 126 127 128 </h4> 129 130 <div class="comments"> a string array defining the procedure to be created. each element will be a line of the created procedure. 131 </div> 132 133 134 135 136 137 138 <h3>Keywords</h3> 139 140 <h4 id="_createpro_keyword_FILENAMEIN">FILENAMEIN 141 142 143 144 145 146 147 148 149 </h4> 150 151 <div class="comments"> name of the procedure to be created. 125 152 'for_createpro.pro' by default 126 127 KWDLIST: a vector string. to specify a list of keywords that 153 </div> 154 155 <h4 id="_createpro_keyword_KWDLIST">KWDLIST 156 157 158 159 160 161 162 163 164 </h4> 165 166 <div class="comments"> a vector string. to specify a list of keywords that 128 167 must be included in the procedure definition. Warning: the string 129 168 must start with a ',' for example: KWDLIST = ', TOTO = toto' 130 131 _EXTRA: used to pass your keywords to the created procedure. 132 133 OUTPUTS: none 134 135 COMMON BLOCKS: none 169 </div> 170 171 <h4 id="_createpro_keyword_KWDUSED">KWDUSED 172 173 174 175 176 177 178 179 180 </h4> 181 182 <div class="comments"></div> 183 184 <h4 id="_createpro_keyword__extra">_extra 185 186 187 188 189 190 191 192 193 </h4> 194 195 <div class="comments"> used to pass your keywords to the created procedure. 136 196 137 197 SIDE EFFECTS: ends the procedure name with '.pro' if needed 138 139 RESTRICTIONS:is not working with functions, use createfunc instead. 140 arguments can be given only through keywords 141 142 EXAMPLE: 198 </div> 199 200 201 202 <h3>Examples</h3><div class="value"> 143 203 IDL> createpro, ['print,''OK'''], filename='test' 144 204 IDL> createpro, ['if keyword_set(ok) then print,''OK'' else print, ''No'''] $ … … 148 208 149 209 </div> 150 151 152 153 154 <h3>Parameters</h3> 155 156 157 <h4 id="_createpro_param_command">command 158 159 160 161 162 163 164 165 166 </h4> 167 168 <div class="comments"></div> 169 170 171 172 173 174 175 <h3>Keywords</h3> 176 177 <h4 id="_createpro_keyword_FILENAMEIN">FILENAMEIN 178 179 180 181 182 183 184 185 186 </h4> 187 188 <div class="comments"></div> 189 190 <h4 id="_createpro_keyword_KWDLIST">KWDLIST 191 192 193 194 195 196 197 198 199 </h4> 200 201 <div class="comments"></div> 202 203 <h4 id="_createpro_keyword_KWDUSED">KWDUSED 204 205 206 207 208 209 210 211 212 </h4> 213 214 <div class="comments"></div> 215 216 <h4 id="_createpro_keyword__extra">_extra 217 218 219 220 221 222 223 224 225 </h4> 226 227 <div class="comments"></div> 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 210 <h3>Version history</h3> 211 212 213 <h4>History</h4><div class="value"> Sebastien Masson (smasson@lodyc.jussieu.fr) 214 cleaning + new keywords: October 2005 215 Feb. 2006: supress keyword "kwdused" and use call_procedure instead of execute</div> 216 217 218 <h3>Known issues</h3> 219 220 221 222 <h4>Restrictions</h4><div class="value"> is not working with functions, use createfunc instead. 223 arguments can be given only through keywords 224 </div> 243 225 244 226 -
trunk/SRC/Documentation/idldoc_html_output/Utilities/def_myuniquetmpdir.html
r89 r93 87 87 </div> 88 88 89 <div id="file_comments"></div> 89 <div id="file_comments"> SIDE EFFECTS: see purpose 90 </div> 90 91 91 92 … … 102 103 <div class="routine_details" id="_def_myuniquetmpdir"> 103 104 104 <h2><a class="top" href="#container">top</a>def_myuniquetmpdir </h2> 105 <h2><a class="top" href="#container">top</a>def_myuniquetmpdir <span class="categories"> utilities 106 </span></h2> 105 107 106 108 <p class="header"> … … 108 110 109 111 <div class="comments"> 110 NAME: def_myuniquetmpdir 111 112 PURPOSE: if needed, define and create myuniquetmpdir 113 (common variable from cm_general) and add it to !path 114 115 CATEGORY: utilities 116 117 CALLING SEQUENCE:def_myuniquetmpdir 118 119 COMMON BLOCKS: cm_general 120 121 SIDE EFFECTS: see purpose 112 if needed, define and create myuniquetmpdir 113 (common variable from cm_general) and add it to !path 122 114 </div> 123 115 … … 128 120 129 121 122 <h3>Examples</h3><div class="value"> 123 IDL> def_myuniquetmpdir 124 </div> 125 <h3>Version history</h3> 130 126 131 127 132 133 134 128 <h4>History</h4><div class="value"> Sebastien Masson (smasson@lodyc.jussieu.fr) 129 June 2005 130 </div> 135 131 136 132 … … 141 137 142 138 139 <h3>Other attributes</h3> 143 140 144 141 145 146 142 <h4>Uses routines</h4><div class="value"> cm_general 143 </div> 147 144 148 145 -
trunk/SRC/Documentation/idldoc_html_output/Utilities/demomode_compatibility.html
r89 r93 102 102 <div class="routine_details" id="_demomode_compatibility"> 103 103 104 <h2><a class="top" href="#container">top</a>demomode_compatibility < /h2>104 <h2><a class="top" href="#container">top</a>demomode_compatibility <span class="categories"> utilities</span></h2> 105 105 106 106 <p class="header"> -
trunk/SRC/Documentation/idldoc_html_output/Utilities/directory-overview.html
r89 r93 96 96 97 97 <dt><a href="def_myuniquetmpdir.html?format=raw">def_myuniquetmpdir.pro</a></dt> 98 <dd> </dd>98 <dd> SIDE EFFECTS: see purpose </dd> 99 99 100 100 <dt><a href="demomode_compatibility.html?format=raw">demomode_compatibility.pro</a></dt> … … 102 102 103 103 <dt><a href="find.html?format=raw">find.pro</a></dt> 104 <dd> </dd>104 <dd> all file_search keywords can be used.</dd> 105 105 106 106 <dt><a href="isadirectory.html?format=raw">isadirectory.pro</a></dt> 107 <dd> </dd>107 <dd> all dialog_pickfile keywords (like filter) can be used.</dd> 108 108 109 109 <dt><a href="isafile.html?format=raw">isafile.pro</a></dt> 110 <dd> </dd>110 <dd> all find, file_search and dialog_pickfile keywords (like title) can be used </dd> 111 111 112 112 <dt><a href="protype.html?format=raw">protype.pro</a></dt> -
trunk/SRC/Documentation/idldoc_html_output/Utilities/find.html
r89 r93 87 87 </div> 88 88 89 <div id="file_comments"></div> 89 <div id="file_comments"> all file_search keywords can be used. 90 </div> 90 91 91 92 … … 102 103 <div class="routine_details" id="_find"> 103 104 104 <h2><a class="top" href="#container">top</a>find </h2> 105 <h2><a class="top" href="#container">top</a>find <span class="categories"> find a file 106 </span></h2> 105 107 106 108 <p class="header"> … … 108 110 109 111 <div class="comments"> 110 NAME:find 111 112 PURPOSE: based on file_search, but it is possible to speficy 112 based on file_search, but it is possible to speficy 113 113 a set of possibles names and a different set of 114 114 possibles directories names. 115 115 By defaut look for files included in !path 116 117 CATEGORY:find a file 118 119 CALLING SEQUENCE: found = find(filename) 120 121 INPUTS: A scalar or array variable of string type, containing 116 </div> 117 118 <h3>Return value</h3><div class="value"> A scalar or array variable of string type, containing the 119 name (with the full path of the matching files. If no files 120 exist with names matching the input arguments, find returns 121 the scalar string : 'NOT FOUND' 122 </div> 123 124 125 <h3>Parameters</h3> 126 127 128 <h4 id="_find_param_filein">filein 129 <span class="attr">in</span> 130 131 132 <span class="attr">required</span> 133 134 135 136 137 </h4> 138 139 <div class="comments"> A scalar or array variable of string type, containing 122 140 file names to match. Input names specifications may contain 123 141 wildcard characters, enabling them to match multiple files … … 125 143 necessary, find is looking for filename and also for filename 126 144 completed with '.pro' 127 128 KEYWORD PARAMETERS: 129 130 FIRSTFOUND: activate this keyword to stop looking for the file as 131 soon as we found one. 132 133 IODIRECTORY: A scalar or array variable of string type, containing 145 </div> 146 147 148 149 150 151 152 <h3>Keywords</h3> 153 154 <h4 id="_find_keyword_IODIRECTORY">IODIRECTORY 155 156 157 158 159 160 161 162 163 </h4> 164 165 <div class="comments"> A scalar or array variable of string type, containing 134 166 directories names where we are looking for the file. by defaut 135 167 we use !path. Different directories can be separated by … … 138 170 Note that if filename's dirname is different from '.', this 139 171 keyword is not taken into account. 140 141 LOOKALLDIR:activate to look for the file with a recursive search 142 in iodir, homedir, !path + the DATA:TestsData directory if it exists. 143 144 NOPRO: activate to avoid the automatic search of filename 145 completed with '.pro' 146 147 ONLYPRO:force to look only at file ending with .pro 148 149 ONLYNC:force to look only at file ending with .nc 150 151 RECURSIVE: performs recursive searching of directory hierarchies. 172 </div> 173 174 <h4 id="_find_keyword_RECURSIVE">RECURSIVE 175 176 177 178 179 180 181 182 183 </h4> 184 185 <div class="comments"> performs recursive searching of directory hierarchies. 152 186 In a recursive search, find looks recursively for any and all 153 187 subdirectories in the file hierarchy rooted at the IODIRECTORY 154 188 argument. 155 156 REPERTOIRE: obsolete. keep for compatibility, use directory keyword 157 158 UNIQUE: activate to make sure that each element of the output 189 </div> 190 191 <h4 id="_find_keyword_REPERTOIRE">REPERTOIRE 192 193 194 195 196 197 198 199 200 </h4> 201 202 <div class="comments"> obsolete. keep for compatibility, use directory keyword 203 </div> 204 205 <h4 id="_find_keyword_NOPRO">NOPRO 206 207 208 209 210 211 212 213 214 </h4> 215 216 <div class="comments"> activate to avoid the automatic search of filename 217 completed with '.pro' 218 </div> 219 220 <h4 id="_find_keyword_ONLYPRO">ONLYPRO 221 222 223 224 225 226 227 228 229 </h4> 230 231 <div class="comments"> force to look only at file ending with .pro 232 </div> 233 234 <h4 id="_find_keyword_ONLYNC">ONLYNC 235 236 237 238 239 240 241 242 243 </h4> 244 245 <div class="comments"> force to look only at file ending with .nc 246 </div> 247 248 <h4 id="_find_keyword_UNIQUE">UNIQUE 249 250 251 252 253 254 255 256 257 </h4> 258 259 <div class="comments"> activate to make sure that each element of the output 159 260 vector is unique. 160 161 all file_search keywords 162 163 OUTPUTS: A scalar or array variable of string type, containing the 164 name (with the full path of the matching files. If no files 165 exist with names matching the input arguments, find returns 166 the scalar string : 'NOT FOUND' 167 168 COMMON BLOCKS: none 169 170 SIDE EFFECTS: 171 172 RESTRICTIONS: 173 174 EXAMPLE: 261 </div> 262 263 <h4 id="_find_keyword_FIRSTFOUND">FIRSTFOUND 264 265 266 267 268 269 270 271 272 </h4> 273 274 <div class="comments"> activate this keyword to stop looking for the file as 275 soon as we found one. 276 </div> 277 278 <h4 id="_find_keyword_LOOKALLDIR">LOOKALLDIR 279 280 281 282 283 284 285 286 287 </h4> 288 289 <div class="comments"> activate to look for the file with a recursive search 290 in iodir, homedir, !path + the DATA:TestsData directory if it exists. 291 </div> 292 293 <h4 id="_find_keyword__extra">_extra 294 295 296 297 298 299 300 301 302 </h4> 303 304 <div class="comments"></div> 305 306 307 308 <h3>Examples</h3><div class="value"> 175 309 176 310 IDL> print, find('*loadct') … … 199 333 /usr/local/rsi/idl_6.0/lib/mesh_obj.pro 200 334 </div> 201 202 203 204 205 <h3>Parameters</h3> 206 207 208 <h4 id="_find_param_filein">filein 209 210 211 212 213 214 215 216 217 </h4> 218 219 <div class="comments"></div> 220 221 222 223 224 225 226 <h3>Keywords</h3> 227 228 <h4 id="_find_keyword_IODIRECTORY">IODIRECTORY 229 230 231 232 233 234 235 236 237 </h4> 238 239 <div class="comments"></div> 240 241 <h4 id="_find_keyword_RECURSIVE">RECURSIVE 242 243 244 245 246 247 248 249 250 </h4> 251 252 <div class="comments"></div> 253 254 <h4 id="_find_keyword_REPERTOIRE">REPERTOIRE 255 256 257 258 259 260 261 262 263 </h4> 264 265 <div class="comments"></div> 266 267 <h4 id="_find_keyword_NOPRO">NOPRO 268 269 270 271 272 273 274 275 276 </h4> 277 278 <div class="comments"></div> 279 280 <h4 id="_find_keyword_ONLYPRO">ONLYPRO 281 282 283 284 285 286 287 288 289 </h4> 290 291 <div class="comments"></div> 292 293 <h4 id="_find_keyword_ONLYNC">ONLYNC 294 295 296 297 298 299 300 301 302 </h4> 303 304 <div class="comments"></div> 305 306 <h4 id="_find_keyword_UNIQUE">UNIQUE 307 308 309 310 311 312 313 314 315 </h4> 316 317 <div class="comments"></div> 318 319 <h4 id="_find_keyword_FIRSTFOUND">FIRSTFOUND 320 321 322 323 324 325 326 327 328 </h4> 329 330 <div class="comments"></div> 331 332 <h4 id="_find_keyword_LOOKALLDIR">LOOKALLDIR 333 334 335 336 337 338 339 340 341 </h4> 342 343 <div class="comments"></div> 344 345 <h4 id="_find_keyword__extra">_extra 346 347 348 349 350 351 352 353 354 </h4> 355 356 <div class="comments"></div> 357 358 359 360 361 362 363 364 335 <h3>Version history</h3> 336 337 338 <h4>History</h4><div class="value"> Sebastien Masson (smasson@lodyc.jussieu.fr) 339 28/4/1999 340 6/7/1999: compatibilite mac et windows 341 June 2005: Sebastien Masson: cleaning, use for file_* functions</div> 365 342 366 343 -
trunk/SRC/Documentation/idldoc_html_output/Utilities/isadirectory.html
r89 r93 87 87 </div> 88 88 89 <div id="file_comments"></div> 89 <div id="file_comments"> all dialog_pickfile keywords (like filter) can be used. 90 </div> 90 91 91 92 … … 102 103 <div class="routine_details" id="_isadirectory"> 103 104 104 <h2><a class="top" href="#container">top</a>isadirectory </h2> 105 <h2><a class="top" href="#container">top</a>isadirectory <span class="categories"> io 106 </span></h2> 105 107 106 108 <p class="header"> 107 <span class="result">result = </span>isadirectory(<span class="result"> <a href="#_isadirectory_param_directoryin">directoryin</a></span>, <a href="#_isadirectory_keyword_TITLE">TITLE</a>=<span class="result">TITLE</span>, <a href="#_isadirectory_keyword_IODIRECTORY">IODIRECTORY</a>=<span class="result">IODIRECTORY</span>, <a href="#_isadirectory_keyword__extra">_extra</a>=<span class="result">_extra</span>)</p>109 <span class="result">result = </span>isadirectory(<span class="result">[<a href="#_isadirectory_param_directoryin">directoryin</a>]</span>, <a href="#_isadirectory_keyword_TITLE">TITLE</a>=<span class="result">TITLE</span>, <a href="#_isadirectory_keyword_IODIRECTORY">IODIRECTORY</a>=<span class="result">IODIRECTORY</span>, <a href="#_isadirectory_keyword__extra">_extra</a>=<span class="result">_extra</span>)</p> 108 110 109 111 <div class="comments"> 110 NAME:isadirectory 111 112 PURPOSE:check if a directory exists and make sure that it ends 112 check if a directory exists and make sure that it ends 113 113 with the directory separator mark. 114 115 CATEGORY: io 116 117 CALLING SEQUENCE: directory=isadirectory([dirname]) 118 119 INPUTS:optional:a proposed directory. If neither dirname 114 </div> 115 116 <h3>Return value</h3><div class="value"> the directory name 117 </div> 118 119 120 <h3>Parameters</h3> 121 122 123 <h4 id="_isadirectory_param_directoryin">directoryin 124 <span class="attr">in</span> 125 126 <span class="attr">optional</span> 127 128 129 130 131 132 </h4> 133 134 <div class="comments"> a proposed directory. If neither dirname 120 135 input parameter of IODIRECTORY keyword are defined, 121 136 the ask the user to choose a directory. 122 123 KEYWORD PARAMETERS: 124 125 IODIRECTORY:a proposed directory 126 127 TITLE = the title of the window 128 129 all dialog_pickfile keywords (like filter) 130 131 OUTPUTS: the directory name 132 133 COMMON BLOCKS:none 134 135 SIDE EFFECTS: 136 137 RESTRICTIONS: 138 139 EXAMPLE: 137 </div> 138 139 140 141 142 143 144 <h3>Keywords</h3> 145 146 <h4 id="_isadirectory_keyword_TITLE">TITLE 147 148 149 150 151 152 153 154 155 </h4> 156 157 <div class="comments"> the title of the window 158 </div> 159 160 <h4 id="_isadirectory_keyword_IODIRECTORY">IODIRECTORY 161 162 163 164 165 166 167 168 169 </h4> 170 171 <div class="comments"> a proposed directory 172 </div> 173 174 <h4 id="_isadirectory_keyword__extra">_extra 175 176 177 178 179 180 181 182 183 </h4> 184 185 <div class="comments"></div> 186 187 188 189 <h3>Examples</h3><div class="value"> 140 190 141 191 IDL> print, !dir … … 145 195 IDL> print, isadirectory(!dir+'notgood') 146 196 </div> 147 148 149 150 151 <h3>Parameters</h3> 152 153 154 <h4 id="_isadirectory_param_directoryin">directoryin 155 156 157 158 159 160 161 162 163 </h4> 164 165 <div class="comments"></div> 166 167 168 169 170 171 172 <h3>Keywords</h3> 173 174 <h4 id="_isadirectory_keyword_TITLE">TITLE 175 176 177 178 179 180 181 182 183 </h4> 184 185 <div class="comments"></div> 186 187 <h4 id="_isadirectory_keyword_IODIRECTORY">IODIRECTORY 188 189 190 191 192 193 194 195 196 </h4> 197 198 <div class="comments"></div> 199 200 <h4 id="_isadirectory_keyword__extra">_extra 201 202 203 204 205 206 207 208 209 </h4> 210 211 <div class="comments"></div> 212 213 214 215 216 217 218 219 197 <h3>Version history</h3> 198 199 200 <h4>History</h4><div class="value"> Sebastien Masson (smasson@lodyc.jussieu.fr) 201 June 28, 2000 202 June 2005: Sebastien Masson: cleaning, use for file_* functions</div> 220 203 221 204 -
trunk/SRC/Documentation/idldoc_html_output/Utilities/isafile.html
r89 r93 87 87 </div> 88 88 89 <div id="file_comments"></div> 89 <div id="file_comments"> all find, file_search and dialog_pickfile keywords (like title) 90 can be used 91 </div> 90 92 91 93 … … 102 104 <div class="routine_details" id="_isafile"> 103 105 104 <h2><a class="top" href="#container">top</a>isafile </h2> 106 <h2><a class="top" href="#container">top</a>isafile <span class="categories"> io 107 108 </span></h2> 105 109 106 110 <p class="header"> 107 <span class="result">result = </span>isafile(<span class="result"> <a href="#_isafile_param_filein">filein</a></span>, <a href="#_isafile_keyword_FILENAME">FILENAME</a>=<span class="result">FILENAME</span>, <a href="#_isafile_keyword_IODIRECTORY">IODIRECTORY</a>=<span class="result">IODIRECTORY</span>, <a href="#_isafile_keyword_NEW">NEW</a>=<span class="result">NEW</span>, <a href="#_isafile_keyword_RECURSIVE">RECURSIVE</a>=<span class="result">RECURSIVE</span>, <a href="#_isafile_keyword_ONLYPRO">ONLYPRO</a>=<span class="result">ONLYPRO</span>, <a href="#_isafile_keyword_ONLYNC">ONLYNC</a>=<span class="result">ONLYNC</span>, <a href="#_isafile_keyword__extra">_extra</a>=<span class="result">_extra</span>)</p>111 <span class="result">result = </span>isafile(<span class="result">[<a href="#_isafile_param_filein">filein</a>]</span>, <a href="#_isafile_keyword_FILENAME">FILENAME</a>=<span class="result">FILENAME</span>, <a href="#_isafile_keyword_IODIRECTORY">IODIRECTORY</a>=<span class="result">IODIRECTORY</span>, <a href="#_isafile_keyword_NEW">NEW</a>=<span class="result">NEW</span>, <a href="#_isafile_keyword_RECURSIVE">RECURSIVE</a>=<span class="result">RECURSIVE</span>, <a href="#_isafile_keyword_ONLYPRO">ONLYPRO</a>=<span class="result">ONLYPRO</span>, <a href="#_isafile_keyword_ONLYNC">ONLYNC</a>=<span class="result">ONLYNC</span>, <a href="#_isafile_keyword__extra">_extra</a>=<span class="result">_extra</span>)</p> 108 112 109 113 <div class="comments"> 110 NAME: isafile 111 112 PURPOSE: same as find.pro except that as long as the file is 'NOT FOUND', 114 same as find.pro except that as long as the file is 'NOT FOUND', 113 115 isafile calls dialog_pickfile, to ask the user to select a file. 114 115 CATEGORY: io 116 117 CALLING SEQUENCE:filename = isafile([filein]) 118 119 INPUTS:optional:a proposed name. If neither filein 116 </div> 117 118 <h3>Return value</h3><div class="value"> the filename with its path 119 </div> 120 121 122 <h3>Parameters</h3> 123 124 125 <h4 id="_isafile_param_filein">filein 126 <span class="attr">in</span> 127 128 <span class="attr">optional</span> 129 130 131 132 133 134 </h4> 135 136 <div class="comments"> a proposed name. If neither filein 120 137 input parameter of filename keyword are defined, 121 138 the ask the user to choose a file. 122 123 KEYWORD PARAMETERS: 124 125 FILENAME: a proposed filename. 126 127 IODIRECTORY: a directory where we look for the file. this 139 </div> 140 141 142 143 144 145 146 <h3>Keywords</h3> 147 148 <h4 id="_isafile_keyword_FILENAME">FILENAME 149 150 151 152 153 154 155 156 157 </h4> 158 159 <div class="comments"> a proposed filename. 160 </div> 161 162 <h4 id="_isafile_keyword_IODIRECTORY">IODIRECTORY 163 164 165 166 167 168 169 170 171 </h4> 172 173 <div class="comments"> a directory where we look for the file. this 128 174 keyword is taken into account only if the dirmame 129 175 of filein or filename is '.' 130 131 /NEW:to specify that filename is a new file and that 176 </div> 177 178 <h4 id="_isafile_keyword_NEW">NEW 179 180 181 182 183 184 185 186 187 </h4> 188 189 <div class="comments"> to specify that filename is a new file and that 132 190 we should check only its path 133 134 ONLYPRO:force to look only at file ending with .pro 135 136 ONLYNC:force to look only at file ending with .nc 137 138 RECURSIVE: performs recursive searching of directory hierarchies. 191 </div> 192 193 <h4 id="_isafile_keyword_RECURSIVE">RECURSIVE 194 195 196 197 198 199 200 201 202 </h4> 203 204 <div class="comments"> performs recursive searching of directory hierarchies. 139 205 In a recursive search, find looks recursively for any and all 140 206 subdirectories in the file hierarchy rooted at the IODIRECTORY 141 207 argument. 142 143 all find, file_search and dialog_pickfile keywords (like title) 144 145 OUTPUTS:the filename with its path 146 147 COMMON BLOCKS:none 148 149 SIDE EFFECTS: 150 151 RESTRICTIONS: 152 153 EXAMPLE: 208 </div> 209 210 <h4 id="_isafile_keyword_ONLYPRO">ONLYPRO 211 212 213 214 215 216 217 218 219 </h4> 220 221 <div class="comments"> force to look only at file ending with .pro 222 </div> 223 224 <h4 id="_isafile_keyword_ONLYNC">ONLYNC 225 226 227 228 229 230 231 232 233 </h4> 234 235 <div class="comments"> force to look only at file ending with .nc 236 </div> 237 238 <h4 id="_isafile_keyword__extra">_extra 239 240 241 242 243 244 245 246 247 </h4> 248 249 <div class="comments"></div> 250 251 252 253 <h3>Examples</h3><div class="value"> 154 254 155 255 IDL> print, isafile('/Users/sebastie/SAXO_RD/Commons/cm_4mesh.pro') … … 165 265 IDL> print, isafile('fake_file.pro') 166 266 </div> 167 168 169 170 171 <h3>Parameters</h3> 172 173 174 <h4 id="_isafile_param_filein">filein 175 176 177 178 179 180 181 182 183 </h4> 184 185 <div class="comments"></div> 186 187 188 189 190 191 192 <h3>Keywords</h3> 193 194 <h4 id="_isafile_keyword_FILENAME">FILENAME 195 196 197 198 199 200 201 202 203 </h4> 204 205 <div class="comments"></div> 206 207 <h4 id="_isafile_keyword_IODIRECTORY">IODIRECTORY 208 209 210 211 212 213 214 215 216 </h4> 217 218 <div class="comments"></div> 219 220 <h4 id="_isafile_keyword_NEW">NEW 221 222 223 224 225 226 227 228 229 </h4> 230 231 <div class="comments"></div> 232 233 <h4 id="_isafile_keyword_RECURSIVE">RECURSIVE 234 235 236 237 238 239 240 241 242 </h4> 243 244 <div class="comments"></div> 245 246 <h4 id="_isafile_keyword_ONLYPRO">ONLYPRO 247 248 249 250 251 252 253 254 255 </h4> 256 257 <div class="comments"></div> 258 259 <h4 id="_isafile_keyword_ONLYNC">ONLYNC 260 261 262 263 264 265 266 267 268 </h4> 269 270 <div class="comments"></div> 271 272 <h4 id="_isafile_keyword__extra">_extra 273 274 275 276 277 278 279 280 281 </h4> 282 283 <div class="comments"></div> 284 285 286 287 288 289 290 291 267 <h3>Version history</h3> 268 269 270 <h4>History</h4><div class="value"> Sebastien Masson (smasson@lodyc.jussieu.fr) 271 11/2/2000 272 June 2005: Sebastien Masson: cleaning, use for file_* functions</div> 292 273 293 274 -
trunk/SRC/Documentation/idldoc_html_output/Utilities/protype.html
r89 r93 102 102 <div class="routine_details" id="_protype"> 103 103 104 <h2><a class="top" href="#container">top</a>protype </h2> 104 <h2><a class="top" href="#container">top</a>protype <span class="categories"> utilities 105 </span></h2> 105 106 106 107 <p class="header"> … … 108 109 109 110 <div class="comments"> 110 NAME: protype 111 test is a ".pro" file corresponds to an IDL procedure, 112 function or batch file. 113 </div> 111 114 112 PURPOSE: test is a ".pro" file corresponds to an IDL procedure, 113 function or batch file. 115 <h3>Return value</h3><div class="value"> A scalar of string type: 'proc', 'func' or 'batch' 116 </div> 114 117 115 CATEGORY: 118 119 <h3>Parameters</h3> 120 121 122 <h4 id="_protype_param_file">file 123 <span class="attr">in</span> 124 125 126 127 128 129 130 131 </h4> 132 133 <div class="comments"> A scalar of string type, the name of the ".pro" file to be tested 134 if necessary, the input name is completed with '.pro' 135 and its path found in !path 136 </div> 137 116 138 117 CALLING SEQUENCE: type = protype(profilename) 139 118 140 119 INPUTS: A scalar of string type, the name of the ".pro" file to be tested 120 if necessary, the input name is completed with '.pro' 121 and its path found in !path 141 122 142 123 KEYWORD PARAMETERS: NONE 124 125 OUTPUTS: A scalar of string type: 'proc', 'func' or 'batch' 126 127 COMMON BLOCKS: none 128 129 SIDE EFFECTS: 130 131 RESTRICTIONS: 132 133 EXAMPLE: 143 <h3>Examples</h3><div class="value"> 134 144 135 145 IDL> print, protype('protype') … … 142 152 proc 143 153 </div> 144 145 146 147 148 <h3>Parameters</h3> 149 150 151 <h4 id="_protype_param_file">file 152 153 154 155 156 157 158 159 160 </h4> 161 162 <div class="comments"></div> 163 164 165 166 167 168 154 <h3>Version history</h3> 169 155 170 156 171 172 173 157 <h4>History</h4><div class="value"> Sebastien Masson (smasson@lodyc.jussieu.fr) 158 Feb 2006</div> 174 159 175 160 -
trunk/SRC/Documentation/idldoc_html_output/all-files.html
r91 r93 154 154 <li><a href="./ToBeReviewed/CALCULS/hdyn.html?format=raw" target="file_frame">hdyn.pro</a></li> 155 155 <li><a href="./ToBeReviewed/WIDGET/AUTOUR_de_XXX/identifyclick.html?format=raw" target="file_frame">identifyclick.pro</a></li> 156 <li><a href="./Documentation/xmldoc/idldoc_html_ 6832.html?format=raw" target="file_frame">idldoc_html_6832.pro</a></li>156 <li><a href="./Documentation/xmldoc/idldoc_html_16774.html?format=raw" target="file_frame">idldoc_html_16774.pro</a></li> 157 157 <li><a href="./ToBeReviewed/IMAGE/image_viewer.html?format=raw" target="file_frame">image_viewer.pro</a></li> 158 158 <li><a href="./ToBeReviewed/IMAGE/imdisp.html?format=raw" target="file_frame">imdisp.pro</a></li> -
trunk/SRC/Documentation/idldoc_html_output/idldoc-categories.html
r89 r93 106 106 107 107 108 <p>No categories in library.</p> 108 <p>The following categories were found in the library.</p> 109 <ul id="tree"> 110 <li id="idldoc-calendar">calendar <span class="result">(6 routines)</span> 111 <ul> 109 112 113 <li><a href="./Calendar/date2jul.html?format=raw#_date2jul">date2jul</a></li> 114 115 <li><a href="./Calendar/date2string.html?format=raw#_date2string">date2string</a></li> 116 117 <li><a href="./Calendar/daysinmonth.html?format=raw#_daysinmonth">daysinmonth</a></li> 118 119 <li><a href="./Calendar/jul2date.html?format=raw#_jul2date">jul2date</a></li> 120 121 <li><a href="./Calendar/leapyr.html?format=raw#_leapyr">leapyr</a></li> 122 123 <li><a href="./Calendar/monthname.html?format=raw#_monthname">monthname</a></li> 124 125 </ul> 126 </li> <li id="idldoc-find_a_file">find a file <span class="result">(1 routine)</span> 127 <ul> 128 129 <li><a href="./Utilities/find.html?format=raw#_find">find</a></li> 130 131 </ul> 132 </li> <li id="idldoc-io">io <span class="result">(2 routines)</span> 133 <ul> 134 135 <li><a href="./Utilities/isadirectory.html?format=raw#_isadirectory">isadirectory</a></li> 136 137 <li><a href="./Utilities/isafile.html?format=raw#_isafile">isafile</a></li> 138 139 </ul> 140 </li> <li id="idldoc-string">string <span class="result">(1 routine)</span> 141 <ul> 142 143 <li><a href="./Calendar/date2string.html?format=raw#_date2string">date2string</a></li> 144 145 </ul> 146 </li> <li id="idldoc-utilities">utilities <span class="result">(3 routines)</span> 147 <ul> 148 149 <li><a href="./Utilities/def_myuniquetmpdir.html?format=raw#_def_myuniquetmpdir">def_myuniquetmpdir</a></li> 150 151 <li><a href="./Utilities/demomode_compatibility.html?format=raw#_demomode_compatibility">demomode_compatibility</a></li> 152 153 <li><a href="./Utilities/protype.html?format=raw#_protype">protype</a></li> 154 155 </ul> 156 </li> 157 </ul> 158 <script type="text/javascript"> 159 // This must be placed immediately after the menu in order to 160 // format it properly. 161 initiate(); 162 </script> 163 110 164 111 165 -
trunk/SRC/Documentation/idldoc_html_output/idldoc-index-I.html
r91 r93 466 466 <dd>a parameter from the routine ./ToBeReviewed/WIDGET/findtopid.html</dd> 467 467 468 <dt><a href="Documentation/xmldoc/idldoc_html_ 6832.html?format=raw">idldoc_html_6832.pro</a></dt>468 <dt><a href="Documentation/xmldoc/idldoc_html_16774.html?format=raw">idldoc_html_16774.pro</a></dt> 469 469 <dd>a file from the directory ./Documentation/xmldoc</dd> 470 470 -
trunk/SRC/Documentation/idldoc_html_output/idldoc-warnings.html
r89 r93 133 133 <h2>Known bugs</h2></div> 134 134 <div id="undoc"> 135 <h2>Undocumented routines</h2><a href="./Calendar/date2jul.html?format=raw">./Calendar/date2jul.pro</a> 136 <table> 137 138 <tr> 139 <td class="docroutine"><a href="./Calendar/date2jul.html?format=raw#_date2jul">date2jul</a></td> 140 <td class="docstat partialdoc">partially documented</td> 141 </tr> 142 143 </table><a href="./Calendar/date2string.html?format=raw">./Calendar/date2string.pro</a> 135 <h2>Undocumented routines</h2><a href="./Calendar/date2string.html?format=raw">./Calendar/date2string.pro</a> 144 136 <table> 145 137 … … 149 141 </tr> 150 142 151 </table><a href="./Calendar/daysinmonth.html?format=raw">./Calendar/daysinmonth.pro</a>152 <table>153 154 <tr>155 <td class="docroutine"><a href="./Calendar/daysinmonth.html?format=raw#_daysinmonth">daysinmonth</a></td>156 <td class="docstat partialdoc">partially documented</td>157 </tr>158 159 </table><a href="./Calendar/jul2date.html?format=raw">./Calendar/jul2date.pro</a>160 <table>161 162 <tr>163 <td class="docroutine"><a href="./Calendar/jul2date.html?format=raw#_jul2date">jul2date</a></td>164 <td class="docstat partialdoc">partially documented</td>165 </tr>166 167 </table><a href="./Calendar/leapyr.html?format=raw">./Calendar/leapyr.pro</a>168 <table>169 170 <tr>171 <td class="docroutine"><a href="./Calendar/leapyr.html?format=raw#_leapyr">leapyr</a></td>172 <td class="docstat notdoc">not documented</td>173 </tr>174 175 143 </table><a href="./Calendar/monthname.html?format=raw">./Calendar/monthname.pro</a> 176 144 <table> … … 3258 3226 </tr> 3259 3227 3260 </table><a href="./Utilities/demomode_compatibility.html?format=raw">./Utilities/demomode_compatibility.pro</a>3261 <table>3262 3263 <tr>3264 <td class="docroutine"><a href="./Utilities/demomode_compatibility.html?format=raw#_demomode_compatibility">demomode_compatibility</a></td>3265 <td class="docstat notdoc">not documented</td>3266 </tr>3267 3268 3228 </table><a href="./Utilities/find.html?format=raw">./Utilities/find.pro</a> 3269 3229 <table> … … 3287 3247 <tr> 3288 3248 <td class="docroutine"><a href="./Utilities/isafile.html?format=raw#_isafile">isafile</a></td> 3289 <td class="docstat partialdoc">partially documented</td>3290 </tr>3291 3292 </table><a href="./Utilities/protype.html?format=raw">./Utilities/protype.pro</a>3293 <table>3294 3295 <tr>3296 <td class="docroutine"><a href="./Utilities/protype.html?format=raw#_protype">protype</a></td>3297 3249 <td class="docstat partialdoc">partially documented</td> 3298 3250 </tr> -
trunk/SRC/Documentation/idldoc_html_output/overview.html
r89 r93 365 365 <tr> 366 366 <td>Lines of code</td> 367 <td class="value"> 5 6067</td>367 <td class="value"> 55942</td> 368 368 </tr> 369 369 </table> -
trunk/SRC/Documentation/idldoc_html_output/search.js
r91 r93 1 1 a = new Array(); 2 2 3 a[1] = new Array("./Calendar/date2jul.html", "date2jul.pro", "", " NAME: date2jul PURPOSE: gives julian day equivalent of a date in yyyymmdd format CATEGORY: calendar CALLING SEQUENCE: jday juldate 19930124 INPUTS: date in yyyymmdd format KEYWORD PARAMETERS: GRADS: if 1 year 2000 year if 50 year 1900 year OUTPUTS:date en jour julien COMMON BLOCKS: none SIDE EFFECTS: RESTRICTIONS: EXAMPLE: IDL print date2jul 19931205 EQ julday 12 5 1993 1 IDL print date2jul 931205 grads EQ julday 12 5 1993 1 MODIFICATION HISTORY:Sebastien Masson smasson lodyc jussieu fr June 2005 function date2jul date GRADS grads year long date 10000 month long abs date 100 MOD 100 day long abs date MOD 100 if keyword_set grads then year year 1900 year GE 50 AND year LE 99 2000 year GE 1 AND year LE 49 return julday month day year end ");4 a[2] = new Array("./Calendar/date2string.html", "date2string.pro", "", " NAME: date2string PURPOSE: create a nice and readable format to print a date CATEGORY: calendar string CALLING SEQUENCE: nice_date date2string yyyymmdd INPUTS: yyyymmdd the date in the format yearyearyearyearmonthmonthdayday KEYWORD PARAMETERS:those of string fonction to specify the format of the month the C format OUTPUTS: a string containing the date in a easy readable format COMMON BLOCKS:none SIDE EFFECTS: RESTRICTIONS: EXAMPLE: IDL print date2string 19900123 Jan 23 1990 IDL print date2string 19900123 format C CMOA JAN 23 1990 MODIFICATION HISTORY:Sebastien Masson smasson lodyc jussieu fr Creation update review June 2005 Sebastien Masson FUNCTION date2string yyyymmdd _EXTRA ex sday strtrim long yyyymmdd MOD 100 1 smonth strtrim long yyyymmdd 100 MOD 100 2 syear strtrim long yyyymmdd 10000 2 res string format C CMoa 31 fix smonth 1 _EXTRA ex sday syear return res end");5 a[3] = new Array("./Calendar/daysinmonth.html", "daysinmonth.pro", "", " NAME:daysinmonth PURPOSE:give the nomber of days in a specefic month CATEGORY: calandar CALLING SEQUENCE: ndays daysinmonth month year INPUTS optionnal : month and year Year is used only if the common variable key_caltype greg In that case month and year must have the same number of elements if not provided we take month and year from time common variable KEYWORD PARAMETERS: OUTPUTS: COMMON BLOCKS: cm_4cal SIDE EFFECTS: return 1 in case of error RESTRICTIONS: EXAMPLE: MODIFICATION HISTORY:Sebastien Masson smasson lodyc jussieu fr 2 7 98 update review english new commons: June 2005 Sebastien Masson function daysinmonth month year include commons cm_4cal IF NOT keyword_set key_forgetold THEN BEGIN updatenew ENDIF IF n_elements key_caltype EQ 0 THEN key_caltype greg CASE key_caltype OF 360d : if n_elements month GT 1 THEN return replicate 30 n_elements month ELSE return 30 noleap :BEGIN days_in_mth 31 28 31 30 31 30 31 31 30 31 30 31 IF n_elements month EQ 0 THEN caldat time month return days_in_mth month 1 END greg :BEGIN CASE n_params OF 0:caldat time month day year 2:IF n_elements month NE n_elements year THEN return report month and year must have the same number of elements ELSE:return report daysinmonth accept 0 or 2 input parameters ENDCASE days_in_mth 31 28 31 30 31 30 31 31 30 31 30 31 return days_in_mth month 1 leapyr year month EQ 2 END ELSE:return report only 3 types of calendar are accepted: greg 360d and noleap ENDCASE END ");6 a[4] = new Array("./Calendar/jul2date.html", "jul2date.pro", "", " NAME: jul2date PURPOSE: gives yyyymmdd date equivalent of a julian day CATEGORY: calendar CALLING SEQUENCE: date jul2date jday INPUTS:jday: julian day KEYWORD PARAMETERS: None OUTPUTS: date in yyyymmdd format COMMON BLOCKS: None SIDE EFFECTS: RESTRICTIONS: EXAMPLE: IDL print jul2date julday 12 23 1999 19991223 MODIFICATION HISTORY:Sebastien Masson smasson lodyc jussieu fr June 2005 function jul2date jday caldat jday month day year res 10000L year 100L month day year GE 0 10000L year 100L month day year LT 0 return long res end");7 a[5] = new Array("./Calendar/leapyr.html", "leapyr.pro", "", " function leapyr year NAME: leapyr PURPOSE: determine whether the input year is a leap year or not Very useful for finding number of days in a year eg NUM_DAYS_IN_YR 365 leapyr year CATEGORY: Utility CALLING SEQUENCE: result leapyr year INPUTS: year test if year is a leap year OUTPUTS: result 0 then not a leap year 1 then year is a leap year COMMON BLOCKS: cm_4cal SIDE EFFECTS: none MODIFICATION HISTORY: Originally Written by: Trevor Harris Physics Dept University of Adelaide 20 09 88 November 2004: correction for century years S Masson Every year divisible by 4 is a leap year But every year divisible by 100 is NOT a leap year Unless the year is also divisible by 400 then it is still a leap year This means that year 1800 1900 2100 2200 2300 and 2500 are NOT leap years while year 2000 and 2400 are leap years supress the automatic change 89 1989 June 2005 update for new commons Sebastien Masson include commons cm_4calyr long year IF n_elements key_caltype EQ 0 THEN key_caltype greg IF key_caltype NE greg THEN BEGIN sd size yr dimensions IF sd 0 EQ 0 THEN return 0b ELSE return bytarr size yr dimensions ENDIF ELSE return yr MOD 4 EQ 0 yr MOD 100 NE 0 yr MOD 400 EQ 0 end");8 a[6] = new Array("./Calendar/monthname.html", "monthname.pro", "", " NAME:monthname PURPOSE:gives the name of a month CATEGORY: CALLING SEQUENCE:name monthname number INPUTS: number the month number from 1 to 12 KEYWORD PARAMETERS:those of string fonction to specify the format of the month the C format OUTPUTS: an integer the month s name COMMON BLOCKS:None SIDE EFFECTS: RESTRICTIONS: EXAMPLE: MODIFICATION HISTORY:Sebastien Masson smasson lodyc jussieu fr 1 October 2001 FUNCTION monthname mm1 _extra ex return string format C CMoA0 31 mm1 1 _extra ex end");3 a[1] = new Array("./Calendar/date2jul.html", "date2jul.pro", "", " gives julian day equivalent of a date in yyyymmdd format categories calendar param date in required date in yyyymmdd format keyword GRADS in optional if 1 year 2000 year if 50 year 1900 year returns date in julian day examples IDL jday juldate 19930124 IDL print date2jul 19931205 EQ julday 12 5 1993 1 IDL print date2jul 931205 grads EQ julday 12 5 1993 1 history Sebastien Masson smasson lodyc jussieu fr June 2005 function date2jul date GRADS grads year long date 10000 month long abs date 100 MOD 100 day long abs date MOD 100 if keyword_set grads then year year 1900 year GE 50 AND year LE 99 2000 year GE 1 AND year LE 49 return julday month day year end "); 4 a[2] = new Array("./Calendar/date2string.html", "date2string.pro", "", " create a nice and readable format to print a date categories calendar string param yyyymmdd in required the date in the format yyyymmdd file_comments keyword parameters of string function to specify the format of the month the C format can be used returns a string containing the date in a easy readable format examples IDL print date2string 19900123 Jan 23 1990 IDL print date2string 19900123 format C CMOA JAN 23 1990 history Sebastien Masson smasson lodyc jussieu fr Creation update review June 2005 Sebastien Masson FUNCTION date2string yyyymmdd _EXTRA ex sday strtrim long yyyymmdd MOD 100 1 smonth strtrim long yyyymmdd 100 MOD 100 2 syear strtrim long yyyymmdd 10000 2 res string format C CMoa 31 fix smonth 1 _EXTRA ex sday syear return res end"); 5 a[3] = new Array("./Calendar/daysinmonth.html", "daysinmonth.pro", "", " give the number of days in a specific month categories calendar param month in optional param year in optional Year is used only if the common variable key_caltype greg In that case month and year must have the same number of elements If not provided we take month and year from time common variable returns number of days in a month or 1 in case of error uses cm_4cal examples IDL ndays daysinmonth 2 2000 history Sebastien Masson smasson lodyc jussieu fr 2 7 98 update review english new commons: June 2005 Sebastien Masson function daysinmonth month year include commons cm_4cal IF NOT keyword_set key_forgetold THEN BEGIN updatenew ENDIF IF n_elements key_caltype EQ 0 THEN key_caltype greg CASE key_caltype OF 360d : if n_elements month GT 1 THEN return replicate 30 n_elements month ELSE return 30 noleap :BEGIN days_in_mth 31 28 31 30 31 30 31 31 30 31 30 31 IF n_elements month EQ 0 THEN caldat time month return days_in_mth month 1 END greg :BEGIN CASE n_params OF 0:caldat time month day year 2:IF n_elements month NE n_elements year THEN return report month and year must have the same number of elements ELSE:return report daysinmonth accept 0 or 2 input parameters ENDCASE days_in_mth 31 28 31 30 31 30 31 31 30 31 30 31 return days_in_mth month 1 leapyr year month EQ 2 END ELSE:return report only 3 types of calendar are accepted: greg 360d and noleap ENDCASE END "); 6 a[4] = new Array("./Calendar/jul2date.html", "jul2date.pro", "", " gives yyyymmdd date equivalent of a julian day categories calendar param jday in required julian day returns date in yyyymmdd format examples IDL print jul2date julday 12 23 1999 19991223 history Sebastien Masson smasson lodyc jussieu fr June 2005 function jul2date jday caldat jday month day year res 10000L year 100L month day year GE 0 10000L year 100L month day year LT 0 return long res end"); 7 a[5] = new Array("./Calendar/leapyr.html", "leapyr.pro", "", " determine whether the input year is a leap year or not Very useful for finding number of days in a year eg NUM_DAYS_IN_YR 365 leapyr year categories calendar param year in required year to be tested as a leap year returns 0 then not a leap year 1 then year is a leap year uses cm_4cal examples IDL result leapyr 2000 history Originally Written by: Trevor Harris Physics Dept University of Adelaide 20 09 88 November 2004: correction for century years S Masson Every year divisible by 4 is a leap year But every year divisible by 100 is NOT a leap year Unless the year is also divisible by 400 then it is still a leap year This means that year 1800 1900 2100 2200 2300 and 2500 are NOT leap years while year 2000 and 2400 are leap years supress the automatic change 89 1989 June 2005 update for new commons Sebastien Masson function leapyr year include commons cm_4cal yr long year IF n_elements key_caltype EQ 0 THEN key_caltype greg IF key_caltype NE greg THEN BEGIN sd size yr dimensions IF sd 0 EQ 0 THEN return 0b ELSE return bytarr size yr dimensions ENDIF ELSE return yr MOD 4 EQ 0 yr MOD 100 NE 0 yr MOD 400 EQ 0 end"); 8 a[6] = new Array("./Calendar/monthname.html", "monthname.pro", "", " gives the name of a month categories calendar param number in required the month number from 1 to 12 file_comments keyword parameters of string function to specify the format of the month the C format can be used returns the month s name examples IDL name monthname 2 history Sebastien Masson smasson lodyc jussieu fr 1 October 2001 FUNCTION monthname mm1 _extra ex return string format C CMoA0 31 mm1 1 _extra ex end"); 9 9 a[7] = new Array("./Commons/all_cm.html", "all_cm.pro", "", ""); 10 10 a[8] = new Array("./Commons/cm_4cal.html", "cm_4cal.pro", "", ""); … … 14 14 a[12] = new Array("./Commons/cm_demomode.html", "cm_demomode.pro", "", ""); 15 15 a[13] = new Array("./Commons/cm_general.html", "cm_general.pro", "", ""); 16 a[14] = new Array("./Documentation/xmldoc/idldoc_html_ 6832.html", "idldoc_html_6832.pro", "", "");16 a[14] = new Array("./Documentation/xmldoc/idldoc_html_16774.html", "idldoc_html_16774.pro", "", ""); 17 17 a[15] = new Array("./Documentation/xmldoc/idlfiles/init_example.html", "init_example.pro", "", ""); 18 18 a[16] = new Array("./ForOldVersion/keep_compatibility.html", "keep_compatibility.pro", "", " NAME: keep_compatibility PURPOSE: 1 define key_forgetold 1b keyword_set flag 2 remove all oldcm_used pro found in path 3 define and create myuniquetmpdir and add it to path 4 copy oldcm_full _empty to myuniquetmpdir oldcm_used pro CATEGORY: compatibility with old version CALLING SEQUENCE:keep_compatibility flag INPUTS: flag: 1 or 0 to keep or forget the compatibility dir: the directory where we create oldcm_used pro if omitted is automatically defined to 1b keyword_set key_forgetold COMMON BLOCKS: cm_general SIDE EFFECTS: see purpose RESTRICTIONS: copy oldcm_full or oldcm_empty must be found in the path dir must aslo be in the path MODIFICATION HISTORY:Sebastien Masson smasson lodyc jussieu fr June 2005 PRO keep_compatibility flag cm_general version should be at least 6 0 IF fix strmid version release 0 1 LT 6 THEN BEGIN print print ERROR print print This version of SAXO needs at least IDL version 6 0 print print ERROR print return ENDIF IF n_elements myuniquetmpdir NE 0 THEN BEGIN path path : expand_path myuniquetmpdir return ENDIF if n_elements flag eq 0 then flag 1b keyword_set key_forgetold 1 automatic definition of key_forgetold key_forgetold 1b keyword_set flag 2 remove all oldcm_used pro found in path to_rm find oldcm_used IF to_rm 0 NE NOT FOUND THEN file_delete to_rm 3 define and create myuniquetmpdir and add it to path def_myuniquetmpdir 4 copy oldcm_full _empty to myuniquetmpdir oldcm_used pro select which file should be copied to oldcm_used pro IF key_forgetold THEN BEGIN oldcm find oldcm_empty print We forget the compatibility with the old version ENDIF ELSE BEGIN oldcm find oldcm_full print We keep the compatibility with the old version ENDELSE oldcm oldcm 0 IF oldcm EQ NOT FOUND THEN BEGIN print Error: oldcm_full or oldcm_empty must be found in the path stop ENDIF copy file_copy oldcm myuniquetmpdir oldcm_used pro overwrite make sure we can make the plots enev if we are using the demo mode demomode_compatibility make sure that the common variables are correctly initialized IF size ccmeshparameters type NE 8 THEN BEGIN computegrid 1 1 1 1 1 1 fullcgrid cm_4data varname vargrid T vardate 0 varexp varunit valmask 1 e20 ENDIF return END"); … … 383 383 a[381] = new Array("./ToBeReviewed/WIDGET/xx.html", "xx.pro", "", " PRO xx JOUR jour MESHFILENAME meshfilename LISTVAR listvar LISTGRID listgrid FUNCLEC_NAME funclec_name CALENDAR calendar _extra ex common partie a changer nom de la fonction de lecture: if NOT keyword_set funclec_name then funclec_name slec varexp INF liste des variables 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 liste des grilles auxquelles elles se rapportent les variables if NOT keyword_set listgrid then BEGIN listgrid replicate T n_elements listvar listgrid 2 4 U listgrid 3 5 V ENDIF calendrier a utiliser en jours juliens d IDL if NOT keyword_set calendar then BEGIN if keyword_set jour then calendar calendriertotem julian_day ELSE calendar calendriertotem julian_day mensuel ENDIF nom du fichier se rapportant au masque if NOT keyword_set meshfilename then meshfilename usr1 com smasson IDL INIT inittotem pro meshparameters whichgrid meshfilename parameteres specifiant comment doit etre lu le champ readparameters funclec_name: funclec_name jpidta: jpidta jpjdta: jpjdta jpkdta: jpkdta ixmindta: ixmindta ixmaxdta: ixmaxdta iymindta: iymindta iymaxdta: iymaxdta izmindta: izmindta izmaxdta: izmaxdta fin de la partie a changer fileparameters filename: many time_counter: calendar listvar: listvar listgrid: strupcase listgrid multistructure fileparameters: temporary fileparameters readparameters: temporary readparameters meshparameters: temporary meshparameters xxx multistructure temporary multistructure _extra ex return end"); 384 384 a[382] = new Array("./ToBeReviewed/WIDGET/xxx.html", "xxx.pro", "", " NAME:xxx PURPOSE:un maximum de possibilites avec un minimum de clics CATEGORY:super widget CALLING SEQUENCE:xxx INPUTS:none KEYWORD PARAMETERS: SEPARATE: pour separer la partie boutons de la partie dessin en 2 fenetres Utile pour les petits ecrans mais attention peut saturer la memoire video de certains Tx un peu vetustes RESTORE toto dat ou toto dat est un fichier cree lors d une precedente utilisation de xxx grace a la commande Widget du menu save as OUTPUTS: COMMON BLOCKS:common pro SIDE EFFECTS: RESTRICTIONS: EXAMPLE: MODIFICATION HISTORY:Sebastien Masson smasson lodyc jussieu fr PRO xxx_event event common widget_info event top find_by_uname quel est le type d evenement if event id EQ 622 then help event struct widget_control event id get_uvalue uval if tag_names event structure_name 0 EQ WIDGET_TRACKING then uval name: ActiverFenetre if keyword_set uval EQ 0 then return help event struct help uval struct case sur le type d evenement widget_control event top get_uvalue top_uvalue si on a active le mot cles separate a l appelle de xxx if size top_uvalue type EQ 3 then begin event top top_uvalue widget_control event top get_uvalue top_uvalue endif on tue le petit widget cree par notice pro si il existe noticebase extractatt top_uvalue noticebase if noticebase NE 0 then BEGIN widget_control noticebase destroy top_uvalue 1 findline top_uvalue noticebase 0l endif options extractatt top_uvalue options case uval name OF menubar :xxxmenubar_event event ok :nouveaudessin 1 specifie : action : calendar1 :BEGIN date2id widget_info event top find_by_uname calendar2 widget_control date2id get_value date2 if event value GT date2 then widget_control date2id set_value event value END calendar2 :BEGIN date1id widget_info event top find_by_uname calendar1 widget_control date1id get_value date1 if event value LT date1 then widget_control date1id set_value event value END domain : varlist :BEGIN currentfile extractatt top_uvalue currentfile listvar extractatt top_uvalue fileparameters currentfile listvar name listvar event index changefield event top name END txtcmd : filelist :BEGIN changefile event top event index END ActiverFenetre :BEGIN if event enter EQ 1 AND d name NE PS then BEGIN graphid widget_info event top find_by_uname graph graphid extractatt top_uvalue graphid widget_control graphid get_value win wset win widget_control event top get_uvalue top_uvalue numdessinin extractatt top_uvalue smallin 2 1 p extractatt top_uvalue penvs numdessinin x extractatt top_uvalue xenvs numdessinin y extractatt top_uvalue yenvs numdessinin endif END graph :BEGIN quelclick identifyclick event case quelclick type of inutile :return long :longclickaction event single :singleclickaction event double :doubleclickaction event endcase END endcase if keyword_set nouveaudessin then letsdraw event top return end PRO xxx datafilename idlfile argspro CALLERWIDID CallerWidId REDRAW redraw SEPARATE separate UVALUE uvalue RESTORE restore _EXTRA ex all_cm reinitialize the p x y z variables reinitplt we get back the uvalue of the widget that called xxx to create a new widget if keyword_set restore then BEGIN restore isafile filename restore iodir homedir _extra ex if size restore type NE 7 then restore 0 ELSE BEGIN restore isafile file restore iodir homedir _extra ex newgrid extractatt uvalue meshparameters 0 change changegrid newgrid ENDELSE endif if n_elements CallerWidId NE 0 THEN widget_control CallerWidId get_uvalue uvalue ELSE CallerWidId 0 liste des fichiers que l on veut regarder if keyword_set uvalue then BEGIN currentfile extractatt uvalue currentfile filelist extractatt uvalue filelist fileparameters extractatt uvalue fileparameters readparameters extractatt uvalue readparameters meshparameters extractatt uvalue meshparameters ENDIF ELSE BEGIN newfile selectfile datafilename idlfile argspro _extra ex if size newfile type NE 8 then return fileparameters ptrarr 1 allocate_heap fileparameters 0 newfile fileparameters readparameters ptrarr 1 allocate_heap readparameters 0 newfile readparameters meshparameters ptrarr 1 allocate_heap meshparameters 0 newfile meshparameters currentfile 0 filelist newfile fileparameters filename ENDELSE if keyword_set uvalue THEN BEGIN smallin extractatt uvalue smallin smallout extractatt uvalue smallout ENDIF ELSE BEGIN smallin 1 1 1 smallout 1 1 1 ENDELSE nbredessin smallin 0 smallin 1 numdessinin smallin 2 1 warning flg definition must be consistent with cw_pdmenu argument see also flag definition in cw_pagelayout if keyword_set uvalue then BEGIN flag extractatt uvalue optionsflag key_portrait flag 0 numdessinin ENDIF ELSE flag key_portrait 0 0 0 0 replicate 1 nbredessin We start the widget definition widget and screen size scrsize get_screen_size 0 95 windsize givewindowsize xxxsize windsize 0 1 keyword_set separate 350 windsize 1 The top base IF xxxsize 0 LE scrsize 0 AND xxxsize 1 LE scrsize 1 THEN BEGIN base widget_base title xxx GROUP_LEADER group tracking_events uname base space 0 ENDIF ELSE BEGIN base widget_base title xxx GROUP_LEADER group tracking_events uname base space 0 xsize xxxsize 0 ysize xxxsize 1 x_scroll_size xxxsize 0 selectact ENDIF ELSE selectfile 0 menu options xoff xoff 110 if keyword_set uvalue then begin options extractatt uvalue options ENDIF ELSE options Portrait Landscape Overlay Vecteur Longitude x index Latitude y index desc 1 File 0 Open 0 New xxx 2 Quit 1 Save as 0 PostScript 0 Animated gif 0 Gif 0 IDL procedure 0 RESTORE kwd of xxx 2 Print to prompt 1 Flag options descsuite options if n_elements descsuite GE 2 then descsuite 0:n_elements descsuite 2 0 descsuite 0:n_elements descsuite 2 descsuite n_elements descsuite 1 2 descsuite n_elements descsuite 1 desc desc descsuite menu cw_pdmenu base desc RETURN_NAME uname menubar uvalue name: menubar xoffset xoff yoffset yoff Ok button yoff yoff 37 xoff 5 boutton OK baseok widget_button base value OK uvalue name: ok uname ok button frame xoffset xoff yoffset yoff Page Layout page layout xoff xoff 65 dummyid cw_pagelayout base smallin row frame xoffset xoff yoffset yoff List of Variables xoff xoff 140 currentlistvar fileparameters currentfile listvar vlstid widget_combobox base value currentlistvar uvalue name: varlist uname varlist xoffset xoff yoffset yoff 1 if keyword_set uvalue then BEGIN selectvar extractatt uvalue varinfo 1 numdessinin selectvar where currentlistvar EQ selectvar 0 widget_control vlstid set_combobox_select 0 selectvar ENDIF ELSE selectvar 0 List of files yoff yoff 35 flstid widget_combobox base value file_basename filelist uname filelist xsize 345 yoffset yoff uvalue name: filelist if keyword_set uvalue then BEGIN selectfile extractatt uvalue varinfo 0 numdessinin selectfile where file_basename filelist EQ selectfile 0 widget_control flstid set_combobox_select 0 selectfile ENDIF ELSE selectfile 0 Text for computation yoff yoff 32 computation done on the files if keyword_set uvalue then txtvalue extractatt uvalue txtcmd numdessinin ELSE txtvalue varexp dummyid widget_text base value txtvalue uvalue name: txtcmd uname txtcmd editable yoffset yoff xsize 54 frame Calendar yoff yoff 40 currentcalendar fileparameters currentfile time_counter key_caltype fileparameters currentfile caltype fakecal fileparameters currentfile fakecal if keyword_set uvalue then begin dates extractatt uvalue dates numdessinin date1 date2jul dates 0 date2 date2jul dates 1 ENDIF basecalid widget_base base column 2 space 0 yoffset yoff uname basecal dummyid cw_calendar basecalid currentcalendar date1 FAKECAL fakecal uname calendar1 uvalue name: calendar1 frame dummyid cw_calendar basecalid currentcalendar date2 FAKECAL fakecal uname calendar2 uvalue name: calendar2 frame Domain yoff yoff 60 vargrid strupcase fileparameters currentfile listgrid selectvar IF vargrid EQ W then zgrid W ELSE zgrid T if keyword_set uvalue then boxzoom extractatt uvalue domaines numdessinin dummyid cw_domain base uname domain uvalue name: domain unzoom frame boxzoom boxzoom yoffset yoff xoffset 15 Plots specifications yoff yoff 230 speid cw_specifie base uname specifie uvalue name: specifie frame column forxxx yoffset yoff if keyword_set uvalue then BEGIN exextra extractatt uvalue exextra numdessinin IF n_elements exextra NE 0 THEN widget_control speid set_value exextra ENDIF drawing part if keyword_set separate then basegraph widget_base title xxx window group_leader base uvalue base ELSE basegraph base graphid widget_draw basegraph uname graph button_events retain 2 uvalue name: graph press:0 click:0 x: 0 0 y: 0 0 xoffset 350 1 keyword_set separate xsize windsize 0 ysize windsize 1 tooltip toto realize the widget widget_control base realize if keyword_set separate then begin widget_control basegraph realize xmanager xxx basegraph no_block endif if keyword_set uvalue then BEGIN on recopie le pointeur uvalue dans top_uvalue Attention il faut completement redefinir top_uvalue a partir des variables pointees par uvalue Sinon si on fait simplement top_uvalue uvalue qd on detruit par uvalue et les variables surlesquelles il pointe on detruit aussi les variables sur lesquelles pointent top_uvalue case 1 of keyword_set redraw :BEGIN top_uvalue uvalue widget_control base set_uvalue top_uvalue we find homedir homedir isadirectory io homedir title Bad definition of homedir on recupere la liste des instructions globalcommand extractatt top_uvalue globalcommand on complete par le premiere et les dernieres lignes du programme createpro globalcommand filename myuniquetmpdir xxx2ps pro KWDLIST NOERASE noerase POSTSCRIPT postscript PORTRAIT portrait LANDSCAPE landscape noerase END keyword_set restore :begin top_uvalue uvalue widget_control base set_uvalue top_uvalue widget_control graphid get_value win wshow win wset win tv image true etat des widgets updatewidget base menage END ELSE:BEGIN top_uvalue ptrarr 2 29 allocate_heap FOR i 0 28 do top_uvalue 0 i uvalue 0 i FOR i 0 14 do top_uvalue 1 i uvalue 1 i FOR i 18 27 do top_uvalue 1 i uvalue 1 i numfile n_elements extractatt uvalue filelist top_uvalue 1 15 ptrarr numfile allocate_heap top_uvalue 1 16 ptrarr numfile allocate_heap top_uvalue 1 17 ptrarr numfile allocate_heap for i 0 numfile 1 do begin top_uvalue 1 15 i uvalue 1 15 i top_uvalue 1 16 i uvalue 1 16 i top_uvalue 1 17 i uvalue 1 17 i endfor top_uvalue 1 28 ptrarr nbredessin allocate_heap for i 0 nbredessin 1 do top_uvalue 1 28 i uvalue 1 28 i widget_control base set_uvalue top_uvalue copie l ecran du widget de uvalue dans celui de top_uvalue if keyword_set CallerWidId then begin widget_control extractatt uvalue graphid get_value win wshow win wset win image tvrd true widget_control graphid get_value win wshow win wset win tv image true ENDIF END endcase top_uvalue 1 findline top_uvalue graphid graphid ENDIF ELSE BEGIN sinon on va definit tous les elements que l on acroche au widget grace a la top_uvalue qui est un tableau de pointeurs a 2 colonnes: les noms et des variables on initialie tous ces elements variables concernant le widget ds sa generalite if NOT keyword_set ex then ex nothing:0 variables se rapportant aux differents fichiers que l on peut lire variables specifiques a chaque dessin creation du pointeur que l on va attache au widget top_uvalue ptrarr 2 29 allocate_heap variables se rapportant au widget en general top_uvalue 0 0 options top_uvalue 1 0 options top_uvalue 0 1 smallin top_uvalue 1 1 smallin top_uvalue 0 2 smallout top_uvalue 1 2 smallout top_uvalue 0 3 graphid top_uvalue 1 3 graphid top_uvalue 0 4 alreadyvector top_uvalue 1 4 1 top_uvalue 0 5 alreadyover top_uvalue 1 5 1 top_uvalue 0 6 alreadyread top_uvalue 1 6 1 top_uvalue 0 7 currentreadcmd top_uvalue 1 7 top_uvalue 0 8 globalcommand top_uvalue 1 8 top_uvalue 0 9 globaloldcommand top_uvalue 1 9 top_uvalue 0 10 no more used top_uvalue 1 10 9999 top_uvalue 0 11 noticebase top_uvalue 1 11 0l top_uvalue 0 12 extra top_uvalue 1 12 ex variables se rapportant aux differents fichiers que l on peut lire top_uvalue 0 13 currentfile top_uvalue 1 13 currentfile top_uvalue 0 14 filelist top_uvalue 1 14 filelist top_uvalue 0 15 fileparameters top_uvalue 1 15 fileparameters top_uvalue 0 16 readparameters top_uvalue 1 16 readparameters top_uvalue 0 17 meshparameters top_uvalue 1 17 meshparameters variables se rapportant aux differents dessins que l on peut faire top_uvalue 0 18 penvs top_uvalue 1 18 replicate p nbredessin top_uvalue 0 19 xenvs top_uvalue 1 19 replicate x nbredessin top_uvalue 0 20 yenvs top_uvalue 1 20 replicate y nbredessin top_uvalue 0 21 nameprocedures top_uvalue 1 21 strarr nbredessin top_uvalue 0 22 types top_uvalue 1 22 strarr nbredessin top_uvalue 0 23 varinfo top_uvalue 1 23 strarr 2 nbredessin top_uvalue 0 24 domaines top_uvalue 1 24 fltarr 6 nbredessin top_uvalue 0 25 dates top_uvalue 1 25 lonarr 2 nbredessin top_uvalue 0 26 txtcmd top_uvalue 1 26 strarr nbredessin top_uvalue 0 27 optionsflag top_uvalue 1 27 flag top_uvalue 0 28 exextra top_uvalue 1 28 ptrarr nbredessin allocate_heap widget_control base set_uvalue top_uvalue createhistory base smallin ENDELSE xmanager xxx base no_block return end"); 385 a[383] = new Array("./Utilities/createfunc.html", "createfunc.pro", "", " NAME:createfunc PURPOSE: write an idl function compile it and execute it usefull to avoid the use of execute CATEGORY: CALLING SEQUENCE:res createfunc command INPUTS: command: a scalar string defining the result to be byven back by the function see examples KEYWORD PARAMETERS: FILENAMEIN: name of the funccedure to be created for_createfunc pro by default KWDLIST: a vector string to specify a list of keywords that must be included in the function definition Warning: the string must start with a for example: KWDLIST TOTO toto _EXTRA: used to pass your keywords to the created function OUTPUTS: none COMMON BLOCKS: none SIDE EFFECTS: ends the function name with pro if needed RESTRICTIONS:arguments can be given only through keywords EXAMPLE: IDL print createfunc 3 2 filename test IDL print createfunc 3 two filename test kwdlist two two two 2 MODIFICATION HISTORY:Sebastien Masson smasson lodyc jussieu fr May 2005 FUNCTION createfunc command FILENAMEIN filenamein KWDLIST kwdlist _extra ex compile_opt idl2 hidden strictarrsubs IF n_elements command NE 1 THEN stop define filename if needed if NOT keyword_set filenamein then filename for_createfunc pro ELSE filename filenamein get the name of the function not the name of the file containing the function shortfilename file_basename filename pro check if the directory exists dirname isadirectory file_dirname filename title Redefine shortfilename pro directory IF size dirname type NE 7 THEN return 1 filename dirname shortfilename pro create the file if NOT keyword_set kwdlist then kwdlist kwdlist kwdlist _extra ex IF strmid kwdlist 0 1 NE THEN kwdlist kwdlist putfile filename function shortfilename kwdlist compile_opt idl2 hidden strictarrsubs res command return res end go in dirname directory cd dirname current old_dir compile it resolve_routine shortfilename is_function cd old_dir execute it res call_function shortfilename _extra ex return res end");386 a[384] = new Array("./Utilities/createpro.html", "createpro.pro", "", " NAME:createpro PURPOSE: write an idl procedure compile it and execute it CATEGORY: CALLING SEQUENCE:createpro command INPUTS: command: a string array defining the procedure to be created each element will be a line of the created procedure KEYWORD PARAMETERS: FILENAMEIN: name of the procedure to be created for_createpro pro by default KWDLIST: a vector string to specify a list of keywords that must be included in the procedure definition Warning: the string must start with a for example: KWDLIST TOTO toto _EXTRA: used to pass your keywords to the created procedure OUTPUTS: none COMMON BLOCKS: none SIDE EFFECTS: ends the procedure name with pro if needed RESTRICTIONS:is not working with functions use createfunc instead arguments can be given only through keywords EXAMPLE: IDL createpro print OK filename test IDL createpro if keyword_set ok then print OK else print No IDL filename test kwdlist ok ok IDL createpro if keyword_set ok then print OK else print No IDL filename test kwdlist ok ok ok MODIFICATION HISTORY:Sebastien Masson smasson lodyc jussieu fr cleaning new keywords: October 2005 Feb 2006: supress keyword kwdused and use call_procedure instead of execute PRO createpro command FILENAMEIN filenamein KWDLIST kwdlist KWDUSED kwdused _extra ex compile_opt idl2 hidden strictarrsubs IF keyword_set kwdused THEN BEGIN dummy report keyword KWDUSED has been suppressed please pass directly your keywords through _extra see exaemples in createpro header return ENDIF define filename if needed if NOT keyword_set filenamein then filename for_createpro pro ELSE filename filenamein get the name of the procedure not the name of the file containing the procedure shortfilename file_basename filename pro check if the directory exists dirname isadirectory file_dirname filename title Redefine shortfilename pro directory IF size dirname type NE 7 THEN return filename dirname shortfilename pro create the file if NOT keyword_set kwdlist then kwdlist kwdlist kwdlist _extra ex kwdlist strtrim kwdlist 2 IF strmid kwdlist 0 1 NE THEN kwdlist kwdlist for i 0 n_elements command 1 do print command i putfile filename pro shortfilename kwdlist compile_opt idl2 hidden strictarrsubs command return end go in dirname directory cd dirname current old_dir compile it resolve_routine shortfilename cd old_dir execute it call_procedure shortfilename _extra ex return end");387 a[385] = new Array("./Utilities/def_myuniquetmpdir.html", "def_myuniquetmpdir.pro", "", " NAME: def_myuniquetmpdir PURPOSE: if needed define and create myuniquetmpdir common variable from cm_general and add it to path CATEGORY: utilities CALLING SEQUENCE:def_myuniquetmpdir COMMON BLOCKS: cm_general SIDE EFFECTS: see purpose MODIFICATION HISTORY:Sebastien Masson smasson lodyc jussieu fr June 2005 PRO def_myuniquetmpdir cm_general IF n_elements myuniquetmpdir EQ 0 THEN BEGIN define a new and unique directory in getenv IDL_TMPDIR by using systime 1 look for the login if we use unix system IF d name EQ X THEN spawn whoami login noshell ELSE login idl myuniquetmpdir file_search getenv IDL_TMPDIR mark_directory myuniquetmpdir myuniquetmpdir 0 login 0 strtrim long systime 1 1 create it file_mkdir myuniquetmpdir add it to path path path : expand_path myuniquetmpdir ENDIF return end");388 a[386] = new Array("./Utilities/demomode_compatibility.html", "demomode_compatibility.pro", "", " PRO demomode_compatibilitycm_general 1 remove all cm_demomode_used pro found in path to_rm find cm_demomode_used IF to_rm 0 NE NOT FOUND THEN file_delete to_rm 2 copy oldcm_full _empty to myuniquetmpdir oldcm_used pro select which file should be copied to oldcm_used pro IF lmgr demo EQ 1 THEN BEGIN democm find cm_demomode file_copy democm myuniquetmpdir cm_demomode_used pro overwrite ENDIF ELSE BEGIN create an empty file close the journal if already open IF journal NE 0 THEN journal open a new one journal myuniquetmpdir cm_demomode_used pro close it it will be empty journal ENDELSE return END");389 a[387] = new Array("./Utilities/find.html", "find.pro", "", " NAME:find PURPOSE: based on file_search but it is possible to speficy a set of possibles names and a different set of possibles directories names By defaut look for files included in path CATEGORY:find a file CALLING SEQUENCE: found find filename INPUTS: A scalar or array variable of string type containing file names to match Input names specifications may contain wildcard characters enabling them to match multiple files see file_search for more informations By defaut and if necessary find is looking for filename and also for filename completed with pro KEYWORD PARAMETERS: FIRSTFOUND: activate this keyword to stop looking for the file as soon as we found one IODIRECTORY: A scalar or array variable of string type containing directories names where we are looking for the file by defaut we use path Different directories can be separated by path_sep search_path : on unix type machine as it is done to define path Note that if filename s dirname is different from this keyword is not taken into account LOOKALLDIR:activate to look for the file with a recursive search in iodir homedir path the DATA:TestsData directory if it exists NOPRO: activate to avoid the automatic search of filename completed with pro ONLYPRO:force to look only at file ending with pro ONLYNC:force to look only at file ending with nc RECURSIVE: performs recursive searching of directory hierarchies In a recursive search find looks recursively for any and all subdirectories in the file hierarchy rooted at the IODIRECTORY argument REPERTOIRE: obsolete keep for compatibility use directory keyword UNIQUE: activate to make sure that each element of the output vector is unique all file_search keywords OUTPUTS: A scalar or array variable of string type containing the name with the full path of the matching files If no files exist with names matching the input arguments find returns the scalar string : NOT FOUND COMMON BLOCKS: none SIDE EFFECTS: RESTRICTIONS: EXAMPLE: IDL print find loadct usr local rsi idl_6 0 lib utilities xloadct pro usr local rsi idl_6 0 lib loadct pro IDL print find loadct iodir dir recursive usr local rsi idl_6 0 lib loadct pro usr local rsi idl_6 0 lib utilities xloadct pro IDL print find loadct pro usr local rsi idl_6 0 lib utilities xloadct pro usr local rsi idl_6 0 lib loadct pro IDL print find loadct nopro NOT FOUND IDL print find loadct iodir usr local rsi idl_6 0 lib usr local rsi idl_6 0 lib loadct pro IDL print find loadct iodir usr local rsi idl_6 0 lib test_write NOT FOUND IDL print find loadct iodir usr local rsi idl_6 0 lib recursive usr local rsi idl_6 0 lib loadct pro usr local rsi idl_6 0 lib utilities xloadct pro IDL print find mesh iodirectory iodir path Users sebastie DATA ORCA2 meshmaskORCA2closea nc Users sebastie IDL meshmaskclosesea pro Users sebastie IDL meshmaskclosesea pro Users sebastie SAXO_RD Obsolete meshlec pro usr local rsi idl_6 0 lib mesh_obj pro MODIFICATION HISTORY:Sebastien Masson smasson lodyc jussieu fr 28 4 1999 6 7 1999: compatibilite mac et windows June 2005: Sebastien Masson: cleaning use for file_ functions FUNCTION find filein IODIRECTORY iodirectory RECURSIVE recursive REPERTOIRE repertoire NOPRO nopro ONLYPRO onlypro ONLYNC onlync UNIQUE unique FIRSTFOUND firstfound LOOKALLDIR LOOKALLDIR _extra ex define where we look for the file CASE 1 OF keyword_set lookalldir :BEGIN cm_general dirnames iodir homedir path tstdtadir file_dirname find find onlypro mark_directory tstdtadir file_search tstdtadir DATA TestsData 0 IF tstdtadir NE THEN dirnames tstdtadir dirnames END keyword_set iodirectory : dirnames iodirectory keyword_set repertoire : dirnames repertoire ELSE: dirnames path ENDCASE tmp dirnames dirnames dummy FOR i 0 n_elements tmp 1 DO dirnames dirnames strsplit tmp i path_sep search_path extract dirnames dirnames 1: fileout dummy FOR i 0 n_elements filein 1 DO BEGIN dir file_dirname filein i base file_basename filein i try to complete the file name with pro or nc if needed CASE 1 OF keyword_set onlypro :BEGIN promiss strpos base pro reverse_search promiss promiss strlen base 4 bad where promiss NE 0 OR strlen base LE 4 cnt IF cnt NE 0 THEN base bad base bad pro end keyword_set onlync :BEGIN ncmiss strpos base nc reverse_search ncmiss ncmiss strlen base 3 bad where ncmiss NE 0 OR strlen base LE 3 cnt IF cnt NE 0 THEN base bad base bad nc END ELSE:if strmid base 0 1 reverse_offset NE AND NOT keyword_set nopro THEN base base pro ENDCASE use dirnames only if dir eq IF dir EQ THEN BEGIN if keyword_set recursive THEN found file_search dirnames base _extra ex ELSE found file_search dirnames base _extra ex ENDIF ELSE found file_search dir base _extra ex IF found 0 NE THEN BEGIN IF keyword_set firstfound THEN BEGIN IF keyword_set unique THEN return found uniq found sort found ELSE return found ENDIF fileout fileout found ENDIF ENDFOR IF n_elements fileout EQ 1 THEN fileout NOT FOUND ELSE fileout fileout 1: IF n_elements fileout GT 1 THEN BEGIN IF keyword_set unique THEN fileout fileout uniq fileout sort fileout ENDIF ELSE fileout fileout 0 RETURN fileout END");390 a[388] = new Array("./Utilities/isadirectory.html", "isadirectory.pro", "", " NAME:isadirectory PURPOSE:check if a directory exists and make sure that it ends with the directory separator mark CATEGORY: io CALLING SEQUENCE: directory isadirectory dirname INPUTS:optional:a proposed directory If neither dirname input parameter of IODIRECTORY keyword are defined the ask the user to choose a directory KEYWORD PARAMETERS: IODIRECTORY:a proposed directory TITLE the title of the window all dialog_pickfile keywords like filter OUTPUTS: the directory name COMMON BLOCKS:none SIDE EFFECTS: RESTRICTIONS: EXAMPLE: IDL print dir usr local rsi idl_6 0 IDL print isadirectory dir usr local rsi idl_6 0 IDL print isadirectory dir notgood MODIFICATION HISTORY:Sebastien Masson smasson lodyc jussieu fr June 28 2000 June 2005: Sebastien Masson: cleaning use for file_ functions FUNCTION isadirectory directoryin TITLE title IODIRECTORY iodirectory _extra ex CASE 1 OF size directoryin type 0 EQ 7:directory directoryin keyword_set iodirectory :directory iodirectory ELSE:directory directory that is not existing ENDCASE testfile file_test directory directory if directory doesn t exist we ask the user to provide a directory name IF total testfile NE n_elements directory THEN BEGIN IF NOT keyword_set title THEN title choose a directory FOR i 0 n_elements directory 1 DO BEGIN IF testfile i EQ 0 THEN BEGIN directory i dialog_pickfile directory title title must_exist _extra ex if directory i EQ THEN RETURN report check find directory canceled ENDIF ENDFOR ENDIF directory file_search directory mark_directory IF n_elements directory EQ 1 THEN RETURN directory 0 ELSE RETURN directory END");391 a[389] = new Array("./Utilities/isafile.html", "isafile.pro", "", " NAME: isafile PURPOSE: same as find pro except that as long as the file is NOT FOUND isafile calls dialog_pickfile to ask the user to select a file CATEGORY: io CALLING SEQUENCE:filename isafile filein INPUTS:optional:a proposed name If neither filein input parameter of filename keyword are defined the ask the user to choose a file KEYWORD PARAMETERS: FILENAME: a proposed filename IODIRECTORY: a directory where we look for the file this keyword is taken into account only if the dirmame of filein or filename is NEW:to specify that filename is a new file and that we should check only its path ONLYPRO:force to look only at file ending with pro ONLYNC:force to look only at file ending with nc RECURSIVE: performs recursive searching of directory hierarchies In a recursive search find looks recursively for any and all subdirectories in the file hierarchy rooted at the IODIRECTORY argument all find file_search and dialog_pickfile keywords like title OUTPUTS:the filename with its path COMMON BLOCKS:none SIDE EFFECTS: RESTRICTIONS: EXAMPLE: IDL print isafile Users sebastie SAXO_RD Commons cm_4mesh pro Users sebastie SAXO_RD Commons cm_4mesh pro IDL print isafile cm_4mesh pro iodir Users sebastie SAXO_RD Commons Users sebastie SAXO_RD Commons cm_4mesh pro IDL print isafile cm_4mesh pro iodir path Users sebastie SAXO_RD Commons cm_4mesh pro IDL print isafile cm_4mesh pro iodir Users sebastie SAXO_RD recursive Users sebastie SAXO_RD Commons cm_4mesh pro IDL print isafile cm_4mesh pro iodir getenv HOME recursive Users sebastie SAXO_RD Commons cm_4mesh pro IDL print isafile fake_file pro MODIFICATION HISTORY:Sebastien Masson smasson lodyc jussieu fr 11 2 2000 June 2005: Sebastien Masson: cleaning use for file_ functions FUNCTION isafile filein FILENAME filename IODIRECTORY iodirectory NEW new RECURSIVE RECURSIVE ONLYPRO onlypro ONLYNC onlync _extra ex CASE 1 OF size filein type 0 EQ 7:fileout filein keyword_set filename :fileout filename ELSE:fileout file that is not existing ENDCASE if size fileout type NE 7 THEN return 1 CASE 1 OF keyword_set onlypro : filter pro keyword_set onlync : filter nc else: filter ENDCASE basename file_basename fileout dirname file_dirname fileout should we redefine dirname if keyword_set iodirectory AND dirname EQ then dirname iodirectory if keyword_set new then return dirname path_sep basename fileout find basename iodirectory dirname recursive recursive unique firstfound ONLYPRO onlypro ONLYNC onlync _extra ex WHILE fileout 0 EQ NOT FOUND DO BEGIN fileout dialog_pickfile path dirname 0 filter filter _extra ex if fileout EQ THEN RETURN report check find file canceled check again everything basename file_basename fileout dirname file_dirname fileout check if the name of the dirname is ok dirname isadirectory dirname title choose a directory for the file basename if we cancel the check IF size dirname type NE 7 THEN return report check find file canceled fileout find basename iodirectory dirname recursive recursive unique firstfound ONLYPRO onlypro ONLYNC onlync _extra ex ENDWHILE RETURN fileout END");392 a[390] = new Array("./Utilities/protype.html", "protype.pro", "", " NAME: protype PURPOSE: test is a pro file corresponds to an IDL procedure function or batch file CATEGORY: CALLING SEQUENCE: type protype profilename INPUTS: A scalar of string type the name of the pro file to be tested if necessary the input name is completed with pro and its path found in path KEYWORD PARAMETERS: NONE OUTPUTS: A scalar of string type: proc func or batch COMMON BLOCKS: none SIDE EFFECTS: RESTRICTIONS: EXAMPLE: IDL print protype protype func IDL print protype protype pro func IDL print protype init batch IDL print protype plt proc MODIFICATION HISTORY:Sebastien Masson smasson lodyc jussieu fr Feb 2006 FUNCTION protype file filepro find file 0 onlypro firstfound 0 if filepro EQ NOT FOUND then return 1 name file_basename filepro pro allines getfile filepro CASE 1 OF this is a procedure max stregex allines pro name fold_case boolean :RETURN proc this is a function max stregex allines function name fold_case boolean :RETURN func this is an IDL batch file ELSE:RETURN batch ENDCASE RETURN 1 END");385 a[383] = new Array("./Utilities/createfunc.html", "createfunc.pro", "", " write an idl function compile it and execute it usefull to avoid the use of execute param command in required a scalar string defining the result to be byven back by the function see examples keyword FILENAMEIN in name of the funccedure to be created for_createfunc pro by default keyword KWDLIST in a vector string to specify a list of keywords that must be included in the function definition Warning: the string must start with a for example: KWDLIST TOTO toto keyword _EXTRA used to pass your keywords to the created function SIDE EFFECTS: ends the function name with pro if needed restrictions arguments can be given only through keywords examples IDL print createfunc 3 2 filename test IDL print createfunc 3 two filename test kwdlist two two two 2 history Sebastien Masson smasson lodyc jussieu fr May 2005 FUNCTION createfunc command FILENAMEIN filenamein KWDLIST kwdlist _extra ex compile_opt idl2 hidden strictarrsubs IF n_elements command NE 1 THEN stop define filename if needed if NOT keyword_set filenamein then filename for_createfunc pro ELSE filename filenamein get the name of the function not the name of the file containing the function shortfilename file_basename filename pro check if the directory exists dirname isadirectory file_dirname filename title Redefine shortfilename pro directory IF size dirname type NE 7 THEN return 1 filename dirname shortfilename pro create the file if NOT keyword_set kwdlist then kwdlist kwdlist kwdlist _extra ex IF strmid kwdlist 0 1 NE THEN kwdlist kwdlist putfile filename function shortfilename kwdlist compile_opt idl2 hidden strictarrsubs res command return res end go in dirname directory cd dirname current old_dir compile it resolve_routine shortfilename is_function cd old_dir execute it res call_function shortfilename _extra ex return res end"); 386 a[384] = new Array("./Utilities/createpro.html", "createpro.pro", "", " write an idl procedure compile it and execute it param command in required a string array defining the procedure to be created each element will be a line of the created procedure keyword FILENAMEIN name of the procedure to be created for_createpro pro by default keyword KWDLIST a vector string to specify a list of keywords that must be included in the procedure definition Warning: the string must start with a for example: KWDLIST TOTO toto keyword _EXTRA used to pass your keywords to the created procedure SIDE EFFECTS: ends the procedure name with pro if needed restrictions is not working with functions use createfunc instead arguments can be given only through keywords examples IDL createpro print OK filename test IDL createpro if keyword_set ok then print OK else print No IDL filename test kwdlist ok ok IDL createpro if keyword_set ok then print OK else print No IDL filename test kwdlist ok ok ok history Sebastien Masson smasson lodyc jussieu fr cleaning new keywords: October 2005 Feb 2006: supress keyword kwdused and use call_procedure instead of execute PRO createpro command FILENAMEIN filenamein KWDLIST kwdlist KWDUSED kwdused _extra ex compile_opt idl2 hidden strictarrsubs IF keyword_set kwdused THEN BEGIN dummy report keyword KWDUSED has been suppressed please pass directly your keywords through _extra see exaemples in createpro header return ENDIF define filename if needed if NOT keyword_set filenamein then filename for_createpro pro ELSE filename filenamein get the name of the procedure not the name of the file containing the procedure shortfilename file_basename filename pro check if the directory exists dirname isadirectory file_dirname filename title Redefine shortfilename pro directory IF size dirname type NE 7 THEN return filename dirname shortfilename pro create the file if NOT keyword_set kwdlist then kwdlist kwdlist kwdlist _extra ex kwdlist strtrim kwdlist 2 IF strmid kwdlist 0 1 NE THEN kwdlist kwdlist for i 0 n_elements command 1 do print command i putfile filename pro shortfilename kwdlist compile_opt idl2 hidden strictarrsubs command return end go in dirname directory cd dirname current old_dir compile it resolve_routine shortfilename cd old_dir execute it call_procedure shortfilename _extra ex return end"); 387 a[385] = new Array("./Utilities/def_myuniquetmpdir.html", "def_myuniquetmpdir.pro", "", " if needed define and create myuniquetmpdir common variable from cm_general and add it to path categories utilities examples IDL def_myuniquetmpdir uses cm_general file_comments SIDE EFFECTS: see purpose history Sebastien Masson smasson lodyc jussieu fr June 2005 PRO def_myuniquetmpdir cm_general IF n_elements myuniquetmpdir EQ 0 THEN BEGIN define a new and unique directory in getenv IDL_TMPDIR by using systime 1 look for the login if we use unix system IF d name EQ X THEN spawn whoami login noshell ELSE login idl myuniquetmpdir file_search getenv IDL_TMPDIR mark_directory myuniquetmpdir myuniquetmpdir 0 login 0 strtrim long systime 1 1 create it file_mkdir myuniquetmpdir add it to path path path : expand_path myuniquetmpdir ENDIF return end"); 388 a[386] = new Array("./Utilities/demomode_compatibility.html", "demomode_compatibility.pro", "", " categories utilities PRO demomode_compatibility cm_general 1 remove all cm_demomode_used pro found in path to_rm find cm_demomode_used IF to_rm 0 NE NOT FOUND THEN file_delete to_rm 2 copy oldcm_full _empty to myuniquetmpdir oldcm_used pro select which file should be copied to oldcm_used pro IF lmgr demo EQ 1 THEN BEGIN democm find cm_demomode file_copy democm myuniquetmpdir cm_demomode_used pro overwrite ENDIF ELSE BEGIN create an empty file close the journal if already open IF journal NE 0 THEN journal open a new one journal myuniquetmpdir cm_demomode_used pro close it it will be empty journal ENDELSE return END"); 389 a[387] = new Array("./Utilities/find.html", "find.pro", "", " based on file_search but it is possible to speficy a set of possibles names and a different set of possibles directories names By defaut look for files included in path categories find a file param filein in required A scalar or array variable of string type containing file names to match Input names specifications may contain wildcard characters enabling them to match multiple files see file_search for more informations By defaut and if necessary find is looking for filename and also for filename completed with pro keyword FIRSTFOUND activate this keyword to stop looking for the file as soon as we found one keyword IODIRECTORY A scalar or array variable of string type containing directories names where we are looking for the file by defaut we use path Different directories can be separated by path_sep search_path : on unix type machine as it is done to define path Note that if filename s dirname is different from this keyword is not taken into account keyword LOOKALLDIR activate to look for the file with a recursive search in iodir homedir path the DATA:TestsData directory if it exists keyword NOPRO activate to avoid the automatic search of filename completed with pro keyword ONLYPRO force to look only at file ending with pro keyword ONLYNC force to look only at file ending with nc keyword RECURSIVE performs recursive searching of directory hierarchies In a recursive search find looks recursively for any and all subdirectories in the file hierarchy rooted at the IODIRECTORY argument keyword REPERTOIRE obsolete keep for compatibility use directory keyword keyword UNIQUE activate to make sure that each element of the output vector is unique file_comments all file_search keywords can be used returns A scalar or array variable of string type containing the name with the full path of the matching files If no files exist with names matching the input arguments find returns the scalar string : NOT FOUND examples IDL print find loadct usr local rsi idl_6 0 lib utilities xloadct pro usr local rsi idl_6 0 lib loadct pro IDL print find loadct iodir dir recursive usr local rsi idl_6 0 lib loadct pro usr local rsi idl_6 0 lib utilities xloadct pro IDL print find loadct pro usr local rsi idl_6 0 lib utilities xloadct pro usr local rsi idl_6 0 lib loadct pro IDL print find loadct nopro NOT FOUND IDL print find loadct iodir usr local rsi idl_6 0 lib usr local rsi idl_6 0 lib loadct pro IDL print find loadct iodir usr local rsi idl_6 0 lib test_write NOT FOUND IDL print find loadct iodir usr local rsi idl_6 0 lib recursive usr local rsi idl_6 0 lib loadct pro usr local rsi idl_6 0 lib utilities xloadct pro IDL print find mesh iodirectory iodir path Users sebastie DATA ORCA2 meshmaskORCA2closea nc Users sebastie IDL meshmaskclosesea pro Users sebastie IDL meshmaskclosesea pro Users sebastie SAXO_RD Obsolete meshlec pro usr local rsi idl_6 0 lib mesh_obj pro history Sebastien Masson smasson lodyc jussieu fr 28 4 1999 6 7 1999: compatibilite mac et windows June 2005: Sebastien Masson: cleaning use for file_ functions FUNCTION find filein IODIRECTORY iodirectory RECURSIVE recursive REPERTOIRE repertoire NOPRO nopro ONLYPRO onlypro ONLYNC onlync UNIQUE unique FIRSTFOUND firstfound LOOKALLDIR LOOKALLDIR _extra ex define where we look for the file CASE 1 OF keyword_set lookalldir :BEGIN cm_general dirnames iodir homedir path tstdtadir file_dirname find find onlypro mark_directory tstdtadir file_search tstdtadir DATA TestsData 0 IF tstdtadir NE THEN dirnames tstdtadir dirnames END keyword_set iodirectory : dirnames iodirectory keyword_set repertoire : dirnames repertoire ELSE: dirnames path ENDCASE tmp dirnames dirnames dummy FOR i 0 n_elements tmp 1 DO dirnames dirnames strsplit tmp i path_sep search_path extract dirnames dirnames 1: fileout dummy FOR i 0 n_elements filein 1 DO BEGIN dir file_dirname filein i base file_basename filein i try to complete the file name with pro or nc if needed CASE 1 OF keyword_set onlypro :BEGIN promiss strpos base pro reverse_search promiss promiss strlen base 4 bad where promiss NE 0 OR strlen base LE 4 cnt IF cnt NE 0 THEN base bad base bad pro end keyword_set onlync :BEGIN ncmiss strpos base nc reverse_search ncmiss ncmiss strlen base 3 bad where ncmiss NE 0 OR strlen base LE 3 cnt IF cnt NE 0 THEN base bad base bad nc END ELSE:if strmid base 0 1 reverse_offset NE AND NOT keyword_set nopro THEN base base pro ENDCASE use dirnames only if dir eq IF dir EQ THEN BEGIN if keyword_set recursive THEN found file_search dirnames base _extra ex ELSE found file_search dirnames base _extra ex ENDIF ELSE found file_search dir base _extra ex IF found 0 NE THEN BEGIN IF keyword_set firstfound THEN BEGIN IF keyword_set unique THEN return found uniq found sort found ELSE return found ENDIF fileout fileout found ENDIF ENDFOR IF n_elements fileout EQ 1 THEN fileout NOT FOUND ELSE fileout fileout 1: IF n_elements fileout GT 1 THEN BEGIN IF keyword_set unique THEN fileout fileout uniq fileout sort fileout ENDIF ELSE fileout fileout 0 RETURN fileout END"); 390 a[388] = new Array("./Utilities/isadirectory.html", "isadirectory.pro", "", " check if a directory exists and make sure that it ends with the directory separator mark categories io param directoryin in optional a proposed directory If neither dirname input parameter of IODIRECTORY keyword are defined the ask the user to choose a directory keyword IODIRECTORY a proposed directory keyword TITLE the title of the window file_comments all dialog_pickfile keywords like filter can be used returns the directory name examples IDL print dir usr local rsi idl_6 0 IDL print isadirectory dir usr local rsi idl_6 0 IDL print isadirectory dir notgood history Sebastien Masson smasson lodyc jussieu fr June 28 2000 June 2005: Sebastien Masson: cleaning use for file_ functions FUNCTION isadirectory directoryin TITLE title IODIRECTORY iodirectory _extra ex CASE 1 OF size directoryin type 0 EQ 7:directory directoryin keyword_set iodirectory :directory iodirectory ELSE:directory directory that is not existing ENDCASE testfile file_test directory directory if directory doesn t exist we ask the user to provide a directory name IF total testfile NE n_elements directory THEN BEGIN IF NOT keyword_set title THEN title choose a directory FOR i 0 n_elements directory 1 DO BEGIN IF testfile i EQ 0 THEN BEGIN directory i dialog_pickfile directory title title must_exist _extra ex if directory i EQ THEN RETURN report check find directory canceled ENDIF ENDFOR ENDIF directory file_search directory mark_directory IF n_elements directory EQ 1 THEN RETURN directory 0 ELSE RETURN directory END"); 391 a[389] = new Array("./Utilities/isafile.html", "isafile.pro", "", " same as find pro except that as long as the file is NOT FOUND isafile calls dialog_pickfile to ask the user to select a file categories io param filein in optional a proposed name If neither filein input parameter of filename keyword are defined the ask the user to choose a file keyword FILENAME a proposed filename keyword IODIRECTORY a directory where we look for the file this keyword is taken into account only if the dirmame of filein or filename is keyword NEW to specify that filename is a new file and that we should check only its path keyword ONLYPRO force to look only at file ending with pro keyword ONLYNC force to look only at file ending with nc keyword RECURSIVE performs recursive searching of directory hierarchies In a recursive search find looks recursively for any and all subdirectories in the file hierarchy rooted at the IODIRECTORY argument file_comments all find file_search and dialog_pickfile keywords like title can be used returns the filename with its path examples IDL print isafile Users sebastie SAXO_RD Commons cm_4mesh pro Users sebastie SAXO_RD Commons cm_4mesh pro IDL print isafile cm_4mesh pro iodir Users sebastie SAXO_RD Commons Users sebastie SAXO_RD Commons cm_4mesh pro IDL print isafile cm_4mesh pro iodir path Users sebastie SAXO_RD Commons cm_4mesh pro IDL print isafile cm_4mesh pro iodir Users sebastie SAXO_RD recursive Users sebastie SAXO_RD Commons cm_4mesh pro IDL print isafile cm_4mesh pro iodir getenv HOME recursive Users sebastie SAXO_RD Commons cm_4mesh pro IDL print isafile fake_file pro history Sebastien Masson smasson lodyc jussieu fr 11 2 2000 June 2005: Sebastien Masson: cleaning use for file_ functions FUNCTION isafile filein FILENAME filename IODIRECTORY iodirectory NEW new RECURSIVE RECURSIVE ONLYPRO onlypro ONLYNC onlync _extra ex CASE 1 OF size filein type 0 EQ 7:fileout filein keyword_set filename :fileout filename ELSE:fileout file that is not existing ENDCASE if size fileout type NE 7 THEN return 1 CASE 1 OF keyword_set onlypro : filter pro keyword_set onlync : filter nc else: filter ENDCASE basename file_basename fileout dirname file_dirname fileout should we redefine dirname if keyword_set iodirectory AND dirname EQ then dirname iodirectory if keyword_set new then return dirname path_sep basename fileout find basename iodirectory dirname recursive recursive unique firstfound ONLYPRO onlypro ONLYNC onlync _extra ex WHILE fileout 0 EQ NOT FOUND DO BEGIN fileout dialog_pickfile path dirname 0 filter filter _extra ex if fileout EQ THEN RETURN report check find file canceled check again everything basename file_basename fileout dirname file_dirname fileout check if the name of the dirname is ok dirname isadirectory dirname title choose a directory for the file basename if we cancel the check IF size dirname type NE 7 THEN return report check find file canceled fileout find basename iodirectory dirname recursive recursive unique firstfound ONLYPRO onlypro ONLYNC onlync _extra ex ENDWHILE RETURN fileout END"); 392 a[390] = new Array("./Utilities/protype.html", "protype.pro", "", " test is a pro file corresponds to an IDL procedure function or batch file categories utilities param file in A scalar of string type the name of the pro file to be tested if necessary the input name is completed with pro and its path found in path returns A scalar of string type: proc func or batch examples IDL print protype protype func IDL print protype protype pro func IDL print protype init batch IDL print protype plt proc history Sebastien Masson smasson lodyc jussieu fr Feb 2006 FUNCTION protype file filepro find file 0 onlypro firstfound 0 if filepro EQ NOT FOUND then return 1 name file_basename filepro pro allines getfile filepro CASE 1 OF this is a procedure max stregex allines pro name fold_case boolean :RETURN proc this is a function max stregex allines function name fold_case boolean :RETURN func this is an IDL batch file ELSE:RETURN batch ENDCASE RETURN 1 END"); 393 393 a[391] = new Array("./buildinit.html", "buildinit.pro", "", " NAME: PURPOSE: CATEGORY: CALLING SEQUENCE: INPUTS: OPTIONAL INPUTS: KEYWORD PARAMETERS: OUTPUTS: OPTIONAL OUTPUTS: COMMON BLOCKS: SIDE EFFECTS: RESTRICTIONS: PROCEDURE: EXAMPLE: MODIFICATION HISTORY: slightly mofified version of cw_field FUNCTION CW_FIELD2 Parent COLUMN Column ROW Row EVENT_FUNC efun FLOATING Float INTEGER Int LONG Long STRING String FONT LabelFont FRAME Frame TITLE Title UVALUE UValue VALUE TextValueIn RETURN_EVENTS ReturnEvents ALL_EVENTS AllUpdates FIELDFONT FieldFont NOEDIT NoEdit TEXT_FRAME Text_Frame XSIZE XSize YSIZE YSize UNAME uname FLOOR vmin CEILING vmax resolve_routine cw_field compile_full_file is_function Examine our keyword list and set default values for keywords that are not explicitly set Column KEYWORD_SET Column Row 1 Column AllEvents 1 KEYWORD_SET NoEdit Enum Update None All CRonly Update 0 IF KEYWORD_SET AllUpdates THEN Update 1 IF KEYWORD_SET ReturnEvents THEN Update 2 IF N_ELEMENTS efun LE 0 THEN efun IF N_ELEMENTS Title EQ 0 THEN Title Input Field: TextValue N_ELEMENTS TextValueIn gt 0 TextValueIn : Convert non string values to strings if SIZE TextValue TNAME ne STRING then TextValue STRTRIM TextValue 2 IF N_ELEMENTS YSize EQ 0 THEN YSize 1 IF N_ELEMENTS uname EQ 0 THEN uname CW_FIELD_UNAME Type 0 string is default IF KEYWORD_SET Float THEN Type 1 IF KEYWORD_SET Int THEN Type 2 IF KEYWORD_SET Long THEN Type 3 Don t allow multiline non string widgets if Type ne 0 then YSize 1 YSize YSize 1 Build Widget Base WIDGET_BASE Parent ROW Row COLUMN Column UVALUE UValue EVENT_FUNC CW_FIELD_EVENT PRO_SET_VALUE CW_FIELD_SET FUNC_GET_VALUE CW_FIELD_GET FRAME Frame UNAME uname FOR i 0 n_elements title 1 DO Label WIDGET_LABEL Base VALUE Title i FONT LabelFont UNAME uname _LABEL align_left Text WIDGET_TEXT Base VALUE TextValue XSIZE XSize YSIZE YSize FONT FieldFont ALL_EVENTS AllEvents EDITABLE AllEvents AND TYPE EQ 0 FRAME Text_Frame UNAME uname _TEXT NO_ECHO AllEvents AND TYPE NE 0 Save our internal state in the first child widget State efun: efun TextId:Text Title:Title Update:Update Type:Type WIDGET_CONTROL WIDGET_INFO Base CHILD SET_UVALUE State NO_COPY RETURN Base END PRO printerdef_event event get back the ids of the cw_field widgets widget_control event id get_uvalue cwids IF size cwids n_dimensions EQ 1 THEN cwids reform cwids 3 1 help cwids dims size cwids dimensions help dims print dims results strarr dims FOR i 0 dims 1 1 DO BEGIN widget_control cwids 0 i get_value res results 0 i res widget_control cwids 1 i get_value res results 1 i res widget_control cwids 2 i get_value res results 2 i res ENDFOR nothing where results EQ count IF count NE 0 THEN BEGIN nothing dialog_message Some of the text box are still empty dialog_parent event top information return ENDIF now we give the result to buildinit pro by using the pointer uvalue widget_control event top get_uvalue ptresult ptresult temporary results we destroy the widget widget_control event top destroy RETURN END PRO papsize_event event get back the ids of the cw_field widgets widget_control event id get_uvalue uvalue IF uvalue 0 NE ok THEN return idist widget_info event top find_by_uname list id widget_info idist list_select widget_control idist get_uvalue selected selected selected id selected strsplit selected extract now we give the result to buildinit pro by using the pointer uvalue widget_control event top get_uvalue ptresult ptresult float selected 3 float selected 4 we destroy the widget widget_control event top destroy RETURN END PRO xask_event event now we give the answer to buildinit pro by using the pointer uvalue widget_control event top get_uvalue ptranswer ptranswer event value we destroy the widget widget_control event top destroy RETURN END FUNCTION xask _extra ex base widget_base field cw_field2 base frame return_events column _extra ex ptranswer ptr_new allocate_heap we realize the widget and wait for an answer widget_control base realize set_uvalue ptranswer xmanager xask base we get the answer answer ptranswer we freeing the pointer ptr_free ptranswer RETURN answer END FUNCTION getdir title title nomark nomark nowrite nowrite REPEAT BEGIN dir dialog_pickfile directory must_exist title title make sure dir is ok check read write access and directory separator mark dir file_search dir test_directory test_read test_write 1 keyword_set nowrite mark_directory 1 keyword_set nomark dir dir 0 ENDREP UNTIL dir NE RETURN dir END PRO buildinit IF fix strmid version release 0 1 LT 6 THEN BEGIN print print ERROR print print This version of SAXO needs at least IDL version 6 0 print print ERROR print return ENDIF IF lmgr demo EQ 1 THEN BEGIN print impossible to use buildinit in demo mode return ENDIF init This is the initialisation file it defines the path and the defaut values of some of the common variables this is supposed to speed up IDL a fltarr 1000 1000 100 a 0 path definition define myIDL directory myIDL getdir title Select the home directory my IDL nomark define SAXO directory saxodir getdir title Select SAXO directory nomark nowrite define the path init init path expand_path myIDL : expand_path saxodir : expand_path dir should we keep the compatibility with the old version yes dialog_message shall we keep the compatibility with the old version question default_no yes strlowcase yes init init compatibility with the old version keep_compatibility strtrim fix yes EQ yes 2 define all the commons init init define all the commons all_cm define default directories init init define default directories homedir isadirectory myIDL title Select the default HOME directory iodir getdir title Select the default IO directory init init iodir isadirectory iodir title Select the default IO directory psdir getdir title Select the default postscripts directory init init psdir isadirectory psdir title Select the default postscripts directory imagedir getdir title Select the default images directory init init imagedir isadirectory imagedir title Select the default images directory animdir getdir title Select the default animations directory init init animdir isadirectory animdir title Select the default animations directory number of printer ptnumb xask title Number of accessible printers value 0 long define all the printer parameters init init define printer parameters IF ptnumb NE 0 THEN BEGIN base widget_base column frame cwids lonarr 3 ptnumb FOR i 0 ptnumb 1 DO BEGIN subbase widget_base base row cwids 0 i cw_field subbase string Title printer_human_names strtrim i 2 cwids 1 i cw_field subbase string Title printer_machine_names strtrim i 2 cwids 2 i cw_field subbase string value lpr P Title printer_machine_names strtrim i 2 ENDFOR trash widget_button base value ok uvalue cwids ptresult ptr_new allocate_heap we realize the widget and wait for an answer widget_control base realize set_uvalue ptresult xmanager printerdef base init init printer_human_names strarr strtrim ptnumb 2 printer_machine_names strarr strtrim ptnumb 2 print_command strarr strtrim ptnumb 2 FOR i 0 ptnumb 1 DO BEGIN init init printer_human_names strtrim i 2 ptresult 0 i printer_machine_names strtrim i 2 ptresult 1 i print_command strtrim i 2 ptresult 2 i ENDFOR we freeing the pointer ptr_free ptresult ENDIF ELSE BEGIN init init printer_human_names printer_machine_names print_command ENDELSE Colors init init colors device decomposed 0 device retain 2 default color tables loadct get_names names ntables 40 title Choose the default color table the following lines come from loadct procedure nlines ntables 2 3 of lines to print nend nlines nlines 3 ntables for i 0 nend 1 do Print each line title title string format i2 a17 3x i2 a17 3x i2 a17 i names i i nlines names i nlines i 2 nlines xask title title value 39 long xask title title value 0 long 2 init init archive_ps strtrim archive_ps 2 end of the part that should be modified by the users if needed keep compatibility with the old version updateold filename xask title name of the init file written in homedir: myIDL value init pro string journal myIDL filename FOR i 0 n_elements init 1 DO journal init i journal RETURN END"); 394 394 -
trunk/SRC/Utilities/createfunc.pro
r74 r93 3 3 ;------------------------------------------------------------ 4 4 ;+ 5 ; NAME:createfunc 5 ; write an idl function, compile it and execute it. 6 ; usefull to avoid the use of execute 6 7 ; 7 ; PURPOSE: write an idl function, compile it and execute it. 8 ; usefull to avoid the use of execute 8 ; @param command {in}{required} a scalar string defining the result to be byven back by the function. (see examples) 9 9 ; 10 ; CATEGORY: 11 ; 12 ; CALLING SEQUENCE:res = createfunc(command) 13 ; 14 ; INPUTS: 15 ; command: a scalar string defining the result to be byven back by the 16 ; function. (see examples) 17 ; 18 ; KEYWORD PARAMETERS: 19 ; 20 ; FILENAMEIN: name of the funccedure to be created. 10 ; @keyword FILENAMEIN {in} name of the funccedure to be created. 21 11 ; 'for_createfunc.pro' by default 22 ; 23 ; KWDLIST: a vector string. to specify a list of keywords that 12 ; @keyword KWDLIST {in} a vector string. to specify a list of keywords that 24 13 ; must be included in the function definition. Warning: the string 25 14 ; must start with a ',' for example: KWDLIST = ', TOTO = toto' 26 15 ; 27 ; _EXTRA: used to pass your keywords to the created function. 28 ; 29 ; OUTPUTS: none 30 ; 31 ; COMMON BLOCKS: none 16 ; @keyword _EXTRA used to pass your keywords to the created function. 32 17 ; 33 18 ; SIDE EFFECTS: ends the function name with '.pro' if needed 34 19 ; 35 ; RESTRICTIONS:arguments can be given only through keywords20 ; @restrictions arguments can be given only through keywords 36 21 ; 37 ; EXAMPLE:22 ; @examples 38 23 ; IDL> print, createfunc('3*2', filename='test') 39 24 ; IDL> print, createfunc('3*two', filename = 'test' $ 40 25 ; , kwdlist ='two = two', two = 2) 41 26 ; 42 ; MODIFICATION HISTORY:Sebastien Masson (smasson@lodyc.jussieu.fr)27 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 43 28 ; May 2005 44 29 ;- -
trunk/SRC/Utilities/createpro.pro
r74 r93 3 3 ;------------------------------------------------------------ 4 4 ;+ 5 ; NAME:createpro5 ; write an idl procedure, compile it and execute it. 6 6 ; 7 ; PURPOSE: write an idl procedure, compile it and execute it.7 ; @param command {in}{required} a string array defining the procedure to be created. each element will be a line of the created procedure. 8 8 ; 9 ; CATEGORY: 10 ; 11 ; CALLING SEQUENCE:createpro, command 12 ; 13 ; INPUTS: 14 ; command: a string array defining the procedure to be created. 15 ; each element will be a line of the created procedure. 16 ; 17 ; KEYWORD PARAMETERS: 18 ; 19 ; FILENAMEIN: name of the procedure to be created. 9 ; @keyword FILENAMEIN name of the procedure to be created. 20 10 ; 'for_createpro.pro' by default 21 11 ; 22 ; KWDLIST:a vector string. to specify a list of keywords that12 ; @keyword KWDLIST a vector string. to specify a list of keywords that 23 13 ; must be included in the procedure definition. Warning: the string 24 14 ; must start with a ',' for example: KWDLIST = ', TOTO = toto' 25 15 ; 26 ; _EXTRA: used to pass your keywords to the created procedure. 27 ; 28 ; OUTPUTS: none 29 ; 30 ; COMMON BLOCKS: none 16 ; @keyword _EXTRA used to pass your keywords to the created procedure. 31 17 ; 32 18 ; SIDE EFFECTS: ends the procedure name with '.pro' if needed 33 19 ; 34 ; RESTRICTIONS:is not working with functions, use createfunc instead.20 ; @restrictions is not working with functions, use createfunc instead. 35 21 ; arguments can be given only through keywords 36 22 ; 37 ; EXAMPLE:23 ; @examples 38 24 ; IDL> createpro, ['print,''OK'''], filename='test' 39 25 ; IDL> createpro, ['if keyword_set(ok) then print,''OK'' else print, ''No'''] $ … … 43 29 ; 44 30 ; 45 ; MODIFICATION HISTORY:Sebastien Masson (smasson@lodyc.jussieu.fr)31 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 46 32 ; cleaning + new keywords: October 2005 47 33 ; Feb. 2006: supress keyword "kwdused" and use call_procedure instead of execute -
trunk/SRC/Utilities/def_myuniquetmpdir.pro
r11 r93 1 1 ;+ 2 ; NAME: def_myuniquetmpdir 2 ; if needed, define and create myuniquetmpdir 3 ; (common variable from cm_general) and add it to !path 3 4 ; 4 ; PURPOSE: if needed, define and create myuniquetmpdir 5 ; (common variable from cm_general) and add it to !path 5 ; @categories utilities 6 6 ; 7 ; CATEGORY: utilities 7 ; @examples 8 ; IDL> def_myuniquetmpdir 8 9 ; 9 ; CALLING SEQUENCE:def_myuniquetmpdir10 ; @uses cm_general 10 11 ; 11 ; COMMON BLOCKS: cm_general12 ; @file_comments SIDE EFFECTS: see purpose 12 13 ; 13 ; SIDE EFFECTS: see purpose 14 ; 15 ; MODIFICATION HISTORY:Sebastien Masson (smasson@lodyc.jussieu.fr) 14 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 16 15 ; June 2005 17 16 ; -
trunk/SRC/Utilities/demomode_compatibility.pro
r11 r93 1 ;+ 2 ; @categories utilities 3 ;- 1 4 PRO demomode_compatibility 5 2 6 ; 3 7 @cm_general -
trunk/SRC/Utilities/find.pro
r77 r93 3 3 ;------------------------------------------------------------ 4 4 ;+ 5 ; NAME:find 6 ; 7 ; PURPOSE: based on file_search, but it is possible to speficy 5 ; based on file_search, but it is possible to speficy 8 6 ; a set of possibles names and a different set of 9 7 ; possibles directories names. 10 8 ; By defaut look for files included in !path 11 9 ; 12 ; CATEGORY:find a file10 ; @categories find a file 13 11 ; 14 ; CALLING SEQUENCE: found = find(filename) 15 ; 16 ; INPUTS: A scalar or array variable of string type, containing 12 ; @param filein {in}{required} A scalar or array variable of string type, containing 17 13 ; file names to match. Input names specifications may contain 18 14 ; wildcard characters, enabling them to match multiple files … … 21 17 ; completed with '.pro' 22 18 ; 23 ; KEYWORD PARAMETERS: 24 ; 25 ; FIRSTFOUND: activate this keyword to stop looking for the file as 19 ; @keyword FIRSTFOUND activate this keyword to stop looking for the file as 26 20 ; soon as we found one. 27 21 ; 28 ; IODIRECTORY:A scalar or array variable of string type, containing22 ; @keyword IODIRECTORY A scalar or array variable of string type, containing 29 23 ; directories names where we are looking for the file. by defaut 30 24 ; we use !path. Different directories can be separated by … … 34 28 ; keyword is not taken into account. 35 29 ; 36 ; LOOKALLDIR:activate to look for the file with a recursive search30 ; @keyword LOOKALLDIR activate to look for the file with a recursive search 37 31 ; in iodir, homedir, !path + the DATA:TestsData directory if it exists. 38 32 ; 39 ; NOPRO:activate to avoid the automatic search of filename33 ; @keyword NOPRO activate to avoid the automatic search of filename 40 34 ; completed with '.pro' 41 35 ; 42 ; ONLYPRO:force to look only at file ending with .pro36 ; @keyword ONLYPRO force to look only at file ending with .pro 43 37 ; 44 ; ONLYNC:force to look only at file ending with .nc38 ; @keyword ONLYNC force to look only at file ending with .nc 45 39 ; 46 ; RECURSIVE:performs recursive searching of directory hierarchies.40 ; @keyword RECURSIVE performs recursive searching of directory hierarchies. 47 41 ; In a recursive search, find looks recursively for any and all 48 42 ; subdirectories in the file hierarchy rooted at the IODIRECTORY 49 43 ; argument. 50 44 ; 51 ; REPERTOIRE:obsolete. keep for compatibility, use directory keyword45 ; @keyword REPERTOIRE obsolete. keep for compatibility, use directory keyword 52 46 ; 53 ; UNIQUE:activate to make sure that each element of the output47 ; @keyword UNIQUE activate to make sure that each element of the output 54 48 ; vector is unique. 55 49 ; 56 ; all file_search keywords50 ; @file_comments all file_search keywords can be used. 57 51 ; 58 ; OUTPUTS:A scalar or array variable of string type, containing the52 ; @returns A scalar or array variable of string type, containing the 59 53 ; name (with the full path of the matching files. If no files 60 54 ; exist with names matching the input arguments, find returns 61 55 ; the scalar string : 'NOT FOUND' 62 56 ; 63 ; COMMON BLOCKS: none 64 ; 65 ; SIDE EFFECTS: 66 ; 67 ; RESTRICTIONS: 68 ; 69 ; EXAMPLE: 57 ; @examples 70 58 ; 71 59 ; IDL> print, find('*loadct') … … 94 82 ; /usr/local/rsi/idl_6.0/lib/mesh_obj.pro 95 83 ; 96 ; MODIFICATION HISTORY: Sebastien Masson (smasson@lodyc.jussieu.fr)84 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 97 85 ; 28/4/1999 98 86 ; 6/7/1999: compatibilite mac et windows -
trunk/SRC/Utilities/isadirectory.pro
r11 r93 3 3 ;------------------------------------------------------------ 4 4 ;+ 5 ; NAME:isadirectory 6 ; 7 ; PURPOSE:check if a directory exists and make sure that it ends 5 ; check if a directory exists and make sure that it ends 8 6 ; with the directory separator mark. 9 7 ; 10 ; CATEGORY:io8 ; @categories io 11 9 ; 12 ; CALLING SEQUENCE: directory=isadirectory([dirname]) 13 ; 14 ; INPUTS:optional:a proposed directory. If neither dirname 10 ; @param directoryin {in}{optional} a proposed directory. If neither dirname 15 11 ; input parameter of IODIRECTORY keyword are defined, 16 12 ; the ask the user to choose a directory. 17 13 ; 18 ; KEYWORD PARAMETERS:14 ; @keyword IODIRECTORY a proposed directory 19 15 ; 20 ; IODIRECTORY:a proposed directory16 ; @keyword TITLE the title of the window 21 17 ; 22 ; TITLE = the title of the window18 ; @file_comments all dialog_pickfile keywords (like filter) can be used. 23 19 ; 24 ; all dialog_pickfile keywords (like filter)20 ; @returns the directory name 25 21 ; 26 ; OUTPUTS: the directory name 27 ; 28 ; COMMON BLOCKS:none 29 ; 30 ; SIDE EFFECTS: 31 ; 32 ; RESTRICTIONS: 33 ; 34 ; EXAMPLE: 22 ; @examples 35 23 ; 36 24 ; IDL> print, !dir … … 40 28 ; IDL> print, isadirectory(!dir+'notgood') 41 29 ; 42 ; MODIFICATION HISTORY:Sebastien Masson (smasson@lodyc.jussieu.fr)30 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 43 31 ; June 28, 2000 44 32 ; June 2005: Sebastien Masson: cleaning, use for file_* functions … … 72 60 ; 73 61 END 74 75 76 77 -
trunk/SRC/Utilities/isafile.pro
r69 r93 3 3 ;------------------------------------------------------------ 4 4 ;+ 5 ; NAME: isafile 6 ; 7 ; PURPOSE: same as find.pro except that as long as the file is 'NOT FOUND', 5 ; same as find.pro except that as long as the file is 'NOT FOUND', 8 6 ; isafile calls dialog_pickfile, to ask the user to select a file. 9 7 ; 10 ; CATEGORY:io8 ; @categories io 11 9 ; 12 ; CALLING SEQUENCE:filename = isafile([filein])13 10 ; 14 ; INPUTS:optional:a proposed name. If neither filein11 ; @param filein {in}{optional} a proposed name. If neither filein 15 12 ; input parameter of filename keyword are defined, 16 13 ; the ask the user to choose a file. 17 14 ; 18 ; KEYWORD PARAMETERS:15 ; @keyword FILENAME a proposed filename. 19 16 ; 20 ; FILENAME: a proposed filename. 21 ; 22 ; IODIRECTORY: a directory where we look for the file. this 17 ; @keyword IODIRECTORY a directory where we look for the file. this 23 18 ; keyword is taken into account only if the dirmame 24 19 ; of filein or filename is '.' 25 20 ; 26 ; /NEW:to specify that filename is a new file and that21 ; @keyword /NEW to specify that filename is a new file and that 27 22 ; we should check only its path 28 23 ; 29 ; ONLYPRO:force to look only at file ending with .pro24 ; @keyword ONLYPRO force to look only at file ending with .pro 30 25 ; 31 ; ONLYNC:force to look only at file ending with .nc26 ; @keyword ONLYNC force to look only at file ending with .nc 32 27 ; 33 ; RECURSIVE:performs recursive searching of directory hierarchies.28 ; @keyword RECURSIVE performs recursive searching of directory hierarchies. 34 29 ; In a recursive search, find looks recursively for any and all 35 30 ; subdirectories in the file hierarchy rooted at the IODIRECTORY 36 31 ; argument. 37 32 ; 38 ; all find, file_search and dialog_pickfile keywords (like title) 33 ; @file_comments all find, file_search and dialog_pickfile keywords (like title) 34 can be used 39 35 ; 40 ; OUTPUTS:the filename with its path36 ; @returns the filename with its path 41 37 ; 42 ; COMMON BLOCKS:none 43 ; 44 ; SIDE EFFECTS: 45 ; 46 ; RESTRICTIONS: 47 ; 48 ; EXAMPLE: 38 ; @examples 49 39 ; 50 40 ; IDL> print, isafile('/Users/sebastie/SAXO_RD/Commons/cm_4mesh.pro') … … 60 50 ; IDL> print, isafile('fake_file.pro') 61 51 ; 62 ; MODIFICATION HISTORY:Sebastien Masson (smasson@lodyc.jussieu.fr)52 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 63 53 ; 11/2/2000 64 54 ; June 2005: Sebastien Masson: cleaning, use for file_* functions -
trunk/SRC/Utilities/protype.pro
r69 r93 3 3 ;------------------------------------------------------------ 4 4 ;+ 5 ; NAME: protype 6 ; 7 ; PURPOSE: test is a ".pro" file corresponds to an IDL procedure, 5 ; test is a ".pro" file corresponds to an IDL procedure, 8 6 ; function or batch file. 9 7 ; 10 ; CATEGORY:8 ; @categories utilities 11 9 ; 12 ; CALLING SEQUENCE: type = protype(profilename) 13 ; 14 ; INPUTS: A scalar of string type, the name of the ".pro" file to be tested 15 ; if necessary, the input name is completed with '.pro' 10 ; @param file {in} A scalar of string type, the name of the ".pro" file to be tested 11 ; if necessary, the input name is completed with '.pro' 16 12 ; and its path found in !path 17 13 ; 18 ; KEYWORD PARAMETERS: NONE14 ; @returns A scalar of string type: 'proc', 'func' or 'batch' 19 15 ; 20 ; OUTPUTS: A scalar of string type: 'proc', 'func' or 'batch' 21 ; 22 ; COMMON BLOCKS: none 23 ; 24 ; SIDE EFFECTS: 25 ; 26 ; RESTRICTIONS: 27 ; 28 ; EXAMPLE: 16 ; @examples 29 17 ; 30 18 ; IDL> print, protype('protype') … … 37 25 ; proc 38 26 ; 39 ; MODIFICATION HISTORY: Sebastien Masson (smasson@lodyc.jussieu.fr)27 ; @history Sebastien Masson (smasson\@lodyc.jussieu.fr) 40 28 ; Feb 2006 41 29 ;-
Note: See TracChangeset
for help on using the changeset viewer.