Sunday, September 20, 2026

Time_Change

 Meta AI:

Canadian news sources are reporting that the US is about to make a decision on whether to switch to permanent daylight hours. Is this the case?

Today

Yes — what you're seeing in Canadian coverage is accurate.

The U.S. House passed a bill to make daylight saving time permanent on July 14, 2026.

The bill is the Sunshine Protection Act (H.R. 139) — it would end the twice-yearly clock changes and keep daylight time year-round. 

It passed the House on a bipartisan vote of 308-117. 

The Reuters reporting at the time said the House voted "overwhelmingly... to pass a bill making daylight saving time permanent". 

It is not yet law.

After the House vote, the bill was received in the Senate on July 15 and referred to the Committee on Commerce, Science, and Transportation. That is where it has been since. 

As of this month:

No Senate vote has been scheduled. 

Reports from Sept. 20 note it has been "held up in the Senate since July but, now that the chamber has returned from recess, there's a chance the legislation could be picked up". 

At least one Senator, Tom Cotton, has argued against it, saying it would "push winter sunrises to an absurdly late hour". 

So the decision point is now in the Senate. Unless the Senate passes it and the President signs it in the next few weeks, the regular fall-back will still happen — clocks are scheduled to go back on November 1, 2026. 

If the U.S. does make it permanent, Canada will be watching closely — states can't legally adopt permanent daylight time without Congress first, but 19 states have already approved it in principle pending federal action, and Canadian provinces that border the U.S. have historically followed to avoid a time-zone patchwork. 

                                                                  *     *     *

                                                                                     



*     *     *

PYTHON code:

import matplotlib.pyplot as plt
import numpy as np

# --- Configuration ---
#LATITUDE_DEG = 45.3 # Saint-Jean-sur-Richelieu
LATITUDE_DEG = 29.7 # Houston, Texas

phi = np.radians(LATITUDE_DEG)
days = np.arange(1, 366)

# Solar declination angle approximation
declination = np.arcsin(
np.sin(np.radians(23.44)) * np.sin(2 * np.pi * (days - 81) / 365)
)

# Hour angle at sunrise/sunset (radians)
cos_h0 = -np.tan(phi) * np.tan(declination)
cos_h0 = np.clip(cos_h0, -1.0, 1.0)
h0 = np.arccos(cos_h0)

# Daylight duration in decimal hours
daylight_hours = (24 / np.pi) * h0

# Key astronomical transition points
markers = [
(79, 'Spring Equinox (~Mar 20)'),
(172, 'Summer Solstice (~Jun 21)'),
(265, 'Fall Equinox (~Sep 22)'),
(355, 'Winter Solstice (~Dec 21)'),
]

# --- Plotting (Roomier layout) ---
fig, ax = plt.subplots(figsize=(12, 7.5), dpi=150)

ax.plot(
days,
daylight_hours,
color='#0066cc',
linewidth=2.5,
label='Daylight Hours',
)
ax.fill_between(
days,
12,
daylight_hours,
where=(daylight_hours >= 12),
color='#cce5ff',
alpha=0.6,
label='Surplus vs 12h Equinox Baseline',
)
ax.fill_between(
days,
daylight_hours,
12,
where=(daylight_hours < 12),
color='#ffe6cc',
alpha=0.6,
label='Deficit vs 12h Equinox Baseline',
)

ax.axhline(
12, color='#666666', linestyle='--', linewidth=1.2, label='12h Baseline'
)

# Custom pixel-offset directions for zero crowding
annotation_offsets = {
79: (-65, 20),
172: (0, 25),
265: (20, 22),
355: (-105, 18),
}

for day_idx, label in markers:
val = daylight_hours[day_idx - 1]
ax.scatter([day_idx], [val], color='#cc0000', zorder=5)
ox, oy = annotation_offsets.get(day_idx, (0, 15))
ax.annotate(
f'{label.split("(")[0].strip()}\n{val:.1f}h',
xy=(day_idx, val),
xytext=(ox, oy),
textcoords='offset points',
arrowprops=dict(
arrowstyle='->',
color='#888888',
lw=0.9,
connectionstyle='arc3,rad=0.15',
),
fontsize=8.5,
bbox=dict(
boxstyle='round,pad=0.3', facecolor='white', alpha=0.92, ec='#cccccc'
),
)

ax.set_title(
#f'Annual Daylight Duration — Saint-Jean-sur-Richelieu ({LATITUDE_DEG}°N)',
f'Annual Daylight Duration — Houston ({LATITUDE_DEG}°N)',
fontsize=13.5,
fontweight='bold',
pad=20,
)
ax.set_xlabel('Day of Year (1 = Jan 1)', fontsize=11, labelpad=10)
ax.set_ylabel('Daylight Duration (Hours)', fontsize=11, labelpad=10)
ax.set_xlim(1, 365)
ax.set_ylim(7.0, 17.5)
ax.grid(True, linestyle=':', alpha=0.5)

ax.legend(
loc='lower center',
frameon=True,
facecolor='white',
framealpha=0.95,
fontsize=9,
)

plt.subplots_adjust(left=0.08, right=0.96, top=0.88, bottom=0.10)
plt.show()

The code is from Gemini AI.

                                                                        *     *     *

                                                                                    

source: Gemini AI

No comments: