Librería de acciones climáticas
Project description
❄️ Sunfer Clima
Librería Python para el cálculo de acciones climáticas en estructuras según distintas normativas.
sunfer_clima está diseñada como el módulo climático del ecosistema Sunfer, orientado a aplicaciones de:
- 🏗️ cálculo estructural
- ☀️ estructuras fotovoltaicas
- 🌬️ viento
- ❄️ nieve
- 🇪🇺 Eurocódigo (España, Portugal)
- 🇪🇸 CTE
La arquitectura está preparada para integrarse con motores FEM, generadores de combinaciones EN 1990 y módulos de dimensionamiento.
✨ Características
✅ Acciones de nieve implementadas
Actualmente incluye:
🇪🇸 España
NieveCTENieveEurocodeESVientoEurocodeESVientoCTE
🇵🇹 Portugal
NieveEurocodePTVientoEurocodePT
Con soporte para:
- zonas climáticas
- altitud
- interpolación por tablas normativas
- periodos de retorno
- coeficientes probabilísticos
- densidad de nieve y aire
- carga accidental
- tablas de resultados en
pandas - etc
🌬️ Base para acciones de viento
La librería incluye clases base para viento según Eurocódigo, preparadas para especializaciones por país (Anejos Nacionales).
🔄 Conversor de unidades integrado
Incluye utilidades para conversión entre:
Velocidad
m/skm/hmph
Presión
PakPakgf/cm2ton/cm2
También permite conversión física entre:
- velocidad → presión dinámica
- presión → velocidad equivalente
📦 Instalación
pip install sunfer-clima
🚀 Uso rápido
Ejemplo 1 — nieve CTE
from sunfer_clima.acciones.nieve.cte import NieveCTE
nieve = NieveCTE(zona_nieve=3, altitud=450)
nieve.calcular()
print(nieve.obtener("SKN"))
print(nieve.obtener("SAD"))
print(nieve.tabla())
Ejemplo 2 — Eurocódigo España
from sunfer_clima.acciones.nieve.es import NieveEurocodeES
nieve = NieveEurocodeES(3, 750)
nieve.calcular()
print(nieve.tabla())
Ejemplo 3 — Eurocódigo Portugal
from sunfer_clima.acciones.pt.nieve import NieveEurocodePT
nieve = NieveEurocodePT("Z2", 850)
nieve.calcular()
print(nieve.obtener("SKN"))
Ejemplo 4 — conversión de unidades
from sunfer_clima.utilidades.conversor import convertir
v = convertir(36, "km/h", "m/s")
q = convertir(10, "m/s", "Pa")
🧠 Filosofía de diseño
La librería está construida sobre una clase abstracta base:
AccionClimatica
que garantiza una API homogénea:
calcular()
tabla()
normativa()
obtener()
parametros()
ver_parametros()
Esto permite que cualquier acción climática futura comparta la misma interfaz.
Ejemplo:
accion.calcular()
valor = accion.obtener("SKN")
Ideal para integrarse con:
- generadores de combinaciones
- motores FEM
- GUIs
- APIs REST
- informes automáticos
🧪 Testing
La librería dispone de tests automáticos completos con pytest.
Cobertura actual:
- ✅ clases abstractas
- ✅ setters y validaciones
- ✅ interpolación de tablas
- ✅ ramas de error
- ✅ periodos de retorno
- ✅ conversor físico de unidades
- ✅ DataFrames de resultados
- ✅ métodos auxiliares
- ✅ normativa
Ejecutar tests:
pytest -v
Con cobertura:
pytest --cov=sunfer_clima --cov-report=html
🏗️ Roadmap
Próximas funcionalidades previstas:
- 🌍 mapas GIS de acciones climáticas
- 🇪🇺 más anejos nacionales
🌍 Ecosistema Sunfer
sunfer_clima forma parte del ecosistema:
sunfer-climasunfer-loadssunfer-combinacionessunfer-femsunfer-core
orientado a construir un framework open-source de cálculo estructural profesional.
📄 Licencia
MIT License
👨💻 Autor
Rafa Crespo
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sunfer_clima-0.1.1.tar.gz.
File metadata
- Download URL: sunfer_clima-0.1.1.tar.gz
- Upload date:
- Size: 57.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9428f73ca561e7eb6592cba33c27a553b0a896f23fa99198d9c38ac8d4cd62e6
|
|
| MD5 |
21c873f9442ffc3a2528ba0d63bcfa23
|
|
| BLAKE2b-256 |
16868aacb8880f7a559b9f5d2b47786070ffabaa1232ae6497fdac92d1f2287c
|
File details
Details for the file sunfer_clima-0.1.1-py3-none-any.whl.
File metadata
- Download URL: sunfer_clima-0.1.1-py3-none-any.whl
- Upload date:
- Size: 72.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b47925e9182204670399cfa9ec80421cdd0a346d7d9474cac4c250c82fd06fa5
|
|
| MD5 |
8964b26a15b2a53afe2d92ac522d7988
|
|
| BLAKE2b-256 |
f3420817ed6bbaa4caa3a22ee772821a7e1d63cd679266d5307898a9f4239e17
|