Skip to content

Natural Solar Time Offset ​

This guide explains natural solar time offset calculations and meridian longitudinal delta modeling in @magmacomputing/tempo-plugin-spatial.


1. Natural Solar Time vs. Clock Time ​

Standard civil time zones group wide longitudinal bands (typically ≈ 15° wide) into uniform standard offsets (e.g. UTC+1, UTC-5). However, Earth rotates continuously at:

1° longitude = 4 minutes of time = 240 seconds

The Natural Solar Time Offset measures the exact physical time difference between an observer's physical longitude (lng) and their standard reference timezone meridian (or the nearest 15° meridian: round(lng / 15) * 15°).


2. API Usage (Tempo.spatial.solarOffset / t.spatialSolarOffset / solarOffset) ​

The solarOffset method computes this delta in minutes (default), seconds, or hours:

typescript
import { Tempo } from '@magmacomputing/tempo';
import { SpatialPlugin, solarOffset } from '@magmacomputing/tempo-plugin-spatial';

Tempo.use(SpatialPlugin);

// Sydney: Longitude 151.2093° East vs Reference Meridian 150° East (UTC+10)
// Delta: (151.2093° - 150°) * 4 min/deg ≈ +4.84 minutes
const sydneyOffsetMin = Tempo.spatial.solarOffset({ lat: -33.8688, lng: 151.2093 });
console.log(sydneyOffsetMin); // ~4.84 minutes

// Offset in seconds
const sydneyOffsetSec = Tempo.spatial.solarOffset({ lat: -33.8688, lng: 151.2093 }, { unit: 'ss' });
console.log(sydneyOffsetSec); // ~290.23 seconds

// Offset in hours
const sydneyOffsetHours = Tempo.spatial.solarOffset({ lat: -33.8688, lng: 151.2093 }, { unit: 'hh' });
console.log(sydneyOffsetHours); // ~0.08 hours

// Via Tempo instance
const tSydney = new Tempo({ geo: { lat: -33.8688, lng: 151.2093 } });
console.log(tSydney.spatialSolarOffset()); // ~4.84 minutes

3. Dual-Tier Architecture: spatial vs celestial ​

DimensionTempo.spatial.solarOffset (tempo-plugin-spatial)SolarTerm (tempo-plugin-celestial)
ConceptNatural Solar Time Offset (Longitudinal Delta)Apparent Solar Trajectory & Ephemeris
PhysicsLongitudinal delta (Δλ × 4 min/deg) from reference meridianExact orbital solar altitude, Equation of Time (EoT), and transit
Runtime CostO(1) analytical geometry, zero external dependenciesKeplerian orbital ephemeris & trigonometric modeling
Use CasesCircadian light tracking, timezone meridian driftTwilight tracking, golden hour photography, apparent solar noon
API TargetTempo.spatial.solarOffset(coords)t.term.solar.noon & t.term.solar.solarTime

Released under the MIT License.