Calculate complete solar windows with explicit UTC and offsets
Prepare all observers and half-open windows, choose crossing definitions, and inspect the complete six-file result.
Declare the source and every time window
UTC windows include their start and exclude their end. Civil time uses your complete offset intervals; no historical time zone is guessed.
Observer and window IDs may repeat; original array ordinals and the source hash distinguish their identities. Unknown object fields or malformed structure reject the whole document. Identifiable invalid observer/window values remain complete entities with null effective fields and original tokens. Nonzero number underflow and overflow never become valid zero or fabricated JSON null.
{
"schema": "neatbo.solar-horizon.input.v1",
"observers": [
{
"id": "San Jose",
"latitude": 37.2580565,
"longitude": -121.9359228,
"heightMeters": 0,
"metersAboveGround": 0
}
],
"windows": [
{
"id": "2022-07-06 21:00 PDT context, explicitly converted UTC",
"observerOrdinal": 0,
"start": {
"utc": "2022-07-07T04:00:00Z"
},
"end": {
"utc": "2022-07-08T04:00:00Z"
},
"requests": [
{
"kind": "upper-limb",
"directions": [
"rise",
"set"
]
},
{
"kind": "civil",
"directions": [
"rise",
"set"
]
},
{
"kind": "nautical",
"directions": [
"rise",
"set"
]
},
{
"kind": "astronomical",
"directions": [
"rise",
"set"
]
}
]
}
]
}- Choose File to use the selected original; Text uses only the complete paste.
- Keep finite negative-zero tokens and the report’s signed-zero path sidecar.
- Do not fill a missing historical date or offset with a guess.
Use the complete parameter contract
Input parameters are explicit; the fixed model, year range and lookahead are not hidden tuning controls. Civil endpoints must match the supplied offset interval at the actual instant, and full map coverage includes both 370-day lookaheads.
| Field | Type / values | Meaning |
|---|---|---|
| source | file / text | Default file; one original File or the complete paste. |
| format / body | json / Sun | Fixed; no CSV input or other celestial bodies. |
| presentation | UTC / declared-offsets | Default UTC; declared mode requires full window and 370-day coverage. |
| locale | en / zh | Captured once with all labels and warning projections. |
| lookaheadDays | 370 | Fixed for both directions; actual recursive interval work is charged. |
| years | [1900,2100] | All internal probes are constrained, not clamped. |
| observers[] | id, latitude, longitude | Finite latitude −90..90, finite longitude unchanged; heightMeters=0 and metersAboveGround=0 by default. |
| windows[] | id, observerOrdinal, start, end | Zero-based observer reference; UTC or civil+explicit offset; start < end. |
| requests[] | kind, directions | Default apparent upper-limb rise+set; civil/nautical/astronomical centre thresholds supported. Explicit empty lists are invalid. |
| offsetIntervals[] | id, startUTC, endUTC, offsetSeconds, label | Ordered nonoverlapping complete half-open map; label is a string or null. |
Inspect unknown states and save the full result
A missing event alone does not establish polar day or night. Both 370-day searches and the complete window must support the state; uncertainty stays unknown.
Any input, source, locale or setting change cancels the current run and clears its old result and links immediately. After cancellation, retry the same original and parameters in a fresh worker; reduce a scope that exceeds the joint budgets.
All six physical files together ≤64 MiB; full text and copy each ≤64 MiB, typed ≤128 MiB, aggregate ≤320 MiB and wire ≤1 GiB. All allocations jointly reserve the original 256 MiB memory before allocation.
One 120-second deadline includes capture, read, calculation, encoding, cleanup and first publication. Joint capacity and browser acceptance remain unmeasured.
| File | Complete contents |
|---|---|
| solar-events.csv | Every event and each no-event request, source tokens, searches and full diagnostics |
| solar-report.json | All observers, windows, requests, searches, numeric signs, warnings and work receipt |
| solar-timeline.svg | Every window/request/event and complete report metadata; visible complete same-event consumption segments |
| solar-source.json | Byte-exact original source with original MIME retained |
| settings.json | Effective parameters, provided keys and captured localized copy; complete model, all searches and consumed intervals, and signed-zero paths |
| NOTICE.txt | Complete original MIT permission and instrumentation notice |
Mature resolution and consumed intervals
This calculation adopts the fixed mature model’s single-crossing bracket and Nyquist assumptions. After a resolved event, the complete interval from its original returned time to the original positive bracket endpoint is recorded as that same event and consumed before continuing. The original 0.1-second numerical tolerance and sub-second pair exclusion remain; this is not a mathematical certificate or an observation precision guarantee. Crossings near altitude extrema, tangencies and sub-second pairs are outside the completeness guarantee; observed unsupported or touching evidence remains unknown.
Any unexplained sub-second interval, non-progress, inconsistent bracket or overlap with the requested window boundary remains unknown. Every original prune and solver exit stays in the report; the full consumed interval is retained in every search JSON in the CSV, timeline metadata, full copy and report. settings.json also retains the complete model, every original search and consumed interval, with its own signed-zero path sidecar.
- Review the actual negative/positive endpoint values and event/search identities.
- Keep the full original input, settings and all six files together.
References
- Civil dawn versus sunrise correction
Published coordinates and date context are known; web minute values are not second-precision observations.
- Polar day and night discussion
The question’s actual date is missing; separately declared dates are synthetic.
- Historical offset correction
The author reports correcting DST; this does not independently establish a 1917 offset table.
Tools in this category
Expand a tool to see its steps, options and supported formats, then open its workspace.
Solar Horizon CalendarSearch every declared solar window and retain unknown, polar and invalid states with complete evidence.
UTC windows include their start and exclude their end. Civil time uses your complete offset intervals; no historical time zone is guessed.
Steps
- Select the original JSON file or paste a complete document with all observers and windows.
- Declare the UTC endpoints and requested upper-limb or centre twilight definitions; supply the full offset map when civil time is used.
- Inspect every request, event and search state, then save all six files and the complete report.
Available options
- Active source
- One original JSON file · Pasted JSON
- Time presentation
- UTC; preserve any supplied offset map · UTC and complete declared offsets
Capabilities and limits
- Strict UTF-8 JSON ≤8 MiB; 1–1,000 observers and 1–10,000 complete windows.
- Sun only; 1900–2100. All internal probes beyond the supported years give out-of-range/unknown.
- 4,000,000 actual examined interval days, 100,000 event records and 100,000,000 combined ephemeris evaluations, including both 370-day lookaheads.
- All six physical files together ≤64 MiB; full text and copy each ≤64 MiB, typed ≤128 MiB, aggregate ≤320 MiB and wire ≤1 GiB. All allocations jointly reserve the original 256 MiB memory before allocation.
- One 120-second deadline includes capture, read, calculation, encoding, cleanup and first publication. Joint capacity and browser acceptance remain unmeasured.
- Times are approximate at minute scale. Weather, refraction and the visible horizon can change an observed crossing.
- This calculation adopts the fixed mature model’s single-crossing bracket and Nyquist assumptions. After a resolved event, the complete interval from its original returned time to the original positive bracket endpoint is recorded as that same event and consumed before continuing. The original 0.1-second numerical tolerance and sub-second pair exclusion remain; this is not a mathematical certificate or an observation precision guarantee. Crossings near altitude extrema, tangencies and sub-second pairs are outside the completeness guarantee; observed unsupported or touching evidence remains unknown.