Skeleton#
- class synthesizAR.Skeleton(strands)[source]#
Bases:
objectConstruct magnetic field skeleton fieldlines
- Parameters:
strands (
listofStrandobjects) – List of objects containing the information about each strand in the magnetic skeleton.
Examples
>>> import synthesizAR >>> import astropy.units as u >>> strand = synthesizAR.Strand('strand', SkyCoord(x=[1,4]*u.Mm, y=[2,5]*u.Mm, z=[3,6]*u.Mm, frame='heliographic_stonyhurst', representation_type='cartesian'), [1e2,1e3] * u.G) >>> field = synthesizAR.Skeleton([strand,])
Attributes Summary
Coordinates for all stands in the skeleton.
Coordinates for all grid cell centers of all strands in the skeleton
Cross-sectional areas for all strands concatenated together.
Widths for all strands concatenated together
Methods Summary
configure_loop_simulations(interface, **kwargs)Configure hydrodynamic simulations for each strand object
from_asdf(filename)Restore a
Skeletoninstance from an ASDF filefrom_coordinates(coordinates[, field_strengths])Construct
Skeletonfrom list of coordinates and field strengthsget_chromosphere_mask(footpoint_height)Returns result of
synthesizAR.Strand.get_chromosphere_maskfor all strands in skeleton.load_loop_simulations(interface[, filename, ...])Load results from hydrodynamic results.
peek(**kwargs)Plot strand coordinates on the solar disk.
refine_strand(strand, delta_s, **kwargs)refine_strands(delta_s, **kwargs)Interpolate strand coordinates and field strengths to a specified spatial resolution and return a new
Skeletonobject.to_asdf(filename)Serialize this instance of
Skeletonto an ASDF fileAttributes Documentation
- all_coordinates#
Coordinates for all stands in the skeleton.
Note
This should be treated as a collection of points and NOT a continuous structure.
- all_coordinates_centers#
Coordinates for all grid cell centers of all strands in the skeleton
Note
This should be treated as a collection of points and NOT a continuous structure.
- all_cross_sectional_areas#
Cross-sectional areas for all strands concatenated together.
Note
These are the cross-sectional areas evaluated at the center of the strand.
- all_widths#
Widths for all strands concatenated together
Methods Documentation
- configure_loop_simulations(interface, **kwargs)[source]#
Configure hydrodynamic simulations for each strand object
- classmethod from_asdf(filename)[source]#
Restore a
Skeletoninstance from an ASDF fileExamples
>>> import synthesizAR >>> restored_field = synthesizAR.Skeleton.from_asdf('/path/to/skeleton.asdf')
- classmethod from_coordinates(coordinates, field_strengths=None, **kwargs)[source]#
Construct
Skeletonfrom list of coordinates and field strengths
- get_chromosphere_mask(footpoint_height: Unit('Mm'))[source]#
Returns result of
synthesizAR.Strand.get_chromosphere_maskfor all strands in skeleton.
- load_loop_simulations(interface, filename=None, parallelize=False, emission_model=None)[source]#
Load results from hydrodynamic results.
- Parameters:
interface (model interface object) – Interface to the hydrodynamic simulation from which to load the results
filename (
stror path-like) – Path tozarrstore to write hydrodynamic results toparallelize (
bool) – If True and adistributed.Clientexists, load loop simulations in parallel.emission_model (
synthesizAR.atomic.EmissionModel) – Emission model that specifies the ions used in the emission modeling process. This can be optionally specified in order to load the time-dependent ionization fractions for some models.
- refine_strands(delta_s: Unit('cm'), **kwargs)[source]#
Interpolate strand coordinates and field strengths to a specified spatial resolution and return a new
Skeletonobject.This can be important in order to ensure that an adequate number of points are used to represent each fieldline when binning intensities onto the instrument grid.