HMI, Photospheric Flows and ILCT
Brian Welsch, George Fisher, Yan Li, &
the UCB/SSL MURI & CISM Teams
HMI Team Mtg., 2006 M3: Mag Data Products
Velocity inversions generate a 2D map v(x1,x2)
from one 2D image, f1(x1,x2), to another, f2(x1,x2).
The map depends upon:
1. the difference f(x1,x2) = f2(x1,x2) – f1(x1,x2)
2. assumption(s) relating v(x1,x2) to f/t, e.g.:
– continuity equation, f/t + t(vtf) = 0, or
– advection equation, f/t + (vtt)f = 0, etc.
Based on the assumption chosen, v(x1,x2) is not necessarily
velocity – e.g., group velocity of interference patterns.
Local correlation tracking (LCT) finds v(x1,x2) by
correlating subregions; it assumes advection.
4) v(xi, yi) is inter-
1) for ea. (xi, yi) 2) apply Gaussian 3) truncate and polated max. of
above |B|threshold… mask at (xi, yi) … cross-correlate… correlation funct
16 Feb 2006 HMI+AIA, M3: Mag Data Products 3
Demoulin & Berger (2003) argued that LCT applied to
magnetograms does not necessarily give plasma velocities.
The apparent motion of
flux on the photosphere,
uf, is a combination of
horizontal flows and
vertical flows acting on
uf vnBh-vhBn is the flux transport velocity
• uf is the apparent velocity (2 components)
• v is the actual plasma velocity (3 comps)
The magnetic induction equation’s normal
component relates velocities to dBn/dt.
Bn/t = h(vnBh-vhBn) = -h(ufBn)
• In fact, -h(uLCTBn) only approximates Bn/t, so
• Inductive LCT (ILCT) finds uf that matches Bn/t
exactly and closely matches uLCT.
• Writing ufBn = -h + h x( n), we find
– via Bn/t = h2
– by assuming uf = uLCT, so h2 = - h x( uLCTBn)
16 Feb 2006 HMI+AIA, M3: Mag Data Products 5
Doppler shifts ( vn) can’t distinguish between flows paral-
lel to B, perpendicular to B, or in an intermediate direction.
• Since Bn/t = x (v x B), flows v|| along B do not affect
Bn/t, so “inductive flow” methods only determine v.
• Once v is known, the measured Doppler shift allows
determination of v||.
Aside: fundamentally, two components of uf(x1,x2) cannot
determine three components of plasma velocity, v(x1,x2).
• Hence, other velocity fields v(x1,x2)
consistent with Bn/t can be found.
• Other techniques available include:
– Minimum Energy Fit (MEF, Longcope, 2004)
– Differential LCT (DLCT) & Differential Affine
Velocity Estimator (DAVE) (Schuck, 2006)
16 Feb 2006 HMI+AIA, M3: Mag Data Products 7
The FLCT code’s current version combines pro-
grams written in IDL & C, and open source code.
3. Standard C library routines: stdio.h, stdlib.h, math.h
4. Fastest Fourier Transform in the West (FFTW), v. 3.0
The executable has been compiled & tested on several architectures.
Matching HMI’s 10-minute vector magnetogram
cadence will be challenging.
• HMI has Npix ~ 107 pixels within 60o of disk center.
- MDI’s 10242 HMI’s 40962 x 16
- MDI, w/in ~30o HMI, w/in ~60o x 2.5
• We track pixels with |Bn| > |B|thresh = 20G
~ 25% of Npix at solar max.
~ 5% of Npix at solar min.
• FLCT speed is ~linear in Npix correlated.
- t ~ (1 sec/100 pix) x (2.5 x 106 pix) ~ 2.5 x 104 sec ~ 7 hr!
- at solar min., w/ |B|thresh = 100G (~1% of Npix), t ~ 20 min.
Velocity estimates work from difference
images, so temporal artifacts must be removed.
images of BLOS in
AR 9026, with a
~4 min. cadence,
16 Feb 2006 HMI+AIA, M3: Mag Data Products 10
Accurate velocity estimates also require
deprojection of full-disk magnetograms.
• Away from disk center, flows with a component
along LOS are foreshortened by curvature of the
• Conformal deprojections, e.g., Mercator, locally
preserve angles; scales are distorted, but easily fixed.
• This is optimal for tracking, since neither flow
component is biased by the deprojection.
• (Apparent changes in lengths perpendicular to the
LOS from center-to-limb are negligible.)
FLCT was initially tested using a known image.
We found FLCT could accurately reconstruct the imposed flow.
FLCT was also tested on magnetograms with imposed
differential rotation – again, recovering the input flow.
White dots are imposed differential rotation profile; red dots are raw velocities from
Mercator projection; green are properly rescaled; white diamonds are latitudinally
binned averages of green dots.
16 Feb 2006 HMI+AIA, M3: Mag Data Products 13
We have implemented a preliminary, automated
“Magnetic Evolution Pipeline” (MEP).
• cron checks for new magnetograms with wget
• New magnetograms are downloaded, deprojected, and
tracked using FLCT.
• The output stream includes deprojected m-grams, FLCT
flows (.png graphics files & ASCII data files), and
• Full documentation & all codes are on line.
16 Feb 2006 HMI+AIA, M3: Mag Data Products 14
Several performance-enhancing modifications to
FLCT were implemented and more are planned.
• Sub-pixel interpolation was made more efficient.
• Correlation is now accomplished by spawning a C
subroutine that employs FFTW.
• FLCT is readily parallelizable; we envision this “soon.”
• Computing velocities in neighborhoods, as opposed to
each pixel, is another way to increase speed.
16 Feb 2006 HMI+AIA, M3: Mag Data Products 15
• Accurate flow estimates will require
– deprojection of full-disk magnetograms, and
– careful temporal filtering.
• Matching planned data cadences will be
– find v(x1,x2) on tiles, not every pixel
– more restricitve |Bn| thresholding
• Essential tools for an LCT pipeline are in place.
16 Feb 2006 HMI+AIA, M3: Mag Data Products 16
• Démoulin & Berger, 2003: Magnetic Energy and Helicity Fluxes at the Photospheric
Level, Démoulin, P., and Berger, M. A. Sol. Phys., v. 215, # 2, p. 203-215.
• Longcope, 2004: Inferring a Photospheric Velocity Field from a Sequence of Vector
Magnetograms: The Minimum Energy Fit, ApJ, v. 612, # 2, p. 1181-1192.
• Schuck, 2005: Tracking Magnetic Footpoints with the Magnetic Induction Equation, ApJ
• Welsch et al., 2004: ILCT: Recovering Photospheric Velocities from Magnetograms by
Combining the Induction Equation with Local Correlation Tracking, Welsch, B. T.,
Fisher, G. H., Abbett, W.P., and Regnier, S., ApJ, v. 610, #2, p. 1148-1156.
16 Feb 2006 HMI+AIA, M3: Mag Data Products 17
“It would be great if you can talk about your ILCT method/ code
during the session. Because this session is ‘data products’ session,
… briefly summarize your algorithm first, and then focus on
addressing following issues:
1. Nature of the codes (Language, etc);
2. Additional supporting software (IDL, MATHLIB, ...);
3. Computational requirements (run time estimate, system
4. Requirements for the input data & format of the output products;
5. Potential challenges, test procedures, target date for completion
of codes, etc...
Time is 15 minutes, but … leave 5 minutes for further discussion.”