# Dataframe: `CAISO:openmeteo_temperature_daily` - Open-Meteo Daily Station Temperatures


## Description

Daily station temperatures for the weather leg of the quanto work: max, min,
and the degree-day settlement mean at six California stations, one row per
US/Pacific calendar day (the day weather contracts settle on), stored as
naive-UTC day bounds.

Sacramento and Burbank are the two California cities CME weather contracts
settle on; San Diego and Fresno complete load-center coverage of the south
and the Central Valley; San Jose (Bay Area coastal) and Ontario (Inland
Empire) support the regional temperature mapping (coastal vs inland
microclimates). HDD/CDD are computed at analysis time as
max(0, 65 − T) / max(0, T − 65) on `temp_mean_f`.

## Data Dictionary

- **interval_start_utc**: `datetime64[ns]` Pacific-day start, naive UTC
- **interval_end_utc**: `datetime64[ns]` Pacific-day end (23-25 h on DST transitions), naive UTC
- **station**: `str` Station slug: `SAC`, `BUR`, `SAN`, `FAT`, `SJC`, `ONT`
- **temp_max_f**: `float64` Daily maximum 2 m temperature, °F
- **temp_min_f**: `float64` Daily minimum 2 m temperature, °F
- **temp_mean_f**: `float64` (max + min) / 2 - the degree-day settlement mean

## Notes

- Source is Open-Meteo's ERA5-based historical API at the station
  coordinates.

## Data Preview

**Rows:** 18,944 &nbsp;|&nbsp; **Columns:** 6 &nbsp;|&nbsp; **Cache:** `data/opensource/openmeteo_temperature_daily.parquet`

### Sample rows

First and latest 5 rows by `interval_start_utc`.

| interval_start_utc   | interval_end_utc   | station   | temp_max_f   | temp_min_f   | temp_mean_f   |
|----------------------|--------------------|-----------|--------------|--------------|---------------|
| 2018-01-01 08:00     | 2018-01-02 08:00   | SJC       | 58.5         | 43.0         | 50.75         |
| 2018-01-01 08:00     | 2018-01-02 08:00   | SAN       | 65.4         | 46.9         | 56.15         |
| 2018-01-01 08:00     | 2018-01-02 08:00   | SAC       | 64.7         | 36.5         | 50.6          |
| 2018-01-01 08:00     | 2018-01-02 08:00   | ONT       | 72.9         | 50.5         | 61.7          |
| 2018-01-01 08:00     | 2018-01-02 08:00   | FAT       | 63.8         | 36.8         | 50.3          |
| ...                  | ...                | ...       | ...          | ...          | ...           |
| 2026-08-26 07:00     | 2026-08-27 07:00   | FAT       | 100.9        | 73.0         | 86.95         |
| 2026-08-26 07:00     | 2026-08-27 07:00   | ONT       | 106.2        | 79.2         | 92.7          |
| 2026-08-26 07:00     | 2026-08-27 07:00   | SAC       | 94.5         | 61.5         | 78.0          |
| 2026-08-26 07:00     | 2026-08-27 07:00   | SAN       | 83.8         | 70.5         | 77.15         |
| 2026-08-26 07:00     | 2026-08-27 07:00   | SJC       | 84.1         | 57.9         | 71.0          |

### Column summary

| Column               | Dtype          | Nulls   | Min              | Max              |
|----------------------|----------------|---------|------------------|------------------|
| `interval_start_utc` | `Datetime[us]` | 0       | 2018-01-01 08:00 | 2026-08-26 07:00 |
| `interval_end_utc`   | `Datetime[us]` | 0       | 2018-01-02 08:00 | 2026-08-27 07:00 |
| `station`            | `String`       | 0       | BUR              | SJC              |
| `temp_max_f`         | `Float64`      | 0       | 44.0             | 117.4            |
| `temp_min_f`         | `Float64`      | 0       | 26.6             | 86.5             |
| `temp_mean_f`        | `Float64`      | 0       | 37.95            | 100.35           |



## DataFrame Glimpse

```
Rows: 18944
Columns: 6
$ interval_start_utc <datetime[μs]> 2026-08-26 07:00:00
$ interval_end_utc   <datetime[μs]> 2026-08-27 07:00:00
$ station                     <str> 'SJC'
$ temp_max_f                  <f64> 84.1
$ temp_min_f                  <f64> 57.9
$ temp_mean_f                 <f64> 71.0


```

## Dataframe Manifest

| Dataframe Name                 | Open-Meteo Daily Station Temperatures                                                   |
|--------------------------------|--------------------------------------------------------------------------------------|
| Dataframe ID                   | [openmeteo_temperature_daily](../dataframes/CAISO/openmeteo_temperature_daily.md)                                       |
| Data Sources                   | Open-Meteo historical weather API (ERA5 reanalysis)                                        |
| Data Providers                 | Open-Meteo                                      |
| Links to Providers             | https://open-meteo.com                             |
| Topic Tags                     | Weather, Hdd-Cdd, Quanto                                          |
| Type of Data Access            |                                   |
| How is data pulled?            | src/pulls/pull_openmeteo_temperature_daily.py via the Open-Meteo archive API                                                    |
| Data available up to (min)     | N/A                                                             |
| Data available up to (max)     | N/A                                                             |
| Dataframe Path                 | data\opensource\openmeteo_temperature_daily.parquet                                                   |


**Linked Charts:**

- None


## Pipeline Manifest

| Pipeline Name                   | Project-Lab-Energy-Weather-Natgas-Quanto-CAISO                       |
|---------------------------------|--------------------------------------------------------|
| Pipeline ID                     | [CAISO](../../../index.md)              |
| Lead Pipeline Developer         | Brian Nguyen             |
| Contributors                    | Brian Nguyen, Claire Kim           |
| Git Repo URL                    |                         |
| Pipeline Web Page               | <a href="../../../../index.html">Pipeline Web Page      |
| Date of Last Code Update        | 2026-08-27 10:08:05           |
| OS Compatibility                | Windows, Linux, macOS |
| Linked Dataframes               |  [CAISO:caiso_lmp_day_ahead_hourly](../../dataframes/CAISO/caiso_lmp_day_ahead_hourly.md)<br>  [CAISO:caiso_lmp_real_time_15_min](../../dataframes/CAISO/caiso_lmp_real_time_15_min.md)<br>  [CAISO:caiso_lmp_real_time_5_min](../../dataframes/CAISO/caiso_lmp_real_time_5_min.md)<br>  [CAISO:caiso_fuel_prices](../../dataframes/CAISO/caiso_fuel_prices.md)<br>  [CAISO:caiso_fuel_regions](../../dataframes/CAISO/caiso_fuel_regions.md)<br>  [CAISO:caiso_load](../../dataframes/CAISO/caiso_load.md)<br>  [CAISO:caiso_load_hourly](../../dataframes/CAISO/caiso_load_hourly.md)<br>  [CAISO:caiso_fuel_mix](../../dataframes/CAISO/caiso_fuel_mix.md)<br>  [CAISO:caiso_renewables_hourly](../../dataframes/CAISO/caiso_renewables_hourly.md)<br>  [CAISO:caiso_curtailed_non_operational_generator_report](../../dataframes/CAISO/caiso_curtailed_non_operational_generator_report.md)<br>  [CAISO:caiso_outages_aggregated_hourly](../../dataframes/CAISO/caiso_outages_aggregated_hourly.md)<br>  [CAISO:openmeteo_temperature_daily](../../dataframes/CAISO/openmeteo_temperature_daily.md)<br>  [CAISO:eia860m_generators](../../dataframes/CAISO/eia860m_generators.md)<br>  [CAISO:us_ba_boundaries](../../dataframes/CAISO/us_ba_boundaries.md)<br>  |


**Build Commands:**
```
doit

```

