version 1.8, 2013/01/07 22:03:47
|
version 1.9, 2013/01/14 19:51:56
|
Line 1704 void computeSWIndex(struct swIndex *swKe |
|
Line 1704 void computeSWIndex(struct swIndex *swKe |
|
float *bh = (float *) (malloc(nxny * sizeof(float))); | float *bh = (float *) (malloc(nxny * sizeof(float))); |
float *bt = (float *) (malloc(nxny * sizeof(float))); | float *bt = (float *) (malloc(nxny * sizeof(float))); |
float *jz = (float *) (malloc(nxny * sizeof(float))); | float *jz = (float *) (malloc(nxny * sizeof(float))); |
|
float *jz_smooth = (float *) (malloc(nxny * sizeof(float))); |
float *bpx = (float *) (malloc(nxny * sizeof(float))); | float *bpx = (float *) (malloc(nxny * sizeof(float))); |
float *bpy = (float *) (malloc(nxny * sizeof(float))); | float *bpy = (float *) (malloc(nxny * sizeof(float))); |
float *bpz = (float *) (malloc(nxny * sizeof(float))); | float *bpz = (float *) (malloc(nxny * sizeof(float))); |
Line 1716 void computeSWIndex(struct swIndex *swKe |
|
Line 1717 void computeSWIndex(struct swIndex *swKe |
|
float *derx_bz = (float *) (malloc(nxny * sizeof(float))); | float *derx_bz = (float *) (malloc(nxny * sizeof(float))); |
float *dery_bz = (float *) (malloc(nxny * sizeof(float))); | float *dery_bz = (float *) (malloc(nxny * sizeof(float))); |
| |
// Compute |
// The Computations |
| |
if (computeAbsFlux(bz, dims, &(swKeys_ptr->absFlux), &(swKeys_ptr->mean_vf), | if (computeAbsFlux(bz, dims, &(swKeys_ptr->absFlux), &(swKeys_ptr->mean_vf), |
mask, bitmask, cdelt1, rsun_ref, rsun_obs)){ | mask, bitmask, cdelt1, rsun_ref, rsun_obs)){ |
Line 1743 void computeSWIndex(struct swIndex *swKe |
|
Line 1744 void computeSWIndex(struct swIndex *swKe |
|
if (computeBzderivative(bz, dims, &(swKeys_ptr->mean_derivative_bz), mask, bitmask, derx_bz, dery_bz)) | if (computeBzderivative(bz, dims, &(swKeys_ptr->mean_derivative_bz), mask, bitmask, derx_bz, dery_bz)) |
swKeys_ptr->mean_derivative_bz = DRMS_MISSING_FLOAT; // If fail, fill in NaN | swKeys_ptr->mean_derivative_bz = DRMS_MISSING_FLOAT; // If fail, fill in NaN |
| |
|
computeJz(bx, by, dims, jz, mask, bitmask, cdelt1, rsun_ref, rsun_obs, derx, dery); |
| |
|
struct fresize_struct convolution_array; |
|
init_fresize_gaussian(&convolution_array, 4.0f, 12, 1); |
|
fresize(&convolution_array, jz, jz_smooth, nx, ny, nx, nx, ny, nx, 0, 0, 0.0f); |
| |
if(computeJz(bx, by, dims, jz, &(swKeys_ptr->mean_jz), &(swKeys_ptr->us_i), mask, bitmask, |
if(computeJzsmooth(bx, by, dims, jz_smooth, &(swKeys_ptr->mean_jz), &(swKeys_ptr->us_i), mask, bitmask, |
cdelt1, rsun_ref, rsun_obs, derx, dery)) { |
cdelt1, rsun_ref, rsun_obs, derx, dery)) |
|
{ |
swKeys_ptr->mean_jz = DRMS_MISSING_FLOAT; | swKeys_ptr->mean_jz = DRMS_MISSING_FLOAT; |
swKeys_ptr->us_i = DRMS_MISSING_FLOAT; | swKeys_ptr->us_i = DRMS_MISSING_FLOAT; |
} | } |
|
|
printf("swKeys_ptr->mean_jz=%f\n",swKeys_ptr->mean_jz); | printf("swKeys_ptr->mean_jz=%f\n",swKeys_ptr->mean_jz); |
| |
if (computeAlpha(bz, dims, jz, &(swKeys_ptr->mean_alpha), mask, bitmask, cdelt1, rsun_ref, rsun_obs)) |
|
|
if (computeAlpha(bz, dims, jz_smooth, &(swKeys_ptr->mean_alpha), mask, bitmask, cdelt1, rsun_ref, rsun_obs)) |
swKeys_ptr->mean_alpha = DRMS_MISSING_FLOAT; | swKeys_ptr->mean_alpha = DRMS_MISSING_FLOAT; |
| |
if (computeHelicity(bz, dims, jz, &(swKeys_ptr->mean_ih), |
if (computeHelicity(bz, dims, jz_smooth, &(swKeys_ptr->mean_ih), |
&(swKeys_ptr->total_us_ih), &(swKeys_ptr->total_abs_ih), | &(swKeys_ptr->total_us_ih), &(swKeys_ptr->total_abs_ih), |
mask, bitmask, cdelt1, rsun_ref, rsun_obs)) { | mask, bitmask, cdelt1, rsun_ref, rsun_obs)) { |
swKeys_ptr->mean_ih = DRMS_MISSING_FLOAT; | swKeys_ptr->mean_ih = DRMS_MISSING_FLOAT; |
Line 1764 void computeSWIndex(struct swIndex *swKe |
|
Line 1770 void computeSWIndex(struct swIndex *swKe |
|
swKeys_ptr->total_abs_ih = DRMS_MISSING_FLOAT; | swKeys_ptr->total_abs_ih = DRMS_MISSING_FLOAT; |
} | } |
| |
if (computeSumAbsPerPolarity(bz, jz, dims, &(swKeys_ptr->totaljz), |
if (computeSumAbsPerPolarity(bz, jz_smooth, dims, &(swKeys_ptr->totaljz), |
mask, bitmask, cdelt1, rsun_ref, rsun_obs)) | mask, bitmask, cdelt1, rsun_ref, rsun_obs)) |
swKeys_ptr->totaljz = DRMS_MISSING_FLOAT; | swKeys_ptr->totaljz = DRMS_MISSING_FLOAT; |
| |
Line 1794 void computeSWIndex(struct swIndex *swKe |
|
Line 1800 void computeSWIndex(struct swIndex *swKe |
|
drms_free_array(byArray); | drms_free_array(byArray); |
drms_free_array(bzArray); | drms_free_array(bzArray); |
| |
free(bh); free(bt); free(jz); |
free(bh); free(bt); free(jz); free(jz_smooth); |
free(bpx); free(bpy); free(bpz); | free(bpx); free(bpy); free(bpz); |
free(derx); free(dery); | free(derx); free(dery); |
free(derx_bt); free(dery_bt); | free(derx_bt); free(dery_bt); |
free(derx_bz); free(dery_bz); | free(derx_bz); free(dery_bz); |
free(derx_bh); free(dery_bh); | free(derx_bh); free(dery_bh); |
| |
|
free_fresize(&convolution_array); |
} | } |
| |
| |