@@ -75,26 +75,38 @@ namespace libcloudphxx
7575 }
7676
7777 // method for accessing super-droplet statistics
78- virtual void diag_sd_conc () { assert (false ); }
79- virtual void diag_pressure () { assert (false ); }
80- virtual void diag_temperature () { assert (false ); }
81- virtual void diag_RH () { assert (false ); }
82- virtual void diag_all () { assert (false ); }
83- virtual void diag_rw_ge_rc () { assert (false ); }
84- virtual void diag_RH_ge_Sc () { assert (false ); }
85- virtual void diag_dry_rng (const real_t &, const real_t &) { assert (false ); }
86- virtual void diag_wet_rng (const real_t &, const real_t &) { assert (false ); }
87- virtual void diag_dry_mom (const int &) { assert (false ); }
88- virtual void diag_wet_mom (const int &) { assert (false ); }
89- virtual void diag_wet_mass_dens (const real_t &, const real_t &) { assert (false ); }
90- virtual void diag_chem (const enum common::chem::chem_species_t &) { assert (false ); }
91- virtual void diag_precip_rate () { assert (false ); }
92- virtual void diag_kappa_mom (const int &) { assert (false ); }
93- virtual void diag_kappa_rng (const real_t &, const real_t &) { assert (false ); }
94- virtual void diag_max_rw () { assert (false ); }
95- virtual void diag_vel_div () { assert (false ); }
96- virtual std::map<libcloudphxx::common::output_t , real_t > diag_puddle () { assert (false ); return std::map<libcloudphxx::common::output_t , real_t >(); }
97- virtual real_t *outbuf () { assert (false ); return NULL ; }
78+ virtual void diag_sd_conc () { assert (false ); }
79+ virtual void diag_pressure () { assert (false ); }
80+ virtual void diag_temperature () { assert (false ); }
81+ virtual void diag_RH () { assert (false ); }
82+ virtual void diag_all () { assert (false ); }
83+ virtual void diag_rw_ge_rc () { assert (false ); }
84+ virtual void diag_RH_ge_Sc () { assert (false ); }
85+ virtual void diag_dry_rng (const real_t &, const real_t &) { assert (false ); }
86+ virtual void diag_wet_rng (const real_t &, const real_t &) { assert (false ); }
87+ virtual void diag_kappa_rng (const real_t &, const real_t &) { assert (false ); }
88+ // The 3 following functions are for consecutive selection of SDs.
89+ // It allows the user to select SDs based on multiple characteristics, e.g. wet radius (0.5, 1) and kappa (0.1, 0.2):
90+ // diag_wet_rng(0.5, 1); diag_kappa_rng_cons(0.1, 0.2);
91+ // NOTE: the call with "cons" needs to be right after the previous call to diag_X_rng!
92+ // otherwise some other function used in between can overwrite n_filtered used for selection of moments
93+ // NOTE2: We cannot implement this as an argument to diag_X_rng, because we would like it to default to null
94+ // and Boost Python does not work well with virtual member functions that have default arguments
95+ virtual void diag_dry_rng_cons (const real_t &, const real_t &) { assert (false ); }
96+ virtual void diag_wet_rng_cons (const real_t &, const real_t &) { assert (false ); }
97+ virtual void diag_kappa_rng_cons (const real_t &, const real_t &) { assert (false ); }
98+
99+ virtual void diag_dry_mom (const int &) { assert (false ); }
100+ virtual void diag_wet_mom (const int &) { assert (false ); }
101+ virtual void diag_wet_mass_dens (const real_t &, const real_t &) { assert (false ); }
102+ virtual void diag_chem (const enum common::chem::chem_species_t &) { assert (false ); }
103+ virtual void diag_precip_rate () { assert (false ); }
104+ virtual void diag_kappa_mom (const int &) { assert (false ); }
105+ virtual void diag_incloud_time_mom (const int &) { assert (false ); } // requires opts_init.diag_incloud_time==true
106+ virtual void diag_max_rw () { assert (false ); }
107+ virtual void diag_vel_div () { assert (false ); }
108+ virtual std::map<libcloudphxx::common::output_t , real_t > diag_puddle () { assert (false ); return std::map<libcloudphxx::common::output_t , real_t >(); }
109+ virtual real_t *outbuf () { assert (false ); return NULL ; }
98110
99111 // storing a pointer to opts_init (e.g. for interrogatin about
100112 // dimensions in Python bindings)
@@ -160,26 +172,23 @@ namespace libcloudphxx
160172 void diag_pressure ();
161173 void diag_temperature ();
162174 void diag_RH ();
163- void diag_dry_rng (
164- const real_t &r_mi, const real_t &r_mx
165- );
166- void diag_wet_rng (
167- const real_t &r_mi, const real_t &r_mx
168- );
169- void diag_kappa_rng (
170- const real_t &r_mi, const real_t &r_mx
171- );
175+ void diag_dry_rng (const real_t &r_mi, const real_t &r_mx);
176+ void diag_wet_rng (const real_t &r_mi, const real_t &r_mx);
177+ void diag_kappa_rng (const real_t &r_mi, const real_t &r_mx);
178+ void diag_dry_rng_cons (const real_t &r_mi, const real_t &r_mx);
179+ void diag_wet_rng_cons (const real_t &r_mi, const real_t &r_mx);
180+ void diag_kappa_rng_cons (const real_t &r_mi, const real_t &r_mx);
172181 void diag_dry_mom (const int &k);
173182 void diag_wet_mom (const int &k);
174183 void diag_kappa_mom (const int &k);
184+ void diag_incloud_time_mom (const int &k);
175185 void diag_wet_mass_dens (const real_t &, const real_t &);
176186
177187 void diag_chem (const enum common::chem::chem_species_t &);
178188 void diag_rw_ge_rc ();
179189 void diag_RH_ge_Sc ();
180190 void diag_all ();
181191 void diag_precip_rate ();
182- void diag_kappa (const int &);
183192 void diag_max_rw ();
184193 void diag_vel_div ();
185194 std::map<libcloudphxx::common::output_t , real_t > diag_puddle ();
@@ -256,14 +265,16 @@ namespace libcloudphxx
256265 void diag_pressure ();
257266 void diag_temperature ();
258267 void diag_RH ();
259- void diag_dry_rng (
260- const real_t &r_mi, const real_t &r_mx
261- );
262- void diag_wet_rng (
263- const real_t &r_mi, const real_t &r_mx
264- );
268+ void diag_dry_rng (const real_t &r_mi, const real_t &r_mx);
269+ void diag_wet_rng ( const real_t &r_mi, const real_t &r_mx);
270+ void diag_kappa_rng ( const real_t &r_mi, const real_t &r_mx );
271+ void diag_dry_rng_cons ( const real_t &r_mi, const real_t &r_mx);
272+ void diag_wet_rng_cons ( const real_t &r_mi, const real_t &r_mx);
273+ void diag_kappa_rng_cons ( const real_t &r_mi, const real_t &r_mx );
265274 void diag_dry_mom (const int &k);
266275 void diag_wet_mom (const int &k);
276+ void diag_kappa_mom (const int &);
277+ void diag_incloud_time_mom (const int &);
267278 void diag_wet_mass_dens (const real_t &, const real_t &);
268279 real_t *outbuf ();
269280
0 commit comments