Output

class pfsspy.Output(alr, als, alp, grid, input_map=None)

Bases: object

Output of PFSS modelling.

Parameters
• alr – Vector potential * grid spacing in radial direction.

• als – Vector potential * grid spacing in elevation direction.

• alp – Vector potential * grid spacing in azimuth direction.

• grid (Grid) – Grid that the output was caclulated on.

• input_map (sunpy.map.GenericMap) – The input map.

Notes

Instances of this class are intended to be created by pfsspy.pfss, and not by users.

Attributes Summary

 bc B on the centres of the cell faces. bg B as a (weighted) averaged on grid points. bunit Unit of the input map data. coordinate_frame Coordinate frame of the input map. dtime Date and time of the input map. source_surface_br Radial magnetic field component on the source surface. source_surface_pils Coordinates of the polarity inversion lines on the source surface.

Methods Summary

 get_bvec(coords[, out_type]) Interpolate magnetic vectors at arbitrary coordinates. trace(tracer, seeds) Trace magnetic field lines.

Attributes Documentation

bc

B on the centres of the cell faces.

Returns

• br (astropy.units.Quantity) – A nphi, ns, nrho + 1 shaped Quantity.

• btheta (astropy.units.Quantity) – A nphi, ns + 1, nrho shaped Quantity.

• bphi (astropy.units.Quantity) – A nphi + 1, ns, nrho shaped Quantity.

Notes

The three components are not co-located at the same locations. Component n is located on cell faces of constant n, e.g. the r component is located on the cell faces at constant r values.

bg

B as a (weighted) averaged on grid points.

Returns

A (nphi + 1, ns + 1, nrho + 1, 3) shaped Quantity. The last index gives the corodinate axis, 0 for Bphi, 1 for Bs, 2 for Brho. Because the phi dimension is periodic, bg[0, :, :] == bg[-1, :, :].

Return type

astropy.units.Quantity

bunit

Unit of the input map data.

If no metadata is available, returns dimensionless units.

coordinate_frame

Coordinate frame of the input map.

Notes

This is either a HeliographicCarrington or HeliographicStonyhurst frame, depending on the input map.

dtime

Date and time of the input map.

source_surface_br

Radial magnetic field component on the source surface.

Returns

Return type

sunpy.map.GenericMap

source_surface_pils

Coordinates of the polarity inversion lines on the source surface.

Notes

This is always returned as a list of SkyCoord, as in general there may be more than one polarity inversion line.

Methods Documentation

get_bvec(coords, out_type='spherical')

Interpolate magnetic vectors at arbitrary coordinates.

Parameters
• coords (astropy.SkyCoord) – An arbitary point or set of points (length N >= 1) in the PFSS model domain (1Rs < r < Rss).

• out_type (str, optional) – Takes values ‘spherical’ (default) or ‘cartesian’ and specifies whether the output vector is in spherical coordinates (B_r, B_theta, B_phi) or cartesian (B_x, B_y, B_z).

Returns

bvec – (N, 3) shaped Quantity of magnetic field vectors.

Return type

astropy.units.Quantity

Notes

The output coordinate system is defined by the input magnetogram with x-z plane equivalent to the plane containing the Carrington meridian (0 deg longitude)

The spherical coordinates follow the physics convention: https://upload.wikimedia.org/wikipedia/commons/thumb/4/4f/3D_Spherical.svg/240px-3D_Spherical.svg.png) Therefore the polar angle (theta) is the co-latitude, rather than the latitude, with range 0 (north pole) to 180 degrees (south pole)

The conversion which relates the spherical and cartesian coordinates is as follows:

$B_R = sin\theta cos\phi B_x + sin\theta sin\phi B_y + cos\theta B_z$
$B_\theta = cos\theta cos\phi B_x + cos\theta sin\phi B_y - sin\theta B_z$
$B_\phi = -sin\phi B_x + cos\phi B_y$

The above equations may be written as a (3x3) matrix and inverted to retrieve the inverse transformation (cartesian from spherical)

trace(tracer, seeds)

Trace magnetic field lines.

Parameters