Download a scientific experiment, not a spacecraft archive
The archive contains an analysis script, two input CSV files, a provenance JSON file and four expected outputs. The main record has probes at one-half, one and two times the synthetic world’s orbital frequency. Each row lists the real and imaginary gravity Love number plus their independent standard deviations. These are authored synthetic data, not Cassini tracking residuals, a Titan Love-number time series or an extracted publisher dataset.
The truth uses a fifty-kilometre equal-density shell, elastic modulus 3.5 gigapascals and viscosity ten to the power 14.5 pascal-seconds. Frozen Gaussian offsets use seed 12095. Standard deviations are 0.002 for the real part and 0.0016 for the imaginary part. The saved numbers are authoritative; rerunning analysis never regenerates noise or silently changes the record.
Use Python 3.11 or newer, with no third-party packages. The archive is a flat distribution with data and expected-output subdirectories. The script imports no site code. SHA-256 input hashes are written into the result; compare those with provenance before interpreting a mismatch. The full paper links supply the physical approximation, while the public package supplies only original teaching materials.
Reading: Beuthe, Tides on Europa: the membrane paradigm, arXiv:1410.4735v1 · Petricca et al., Titan’s strong tidal dissipation precludes a subsurface ocean, Nature 648 (2025)
Run once and inspect every residual
Download materials.zip and unpack it. Run the command below from the unpacked directory. The script prints its fitted effective stiffness, relaxation time, squared-residual sum and conditional profile summary. The outputs are small text files, suitable for a spreadsheet or another independent script. Keep the input directory separate from your rerun output so the frozen expectation remains intact.
Open fitted_response.csv. For each row, subtract the prediction from the observation and divide by the listed standard deviation. Square those six standardized residuals and sum them: the expected result is about 4.0040295. The fit uses two effective parameters, leaving four residual degrees of freedom under the stated independent Gaussian model. This count does not validate the structural assumptions.
The fitted product of geometric stiffness and elastic modulus is approximately 825.176 million pascals, and Maxwell time is about 88,602.5 seconds. At the physical orbital frequency and eccentricity 0.005, that fitted response predicts about 100.740 gigawatts. The value differs slightly from the noiseless default because this fit uses a saved noisy record.
python3 analyze-response.py --input data --output rerun-outputReading: Beuthe, Tides on Europa: the membrane paradigm, arXiv:1410.4735v1
Follow the actual minimization
The two fit coordinates are logarithms of dimensionless effective stiffness and Maxwell time. Positive quantities stay positive after exponentiation. The script first searches a fixed coarse grid to choose a starting point. It then evaluates central finite differences of the standardized residuals, solves a two-by-two linear system for the local correction, and reduces the step until the squared-residual sum decreases.
The normal equation follows by linearizing the residual vector around the current parameters, expanding its squared length, and setting derivatives with respect to the correction to zero. This local optimization step uses the derivative of the same physical prediction. A small final residual can still come from several interiors because those interiors map to exactly the same effective coordinates.
Real planetary analyses may have correlated radio data, nuisance parameters and systematic errors. A full covariance matrix then replaces the diagonal weighting used here. This small experiment keeps the noise model deliberately explicit so that a disagreement can be traced to data, sign convention, model or optimization separately.
Reading: Beuthe, Tides on Europa: the membrane paradigm, arXiv:1410.4735v1
Construct the alternative interiors
Open shell_solid_family.csv. Thicknesses run from ten kilometres to a fully solid five-hundred-kilometre body. For each thickness the script evaluates the published finite-shell geometric factor, divides fitted effective modulus by that factor, and multiplies the result by fitted Maxwell time to obtain viscosity. The external prediction remains unchanged at every frequency.
The noisy-fit solid row has modulus about 0.217 gigapascals and viscosity about 19.24 trillion pascal-seconds. The fifty-kilometre row has modulus about 3.55 gigapascals. All rows have the same squared-residual sum. The ten-kilometre alternative requires about 18.8 gigapascals, outside the interactive controls and not asserted to be plausible ice. This is precisely where independent material information becomes useful.
Next inspect conditional_thickness_profile.csv. Holding modulus exactly at 3.5 gigapascals, the script optimizes viscosity at each quarter-kilometre thickness. The best grid point is 50.5 kilometres; the local profile-increase-of-one interval is 49.5 to 51.75 kilometres. Read the conditioning assumption beside that narrow interval. Releasing modulus restores the entire unrestricted family.
Reading: Beuthe, Tides on Europa: the membrane paradigm, arXiv:1410.4735v1 · Petricca et al., Titan’s strong tidal dissipation precludes a subsurface ocean, Nature 648 (2025)
Use the failure record as a sign and model check
The second input has a positive imaginary response far beyond its stated error under our positive-time-exponential convention. A passive Maxwell body cannot produce it. The passive fit rejects this intentionally incompatible response; summary.json names the positive imaginary component as the reason. It does not clip the response, flip its sign to improve the fit or reinterpret it as a hot interior.
A positive imaginary number in another paper is not automatically nonpassive. Authors may use the opposite exponential or report a positive lag coefficient. Translate the convention before comparison. The 2025 Titan paper reports a positive loss coefficient; the guide explains the conversion. Our failure case is incompatible only after the convention has already been fixed.
For a transfer exercise, double both input error columns and rerun. The unrestricted family remains exactly degenerate, while the conditional profile becomes less restrictive. Then reverse only the imaginary component signs and inspect the resulting incompatibility with passive loss. These changes test what information the errors and phase actually contribute.
Reading: Beuthe, Tides on Europa: the membrane paradigm, arXiv:1410.4735v1 · Petricca et al., Titan’s strong tidal dissipation precludes a subsurface ocean, Nature 648 (2025)