pdf - Madagascar
pdf - Madagascar
pdf - Madagascar
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
6<br />
seabeam/interpolate.c<br />
1 /∗ Multi−dimensional missing data i n t e r p o l a t i o n . ∗/<br />
2<br />
3 #include <br />
4<br />
5 int main ( int argc , char∗ argv [ ] )<br />
6 {<br />
7 int na , ia , n i t e r , n , i ;<br />
8 float a0 , ∗mm, ∗ zero ;<br />
9 bool prec , ∗known ;<br />
10 char ∗ l a g f i l e ;<br />
11 s f f i l t e r aa ;<br />
12 s f f i l e in , out , f i l t , lag , mask ;<br />
13<br />
14 s f i n i t ( argc , argv ) ;<br />
15 in = s f i n p u t ( ” in ” ) ;<br />
16 f i l t = s f i n p u t ( ” f i l t ” ) ;<br />
17 /∗ f i l t e r f o r i n v e r s e model covariance ∗/<br />
18 out = s f o u t p u t ( ” out ” ) ;<br />
19<br />
20 n = s f f i l e s i z e ( in ) ;<br />
21<br />
22 i f ( ! s f g e t b o o l ( ” prec ”,& prec ) ) prec=true ;<br />
23 /∗ I f y , use p r e c o n d i t i o n i n g ∗/<br />
24 i f ( ! s f g e t i n t ( ” n i t e r ”,& n i t e r ) ) n i t e r =100;<br />
25 /∗ Number o f i t e r a t i o n s ∗/<br />
26<br />
27 i f ( ! s f h i s t i n t ( f i l t , ”n1”,&na ) ) s f e r r o r ( ”No n1=” ) ;<br />
28 aa = s f a l l o c a t e h e l i x ( na ) ;<br />
29<br />
30 i f ( ! s f h i s t f l o a t ( f i l t , ”a0”,&a0 ) ) a0 =1.;<br />
31<br />
32 /∗ Get f i l t e r l a g s ∗/<br />
33 i f (NULL == ( l a g f i l e = s f h i s t s t r i n g ( f i l t , ” l a g ” ) ) ) {<br />
34 for ( i a =0; i a < na ; i a++) {<br />
35 aa−>l a g [ i a ]= i a +1;<br />
36 }<br />
37 } else {<br />
38 l a g = s f i n p u t ( l a g f i l e ) ;<br />
39 s f i n t r e a d ( aa−>lag , na , l a g ) ;<br />
40 s f f i l e c l o s e ( l a g ) ;<br />
41 }<br />
42<br />
43 /∗ Get f i l t e r v a l u e s ∗/