--:--:-- UTC LINK ONLINE BACK TO TIMELINE
PROJECT DOSSIER
2020

Digital Twinning for the Air Force

Team lead — led 4 undergraduates; held a Secret security clearance

A year (2020–2021) in a secure facility: led a team of four undergraduates building a digital twin that tracked individual units' radio signal strength inside a battlespace simulation, in near-real-time.

securitysystemsleadership AFSIMVOACAPPythonMongoDBGeoJSONReverse EngineeringDigital TwinRF Propagation
PROBLEM
Track the HF radio signal strength of individual units inside a battlespace simulation, with enough lead time — the target was ~5 minutes — for the prediction to be actionable. The simulation engine (AFSIM) and the radio-propagation predictor (VOACAP) were separate tools that didn't talk to each other, and AFSIM's internals weren't documented for the kind of extension this required.
APPROACH
Bridge the two systems with a Python handler in the middle. Reverse-engineer AFSIM enough to drive its script generation; wrap the VOACAP CLI to produce radio-propagation data per unit; store that output as GeoJSON in MongoDB; then, given each unit's live location, run a spatial distance query against Mongo to resolve the nearest 'good signal' location — feeding the result back so radio strength updates semi-live in the sim, toward ~5-minute lead times.
EXECUTION

Worked on-site in a secure facility under a clearance, leading four undergraduates.

The hardest part was solo-leading the team despite having a PhD student on staff. He was a bit of an absentee father for the group. It was very embroadening. We got exposed to the extended lengths of time that governmental approvals require. We didn't get access to a git repo proper until 6 months in. We didn't get access to the training manuals for the programs we were supposed to use until 7 months in, so we had reverse engineered their scripting language's syntax. We also traversed source to figure out how the plugin system communicated externally to other programs. We were able to get data in and out of the base program, and get a PoC of the project.

I enjoyed making PowerPoints teaching the undergrads about tests, git, and other items. We all had many round tables where we tried to figure out how the hell to take vague notions of "digital twinning" and prediction and translate that into a workable piece of software.

After reverse-engineering AFSIM enough to drive its scripting, we built a Python handler that managed the AFSIM script generation and gave units their radio data by wrapping VOACAP CLI calls. The handler dumped VOACAP's output geolocation data as GeoJSON into MongoDB, then, given each unit's live location, it queried Mongo for the nearest "good signal" location. It then ranked candidates with a distance metric (Manhattan distance, or a slightly smarter earth-curvature-aware variant). This was also the first time I ever used a sorting algorithm in the wild (just binary search; it was ordered data!). The wrapper then relayed that resolved signal data back to the units in AFSIM. That closed the loop so per-unit radio strength tracked semi-live inside the sim, toward the ~5-minute lead-time goal.

OUTCOME
Stood up the AFSIM↔VOACAP integration — a Python handler wrapping VOACAP, GeoJSON in MongoDB, and nearest-good-signal spatial queries — and led the undergraduate team through a year of the work, targeting ~5-minute lead times on per-unit radio strength inside the digital twin. Earned a Secret security clearance over the course of the engagement.