prism-risk 0.6.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- prism_risk-0.6.0/CITATION.cff +26 -0
- prism_risk-0.6.0/CURRENT_STATUS.json +123 -0
- prism_risk-0.6.0/LICENSE +21 -0
- prism_risk-0.6.0/MANIFEST.in +9 -0
- prism_risk-0.6.0/PKG-INFO +478 -0
- prism_risk-0.6.0/README.md +454 -0
- prism_risk-0.6.0/docs/IJHE_/354/227/260/352/265/254/355/224/204/353/241/234/355/206/240/354/275/234.md +83 -0
- prism_risk-0.6.0/docs/PRISM_v060_/353/252/205/354/271/255/352/263/274/354/202/254/354/232/251/354/225/210/353/202/264_20261008.md +29 -0
- prism_risk-0.6.0/docs/TNO_LH2_v030_/353/271/210/353/217/204/353/252/250/353/223/210_/352/260/234/353/260/234/352/270/260/353/241/235_20261008.md +91 -0
- prism_risk-0.6.0/docs/TNO_LH2_v040_/354/204/244/353/271/204/352/262/275/352/263/204/354/227/260/352/262/260_/352/260/234/353/260/234/352/270/260/353/241/235_20261008.md +65 -0
- prism_risk-0.6.0/docs/TNO_LH2_v050_/354/230/265/354/205/224/353/204/220/353/252/250/353/223/234_/352/260/234/353/260/234/352/270/260/353/241/235_20261008.md +51 -0
- prism_risk-0.6.0/docs/TNO_/354/234/204/355/227/230/354/204/261/355/217/211/352/260/200_/352/265/254/354/266/225/352/270/260/353/212/245_/354/203/201/354/204/270/353/252/251/353/241/235_20261008.md +203 -0
- prism_risk-0.6.0/docs//352/260/234/353/260/234/354/247/204/355/226/211_20261008.md +65 -0
- prism_risk-0.6.0/docs//353/252/250/353/223/210/352/265/254/354/241/260/354/231/200_GitHub_/352/264/200/353/246/254.md +44 -0
- prism_risk-0.6.0/docs//353/260/251/354/266/234/353/266/200/355/204/260_/354/265/234/354/242/205/355/224/274/355/225/264_/354/227/260/352/262/260/354/231/204/353/243/214_20261008.md +108 -0
- prism_risk-0.6.0/docs//353/263/204/353/217/204/354/204/244/353/271/204/353/252/250/353/215/270/352/263/274_/354/225/241/355/231/224/354/210/230/354/206/214/354/234/240/353/213/233_/352/262/260/355/225/251/352/262/200/355/206/240_20261008.md +141 -0
- prism_risk-0.6.0/examples/consequence_facility.json +164 -0
- prism_risk-0.6.0/examples/consequence_request.json +110 -0
- prism_risk-0.6.0/examples/lh2_frequency_facility.json +117 -0
- prism_risk-0.6.0/examples/lh2_frequency_plan.json +73 -0
- prism_risk-0.6.0/examples/prism_lh2_mode.json +1 -0
- prism_risk-0.6.0/examples/prism_standard_mode.json +1 -0
- prism_risk-0.6.0/examples/refuelling_station.json +156 -0
- prism_risk-0.6.0/examples/storage_terminal.json +156 -0
- prism_risk-0.6.0/examples/tno_lh2_mode.json +3 -0
- prism_risk-0.6.0/examples/tno_standard_mode.json +3 -0
- prism_risk-0.6.0/examples/transfer_station.json +156 -0
- prism_risk-0.6.0/pyproject.toml +48 -0
- prism_risk-0.6.0/setup.cfg +4 -0
- prism_risk-0.6.0/src/lh2_tno/__init__.py +2 -0
- prism_risk-0.6.0/src/lh2_tno/backend.py +75 -0
- prism_risk-0.6.0/src/lh2_tno/chain_worker.py +484 -0
- prism_risk-0.6.0/src/lh2_tno/cli.py +62 -0
- prism_risk-0.6.0/src/lh2_tno/consequences.py +221 -0
- prism_risk-0.6.0/src/lh2_tno/contracts.py +162 -0
- prism_risk-0.6.0/src/lh2_tno/data/frequency_catalogue.json +819 -0
- prism_risk-0.6.0/src/lh2_tno/equipment_boundary.py +107 -0
- prism_risk-0.6.0/src/lh2_tno/frequency.py +290 -0
- prism_risk-0.6.0/src/lh2_tno/pipeline.py +68 -0
- prism_risk-0.6.0/src/lh2_tno/resolved_gas_worker.py +47 -0
- prism_risk-0.6.0/src/lh2_tno/risk.py +94 -0
- prism_risk-0.6.0/src/lh2_tno/service.py +64 -0
- prism_risk-0.6.0/src/lh2_tno/source.py +74 -0
- prism_risk-0.6.0/src/lh2_tno/telemetry.py +111 -0
- prism_risk-0.6.0/src/lh2_tno/worker.py +133 -0
- prism_risk-0.6.0/src/lh2_tno//352/260/234/353/260/234/352/270/260/353/241/235_/354/225/210/353/202/264.md +9 -0
- prism_risk-0.6.0/src/prism_risk.egg-info/PKG-INFO +478 -0
- prism_risk-0.6.0/src/prism_risk.egg-info/SOURCES.txt +62 -0
- prism_risk-0.6.0/src/prism_risk.egg-info/dependency_links.txt +1 -0
- prism_risk-0.6.0/src/prism_risk.egg-info/entry_points.txt +4 -0
- prism_risk-0.6.0/src/prism_risk.egg-info/requires.txt +5 -0
- prism_risk-0.6.0/src/prism_risk.egg-info/top_level.txt +2 -0
- prism_risk-0.6.0/src/tno_host.py +127 -0
- prism_risk-0.6.0/tests/test_backend.py +17 -0
- prism_risk-0.6.0/tests/test_consequence_service.py +55 -0
- prism_risk-0.6.0/tests/test_consequences.py +87 -0
- prism_risk-0.6.0/tests/test_contracts.py +61 -0
- prism_risk-0.6.0/tests/test_equipment_boundary.py +173 -0
- prism_risk-0.6.0/tests/test_frequency.py +198 -0
- prism_risk-0.6.0/tests/test_modes.py +130 -0
- prism_risk-0.6.0/tests/test_pipeline.py +21 -0
- prism_risk-0.6.0/tests/test_risk.py +63 -0
- prism_risk-0.6.0/tests/test_source.py +25 -0
- prism_risk-0.6.0/tests/test_telemetry.py +48 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
cff-version: 1.2.0
|
|
2
|
+
message: "If you use PRISM, please cite this software release."
|
|
3
|
+
type: software
|
|
4
|
+
title: "PRISM: Process Risk Integration and Scenario Modeling"
|
|
5
|
+
authors:
|
|
6
|
+
- family-names: "Lee"
|
|
7
|
+
given-names: "Ugwiyeon"
|
|
8
|
+
affiliation: "Korea Gas Safety Corporation"
|
|
9
|
+
version: "0.6.0"
|
|
10
|
+
date-released: 2026-10-08
|
|
11
|
+
doi: "10.5281/zenodo.23241359"
|
|
12
|
+
repository-code: "https://github.com/lyullee/prism"
|
|
13
|
+
url: "https://pypi.org/project/prism-risk/"
|
|
14
|
+
license: MIT
|
|
15
|
+
keywords:
|
|
16
|
+
- liquid hydrogen
|
|
17
|
+
- quantitative risk assessment
|
|
18
|
+
- digital twin
|
|
19
|
+
- consequence modeling
|
|
20
|
+
abstract: >-
|
|
21
|
+
Research framework connecting generic LH2 facility contracts, literature-based
|
|
22
|
+
initiating frequencies, isolated source-pinned physical models, known leak
|
|
23
|
+
telemetry and conditional human-harm evaluation. Numerical diagnostic chain
|
|
24
|
+
implementation is distinguished from complete facility QRA, independent physical
|
|
25
|
+
validation and fresh-physics real-time performance, which remain incomplete or
|
|
26
|
+
unverified. External physics providers are required and distributed separately.
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
{
|
|
2
|
+
"date_kst": "2026-10-08",
|
|
3
|
+
"package_version": "0.6.0",
|
|
4
|
+
"end_to_end_diagnostic_chain_implemented": true,
|
|
5
|
+
"legacy_tno_frequency_library_entries": 16,
|
|
6
|
+
"legacy_tno_lh2_frequency_entries": 6,
|
|
7
|
+
"legacy_tno_automatic_frequency_lookup_and_scenario_enumeration": true,
|
|
8
|
+
"legacy_tno_weather_integrated_ir_and_fn_implemented": true,
|
|
9
|
+
"new_lh2_path_legacy_frequency_and_event_generator_connected": false,
|
|
10
|
+
"complete_tno_purple_chapter3_loc_baseline_implemented": false,
|
|
11
|
+
"tno_function_inventory": "docs/TNO_위험성평가_구축기능_상세목록_20261008.md",
|
|
12
|
+
"actual_gas_case_executed": true,
|
|
13
|
+
"actual_source_rainout_dynamic_pool_case_executed": true,
|
|
14
|
+
"normalized_sensor_state_to_consequences_connected": true,
|
|
15
|
+
"full_equipment_digital_twin_integrated": false,
|
|
16
|
+
"equipment_twin_provider_project": "액화수소검사지원센터 모델링",
|
|
17
|
+
"equipment_twin_provider_thread": "액화수소 설비 디지털 트윈 모델링#2",
|
|
18
|
+
"equipment_coupling_boundary_export_demonstrated": true,
|
|
19
|
+
"equipment_coupling_requires_interface_work": true,
|
|
20
|
+
"equipment_coupling_review": "docs/별도설비모델과_액화수소유닛_결합검토_20261008.md",
|
|
21
|
+
"cli_execution_verified": true,
|
|
22
|
+
"unit_contract_conservation_tests_passed": 154,
|
|
23
|
+
"actual_backend_edge_checks_passed": 7,
|
|
24
|
+
"fresh_gas_case_elapsed_seconds_approximate": 3,
|
|
25
|
+
"fresh_pool_case_elapsed_seconds_observed_range": [
|
|
26
|
+
7,
|
|
27
|
+
10
|
|
28
|
+
],
|
|
29
|
+
"exact_cache_lookup_milliseconds_observed_range": [
|
|
30
|
+
20,
|
|
31
|
+
40
|
|
32
|
+
],
|
|
33
|
+
"physical_validation_claim": false,
|
|
34
|
+
"facility_validation": "WITHHELD",
|
|
35
|
+
"one_hz_fresh_physics_demonstrated": false,
|
|
36
|
+
"current_scope": "Outdoor diagnostic integrated source chain plus resolved horizontal atmospheric low-Mach gas exits; frequency catalogue and single matched accident binding; full facility annual QRA and twin feedback remain incomplete.",
|
|
37
|
+
"unsupported": [
|
|
38
|
+
"indoor",
|
|
39
|
+
"vertical_only_nozzle",
|
|
40
|
+
"DDT_detonation",
|
|
41
|
+
"moving_pool_deposition_center",
|
|
42
|
+
"unresolved_airborne_liquid",
|
|
43
|
+
"weather_integrated_total_annual_IR",
|
|
44
|
+
"sensor_inverse_leak_size_or_automatic_alarm_to_frequency",
|
|
45
|
+
"instantaneous_inventory_consequences_in_new_chain",
|
|
46
|
+
"600s_inventory_release_in_new_chain",
|
|
47
|
+
"two_sided_pipe_rupture_in_new_chain",
|
|
48
|
+
"atmospheric_storage_frequency_profile",
|
|
49
|
+
"vacuum_loss_initiation_frequency",
|
|
50
|
+
"normal_vent_demand_frequency",
|
|
51
|
+
"resolved_liquid_or_two_phase_exit",
|
|
52
|
+
"underexpanded_or_high_Mach_resolved_exit",
|
|
53
|
+
"PH_upstream_nozzle_discharge_for_saturated_liquid",
|
|
54
|
+
"bidirectional_dynamic_leak_inventory_energy_feedback"
|
|
55
|
+
],
|
|
56
|
+
"record": "docs/방출부터_최종피해_연결완료_20261008.md",
|
|
57
|
+
"results": "results/20261008/full_chain",
|
|
58
|
+
"earlier_records": "results/20261008/integration_summary.json and initial docs describe the earlier component-only stage; preserved as historical verification records",
|
|
59
|
+
"frequency_catalogue_profiles": 17,
|
|
60
|
+
"frequency_catalogue_event_rows": 55,
|
|
61
|
+
"new_lh2_path_reviewed_frequency_catalogue_implemented": true,
|
|
62
|
+
"new_lh2_path_single_tank_hole_event_binding_implemented": true,
|
|
63
|
+
"new_lh2_path_automatic_frequency_to_actual_chain_demonstrated": true,
|
|
64
|
+
"frequency_catalogue_uses_reviewed_legacy_lh2_table_snapshot": true,
|
|
65
|
+
"frequency_field_update_contract_implemented": true,
|
|
66
|
+
"frequency_field_update_applied": false,
|
|
67
|
+
"frequency_field_validation": false,
|
|
68
|
+
"frequency_record": "docs/TNO_LH2_v030_빈도모듈_개발기록_20261008.md",
|
|
69
|
+
"frequency_results": "results/20261008/frequency_v030",
|
|
70
|
+
"total_facility_annual_risk_complete": false,
|
|
71
|
+
"automated_event_generation_scope": "Reviewed 17 profiles; explicit inventory ownership/length/count and applicability. No implicit proxies.",
|
|
72
|
+
"field_frequency_data_availability": "unavailable_user_confirmed",
|
|
73
|
+
"field_frequency_data_required_for_development": false,
|
|
74
|
+
"field_frequency_data_required_for_first_manuscript": false,
|
|
75
|
+
"default_frequency_research_mode": "literature-based baseline and uncertainty/sensitivity assessment",
|
|
76
|
+
"field_frequency_update_role": "optional future extension, inactive without confirmed events and exposure",
|
|
77
|
+
"github_repository": "https://github.com/lyullee/prism",
|
|
78
|
+
"github_repository_private": true,
|
|
79
|
+
"github_main_baseline": "v0.6.0",
|
|
80
|
+
"github_development_branch": "main",
|
|
81
|
+
"module_structure": "PRISM common launcher with standard default and optional LH2 mode; internal providers remain separate",
|
|
82
|
+
"equipment_resolved_atmospheric_gas_source_supported": true,
|
|
83
|
+
"equipment_PH_to_gas_exit_checked": true,
|
|
84
|
+
"equipment_flow_recalculation_in_resolved_path": false,
|
|
85
|
+
"equipment_resolved_exit_to_final_harm_actual_execution": true,
|
|
86
|
+
"equipment_provider_clock_and_mass_static_enthalpy_ledger_checked": true,
|
|
87
|
+
"equipment_normal_vent_excluded_from_random_leak_frequency": true,
|
|
88
|
+
"equipment_upstream_service_frequency_compatibility_checked": true,
|
|
89
|
+
"actual_equipment_coupling_scope": "Native VentStack/SteadyNetwork: two prescribed synthetic steady PH states, 0.37 s closure, horizontal atmospheric gas exit Mach<=0.3; no tank feedback or field calibration.",
|
|
90
|
+
"equipment_coupling_record": "docs/TNO_LH2_v040_설비경계연결_개발기록_20261008.md",
|
|
91
|
+
"equipment_coupling_results": "results/20261008/equipment_coupling_v040",
|
|
92
|
+
"unified_tno_mode_launcher_implemented": true,
|
|
93
|
+
"default_execution_mode": "standard",
|
|
94
|
+
"optional_execution_modes": [
|
|
95
|
+
"lh2"
|
|
96
|
+
],
|
|
97
|
+
"automatic_mode_fallback": false,
|
|
98
|
+
"original_tno_source_modified_for_mode_selection": false,
|
|
99
|
+
"standard_mode_actual_legacy_qra_executed": true,
|
|
100
|
+
"lh2_mode_actual_consequence_execution": true,
|
|
101
|
+
"mode_record": "docs/TNO_LH2_v050_옵셔널모드_개발기록_20261008.md",
|
|
102
|
+
"mode_results": "results/20261008/mode_v050",
|
|
103
|
+
"system_name": "PRISM",
|
|
104
|
+
"system_full_name": "Process Risk Integration and Scenario Modeling",
|
|
105
|
+
"distribution_name": "prism-risk",
|
|
106
|
+
"primary_cli": "prism",
|
|
107
|
+
"branding_record": "docs/PRISM_v060_명칭과사용안내_20261008.md",
|
|
108
|
+
"branding_results": "results/20261008/prism_v060",
|
|
109
|
+
"previous_repository": "https://github.com/lyullee/tno-lh2",
|
|
110
|
+
"previous_repository_removal_policy": "User-requested deletion after new upload is verified; publication receipt records outcome",
|
|
111
|
+
"numerical_physics_changed_in_v060": false,
|
|
112
|
+
"previous_repository_deleted": true,
|
|
113
|
+
"previous_repository_deletion_verified_kst": "2026-10-08",
|
|
114
|
+
"local_development_branch": "codex/prism-development",
|
|
115
|
+
"software_license": "MIT",
|
|
116
|
+
"pypi_project_name": "prism-risk",
|
|
117
|
+
"pypi_release_version": "0.6.0",
|
|
118
|
+
"pypi_publication_status": "release_prepared_not_yet_published",
|
|
119
|
+
"zenodo_version_doi": "10.5281/zenodo.23241359",
|
|
120
|
+
"zenodo_record_id": "23241359",
|
|
121
|
+
"zenodo_publication_status": "reserved_draft_not_registered",
|
|
122
|
+
"public_artifacts_scope": "PRISM own source, examples, tests, documentation and wheel; external providers and raw field data excluded"
|
|
123
|
+
}
|
prism_risk-0.6.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Ugwiyeon Lee
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
include README.md CURRENT_STATUS.json LICENSE CITATION.cff
|
|
2
|
+
recursive-include src *.py *.json *.md
|
|
3
|
+
recursive-include examples *.json
|
|
4
|
+
recursive-include tests *.py
|
|
5
|
+
recursive-include docs *.md
|
|
6
|
+
prune results
|
|
7
|
+
prune build
|
|
8
|
+
prune dist
|
|
9
|
+
global-exclude __pycache__ *.pyc *.pyo
|