Elaboradar  0.1
 Tutto Classi Namespace File Funzioni Variabili Tipi enumerati (enum) Gruppi
classificatore.cpp
Vai alla documentazione di questo file.
1 
11 #include <iostream>
12 #include <radarelab/volume.h>
13 #include <radarelab/odim.h>
14 
15 #include "classifier.h"
17 
18 using namespace radarelab;
19 using namespace std;
20 
21 int main(int argc,char* argv[])
22 {
23 //const elaboradar::Site& sito(elaboradar::Site::get("SPC"));
24 
25  //Volume<double> volume;
26  //volume::ODIMLoader loader(sito, false, 1024);
27 
28  volume::classifier classificatore(argv[1]);
29 
30  cout<<"riempito classificatore"<<endl;
31  classificatore.compute_derived_volumes();
32  cout<<"calcolati i volumi derivati"<<endl;
33  classificatore.HCA_Park_2009();
34 // classificatore.print_ppi_class();
35 
36  volume::ODIMStorer storer;
37  storer.store_quantity_int((Volume<int>*)(&classificatore.vol_hca));
38  storer.store(argv[1]);
39 /*
40 
41  cout<<"parte interessante"<<endl;
42  Volume<double> dummy;
43 
44  Volume<double> fil_rho;
45  Volume<double> fil_zdr;
46  Volume<double> fil_z;
47  Volume<double> fil_phi;
48  cout<<"filtro"<<endl;
49  bool undet=false;
50  filter(classificatore.vol_rhohv,fil_rho,2000.,0.,undet);
51  filter(classificatore.vol_zdr,fil_zdr,2000.,0.,undet);
52  filter(classificatore.vol_z,fil_z,1000.,0.,undet);
53  filter(classificatore.vol_phidp_6km,fil_phi,0.,0.,undet);
54  volume::ODIMStorer store2(sito, false, 1024);
55  cout<<"salvo"<<endl;
56  store2.store_quantity_fp(&fil_rho);
57  store2.store_quantity_fp(&fil_zdr);
58  store2.store_quantity_fp(&fil_z);
59  store2.store_quantity_fp(&fil_phi);
60  cout<<"scrivo"<<endl;
61  store2.store("vol_rad.h5");
62  filter(classificatore.vol_rhohv,fil_rho,0.,3.,undet);
63  filter(classificatore.vol_zdr,fil_zdr,0.,3.,undet);
64  filter(classificatore.vol_z,fil_z,0.,3.,undet);
65  volume::ODIMStorer store3(sito, false, 1024);
66  cout<<"salvo"<<endl;
67  store3.store_quantity_fp(&fil_rho);
68  store3.store_quantity_fp(&fil_zdr);
69  store3.store_quantity_fp(&fil_z);
70  cout<<"scrivo"<<endl;
71  store3.store("vol_az.h5");
72  filter(classificatore.vol_rhohv,fil_rho,2000.,3.,undet);
73  filter(classificatore.vol_zdr,fil_zdr,2000.,3.,undet);
74  filter(classificatore.vol_z,fil_z,1000.,3.,undet);
75  volume::ODIMStorer store4(sito, false, 1024);
76  cout<<"salvo"<<endl;
77  store4.store_quantity_fp(&fil_rho);
78  store4.store_quantity_fp(&fil_zdr);
79  store4.store_quantity_fp(&fil_z);
80  cout<<"scrivo"<<endl;
81  store4.store("vol_azrad.h5");
82 
83 
84 
85  filter(classificatore.vol_rhohv,dummy,2000.,0.,undet);
86  filter(dummy,fil_rho,2000.,0.,undet);
87  filter(classificatore.vol_zdr,dummy,2000.,0.,undet);
88  filter(dummy,fil_zdr,2000.,0.,undet);
89  filter(classificatore.vol_z,fil_z,1000.,0.,undet);
90  volume::ODIMStorer store22(sito, false, 1024);
91  cout<<"salvo"<<endl;
92  store22.store_quantity_fp(&fil_rho);
93  store22.store_quantity_fp(&fil_zdr);
94  store22.store_quantity_fp(&fil_z);
95  cout<<"scrivo"<<endl;
96  store22.store("vol_rd_2.h5");
97 
98  filter(classificatore.vol_rhohv,dummy,0.,3.,undet);
99  filter(dummy,fil_rho,0.,5.,undet);
100  filter(classificatore.vol_zdr,dummy,0.,3.,undet);
101  filter(dummy,fil_zdr,0.,5.,undet);
102  filter(classificatore.vol_z,fil_z,0.,3.,undet);
103  volume::ODIMStorer store33(sito, false, 1024);
104  cout<<"salvo"<<endl;
105  store33.store_quantity_fp(&fil_rho);
106  store33.store_quantity_fp(&fil_zdr);
107  store33.store_quantity_fp(&fil_z);
108  cout<<"scrivo"<<endl;
109  store33.store("vol_az_2.h5");
110 
111  filter(classificatore.vol_rhohv,dummy,2000.,3.,undet);
112  filter(dummy,fil_rho,2000.,5.,undet);
113  filter(classificatore.vol_zdr,dummy,2000.,3.,undet);
114  filter(dummy,fil_zdr,2000.,5.,undet);
115  filter(classificatore.vol_z,fil_z,1000.,3.,undet);
116  volume::ODIMStorer store44(sito, false, 1024);
117  cout<<"salvo"<<endl;
118  store44.store_quantity_fp(&fil_rho);
119  store44.store_quantity_fp(&fil_zdr);
120  store44.store_quantity_fp(&fil_z);
121  cout<<"scrivo"<<endl;
122  store44.store("vol_azrd_2.h5");
123 
124  Volume<double> vol_sdphidp;
125  Volume<double> vol_sdz;
126  textureSD(classificatore.vol_phidp,vol_sdphidp,2000.,0.,true);
127  textureSD(classificatore.vol_z,vol_sdz,1000.,0.,true);
128  volume::ODIMStorer storeSD(sito,false,1024);
129  storeSD.store_quantity_fp(&vol_sdphidp);
130  storeSD.store_quantity_fp(&vol_sdz);
131  storeSD.store("vol_sd.h5");
132 */
133 
134  cout<<endl<<"Fine"<<endl;
135 
136 }
Codice per il caricamento di volumi ODIM in radarelab.
Definisce le principali strutture che contengono i dati.
Classes to compute hydrometeor classification.
Homogeneous volume with a common beam count for all PolarScans.
Definition: volume.h:415
compute hydrometeor classification
Definition: classifier.h:349