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
- Create an account at app.futureweather.co
- Go to API > API Keys and create a Personal Access Token
- 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
- Website: futureweather.co
- App & API docs: app.futureweather.co
- Support: support@futureweather.co
Metadata
Release files for futureweather 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| futureweather-0.1.0.tar.gz | 8.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| futureweather-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.0 kB
Release files / futureweather-0.1.0.tar.gz
| Download URL | futureweather-0.1.0.tar.gz |
|---|---|
| Size | 8.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
4fff9568babc553894d020f2c94854c1519400598c9d4cb2ea7fc9ae288a6143
|
|
BLAKE2b-256 checksum How to use checksums |
343f065349dc03bbe52f8ec0ff1bac2246b97a2578fb3b37f03fafaddad4d0ac
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.11
|
Release files / futureweather-0.1.0-py3-none-any.whl
| Download URL | futureweather-0.1.0-py3-none-any.whl |
|---|---|
| Size | 8.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
06318be7aca5c7b64b5a555f7bbb4cd2aaa8bbdf50ee9a2a29c09af1fa5999f0
|
|
BLAKE2b-256 checksum How to use checksums |
2cbf5c7105c8f0b66f4754b2d80633e388dbe28008c8935fc8267d686fed4408
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.11
|