diff --git a/src/libcode/vx_statistics/compute_stats.cc b/src/libcode/vx_statistics/compute_stats.cc index 040c8f4bab..f3441cf7b2 100644 --- a/src/libcode/vx_statistics/compute_stats.cc +++ b/src/libcode/vx_statistics/compute_stats.cc @@ -1656,19 +1656,24 @@ void compute_aggregated_seeps_grid(const DataPlane &fcst_dp, const DataPlane &ob // ; PV-WAVE prints: 1.00000 5.00000 // PRINT, SUM(array2, 1) // ; PV-WAVE prints: 2.00000 4.00000 - +//////////////////////////////////////////////////////////////////////// double *compute_seeps_density_vector(const PairDataPoint *pd, SeepsAggScore *seeps) { int seeps_idx; SeepsScore *seeps_mpr; int seeps_cnt = seeps->n_obs; - const double density_radidus_rad = density_radius * rad_per_deg; - double rlat[seeps_cnt], rlon[seeps_cnt]; - double clat[seeps_cnt], clon[seeps_cnt], slat[seeps_cnt], slon[seeps_cnt]; - double clat_m[seeps_cnt][seeps_cnt], clon_m[seeps_cnt][seeps_cnt]; - double slat_m[seeps_cnt][seeps_cnt], slon_m[seeps_cnt][seeps_cnt]; - double clat_slon[seeps_cnt][seeps_cnt], clon_slat[seeps_cnt][seeps_cnt]; - double density_m[seeps_cnt][seeps_cnt]; + const double density_radius_rad = density_radius * rad_per_deg; + vector rlat(seeps_cnt), rlon(seeps_cnt); + vector clat(seeps_cnt), clon(seeps_cnt); + vector slat(seeps_cnt), slon(seeps_cnt); + vector> clat_m(seeps_cnt, vector (seeps_cnt)); + vector> clon_m(seeps_cnt, vector (seeps_cnt)); + vector> slat_m(seeps_cnt, vector (seeps_cnt)); + vector> slon_m(seeps_cnt, vector (seeps_cnt)); + vector> clat_slon(seeps_cnt, vector (seeps_cnt)); + vector> clon_slat(seeps_cnt, vector (seeps_cnt)); + vector> density_m(seeps_cnt, vector (seeps_cnt)); + static const char *method_name = "compute_seeps_density_vector() -> "; if (seeps_cnt == 0) { @@ -1723,11 +1728,11 @@ double *compute_seeps_density_vector(const PairDataPoint *pd, SeepsAggScore *see //IDL: r = acos(r) density = acos(density); //IDL: if r0 gt 0.0 then r = exp(-(r/r0)^2) * (r le 4. * r0) else r = (r*0.)+1. - if (density_radidus_rad <= 0.) density = 1.0; + if (density_radius_rad <= 0.) density = 1.0; else { mask3 = (density <= 4.0) ? 1. : 0.; - temp = density / density_radidus_rad; - density = exp(-(temp * temp)) * mask3 * density_radidus_rad; + temp = density / density_radius_rad; + density = exp(-(temp * temp)) * mask3 * density_radius_rad; } density_vector[j] += density; } diff --git a/src/libcode/vx_statistics/compute_stats.h b/src/libcode/vx_statistics/compute_stats.h index e9f24a0a95..81237254c8 100644 --- a/src/libcode/vx_statistics/compute_stats.h +++ b/src/libcode/vx_statistics/compute_stats.h @@ -60,11 +60,11 @@ extern void compute_i_mean_stdev(const NumArray &, bool, double, int, CIInfo &, CIInfo &); -extern void compute_aggregated_seeps(const PairDataPoint *pd, SeepsAggScore *seeps); -extern double *compute_seeps_density_vector(const PairDataPoint *pd, SeepsAggScore *seeps); -extern void compute_aggregated_seeps_grid(const DataPlane &fcst_dp, const DataPlane &obs_dp, - DataPlane &seeps_dp, SeepsAggScore *seeps, - int month, int hour=0); +extern void compute_aggregated_seeps(const PairDataPoint *pd, SeepsAggScore *seeps); +extern double * compute_seeps_density_vector(const PairDataPoint *pd, SeepsAggScore *seeps); +extern void compute_aggregated_seeps_grid(const DataPlane &fcst_dp, const DataPlane &obs_dp, + DataPlane &seeps_dp, SeepsAggScore *seeps, + int month, int hour=0); //////////////////////////////////////////////////////////////////////// //