[144] | 1 | <?xml version='1.0' encoding='iso-8859-1'?> |
---|
| 2 | <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" |
---|
| 3 | "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" |
---|
| 4 | [ |
---|
| 5 | <!ENTITY promptidl "idl>"> |
---|
| 6 | ] |
---|
| 7 | > |
---|
| 8 | <!-- |
---|
| 9 | |
---|
| 10 | ./SAXO_DIR/SRC/Documentation/xmldoc/mini_notice.xml |
---|
| 11 | |
---|
| 12 | update : |
---|
| 13 | fplod 2006-07-20T08:45:14Z aedon.locean-ipsl.upmc.fr (Darwin) |
---|
| 14 | . creation by hand made migration from mini_notice.html to XML/Docbook |
---|
| 15 | . installation part has been removed |
---|
| 16 | . add images |
---|
| 17 | ++ fake graphics callouts see forxxxdoc.sh |
---|
| 18 | |
---|
| 19 | --> |
---|
| 20 | <article lang="en"> |
---|
| 21 | <title> |
---|
| 22 | Mini Guide for Basic Commands in the XXX Program |
---|
| 23 | </title> |
---|
| 24 | <articleinfo> |
---|
| 25 | <authorgroup> |
---|
| 26 | <author><firstname>Sébastien</firstname><surname>Masson</surname><email>Sebastien.Masson_at_locean-ipsl.upmc.fr</email></author> |
---|
| 27 | <author><firstname>Albert</firstname><surname>Fisher</surname></author> |
---|
| 28 | <author><firstname>Françoise</firstname><surname>Pinsard</surname><email>Francoise.Pinsard_at_locean-ipsl.upmc.fr</email></author> |
---|
| 29 | <author><firstname>Steve</firstname><surname>Navarro</surname></author> |
---|
| 30 | </authorgroup> |
---|
| 31 | <keywordset> |
---|
| 32 | <keyword>idl</keyword> |
---|
| 33 | <keyword>SAXO</keyword> |
---|
| 34 | <keyword>xxx</keyword> |
---|
| 35 | </keywordset> |
---|
| 36 | <revhistory> |
---|
| 37 | <revision> |
---|
| 38 | <revnumber>0.0</revnumber> |
---|
| 39 | <date>May 29, 2000</date> |
---|
| 40 | <revremark>French release by Sébastien Masson</revremark> |
---|
| 41 | </revision> |
---|
| 42 | <revision> |
---|
| 43 | <revnumber>0.1</revnumber> |
---|
| 44 | <date>July, 2002</date> |
---|
| 45 | <revremark>Translation by Albert Fisher</revremark> |
---|
| 46 | </revision> |
---|
| 47 | <revision> |
---|
| 48 | <revnumber>0.2</revnumber> |
---|
| 49 | <date>July 20, 2006</date> |
---|
| 50 | <revremark>HTML to XML/Docbook migration by Françoise Pinsard</revremark> |
---|
| 51 | </revision> |
---|
| 52 | </revhistory> |
---|
| 53 | <pubdate>$Id$</pubdate> |
---|
| 54 | </articleinfo> |
---|
| 55 | |
---|
| 56 | |
---|
| 57 | <!-- |
---|
| 58 | La partie suivante n'a plus tellement de sens maintenant que tout SAXO est disponible sur forge |
---|
| 59 | <para> |
---|
| 60 | Where to find the source code |
---|
| 61 | </para> |
---|
| 62 | The scripts are available in the IDL_29_5_2000 directory. |
---|
| 63 | </para> |
---|
| 64 | <para> |
---|
| 65 | In this directory are |
---|
| 66 | <itemizedlist> |
---|
| 67 | <listitem><para>a tar file IDL_29_5_2000.tar with all the files</para></listitem> |
---|
| 68 | <listitem><para>the scripts in ASCII, in subdirectories by theme</para></listitem> |
---|
| 69 | </itemizedlist> |
---|
| 70 | |
---|
| 71 | <para> |
---|
| 72 | This IDL_29_5_2000 directory is available: |
---|
| 73 | <itemizedlist> |
---|
| 74 | <listitem><para>at LODYC: adonis.lodyc.jussieu.fr:/usr/home/smasson/IDL_29_5_2000</para></listitem> |
---|
| 75 | <listitem><para>at IPSL: cook.ipsl.jussieu.fr:/home/smlod/IDL_29_5_2000</para></listitem> |
---|
| 76 | <listitem><para>at IDRIS: rhodes.idris.fr:/home/rech/eee/reee217/IDL_29_5_2000</para></listitem> |
---|
| 77 | <listitem><para>on the anonymous ftp site of LODYC (contact <ulink url="mailto:smasson@lodyc.jussieu.fr">smasson@lodyc.jussieu.fr</ulink> |
---|
| 78 | for access).</para></listitem> |
---|
| 79 | <listitem><para>soon, from <ulink url="http://www.lodyc.jussieu.fr/~opatlod/SAXO/"/></para></listitem> |
---|
| 80 | </itemizedlist> |
---|
| 81 | </para> |
---|
| 82 | <para> |
---|
| 83 | This mini guide is also found in the IDL_29_5_2000 directory, in |
---|
| 84 | different formats. It is also consultable on the web at: |
---|
| 85 | </para> |
---|
| 86 | <para> |
---|
| 87 | <ulink url="http://www.ipsl.jussieu.fr/~smlod/mini_notice.html"/> |
---|
| 88 | </para> |
---|
| 89 | |
---|
| 90 | --> |
---|
| 91 | <sect1 id="intro"><title>Introduction and assumptions</title> |
---|
| 92 | |
---|
| 93 | <para> |
---|
| 94 | This micro guide is unfortunately not a user's guide for all the |
---|
| 95 | scripts that have been written for IDL (version 5.2 or higher |
---|
| 96 | required). The goal is simply to clarify a few points on the use of the <filename>xxx.pro</filename> |
---|
| 97 | program. |
---|
| 98 | </para> |
---|
| 99 | <para> |
---|
| 100 | For further help on the furnished scripts, here are |
---|
| 101 | several possibilities: |
---|
| 102 | |
---|
| 103 | <itemizedlist> |
---|
| 104 | <listitem><para>execute in IDL the command |
---|
| 105 | <screen format="linespecific"> |
---|
| 106 | <prompt>&promptidl;</prompt> <userinput>xhelp, '<replaceable>script_name</replaceable>'</userinput> |
---|
| 107 | </screen> |
---|
| 108 | </para></listitem> |
---|
| 109 | <listitem><para>consult the IDL online help for scripts whose source is unavailable</para></listitem> |
---|
| 110 | <listitem><para> |
---|
| 111 | subscribe to the mailing list for updates and user questions/responses |
---|
| 112 | </para> |
---|
| 113 | <para> |
---|
| 114 | to subscribe, send a mail to: <ulink url="mailto:majordomo@lmd.jussieu.fr">majordomo@lmd.jussieu.fr</ulink> |
---|
| 115 | with no subject, containing the message: |
---|
| 116 | <userinput>subscribe forum-idl <replaceable>e-mail address</replaceable></userinput> |
---|
| 117 | </para></listitem> |
---|
| 118 | <listitem><para>consult the archives of this mail list: |
---|
| 119 | <ulink url="http://www.lmd.jussieu.fr/archives/form-idl/last/mail1.html"/></para></listitem> |
---|
| 120 | <listitem><para>consult in desperation the feeble web pages we have started to write |
---|
| 121 | (while waiting for something better) |
---|
| 122 | <ulink url="http://www.ipsl.jussieu.fr/~smlod/"/></para></listitem> |
---|
| 123 | <listitem><para>wait until we write a full user's manual!</para></listitem> |
---|
| 124 | </itemizedlist> |
---|
| 125 | </para> |
---|
| 126 | |
---|
| 127 | <para> |
---|
| 128 | The XXX widget is a layer on top of the scripts in the <application>SAXO</application> package |
---|
| 129 | (themselves layered on top of IDL). It is designed to permit the |
---|
| 130 | visualization and rapid exploration of data, offering a maximum in |
---|
| 131 | options, while not necessarily all those offered by the package and by |
---|
| 132 | IDL. |
---|
| 133 | </para> |
---|
| 134 | <para> |
---|
| 135 | Based on the use of files in the NetCDF format, it can easily work |
---|
| 136 | with other file formats. For this, all that is necessary is to write |
---|
| 137 | an IDL function capable of extracting a matrix from a file as a |
---|
| 138 | function of the following parameters: the variable name, two dates, an |
---|
| 139 | experiment name, and a domain. |
---|
| 140 | </para> |
---|
| 141 | <para> |
---|
| 142 | Developed to visualize the output of the OPA model, the <application>SAXO</application> package was |
---|
| 143 | conceived to work on C grids. To use it on grids where the T, U, and |
---|
| 144 | V points are the same, one must nevertheless declare the parameters of |
---|
| 145 | the grid that correspond to the U and V points. Careful, for this |
---|
| 146 | type of discretization, the calculation scripts of type <filename>div.pro</filename> and |
---|
| 147 | <filename>curl.pro</filename> are wrong. |
---|
| 148 | </para> |
---|
| 149 | <para> |
---|
| 150 | The averaging routines are not adapted to warped grids, they sum |
---|
| 151 | following the i, j, and k indices, weighting each point by scale |
---|
| 152 | factors and the land-sea mask. Slices and Hovmoellers do not work in |
---|
| 153 | the diagonal, but are always done following i, j, or k. When a domain |
---|
| 154 | is given to one of the scripts, an average over the domain in the |
---|
| 155 | directions perpendicular to that displayed is automatically made before |
---|
| 156 | display. |
---|
| 157 | </para> |
---|
| 158 | <para> |
---|
| 159 | Before continuing on to the practical part of this guide, the |
---|
| 160 | installation and use of the <application>SAXO</application> package, I'd like to thank Guillaume |
---|
| 161 | Roullet, who also participated in the writing of the scripts in the |
---|
| 162 | package (notably the drawing of vectors on warped grids). |
---|
| 163 | </para> |
---|
| 164 | </sect1> |
---|
| 165 | |
---|
| 166 | <sect1 id="beforefirststeps"> |
---|
| 167 | <title>Before this</title> |
---|
| 168 | <para> |
---|
[145] | 169 | In this document, we supposed that you followed <ulink url="getsaxo.html?format=raw">Get SAXO</ulink> recommandations. |
---|
[144] | 170 | </para> |
---|
| 171 | </sect1> |
---|
| 172 | |
---|
| 173 | |
---|
| 174 | <sect1 id="initfiles"><title>Install the files <filename>init.pro</filename> and |
---|
| 175 | <filename>initgrid.pro</filename></title> |
---|
| 176 | |
---|
| 177 | <para> |
---|
| 178 | This version of the <application>SAXO</application> package depends a certain number of common |
---|
| 179 | variables that are primarily environmental parameters (working paths, |
---|
| 180 | color management, Postscript formatting) and the parameters of the |
---|
| 181 | grid on which you are working (longitude, latitude, depth, land-sea |
---|
| 182 | mask, scale factors, position of the zoom in relation to the original |
---|
| 183 | grid). |
---|
| 184 | </para> |
---|
| 185 | <para> |
---|
| 186 | These two types of parameters are kept separately: |
---|
| 187 | <itemizedlist> |
---|
| 188 | <listitem><para>environmental parameters are defined at the very beginning of the |
---|
| 189 | IDL session, and are in principle never changed. They are initialized |
---|
| 190 | by the <filename>init.pro</filename> script.</para></listitem> |
---|
| 191 | <listitem><para>Those that belong to the grid are reinitialized every time the |
---|
| 192 | grid is changed. They can therefore be called at any time during a |
---|
| 193 | session. These parameters are initialized by the <filename>initgrid.pro</filename> |
---|
| 194 | scripts, and are specific to each particular grid. |
---|
| 195 | </para> |
---|
| 196 | <para> |
---|
| 197 | For example: <filename>initorca.pro</filename> for the ORCA 2° grid, |
---|
| 198 | <filename>initorca05.pro</filename> for |
---|
| 199 | the ORCA 0.5° grid, or <filename>initorcapac.pro</filename> for the ORCA grid zoomed on |
---|
| 200 | the Pacific.</para></listitem> |
---|
| 201 | </itemizedlist> |
---|
| 202 | </para> |
---|
| 203 | <para> |
---|
| 204 | To begin, one must therefore copy <filename><replaceable>packagedir</replaceable>/INIT/init.pro</filename> |
---|
| 205 | into <replaceable>homedir</replaceable>, and create in <replaceable>homedir</replaceable> a script of the |
---|
| 206 | type <filename>initgrid.pro</filename>. |
---|
| 207 | </para> |
---|
| 208 | |
---|
| 209 | <!-- ++ n'a plus rien à faire ici |
---|
| 210 | <sect2 id="modifinit"><title>Modification of the <filename>init.pro</filename> script</title> |
---|
| 211 | |
---|
| 212 | <para> |
---|
| 213 | It is necessary to personalize the lines that correspond to the 6 |
---|
| 214 | directories defined in § 1.1. That is: |
---|
| 215 | <itemizedlist> |
---|
| 216 | <listitem><para>The definition of !path.</para><para> |
---|
| 217 | The first expand_path must contain <replaceable>homedir</replaceable>, the second |
---|
| 218 | <replaceable>packagedir</replaceable>. The directory declaration must be preceded by a + |
---|
| 219 | sign, and must take the form of a character chain. The + sign |
---|
| 220 | specifies that subdirectories must also be considered. For those |
---|
| 221 | working on a Mac, <literallayout>"+':'+"</literallayout> must be replaced by <literallayout>"+','+"</literallayout> and for Windows |
---|
| 222 | by <literallayout>"+';'+"</literallayout>.</para> |
---|
| 223 | <warning> |
---|
| 224 | <para> |
---|
| 225 | In their definition, the directories must not finish with the |
---|
| 226 | directory separation character ("/" under UNIX/Linux). |
---|
| 227 | </para> |
---|
| 228 | </warning> |
---|
| 229 | </listitem> |
---|
| 230 | <listitem><para>Definition of the rest of the directories:</para><para> |
---|
| 231 | Define as necessary the variables homedir, workdir, iodir, animdir, |
---|
| 232 | psdir, and imagedir.</para> |
---|
| 233 | <warning> |
---|
| 234 | <para> |
---|
| 235 | Despite precautions taken, in order to avoid bugs it is |
---|
| 236 | recommended that these directories be defined with the directory |
---|
| 237 | separation character as the final character ("/" under UNIX/Linux). |
---|
| 238 | </para> |
---|
| 239 | </warning> |
---|
| 240 | </listitem> |
---|
| 241 | </itemizedlist> |
---|
| 242 | </para> |
---|
| 243 | <note> |
---|
| 244 | <para> |
---|
| 245 | Depending on the resolution of your screen and the type of |
---|
| 246 | machine used, it is possible that the graphics window which is created |
---|
| 247 | will be too large. If this is the case, change the ccwindowsize |
---|
| 248 | variable which is a multiplicative coefficient applied to the window |
---|
| 249 | size. |
---|
| 250 | </para> |
---|
| 251 | </note> |
---|
| 252 | </sect2> |
---|
| 253 | --> |
---|
| 254 | <sect2 id="modifinitgrid"><title>Modification or creation of the <filename>initgrid.pro</filename> script</title> |
---|
| 255 | |
---|
| 256 | <para> |
---|
| 257 | In the <replaceable>packagedir</replaceable>/INIT directory you will find a certain |
---|
| 258 | number of scripts associated with the latest grids on which I've |
---|
| 259 | worked. If you are also working on one of these grids, for example |
---|
| 260 | ORCA, copy the file <filename><replaceable>packagedir</replaceable>/INIT/initorca.pro</filename> to your |
---|
| 261 | <replaceable>homedir</replaceable>. If not, copy it nevertheless to use as a model. In |
---|
| 262 | the file <filename>initgrid.pro</filename>, adjust the zoom parameters (if it has not |
---|
| 263 | already been done). |
---|
| 264 | </para> |
---|
| 265 | <para> |
---|
| 266 | Careful: unlike in previous versions of the <application>SAXO</application> package, all the zoom |
---|
| 267 | parameters must be defined. If you do not know them in advance, |
---|
| 268 | define their values to be -1. |
---|
| 269 | </para> |
---|
| 270 | <para> |
---|
| 271 | In the rest of the script, define iodir as <replaceable>iodir</replaceable>, and verify |
---|
| 272 | the name of the mask file, if one exists. |
---|
| 273 | </para> |
---|
| 274 | </sect2> |
---|
| 275 | </sect1> |
---|
| 276 | <sect1 id="introxxx"><title>Starting the <application>SAXO</application> package and an explanation of the XXX widget functions</title> |
---|
| 277 | <sect2 id="launchxxx"><title>Launching XXX</title> |
---|
| 278 | |
---|
| 279 | <para> |
---|
| 280 | The first command to type is |
---|
| 281 | |
---|
| 282 | <screen format="linespecific"> |
---|
| 283 | <prompt>&promptidl;</prompt> <userinput>@init</userinput> |
---|
| 284 | </screen> |
---|
| 285 | |
---|
| 286 | </para> |
---|
| 287 | <para> |
---|
| 288 | Afterwards, to work directly with XXX, type: |
---|
| 289 | |
---|
| 290 | <screen format="linespecific"> |
---|
| 291 | |
---|
| 292 | <prompt>&promptidl;</prompt> <userinput>xxx</userinput> |
---|
| 293 | </screen> |
---|
| 294 | |
---|
| 295 | </para> |
---|
| 296 | |
---|
| 297 | <para> |
---|
| 298 | To work without the XXX interface, initialize a grid |
---|
| 299 | |
---|
| 300 | <screen format="linespecific"> |
---|
| 301 | |
---|
| 302 | <prompt>&promptidl;</prompt> <userinput>@initgrid</userinput> |
---|
| 303 | </screen> |
---|
| 304 | |
---|
| 305 | |
---|
| 306 | </para> |
---|
| 307 | <para> |
---|
| 308 | A window will open with 2 lines to complete. |
---|
| 309 | <figure id="fig_xxx_1"> |
---|
| 310 | <title>Window xxx 1</title> |
---|
| 311 | <mediaobjectco> |
---|
| 312 | <!-- ++ pas encore au point cf. forxxxdoc.sh !! --> |
---|
| 313 | <imageobjectco> |
---|
| 314 | <areaspec units="calspair"> |
---|
| 315 | <area id="datafile" coords="96,1779 9903,2912"/> |
---|
| 316 | <area id="initfile" coords="96,4854 9903,6472"/> |
---|
| 317 | </areaspec> |
---|
| 318 | <imageobject> |
---|
| 319 | <imagedata fileref="figpng/xxx_1_complete.png"/> <!-- ++ instead of xxx_1.png --> |
---|
| 320 | </imageobject> |
---|
| 321 | <calloutlist> |
---|
| 322 | <callout arearefs="datafile"> |
---|
| 323 | <para>datafile</para> |
---|
| 324 | </callout> |
---|
| 325 | <callout arearefs="initfile"> |
---|
| 326 | <para>initfile</para> |
---|
| 327 | </callout> |
---|
| 328 | </calloutlist> |
---|
| 329 | </imageobjectco> |
---|
| 330 | <!-- ++ si on met textobject, on ne voit plus l'image !! |
---|
| 331 | <textobject>[plot figpng/xxx_1_complete.png]</textobject> |
---|
| 332 | --> |
---|
| 333 | </mediaobjectco> |
---|
| 334 | </figure> |
---|
| 335 | </para> |
---|
| 336 | <para> |
---|
| 337 | These lines must contain |
---|
| 338 | the address of a file. The name can be typed directly in the window |
---|
| 339 | provided, or selected with the help of the <guibutton>browse</guibutton> button. The first |
---|
| 340 | line must contain the name of the data file, the second the name of |
---|
| 341 | the <filename>initgrid.pro</filename> script which will permit the reading and processing of the |
---|
| 342 | grid associated with the data file. |
---|
| 343 | </para> |
---|
| 344 | <para> |
---|
| 345 | Once these two lines have been completed, click on <guibutton>let's go</guibutton>. Two |
---|
| 346 | other windows will then open, giving you the parameters for reading |
---|
| 347 | the grid and the file (these parameters are read in the <filename>initgrid.pro</filename> |
---|
| 348 | script). Click twice on <guibutton>OK</guibutton>. |
---|
| 349 | </para> |
---|
| 350 | </sect2> |
---|
| 351 | <sect2 id="wigdets"><title>An explanation of the different widgets</title> |
---|
| 352 | |
---|
| 353 | <para> |
---|
| 354 | Now the XXX window will open. |
---|
| 355 | <!-- cf example in http://www.docbook.org/tdg/en/html/area.html |
---|
| 356 | sauf que dans l'exemple en question on ne donne que 2 nombres et pas 4 |
---|
| 357 | voir aussi message http://www.oasis-open.org/archives/docbook-apps/200501/msg00089.html |
---|
| 358 | peut-etre du nouveau dans les xsl depuis le 16 janvier 2005 |
---|
| 359 | peut-être essayé http://lists.kde.org/?l=kde-doc-english&m=112780764426265&w=2 |
---|
| 360 | ce produit klickety est installable via fink sous mac |
---|
| 361 | --> |
---|
| 362 | <figure id="fig_xxx_2"> |
---|
| 363 | <title>Window xxx 2</title> |
---|
| 364 | <mediaobjectco> |
---|
| 365 | <!-- ++ pas encore au point cf. forxxxdoc.sh !! --> |
---|
| 366 | <imageobjectco> |
---|
| 367 | <areaspec units="calspair"> |
---|
| 368 | <area id="pagelayout" coords="578,873 1651,1269"/> |
---|
| 369 | <area id="calendar" coords="82,2222 1899,2857"/> |
---|
| 370 | <area id="domain" coords="82,3174 2477,6349"/> |
---|
| 371 | <area id="specify" coords="82,7142 2890,7936"/> |
---|
| 372 | </areaspec> |
---|
| 373 | <imageobject> |
---|
| 374 | <imagedata fileref="figpng/xxx_2_complete.png"/> <!-- ++ instead of xxx_2.png --> |
---|
| 375 | </imageobject> |
---|
| 376 | <calloutlist> |
---|
| 377 | <callout arearefs="pagelayout"> |
---|
| 378 | <para> Page layout </para> |
---|
| 379 | </callout> |
---|
| 380 | <callout arearefs="calendar"> |
---|
| 381 | <para> Calendar </para> |
---|
| 382 | </callout> |
---|
| 383 | <callout arearefs="domain"> |
---|
| 384 | <para> Domain </para> |
---|
| 385 | </callout> |
---|
| 386 | <callout arearefs="specify"> |
---|
| 387 | <para> Specify </para> |
---|
| 388 | </callout> |
---|
| 389 | </calloutlist> |
---|
| 390 | </imageobjectco> |
---|
| 391 | <!-- ++ si on met textobject, on ne voit plus l'image |
---|
| 392 | <textobject>[plot figpng/xxx_2_complete.png]</textobject> |
---|
| 393 | --> |
---|
| 394 | </mediaobjectco> |
---|
| 395 | </figure> |
---|
| 396 | </para> |
---|
| 397 | <para> |
---|
| 398 | It's configuration will change |
---|
| 399 | depending on whether you are in portrait or in landscape, but here are |
---|
| 400 | the different parts available for your use. |
---|
| 401 | </para> |
---|
| 402 | |
---|
| 403 | <sect3 id="menubar"><title>The menu bar made up of 3 submenus</title> |
---|
| 404 | <sect4 id="filesubmenu"><title><guisubmenu>File</guisubmenu> submenu</title> |
---|
| 405 | |
---|
| 406 | <para> |
---|
| 407 | <itemizedlist> |
---|
| 408 | <listitem> |
---|
| 409 | <para> |
---|
| 410 | <guimenuitem>Open:</guimenuitem> to open a second file. Same procedure as during the |
---|
| 411 | launching of XXX. The new file can be on a different grid, with |
---|
| 412 | different variables, with a different time base. |
---|
| 413 | </para></listitem> |
---|
| 414 | <listitem><para><guimenuitem>New XXX:</guimenuitem> to open a second XXX window identical to the first.</para></listitem> |
---|
| 415 | <listitem><para><guimenuitem>Close:</guimenuitem> to close the XXX window.</para></listitem> |
---|
| 416 | </itemizedlist> |
---|
| 417 | </para> |
---|
| 418 | |
---|
| 419 | </sect4> |
---|
| 420 | <sect4 id="saveassubmenu"><title><guisubmenu>Save As</guisubmenu> submenu</title> |
---|
| 421 | |
---|
| 422 | <para> |
---|
| 423 | <itemizedlist> |
---|
| 424 | <listitem><para><guimenuitem>Postscript:</guimenuitem> to save in Postscript format</para></listitem> |
---|
| 425 | <listitem><para><guimenuitem>Animations:</guimenuitem> to create an animation from the XXX window. |
---|
| 426 | Careful, the creation of an animation is only possible if none of the |
---|
| 427 | plots have a time axis, and if the plots are all on the same time base |
---|
| 428 | (calendar). On the other hand, animations of horizontal and vertical |
---|
| 429 | plots, with different color palettes (for those not on an X-terminal), |
---|
| 430 | are possible.</para></listitem> |
---|
| 431 | <listitem><para><guimenuitem>Image:</guimenuitem> to save a gif of the XXX graphics window.</para></listitem> |
---|
| 432 | <listitem><para><guimenuitem>Script:</guimenuitem> to save the command history that has created the |
---|
| 433 | plot. For example if I save the commands in <filename>xxx_figure.pro</filename>, I can |
---|
| 434 | then launch a new IDL session and type: |
---|
| 435 | <screen format="linespecific"> |
---|
| 436 | <prompt>&promptidl;</prompt> <userinput>@init</userinput> |
---|
| 437 | <prompt>&promptidl;</prompt> <userinput>xxx_figure</userinput> |
---|
| 438 | </screen> |
---|
| 439 | </para> |
---|
| 440 | <para> |
---|
| 441 | and I'll obtain the saved figure. |
---|
| 442 | <screen format="linespecific"> |
---|
| 443 | <prompt>&promptidl;</prompt> <userinput>xxx_figure,/post </userinput> |
---|
| 444 | </screen> |
---|
| 445 | or |
---|
| 446 | <screen format="linespecific"> |
---|
| 447 | <prompt>&promptidl;</prompt> <userinput>@ps</userinput> |
---|
| 448 | </screen> |
---|
| 449 | will then create a Postscript file of the figure.</para><para></para></listitem> |
---|
| 450 | <listitem><para><guimenuitem>Prompt:</guimenuitem> lists in the IDL window the command history that |
---|
| 451 | created the last plot. Useful primarily for debugging...</para></listitem> |
---|
| 452 | </itemizedlist> |
---|
| 453 | </para> |
---|
| 454 | </sect4> |
---|
| 455 | <sect4 id="flagsubmenu"><title><guisubmenu>Flag options</guisubmenu> submenu</title> |
---|
| 456 | |
---|
| 457 | <para> |
---|
| 458 | <itemizedlist> |
---|
| 459 | <listitem><para><guibutton>OK</guibutton> To show/hide the OK button in the upper left corner.</para></listitem> |
---|
| 460 | <listitem><para><guibutton>Portrait/Landscape:</guibutton> changes the configuration of the plot.</para></listitem> |
---|
| 461 | <listitem><para><guibutton>Overlay:</guibutton> to plot contours of a different field on top the |
---|
| 462 | one represented as color-filled contours. It is necessary to relaunch the |
---|
| 463 | entire plot to make this work!</para></listitem> |
---|
| 464 | <listitem><para><guibutton>Vecteur:</guibutton> to plot a vector field on top of contours. Only |
---|
| 465 | works on horizontal plots (<filename>plt.pro</filename>). As for Overlay, a relaunch of |
---|
| 466 | the entire plot is necessary.</para></listitem> |
---|
| 467 | <listitem><para><guibutton>Longitude / x index:</guibutton> switches longitude labelling of the plot |
---|
| 468 | subdomain from degrees to indices following i. </para></listitem> |
---|
| 469 | <listitem><para><guibutton>Latitude / y index:</guibutton> switches latitude labelling of the plot |
---|
| 470 | subdomain from degrees to indices following j. </para></listitem> |
---|
| 471 | </itemizedlist> |
---|
| 472 | </para> |
---|
| 473 | </sect4> |
---|
| 474 | </sect3> |
---|
| 475 | <sect3 id="typeplot"><title>What type of plot and where?</title> |
---|
| 476 | <para> |
---|
| 477 | <itemizedlist> |
---|
| 478 | <listitem><para><guibutton>OK</guibutton> Show/hide the OK button in the upper left. When |
---|
| 479 | present, a click is required to make a new plot appear. Otherwise |
---|
| 480 | each action creates a new plot. </para></listitem> |
---|
| 481 | <listitem><para><guimenuitem>Plot type list:</guimenuitem> allows specification of the type of plot |
---|
| 482 | desired. |
---|
| 483 | </para> |
---|
| 484 | <note> |
---|
| 485 | <para> |
---|
| 486 | If the type <constant>plt</constant> is selected, the selection of plot type |
---|
| 487 | is made by mouse. Cf <xref linkend="mouse"/></para> |
---|
| 488 | </note> |
---|
| 489 | </listitem> |
---|
| 490 | <listitem><para><guimenuitem>Layout configuration:</guimenuitem> specify the number of columns and |
---|
| 491 | rows for plots on the sheet of paper. There's no code behind the undo |
---|
| 492 | command! The <guibutton>clear</guibutton> button erases all plots.</para></listitem> |
---|
| 493 | <listitem><para><guimenuitem>List of open files:</guimenuitem> you can choose the file to work on.</para></listitem> |
---|
| 494 | <listitem><para><guimenuitem>Command window:</guimenuitem> this window permits simple operations on |
---|
| 495 | the fields:</para><para> |
---|
| 496 | for example: <literallayout>toto - 10*field + 36</literallayout></para> |
---|
| 497 | <note> |
---|
| 498 | <para> |
---|
| 499 | In the default case, the name given to a field is of no importance.</para> |
---|
| 500 | </note> |
---|
| 501 | </listitem> |
---|
| 502 | </itemizedlist> |
---|
| 503 | </para> |
---|
| 504 | </sect3> |
---|
| 505 | <sect3 id="sect_calendar"><title>Calendar</title> |
---|
| 506 | <para> |
---|
| 507 | The calendar is made up of two droplists, which allow specification of |
---|
| 508 | two dates, the beginning and end of a time series, or the period over |
---|
| 509 | which to average before plotting. |
---|
| 510 | </para> |
---|
| 511 | </sect3> |
---|
| 512 | <sect3 id="sect_domain"><title>Domain specification</title> |
---|
| 513 | <para> |
---|
| 514 | A series of widgets that allow specification of the min/max limits of |
---|
| 515 | the domain in longitude/x-index, latitude/y-index, and depth in levels |
---|
| 516 | or meters. For depth, one can specify in levels for a horizontal |
---|
| 517 | plot, and in meters for a vertical plot. |
---|
| 518 | </para> |
---|
| 519 | </sect3> |
---|
| 520 | <sect3 id="details"><title>Plot details</title> |
---|
| 521 | <para> |
---|
| 522 | You can specify the min, max, and contour interval by filling out the |
---|
| 523 | provided boxes! For the color palette, you can either specify the name |
---|
| 524 | or go search for one among the palettes available. |
---|
| 525 | </para> |
---|
| 526 | <para> |
---|
| 527 | The "keywords" window allows specification of all desired |
---|
| 528 | keywords. These keywords can be those of |
---|
| 529 | <filename>plt.pro</filename>, <filename>pltt.pro</filename>, <filename>pltz.pro</filename>, |
---|
| 530 | <filename>plt1d.pro</filename>, or those of contour, plot, or all other programs that are |
---|
| 531 | used. Cf <xref linkend="example1"/> |
---|
| 532 | </para> |
---|
| 533 | </sect3> |
---|
| 534 | </sect2> |
---|
| 535 | </sect1> |
---|
| 536 | <sect1 id="examples"><title>Concrete examples of XXX in practice</title> |
---|
| 537 | |
---|
| 538 | <sect2 id="example1"><title>First plots</title> |
---|
| 539 | |
---|
| 540 | <para> |
---|
| 541 | One single file, one single plot per page |
---|
| 542 | </para> |
---|
| 543 | <para> |
---|
| 544 | Click on OK. |
---|
| 545 | </para> |
---|
| 546 | <para> |
---|
| 547 | Test the various basic functions: change the dates, the zoom, the |
---|
| 548 | field...</para> |
---|
| 549 | <para> |
---|
| 550 | Specify the min, max, and contour interval in the provided boxes.</para> |
---|
| 551 | <para> |
---|
| 552 | Add some keywords in the "keywords:" box, for example: </para> |
---|
| 553 | <blockquote> |
---|
| 554 | <para> |
---|
| 555 | /nocontour, /carte |
---|
| 556 | </para> |
---|
| 557 | </blockquote> |
---|
| 558 | <para> |
---|
| 559 | or the keywords for a northern hortographic polar projection:</para> |
---|
| 560 | <blockquote> |
---|
| 561 | <para> |
---|
| 562 | /nocontour, map=[90,0,0], /horto |
---|
| 563 | </para> |
---|
| 564 | </blockquote> |
---|
| 565 | <para> |
---|
| 566 | Test the various possibilities in the <guimenu>Save As</guimenu> menu.</para> |
---|
| 567 | <note> |
---|
| 568 | <para> |
---|
| 569 | the creation of animations has a tendency to saturate the video |
---|
| 570 | memory of X-terminals, crashing the entire program...</para> |
---|
| 571 | </note> |
---|
| 572 | <para> |
---|
| 573 | Test the various possibilities in the <guimenu>Flag options</guimenu> menu. |
---|
| 574 | </para> |
---|
| 575 | <caution> |
---|
| 576 | <para> |
---|
| 577 | Careful, a selected option remains selected until it is reclicked. |
---|
| 578 | </para> |
---|
| 579 | </caution> |
---|
| 580 | </sect2> |
---|
| 581 | |
---|
| 582 | <sect2 id="example2"><title>Work with more than one file</title> |
---|
| 583 | <para> |
---|
| 584 | Open some other files and go between them by selecting them from the |
---|
| 585 | file list... Note that the different widgets (calendar, domain, ...) |
---|
| 586 | follow the different file characteristics. |
---|
| 587 | </para> |
---|
| 588 | </sect2> |
---|
| 589 | |
---|
| 590 | <sect2 id="mouse"><title>Mouse actions in the graphics window on a horizontal plot</title> |
---|
| 591 | |
---|
| 592 | <para> |
---|
| 593 | Select a domain and select the horizontal plot (<constant>plt</constant>), vertical plot |
---|
| 594 | (<constant>pltz</constant>), or the hovmoeller plot (<constant>pltt</constant>):</para> |
---|
| 595 | <para> |
---|
| 596 | The domain we'd like to select for the plot is determined by one of |
---|
| 597 | its diagonals, defined therefore by two points. The first point is |
---|
| 598 | defined when the mouse button is pushed, then the mouse is moved, and |
---|
| 599 | the second point is defined as the mouse button is released |
---|
| 600 | (click-drag). The domains are thus defined by a long click (<abbrev>LC</abbrev>). To |
---|
| 601 | determine which type of plot should be made of selection, use: |
---|
| 602 | <variablelist> |
---|
| 603 | <varlistentry> |
---|
| 604 | <term> |
---|
| 605 | If the plot selector is on <constant>plt</constant> |
---|
| 606 | </term> |
---|
| 607 | <listitem> |
---|
| 608 | <para> |
---|
| 609 | the left mouse button to create horizontal plots (<constant>plt</constant>)</para> |
---|
| 610 | <para> |
---|
| 611 | the middle mouse button to create vertical plots (<constant>pltz</constant>)</para> |
---|
| 612 | <para> |
---|
| 613 | the right mouse button to create common hovmoellers for xt and yt cuts |
---|
| 614 | (<constant>pltt</constant>)</para> |
---|
| 615 | <para> |
---|
| 616 | In summary: <abbrev>LCL</abbrev>---><constant>plt</constant></para> |
---|
| 617 | <para> |
---|
| 618 | LCM---><constant>pltz</constant></para> |
---|
| 619 | <para> |
---|
| 620 | LCR---><constant>pltt</constant></para> |
---|
| 621 | </listitem> |
---|
| 622 | </varlistentry> |
---|
| 623 | <varlistentry> |
---|
| 624 | <term> |
---|
| 625 | If the plot selector is on something other than <constant>plt</constant> |
---|
| 626 | </term> |
---|
| 627 | <listitem> |
---|
| 628 | <para> |
---|
| 629 | the indicated plot type is made. |
---|
| 630 | </para> |
---|
| 631 | </listitem> |
---|
| 632 | </varlistentry> |
---|
| 633 | </variablelist> |
---|
| 634 | </para> |
---|
| 635 | </sect2> |
---|
| 636 | <sect2 id="multipleplots"><title>Create multiple plots on the same sheet and make them interact</title> |
---|
| 637 | |
---|
| 638 | <para> |
---|
| 639 | Select the number of columns and rows for the page.</para> |
---|
| 640 | <para> |
---|
| 641 | Create a first plot. It will appear in the first frame.</para> |
---|
| 642 | <para> |
---|
| 643 | To create a plot in another frame double-click in the frame with the |
---|
| 644 | middle button (<abbrev>DCM</abbrev>). A black dotted frame will surround the |
---|
| 645 | designated frame, the <quote>target</quote> frame. A black frame will surround the |
---|
| 646 | first plot. This is the <quote>reference</quote> frame, in other words the one |
---|
| 647 | that all the XXX widgets refer to. Change for example the date and |
---|
| 648 | create a new plot. With a left button double-click in the first |
---|
| 649 | frame, all the widgets change and refer again to the first plot. A |
---|
| 650 | double-click with the right button in the second frame will erase the |
---|
| 651 | plot.</para> |
---|
| 652 | <para> |
---|
| 653 | In summary: <abbrev>DCL</abbrev>---><quote>reference</quote> frame</para> |
---|
| 654 | <para> |
---|
| 655 | <abbrev>DCM</abbrev>---><quote>target</quote> frame</para> |
---|
| 656 | <para> |
---|
| 657 | <abbrev>DCR</abbrev>--->erase the frame</para> |
---|
| 658 | <para> |
---|
| 659 | Here's a series of commands to show how this works. |
---|
| 660 | </para> |
---|
| 661 | <procedure> |
---|
| 662 | <step> |
---|
| 663 | <para> |
---|
| 664 | Select a 3-D field and create 6 frames for the sheet of paper. |
---|
| 665 | </para> |
---|
| 666 | </step> |
---|
| 667 | <step> |
---|
| 668 | <para> |
---|
| 669 | Create a horizontal plot in Frame 1 |
---|
| 670 | </para> |
---|
| 671 | </step> |
---|
| 672 | <!-- je n'arrive pas à utliser <stepalternatives> --> |
---|
| 673 | <step> |
---|
| 674 | <para> |
---|
| 675 | <abbrev>DCM</abbrev> in frame 2, <abbrev>LCL</abbrev> on the plot in frame 1, to create a horizontal |
---|
| 676 | zoom in frame 2.</para> |
---|
| 677 | <para> |
---|
| 678 | <abbrev>DCM</abbrev> in frame 3, <abbrev>LCM</abbrev> on the plot in frame 1, to create a vertical cut |
---|
| 679 | in frame 3.</para> |
---|
| 680 | <para> |
---|
| 681 | <abbrev>DCM</abbrev> in frame 4, <abbrev>LCR</abbrev> on the plot in frame 1, to create a hovmoeller in frame 4. |
---|
| 682 | </para> |
---|
| 683 | </step> |
---|
| 684 | </procedure> |
---|
| 685 | <procedure> |
---|
| 686 | <para> |
---|
| 687 | To redo the hovmoeller with the keyword <literallayout>/nocontour</literallayout> |
---|
| 688 | </para> |
---|
| 689 | <step> |
---|
| 690 | <para> |
---|
| 691 | <abbrev>DCL</abbrev> in frame 4 which now becomes the reference and target frame. |
---|
| 692 | </para> |
---|
| 693 | </step> |
---|
| 694 | <step> |
---|
| 695 | <para> |
---|
| 696 | Add the keyword |
---|
| 697 | <literallayout>/nocontour</literallayout> |
---|
| 698 | </para> |
---|
| 699 | </step> |
---|
| 700 | <step> |
---|
| 701 | <para> |
---|
| 702 | click <guibutton>OK</guibutton>, and the plot is redone. |
---|
| 703 | </para> |
---|
| 704 | </step> |
---|
| 705 | </procedure> |
---|
| 706 | <procedure> |
---|
| 707 | <para> |
---|
| 708 | in frame 5, let's create the same plot as in frame 2 except with different dates |
---|
| 709 | </para> |
---|
| 710 | <step> |
---|
| 711 | <para> |
---|
| 712 | <abbrev>DCL</abbrev> on frame 2 |
---|
| 713 | </para> |
---|
| 714 | </step> |
---|
| 715 | <step> |
---|
| 716 | <para> |
---|
| 717 | <abbrev>DCM</abbrev> on frame 5 |
---|
| 718 | </para> |
---|
| 719 | </step> |
---|
| 720 | <step> |
---|
| 721 | <para> |
---|
| 722 | change the date |
---|
| 723 | </para> |
---|
| 724 | </step> |
---|
| 725 | <step> |
---|
| 726 | <para> |
---|
| 727 | click on <guibutton>OK</guibutton> |
---|
| 728 | , and voilà, the new plot. |
---|
| 729 | </para> |
---|
| 730 | </step> |
---|
| 731 | </procedure> |
---|
| 732 | </sect2> |
---|
| 733 | </sect1> |
---|
| 734 | <sect1 id="crash"><title>How to quit when it crashes</title> |
---|
| 735 | |
---|
| 736 | <para> |
---|
| 737 | <orderedlist> |
---|
| 738 | <listitem> |
---|
| 739 | <para> |
---|
| 740 | in the IDL window, type |
---|
| 741 | <screen format="linespecific"> |
---|
| 742 | <prompt>&promptidl;</prompt> <userinput>retall</userinput> |
---|
| 743 | </screen> |
---|
| 744 | </para></listitem> |
---|
| 745 | <listitem> |
---|
| 746 | <para><abbrev>DCR</abbrev> to erase the problem frame |
---|
| 747 | </para> |
---|
| 748 | </listitem> |
---|
| 749 | <listitem><para>press the <guibutton>clear</guibutton> button |
---|
| 750 | </para></listitem> |
---|
| 751 | <listitem><para>change the orientation of the plot |
---|
| 752 | </para></listitem> |
---|
| 753 | <listitem><para>quit XXX cleanly using <guibutton>quit</guibutton> from the <guimenu>File</guimenu> menu |
---|
| 754 | </para></listitem> |
---|
| 755 | </orderedlist> |
---|
| 756 | </para> |
---|
| 757 | <note> |
---|
| 758 | <para> |
---|
| 759 | Always avoid if at all possible closing and killing the XXX |
---|
| 760 | window, but rather select <guibutton>quit</guibutton> from the <guimenu>File</guimenu> menu. XXX uses a |
---|
| 761 | large number of pointers, and wantonly killing the window will leave a |
---|
| 762 | large number of unused variables in memory, which could in the end |
---|
| 763 | overflow. To clean up this memory: |
---|
| 764 | <screen format="linespecific"> |
---|
| 765 | <prompt>&promptidl;</prompt> <userinput>ptr_free, ptr_valid()</userinput> |
---|
| 766 | </screen> |
---|
| 767 | </para> |
---|
| 768 | </note> |
---|
| 769 | </sect1> |
---|
| 770 | </article> |
---|