[1] It is believed that parameterizations of the photospheric magnetic field can be correlated with solar activity (Falconer et al., 2002 ; Leka and Barnes, 2003I and 2003II; Schrijver 2007; Mason and Hoeksema, 2010).

[2] It is difficult to store and analyze the number full-disk vector magnetograms necessary to track an active region as it crosses the disk.

SHARP stands for Spaceweather HMI Active Region Patch. A SHARP is a DRMS series that contains (1) various spaceweather quantities calculated from the photospheric vector magnetogram data and stored as FITS header keywords, and (2) 31 data segments (described in detail below), including each component of the vector magnetic field, the line-of-sight magnetic field, continuum intensity, doppler velocity, error maps and bitmaps. The data segments are not full-disk; rather, they are partial-disk, automatically-identified active region patches. SHARPs are calculated every 12 minutes. Often, there is more than one active region on the solar disk at any given time. Thus, SHARPs are indexed by two prime keys: time, `T_REC`

, and HMI Active Region Patch Number, `HARPNUM`

. There are four SHARP DRMS series:

[1] `hmi.sharp_720s`

: definitive data with segments in CCD coordinates wherein the vector B has been decomposed into azimuth, inclination, and field,

[2] `hmi.sharp_cea_720s`

: definitive data wherein the vector B has been remapped to a Lambert Cylindrical Equal-Area projection and decomposed into B_radial, B_phi, and B_theta,

[3] `hmi.sharp_720s_nrt`

: near real-time data in CCD coordinates wherein the vector B has been decomposed into azimuth, inclination, and field,

[4] `hmi.sharp_cea_720s_nrt`

: near real-time data wherein the vector B has been remapped to a Lambert Cylindrical Equal-Area projection and decomposed into B_radial, B_phi, and B_theta.

This page describes the methodology for creating SHARPs and results for NOAA Active Region 11429, which produced an X5.4-class flare on 7 March 2012.

The HMI pipeline analysis code automatically detects active regions
in photospheric line-of-sight magnetograms and photograms. This code
(i) identifies a patch on the full-disk imagery that encompasses each
active region and (ii) tracks every active region as it crosses the
face of the solar disk. One active region crossing the face of the
solar disk is referred to as an
HMI Active Region Patch (HARP) and is
assigned a HARP number, similar in concept to a NOAA Active Region
number. (We depart from the NOAA Active Region number because HARPs are detected before NOAA Active Region numbers are assigned; however, we include the NOAA Active Region number post-facto as FITS keyword `NOAA_AR`

). There are two kinds of HARPS: (i) near-real time HARPS and
(ii) definitive HARPs. Near-real time HARPs are calculated as soon as
possible; in this case, the bounding box for the active region changes
from one instance in time to another. Definitive HARPs are calculated
after an active region has crossed the face of the disk or 5 days
after an active region disappears (whichever comes first); in this
case, the bounding box for the active region is constant over
time. HARPs provide all of the required geometric and heliographic information needed to track active patches in HMI and other solar data sets. Here is a movie (courtesy Mike Turmon) of near-real time HARPs
crossing the face of the solar disk in March 2012 (NOAA AR 11429 corresponds to HARP Number 1449):

Definitive HARP data are available at `hmi.Mharp_720s`

; near real time (nrt) HARP data are available at `hmi.Mharp_720s_nrt`

.

The HARP analysis code outputs a rectangular (in CCD coordinates)
bounding box, which contains a smooth bounding curve. The bounding box, which is centered at the flux-weighted centroid, is defined as a HARP; the area within the bounding curve is defined as an active region. This information is available within the `BITMAP`

segment of the SHARP data series.

The Stokes I, Q, U, and V data are inverted within the HARP bounding box by using the Very Fast Inversion of the Stokes Vector (VFISV) code, which assumes a Milne-Eddington model of the solar atmosphere, to yield the vector magnetogram data Borrero et al, 2011).

The azimuthal component of the vector magnetic field is disambiguated using a minimum energy method to resolve the 180° ambiguity (Metcalf, 1994; Leka et al., 2009). Input parameters to the disambiguation module determine the rate of minimization and number of reconfigurations attempted per minimization step. These parameters are necessarily different for the nrt and definitive data as the nrt data must be produced quickly. A non-linear mask determines the noise thresholds as a function of solar radius (this mask is available in the `CONF_DISAMBIG`

segment of the SHARP series). Pixels below the threshold are smoothed; pixels above the threshold are not.

Spaceweather quantities (listed in Results[1], below) are calculated every 12 minuets on the inverted and disambiguated data wherein the vector B has been remapped to a Lambert Cylindrical Equal-Area projection and decomposed into Bx, By, and Bz. Some of the spaceweather quantities are calculated directly on the data (such as z-component of the current density; for quantities that require a computational derivative, we use a finite-difference method with a 9-point stencil) and others require a potential field model (such as mean photospheric excess magnetic energy density). The potential field is calculated using Green’s functions and a monopole depth of 0.00001 pixels. Only data that are the logical AND of (i) pixels within the smooth bounding curve in `BITMAP`

and (ii) pixels above the noise threshold in `CONF_DISAMBIG`

contribute to the spaceweather indices. Below is an example for nrt SHARP 606 at 2012.10.28_18:24:00_TAI; see `hmi.sharp_720s_nrt[606][2012.10.28_18:24:00_TAI]`

.

The SHARP analysis code calculates the following spaceweather quantities (keyword, quantity, units):

`USFLUX`

Total unsigned flux in Maxwells

`MEANGAM`

Mean inclination angle, gamma, in degrees

`MEANGBT`

Mean value of the total field gradient, in Gauss/Mm

`MEANGBZ`

Mean value of the vertical field gradient, in Gauss/Mm

`MEANGBH`

Mean value of the horizontal field gradient, in Gauss/Mm

`MEANJZD`

Mean vertical current density, in mA/m^{2}

`TOTUSJZ`

Total unsigned vertical current, in Amperes

`MEANALP`

Mean twist parameter, alpha, in 1/Mm

`MEANJZH`

Mean current helicity in G^{2}/m

`TOTUSJH`

Total unsigned current helicity in G^{2}/m

`ABSNJZH`

Absolute value of the net current helicity in G^{2}/m

`SAVNCPP`

Sum of the Absolute Value of the Net Currents Per Polarity in Amperes

`MEANPOT`

Mean photospheric excess magnetic energy density in ergs per cubic centimeter

`TOTPOT`

Total photospheric magnetic energy density in ergs per cubic centimeter

`MEANSHR`

Mean shear angle (measured using B_{total}) in degrees

Below are plots of nrt and definitive spaceweather quantities calculated on the HARP-sized vector magnetogram data that encapsulated NOAA Active Region 11429. The plots are from March 4 to 8, 2012. The GOES X-Ray flux for this event peaked at 0:40 UT on March 7, 2012, corresponding to an X5.4-class flare. The flare peak is indicated in the plots by a yellow vertical line. Wide scatter in the spaceweather parameters at about ~8 UT on March 7, 2012 is due to poor data quality following an eclipse. Further below are plots representing the percent difference between the nrt and definitive quantities. The active region is rotating toward disk center; therefore, the scatter in the percent difference plots decrease with time as expected.

One can plot any keyword value directly in JSOC Lookdata under the graph tab.

Below are descriptions for each segment (segment name, units, description) in order of appearance in Lookdata:

`MAGNETOGRAM`

, [Mx/cm^{2}]

The magnetogram segment contains HARP-sized line-of-sight magnetogram data from the DRMS series `hmi.M_720s`

.

`BITMAP`

, [dimensionless]

The bitmap segment identifies the pixels located within the smooth bounding curve by labeling each pixel with the following:

1 : weak field outside smooth bounding curve

2 : strong field outside smooth bounding curve

33 : weak field inside smooth bounding curve

34 : strong field inside smooth bounding curve

`DOPPLERGRAM`

, [m/s]

The dopplergram segment contains HARP-sized dopplergram data from the DRMS series `hmi.V_720s`

.

`CONTINUUM`

, [DN/s]

The dopplergram segment contains HARP-sized dopplergram data from the DRMS series `hmi.Ic_720s`

.

In order to solve the inverse problem of inferring a vector magnetic field from polarization profiles, the Very Fast Inversion of the Stokes Vector (VFISV) module solves a set of differential equations that fit the following parameters:

`INCLINATION`

, [degrees]

The inclination segment contains the magnetic field inclination with respect to the line-of-sight field.

`AZIMUTH`

, [degrees]

The azimuth segment contains the magnetic field azimuth. Zero corresponds to the direction of a column of pixels on HMI’s CCD; values increase counter-clockwise.

`FIELD`

, [Mx/cm^{2}]

The field segment contains the magnetic field strength. Currently, the filling factor is equal to unity, so this quantity is representative of the magnetic flux density. Values of 120 Mx/cm^{2} or less are generally considered to be noise.

`VLOS_MAG`

, [cm/s]

The vlos_mag segment contains the velocity of the plasma along the line-of-sight. Positive means redshift. [Note: The dopplergram data are in m/s, whereas these data are in cm/s.]

`DOP_WIDTH`

, [mÅ]

The dop_width segment contains the doppler width of the spectral line, which is assumed to be a Gaussian.

`ETA_0`

, [dimensionless]

The eta_0 segment contains the center-to-continuum absorption coefficient. This is a measure of the difference between the absorption from the center and the continuum of the spectral line. (Differences arise because the center of the spectral line is formed at a different height in the atmosphere than the continuum of the spectral line. These quantities are not constant across the solar disk due to (i) thermodynamic variations and (ii) gradients in height.)

`DAMPING`

, [mÅ]

The damping segment contains the electron dipole oscillation approximated as a simple harmonic oscillator. This quantity is affected by the characteristics of the electromagnetic field. In the current version of the code, this parameter is constant and set to unity.

`SRC_CONTINUUM`

, [DN/s]

The src_continuum segment contains the source function at the base of the photosphere. In the Milne-Eddington approximation, the source function varies linearly with optical depth.

`SRC_GRAD`

, [DN/s]

The src_grad segment contains gradient of the source function with optical depth. By definition, src_continuum + src_grad = observed continuum intensity.

`ALPHA_MAG`

, [dimensionless]

The segment alpha_mag is defined as the portion of the resolution element that is filled with magnetized plasma. However, in the current version of the code, this parameter is constant and set to unity.

`CHISQ`

, [dimensionless]

The segment chisq is a measure of how well the profiles are fit in the least squares iteration. Chisq is not normalized.

`CONV_FLAG`

, [dimensionless]

This is currently not calcuated.

`INFO_MAP`

, [dimensionless]

The info_map segment identifies the quality index of the inversion output. The index at each pixel is defined as follows:

0x00000000 : Good pixel, with no severe issue.

0x0[0-6]00000 : Same as the convergence index in `CONV_FLAG`

0x08000000 : Bad pixel, defined as the same criteria as #5 of `CONFID_MAP`

.

0x10000000 : Low Q or U signal. sqrt((Q_0 + ··· + Q_5)^2 + (U_0 + ··· + U_5)^2) was smaller than 0.206 sqrt(I_0 + ··· + I_5 )

0x20000000 : Low V signal; |V_0| + |V_1| + ··· + |V_5| was smaller than 0.206 sqrt(I_0 + ··· + I_5 )

0x40000000 : Low B_los value. |Blos| from magnetogram algorithm was smaller than 6.2 Gauss.

0x80000000 : Missing data

`CONFID_MAP`

, [dimensionless]

The confid_map segment identifies the confidence index of the inversion output. The index value at each pixel will take the integer value from 0 (best) to 6(worst), defined as the highest item number satisfying the following conditions:

0: No issue found in the input Stokes

1: Signals for either of LoS component or transverse component in the input
Stokes were weak.

2: Same as 1.

3: Magnetic field signals of both LoS and transverse component were weak.

4: The ME-VFISV iteration did not converge within the iteration maximum.

In the test data release, we set very small , thus, the confidence ε index at most
pixels may be 4.

5: If the difference between the absolute value of the line-of-sight field strength
derived from magnetogram algorithm and the absolute value of the LoS
component from VFISV inversion |B cos(inclination)| is greater than 500
Gauss, we regard the inversion did not well solve the problem.

6: One (or more) of the 24 input Stokes arrays had NaN value.

The following segments contain standard deviations and correlation coeffients that can be used to determine the error of the vector magnetic field. As described in Section 4 of the AR 11158 Vector Magnetic Field, the calculated variances and covariances are only reliable if the VFISV solution is close to an absolute minimum.

`INCLINATION_ERR`

, [degrees]

`AZIMUTH_ERR`

, [degrees]

`FIELD_ERR`

, [Mx/cm^{2}]

`VLOS_ERR`

, [cm/s]

`ALPHA_ERR`

, [dimensionless]

`FIELD_INCLINATION_ERR`

, [dimensionless]

`FIELD_AZ_ERR`

, [dimensionless]

`FIELD_ALPHA_ERR`

, [dimensionless]

`INCLIN_AZIMUTH_ERR`

, [dimensionless]

`FIELD_ALPHA_ERR`

, [dimensionless]

`INCLINATION_ALPHA_ERR`

, [dimensionless]

`AZIMUTH_ALPHA_ERR`

, [dimensionless]

The following segments are outputs of the disambiguation module:

`DISAMBIG`

, [dimensionless]

The disambig segment identifies the type of disambiguation solution per pixel by setting the following bits (if multiple bits are set, this indicates that the various solutions agree):

bit 1 : set if the minimum energy solution is used

bit 2 : set if the potential fiend solution is used

bit 3 : set if the radial acute solution is used

0 : set if the pixel was not disambiguated

`CONF_DISAMBIG`

, [dimensionless]

The conf_disambig segment identifies agreements between various types of disambiguation solutions by labeling each pixel with the following:

50 : not all solutions agree (weak field method applied)

60 : not all solutions agree (weak field + annealed)

90 : all solutions agree (strong field + annealed)

0 : not disambiguated