From c245fe7bd395938e7cc94f964e345e57a1448041 Mon Sep 17 00:00:00 2001 From: Audrey Carson Date: Wed, 2 Apr 2025 09:33:52 -0400 Subject: [PATCH 01/15] feat: CRID groups --- acorn-lib/assets/constants/organization.json | 46 +++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/acorn-lib/assets/constants/organization.json b/acorn-lib/assets/constants/organization.json index 0e4e3f5..864e3c4 100644 --- a/acorn-lib/assets/constants/organization.json +++ b/acorn-lib/assets/constants/organization.json @@ -208,7 +208,51 @@ "alternativeName": "CRID", "additionalType": "division", "keywords": ["cyber", "security"], - "children": [] + "children": [ + { + "name": "Data and Software Engineering", + "alternativeName": "DSE", + "additionalType": "group", + "keywords": [], + "children": [] + + }, + { + "name": "Data Science and Visualization", + "alternativeName": "DSV", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Emerging Cyber Systems Research", + "alternativeName": "ECSR", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Emerging Cyber Technologies Research", + "alternativeName": "ECTR", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Human Analysis and Biometrics", + "alternativeName": "HAB", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Radar and Computational Imaging", + "alternativeName": "RCI", + "additionalType": "group", + "keywords": [], + "children": [] + } + ] }, { "name": "Field Intelligence Operations Division", -- GitLab From d7b2009d7eb4a8abddcee5b492184c35098ed8be Mon Sep 17 00:00:00 2001 From: Audrey Carson Date: Wed, 2 Apr 2025 09:38:13 -0400 Subject: [PATCH 02/15] feat: The rest of CRID groups --- acorn-lib/assets/constants/organization.json | 27 +++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/acorn-lib/assets/constants/organization.json b/acorn-lib/assets/constants/organization.json index 864e3c4..b08bed2 100644 --- a/acorn-lib/assets/constants/organization.json +++ b/acorn-lib/assets/constants/organization.json @@ -251,6 +251,27 @@ "additionalType": "group", "keywords": [], "children": [] + }, + { + "name": "Cyber Physical Systems", + "alternativeName": "CPS", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Energy and Control Systems Security", + "alternativeName": "ECSS", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Vulnerability Science", + "alternativeName": "VS", + "additionalType": "group", + "keywords": [], + "children": [] } ] }, @@ -266,7 +287,11 @@ "alternativeName": "GSHS", "additionalType": "division", "keywords": ["geospatial"], - "children": [] + "children": [ + { + "name": "" + } + ] }, { "name": "Nuclear Nonproliferation Division", -- GitLab From e3fa9b91c86fdb68dd6aaa972078333b2812c71e Mon Sep 17 00:00:00 2001 From: Audrey Carson Date: Wed, 2 Apr 2025 12:52:38 -0400 Subject: [PATCH 03/15] feat: added GSHS groups --- acorn-lib/assets/constants/organization.json | 62 +++++++++++++++++++- 1 file changed, 61 insertions(+), 1 deletion(-) diff --git a/acorn-lib/assets/constants/organization.json b/acorn-lib/assets/constants/organization.json index b08bed2..7900d7c 100644 --- a/acorn-lib/assets/constants/organization.json +++ b/acorn-lib/assets/constants/organization.json @@ -289,7 +289,67 @@ "keywords": ["geospatial"], "children": [ { - "name": "" + "name": "GeoAI", + "alternativeName": "", + "additionalType": "group", + "keywords": ["geospatial"], + "children": [] + }, + { + "name": "Remote Sensing", + "alternativeName": "", + "additionalType": "group", + "keywords": ["geospatial"], + "children": [] + }, + { + "name": "Resilient Communications", + "alternativeName": "", + "additionalType": "group", + "keywords": ["geospatial"], + "children": [] + }, + { + "name": "Autonomous Systems", + "alternativeName": "", + "additionalType": "group", + "keywords": ["geospatial"], + "children": [] + }, + { + "name": "Geomatics", + "alternativeName": "", + "additionalType": "group", + "keywords": ["geospatial"], + "children": [] + }, + { + "name": "Spatial Statistics", + "alternativeName": "", + "additionalType": "group", + "keywords": ["geospatial"], + "children": [] + }, + { + "name": "Built Environment Characterization", + "alternativeName": "", + "additionalType": "group", + "keywords": ["geospatial", "security"], + "children": [] + }, + { + "name": "Geoinformatics Engineering", + "alternativeName": "", + "additionalType": "group", + "keywords": ["geospatial", "security"], + "children": [] + }, + { + "name": "Human Geography", + "alternativeName": "", + "additionalType": "group", + "keywords": ["geospatial", "security"], + "chidlren": [] } ] }, -- GitLab From 7468dbd58f47889089d10ba31c188d62b0ebabdd Mon Sep 17 00:00:00 2001 From: Audrey Carson Date: Wed, 2 Apr 2025 13:19:44 -0400 Subject: [PATCH 04/15] feat: added NND groups --- acorn-lib/assets/constants/organization.json | 142 +++++++++++++++++-- 1 file changed, 131 insertions(+), 11 deletions(-) diff --git a/acorn-lib/assets/constants/organization.json b/acorn-lib/assets/constants/organization.json index 7900d7c..53e3127 100644 --- a/acorn-lib/assets/constants/organization.json +++ b/acorn-lib/assets/constants/organization.json @@ -286,70 +286,77 @@ "name": "Geospatial Science and Human Security Division", "alternativeName": "GSHS", "additionalType": "division", - "keywords": ["geospatial"], + "keywords": [], "children": [ { "name": "GeoAI", "alternativeName": "", "additionalType": "group", - "keywords": ["geospatial"], + "keywords": [], "children": [] }, { "name": "Remote Sensing", "alternativeName": "", "additionalType": "group", - "keywords": ["geospatial"], + "keywords": [], "children": [] }, { "name": "Resilient Communications", "alternativeName": "", "additionalType": "group", - "keywords": ["geospatial"], + "keywords": [], "children": [] }, { "name": "Autonomous Systems", "alternativeName": "", "additionalType": "group", - "keywords": ["geospatial"], + "keywords": [], "children": [] }, { "name": "Geomatics", "alternativeName": "", "additionalType": "group", - "keywords": ["geospatial"], + "keywords": [], "children": [] }, { "name": "Spatial Statistics", "alternativeName": "", "additionalType": "group", - "keywords": ["geospatial"], + "keywords": [], "children": [] }, { "name": "Built Environment Characterization", "alternativeName": "", "additionalType": "group", - "keywords": ["geospatial", "security"], + "keywords": [], "children": [] }, { "name": "Geoinformatics Engineering", "alternativeName": "", "additionalType": "group", - "keywords": ["geospatial", "security"], + "keywords": [], "children": [] }, { "name": "Human Geography", "alternativeName": "", "additionalType": "group", - "keywords": ["geospatial", "security"], + "keywords": [], "chidlren": [] + }, + { + "name": "Location Intelligence", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] } ] }, @@ -358,7 +365,120 @@ "alternativeName": "NND", "additionalType": "division", "keywords": ["nuclear-nonproliferation"], - "children": [] + "children": [ + { + "name": "Information Management Systems", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Systems Management", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Mission Applications", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Material Security and Stewardship", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Detonation Forensics and Response", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Process and Material Characterization", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Collection Science and Engineering", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Advanced Engineering Technologies", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Facility and Systems Security", + "alternativeName": "", + "additionalType": "group", + "keywords": ["security"], + "children": [] + }, + { + "name": "Learning Sciences Group", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Mission Implementation Group", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Transportation Security Engineering and Analysis Group", + "alternativeName": "TSEA", + "additionalType": "group", + "keywords": ["security"], + "children": [] + }, + { + "name": "Implementation Technologies", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Non-Destructive Analysis R&D", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Strategic Commodities and Technologies", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Verification Technologies", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + } + ] } ] }, -- GitLab From dc6c89ba06a8eed65a03fbc1c41bbdcd687ffc54 Mon Sep 17 00:00:00 2001 From: Audrey Carson Date: Thu, 3 Apr 2025 19:55:40 -0400 Subject: [PATCH 05/15] feat: added BESSD groups --- acorn-lib/assets/constants/organization.json | 153 ++++++++++++++++++- 1 file changed, 151 insertions(+), 2 deletions(-) diff --git a/acorn-lib/assets/constants/organization.json b/acorn-lib/assets/constants/organization.json index 53e3127..08bd7a2 100644 --- a/acorn-lib/assets/constants/organization.json +++ b/acorn-lib/assets/constants/organization.json @@ -15,14 +15,163 @@ "alternativeName": "BSD", "additionalType": "division", "keywords": [], - "children": [] + "children": [ + { + "name": "Integrative Microbiomics", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Plant Systems Biology", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Synthetic Biology", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Computational and Predictive Biology", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Information Systems", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Molecular Biophysics", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + } + { + "name": "Bioanalytical Mass Spectrometry", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Biomaterials and Biomass Characterization", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Molecular and Cellular Imaging", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + } + ] }, { "name": "Environmental Sciences Division", "alternativeName": "ESD", "additionalType": "division", "keywords": [], - "children": [] + "children": [ + { + "name": "Biodiversity and Ecosystem Health", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Bioresource Science and Engineering", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Environmental Risk and Energy Analysis", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Water Resource Science and Engineering", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Biogeochemical Dynamics", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Earth Systems Modeling", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Ecosystem Processes", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Plant-Soil Interactions", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Watershed Systems Modeling", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Earth System Data Management and Operations", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Remote Sensing and Environmental Informatics", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Earth Science Database Engineering and Informatics", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + } + ] }, { "name": "Advanced Plant Phenotyping Laboratory", -- GitLab From 185e850bf279535f92ccd19983c1b5342a1b68f4 Mon Sep 17 00:00:00 2001 From: Audrey Carson Date: Thu, 3 Apr 2025 21:24:44 -0400 Subject: [PATCH 06/15] feat: added CCSD groups --- acorn-lib/assets/constants/organization.json | 352 ++++++++++++++++++- 1 file changed, 350 insertions(+), 2 deletions(-) diff --git a/acorn-lib/assets/constants/organization.json b/acorn-lib/assets/constants/organization.json index 08bd7a2..78579e0 100644 --- a/acorn-lib/assets/constants/organization.json +++ b/acorn-lib/assets/constants/organization.json @@ -200,8 +200,237 @@ "alternativeName": "CSED", "additionalType": "division", "keywords": [], - "children": [] + "children": [ + { + "name": "Autonomous and Complex Systems", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Computational Systems Engineering and Cybernetics", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Computational Urban Sciences", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Multiphysics Modeling and Flows", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Scalable Engineering Applications", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Computational Coupled Physics", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Computational Chemistry and Nanomaterials Sciences", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Computational Earth Sciences", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Multiscale Materials", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Biostatistics and Biomedical Informatics", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Scalable Biomedical Modeling", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Multiscale Biomedical Systems", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Quantum Communications and Networking", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Quantum Computing and Sensing", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Quantum Computational Science", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + } + + ] + }, + { + "name": "Computer Science and Mathematics Division", + "alternativeName": "CSMD", + "additionalType": "division", + "keywords": [], + "children": [ + { + "name": "Application Engineering", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Application Engineering", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Architectures and Performance", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Beyond Moore", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Intelligent Systems and Facilities", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Programming Systems", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Software Engineering", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Data Engineering", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Learning Systems", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Performance Engineering", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Visualization", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Workflow Systems", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Data Analysis and Machine Learning", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Discrete Algorithms", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Multiscale Methods and Dynamics", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Systems and Decision Sciences", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + } + + ] + } { "name": "National Center for Computational Sciences", "alternativeName": "NCCS", @@ -216,7 +445,126 @@ "additionalType": "facility", "keywords": [], "children": [] - } + }, + { + "name": "Analytics & AI Methods at Scale", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Workflows and Ecosystem Services", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Technology Integration", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Software Services Development", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "System Acceptance and User Environment", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "User Access, Outreach, and Communications", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "User Assistance", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Data and Platform Services", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "HPC Clusters", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "HPC Scalable Systems", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "HPC Infrastructure Operations", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "HPC Networking", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "HPC Storage and Archive", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "HPC Cybersecurity and Information Engineering", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Advanced Computing for Chemistry and Materials", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + } + { + "name": "Advanced Computing for Nuclear, Particle, and Astrophysics", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Algorithms and Performance Analysis", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + } ] }, { -- GitLab From f40f611a3428a61772fe05bcb0e199da2187e081 Mon Sep 17 00:00:00 2001 From: Audrey Carson Date: Thu, 3 Apr 2025 21:31:37 -0400 Subject: [PATCH 07/15] fix: code error fixes --- acorn-lib/assets/constants/organization.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/acorn-lib/assets/constants/organization.json b/acorn-lib/assets/constants/organization.json index 78579e0..ca5d9ca 100644 --- a/acorn-lib/assets/constants/organization.json +++ b/acorn-lib/assets/constants/organization.json @@ -57,7 +57,7 @@ "additionalType": "group", "keywords": [], "children": [] - } + }, { "name": "Bioanalytical Mass Spectrometry", "alternativeName": "", @@ -430,7 +430,7 @@ } ] - } + }, { "name": "National Center for Computational Sciences", "alternativeName": "NCCS", @@ -550,7 +550,7 @@ "additionalType": "group", "keywords": [], "children": [] - } + }, { "name": "Advanced Computing for Nuclear, Particle, and Astrophysics", "alternativeName": "", -- GitLab From 74c10f76f028956d69fec07081bb1dd887eebd3d Mon Sep 17 00:00:00 2001 From: Audrey Carson Date: Sat, 5 Apr 2025 18:39:12 -0400 Subject: [PATCH 08/15] feat: adding more groups --- acorn-lib/assets/constants/organization.json | 262 ++++++++++++++++++- 1 file changed, 252 insertions(+), 10 deletions(-) diff --git a/acorn-lib/assets/constants/organization.json b/acorn-lib/assets/constants/organization.json index ca5d9ca..2954bb9 100644 --- a/acorn-lib/assets/constants/organization.json +++ b/acorn-lib/assets/constants/organization.json @@ -316,13 +316,6 @@ "additionalType": "division", "keywords": [], "children": [ - { - "name": "Application Engineering", - "alternativeName": "", - "additionalType": "group", - "keywords": [], - "children": [] - }, { "name": "Application Engineering", "alternativeName": "", @@ -585,19 +578,268 @@ "name": "Buildings and Transportation Division", "alternativeName": "BTSD", "additionalType": "division", - "children": [] + "children": [ + { + "name": "Building Envelope Materials Research", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Building Equipment Research", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Integrated Building Deployment and Analysis", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Multifunctional Equipment Integration", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Applied Catalysis Emissions Controls Research", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Electric Drives Research", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Fuel Science and Engine Technologies Research", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Thermal Energy Storage Research", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Transportation Analytics and Decision Sciences", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Vehicle Power Electronics Research", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Applied Research for Mobility Systems", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + } + ] }, { "name": "Electrification and Energy Infrastructures Division", "alternativeName": "EEID", "additionalType": "division", - "children": [] + "children": [ + { + "name": "Emerging and Solid-State Batteries", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Energy Storage and Conversion Manufacturing", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Grid Communications and Security", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": " Grid Systems Modeling and Controls", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": " Grid Interactive Controls", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Grid Systems Architecture", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Grid Systems Hardware", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Multimodal Sensor Analytics", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Power Systems Resilience", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "RF and Intelligent Systems", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Sensors and Electronics", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + } + + ] }, { "name": "Manufacturing Science Division", "alternativeName": "MSD", "additionalType": "division", - "children": [] + "children": [ + { + "name": "Advanced Fiber Manufacturing", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Composites Innovation", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Extreme Environment Materials Process", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Sustainable Manufacturing Technologies", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Chemical Process Scale-Up", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Manufacturing Energy Efficiency Research and Analysis", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Deposition Science and Technology", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Disruptive Manufacturing Systems Development", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Intelligent Machine Tools", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Research Application Development", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Manufacturing Systems Analytics", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "System Automation and Monitoring Research", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Manufacturing Robotics and Controls", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + } + ] }, { "name": "Carbon Fiber Technology Facility", -- GitLab From 8f1904a07c19fe5cf33fddaea1e83d859838805e Mon Sep 17 00:00:00 2001 From: Audrey Carson Date: Sat, 5 Apr 2025 20:02:35 -0400 Subject: [PATCH 09/15] feat: added FFESD groups --- acorn-lib/assets/constants/organization.json | 253 ++++++++++++++++++- 1 file changed, 251 insertions(+), 2 deletions(-) diff --git a/acorn-lib/assets/constants/organization.json b/acorn-lib/assets/constants/organization.json index 2954bb9..591db35 100644 --- a/acorn-lib/assets/constants/organization.json +++ b/acorn-lib/assets/constants/organization.json @@ -888,15 +888,264 @@ "name": "Fusion Energy Division", "alternativeName": "FED", "additionalType": "division", - "children": [] + "children": [ + { + "name": "Advanced Tokamak Physics", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Diagnostics and Control", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Plasma Theory and Modeling", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Power Exhaust and Particle Control", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Blanket and Fuel Cycle", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Fusion Engineering", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Fusion Technology", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Remote Systems", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + } + ] }, { "name": "Nuclear Energy and Fuel Cycle Division", "alternativeName": "NEFCD", "additionalType": "division", - "children": [] + "children": [ + { + "name": "Advanced Reactor Systems", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Deployment, Licensing, and Operations", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Energy Systems Development", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Energy Systems Integration and Modeling", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Modern Nuclear Instrumentation and Controls", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Multiphysics CFD Applications", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Nuclear Structures and Construction", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Risk Methods and Analysis", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Systems Analysis and Optimization", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Fuel Cycle Chemistry Technology", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Nuclear Materials Packaging, Transportation and Systems Analysis", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Used Fuel and Nuclear Material Disposition", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Nuclear Criticality Safety", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Nuclear Data", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Radiation Transport", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Advanced Fuel Fabrication", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Fuel Cladding and Core Internals", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Irradiation Engineering", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Nuclear Fuel Element Performance", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Nuclear and Extreme Environment Measurements", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Particle Fuel Forms", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "HPC Methods for Nuclear Applications", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Nuclear Code Integration", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Nuclear Transmutation and Decay Physics", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Power Reactor Modeling", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Research and Test Reactor Physics", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Radiation Safety Information Computational Center", + "alternativeName": "RSICC", + "additionalType": "center", + "keywords": [], + "children": [] + } + + ] } ] + }, { "name": "Isotope Science and Engineering Directorate", -- GitLab From bf4850d292b108881a33254e6915b01a847a5d51 Mon Sep 17 00:00:00 2001 From: Audrey Carson Date: Sat, 5 Apr 2025 20:49:37 -0400 Subject: [PATCH 10/15] feat: added FFESD groups --- acorn-lib/assets/constants/organization.json | 306 ++++++++++++++++++- 1 file changed, 303 insertions(+), 3 deletions(-) diff --git a/acorn-lib/assets/constants/organization.json b/acorn-lib/assets/constants/organization.json index 591db35..fc257d2 100644 --- a/acorn-lib/assets/constants/organization.json +++ b/acorn-lib/assets/constants/organization.json @@ -1163,26 +1163,326 @@ "additionalType": "center", "keywords": [], "children": [] + }, + { + "name": "Medical Isotopes Development", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Isotope Applications Research", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Radiochemical Process Development", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Radioisotope Infrastructure Development", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Target Design, Analysis, and Qualification", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Process Coordination", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Project Integration and Material Accountability", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] } + + ] }, { "name": "Isotope Processing and Manufacturing Division", "alternativeName": "IPMD", "additionalType": "division", - "children": [] + "children": [ + { + "name": "Operations Support Group", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Building 4501 Operations", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Building 3047 Operations", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "REDC Materials Operations", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "REDC Lab Chemical Operations", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "REDC Hot Cell Operations", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Building 7930 Operations", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + } + ] }, { "name": "Enrichment Science and Engineering Division", "alternativeName": "ESED", "additionalType": "division", - "children": [] + "children": [ + { + "name": "Dynamic Testing", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Flow, Thermal, and Data Science", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Gas Testing Science", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Mechanical Systems Modeling", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Enriched Gaseous Chemistry", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Plasma Enrichment Deployment and Engineering", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Plasma Enrichment Science", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Stable Isotope Enrichment", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Stable Isotope Materials and Chemistry", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Application Engineering", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Electrical, Instrumentation, and Controls Engineering", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Machine Design Engineering", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Testbed Design Engineering", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Manufacturing Process Engineering", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Prototype Manufacturing", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "R&D Demonstration", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "SIPF Demonstration", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Supply Chain Management", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + } + ] }, { "name": "Nonreactor Nuclear Facilities Division", "alternativeName": "NNFD", "additionalType": "division", - "children": [] + "children": [ + { + "name": "Facilities Maintenance", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Project Delivery", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Reliability Engineering", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Work Coordination", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "3025/3532 Operations", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "System Engineering", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Waste Operations", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Design Engineering", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Technical Support Services", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Matrixed Environment, Safety, and Health Support", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + } + + ] } ] }, -- GitLab From 8edc8529cee9a631e1c71bda5db29924ef2704d7 Mon Sep 17 00:00:00 2001 From: Audrey Carson Date: Sun, 6 Apr 2025 12:09:10 -0400 Subject: [PATCH 11/15] feat: added ISED groups --- acorn-lib/assets/constants/organization.json | 518 ++++++++++++++++++- 1 file changed, 508 insertions(+), 10 deletions(-) diff --git a/acorn-lib/assets/constants/organization.json b/acorn-lib/assets/constants/organization.json index fc257d2..6ea31d2 100644 --- a/acorn-lib/assets/constants/organization.json +++ b/acorn-lib/assets/constants/organization.json @@ -1223,7 +1223,7 @@ "additionalType": "division", "children": [ { - "name": "Operations Support Group", + "name": "Operations Support", "alternativeName": "", "additionalType": "group", "keywords": [], @@ -1718,21 +1718,21 @@ "children": [] }, { - "name": "Learning Sciences Group", + "name": "Learning Sciences", "alternativeName": "", "additionalType": "group", "keywords": [], "children": [] }, { - "name": "Mission Implementation Group", + "name": "Mission Implementation", "alternativeName": "", "additionalType": "group", "keywords": [], "children": [] }, { - "name": "Transportation Security Engineering and Analysis Group", + "name": "Transportation Security Engineering and Analysis", "alternativeName": "TSEA", "additionalType": "group", "keywords": ["security"], @@ -1788,6 +1788,167 @@ "additionalType": "facility", "keywords": [], "children": [] + }, + { + "name": "Powder Diffraction", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Single Crystal Diffraction", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "User Programs and Outreach", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "HFIR Instrument Support", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "HFIR Science Support", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Biological Labeling and Scattering", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Materials Engineering", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Reflectometry", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "SANS and Spin Echo", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "HFIR Low Temperature and Magnets", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "High Pressure", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "High Temperature", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Labs and Soft Matter", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "SNS Low Temperature and Magnets", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Instrument Hall Support", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Neutron Choppers", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "SNS Instrument Support", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "SNS Science Support 1", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "SNS Science Support 2", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "SNS Science Support 3", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Chemical Spectroscopy", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Direct Geometry", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Triple Axis", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] } ] }, @@ -1796,21 +1957,305 @@ "alternativeName": "", "additionalType": "division", "keywords": [], - "children": [] + "children": [ + { + "name": "Neutronics", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Design Services", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Instrument Engineering", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Survey, Alignment, and Metrology", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Facilities Management and Engineering", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Neutron Optics and Polarization", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Detectors", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "DAQ Integration", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Source Development and Engineering", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Manufacturing", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Electrical Engineering", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Materials Management", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "DAQ Development", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + } + ] }, { "name": "Research Accelerator Division", "alternativeName": "", "additionalType": "division", "keywords": [], - "children": [] - }, + "children": [ + { + "name": "Electrical Power Conversion Group", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "RF Systems", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Controls Integration", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "CF and Vacuum", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Cryogenics and Target", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Electrical Support", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Accelerator Operations", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Integration and Planning", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Protection Systems", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Target Systems", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Cooling Systems", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Target Operations", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Mechanical Support", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Vacuum Systems", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Front End Systems", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Superconducting Linac", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Instrumentation", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Accelerator Physics", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Mechanical Engineering", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Beam Instrumentation", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + } + ] + }, { "name": "Research Reactors Division", "alternativeName": "", "additionalType": "division", "keywords": [], - "children": [] + "children": [ + + { + "name": "Reactor Analysis and Modeling", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "I&C Software Engineering", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Reactor Core Components", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Maintenance Implementation", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Reactor Fuel and Fabrication", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Reactor Certifications and Qualifications", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Nuclear Safety and Experiment Analysis", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + } + ] }, { "name": "High Flux Isotope Reactor", @@ -1841,7 +2286,59 @@ "alternativeName": "CSD", "additionalType": "division", "keywords": [], - "children": [] + "children": [ + { + "name": "Energy Storage and Conversion", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Geochemistry and Interfacial Science", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Surface Chemistry and Catalysis", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Chemical and Isotopic Mass Spectrometry", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Material Signatures and Isotopic Standards", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Radioactive Materials Analytical Lab", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Transuranium Analytical Lab", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + } + + + ] }, { "name": "Center for Nanophase Materials Sciences Division", @@ -1878,4 +2375,5 @@ } ] } -] \ No newline at end of file +] + -- GitLab From e4ee19bc63e6b6626a3f5b6ce46f61ec72e2b0b9 Mon Sep 17 00:00:00 2001 From: Audrey Carson Date: Sun, 6 Apr 2025 12:36:00 -0400 Subject: [PATCH 12/15] feat: added PSD groups --- acorn-lib/assets/constants/organization.json | 247 ++++++++++++++++++- 1 file changed, 243 insertions(+), 4 deletions(-) diff --git a/acorn-lib/assets/constants/organization.json b/acorn-lib/assets/constants/organization.json index 6ea31d2..dcd2783 100644 --- a/acorn-lib/assets/constants/organization.json +++ b/acorn-lib/assets/constants/organization.json @@ -2335,9 +2335,35 @@ "additionalType": "group", "keywords": [], "children": [] + }, + { + "name": "Carbon and Composites", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Chemical Separations", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Nanomaterials Chemistry", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Soft Matter", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] } - - ] }, { @@ -2354,6 +2380,62 @@ "additionalType": "facility", "keywords": [], "children": [] + }, + { + "name": "electron Microscopy and MicroAnalysis", + "alternativeName": "eMMA", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Functional Atomic Force Microscopy", + "alternativeName": "F-AFM", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Scanning Tunneling Microscopy", + "alternativeName": "STM", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Functional Hybrid Nanomaterials", + "alternativeName": "FHN", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Macromolecular Nanomaterials", + "alternativeName": "Macro", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Nanofabrication Research Laboratory", + "alternativeName": "NRL", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Nanomaterials Theory Institute", + "alternativeName": "NTI", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Data NanoAnalytics", + "alternativeName": "DNA", + "additionalType": "group", + "keywords": [], + "children": [] } ] }, @@ -2362,14 +2444,171 @@ "alternativeName": "MSTD", "additionalType": "division", "keywords": [], - "children": [] + "children": [ + { + "name": "Correlated Electron Materials", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Neutron and X-Ray Scattering and Thermophysics", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Quantum Heterostructures", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Alloy Behavior and Design", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Materials Joining", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Materials for Advanced Manufacturing", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Metals and Composites Processing", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Surface Engineering and Tribology", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Advanced Nuclear Materials", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Corrosion Science and Technology", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Mechanical Properties and Mechanics", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Radiation Effects and Microstructural Analysis", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Nuclear Energy Materials Microanalysis", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Materials Theory", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Microstructural Evolution Modeling Vision", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + } + + ] }, { "name": "Physics Division", "alternativeName": "", "additionalType": "division", "keywords": [], - "children": [] + "children": [ + { + "name": "Neutrino Research", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Neutron Symmetries", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Relativistic Nuclear Physics", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Theoretical and Computational Physics Group", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Nuclear Structure and Nuclear Astrophysics", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Radiation Imaging and Advanced Diagnostics", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + }, + { + "name": "Advanced Detection and Applied Data Science", + "alternativeName": "", + "additionalType": "group", + "keywords": [], + "children": [] + } + ] } ] } -- GitLab From 67360b3a214ca2e9a22bdcdd3fcec6d5f1183924 Mon Sep 17 00:00:00 2001 From: Jason Wohlgemuth Date: Tue, 8 Apr 2025 19:03:17 -0400 Subject: [PATCH 13/15] fix: Remove typo in children attribute --- acorn-lib/assets/constants/organization.json | 113 +++++++++---------- 1 file changed, 52 insertions(+), 61 deletions(-) diff --git a/acorn-lib/assets/constants/organization.json b/acorn-lib/assets/constants/organization.json index dcd2783..abdc80a 100644 --- a/acorn-lib/assets/constants/organization.json +++ b/acorn-lib/assets/constants/organization.json @@ -77,7 +77,7 @@ "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "children": [] } ] }, @@ -92,7 +92,7 @@ "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "children": [] }, { "name": "Bioresource Science and Engineering", @@ -306,9 +306,7 @@ "keywords": [], "children": [] } - ] - }, { "name": "Computer Science and Mathematics Division", @@ -377,7 +375,7 @@ "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "children": [] }, { "name": "Visualization", @@ -421,7 +419,6 @@ "keywords": [], "children": [] } - ] }, { @@ -429,8 +426,7 @@ "alternativeName": "NCCS", "additionalType": "division", "keywords": [], - "children": - [ + "children": [ { "name": "Oak Ridge Leadership Computing Facility", "ror": "05p915b28", @@ -535,29 +531,29 @@ "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] - }, - { + "children": [] + }, + { "name": "Advanced Computing for Chemistry and Materials", "alternativeName": "", "additionalType": "group", "keywords": [], "children": [] - }, - { + }, + { "name": "Advanced Computing for Nuclear, Particle, and Astrophysics", "alternativeName": "", "additionalType": "group", "keywords": [], "children": [] - }, - { + }, + { "name": "Algorithms and Performance Analysis", "alternativeName": "", "additionalType": "group", "keywords": [], "children": [] - } + } ] }, { @@ -605,7 +601,7 @@ "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "children": [] }, { "name": "Applied Catalysis Emissions Controls Research", @@ -640,7 +636,7 @@ "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "children": [] }, { "name": "Vehicle Power Electronics Research", @@ -740,7 +736,6 @@ "keywords": [], "children": [] } - ] }, { @@ -823,7 +818,7 @@ "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "children": [] }, { "name": "System Automation and Monitoring Research", @@ -841,8 +836,8 @@ } ] }, - { - "name": "Carbon Fiber Technology Facility", + { + "name": "Carbon Fiber Technology Facility", "alternativeName": "CFTF", "additionalType": "facility", "keywords": [], @@ -876,10 +871,9 @@ "keywords": [], "children": [] } - ] }, - { + { "name": "Fusion and Fission Energy and Science Directorate", "alternativeName": "FFESD", "additionalType": "directorate", @@ -1141,11 +1135,9 @@ "keywords": [], "children": [] } - ] } ] - }, { "name": "Isotope Science and Engineering Directorate", @@ -1213,8 +1205,6 @@ "keywords": [], "children": [] } - - ] }, { @@ -1481,7 +1471,6 @@ "keywords": [], "children": [] } - ] } ] @@ -1495,7 +1484,10 @@ "name": "Cyber Resilience and Intelligence Division", "alternativeName": "CRID", "additionalType": "division", - "keywords": ["cyber", "security"], + "keywords": [ + "cyber", + "security" + ], "children": [ { "name": "Data and Software Engineering", @@ -1503,7 +1495,6 @@ "additionalType": "group", "keywords": [], "children": [] - }, { "name": "Data Science and Visualization", @@ -1596,29 +1587,29 @@ "additionalType": "group", "keywords": [], "children": [] - }, - { + }, + { "name": "Autonomous Systems", "alternativeName": "", "additionalType": "group", "keywords": [], "children": [] - }, - { + }, + { "name": "Geomatics", "alternativeName": "", "additionalType": "group", "keywords": [], "children": [] - }, - { + }, + { "name": "Spatial Statistics", "alternativeName": "", "additionalType": "group", "keywords": [], "children": [] - }, - { + }, + { "name": "Built Environment Characterization", "alternativeName": "", "additionalType": "group", @@ -1637,7 +1628,7 @@ "alternativeName": "", "additionalType": "group", "keywords": [], - "chidlren": [] + "children": [] }, { "name": "Location Intelligence", @@ -1652,7 +1643,9 @@ "name": "Nuclear Nonproliferation Division", "alternativeName": "NND", "additionalType": "division", - "keywords": ["nuclear-nonproliferation"], + "keywords": [ + "nuclear-nonproliferation" + ], "children": [ { "name": "Information Management Systems", @@ -1714,7 +1707,9 @@ "name": "Facility and Systems Security", "alternativeName": "", "additionalType": "group", - "keywords": ["security"], + "keywords": [ + "security" + ], "children": [] }, { @@ -1735,7 +1730,9 @@ "name": "Transportation Security Engineering and Analysis", "alternativeName": "TSEA", "additionalType": "group", - "keywords": ["security"], + "keywords": [ + "security" + ], "children": [] }, { @@ -1750,22 +1747,22 @@ "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] - }, - { + "children": [] + }, + { "name": "Strategic Commodities and Technologies", "alternativeName": "", "additionalType": "group", "keywords": [], "children": [] - }, - { + }, + { "name": "Verification Technologies", "alternativeName": "", "additionalType": "group", "keywords": [], "children": [] - } + } ] } ] @@ -1780,8 +1777,7 @@ "alternativeName": "NSD", "additionalType": "division", "keywords": [], - "children": - [ + "children": [ { "name": "Center for Structural Molecular Biology", "alternativeName": "CSMB", @@ -2198,14 +2194,13 @@ "children": [] } ] - }, + }, { "name": "Research Reactors Division", "alternativeName": "", "additionalType": "division", "keywords": [], "children": [ - { "name": "Reactor Analysis and Modeling", "alternativeName": "", @@ -2257,7 +2252,7 @@ } ] }, - { + { "name": "High Flux Isotope Reactor", "ror": "02xn1ny06", "alternativeName": "HFIR", @@ -2273,7 +2268,6 @@ "keywords": [], "children": [] } - ] }, { @@ -2299,7 +2293,7 @@ "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "children": [] }, { "name": "Surface Chemistry and Catalysis", @@ -2372,8 +2366,7 @@ "alternativeName": "CNMSD", "additionalType": "division", "keywords": [], - "children": - [ + "children": [ { "name": "Center for Nanophase Materials Sciences", "alternativeName": "CNMS", @@ -2550,7 +2543,6 @@ "keywords": [], "children": [] } - ] }, { @@ -2614,5 +2606,4 @@ } ] } -] - +] \ No newline at end of file -- GitLab From 630352e3f64c0944d56deb957bed246e16423d04 Mon Sep 17 00:00:00 2001 From: Jason Wohlgemuth Date: Tue, 8 Apr 2025 20:44:51 -0400 Subject: [PATCH 14/15] feat: Improve microdata compliance; Refactor organization fuzzy matching; Add tests --- acorn-lib/assets/constants/organization.json | 736 +++++++++---------- acorn-lib/src/schema/mod.rs | 133 ++-- acorn-lib/src/schema/tests/mod.rs | 98 ++- 3 files changed, 499 insertions(+), 468 deletions(-) diff --git a/acorn-lib/assets/constants/organization.json b/acorn-lib/assets/constants/organization.json index abdc80a..a16ff61 100644 --- a/acorn-lib/assets/constants/organization.json +++ b/acorn-lib/assets/constants/organization.json @@ -4,80 +4,80 @@ "ror": "01qz5mb56", "alternativeName": "ORNL", "additionalType": "ffrdc", - "children": [ + "member": [ { "name": "Biological and Environmental Systems Science Directorate", "alternativeName": "BESSD", "additionalType": "directorate", - "children": [ + "member": [ { "name": "Biosciences Division", "alternativeName": "BSD", "additionalType": "division", "keywords": [], - "children": [ + "member": [ { "name": "Integrative Microbiomics", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Plant Systems Biology", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Synthetic Biology", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Computational and Predictive Biology", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Information Systems", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Molecular Biophysics", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Bioanalytical Mass Spectrometry", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Biomaterials and Biomass Characterization", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Molecular and Cellular Imaging", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] } ] }, @@ -86,90 +86,90 @@ "alternativeName": "ESD", "additionalType": "division", "keywords": [], - "children": [ + "member": [ { "name": "Biodiversity and Ecosystem Health", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Bioresource Science and Engineering", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Environmental Risk and Energy Analysis", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Water Resource Science and Engineering", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Biogeochemical Dynamics", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Earth Systems Modeling", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Ecosystem Processes", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Plant-Soil Interactions", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Watershed Systems Modeling", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Earth System Data Management and Operations", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Remote Sensing and Environmental Informatics", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Earth Science Database Engineering and Informatics", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] } ] }, @@ -178,7 +178,7 @@ "alternativeName": "APPL", "additionalType": "facility", "keywords": [], - "children": [] + "member": [] } ] }, @@ -187,124 +187,124 @@ "alternativeName": "CCSD", "additionalType": "directorate", "keywords": [], - "children": [ + "member": [ { "name": "Quantum Science Center", "alternativeName": "", "additionalType": "center", "keywords": [], - "children": [] + "member": [] }, { "name": "Computational Sciences and Engineering Division", "alternativeName": "CSED", "additionalType": "division", "keywords": [], - "children": [ + "member": [ { "name": "Autonomous and Complex Systems", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Computational Systems Engineering and Cybernetics", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Computational Urban Sciences", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Multiphysics Modeling and Flows", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Scalable Engineering Applications", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Computational Coupled Physics", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Computational Chemistry and Nanomaterials Sciences", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Computational Earth Sciences", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Multiscale Materials", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Biostatistics and Biomedical Informatics", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Scalable Biomedical Modeling", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Multiscale Biomedical Systems", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Quantum Communications and Networking", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Quantum Computing and Sensing", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Quantum Computational Science", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] } ] }, @@ -313,111 +313,111 @@ "alternativeName": "CSMD", "additionalType": "division", "keywords": [], - "children": [ + "member": [ { "name": "Application Engineering", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Architectures and Performance", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Beyond Moore", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Intelligent Systems and Facilities", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Programming Systems", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Software Engineering", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Data Engineering", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Learning Systems", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Performance Engineering", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Visualization", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Workflow Systems", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Data Analysis and Machine Learning", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Discrete Algorithms", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Multiscale Methods and Dynamics", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Systems and Decision Sciences", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] } ] }, @@ -426,133 +426,133 @@ "alternativeName": "NCCS", "additionalType": "division", "keywords": [], - "children": [ + "member": [ { "name": "Oak Ridge Leadership Computing Facility", "ror": "05p915b28", "alternativeName": "OLCF", "additionalType": "facility", "keywords": [], - "children": [] + "member": [] }, { "name": "Analytics & AI Methods at Scale", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Workflows and Ecosystem Services", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Technology Integration", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Software Services Development", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "System Acceptance and User Environment", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "User Access, Outreach, and Communications", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "User Assistance", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Data and Platform Services", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "HPC Clusters", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "HPC Scalable Systems", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "HPC Infrastructure Operations", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "HPC Networking", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "HPC Storage and Archive", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "HPC Cybersecurity and Information Engineering", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Advanced Computing for Chemistry and Materials", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Advanced Computing for Nuclear, Particle, and Astrophysics", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Algorithms and Performance Analysis", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] } ] }, @@ -561,7 +561,7 @@ "alternativeName": "ASCR", "additionalType": "program", "keywords": [], - "children": [] + "member": [] } ] }, @@ -569,88 +569,88 @@ "name": "Energy Science and Technology Directorate", "alternativeName": "ESTD", "additionalType": "directorate", - "children": [ + "member": [ { "name": "Buildings and Transportation Division", "alternativeName": "BTSD", "additionalType": "division", - "children": [ + "member": [ { "name": "Building Envelope Materials Research", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Building Equipment Research", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Integrated Building Deployment and Analysis", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Multifunctional Equipment Integration", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Applied Catalysis Emissions Controls Research", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Electric Drives Research", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Fuel Science and Engine Technologies Research", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Thermal Energy Storage Research", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Transportation Analytics and Decision Sciences", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Vehicle Power Electronics Research", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Applied Research for Mobility Systems", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] } ] }, @@ -658,83 +658,83 @@ "name": "Electrification and Energy Infrastructures Division", "alternativeName": "EEID", "additionalType": "division", - "children": [ + "member": [ { "name": "Emerging and Solid-State Batteries", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Energy Storage and Conversion Manufacturing", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Grid Communications and Security", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": " Grid Systems Modeling and Controls", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": " Grid Interactive Controls", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Grid Systems Architecture", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Grid Systems Hardware", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Multimodal Sensor Analytics", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Power Systems Resilience", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "RF and Intelligent Systems", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Sensors and Electronics", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] } ] }, @@ -742,97 +742,97 @@ "name": "Manufacturing Science Division", "alternativeName": "MSD", "additionalType": "division", - "children": [ + "member": [ { "name": "Advanced Fiber Manufacturing", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Composites Innovation", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Extreme Environment Materials Process", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Sustainable Manufacturing Technologies", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Chemical Process Scale-Up", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Manufacturing Energy Efficiency Research and Analysis", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Deposition Science and Technology", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Disruptive Manufacturing Systems Development", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Intelligent Machine Tools", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Research Application Development", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Manufacturing Systems Analytics", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "System Automation and Monitoring Research", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Manufacturing Robotics and Controls", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] } ] }, @@ -841,35 +841,35 @@ "alternativeName": "CFTF", "additionalType": "facility", "keywords": [], - "children": [] + "member": [] }, { "name": "National Transportation Research Center", "alternativeName": "NTRC", "additionalType": "facility", "keywords": [], - "children": [] + "member": [] }, { "name": "Building Technologies Research and Integration Center", "alternativeName": "BTRIC", "additionalType": "facility", "keywords": [], - "children": [] + "member": [] }, { "name": "Manufacturing Demonstration Facility", "alternativeName": "MDF", "additionalType": "facility", "keywords": [], - "children": [] + "member": [] }, { "name": "Water Power Program", "alternativeName": "WPP", "additionalType": "program", "keywords": [], - "children": [] + "member": [] } ] }, @@ -877,67 +877,67 @@ "name": "Fusion and Fission Energy and Science Directorate", "alternativeName": "FFESD", "additionalType": "directorate", - "children": [ + "member": [ { "name": "Fusion Energy Division", "alternativeName": "FED", "additionalType": "division", - "children": [ + "member": [ { "name": "Advanced Tokamak Physics", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Diagnostics and Control", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Plasma Theory and Modeling", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Power Exhaust and Particle Control", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Blanket and Fuel Cycle", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Fusion Engineering", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Fusion Technology", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Remote Systems", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] } ] }, @@ -945,195 +945,195 @@ "name": "Nuclear Energy and Fuel Cycle Division", "alternativeName": "NEFCD", "additionalType": "division", - "children": [ + "member": [ { "name": "Advanced Reactor Systems", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Deployment, Licensing, and Operations", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Energy Systems Development", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Energy Systems Integration and Modeling", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Modern Nuclear Instrumentation and Controls", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Multiphysics CFD Applications", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Nuclear Structures and Construction", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Risk Methods and Analysis", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Systems Analysis and Optimization", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Fuel Cycle Chemistry Technology", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Nuclear Materials Packaging, Transportation and Systems Analysis", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Used Fuel and Nuclear Material Disposition", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Nuclear Criticality Safety", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Nuclear Data", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Radiation Transport", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Advanced Fuel Fabrication", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Fuel Cladding and Core Internals", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Irradiation Engineering", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Nuclear Fuel Element Performance", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Nuclear and Extreme Environment Measurements", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Particle Fuel Forms", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "HPC Methods for Nuclear Applications", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Nuclear Code Integration", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Nuclear Transmutation and Decay Physics", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Power Reactor Modeling", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Research and Test Reactor Physics", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Radiation Safety Information Computational Center", "alternativeName": "RSICC", "additionalType": "center", "keywords": [], - "children": [] + "member": [] } ] } @@ -1143,67 +1143,67 @@ "name": "Isotope Science and Engineering Directorate", "alternativeName": "ISED", "additionalType": "directorate", - "children": [ + "member": [ { "name": "Radioisotope Science and Technology Division", "alternativeName": "RSTD", "additionalType": "division", - "children": [ + "member": [ { "name": "Radiochemical Engineering Development Center", "alternativeName": "REDC", "additionalType": "center", "keywords": [], - "children": [] + "member": [] }, { "name": "Medical Isotopes Development", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Isotope Applications Research", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Radiochemical Process Development", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Radioisotope Infrastructure Development", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Target Design, Analysis, and Qualification", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Process Coordination", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Project Integration and Material Accountability", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] } ] }, @@ -1211,55 +1211,55 @@ "name": "Isotope Processing and Manufacturing Division", "alternativeName": "IPMD", "additionalType": "division", - "children": [ + "member": [ { "name": "Operations Support", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Building 4501 Operations", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Building 3047 Operations", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "REDC Materials Operations", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "REDC Lab Chemical Operations", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "REDC Hot Cell Operations", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Building 7930 Operations", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] } ] }, @@ -1267,132 +1267,132 @@ "name": "Enrichment Science and Engineering Division", "alternativeName": "ESED", "additionalType": "division", - "children": [ + "member": [ { "name": "Dynamic Testing", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Flow, Thermal, and Data Science", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Gas Testing Science", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Mechanical Systems Modeling", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Enriched Gaseous Chemistry", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Plasma Enrichment Deployment and Engineering", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Plasma Enrichment Science", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Stable Isotope Enrichment", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Stable Isotope Materials and Chemistry", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Application Engineering", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Electrical, Instrumentation, and Controls Engineering", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Machine Design Engineering", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Testbed Design Engineering", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Manufacturing Process Engineering", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Prototype Manufacturing", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "R&D Demonstration", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "SIPF Demonstration", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Supply Chain Management", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] } ] }, @@ -1400,76 +1400,76 @@ "name": "Nonreactor Nuclear Facilities Division", "alternativeName": "NNFD", "additionalType": "division", - "children": [ + "member": [ { "name": "Facilities Maintenance", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Project Delivery", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Reliability Engineering", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Work Coordination", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "3025/3532 Operations", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "System Engineering", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Waste Operations", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Design Engineering", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Technical Support Services", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Matrixed Environment, Safety, and Health Support", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] } ] } @@ -1479,7 +1479,7 @@ "name": "National Security Sciences Directorate", "alternativeName": "NSSD", "additionalType": "directorate", - "children": [ + "member": [ { "name": "Cyber Resilience and Intelligence Division", "alternativeName": "CRID", @@ -1488,69 +1488,69 @@ "cyber", "security" ], - "children": [ + "member": [ { "name": "Data and Software Engineering", "alternativeName": "DSE", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Data Science and Visualization", "alternativeName": "DSV", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Emerging Cyber Systems Research", "alternativeName": "ECSR", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Emerging Cyber Technologies Research", "alternativeName": "ECTR", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Human Analysis and Biometrics", "alternativeName": "HAB", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Radar and Computational Imaging", "alternativeName": "RCI", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Cyber Physical Systems", "alternativeName": "CPS", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Energy and Control Systems Security", "alternativeName": "ECSS", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Vulnerability Science", "alternativeName": "VS", "additionalType": "group", "keywords": [], - "children": [] + "member": [] } ] }, @@ -1559,83 +1559,83 @@ "alternativeName": "FIOD", "additionalType": "division", "keywords": [], - "children": [] + "member": [] }, { "name": "Geospatial Science and Human Security Division", "alternativeName": "GSHS", "additionalType": "division", "keywords": [], - "children": [ + "member": [ { "name": "GeoAI", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Remote Sensing", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Resilient Communications", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Autonomous Systems", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Geomatics", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Spatial Statistics", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Built Environment Characterization", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Geoinformatics Engineering", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Human Geography", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Location Intelligence", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] } ] }, @@ -1646,62 +1646,62 @@ "keywords": [ "nuclear-nonproliferation" ], - "children": [ + "member": [ { "name": "Information Management Systems", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Systems Management", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Mission Applications", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Material Security and Stewardship", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Detonation Forensics and Response", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Process and Material Characterization", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Collection Science and Engineering", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Advanced Engineering Technologies", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Facility and Systems Security", @@ -1710,21 +1710,21 @@ "keywords": [ "security" ], - "children": [] + "member": [] }, { "name": "Learning Sciences", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Mission Implementation", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Transportation Security Engineering and Analysis", @@ -1733,35 +1733,35 @@ "keywords": [ "security" ], - "children": [] + "member": [] }, { "name": "Implementation Technologies", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Non-Destructive Analysis R&D", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Strategic Commodities and Technologies", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Verification Technologies", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] } ] } @@ -1771,180 +1771,180 @@ "name": "Neutron Sciences Directorate", "alternativeName": "NScD", "additionalType": "directorate", - "children": [ + "member": [ { "name": "Neutron Scattering Division", "alternativeName": "NSD", "additionalType": "division", "keywords": [], - "children": [ + "member": [ { "name": "Center for Structural Molecular Biology", "alternativeName": "CSMB", "additionalType": "facility", "keywords": [], - "children": [] + "member": [] }, { "name": "Powder Diffraction", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Single Crystal Diffraction", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "User Programs and Outreach", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "HFIR Instrument Support", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "HFIR Science Support", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Biological Labeling and Scattering", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Materials Engineering", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Reflectometry", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "SANS and Spin Echo", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "HFIR Low Temperature and Magnets", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "High Pressure", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "High Temperature", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Labs and Soft Matter", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "SNS Low Temperature and Magnets", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Instrument Hall Support", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Neutron Choppers", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "SNS Instrument Support", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "SNS Science Support 1", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "SNS Science Support 2", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "SNS Science Support 3", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Chemical Spectroscopy", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Direct Geometry", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Triple Axis", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] } ] }, @@ -1953,97 +1953,97 @@ "alternativeName": "", "additionalType": "division", "keywords": [], - "children": [ + "member": [ { "name": "Neutronics", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Design Services", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Instrument Engineering", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Survey, Alignment, and Metrology", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Facilities Management and Engineering", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Neutron Optics and Polarization", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Detectors", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "DAQ Integration", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Source Development and Engineering", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Manufacturing", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Electrical Engineering", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Materials Management", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "DAQ Development", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] } ] }, @@ -2052,146 +2052,146 @@ "alternativeName": "", "additionalType": "division", "keywords": [], - "children": [ + "member": [ { "name": "Electrical Power Conversion Group", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "RF Systems", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Controls Integration", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "CF and Vacuum", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Cryogenics and Target", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Electrical Support", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Accelerator Operations", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Integration and Planning", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Protection Systems", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Target Systems", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Cooling Systems", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Target Operations", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Mechanical Support", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Vacuum Systems", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Front End Systems", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Superconducting Linac", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Instrumentation", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Accelerator Physics", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Mechanical Engineering", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Beam Instrumentation", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] } ] }, @@ -2200,55 +2200,55 @@ "alternativeName": "", "additionalType": "division", "keywords": [], - "children": [ + "member": [ { "name": "Reactor Analysis and Modeling", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "I&C Software Engineering", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Reactor Core Components", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Maintenance Implementation", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Reactor Fuel and Fabrication", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Reactor Certifications and Qualifications", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Nuclear Safety and Experiment Analysis", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] } ] }, @@ -2258,7 +2258,7 @@ "alternativeName": "HFIR", "additionalType": "facility", "keywords": [], - "children": [] + "member": [] }, { "name": "Spallation Neutron Source", @@ -2266,7 +2266,7 @@ "alternativeName": "SNS", "additionalType": "facility", "keywords": [], - "children": [] + "member": [] } ] }, @@ -2274,89 +2274,89 @@ "name": "Physical Sciences Directorate", "alternativeName": "PSD", "additionalType": "directorate", - "children": [ + "member": [ { "name": "Chemical Sciences Division", "alternativeName": "CSD", "additionalType": "division", "keywords": [], - "children": [ + "member": [ { "name": "Energy Storage and Conversion", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Geochemistry and Interfacial Science", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Surface Chemistry and Catalysis", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Chemical and Isotopic Mass Spectrometry", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Material Signatures and Isotopic Standards", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Radioactive Materials Analytical Lab", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Transuranium Analytical Lab", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Carbon and Composites", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Chemical Separations", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Nanomaterials Chemistry", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Soft Matter", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] } ] }, @@ -2366,69 +2366,69 @@ "alternativeName": "CNMSD", "additionalType": "division", "keywords": [], - "children": [ + "member": [ { "name": "Center for Nanophase Materials Sciences", "alternativeName": "CNMS", "additionalType": "facility", "keywords": [], - "children": [] + "member": [] }, { "name": "electron Microscopy and MicroAnalysis", "alternativeName": "eMMA", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Functional Atomic Force Microscopy", "alternativeName": "F-AFM", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Scanning Tunneling Microscopy", "alternativeName": "STM", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Functional Hybrid Nanomaterials", "alternativeName": "FHN", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Macromolecular Nanomaterials", "alternativeName": "Macro", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Nanofabrication Research Laboratory", "alternativeName": "NRL", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Nanomaterials Theory Institute", "alternativeName": "NTI", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Data NanoAnalytics", "alternativeName": "DNA", "additionalType": "group", "keywords": [], - "children": [] + "member": [] } ] }, @@ -2437,111 +2437,111 @@ "alternativeName": "MSTD", "additionalType": "division", "keywords": [], - "children": [ + "member": [ { "name": "Correlated Electron Materials", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Neutron and X-Ray Scattering and Thermophysics", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Quantum Heterostructures", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Alloy Behavior and Design", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Materials Joining", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Materials for Advanced Manufacturing", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Metals and Composites Processing", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Surface Engineering and Tribology", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Advanced Nuclear Materials", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Corrosion Science and Technology", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Mechanical Properties and Mechanics", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Radiation Effects and Microstructural Analysis", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Nuclear Energy Materials Microanalysis", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Materials Theory", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Microstructural Evolution Modeling Vision", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] } ] }, @@ -2550,55 +2550,55 @@ "alternativeName": "", "additionalType": "division", "keywords": [], - "children": [ + "member": [ { "name": "Neutrino Research", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Neutron Symmetries", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Relativistic Nuclear Physics", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Theoretical and Computational Physics Group", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Nuclear Structure and Nuclear Astrophysics", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Radiation Imaging and Advanced Diagnostics", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] }, { "name": "Advanced Detection and Applied Data Science", "alternativeName": "", "additionalType": "group", "keywords": [], - "children": [] + "member": [] } ] } diff --git a/acorn-lib/src/schema/mod.rs b/acorn-lib/src/schema/mod.rs index d5fdff6..a72d4ff 100644 --- a/acorn-lib/src/schema/mod.rs +++ b/acorn-lib/src/schema/mod.rs @@ -22,6 +22,20 @@ use validator::{Validate, ValidationErrorsKind}; pub mod validate; use validate::*; +/// ### Core concepts related to the associated research activity +/// +/// Could be used to filter research activity data and/or power data analytics through concept composition +/// +/// ### Guidelines for creating keywords +/// - **Shall** +/// - Be officially sanctioned by responsible parties +/// - Be in lower-kebab-case +/// - Be unique relative to other keywords +/// - Contain three or more characters +/// - **Should** +/// - Not be too specific +/// - Be one or two words (ex. `foo` or `foo-bar`) +type Keyword = String; /// U.S. Classified National Security Information Level /// /// See [President Executive Order 13526](https://www.archives.gov/isoo/policy-documents/cnsi-eo.html) @@ -53,6 +67,7 @@ pub enum ClassificationLevel { pub enum FuzzyValue { #[display("partners")] Partner, + /// See [Keyword] #[display("keywords")] Keyword, #[display("sponsors")] @@ -297,21 +312,8 @@ pub struct Metadata { /// #[serde(skip_serializing_if = "Option::is_none")] pub sponsors: Option>, - /// ### Core concepts related to the associated research activity - /// - /// Could be used to filter research activity data and/or power data analytics through concept composition - /// - /// ### Guidelines for creating keywords - /// - **Shall** - /// - Be officially sanctioned by responsible parties - /// - Be in lower-kebab-case - /// - Be unique relative to other keywords - /// - Contain three or more characters - /// - **Should** - /// - Not be too specific - /// - Be one or two words (ex. `foo` or `foo-bar`) #[builder(default = Vec::::new())] - pub keywords: Vec, + pub keywords: Vec, /// ### Software, code languages, and digital tools related to the associated research activity data /// /// ***Examples*** @@ -328,18 +330,30 @@ pub struct Metadata { pub related: Option>, } #[derive(Clone, Debug, Serialize, Deserialize, Display, Hash, PartialEq, PartialOrd)] -#[display("Organization ({additional_type}) - {name} ({alternative_name})")] +#[display("Organization ({additional_type}) - {name})")] #[serde(rename_all = "camelCase")] pub struct Organization { + /// ### Full name of the organization + /// + /// See pub name: String, /// ### Research Organization Registry /// /// See for more information pub ror: Option, - pub alternative_name: String, + /// ### Organization alias (e.g. acronym or nickname) + /// + /// See + pub alternative_name: Option, + /// ### Organization sub-type + /// + /// See pub additional_type: OrganizationType, - pub keywords: Option>, - pub children: Vec, + pub keywords: Option>, + /// ### Distinct part(s) of the associated containing organization + /// + /// See + pub member: Vec, } // TODO: Trim whitespace with desaerialize_with derive - https://serde.rs/impl-serialize.html #[derive(Builder, Clone, Debug, Serialize, Deserialize, Validate)] @@ -516,10 +530,10 @@ impl Organization { } pub fn flatten(&self) -> Vec { let mut items = vec![self.clone()]; - let directorates = self.children.clone(); + let directorates = self.member.clone(); for directorate in &directorates { items.push(directorate.clone()); - let divisions = directorate.children.clone(); + let divisions = directorate.member.clone(); for division in &divisions { items.push(division.clone()); } @@ -535,23 +549,23 @@ impl Organization { .collect::>() } pub fn get(&self, organization_type: OrganizationType) -> Vec { - let items = self.children.clone(); + let items = self.member.clone(); Organization::_get(items, organization_type) } pub fn get_all(&self, organization_type: OrganizationType) -> Vec { let items = self.flatten(); Organization::_get(items, organization_type) } - pub fn get_all_name_pairs(&self) -> Vec<(String, String)> { + pub fn get_all_name_pairs(&self) -> Vec<(String, Option)> { self.flatten() .into_iter() - .map(|x| (x.alternative_name.clone(), x.name.clone())) - .filter(|(abbr, name)| !(abbr.is_empty() || name.is_empty())) - .collect::>() + .map(|x| (x.name.clone(), x.alternative_name.clone())) + .filter(|(name, alias)| !(name.is_empty() || alias.is_none())) + .collect::)>>() } pub fn visit Fn(&'a mut Organization)>(&mut self, f: F) { f(self); - for child in self.children.iter_mut() { + for child in self.member.iter_mut() { child.visit(f); } } @@ -684,7 +698,10 @@ impl ResearchActivity { }, | FuzzyValue::Technology => self.meta.technology, }; - let mut data: Vec<_> = values.into_iter().flat_map(|x| resolve_from_csv(format!("{}", value_type), x)).collect(); + let mut data: Vec<_> = values + .into_iter() + .flat_map(|x| resolve_from_csv_asset(format!("{}", value_type), x)) + .collect(); data.sort(); data.dedup(); data @@ -729,7 +746,7 @@ impl ResearchActivity { clone.meta.partners = Some(self.clone().resolve(FuzzyValue::Partner)); clone.meta.sponsors = Some(self.clone().resolve(FuzzyValue::Sponsor)); clone.meta.technology = self.clone().resolve(FuzzyValue::Technology); - clone.contact.organization = match resolve_organization(self.clone().contact.organization) { + clone.contact.organization = match resolve_from_organization_json(self.clone().contact.organization) { | Some(value) => value, | None => "".to_string(), }; @@ -802,43 +819,12 @@ fn print_resolution(output: Option, value: String, name: String) { } }; } -fn resolve_organization(value: String) -> Option { - let data = Organization::load()[0] - .get_all_name_pairs() - .into_iter() - .map(|(key, value)| (key.to_string(), value.to_string())) - .collect::>(); - let value = value.trim().to_string().replace("&", "and"); - let sanitized = sanitize(value.clone()); - let output = match sanitized.len() { - | 3..=5 if data.contains_key(&value.to_uppercase()) => data.get(&value.to_uppercase()).cloned(), - | _ => { - let pattern = Pattern::parse(&sanitized, CaseMatching::Ignore, Normalization::Smart); - let mut matcher = Matcher::new(Config::DEFAULT.match_paths()); - let output = pattern - .match_list(data.clone().into_values().collect::>(), &mut matcher) - .first() - .map(|(x, _)| x.to_string()); - output - } - }; - let label = "Organization"; - match output.clone() { - | Some(resolved) => { - if resolved.eq(&value.to_string()) { - trace!("=> {} {} = \"{}\"", Label::using(), label, value.clone()); - } else { - debug!(input = value.clone(), resolved, "=> {} {}", Label::found(), label); - } - } - | None => { - debug!(value = value.clone(), "=> {} {}", Label::not_found(), label); - } - }; - output +fn resolve_from_csv_asset(name: String, value: String) -> Option { + let data = Constant::csv(format!("{}.csv", name).as_str()); + resolve_from_list_of_lists(value, data) } -fn resolve_from_csv(name: String, value: String) -> Option { - let output = Constant::csv(format!("{}.csv", name).as_str()) +fn resolve_from_list_of_lists(value: String, data: Vec>) -> Option { + let output = data .into_iter() .flat_map(|values| { let sanitized = sanitize(value.clone()); @@ -860,13 +846,26 @@ fn resolve_from_csv(name: String, value: String) -> Option { }) .max_by_key(|(_, score)| *score) .map(|(x, _)| x.to_string()); - - print_resolution(output.clone(), value, name); + print_resolution(output.clone(), value, "organization".to_string()); output } +fn resolve_from_organization_json(value: String) -> Option { + let data = Organization::load()[0] + .get_all_name_pairs() + .into_iter() + .map(|(name, alias)| { + let alternative_name = match alias { + | Some(x) => x.to_string(), + | None => name.clone(), + }; + vec![name, alternative_name] + }) + .collect::>>(); + resolve_from_list_of_lists(value, data) +} fn sanitize(value: String) -> String { match Regex::new(r"[-_.]") { - | Ok(re) => re.replace_all(&value, "").trim().to_string(), + | Ok(re) => re.replace_all(&value, "").replace("&", "and").trim().to_string(), | Err(err) => err.to_string(), } } diff --git a/acorn-lib/src/schema/tests/mod.rs b/acorn-lib/src/schema/tests/mod.rs index fe99f8f..404f7da 100644 --- a/acorn-lib/src/schema/tests/mod.rs +++ b/acorn-lib/src/schema/tests/mod.rs @@ -74,57 +74,89 @@ fn test_resolve_from_csv() { let name = "keywords".to_string(); let exact: String = "critical-infrastructure".into(); let misspelled: String = "cyb".into(); - assert_eq!(resolve_from_csv(name.clone(), exact.clone()), Some(exact)); - assert_eq!(resolve_from_csv(name.clone(), misspelled), Some("cyber".into())); - assert_eq!(resolve_from_csv(name.clone(), "machine-learn".into()), Some("machine-learning".into())); - assert_eq!(resolve_from_csv(name.clone(), "Automation".into()), Some("automation".into())); - assert_eq!(resolve_from_csv(name.clone(), "math".into()), Some("mathematics".into())); - assert_eq!(resolve_from_csv(name.clone(), "mathematics".into()), Some("mathematics".into())); - assert_eq!(resolve_from_csv(name.clone(), "ml".into()), Some("machine-learning".into())); - assert_eq!(resolve_from_csv(name.clone(), "ai".into()), Some("artificial-intelligence".into())); + assert_eq!(resolve_from_csv_asset(name.clone(), exact.clone()), Some(exact)); + assert_eq!(resolve_from_csv_asset(name.clone(), misspelled), Some("cyber".into())); + assert_eq!( + resolve_from_csv_asset(name.clone(), "machine-learn".into()), + Some("machine-learning".into()) + ); + assert_eq!(resolve_from_csv_asset(name.clone(), "Automation".into()), Some("automation".into())); + assert_eq!(resolve_from_csv_asset(name.clone(), "math".into()), Some("mathematics".into())); + assert_eq!(resolve_from_csv_asset(name.clone(), "mathematics".into()), Some("mathematics".into())); + assert_eq!(resolve_from_csv_asset(name.clone(), "ml".into()), Some("machine-learning".into())); + assert_eq!(resolve_from_csv_asset(name.clone(), "ai".into()), Some("artificial-intelligence".into())); let exact: String = "high-performance-computing".into(); - assert_eq!(resolve_from_csv(name.clone(), "hpc".into()), Some(exact.clone())); - assert_eq!(resolve_from_csv(name.clone(), "high-performance-computi".into()), Some(exact.clone())); - assert_eq!(resolve_from_csv(name.clone(), exact.clone()), Some(exact)); + assert_eq!(resolve_from_csv_asset(name.clone(), "hpc".into()), Some(exact.clone())); + assert_eq!( + resolve_from_csv_asset(name.clone(), "high-performance-computi".into()), + Some(exact.clone()) + ); + assert_eq!(resolve_from_csv_asset(name.clone(), exact.clone()), Some(exact)); + // + // Organizations + // + let exact: String = "Oak Ridge National Laboratory".into(); + assert_eq!(resolve_from_organization_json(exact.clone()), Some(exact.clone())); + assert_eq!(resolve_from_organization_json("ORNL".into()), Some(exact.clone())); + assert_eq!(resolve_from_organization_json("Oak Ridge National Laborato".into()), Some(exact.clone())); + let exact: String = "Geospatial Science and Human Security Division".into(); + assert_eq!(resolve_from_organization_json("GSHS".into()), Some(exact.clone())); + assert_eq!(resolve_from_organization_json(exact.clone()), Some(exact.clone())); + assert_eq!( + resolve_from_organization_json("Geospatial Science & Human Security".into()), + Some(exact.clone()) + ); + assert_eq!( + resolve_from_organization_json("Geospatial Science and Human Security".into()), + Some(exact.clone()) + ); + assert_eq!( + resolve_from_organization_json("Geospatial Science and Human Security".to_lowercase()), + Some(exact.clone()) + ); + assert_eq!(resolve_from_organization_json("PSD".into()), Some("Physical Sciences Directorate".into())); // // Sponsors // let name = "sponsors".to_string(); let exact: String = "Oak Ridge National Laboratory".into(); - assert_eq!(resolve_from_csv(name.clone(), "ORNL".into()), Some(exact.clone())); - assert_eq!(resolve_from_csv(name.clone(), exact.clone()), Some(exact)); + assert_eq!(resolve_from_csv_asset(name.clone(), "ORNL".into()), Some(exact.clone())); + assert_eq!(resolve_from_csv_asset(name.clone(), exact.clone()), Some(exact)); let exact: String = "Department of Energy".into(); - assert_eq!(resolve_from_csv(name.clone(), "Dept of Energy".into()), Some(exact.clone())); - assert_eq!(resolve_from_csv(name.clone(), "Dept. of Energy".into()), Some(exact.clone())); - assert_eq!(resolve_from_csv(name.clone(), exact.clone()), Some(exact)); + assert_eq!(resolve_from_csv_asset(name.clone(), "Dept of Energy".into()), Some(exact.clone())); + assert_eq!(resolve_from_csv_asset(name.clone(), "Dept. of Energy".into()), Some(exact.clone())); + assert_eq!(resolve_from_csv_asset(name.clone(), exact.clone()), Some(exact)); let exact: String = "Department of Homeland Security".into(); - assert_eq!(resolve_from_csv(name.clone(), "DHS".into()), Some(exact.clone())); - assert_eq!(resolve_from_csv(name.clone(), exact.clone()), Some(exact)); + assert_eq!(resolve_from_csv_asset(name.clone(), "DHS".into()), Some(exact.clone())); + assert_eq!(resolve_from_csv_asset(name.clone(), exact.clone()), Some(exact)); let exact: String = "Environmental Protection Agency".into(); - assert_eq!(resolve_from_csv(name.clone(), " epa".into()), Some(exact.clone())); - assert_eq!(resolve_from_csv(name.clone(), exact.clone()), Some(exact)); + assert_eq!(resolve_from_csv_asset(name.clone(), " epa".into()), Some(exact.clone())); + assert_eq!(resolve_from_csv_asset(name.clone(), exact.clone()), Some(exact)); let exact: String = "Defense Advanced Research Projects Agency".into(); - assert_eq!(resolve_from_csv(name.clone(), "darpa".into()), Some(exact.clone())); - assert_eq!(resolve_from_csv(name.clone(), exact.clone()), Some(exact)); + assert_eq!(resolve_from_csv_asset(name.clone(), "darpa".into()), Some(exact.clone())); + assert_eq!(resolve_from_csv_asset(name.clone(), exact.clone()), Some(exact)); // // Technology // let name = "technology".to_string(); let exact: String = "react".into(); - assert_eq!(resolve_from_csv(name.clone(), exact.clone()), Some(exact)); - assert_eq!(resolve_from_csv(name.clone(), "astro".into()), Some("astro".into())); - assert_eq!(resolve_from_csv(name.clone(), "React.js".into()), Some("react".into())); - assert_eq!(resolve_from_csv(name.clone(), "ReactJS".into()), Some("react".into())); - assert_eq!(resolve_from_csv(name.clone(), "rs".into()), Some("rust".into())); + assert_eq!(resolve_from_csv_asset(name.clone(), exact.clone()), Some(exact)); + assert_eq!(resolve_from_csv_asset(name.clone(), "astro".into()), Some("astro".into())); + assert_eq!(resolve_from_csv_asset(name.clone(), "React.js".into()), Some("react".into())); + assert_eq!(resolve_from_csv_asset(name.clone(), "ReactJS".into()), Some("react".into())); + assert_eq!(resolve_from_csv_asset(name.clone(), "rs".into()), Some("rust".into())); assert_eq!( - resolve_from_csv(name.clone(), "Geospatial Data Abstraction Lib".into()), + resolve_from_csv_asset(name.clone(), "Geospatial Data Abstraction Lib".into()), Some("gdal".into()) ); - assert_eq!(resolve_from_csv(name.clone(), "node.js".into()), Some("javascript".into())); - assert_eq!(resolve_from_csv(name.clone(), "js".into()), Some("javascript".into())); - assert_eq!(resolve_from_csv(name.clone(), "language::JavaScript".into()), Some("javascript".into())); - assert_eq!(resolve_from_csv(name.clone(), "foobarbaz".into()), None); - assert_eq!(resolve_from_csv(name.clone(), "".into()), None); + assert_eq!(resolve_from_csv_asset(name.clone(), "node.js".into()), Some("javascript".into())); + assert_eq!(resolve_from_csv_asset(name.clone(), "js".into()), Some("javascript".into())); + assert_eq!( + resolve_from_csv_asset(name.clone(), "language::JavaScript".into()), + Some("javascript".into()) + ); + assert_eq!(resolve_from_csv_asset(name.clone(), "foobarbaz".into()), None); + assert_eq!(resolve_from_csv_asset(name.clone(), "".into()), None); } #[test] fn test_validate_attribute_areas() { -- GitLab From 532e03dec500c8cb720b08454475f5232d7df16a Mon Sep 17 00:00:00 2001 From: Jason Wohlgemuth Date: Tue, 8 Apr 2025 20:46:30 -0400 Subject: [PATCH 15/15] tests: Rename fuzzy matching tests --- acorn-lib/src/schema/tests/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/acorn-lib/src/schema/tests/mod.rs b/acorn-lib/src/schema/tests/mod.rs index 404f7da..3dbe4ae 100644 --- a/acorn-lib/src/schema/tests/mod.rs +++ b/acorn-lib/src/schema/tests/mod.rs @@ -67,7 +67,7 @@ fn test_read() { } } #[test] -fn test_resolve_from_csv() { +fn test_fuzzy_matching() { // // Keywords // -- GitLab