 Return to sw_functions.c CVS log  Up to [Development] / JSOC / proj / sharp / apps

### Diff for /JSOC/proj/sharp/apps/sw_functions.c between version 1.5 and 1.6

version 1.5, 2013/01/14 18:27:45 version 1.6, 2013/02/05 18:45:55
 Line 543  int computeJz(float *bx, float *by, int
 Line 543  int computeJz(float *bx, float *by, int

/* Example function 9:  Compute quantities on smoothed Jz array */ /* Example function 9:  Compute quantities on smoothed Jz array */

// All of the subsequent functions, including this one, use a smoothed Jz array. The smoothing is performed by Jesper's
// fresize routines. These routines are located at /cvs/JSOC/proj/libs/interpolate. A Gaussian with a FWHM of 4 pixels
// and truncation width of 12 pixels is used to smooth the array; however, a quick analysis shows that the mean values
// of qualities like Jz and helicity do not change much as a result of smoothing. The smoothed array will, of course,
// give a lower total Jz as the stron field pixels have been smoothed out to neighboring weaker field pixels.

int computeJzsmooth(float *bx, float *by, int *dims, float *jz_smooth, int computeJzsmooth(float *bx, float *by, int *dims, float *jz_smooth,
float cdelt1, double rsun_ref, double rsun_obs,float *derx, float *dery)                           float cdelt1, double rsun_ref, double rsun_obs,float *derx, float *dery)
 Line 596  int computeJzsmooth(float *bx, float *by
 Line 602  int computeJzsmooth(float *bx, float *by
// (abs(sum of all Jz at positive Bz) + abs(sum of all Jz at negative Bz)) = avg Jz        // (abs(sum of all Jz at positive Bz) + abs(sum of all Jz at negative Bz)) = avg Jz
// avg alpha = avg Jz / avg Bz        // avg alpha = avg Jz / avg Bz

// The sign is assigned as follows:
// If the sum of all Bz is greater than 0, then evaluate the sum of Jz at the positive Bz pixels.
// If this value is > 0, then alpha is > 0.
// If this value is < 0, then alpha is <0.
//
// If the sum of all Bz is less than 0, then evaluate the sum of Jz at the negative Bz pixels.
// If this value is > 0, then alpha is < 0.
// If this value is < 0, then alpha is > 0.

// The units of alpha are in 1/Mm // The units of alpha are in 1/Mm
// The units of Jz are in Gauss/pix; the units of Bz are in Gauss. // The units of Jz are in Gauss/pix; the units of Bz are in Gauss.
// //

Legend:
 Removed from v.1.5 changed lines Added in v.1.6