Tracing Part of the Milky Way's Vestigial Nuclear Jet
Author
Gerald Cecil
Title
Tracing Part of the Milky Way's Vestigial Nuclear Jet
Description
Visualizing some of the Milky Way center's structures in 3D with Mathematica
Category
Academic Articles & Supplements
Keywords
Milky Way galaxy, black holes, jet, astrophysics
URL
http://www.notebookarchive.org/2022-01-2sqijsy/
DOI
https://notebookarchive.org/2022-01-2sqijsy
Date Added
2022-01-06
Date Last Modified
2022-01-06
File Size
144.34 kilobytes
Supplements
Rights
Redistribution rights reserved



This file contains supplementary data for Gerald Cecil, Alexander Y. Wagner, Joss Bland-Hawthorn, Geoffrey V. Bicknell and Dipanjan Mukherjee, “Tracing the Milky Way’s Vestigial Nuclear Jet,” The Astrophysical Journal, 922(2), 2021 254. https://doi.org/10.3847/1538-4357/ac224f.
Tracing Part of the Milky Way’s Vestigial Nuclear Jet
Tracing Part of the Milky Way’s Vestigial Nuclear Jet
Gerald Cecil
Several plasma streams orbit rapidly around the multi-million solar mass black hole at the center of our Milky Way Galaxy. Keplerian orbits of the streams had been established by proper motion and radial velocity measurements at the JVLA. I coded this notebook piecemeal to understand the 3D geometry, and to work out the spread in orientations in space of a bilinear radio jet that on one side could intersect the stream that shows a stubby linear X-ray jet-like feature. From this I was able to confirm the counter-jet in molecular gas that I found in archival ALMA data-cubes.
In[]:=
(*there'snothingliterateaboutthisprogram,I'maMathematicanovice.*)
In[]:=
(*ThischunkisMODIFIEDfromblog.wolfram.com/2013/08/21/visualizing-our-place-in-the-milky-way-galaxy-with-mathematica/*)(*UnitConvert[Quantity[0.0092,"Parsecs"],"AstronomicalUnit"]*)(*1" = 0.04 pc so accretion disk outer edge @ 0.23"fromALMA=0.009pc=1900AU*)(*UnitConvert[Quantity[0.0410^-3,"Parsecs"],"AstronomicalUnit"]*)
In[]:=
Clear["Global`*"]
In[]:=
mat=RotationMatrix[-327.Degree,{0,0,1}].RotationMatrix[-62.6Degree,{1,0,0}].RotationMatrix[-282.25Degree,{0,0,1}];mat1=mat.RotationMatrix[16.Degree,{1,-1,-1}];
In[]:=
s=50.;toly=3.26152;sagacoords={8172toly,17.761124`8.,-29.00775`6.};
In[]:=
CoordinatesToSpherical[coords_]:={#〚1〛Cos[15#〚2〛Degree]Sin[#〚3〛Degree+π/2],#〚1〛Sin[15#〚2〛Degree]Sin[#〚3〛Degree+π/2],-#〚1〛Cos[#〚3〛Degree+π/2]}&@coords
In[]:=
sagapoint=CoordinatesToSpherical@sagacoords;
In[]:=
f1[x_,m_]:=Graphics3D@GeometricTransformation[x,Inverse@m];ff[x_,m_:mat1]:=GeometricTransformation[GeometricTransformation[x,Inverse@m],TranslationTransform@sagapoint];
In[]:=
cart:={r(Cos[ω+ν]Cos[Ω]-Sin[ω+ν]Sin[Ω]Cos[i]),r(Cos[ω+ν]Sin[Ω]+Sin[ω+ν]Cos[Ω]Cos[i]),rSin[ω+ν]Sin[i]+.0001};$Elliptic:=rCos[ν]a(Cos[Ε]-e),rSin[ν]a(Ε-eSin[Ε]),ΕKepler[];Kepler[Ε_]:=M+eSin[Ε];Ε[M_,e_]=Nest[Kepler,M,4];(*Reference[opts___]:=With[{R="Radius"/.{opts}/."Radius"GoldenRatio},{Line[{{0,0,0},{R,0,0}}],Opacity[.5],Polygon[{{-R,-R,0},{-R,R,0},{R,R,0},{R,-R,0},{-R,-R,0}}]}];*)Planet[{c_,l_,h_,a_,e_,i_,ω_,Ω_,M_},opts___]:={"Color"/.{opts}/."Color"Blue,Sphere[xyz[a,e,i,ω,Ω,M],"Radius"/.{opts}/."Radius".1]};Orbit[{c_,l_,h_,a_,e_,i_,ω_,Ω_,M_},opts___]:={Thickness[.01],c,Opacity@M,Line[Table[XYZ[a,e,i,ω,Ω,Ε],{Ε,l,h,π/33}]]};Geometry[{c_,l_,h_,a_,e_,i_,ω_,Ω_,M_},opts___]:={Line[{{XYZ[a,e,i,ω,Ω,0],XYZ[a,e,i,ω,Ω,180°]}(*a*),{XYZ[a,e,i,ω,Ω,90°],XYZ[a,e,i,ω,Ω,270°]}(*b*),{XYZ[a,e,i,ω,Ω,0°],XYZ[a,e,i,ω,Ω,90°]}}]};Body[{c_,M_,l_,h_,a_,e_,i_,ω_,Ω_},opts___]:={Planet[#,opts],Orbit[#,opts](*,Plane[#,opts],Geometry[#,opts]*)}&[{c,l,h,a,e,i,ω,Ω,M}];Star[opts___]:={Yellow,Ellipsoid[{0,0,0},{6,0.15"Radius"/.{opts}/."Radius".1,6}]};xyz=Function[{a,e,i,ω,Ω,M},TrigExpand[cart]/.$Elliptic/.ΕΕ[M,e]//Evaluate];XYZ=Function[{a,e,i,ω,Ω,Ε},TrigExpand[cart]/.$Elliptic//Evaluate];
1-
Sin[Ε],t-t02
e
1
n
In[]:=
n=1000;x1=RandomVariate[NormalDistribution[],n];x2=RandomVariate[NormalDistribution[],n];x3=0.7RandomVariate[NormalDistribution[],n];c=2800RandomReal[{0,1},n]^(1./3.);cluster=Graphics3D[{White,Point@Table[{x1〚i〛c〚i〛,x2〚i〛c〚i〛,x3〚i〛c〚i〛},{i,n}]},BackgroundBlack,BoxedFalse];
In[]:=
(*Nowmakeuncertaintyspreadsofeachnuclearmini-spiralarc'sorbitalelementsusingTable5ofZhaoetal2009ApJ699*)northern=Flatten@Table[Body[{Blue,0.01(1-da/182.)(1-de/0.2)(1-di/20.)(1-dp/80.)(1-dl/56.),-2,0.8,(205+da)q,0.83+de,(139+di)/x,(132+dp)/x,(64+dl)/x}],{da,-91,91,91/2.},{de,-0.1,0.1,0.1/2},{di,-10,10,10/2},{dp,-40,40,40/2},{dl,-28,28,28/2}];(*distancesinkAU,xconvertsdegstoradians*)eastern=Flatten@Table[Body[{Green,0.01(1-da/280.)(1-de/0.1)(1-di/10.)(1-dp/16.)(1-dl/22.),1.35π,2.15π,(289+da)q,0.82+de,(122+di)/x,(-280+dp)/x,(-42+dl)/x}],{da,-140,140,140/2},{de,-0.05,0.05,0.05/2},{di,-5,5,5/2.},{dp,-8,8,8/2},{dl,-11,11,11/2.}];western=Flatten@Table[Body[{Red,0.01(1-da/24.)(1-de/0.3)(1-di/6.)(1-dp/96.)(1-dl/12.),-3.75,-0.6,(236+da)q,0.2+de,(117+di)/x,(22+dp)/x,(71+dl)/x}],{da,-12,12,12/2},{de,-0.15,0.15,0.15/2},{di,-3,3,3/2.},{dp,-48,48,48/2},{dl,-6,6,6/2}];
In[]:=
(*theirGaussianuncertaintiesareapproximatedbytriangledistributionsforspeed*)
In[]:=
(*meanorbitalelementsw/ospreads*)aN=Body[{Blue,0.4,-2,0.8,(205+0)q,0.83+0,(139+0)/x,(132+0)/x,(64+0)/x}];aE=Body[{Green,0.4,1.35π,2.15π,(289)q,0.82,(122)/x,(-280)/x,(-42)/x}];(*neb=Body[{White,1.65π,1.75π,(289)q,0.82,(122)/x,(-280)/x,(-42)/x,1}];*)aW=Body[{Red,0.4,-3.75,-0.6,(236)q,0.2,(117)/x,(22)/x,(71)/x}];
In[]:=
s=70.;ss=2200.;s1=1.4;CMZm=m.RotationMatrix[45Degree,{1,0,0}];CMZ=f1[First@RevolutionPlot3D[{1000s/2(5.9+5.6Cos@t),2000s/2Sin@t},{t,0,2π},{θ,0,π},MeshFalse,BoxedFalse,PlotStyleOpacity@0.4,LightingAutomatic],CMZm];m=RotationMatrix[0.,{0,0,1}].RotationMatrix[5.15,{1,0,0}].RotationMatrix[1.72(*1.96*),{0,0,1}];(*putsredofminispiralinCNDplane*)a=f1[First@RevolutionPlot3D[{8000+2500Cos@t,4004Sin@t},{t,0,2π},MeshFalse,PlotStyle{Lighter@Lighter@Yellow,Opacity@0.6}],m];a1=f1[First@RevolutionPlot3D[{8000+2500Cos@t,25004Sin@t},{t,0,2π},MeshFalse,PlotStyle{Lighter@Lighter@Yellow,Opacity@0.2}],m];qa=f1[First@RevolutionPlot3D[1.75t-4500,{t,7800/1.3,20000},MeshFalse,PlotStyle{Lighter@Lighter@Blue,Opacity@0.15}],m];qb=f1[First@RevolutionPlot3D[4500-1.75t,{t,7800/1.3,20000},MeshFalse,PlotStyle{Lighter@Lighter@Blue,Opacity@0.4}],m];p1=f1[First@RevolutionPlot3D[{s/2(2+9Cos@t),s/2Sin@t},{t,0,2π},MeshFalse,BoxedFalse],jetm];p0=f1[First@RevolutionPlot3D[{s/2(1+Cos@t),sSin@t},{t,0,2π},MeshFalse,BoxedFalse],jetm];miniSpiral=Graphics3D[{Star["Radius"1],northern,eastern,western},ImagePaddingNone,AxesTrue];miniSpiral1=Graphics3D[{Star["Radius"1],aN,aE,aW},ImagePaddingNone,AxesTrue,Method->{"ShrinkWrap"->True}];miniSpiral2=Graphics3D[{Star["Radius"1],aN,eastern,aW},ImagePaddingNone,AxesTrue,Method->{"ShrinkWrap"->True}];q=20.;x=180./π;
In[]:=
fred[aa_,bb_,cc_,dd_]:={(*CMZ1=f1[First@RevolutionPlot3D[{1000s/2(5.9+5.6Cos@t),2000s/2Sin@t},{t,2.5,3.05},{θ,0.7,0.9},Mesh180,BoxedFalse,PlotStyleOpacity@1],CMZm];*)anomalyA=f1[First@RevolutionPlot3D[{8000+2500Cos@t,30004Sin@t},{t,π/21.75,π},{θ,1.5,2.5},MeshFalse,PlotStyle{Lighter@Lighter@Yellow,Opacity@0.8}],m];anomalyC=f1[First@RevolutionPlot3D[{8000+2500Cos@t,30004Sin@t},{t,π/21.1,π0.94},{θ,0.4,0.8},MeshFalse,PlotStyle{Lighter@Lighter@Yellow,Opacity@0.6}],m];jetm=RotationMatrix[0Degree,{1,cc,1}].RotationMatrix[(aa)Degree,{1,0,0}].RotationMatrix[bbDegree,{0,1,0}];jetmm=RotationMatrix[-ddDegree,{1,cc,1}].RotationMatrix[(aa-cc)Degree,{1,0,0}].RotationMatrix[bbDegree,{0,1,0}];jetmp=RotationMatrix[ddDegree,{1,cc,1}].RotationMatrix[(aa+cc)Degree,{1,0,0}].RotationMatrix[bbDegree,{0,1,0}];pp1=First@RevolutionPlot3D[{(0.2s(t-π)),40s(t-π/2.5)},{t,0,2π},MeshFalse,PlotStyleWhite];jet=f1[pp1,jetm];mjet=f1[pp1,jetmm];pjet=f1[pp1,jetmp];pp2=First@ParametricPlot3D[{u/3Sin[u/2],u/3Cos[u/2],1.622u},{u,-70,550}];Bfield=f1[pp2,jetm];mBfield=f1[pp2,jetmm];pBfield=f1[pp2,jetmp];q0=Show[{(*qa,*)qb,cluster,a,a1,jet,mjet,pjet,Bfield,mBfield,pBfield,p0,p1,miniSpiral1,anomalyC,anomalyA},PlotRangeAll,BackgroundBlack,BoxedFalse,AxesFalse,ImageSize900,ViewProjection"Orthographic"](*q4=Show[{miniSpiral1,jet,mjet,pjet,p0,p1,a},ImageSize800,ViewProjection"Orthographic"]*)}(*Manipulate[fred[aa,bb,cc],{aa,46,49},{bb,89,95},{cc,-3.1,10}]*)
In[]:=
fred[35,80,-6,23.];ggg=Graphics3D[{White,Point[{9000,0,0}]}];(*neededtoshowfullimage*)miniSpiral3={jet,pjet,mjet,Bfield,mBfield,pBfield,miniSpiral1};miniSpiral4={Bfield,mBfield,pBfield,miniSpiral2};miniSpiral5={jet,pjet,mjet,Bfield,mBfield,pBfield,miniSpiral};fq=True;
In[]:=
Rotate[Show[miniSpiral3,ViewPoint{0,0,-Infinity},BoxedTrue],59Degree](*ourisometricvieworientationRA&Dec*)
Out[]=
In[]:=
stereo3D[graphics_Graphics3D]:=stereo3D[][graphics]stereo3D[opts:OptionsPattern[Show]][graphics_Graphics3D]:=DynamicModule[{myplot,point={1.3,-2.4,2},angle=35`°,vertical={0,0,1},center=Automatic},myplot[pt_]:=Framed[Show[graphics,opts,ViewPoint->pt,ViewAngle->Dynamic[angle],ViewVertical->Dynamic[vertical],ViewCenter->Dynamic[center]],FrameStyle->LightGray];Grid[{{myplot[point//Dynamic],myplot[RotationMatrix[-5°,vertical].point//Dynamic]}}]]
In[]:=
miniSpiral1//stereo3D[ImageSize->300,Axes->False](*2testsofinteractivecross-eyedstereoplots*)
Out[]=
In[]:=
(*stereo[expr_]:=DynamicModule[{vp={1.3,-2.4,2.0},vv={0.,0.,2.0},plot},plot=expr;GraphicsRow[{Show[plot,ViewPoint->Dynamic[vp+{.4,0,0},None],ViewVertical->Dynamic[vv,None],RotationAction->"Clip"],Show[plot,ViewPoint->Dynamic[vp,Temporary],ViewVertical->Dynamic[vv,Temporary],RotationAction->"Clip"]},ImageSize->600]]miniSpiral1//stereo*)(*thisworkstoo*)
In[]:=
Rasterize@Rotate[Show[miniSpiral5,ViewPoint{0,-Infinity,0},Boxedfq],-90Degree](*fulluncertaintyspread,sideview*)
Out[]=
In[]:=
Rotate[Show[miniSpiral4,ViewPoint->{0,-Infinity,0},Boxedfq],-90Degree](*justmeanorbitalelements,sideview*)
Out[]=
In[]:=
Rasterize@Rotate[Show[miniSpiral5,ViewPoint{0,-Infinity,0},PlotRange{Automatic,{-1260,-1150},Automatic},Boxedfq],-90Degree](*jet-orbitintersectionspreadsmarginalizedbyon-skylimits(thePlotRange)withsideview*)
Out[]=
In[]:=
anomalyC=f1[First@RevolutionPlot3D[{8000+2500Cos@t,30004Sin@t},{t,π/21.1,π0.94},{θ,0.8π,π},MeshFalse,PlotStyle{Lighter@Lighter@Yellow,Opacity@0.6}],m];
In[]:=
ourView=Show[{miniSpiral3,mBfield,Bfield,pBfield,p0,p1,a,cluster,anomalyC,a1},BackgroundBlack,ViewPoint{0,0,-Infinity},BoxedFalse];
In[]:=
ImageRotate[ourView,59Degree]
Out[]=
In[]:=
sideView=Show[{miniSpiral3,mBfield,Bfield,pBfield,p0,p1,a,cluster,anomalyC,a1},BackgroundBlack,ViewPoint{0,-8000,6000},BoxedFalse](*mustrotatethisinteractivelytogetthegeometrycorrect*)
Out[]=
In[]:=
topView=Show[{miniSpiral3,mBfield,Bfield,pBfield,p0,p1,a,cluster,anomalyC,a1},BackgroundBlack,ViewPoint{-Infinity,0,0},BoxedFalse](*mustrotatethisinteractivelytogetthegeometrycorrect*)
Out[]=
Here I plot 3D large-scale views of the MW and its Fermi/eROSITA bubbles ...
Here I plot 3D large-scale views of the MW and its Fermi/eROSITA bubbles ...
In[]:=
warp=10000.;(*RevolutionPlot3D[warpTan[t/50000.]Cos@θ,{t,(-π/2+0.3)50000.,50000.(π/2-0.3)},{θ,0,2π},MeshFalse,PlotStyleDirective[Blue,Opacity@0.2]];*)(*initimage=Import["http://upload.wikimedia.org/wikipedia/commons/0/09/Milky_Way_2005.jpg"];img=ImagePad[ImageResize[ImageTake[ImageRotate[initimage,90Degree],{50,1300},{50,1300}],{256,256}],32];*)imagedata=ImageData@ImagePad
,32;texture=Reverse/@(Reverse@imagedata);max=Max@Map[Norm,imagedata,{2}];imagedata2=Map[Append[#,3(Norm[#]/max)^3]&,imagedata,{2}];texture=Reverse/@(Reverse@imagedata2);
In[]:=
(*suncoords={AstronomicalData["Sun","DistanceLightYears"],AstronomicalData["Sun","RightAscension"],AstronomicalData["Sun","Declination"]};sunpoint=QuantityMagnitude@CoordinatesToSpherical@suncoords*)
In[]:=
sunpoint={0.0000158095518162945`2.9999998784297985,3.632733021056`2.999771072752673*^-7,1.048229255472017485844456532466`2.9994711321659113*^-8};
In[]:=
(*LMC=GalaxyData["LargeMagellanicCloud"];LMCdist=QuantityMagnitude@First@First[AstronomicalData[#,"DistanceLightYears"]&/@LMC];LMCra=First@First[AstronomicalData[#,"RightAscension"]&/@LMC];LMCdec=First@First[AstronomicalData[#,"Declination"]&/@LMC];LMCdata={LMCdist,LMCra,LMCdec};LMCdata={LMCdist,5+23/60.+36/3600.,-69-45/60.-22/3600.};LMCpoints=CoordinatesToSpherical@LMCdata;*)
In[]:=
LMCpoints={151822.2576473105782129441`3,59219.9927397561758994074`3,-3463.3138432533752909624`3};Norm@LMCpoints/toly
Out[]=
49976.7
In[]:=
(*SMC=GalaxyData["SmallMagellanicCloud"];SMCdist=QuantityMagnitude@First@First[AstronomicalData[#,"DistanceLightYears"]&/@SMC];SMCra=First@First[AstronomicalData[#,"RightAscension"]&/@SMC];SMCdec=First@First[AstronomicalData[#,"Declination"]&/@SMC];SMCdata={0.9SMCdist,SMCra,SMCdec};SMCdata={0.9SMCdist,52/60.+45/3600.,-72-49/60.-43/3600.};SMCpoints=CoordinatesToSpherical@SMCdata;*)
In[]:=
SMCpoints=1.38{136640.03188257953`,53297.99346578056`,-3116.982458928038`};Norm@SMCpoints/toly
Out[]=
62071.1
In[]:=
(*MagellanicStreamorbits*)
In[]:=
MS1=ParametricPlot3D[toly0.752(u/1.6)^0.4{71000Sin@u,15000u^0.75,71000Cos@u},{u,1.57,3.65},PlotStyle{Opacity@0.15},PlotRangeAll]/.Line[pts_,rest___]:>Tube[pts,1100toly,rest];leading=ParametricPlot3D[0.72toly{71000Sin@u,15000u^0.75,71000Cos@u},{u,0.45,1.55},PlotStyle{Opacity@0.15},PlotRangeAll]/.Line[pts_,rest___]:>Tube[pts,1500toly,rest];incone=ParametricPlot3D[toly0.752(u/1.6)^0.4{71000Sin@u,15000u^0.75,71000Cos@u},{u,1.7,2.9},PlotRangeAll]/.Line[pts_,rest___]:>Tube[pts,1200toly,rest];
In[]:=
(*FermiandeROSITAbubbles*)
In[]:=
sbubbles=Graphics3D@ff@Scale[First@SphericalPlot3D[1.1+Cos[2θ],{θ,0,π},{ϕ,0,2π},MeshNone,PlotStyleDirective[Magenta,Opacity@0.2]],5000toly{1,1,1}];xbubbles=Graphics3D@ff@Scale[First@SphericalPlot3D[1.1+Cos[2θ],{θ,0,π},{ϕ,0,2π},MeshNone,PlotStyleDirective[Cyan,Opacity@0.2]],14/9.5000toly{1,1,1}];warpedDisk=Graphics3D@ff[First@RevolutionPlot3D[warpTan[t/50000.]Cos[θ+π/2],{t,(-π/2+0.3)50000.,50000.(π/2-0.3)},{θ,0,2π},MeshNone,PlotStyleTexture@texture,TextureCoordinateFunction({#1,#2}&)],mat];
In[]:=
c1=Graphics3D[ff@First@ParametricPlot3D[h{1.5Sin@t,1.5Cos@t,2.},{t,0,2π},{h,0,80000},MeshFalse,PlotStyle{Blue,Opacity@0.05}],BoxedFalse,BackgroundDarker@Darker@Darker@Darker@Gray];c2=Graphics3D[ff@First@ParametricPlot3D[-h{1.5Sin@t,1.5Cos@t,2.},{t,0,2π},{h,0,80000},MeshFalse,PlotStyle{Blue,Opacity@0.05}]];(*c0=Graphics3D[ff@First@ParametricPlot3D[h{1.5Sin@t,1.5Cos@t,2.},{t,0,2π},{h,0,100},MeshFalse,PlotStyle{Blue,Opacity@0.35}],BoxedFalse,BackgroundDarker@Darker@Darker@Darker@Gray];q1=Show[c1,c2,MS1,incone,leading,p0,p1,warpedDisk,sbubbles,Graphics3D[{Yellow,PointSize@.005,Point@sunpoint,PointSize@0.02,Lighter@Orange,Ellipsoid[LMCpoints,7000.{0.2,1,1}],Red,PointSize@0.015,Ellipsoid[SMCpoints,3500.{1,0.5,0.5}]},Lighting"Neutral",AxesFalse,SphericalRegionTrue,ViewAngleπ/12,ViewPoint{-1.12,-2.432,2.092},ViewVertical{-0.81,0.14,1.0},PlotRangeTranspose[{sagapoint-25000,sagapoint+120000}]],ImageSize700];q2=Show[c0,sbubbles,warpedDisk,Graphics3D[{Yellow,PointSize@.005,Point@sunpoint},Lighting"Neutral",AxesFalse,SphericalRegionTrue,ViewAngleπ/12,ViewPoint{-1.12,-2.432,2.092},ViewVertical{-0.81,0.14,1.0},PlotRangeTranspose[{sagapoint-25000,sagapoint+120000}]],ImageSize700];*)ionCones=Show[MS1,sbubbles,xbubbles,warpedDisk,leading,c1,c2,Graphics3D[{Yellow,PointSize@.005,Point@sunpoint,PointSize@0.02,Lighter@Orange,Ellipsoid[LMCpoints,7000.{0.2,1,1}],Red,PointSize@0.015,Ellipsoid[SMCpoints,3500.{1,0.5,0.5}]},Lighting"Neutral",SphericalRegionTrue,ViewAngleπ/12,ViewPoint{-1.12,-2.432,2.092},ViewVertical{-0.81,0.14,1.0},PlotRangeTranspose[{sagapoint-25000,sagapoint+120000}]]];
... to visualize our results discussed in our previous paper Bland-Hawthorn et al ApJ 886, 45 (2019)
... to visualize our results discussed in our previous paper Bland-Hawthorn et al ApJ 886, 45 (2019)
In[]:=
ionCones(*ionizationconesfromMWSeyfertphaseirradiatingtheMagellanicStream,showingFermi&eROSITAbubbles*)
Out[]=


Cite this as: Gerald Cecil, "Tracing Part of the Milky Way's Vestigial Nuclear Jet" from the Notebook Archive (2022), https://notebookarchive.org/2022-01-2sqijsy

Download

