create new tag
view all tags

Perturbation Map Generation Deployment

Science Testing Document


  • The input for tracked Dopplergram datacube is the name of the 3D fits file, specified by the prefix -fi. Data of float type is accepted, there are no restrictions on size (subject to memory restrictions). The input FITS file remains unmodified.
  • Data resolution is specified in megameters per pixel using keyword -r.
  • The geometry configuration of the problem, i.e. the set of skip distances and corresponding phase speed filter parameters, are read from the file "GEOconfig.txt"

Optional Inputs

  • Travel time estimation method is specified by the switch -Gabor for Gabor wavelet fitting and -GB for travel time as perturbation to reference cross-correlation function (Gizon-Birch method). If no method is specified, Gizon-Birch method is used as default
  • To include low pass filter in pre-processing use -LP or -LowPass
  • To include difference filter in pre-processing use -DF
  • To include amplitude modulation correction use -AC
  • Annulus thickness is specified using -at in data pixels
  • Prefix for output files can be specified using -fo prefix
  • The default averaging scheme is point to annulus with annulus thickness specified by keyword -at. To switch to point to quadrant averaging use -ns for North-South and -ew for East-West directions.
  • for more options please see documentation

Compilation and Execution:

code uses the following GNU Public License Libraries:

CFITSIO (for reading & writing FITS format files) http://heasarc.gsfc.nasa.gov/docs/software/fitsio/fitsio.html

FFTW (float version, i.e. libfftw3f.a library) http://www.fftw.org/, for Windows: http://www.fftw.org/install/windows.html

GSL (General Scientific Library) http://www.gnu.org/software/gsl/

  • gcc compilation: %gcc -o tt eSDOtt.c filters.c tt_estimate.c crosscorrelation.c -lgsl -lgslcblas -lcfitsio /usr/local/lib/libfftw3f.a -I$(LIBS)/cfitsio/include
  • commandline execution:
    * %./tt -fi fielname.fits -r 1.51815 -Gabor -at 3. -fo prefix
    * %./tt -fi fielname.fits -r 1.51815 -Gabor -at 3. -fo prefix -DF -LP -AC
    * %./tt -fi fielname.fits -r 1.51815 -Gabor -at 3. -fo prefix -DF -LP -AC -xc xcor

AstroGrid workflow

  • AstroGrid workflow instructions:
    • Open AstroGrid workbench and click "Task Launcher"
    • Task Launcher search: perturbation map generation or "Local Helioseismology Perturbation Map Generation"
    • Input:
      • DopplergramInputFile: http://msslxx.mssl.ucl.ac.uk:8080/eSDO/algorithms/PerturbationMap/lat22.5Nlon142.5_start.fits (remote file reference; local, MySpace or URL fits file)
      • spatialResolution: 1.51815 (float)
      • step: 1 (integer)
      • annulusThickness: 3 (integer)
      • method: Gabor (string, choice of "Gabor" or blank, optional)
      • lowPassFilter: LP (string, choice of "LP" or "LowPass", optional)
      • differenceFilter: DF (string, only option "DF", optional)
      • amplitudeModCorrection: AC (string, only option "AC", optional)
    • Output:
      • OutputFile: tt_Gabor_IO_NOAA8038.fits (file reference; MySpace fits file)

Expected Output

  • final output:
    • output for travel_times is a fits file containing travel time differences for the set of skip-distance specified in GEOconfig.txt and selected averaging scheme
    • cross-correlation datacubes can be written into fits files when keyword -xcor or -xc is specified with string prefix
    • if keyword -testoutput is specified, FITS files containing filtered power spectrums will be also written
    • if keyword -geoascii is specified, ascii files containing details of the averaging annuli will be written for each skip-distance

  • current level of completion:
    • the fits file are written without any keywords

  • limitations of algorithm:

Unit Testing

Classes with unit tests:

  • filters.c (contains currently 9 tests)
  • tt_estimate.c (contains currently 12 tests)
  • crosscorrelation.c (contains currently 5 tests)
gcc -Wall ttest.c allTests.c filters.c crosscorrelation.c tt_estimate.c -lgsl -lgslcblas -lcfitsio /usr/local/lib/libfftw3f.a -I$(LIBS)/cfitsio/include -o runtest

Science Test Cases

See PerturbationMapDeploymentResults

Case 1: Soundspeed perturbation underneath isolated sunspot


Estimate soundspeed profile directly underneath a sunspot. The case has been extensively investigated using ray-, Rytov- and Born-approximation kernels (see Kosovichev et al, Couvidat et al, Jensen et al). Recovert of specific soundspeed profile directly underneath sunspot is expected: region of reduced soundspeed extending to up to 5Mm in depth, followed by the region of increased soundspeed.


tracked and derotated Dopplergram (8hr or more) of the region under investigation lat22.5Nlon142.5_start.fits;
Rytov approximation sensitivity kernels and corresponding configuration file
center to annulus averaging scheme should be specified at run-time and Gabor wavelet fitting should be selected as a means of travel time extraction
commandline execution
./tt -fi lat22.5Nlon142.5_start.fits -fo tt_Gabor_IO_NOAA8038 -r 1.518 -s 1 -at 3 -Gabor -LP
The code will produce two files with mean and difference travel time perturbation. For sound speed inversion we are interested in the mean travel-times, which are then used as an input to Local Helioseismology inversion. (see LocalHelioInversion). Rytov approximation sensitivity kernel should be specified at the command line. Sound speed reciprocal is used as a regularisation, with high trade off parameter epsilon (20000) and horizontal regularisation (70). The result will be perturbation map as a function of depth
commandline execution:
./inv -fi tt_Gabor_IO_NOAA8038_mean.fits -fo inv_SS_NOAA8038.fits -ri 1.518 -kr 1.652 -krn kernels/JKernel.fits -eps 20000. -pp 70.


Mean travel-times for selected configuration (3D fits file)
Soundspeed inversion of the travel-times (3D fits file) providing sound speed contrast as a function of position and depth.

Case 2: Soundspeed perturbation as a function of depth for

emerging Active Region


Investigate the appearance of the AR.


tracked and derotated Dopplergram (8hr or more) of the region under investigation;
Born approximation sensitivity kernels and corresponding configuration file
center to annulus averaging scheme should be specified at run-time
Gizon-Birch travel time extraction method should be chosen at run-time
Low Pass filter and Amplitude Modulation correction should applied

commandline execution
./tt -fi 48746_lat07.5Slon015.0_start.fits -fo tt_IO_EAR_NOAA10790 -r 1.518 -s 1 -at 3 -LP -AC

commandline execution (inversion):
./inv -fi tt_IO_EAR_NOAA10790_mean.fits -fo inv_SS_EAR_NOAA10790.fits -ri 1.518 -kr 1.518 -krn kernels/krnSoundSpeed.fits -abk -eps 50. -pp 20.

Expected Output

Mean travel-times for selected configuration (3D fits file)
Inversion of the travel-times Inversion of the travel-times (3D fits file) providing sound speed contrast as a function of position and depth.

Case 3: Estimation of Data Errors


The uncertainty in the travel-time estimates has to be included for best interpretation of the inversion results. The approach is suggested by Jensen et al, 2003 and further developed in Gizon & Birch 2004.


A number of tracked and derotated Dopplergrams (23 or more 8-hour blocks) corresponding to the regions of quiet Sun, i.e. with no magnetic activity. Each is processed using selected skip-distance and phase-speed filter set to obtain maps of mean travel time perturbation. Since there is no signal coming from magnetic activity, each of the maps is taken to be representative of the measurement error in the data.

Expected Output


NOTE: All .fits files have been moved from the attachments table to http://msslxx.mssl.ucl.ac.uk:8080/eSDO/algorithms/PerturbationMap/PerturbationMap.html.

-- ElizabethAuden - 04 Aug 2006

Topic attachments
I Attachment History Action Size Date Who Comment
Texttxt GEOconfig.txt r1 manage 0.3 K 2007-03-02 - 19:08 SergeiZharkov  
Edit | Attach | Watch | Print version | History: r24 < r23 < r22 < r21 < r20 | Backlinks | Raw View | More topic actions
Topic revision: r24 - 2008-01-10 - ElizabethAuden
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback