180-degree ambiguity workshop

Participants only (password required)

Agenda
Day 1 (13:30-)
(at Lecture Room on the 1st floor in the north building) * What is the 180 degree ambiguity of the azimuth angle? (T.J. Okamoto) * How to resolve the azimuth ambiguity - Summary of disambiguation codes (K.D. Leka) - The best automatic disambiguation code developed by NWRA (K.D. Leka) - AZAM (M. Kubo) * Important physical parameters related to the azimuth ambiguity - Current density, constant-alpha of force-free fields, magnetic helicity etc. (T. Magara) - Nonlinear force free field (S. Inoue) Welcome party for KD Leka at the same room at 19:00
Day 2 - Day 3 (morning)
(at Hinode Science Center) Training in the disambiguation of the azimuth angle * Group 1: A flaring active region on 2006/12/12-13 * Group 2: A typical active region including the "Japan" sunspot * Group 3: A regular sunspot with a circular shape
Day 3 (afternoon)
Brief reports from each group
Level-2 data
 file='sprst.fits'

 sotsp_read_rst,file,index,data,idata,coordinates,time,slitpos $
   ,par_type=par_type,par_unit=par_unit $
   ,ipar_type=ipar_type,ipar_unit=ipar_unit,straylight=straylight,read_level=2
  • strength: data[*, *, 0]
  • inclination: data[*, *, 1]
  • azimuth: data[*, *, 2]
  • stray light: data[*, *, 11]
You can find information of the array "data" with the array "par_type" (and "par_unit").

How to use AZAM
This is simplified description.
Please find AZAM beta manual prepared by Kubo-san for detailed information.

Add /nfs/share/soft_develop/sot/sp/sot_azam_beta/ in your IDL_PATH (for example, in your .cshrc file),
and you get to use sot_azam_beta.
 sot_azam_beta

; Push the button "MEKSY (LEVEL2 FORMAT)".
; Then select a sprst_****.fits you will solve.
; Paint it and save the solution.

 restore, 'azam_result200704301246.sav'
 azm = azamout.los_azm

How to use Hawaii current codes
First, login to "sinano", and execute two commands on the same terminal.
 ssh sinano

 source /opt/intel/fce/9.1.043/bin/ifortvars.csh
 setenv LD_LIBRARY_PATH /opt/intel/mkl/10.1.1.019/lib/em64t:$LD_LIBRARY_PATH

Copy and untar a file "ambig.tgz" at /nfs/work/joten/180ambiguity/ to your working directory.
Then overwrite "makefile" from /nfs/work/joten/180ambiguity/kdcode/makefile.
Copy also a Level-2 data file you will solve.
 cd /nfs/scr1/hogehoge/ambig/
 cp /nfs/work/joten/180ambiguity/ambig.tgz .
 tar zxvf ambig.tgz
 cp /nfs/work/joten/180ambiguity/kdcode/makefile .

From here, the simplest example is shown.
Please ask KD or find README and manual prepared by KD if you know more detailed information.

Rewrite the filename in "par" file.
sprst.fits
   2       1      0                       irflag   ibflag   iaflag
  200     100                             npad     nap
 4.e2                                     bthresh
   1       0      0                       iaunit   ipunit   incflag
   1       0     10                       iseed    iverb    neq
  1.      2.    0.990                     lambda   tfac0    tfactr
   2       3      4     13    33            jfs      jfi      jfa     jsf   jci

Then, execute makefile and calculate the ambiguity.
 make

 ./ambig

"azimuth.dat" is created in the same directory when the program is successfully done.

This is an ascii file. You can read it in any style.
 azm = fltarr(512,512)
 nx = n_elements(azm[*,0])
 ny = n_elements(azm[0,*])
 openr,1,'azimuth.dat'
 readf,1,azm
 close,1

How to draw vector magnetograms
Coordinates for observers --> Local frame on the solar surface
  • strength: data[*, *, 0]
  • inclination: data[*, *, 1]
  • azimuth: azm
  • fits header: index
  • solar radius is assumed to be 960 arcsec
 theta=asin(index.xcen/960.0) ; Longitude
 phi=asin(index.ycen/960.0)   ; Latitude

 tmp_bx = data[*,*,0] * sin(data[*,*,1] * !pi/180.) * cos(azm * !pi/180.)
 tmp_by = data[*,*,0] * sin(data[*,*,1] * !pi/180.) * sin(azm * !pi/180.)
 tmp_bz = data[*,*,0] * cos(data[*,*,1] * !pi/180.)

 tmp2_bx = tmp_bx * cos(theta) - tmp_bz * sin(theta)
 tmp2_bz = tmp_bx * sin(theta) + tmp_bz * cos(theta)

 bx = tmp2_bx
 by = tmp_by * cos(phi) - tmp2_bz * sin(phi)
 bz = tmp_by * sin(phi) + tmp2_bz * cos(phi)



One example of drawing vector magnetograms (joten ver.)
  • Color contour as vertical magnetic fields
  • Arrows as horizontal fields

; To neglect region with small filling factor (= 1 - stray light fraction)
 conf = (data[*,*,11] lt 0.98) * 1.0

; To thin drawn arrows (512 --> 64)
 bx1 = rebin(bx * conf, 64, 64)
 by1 = rebin(by * conf, 64, 64)

; For uniform arrows. Maximum length is set to be 2000*sqrt(2) Gauss.
 bx1[63,63] = 2000
 by1[63,63] = 2000

 jbr4 ;(Find /home/joten/lib/jbr4.pro if you like to use this color table)
 plot_image, (bz * conf) <2000>(-2000), min=-2020, max=2020
 velovect, bx1, by1, indgen(64)*8+4, indgen(64)*8+4, /over, color=0, missing=2000*sqrt(2.0)+1, length=5, thick=1 

; Polarity inversion line if necessary
 bz1 = smooth(bz * conf, 10, /edge)
 contour, bz1, level=[0], /over, color=0, thick=1


; Optional
; Please multiply "bz" by "filling factor" if you know total magnetic flux
 plot_image, (bz * (1 - data[*,*,11]) * conf) <2000>(-2000), min=-2020, max=2020


Group 1
Theme: A flaring active region on 2006/12/12-13


Member:
  • S. Inoue (JAMSTEC)
  • T. Magara (NAOJ)
  • K. Watanabe (ISAS)
  • Y. Kato (ISAS)
  • S. Morita (Kyoto Univ.)

References:

Group 2
Theme: A typical(?) active region including the "Japan" sunspot
            - sunspot with light bridges
            - plage
            - flux cancellation region below the filament
            (- emerging flux region)

Member:
  • T. J. Okamoto (NAOJ)
  • H. Watanabe (Kyoto Univ.)
  • T. Shimizu (ISAS)
  • T. Anan (Kyoto Univ.)
  • D. Orozco Suarez (NAOJ)
  • K. Ueda (Univ. Tokyo)
  • S. Tsuneta (Boss)

References:

Group 3
Theme: A regular sunspot with a circular shape
            - center to limb variation
            - dependence of the pixel scale

Member:
  • M. Shimojo (NAOJ)
  • Y. Iida (Univ. Tokyo)
  • R. Ishikawa (NAOJ)
  • H. Ito (Nagoya Univ.)
  • R. Kano (NAOJ)
  • Y. Suematsu (NAOJ)