Skip to main content

ngcolombia banner


ngcolombia

Composición química, poder calorífico e índice de Wobbe del gas natural en la red colombiana, desde Python.

Paquete PyPI - Version Python Version
Build Publish to PyPI
Meta License Last Commit Repo Stars

Bot de Telegram

QR del bot de Telegram ngcolombia

Consulta los datos de la librería desde Telegram, sin escribir código.

El bot @ngcolombia_bot recibe una fecha y un punto de medición y entrega:

  • la composición [Inertes, CH4, C2H6, C3H8 y pesados (I-Butano + N-Butano + I-Pentano + N-Pentano + Hexano + Neopentano)]
  • las propiedades [Poder calorífico superior (kWh/m3), Gravedad específica e Índice de Wobbe (kWh/m3)]

Escanea el QR o ábrelo en Telegram.

¿Qué es ngcolombia?

ngcolombia es una librería de Python que automatiza la consulta de la cromatografía del gas natural (composición química, poder calorífico HHV, gravedad específica e índice de Wobbe) en los puntos de medición de la red colombiana, con datos históricos desde el 2019-07-01, publicados diariamente por TGI (Grupo de Energía de Bogotá).

En lugar de consultar manualmente los reportes desde el portal de TGI, ngcolombia te entrega esos datos directamente como estructuras de Python listas para usar en análisis, facturación energética, modelos de balance de gas o reportes regulatorios (CREG).

Ideal para ingenieros de gas, analistas del sector energético, desarrolladores de software para el sector de hidrocarburos, e investigadores del gas natural y de sus usos y aplicaciones en Colombia.

Tabla de contenido

Características

  • Consulta la composición química, el poder calorífico superior (HHV), la gravedad específica y el índice de Wobbe del gas natural por fecha y punto de medición en la red.
  • Convierte la composición al formato estándar GRI-3.
  • Entrega propiedades en unidades ISO (kWh/m³, kg/m³).
  • Cachea localmente las consultas de forma persistente (Linux: ~/.local/share/ngcolombia/ngcolombia_cache.db; macOS: ~/Library/Application Support/ngcolombia/ngcolombia_cache.db; Windows: %LOCALAPPDATA%\ngcolombia\ngcolombia_cache.db). La ruta se puede cambiar con la variable de entorno NGCOLOMBIA_CACHE.
  • Sin necesidad de consulta manual del portal de TGI.

Instalación

pip install ngcolombia

Requisitos: Python >= 3.8

API

reporte_cromatografias

Objeto ya configurado para consultar los datos de gas natural. Se importa directamente desde el paquete y está listo para usarse.

Métodos

Método Descripción
obtener_puntos() Retorna la lista de puntos de medida disponibles.
fecha_punto(fecha, punto) Obtiene los datos de un punto para una fecha específica (formato YYYY-MM-DD).
rango_fechas_punto(fecha_inicio, fecha_fin, punto) Obtiene los datos de un punto para un rango de fechas.
composicion_gri3(fecha, punto) Transforma la composición del gas al formato GRI-3.
propiedades_iso(fecha, punto) Calcula propiedades del gas en unidades ISO.
limpiar_cache() Vacía la caché local (puntos, mediciones y ausencias).

Datos entregados por fecha_punto y rango_fechas_punto

  • fecha (YYYY-MM-DD): Fecha de la medición.
  • hv: Poder calorífico superior (HHV) [kBTU/ft³]
  • n2: N2 [%]
  • co2: CO2 [%]
  • metano: Metano [%]
  • etano: Etano [%]
  • propano: Propano [%]
  • i_butano: I-Butano [%]
  • n_butano: N-Butano [%]
  • i_pentane: I-Pentano [%]
  • n_pentano: N-Pentano [%]
  • hexano: Hexano [%]
  • neopentano: Neopentano [%]
  • gravedad_especifica: Gravedad específica (SG)
  • densidad: Densidad (ρ) [lb/ft³]
  • indice_wobbe: Índice de Wobbe respecto al HHV [kBTU/ft³]
  • total: Suma de los porcentajes en la composición presentada

Datos entregados por composicion_gri3

  • N2: Nitrógeno [%]
  • CO2: Dióxido de carbono [%]
  • CH4: Metano [%]
  • C2H6: Etano [%]
  • C3H8: Hidrocarburos pesados agrupados (propano, butanos, pentanos, hexano y neopentano) [%]

Datos entregados por propiedades_iso

  • HHV_kWh_m3: Poder calorífico superior [kWh/m³]
  • SG: Gravedad específica
  • ρ_kg_m3: Densidad [kg/m³]
  • indice_wobbe_kWh_m3: Índice de Wobbe [kWh/m³]

Uso rápido

from ngcolombia import reporte_cromatografias

puntos = reporte_cromatografias.obtener_puntos()
print(len(puntos))
print(puntos[:8])
501
['ACACIAS LLANOGAS', 'ACACIAS MADIGAS', 'ACORDIONERO_PS', 'AGUACHICA', 'AGUACHICA II', 'AGUACLARA', 'AGUAZUL', 'AGUSTIN CODAZZI']
datos = reporte_cromatografias.fecha_punto(fecha="2026-08-24", punto="BALLENA")
print(datos)
{'fecha': '2026-08-24', 'hv': 0.99603, 'n2': 1.4182, 'co2': 0.2781, 'metano': 97.9544, 'etano': 0.2374, 'propano': 0.0541, 'i_butano': 0.0223, 'n_butano': 0.0084, 'i_pentane': 0.0083, 'n_pentano': 0.002, 'hexano': 0.0168, 'neopentano': 0.0, 'gravedad_especifica': 0.5661, 'densidad': 0.04309, 'indice_wobbe': 1.32381, 'total': 100.0}
datos = reporte_cromatografias.rango_fechas_punto(
    fecha_inicio="2026-08-24",
    fecha_fin="2026-08-26",
    punto="BALLENA",
)
print(datos)
[{'fecha': '2026-08-24', 'hv': 0.99603, 'n2': 1.4182, 'co2': 0.2781, 'metano': 97.9544, 'etano': 0.2374, 'propano': 0.0541, 'i_butano': 0.0223, 'n_butano': 0.0084, 'i_pentane': 0.0083, 'n_pentano': 0.002, 'hexano': 0.0168, 'neopentano': 0.0, 'gravedad_especifica': 0.5661, 'densidad': 0.04309, 'indice_wobbe': 1.32381, 'total': 100.0}, {'fecha': '2026-08-25', 'hv': 0.99603, 'n2': 1.4182, 'co2': 0.2781, 'metano': 97.9544, 'etano': 0.2374, 'propano': 0.0541, 'i_butano': 0.0223, 'n_butano': 0.0084, 'i_pentane': 0.0083, 'n_pentano': 0.002, 'hexano': 0.0168, 'neopentano': 0.0, 'gravedad_especifica': 0.5661, 'densidad': 0.04309, 'indice_wobbe': 1.32381, 'total': 100.0}, {'fecha': '2026-08-26', 'hv': 0.99603, 'n2': 1.4182, 'co2': 0.2781, 'metano': 97.9544, 'etano': 0.2374, 'propano': 0.0541, 'i_butano': 0.0223, 'n_butano': 0.0084, 'i_pentane': 0.0083, 'n_pentano': 0.002, 'hexano': 0.0168, 'neopentano': 0.0, 'gravedad_especifica': 0.5661, 'densidad': 0.04309, 'indice_wobbe': 1.32381, 'total': 100.0}]
composicion = reporte_cromatografias.composicion_gri3(fecha="2026-08-24", punto="BALLENA")
print(composicion)
{'N2': 1.4182, 'CO2': 0.2781, 'CH4': 97.9544, 'C2H6': 0.2374, 'C3H8': 0.1119}
propiedades = reporte_cromatografias.propiedades_iso(fecha="2026-08-24", punto="BALLENA")
print(propiedades)
{'HHV_kWh_m3': 10.308617889881194, 'SG': 0.5661, 'ρ_kg_m3': 0.69021562, 'indice_wobbe_kWh_m3': 13.701044595849146}

Casos de uso

  • Facturación y balance de gas: obtener el poder calorífico diario de un punto para calcular energía entregada (m³ → kWh).
  • Potencia de equipos térmicos: estimar la potencia de calderas, hornos o quemadores a partir del consumo de gas natural y el poder calorífico (HHV) del punto de entrega.
  • Cumplimiento regulatorio: generar reportes históricos de calidad del gas para la CREG u otros entes de control.
  • Modelos de simulación de redes: alimentar modelos hidráulicos o térmicos con composición GRI-3 real.
  • Investigación académica: alimentar modelos con la composición real del gas natural en Colombia.

Comportamiento

  • Las fechas deben tener formato YYYY-MM-DD, no pueden ser futuras respecto al día actual en America/Bogotá y el rango disponible inicia en 2019-07-01.
  • Los nombres de punto no distinguen mayúsculas de minúsculas.
  • Si el punto ingresado no es válido, el módulo imprime sugerencias automáticas.
  • Algunos puntos pueden no tener datos para todas las fechas disponibles.
  • Las consultas se cachean de forma persistente; los datos del día actual (America/Bogotá) no se cachean.
  • Los rangos reutilizan los días ya cacheados y solo descargan las fechas que faltan. Los días históricos sin datos se recuerdan para no volver a consultarlos.
  • Los errores de red o del servidor lanzan ValueError.
  • limpiar_cache() vacía la caché local.

Preguntas frecuentes

¿Qué es el índice de Wobbe? Es una medida de la intercambiabilidad de gases combustibles: indica si dos gases con distinta composición producirán una combustión equivalente en el mismo quemador sin necesidad de reajustarlo.

¿De dónde vienen los datos? De los reportes públicos de cromatografía publicados diariamente por TGI (Grupo de Energía de Bogotá) en su portal BEO.

¿Cada cuánto se actualizan? Diariamente a las 12:10 a.m. (hora America/Bogotá).

¿Necesito una API key? No, los datos son de acceso público.

Fuente de los datos

Los datos son generados por TGI (Grupo de Energía de Bogotá) y son de acceso público: https://beo.tgi.com.co/estadisticas/poder-calorifico-del-gas/

Uso responsable de los datos

Los datos que entrega ngcolombia proceden de los reportes públicos de TGI. Esta librería no está afiliada a TGI, al Grupo de Energía de Bogotá ni a la CREG, y no constituye una fuente oficial. Si vas a usarlos para facturación, balance de gas, cumplimiento regulatorio o decisiones de operación, verifica los valores contra el portal de TGI y contra la normativa vigente. No presentes estos resultados como publicación o certificación de TGI. Usa el caché local para consultas repetidas y evita descargas innecesarias del origen.

Licencia

MIT

Código de conducta

La participación en este proyecto se rige por el Código de Conducta. Al abrir un issue, enviar un pull request o comentar, se espera que lo respetes. Los reportes se reciben en ricardo.najera@udea.edu.co.

Autor

Ricardo Nájera Giraldo 📧 ricardo.najera@udea.edu.co

Metadata

Release files for ngcolombia 0.4.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ngcolombia 0.4.4
File Size Uploaded
ngcolombia-0.4.4.tar.gz 16.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ngcolombia 0.4.4
File Interpreter ABI Platform
ngcolombia-0.4.4-py3-none-any.whl Python 3 none any Details

Total release size: 30.4 kB

Release files / ngcolombia-0.4.4.tar.gz

Download URL ngcolombia-0.4.4.tar.gz
Size 16.3 kB
Tags Source
SHA-256 checksum
How to use checksums
4140bd42f4f9bb16f1590365b3b041fd32100a0e15c96f21129ad3a8e1748573
BLAKE2b-256 checksum
How to use checksums
ac2dfc5a97b6bfb5ec80af720d939d0dd4d375435a29d9d0a27266e96368803f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.

Transparency log

Release files / ngcolombia-0.4.4-py3-none-any.whl

Download URL ngcolombia-0.4.4-py3-none-any.whl
Size 14.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
86c0de8b17046af6321351a56f5bd1d218d9eed8bdc088de9b5bc72e2e453133
BLAKE2b-256 checksum
How to use checksums
593cdaac7394f61ce67daff5da4f4625fb09ed3c248e894d870ba2026c66001e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 3, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.4 This release

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page