Start in an empty directory
Download the scientific ZIP below and extract it into a new directory. Read README.md and input-lineage.json before running. The package contains independent Python producers and their own inputs. Its default command verifies the file inventory and performs five numerical steps with no network or cached completed result.
The first step integrates the n7 and n12 ejecta-envelope shells at two tolerances. The second independently integrates the zero-ejecta point blast at three central cuts. The third uses the freshly calculated n7 coefficients in five passive acceleration cases and five deliberately rejected or energy-limited examples. The fourth calculates the angular mean-log discrepancy. The fifth draws three synthetic scientific figures.
Open replay-receipt.json and the individual logs. Each calculation writes a new output. The reader’s registered particle cases have their own physical ages, whereas the interactive density study holds one age fixed. The two sets serve different finite tests.
python3 replay.py --output /absolute/new/remnant-runReading: Sandbox Physics independent supernova-remnant Python science reader
Recover the point-blast coefficient from energy
Open point-blast/results.json. Each run reports its central cut, resolved energy, estimated central thermal contribution, swept-mass error and a local energy-flux check. In units where shock radius, age and ambient density are one, the dimensionless energy integral fixes .
Compare the three cuts . The result approaches , within the original rounded coefficient interval. The code does not rescale the profile afterward to manufacture the energy. The central approximation is exposed through the shrinking-cut comparison.
As a worked unit check, has units . Multiplying by age squared gives , and a fifth root gives a radius. Increasing age by a factor of four therefore increases radius by . This scaling belongs to the separate zero-ejecta problem.
Reading: Leahy & Williams (2017), A Python Calculator for Supernova Remnant Evolution, arXiv1701.05942v2 · Sandbox Physics independent supernova-remnant Python science reader
Obtain exactly the historical whole-remnant table
For the optional exercise, open Aharonian et al., A detailed spectral and morphological study of the gamma-ray supernova remnant RX J1713.7−3946 with HESS, arXiv astro-ph/0511678v2, published in Astronomy & Astrophysics 449, 223–242 (2006). The measurement used here is the 2004 whole-remnant spectrum in Figure 12, not a 2006 observing campaign or the later deep HESS spectrum.
Section 3.2 identifies a radius aperture and 30.5 hours of selected live time for this spectrum. The exact official auxiliary HTML has 9734 bytes and SHA256 shown in the package README. The optional command fetches only that object, verifies all its bytes, extracts 25 rows and creates the local figure hess2004-private.png. Original data and that derived image stay in your private output directory.
The eight table columns are row number, energy centre, lower energy edge, upper edge, differential photon flux, lower statistical uncertainty, upper statistical uncertainty and a systematic percentage. The code checks consecutive row numbers, positive finite values, centres inside bins and adjoining bin edges before analysis. Changing one source byte causes refusal before creating an analysis directory.
python3 optional_observed.py --fetch --output /absolute/new/private/hess-runReading: Aharonian et al. (2006), A detailed spectral and morphological study of RX J1713.7−3946 with HESS, astro-ph/0511678v2 · Official HESS auxiliary page for the historical Figure12 whole-remnant spectrum · Sandbox Physics independent supernova-remnant Python science reader
Read the photon flux before choosing a model
Energy is in TeV. Differential photon flux has units : photons per energy, collecting area and time. Multiplying by makes an energy-flux display per logarithmic energy interval. Converting its remaining TeV to erg uses .
The two models in this exercise are a power law and that same power law multiplied by . The normalization is defined at 1 TeV, and is the photon index. It describes the photons; it is not automatically the momentum index of accelerated protons.
The original Figure 12 also contains other instruments and years. Extracting only the named 2004 table avoids mixing apertures and epochs. The original Figure 13 and Table 1 compare several curved spectral shapes; a cutoff is not the only phenomenological description that the paper finds acceptable.
Reading: Aharonian et al. (2006), A detailed spectral and morphological study of RX J1713.7−3946 with HESS, astro-ph/0511678v2 · Official HESS auxiliary page for the historical Figure12 whole-remnant spectrum
State the fit approximation and keep its failed test
The point-centre fit evaluates the model at each published energy centre. A diagonal Gaussian approximation divides each residual by its quoted statistical uncertainty, then sums the squares. For an asymmetric error bar, this calculation uses the lower uncertainty when the model lies below the point and the upper when it lies above. Correlations and the original event response are not reconstructed.
For example, suppose a point is 5 in some flux unit, its lower error is 1 and upper error 2, and a model predicts 6. The chosen residual is , contributing 0.25 to chi-square. The piecewise error choice is part of the approximation, not a new instrument likelihood.
The 25 points leave 23 degrees of freedom for the two-parameter power law and 22 for the three-parameter cutoff. The point-centre power law gives compared with the published 85.6. The difference 3.0192 exceeds the predeclared 2.0 comparison threshold. That test fails, even though the best-fit parameters lie within the published one-standard-deviation intervals.
A second calculation averages the model uniformly over each published energy bin using 32 positive Gauss–Legendre nodes. Its independent analytic or adaptive-integral check passes, but the power-law chi-square becomes 89.5348; its difference 3.9348 still fails the same threshold. Uniform bin averaging does not restore an unavailable response-weighted analysis. Both original failed results are retained.
The point-centre cutoff gives and , with for 22 degrees of freedom. The published values are 1.98, 12 TeV and 27.4. The curvature comparison is informative within this approximation, but exact reproduction of the original fitting procedure has not been achieved.
Reading: Aharonian et al. (2006), A detailed spectral and morphological study of RX J1713.7−3946 with HESS, astro-ph/0511678v2 · Sandbox Physics independent supernova-remnant Python science reader
Move the energy scale as one shared uncertainty
The original discussion gives an approximately 20 percent common energy-scale uncertainty. If every photon energy is shifted by factor , conservation of photon counts requires differential flux and its errors to divide by . Moving only the horizontal coordinates would change the represented photon number.
For the cutoff model, this transformation gives , leaves unchanged and changes the 1 TeV normalization by . The reader actually refits scale factors 0.8 and 1.2 and checks this relation. It is a correlated systematic scenario, not 25 independent random errors.
A reusable checklist is to identify the observing epoch and aperture, read the units and bin edges, state the fit and error model, distinguish common calibration shifts from point errors, and keep every failed comparison visible. Before inferring a parent-particle population, add the radiation process, target material and corresponding response analysis.
Reading: Aharonian et al. (2006), A detailed spectral and morphological study of RX J1713.7−3946 with HESS, astro-ph/0511678v2 · Sandbox Physics independent supernova-remnant Python science reader