Skip to main content

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, Italia)
  • 🇪🇸 CTE
  • 🇮🇹 NTC2018

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

  • NieveCTE
  • VientoCTE
  • NieveEurocodeES
  • VientoEurocodeES

🇵🇹 Portugal

  • NieveEurocodePT
  • VientoEurocodePT

🇮🇹 Italia

  • NieveNTC2018
  • VientoNTC2018
  • NieveEurocodeIT
  • VientoEurocodeIT

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/s
  • km/h
  • mph

Presión

  • Pa
  • kPa
  • kgf/cm2
  • ton/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-clima
  • sunfer-loads
  • sunfer-combinaciones
  • sunfer-fem
  • sunfer-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

sunfer_clima-0.2.0.tar.gz (66.0 kB view details)

Uploaded Source

Built Distribution

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

sunfer_clima-0.2.0-py3-none-any.whl (84.5 kB view details)

Uploaded Python 3

File details

Details for the file sunfer_clima-0.2.0.tar.gz.

File metadata

  • Download URL: sunfer_clima-0.2.0.tar.gz
  • Upload date:
  • Size: 66.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.0

File hashes

Hashes for sunfer_clima-0.2.0.tar.gz
Algorithm Hash digest
SHA256 44a365717da302133abead0f1b2d964a051c3f517dd629be9d7f905e4fd1f24f
MD5 8bb1d468cd97f66c9d75efa6f21e1c57
BLAKE2b-256 27177ec2f211dba8afa8e878061328608c92471c8af8e621da15f9b877b3582e

See more details on using hashes here.

File details

Details for the file sunfer_clima-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: sunfer_clima-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 84.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.0

File hashes

Hashes for sunfer_clima-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c5570d10d14a8b76636435c29836bab1f06774563a3ca157f3de3a51766c2fc9
MD5 c3a45c2ca56dbc8227e0c053070a1ba3
BLAKE2b-256 02c80076dd8bde8b6fb4e086998aead2164f7107d5501d0d274ca6295453a502

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