Elaboradar 0.1
Caricamento in corso...
Ricerca in corso...
Nessun risultato
classificatore.cpp
Vai alla documentazione di questo file.
1
11#include <iostream>
12#include <radarelab/volume.h>
13#include <radarelab/odim.h>
14#include <stdlib.h>
15#include "classifier.h"
17
18using namespace radarelab;
19using namespace std;
20
21int 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 float Ht=atof(argv[2]);
29 float Hb=atof(argv[3]);
30
31 //inizializzo Ht e Hb che verranno poi ricalcolati in classifier
32 // float Ht=3.;
33 // float Hb=2.;
34 volume::classifier classificatore(argv[1]);
35
36 cout<<"riempito classificatore"<<endl;
37 classificatore.compute_derived_volumes();
38 cout<<"calcolati i volumi derivati"<<endl;
39 classificatore.HCA_Park_2009 (Ht, Hb );
40// classificatore.print_ppi_class();
41
42 volume::ODIMStorer storer;
43 storer.store_quantity_int((Volume<int>*)(&classificatore.vol_hca));
44 storer.store(argv[1]);
45/*
46
47 cout<<"parte interessante"<<endl;
48 Volume<double> dummy;
49
50 Volume<double> fil_rho;
51 Volume<double> fil_zdr;
52 Volume<double> fil_z;
53 Volume<double> fil_phi;
54 cout<<"filtro"<<endl;
55 bool undet=false;
56 filter(classificatore.vol_rhohv,fil_rho,2000.,0.,undet);
57 filter(classificatore.vol_zdr,fil_zdr,2000.,0.,undet);
58 filter(classificatore.vol_z,fil_z,1000.,0.,undet);
59 filter(classificatore.vol_phidp_6km,fil_phi,0.,0.,undet);
60 volume::ODIMStorer store2(sito, false, 1024);
61 cout<<"salvo"<<endl;
62 store2.store_quantity_fp(&fil_rho);
63 store2.store_quantity_fp(&fil_zdr);
64 store2.store_quantity_fp(&fil_z);
65 store2.store_quantity_fp(&fil_phi);
66 cout<<"scrivo"<<endl;
67 store2.store("vol_rad.h5");
68 filter(classificatore.vol_rhohv,fil_rho,0.,3.,undet);
69 filter(classificatore.vol_zdr,fil_zdr,0.,3.,undet);
70 filter(classificatore.vol_z,fil_z,0.,3.,undet);
71 volume::ODIMStorer store3(sito, false, 1024);
72 cout<<"salvo"<<endl;
73 store3.store_quantity_fp(&fil_rho);
74 store3.store_quantity_fp(&fil_zdr);
75 store3.store_quantity_fp(&fil_z);
76 cout<<"scrivo"<<endl;
77 store3.store("vol_az.h5");
78 filter(classificatore.vol_rhohv,fil_rho,2000.,3.,undet);
79 filter(classificatore.vol_zdr,fil_zdr,2000.,3.,undet);
80 filter(classificatore.vol_z,fil_z,1000.,3.,undet);
81 volume::ODIMStorer store4(sito, false, 1024);
82 cout<<"salvo"<<endl;
83 store4.store_quantity_fp(&fil_rho);
84 store4.store_quantity_fp(&fil_zdr);
85 store4.store_quantity_fp(&fil_z);
86 cout<<"scrivo"<<endl;
87 store4.store("vol_azrad.h5");
88
89
90
91 filter(classificatore.vol_rhohv,dummy,2000.,0.,undet);
92 filter(dummy,fil_rho,2000.,0.,undet);
93 filter(classificatore.vol_zdr,dummy,2000.,0.,undet);
94 filter(dummy,fil_zdr,2000.,0.,undet);
95 filter(classificatore.vol_z,fil_z,1000.,0.,undet);
96 volume::ODIMStorer store22(sito, false, 1024);
97 cout<<"salvo"<<endl;
98 store22.store_quantity_fp(&fil_rho);
99 store22.store_quantity_fp(&fil_zdr);
100 store22.store_quantity_fp(&fil_z);
101 cout<<"scrivo"<<endl;
102 store22.store("vol_rd_2.h5");
103
104 filter(classificatore.vol_rhohv,dummy,0.,3.,undet);
105 filter(dummy,fil_rho,0.,5.,undet);
106 filter(classificatore.vol_zdr,dummy,0.,3.,undet);
107 filter(dummy,fil_zdr,0.,5.,undet);
108 filter(classificatore.vol_z,fil_z,0.,3.,undet);
109 volume::ODIMStorer store33(sito, false, 1024);
110 cout<<"salvo"<<endl;
111 store33.store_quantity_fp(&fil_rho);
112 store33.store_quantity_fp(&fil_zdr);
113 store33.store_quantity_fp(&fil_z);
114 cout<<"scrivo"<<endl;
115 store33.store("vol_az_2.h5");
116
117 filter(classificatore.vol_rhohv,dummy,2000.,3.,undet);
118 filter(dummy,fil_rho,2000.,5.,undet);
119 filter(classificatore.vol_zdr,dummy,2000.,3.,undet);
120 filter(dummy,fil_zdr,2000.,5.,undet);
121 filter(classificatore.vol_z,fil_z,1000.,3.,undet);
122 volume::ODIMStorer store44(sito, false, 1024);
123 cout<<"salvo"<<endl;
124 store44.store_quantity_fp(&fil_rho);
125 store44.store_quantity_fp(&fil_zdr);
126 store44.store_quantity_fp(&fil_z);
127 cout<<"scrivo"<<endl;
128 store44.store("vol_azrd_2.h5");
129
130 Volume<double> vol_sdphidp;
131 Volume<double> vol_sdz;
132 textureSD(classificatore.vol_phidp,vol_sdphidp,2000.,0.,true);
133 textureSD(classificatore.vol_z,vol_sdz,1000.,0.,true);
134 volume::ODIMStorer storeSD(sito,false,1024);
135 storeSD.store_quantity_fp(&vol_sdphidp);
136 storeSD.store_quantity_fp(&vol_sdz);
137 storeSD.store("vol_sd.h5");
138*/
139
140 cout<<endl<<"Fine"<<endl;
141
142}
Classes to compute hydrometeor classification.
Homogeneous volume with a common beam count for all PolarScans.
Definition volume.h:431
compute hydrometeor classification
Definition classifier.h:350
String functions.
Definition cart.cpp:4
Codice per il caricamento di volumi ODIM in radarelab.
Definisce le principali strutture che contengono i dati.