Skip to main content

eulumdat-ugr

PyPI version Python License: MIT DOI

UGR (Unified Glare Rating) calculation from EULUMDAT (.ldt) photometric files — part of the eulumdat-* ecosystem.

Produces the full 19 × 10 UGR table per CIE 117:1995 and CIE 190:2010, compatible with DIALux and Relux catalogue output.

Installation

pip install eulumdat-ugr

Quick start

from pyldt import LdtReader
from eulumdat_ugr import UgrCalculator

ldt = LdtReader.read("luminaire.ldt")
result = UgrCalculator.compute(ldt)

# NumPy array (19, 10)
print(result.values)

# Export to CSV
with open("ugr_table.csv", "w") as f:
    f.write(result.to_csv())

# Export to JSON (compact)
with open("ugr_table.json", "w") as f:
    f.write(result.to_json())

# Export to JSON (human-readable)
with open("ugr_table.json", "w") as f:
    f.write(result.to_json(indent=2))

Output format

result.values is a (19 × 10) NumPy array:

  • 19 rows — standard room configurations from CIE 190:2010 (2H×2H to 12H×8H)
  • Columns 0–4 — crosswise orientation, 5 reflectance combinations
  • Columns 5–9 — endwise orientation, same 5 reflectance combinations

Reflectance combinations (col % 5):

Index Ceiling Walls Reference plane
0 0.7 0.5 0.2
1 0.7 0.3 0.2
2 0.5 0.5 0.2
3 0.5 0.3 0.2
4 0.3 0.3 0.2

Standards

  • CIE 117:1995 — UGR formula, Guth position index (Table 4.1)
  • CIE 190:2010 — tabular method, background luminance (E_WID), standard room geometry

Validation

Validated against DIALux and Relux reference tables on 11 luminaire samples (SHR = 0.25):

Reference Max deviation
Relux ≤ 0.43 UGR
DIALux ≤ 1.01 UGR

DIALux values are systematically 0.1–0.8 UGR below Relux for small rooms (k ≤ 2.0) — a known inter-software variation. Our implementation follows CIE 190:2010 and aligns with Relux.

Dependencies

Geometry

Fixed geometry per CIE 190:2010 §4.2:

  • H = 2.0 m (luminaire height above observer eye level)
  • Observer at mid-point of short wall, eye level 1.2 m
  • SHR = 0.25 (standard catalogue spacing)

Release files for eulumdat-ugr 1.0.2

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

Source distribution (sdist)

Source distribution for eulumdat-ugr 1.0.2
File Size Uploaded
eulumdat_ugr-1.0.2.tar.gz 27.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for eulumdat-ugr 1.0.2
File Interpreter ABI Platform
eulumdat_ugr-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 45.1 kB

Release files / eulumdat_ugr-1.0.2.tar.gz

Download URL eulumdat_ugr-1.0.2.tar.gz
Size 27.4 kB
Tags Source
SHA-256 checksum
How to use checksums
55a3a0210f95a9087e83a4bce0f271ea8e61e0bd58bca9457e8e4f72fec99084
BLAKE2b-256 checksum
How to use checksums
77c0129a6a0fb82b247283bd373431745375f973e9fdb9738f778ed7cd25b9e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.11

Release files / eulumdat_ugr-1.0.2-py3-none-any.whl

Download URL eulumdat_ugr-1.0.2-py3-none-any.whl
Size 17.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
94722bb82c5e078d69d969b37b19c44b79f6363d8a893371c8b20112a334ce3e
BLAKE2b-256 checksum
How to use checksums
19a99cb7397e64d7b70109ec8f44da7f7fc7ad89d3e365d169068938ad5c6f7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.11

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 release files

1.0.1

2 release files

1.0.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