source: trunk/SRC/Documentation/idldoc_html_output/Interpolation/spl_keep_mean.html @ 177

Last change on this file since 177 was 168, checked in by pinsard, 18 years ago

Main document available on top directory, Source links available in idldoc html output

File size: 17.8 KB
Line 
1
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
5<!-- Generated by IDLdoc 2.0 -->
6
7<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
8  <head>
9    <title>spl_keep_mean.pro (SAXO Documentation)</title>
10
11   
12    <style type="text/css" media="all">
13     
14/* CSS for all files which appear in the "main" viewing area: overview,
15   directory overviews, warnings, index, search, pro files, source
16   code, help, and etc files. */
17
18/* Link styles --------------------------------------------------------------- */
19
20a { text-decoration: none; }
21
22a:link, a:visited { 
23  color: #660000; 
24  border-bottom: 1px dotted #C0C0F0;   
25}
26
27a:hover, a:focus { 
28  color: #993333; 
29  background: #FFFFCC; 
30  border-bottom: 1px dotted #303099; 
31}
32
33
34/* Main styles --------------------------------------------------------------- */
35p.preformat {
36  font-family: Courier;
37}
38
39body {
40  margin: 0;
41  padding: 0;
42  font-size: 10pt;
43  font-family: Verdana, Helvetica, Arial, sans-serif;
44  background-color: #FFFFFF;
45}
46
47p {
48  margin-top: 0.5em;
49  margin-bottom: 0;
50}
51
52#container { margin: 1em; }
53
54code.section { white-space: pre; }
55
56pre.snippet {
57  margin-left: 5%;
58  background: #F0F0F0;
59  border: 1px dashed #999999;
60  width: 43em;
61  padding: 0.5em 0.5em 0.5em 0.5em;
62  white-space: pre;
63}
64
65/* Navbar styles ------------------------------------------------------------- */
66
67#navbar_title {
68  color: #000033;
69  background-color: #F0F0FF;
70  font-family: Arial, Helvetica, sans-serif;
71  padding: 20px 30px;
72  border-bottom: 1px solid #000033;
73}
74
75#navbar_title * {
76  margin: 0;
77  padding: 0;
78}
79
80#navbar_title h1 {
81  letter-spacing: 0.1em;
82  font-variant: small-caps;
83  font-size: 250%;
84  text-indent: -1em;
85  padding-left: 1em; 
86}
87
88#navbar_title h2 {
89  font-size: 110%;
90  font-weight: normal;
91  color: #333399;
92}
93
94#main_navbar table {
95  width: 100%;
96  border-bottom: 1px solid #666699;
97}
98
99#main_navbar td {
100  background: #CCCCFF;
101  font-size: 80%;
102  font-weight: bold;
103  font-family: Arial, Helvetica, sans-serif;
104  border-top: 3px solid #CCCCFF;
105  border-bottom: 3px solid #CCCCFF;
106  padding-left: 6px;
107  padding-right: 6px;
108  margin: 0;
109}
110
111#main_navbar td#selected {
112  background: #CCCCFF;
113  font-size: 80%;
114  font-weight: bold;
115  font-family: Arial, Helvetica, sans-serif;
116  border-top: 3px solid #333399;
117  border-bottom: 3px solid #CCCCFF;
118  padding-left: 6px;
119  padding-right: 6px;
120  margin: 0;
121}
122
123#main_navbar td#flexible {
124  width: 100%;
125  text-align: right;
126  padding-right: 1em;
127  background: #CCCCFF;
128  font-size: 70%;
129  font-weight: normal;
130  font-family: Arial, Helvetica, sans-serif;
131  text-transform: uppercase;
132  border-top: 3px solid #CCCCFF;
133  border-bottom: 3px solid #CCCCFF;
134}
135
136#main_navbar a:link, #main_navbar a:visited { color: #660000; border: 0; }
137
138#main_navbar a:hover, #main_navbar a:focus {
139  color: #FFFF66;
140  background: #CCCCFF;
141  border-bottom: 1px none #606099; 
142  border: 0;
143}
144
145#secondary_navbar {
146  font-size: 80%;
147  font-weight: normal;
148  font-family: Arial, Helvetica, sans-serif;
149  margin-top: 4px;
150  margin-left: 20px;
151  white-space: nowrap;
152}
153
154
155/* Tagline and footer styles ------------------------------------------------- */
156
157div#tagline {
158  margin-top: 6px;
159  border-top: 1px dotted lightsteelblue;
160  padding-top: 6px;
161  font-size: 66%;
162  font-style: italic;
163}
164
165div#footer {
166  margin-top: 6px;
167  border-top: 1px dotted lightsteelblue;
168  padding-top: 6px;
169  font-size: 66%;
170  font-style: italic;
171}
172
173/* Basic data presenation styles -------------------------------------------- */
174
175.index_letter { 
176  font-size: 300%;
177  font-weight: bold;
178  color: #000066; 
179  margin: 0.5em 0 0 -0.1em;
180}
181
182h1, h2, h3, h4 {
183  font-weight: normal;
184  color: #3333CC;
185}
186
187h1 {
188  padding-top: 0.75em;
189  font-size: 160%;
190}
191
192h2 {
193  padding-top: 1em;
194  font-size: 120%;
195  }
196
197h3 {
198  padding-top: 0.75em;
199  margin-bottom: 0.25em;
200  font-size: 100%;
201}
202
203h4 {
204  padding: 0;
205  margin: 0.5em 0 0 0;
206  font-size: 80%;
207}
208
209table.basic {
210  empty-cells: show;
211  margin: 1.5em 1em 0 1em;
212  border: 1px dotted #CFCFFF;
213  font-size: 80%;
214}
215
216table.basic th {
217  background-color: #F0F0FF;
218  font-weight: bold;
219  text-align: left;
220  padding: 4px 1em 4px 4px;
221  border-bottom: 1px dotted #666699;
222}
223
224table.basic td {
225  vertical-align: top;
226  padding: 4px 1em 4px 4px;
227}
228
229dd {
230  margin-bottom: 0.25em;
231  font-size: 80%;
232}
233
234
235/* Warnings styles ----------------------------------------------------------- */
236
237
238#todo dl, #bugs dl { 
239  margin: 0 0 0 1.5em;
240  font-size: 80%;
241}
242
243#todo dd, #bugs dd { 
244  margin-left: 3em; 
245  font-size: 100%;
246}
247
248#undoc table, #obsolete table, #statistics table {
249  width: 80%;
250  margin-left: 2em;
251}
252
253#undoc td, #obsolete td, #statistics td { 
254  padding: 0 0 0 0;
255  font-size: 80%;
256  white-space: nowrap;
257}
258
259#undoc td.docroutine, #obsolete td.obsroutine, #statistics td.statroutine { width: 50%; }
260
261#undoc td.docstat, #statistics td.stat { 
262  width: 50%;
263  text-align: right;
264}
265
266#undoc td.partialdoc, #statistics td.caution { color: #CC6600; }
267
268#undoc td.notdoc, #statistics td.warning { color: #993333; }
269
270/* File + routine styles ----------------------------------------------------- */
271
272h1.directory { 
273  padding: 1em 0 0 0;
274  margin: 0;
275  font-size: 66%;
276}
277
278h1.directory a { border-bottom: 0; }
279
280h2.pro_file { 
281  padding: 0;
282  margin: 0;
283  font-size: 140%;
284}
285
286div#file_attr {
287  padding: 0 1em 0 1em;
288  margin: 1em;
289  background: #F6F6F6;
290  border: 1px dotted #999999;
291}
292
293div#file_attr dt {
294  font-size: 80%;
295  font-weight: bold;
296}
297
298div#file_attr dd {
299  font-size: 80%;
300}
301
302div#class_diagram { 
303  padding: 1em 0 1em 0; 
304  white-space: pre;
305  font-family: 'Courier New';
306}
307
308table#sav_attr { 
309  font-size: 90%; 
310  margin: 1em; 
311  padding: 1em 1em 1em 1em;
312  background: #F6F6F6;
313  border: 1px dotted #999999;
314}
315
316table#sav_attr th { text-align: left; }
317
318table#sav_attr td { vertical-align: top; padding-right: 2em; }
319
320table#sav_attr td.value { width: 20em; padding-right: 0em; font-style: italic; }
321
322p.sav_warning { margin-left: 4em; font-family: 80%; }
323
324table.variables { 
325  font-family: 'Courier New', monospace; 
326  font-size: 80%; 
327  text-indent: -2em; 
328  padding-left: 2em; 
329}
330
331table.variables td.image { width: 64px; }
332
333div#file_comments { white-space: pre; 
334  margin: 2em;
335  font-size: 80%;
336}
337
338
339div.field_summary {
340  padding: 0 1em 0 1em;
341  margin: 1em;
342  background: #FFFFF0;
343  border: 1px dotted #C0C000;
344}
345
346div#routine_summary { 
347  padding: 0 1em 0 1em;
348  margin: 1em;
349  background: #F0F0FF;
350  border: 1px dotted #9999FF;
351}
352
353div.field_summary h2, div#routine_summary h2 { 
354  padding: 0.5em 0 0 0;
355  margin: 0;
356}
357
358div.field_summary table, div.field_summary p { 
359  margin: 1em 1em;
360}
361
362div.field_summary td.name { 
363  vertical-align: top;
364  padding-bottom: 0.25em;
365  color: #3333CC;
366}
367
368div.field_summary span.field_type { 
369  font-weight: normal;
370  font-size: 80%;
371  color: black;
372}
373
374div.field_summary td.comments { 
375  vertical-align: top;
376  padding-left: 2em;
377  font-size: 80%;
378}
379
380p.commaList { 
381  margin: 1em 1em 1em 1em;
382}
383
384span.warning { 
385  color: #CC6633;
386  font-weight: bold;
387  font-size: 66%;
388  text-transform: uppercase;
389}
390
391span.categories { 
392  color: #006633;
393  font-weight: bold;
394  font-size: 66%;
395  text-transform: uppercase;
396}
397
398span.undoc { 
399  color: #FF6633;
400  font-weight: bold;
401  font-size: 80%;
402  text-transform: uppercase;
403}
404
405span.attr { 
406  color: #006633;
407  font-weight: bold;
408  font-size: 80%;
409  text-transform: uppercase;
410}
411
412span.value { 
413  color: #006633;
414  font-weight: normal;
415  text-transform: none;
416}
417
418a.top { 
419  font-weight: bold;
420  font-size: 66%;
421  text-transform: uppercase;
422  float: right;
423}
424
425span.result { 
426  font-family: Verdana, Arial, Helvetica, sans-serif;
427  font-style: italic;
428  font-size: 80%;
429}
430
431div#routine_summary p, div.routine_details p.header { 
432  padding-top: 0.5em;
433  margin-left: 1.5em;
434  text-indent: -1.5em;
435  font-family: 'Courier New', monospace;
436}
437
438div.routine_details { 
439  padding: 0.5em 1em 0.5em 1em;
440  margin: 1em;
441  border: 1px dotted #CCCCCC;
442}
443
444div.routine_details h2 { 
445  padding-top: 0;
446  margin-top: 0;
447}
448
449div.routine_details div.value { 
450  margin: 0 1em 0 1em;
451  font-size: 80%;
452}
453
454div.routine_details div.comments { 
455  font-size: 80%;
456  margin: 0.75em 1em 1em 1em;
457}
458
459div.routine_details div.preformat { 
460  white-space: pre;
461}
462
463table.statistics { 
464  font-size: 80%;
465  margin-left: 1em;
466}
467
468table.statistics td { 
469  padding: 0 2em 0 0;
470}
471
472/* Overview styles ----------------------------------------------------------- */
473
474div.overview { 
475  width: 100%;
476  margin-top: 1em;
477  clear: both;
478}
479
480div.overview table {
481  empty-cells: show;
482  font-size: 90%;
483  margin: 1em 1em 1em 1em;
484  padding: 1em 0.5em 1em 0.5em;
485  background: #F6F6F6;
486  border: 1px dotted #999999;
487}
488
489div.overview td {
490  padding: 3px 1em 3px 1em;
491}
492
493div.overview td.dir {
494  width: 1%;
495  vertical-align: top;
496  text-align: right;
497  padding-right: 1em;
498}
499
500
501/* Navigation list styles for tree structures -------------------------------- */
502
503#tree {
504  text-align: left;
505  font-size: 90%;
506  margin: 0.75em 0 0.75em 0;
507  padding: 0;
508}
509
510#tree ul {
511  text-align: left;
512  margin: 0;
513  padding: 0;
514}
515
516#tree li {
517  margin: 0 0 0 15px;
518  padding: 0;
519  list-style-type: none;
520}
521
522#tree .symbols {
523  float: left;
524  width: 12px;
525  height: 1em;
526  padding-left: 4px;
527  background-position: 0 100%;
528  background-repeat: no-repeat;
529}
530
531/* Search styles ------------------------------------------------------------- */
532
533input.writein { 
534  padding-left: 0.5em;
535  border: 1px solid #CCCCCC;
536  font-family: 'Courier New';
537  background: #FFFFF3;
538}
539
540#search form { 
541  margin-left: 2em;
542}
543
544#search table { 
545  margin: 1em 1em 0 2em;
546  padding: 1em 2em 1em 2em;
547  background: #F6F6F6;
548  border: 1px dotted #999999;
549}
550
551#search tr { 
552  text-align: center;
553}
554
555#search td { 
556  font-size: 80%; 
557  text-align: left;
558}
559
560#search td * { 
561  vertical-align: middle;
562}
563
564#search p { 
565  font-size: 66%;
566  margin: 0 3em 2em 3em;
567}
568
569/* Help styles --------------------------------------------------------------- */
570
571div.toc { 
572  padding: 0 1em 0 1em;
573  margin: 1em;
574  background: #F0F0FF;
575  border: 1px dotted #9999FF; 
576  width: 19em;
577}
578
579div.right { 
580  float: right;
581  width: 22em;
582}
583
584ol.toc { 
585  list-style-type: upper-roman;
586}
587
588ol.toc ol { 
589  padding-left: 3em;
590  margin-left: 0;
591  list-style-type: lower-alpha;
592}
593
594dl.variables dt { font-size: 80%; }
595dl.variables dd { margin-bottom: 0.5em; }
596
597    </style>
598    <style type="text/css" media="print">
599      #navbar_title { 
600  background-color: #FFFFFF; 
601}
602
603#main_navbar td {
604  background: #FFFFFF;
605  border-top: 0.25em solid #FFFFFF;
606  border-bottom: 0.25em solid #FFFFFF;
607}
608
609#main_navbar td#selected {
610  background: #FFFFFF;
611  border-top: 0.25em solid #333399;
612  border-bottom: 0.25em solid #FFFFFF;
613}
614
615#main_navbar td#flexible {
616  background: #FFFFFF;
617  border-top: 0.25em solid #FFFFFF;
618  border-bottom: 0.25em solid #FFFFFF;
619}
620
621#secondary_navbar {
622  display: none;
623}
624
625    </style>
626   
627
628    <script type="text/javascript">
629      function setTitle() {
630        parent.document.title="spl_keep_mean.pro (SAXO Documentation)";
631      }
632    </script>
633  </head>
634
635  <body onload="setTitle();">
636
637    <div id="navbar_title">
638  <h1>SAXO Documentation</h1>
639</div>
640
641
642<div id="main_navbar">
643
644  <table cellspacing="0">
645    <tr>
646     
647      <td><a href="./../overview.html?format=raw" title="Overview of library">Overview</a></td>
648     
649
650     
651      <td >Directory</td>
652     
653
654     
655      <td><a href="./../idldoc-categories.html?format=raw" title="Browse library by category">Categories</a></td>
656     
657
658     
659      <td><a href="./../idldoc-index.html?format=raw" title="Index of files, routines, and parameters">Index</a></td>
660     
661
662     
663      <td><a href="./../search-page.html?format=raw" title="Search library">Search</a></td>
664     
665
666      <td id="selected">File</td>
667
668     
669      <td><a href="../../../Interpolation//spl_keep_mean.pro?format=raw" title="Source code of a file">Source</a></td>
670     
671
672     
673      <td><a href="./../idldoc-help.html?format=raw" title="Help on IDLdoc">Help</a></td>
674     
675
676      <td >Etc</td>
677
678      <td id="flexible">Developer&nbsp;documentation</td>
679    </tr>
680  </table>
681
682</div>
683
684<div id="secondary_navbar">
685
686<a href="spl_incr.html?format=raw">&lt;&lt;prev file</a> | <a href="square2quadrilateral.html?format=raw">next file &gt;&gt;</a>&nbsp;&nbsp;&nbsp;&nbsp;<a href="spl_keep_mean.html?format=raw" target="_TOP">view single page</a> | <a href="./../index.html?format=raw" target="_TOP">view frames</a>&nbsp;&nbsp;&nbsp;&nbsp;summary: fields | routine&nbsp;&nbsp;&nbsp;&nbsp;details: <a href="#routine_details">routine</a>
687
688</div>
689
690
691    <div id="container">
692
693      <h1 class="directory"><a href="directory-overview.html?format=raw">Interpolation/</a></h1>
694      <h2 class="pro_file">spl_keep_mean.pro</h2>
695
696      <div id="file_attr">
697        <dl>
698        </dl>
699      </div>
700
701      <div id="file_comments">
702
703 Given the arrays X and Y, which tabulate a function (with the X[i]
704 AND Y[i] in ascending order), and given an input value X2, the
705 SPL_INCR function returns an interpolated value for the given values
706 of X2. The interpolation method is based on cubic spline, corrected
707 in a way that integral of the interpolated values is the same as the
708 integral of the input values. (-> for exemple to build daily data
709 from monthly mean and keep the monthly mean of the computed daily
710 data equa to the original values)
711</div>
712
713     
714
715     
716
717     
718
719     
720
721      <div id="routine_details">
722       
723
724        <div class="routine_details" id="_spl_keep_mean">
725
726          <h2><a class="top" href="#container">top</a>spl_keep_mean </h2>
727       
728          <p class="header">
729            <span class="result">result = </span>spl_keep_mean(<span class="result"><a href="#_spl_keep_mean_param_x">x</a>, <a href="#_spl_keep_mean_param_yin">yin</a>, <a href="#_spl_keep_mean_param_x2">x2</a></span>, <a href="#_spl_keep_mean_keyword_YP0">YP0</a>=<span class="result">YP0</span>, <a href="#_spl_keep_mean_keyword_YPN_1">YPN_1</a>=<span class="result">YPN_1</span>, <a href="#_spl_keep_mean_keyword_GE0">GE0</a>=<span class="result">GE0</span>)</p>
730       
731          <div class="comments"></div>
732
733          <h3>Return value</h3><div class="preformat">
734 y2: the mean value between two consecutive values of x2. This
735 array has one element less than y2. y2 has double precision.
736</div>
737
738         
739            <h3>Parameters</h3>
740       
741           
742            <h4 id="_spl_keep_mean_param_x">x&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
743              <span class="attr">in</span>
744             
745             
746              <span class="attr">required</span>
747             
748             
749             
750             
751            </h4>
752       
753          <div class="comments">
754 An n-element (at least 2) input vector that specifies the tabulate points in
755 a strict ascending order.
756</div>
757           
758            <h4 id="_spl_keep_mean_param_yin">yin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
759              <span class="attr">in</span>
760             
761             
762              <span class="attr">required</span>
763             
764              <span class="attr">type:</span> <span class="value">array</span>
765             
766             
767            </h4>
768       
769          <div class="comments">
770 an array with one element less than x. y[i] represents the
771 mean value between x[i] and x[i+1]. if /GE0 is activated, y must
772 have positive values.
773</div>
774           
775            <h4 id="_spl_keep_mean_param_x2">x2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
776              <span class="attr">in</span>
777             
778             
779              <span class="attr">required</span>
780             
781             
782             
783             
784            </h4>
785       
786          <div class="comments">
787 The input values for which the interpolated values are desired.
788 Its values must be strictly monotonically increasing.
789</div>
790           
791
792         
793
794         
795
796            <h3>Keywords</h3>
797           
798            <h4 id="_spl_keep_mean_keyword_YP0">YP0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
799             
800             
801             
802             
803             
804             
805             
806             
807            </h4>
808       
809            <div class="comments">
810 The first derivative of the interpolating function at the
811 point X0. If YP0 is omitted, the second derivative at the
812 boundary is set to zero, resulting in a "natural spline."
813</div>
814           
815            <h4 id="_spl_keep_mean_keyword_YPN_1">YPN_1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
816             
817             
818             
819             
820             
821             
822             
823             
824            </h4>
825       
826            <div class="comments">
827 The first derivative of the interpolating function at the
828 point Xn-1. If YPN_1 is omitted, the second derivative at the
829 boundary is set to zero, resulting in a "natural spline."
830</div>
831           
832            <h4 id="_spl_keep_mean_keyword_GE0">GE0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
833             
834             
835             
836             
837             
838             
839             
840             
841            </h4>
842       
843            <div class="comments">
844 to force that y2 is always GE than 0. In that case, y must also be GE than 0.
845</div>
846           
847         
848
849          <h3>Examples</h3><div class="preformat">
850
851    12 monthly values of precipitations into daily values:
852
853 IDL> yr1 = 1990
854 IDL> yr2 = 1992
855 IDL> nyr = yr2-yr1+1
856 IDL> n1 = 12*nyr+1
857 IDL> x = julday(1+findgen(n1), replicate(1, n1) $
858 IDL>        , replicate(yr1, n1), fltarr(n1))
859 IDL> n2 = 365*nyr + total(leapyr(yr1+indgen(nyr))) + 1
860 IDL> x2 = julday(replicate(1, n2), 1+findgen(n2) $
861 IDL>            , replicate(yr1, n2), fltarr(n2))
862 IDL> y = abs(randomn(0, n1-1))
863 IDL> y2 = spl_keep_mean(x, y, x2, /ge0)
864
865 IDL> print, min(x, max = ma), ma
866 IDL> print, min(x2, max = ma), ma
867 IDL> print, vairdate([min(x, max = ma), ma])
868 IDL> print, total(y*(x[1:n1-1]-x[0:n1-2]))
869 IDL> print, total(y2*(x2[1:n2-1]-x2[0:n2-2]))
870</div>
871          <h3>Version history</h3>
872         
873          <h4>Version</h4><div class="preformat"> $Id: spl_keep_mean.pro 163 2006-08-29 12:59:46Z navarro $
874</div>
875          <h4>History</h4><div class="preformat">
876  Sebastien Masson (smasson@lodyc.jussieu.fr): May 2005
877</div>
878         
879         
880          <h3>Known issues</h3>
881         
882         
883         
884          <h4>Restrictions</h4><div class="preformat">
885 It might be possible that y2 has very small negative values
886 (amplitude smaller than 1.e-6)...
887</div>
888       
889         
890         
891         
892         
893         
894         
895         
896       
897          <h3>Statistics</h3>
898          <table class="statistics">
899            <tr><td>McCabe cyclic</td><td>           8</td></tr>
900            <tr><td>McCabe essential</td><td>           1</td></tr>
901            <tr><td>McCabe modular design</td><td>           1</td></tr>
902          </table>
903         
904       
905        </div>
906       
907      </div>
908
909     
910
911      <div id="tagline">Produced by IDLdoc 2.0.</div>
912
913    </div>
914
915  </body>
916</html>
Note: See TracBrowser for help on using the repository browser.