Open-source platform for evidence-based nuclear reactor selection integrating parallel Monte Carlo uncertainty quantification, AI/ML risk classification, blockchain governance, and circular economy frameworks for newcomer nuclear countries.
ADSNPP was developed to address a critical gap in nuclear energy governance: the absence of transparent, reproducible, and internationally auditable tools for reactor technology selection in newcomer countries pursuing nuclear power for the first time.
The platform is presented at the IAEA Second Technical Meeting on Open-Source Software for Nuclear Engineering (ONCORE-26), EPFL Lausanne, July 20–24, 2026 — Topic T3: Recent Developments of OSS and Collaborative Initiatives (parallel simulations, GPU acceleration, new numerical methods).
Author: Dr. Florencia Renteria del Toro, PhD
IAEA Fellow | WiN Global | NAYGN Mexico Region Lead
| Module | Description | Standards |
|---|---|---|
| AHP/TOPSIS Engine | 47-indicator MCDA across 6 criterion clusters | IAEA NG-G-3.1, INPRO |
| Parallel Monte Carlo | 10,000-sample Bayesian uncertainty quantification (CPU/GPU) | ISO/IEC 23053 |
| XGBoost Classifier | Procurement outcome risk prediction (340+ historical cases) | IEEE 7001 |
| BERT NLP Scanner | Automated regulatory compliance gap detection | IAEA IRRS/INIR |
| N-CEF Scorer | 5-dimension nuclear circular economy index | N-CEF v2, ISO 14040 |
| Blockchain Layer | Hyperledger Fabric — nuclear material passports + CE credits | INFCIRC/153, ISO/TC 307 |
| DIRI Assessment | Digital Infrastructure Readiness Index for newcomer countries | ITU, IAEA NSS-17 |
| FastAPI Gateway | REST + GraphQL API, JWT auth, OpenAPI 3.1 docs | W3C WCAG 2.1 |
Python 3.11+ | Node.js 20+ | Go 1.21+ | Docker + Composegit clone https://github.com/florenciaren/adsnpp.git
cd adsnpp
pip install -r requirements.txtuvicorn adsnpp.api.gateway:create_app --factory --host 0.0.0.0 --port 8000 --reload
# → Docs at http://localhost:8000/api/docsfrom adsnpp.circular.ncef_engine import NCEFScoringEngine
ce = NCEFScoringEngine()
results = ce.compare_technologies({
"BWRX-300": {
"uranium_utilization_efficiency": 0.79,
"outlet_temp_celsius": 285,
"hlw_volume_norm": 0.30,
"hydrogen_production_readiness": 0.20,
"grid_expansion_potential": 0.85,
"thermal_efficiency": 0.34,
"local_content_fraction": 0.45,
"digital_twin_maturity": 0.82,
"coolant_recycle_fraction": 0.92,
},
"HTR-PM": {
"uranium_utilization_efficiency": 0.82,
"outlet_temp_celsius": 750,
"hlw_volume_norm": 0.25,
"hydrogen_production_readiness": 0.78,
"grid_expansion_potential": 0.72,
"thermal_efficiency": 0.42,
"local_content_fraction": 0.35,
"digital_twin_maturity": 0.71,
"coolant_recycle_fraction": 0.88,
},
})
for r in results:
print(f"{r.technology}: CEI = {r.adjusted_cei:.4f}")
# → HTR-PM: CEI = 0.8213
# → BWRX-300: CEI = 0.8071docker-compose up -d
# Services: api (8000), dashboard (3000), blockchain-node (7051), prometheus (9090)adsnpp/
├── core/ # AHP/TOPSIS/Bayesian decision engine
├── ai/ # XGBoost, BERT, Federated Learning
├── circular/ # N-CEF scoring, LCA, Material Passports
├── blockchain/ # Hyperledger Fabric chaincode (Go) + Python SDK
├── diri/ # Digital Infrastructure Readiness Index
├── api/ # FastAPI gateway (REST + GraphQL)
├── viz/ # React + D3.js dashboard
├── infra/ # Terraform, Kubernetes, Docker
├── tests/ # Unit, integration, security
└── docs/ # MkDocs documentation site
| Environment | N=10,000 samples | Speedup vs Sequential |
|---|---|---|
| Sequential (1 core) | 47.3 s | 1× |
| 4-core CPU | 13.1 s | 3.6× |
| 16-core CPU | 3.4 s | 13.8× |
| NVIDIA A100 GPU (CuPy) | 0.9 s | 52.6× |
- IAEA PRIS — Live reactor performance data
- OpenMC — Neutronics validation of fuel utilization scores
- RAVEN (INL) — Uncertainty quantification interoperability
- Brightway2 / ecoinvent 3.9 — LCA inventory
- Hyperledger Fabric — Blockchain ledger
- IAEA InTouch+ — Safeguards reporting integration (planned)
| Domain | Standards |
|---|---|
| Nuclear Safety | IAEA SSR-2/1, GS-R-3, NG-G-3.1 |
| Safeguards | IAEA INFCIRC/153, NSS-17 |
| LCA | ISO 14040/14044 |
| Cybersecurity | IEC 62645, IAEA NSS-17 |
| AI/ML | IEEE 7001, ISO/IEC 23053 |
| Blockchain | ISO/TC 307, Hyperledger Fabric v2.5 |
| API | OpenAPI 3.1, W3C WCAG 2.1 |
Contributions are warmly welcomed from the ONCORE community!
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Commit your changes:
git commit -m 'feat: add neutronics connector' - Push and open a Pull Request
Please read CONTRIBUTING.md and ensure all tests pass (pytest tests/).
Priority contribution areas:
- OpenMC / SERPENT2 fuel utilization data connectors
- APROS thermal-hydraulic co-simulation bridge
- Additional reactor technology profiles
- Translation of documentation (Spanish, Arabic, French — IAEA working languages)
This project is licensed under the European Union Public Licence v1.2 (EUPL-1.2).
See LICENSE for full terms.
If you use ADSNPP in your research, please cite:
@inproceedings{renteria2026adsnpp,
author = {Renteria del Toro, Florencia},
title = {{ADSNPP}: An Open-Source Algorithmic Decision Platform for Nuclear
Reactor Selection Using Parallel {Monte Carlo}, {AI/ML} Methods
and Blockchain Governance},
booktitle = {Proceedings of the IAEA Second Technical Meeting on Development
and Application of Open-Source Software for Nuclear Engineering
(ONCORE-26)},
address = {EPFL Lausanne, Switzerland},
month = {July},
year = {2026},
url = {https://github.com/florenciaren/adsnpp}
}Dr. Florencia Renteria del Toro, PhD
GitHub: @florenciaren
IAEA Event 458 | ONCORE-26 | Lausanne, Switzerland | July 2026