Skip to main content

Generate future climate-adjusted EPW/DDY/STAT weather files for building energy simulation.

Project description

futureweather

Generate future climate-adjusted EPW, DDY, and STAT weather files for building energy simulation.

Uses CMIP6 climate projections to morph historical EnergyPlus Weather (EPW) files into future scenarios. Zero dependencies -- uses only the Python standard library.

Install

pip install futureweather

Quick start

import futureweather

# Generate a future EPW for 2050 under high emissions
paths = futureweather.generate(
    api_key="fw_your_token",
    epw="Chicago_OHare.epw",
    year=2050,
    scenario="ssp585",
    output_dir="./future/",
)
print(paths)
# ['./future/Chicago_OHare_2050_ssp585.epw', './future/Chicago_OHare_2050_ssp585.stat']

Batch generation

Generate files for multiple years and scenarios at once:

results = futureweather.batch(
    api_key="fw_your_token",
    epw="Chicago_OHare.epw",
    years=[2050, 2080],
    scenarios=["ssp245", "ssp585"],
    output_dir="./future_weather/",
)
print(results["summary"])  # "4/4 completed"

Include design day (DDY) files

paths = futureweather.generate(
    api_key="fw_your_token",
    epw="Chicago_OHare.epw",
    ddy="Chicago_OHare.ddy",
    year=2050,
    scenario="ssp585",
    output_dir="./future/",
)
# Returns EPW + DDY + STAT files

Check your credit balance

me = futureweather.authenticate("fw_your_token")
print(f"Credits: {me['credits']}")

Available scenarios

Scenario Description Approx. warming by 2100
ssp126 Low emissions ~1.8 C
ssp245 Moderate emissions ~2.7 C
ssp370 High emissions ~3.6 C
ssp585 Very high emissions ~4.4 C

Target years: 2035 to 2090.

Getting an API key

  1. Create an account at app.futureweather.co
  2. Go to API > API Keys and create a Personal Access Token
  3. Your token will start with fw_

Advanced usage

For fine-grained control, use the lower-level functions:

import futureweather

# Submit without waiting
result = futureweather.submit_job("fw_...", "file.epw", 2050, scenario="ssp585")
job_id = result["jobs"][0]["id"]

# Check status
status = futureweather.check_status("fw_...", job_id)
print(status["status"])  # PENDING, RUNNING, SUCCESS, FAILED

# Get download links
links = futureweather.get_downloads("fw_...", job_id)

# Download to disk
paths = futureweather.download_results("fw_...", job_id, "./output/")

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

futureweather-0.1.0.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

futureweather-0.1.0-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file futureweather-0.1.0.tar.gz.

File metadata

  • Download URL: futureweather-0.1.0.tar.gz
  • Upload date:
  • Size: 8.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.11

File hashes

Hashes for futureweather-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4fff9568babc553894d020f2c94854c1519400598c9d4cb2ea7fc9ae288a6143
MD5 dca9b6de005165f3ce2ce89ad97ebb93
BLAKE2b-256 343f065349dc03bbe52f8ec0ff1bac2246b97a2578fb3b37f03fafaddad4d0ac

See more details on using hashes here.

File details

Details for the file futureweather-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: futureweather-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.11

File hashes

Hashes for futureweather-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 06318be7aca5c7b64b5a555f7bbb4cd2aaa8bbdf50ee9a2a29c09af1fa5999f0
MD5 4028396959f2fd9f2098c1d07d4183c2
BLAKE2b-256 2cbf5c7105c8f0b66f4754b2d80633e388dbe28008c8935fc8267d686fed4408

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page