Skip to content
View loggger101's full-sized avatar

Block or report loggger101

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Loggger101/README.md

Logan M Edwards, Astronomy and Astrophysics, Planetary Science
Asteroid catalogs and mining economics. Asteroid belt origins and Mars mapping. Deep learning on survey imagery. Orbit simulation in pure Python.
Website: loganmedwardsastrophy.com CV (PDF) LinkedIn: logan-edwards Kaggle: loggger

I'm an Astronomy & Astrophysics student at Florida Tech, double majoring in Planetary Science. Most of the work here is about asteroids. I built a catalog of about 1.58 million of them and a pipeline that estimates whether mining one would make money, then used the catalog for a paper on whether the belt's S/C composition gradient shows where its asteroids formed. Corrected for two biases, the switch from S-types to C-types turns out too gradual for a snow line they formed behind, which points to carbonaceous asteroids carried in from beyond Jupiter. I've also mapped landforms across Mars from orbital imagery, trained two image classifiers and written an orbit simulator.

Outside of school I'm CTO of AspireCURES, a company that matches patients with rare brain diseases to research, and VP of Database Management at Sisters Hope Foundation, a rare-disease nonprofit. I run the websites and patient databases for both.

Space economics · Planetary science · Deep learning · Simulation · Rare-disease work · Elsewhere · Commits · Languages · Flybys · Contact

1.58M asteroids cataloged (AsteroidCatalog) 161,659 classified asteroids analyzed (asteroid-belt-gradient) 695 research sources (General_Research) 253 agent skills (Hermes_Skills)

Satellite-Space-Flight: the ISS orbit, live elements and ground-station passes asteroid-belt-gradient: S-types give way to C-types farther from the Sun (fraction by number across semimajor axis, D of at least 53 km, families collapsed) Mars Global Mosaic: Ius Chasma in visible light, night-time infrared and spectral clusters, then seven SVM landform classes across Tharsis and Valles Marineris drone-target-id: per-target valid/invalid scores on aerial footage AsteroidCatalog: 952,026 main-belt proper orbits, the Kirkwood gaps and families star-spectral-classifier: spectral letters on held-out stars, true against predicted

Space economics

The first five repos work together to estimate whether an uncrewed asteroid mining mission would turn a profit, and the sixth checks the pipeline against other people's code. The catalog also feeds my paper.

How the repos connect: General_Research holds the sources that AsteroidCatalog, spacecost, spacevalue and economicspace cite. AsteroidCatalog releases feed asteroid-belt-gradient, which builds the paper, and economicspace. spacevalue installs spacecost and prices minerals at each destination, and its releases feed economicspace too, which also installs spacecost, quietlaunch, quietqueue and samebytes, cites the starred-repos audit, and ranks mining targets by profit.

economicspace
the pipeline
22,487 lines of code
93,515 total lines
My commits to economicspace each week since August 2026: 323 in all, 54 in the busiest week

The main pipeline. It installs a pinned catalog release from AsteroidCatalog and pinned prices from spacevalue, costs the transport with spacecost, then runs the rocket equation and a cost cascade to rank targets by profit.

Python pandas Docker
AsteroidCatalog
Stage 1: the catalog
5,869 lines of code
13,996 total lines
My commits to AsteroidCatalog each week since September 2026: 37 in all, 16 in the busiest week

The pipeline's catalog stage, moved into its own repo. About 1.58 million asteroids from JPL SBDB, SsODNet, NEOWISE and MP3C, cross-matched, with the source of every value recorded and a cited composition estimate for each taxonomy class. Releases are frozen so other projects can pin one.

Python Parquet Latest release Project page
spacevalue
Stage 2: mineral prices
2,980 lines of code
7,089 total lines
My commits to spacevalue each week since August 2026: 68 in all, 18 in the busiest week

The pipeline's pricing stage as an installable Python package: what a kilogram of each mineral and element is worth at eight places you could deliver it, from Earth's surface to Mars. Away from Earth a material is worth the better of being used there, which saves launching it, or being flown home and sold. Prices come from recorded quotes, so a build can be repeated, and each dated release carries all eight tables as CSVs.

Python pandas Latest release
spacecost
Stage 3: mission costs
9,192 lines of code
18,441 total lines
My commits to spacecost each week since September 2026: 91 in all, 19 in the busiest week

The pipeline's mission-cost stage as an installable Python package: reference tables for mission cost and mass, with a citation on every row.

Python pandas Latest release Project page
General_Research
the sources
2,542 lines of code
51,412 total lines
My commits to General_Research each week since September 2026: 199 in all, 53 in the busiest week

The sources behind the four repos above, ranked into tiers by authority, with the numbers I use pulled into a CSV for each source.

Project page
starred-repos
pipeline audit
3,061 lines of code
9,333 total lines
My commits to starred-repos each week since September 2026: 18 in all, 7 in the busiest week

An audit of 17 repos I'd starred, read for code and data the pipeline could use, and then of 194 more. Its probe scripts check economicspace's delta-v estimates against JPL's NHATS and against optimized Lambert transfers, and found two errors that partly cancel: the plane change is overcharged, and the transfer geometry undercharged by more. Others found that a guessed taxonomy is right about half the time, and that 42 of the 69 near-Earth asteroids in the ranking's top 100 can't be observed again before 2036.

Python NumPy pandas

Where it stands. One row for each place the pipeline can deliver to, from its latest full-catalog runs: what the best mission costs for each dollar its cargo earns (filled dot) and what the median asteroid's does (open dot). Left of the dashed line, a mission pays for itself; none does yet.

Where the asteroid-mining pipeline stands: no destination breaks even yet. Cost per dollar earned, best mission and median asteroid, from economicspace's latest full-catalog runs: Mars surface 1.09× (2015 DS (X)), median 2.02×; Lunar surface 2.94× (2005 QP87 (X)), median 8.25×; Mars orbit 4.59× (350751 (B)), median 13.9×; Cislunar 4.84× (2018 DT (M)), median 20.9×; GEO 6.86× (2016 GS2 (D)), median 93.0×; LEO 17.0× (2005 QP87 (X)), median 60.5×; Earth surface 6,154× (2018 DT (M)), median 24,301×.

What it rests on. The 695 sources in General_Research, in 30 domains, one bar for each, split by authority: T1 peer-reviewed papers, T2 NASA, ESA and AIAA reports, T3 government data with a DOI, and T4 grey sources such as company documents and price pages. 66% are T1 or T2. The biggest, launch economics with 152, is mostly grey sources (117).

What the asteroid-mining pipeline's numbers rest on: 695 sources in General_Research, in 30 domains, by tier (T1 journal papers, T2 agency reports, T3 government data, T4 grey sources): Launch economics 152 (6 T1, 18 T2, 11 T3, 117 T4); Δv and propulsion 57 (16 T1, 38 T2, 3 T4); Density and population 56 (41 T1, 3 T2, 11 T3, 1 T4); Composition and value 51 (42 T1, 5 T2, 3 T3, 1 T4); In-space demand 29 (6 T1, 17 T2, 3 T3, 3 T4); Reliability, service life 25 (4 T1, 18 T2, 1 T3, 2 T4); In-space operations 22 (4 T1, 15 T2, 2 T3, 1 T4); Destination environments 22 (12 T1, 2 T2, 8 T3); Excavation, beneficiation 22 (12 T1, 10 T2); Propellant prices 20 (8 T2, 5 T3, 7 T4); Storage and energy 19 (19 T2); Orbital debris 19 (2 T1, 16 T2, 1 T3); Launch vehicles, engines 17 (3 T1, 14 T2); Mass and cost estimates 16 (1 T1, 13 T2, 2 T4); Electric propulsion 15 (13 T2, 1 T3, 1 T4); Aerocapture, aerobraking 15 (1 T1, 14 T2); Radiation shielding 15 (15 T2); Volatiles and chemicals 13 (13 T2); Capital and insurance 12 (2 T1, 3 T2, 6 T3, 1 T4); Commodity prices 11 (3 T2, 5 T3, 3 T4); Licensing and space law 11 (1 T1, 2 T2, 8 T3); Operations and comms 11 (1 T1, 9 T2, 1 T4); Refining terms 11 (2 T1, 3 T2, 6 T3); Astrodynamics software 10 (1 T2, 2 T3, 7 T4); Earlier economic studies 9 (3 T1, 6 T2); NEA accessibility 8 (1 T1, 5 T2, 2 T3); Mission and program costs 7 (5 T2, 2 T3); Cost indices 7 (7 T3); In-space manufacturing 7 (2 T1, 4 T2, 1 T3); Delivery and EDL survival 6 (5 T2, 1 T3).

Planetary science

asteroid-belt-gradient
paper and code
2,867 lines of code
6,539 total lines
My commits to asteroid-belt-gradient each week since September 2026: 37 in all, 19 in the busiest week

Code and paper for Constraints on the Origin of the Asteroid Belt's Compositional Gradient from Debiased Taxonomic Data. It tests whether the belt's switch from S-types to C-types dates back to formation, using 161,659 classified asteroids from AsteroidCatalog after collapsing collisional families and correcting for the brightness bias that favors S-types. The code rebuilds every figure and number in the paper from two public input files.

Python SciPy LaTeX Latest release Paper
Mars Global Mosaic
Mars GIS mapping
27,072 lines of code
1,620,994 total lines
My commits to Mars Global Mosaic each week since October 2026: 153 in all, 52 in the busiest week

My project for OCN 4704 (Remote Sensing). In ArcGIS Pro I lined up Viking color, THEMIS day and night infrared, and HRSC/MOLA elevation between 60°N and 60°S to map lava flows, river channels and impact craters. A support vector machine classifies the landforms across that whole band, scoring 73.8% on areas it never trained on, and I've since trained RetinaNet and U-Net models to compare against it. I'm now widening the map from four classes to seven for the final paper, due 8 December; on the reviewed seven-class labels a U-Net already scores 69.0% on held-out areas, against 42.5% for the SVM.

ArcGIS Pro Python Latest release

What it found. One row for each sample the paper fits, the raw count first. The dot is where C-types reach half of the asteroids, with its bootstrap range, and the bar runs from 10% to 90%. The raw count puts it at 2.84 au. Corrected, the turn sits at 2.41–2.47 au, inside the snow line at 2.67 au, and takes 1.4–1.5 au to go from 10% to 90% C-types, wider than the belt itself. A snow line the asteroids formed behind would leave a sharp step, so the paper favors C-types carried in from beyond Jupiter.

Where the asteroid belt turns from S-types to C-types, from asteroid-belt-gradient's results: the raw count puts the crossover at 2.84 au; corrected, 2.46 au (families collapsed, D ≥ 10 km, weighted for brightness bias), 2.47 au (families collapsed, D ≥ 53 km, complete in size), 2.41 au (background only, D ≥ 53 km, family members left out), each 1.4–1.5 au from 10% to 90% C-types, wider than the belt itself; the snow line is at 2.67 au and the main belt runs from 2.1 to 3.3 au.

Four figures from the asteroid-belt-gradient paper (each links to the full size):

Carbonaceous fraction against semimajor axis in three samples, the Kirkwood gaps dotted Logistic fits of the S/C transition to four samples, each crossover with its bootstrap interval C/(S+C) in cells 0.1 au wide for four ranges of diameter Proper semimajor axis and inclination of the S-like and C-like background bodies over the families

Four maps from the Mars project (each links to its full sheet):

The HRSC/MOLA blended elevation model from Valles Marineris to Hellas, one of the Mars project's four inputs Athabasca Valles in Viking colour, with the Late Amazonian volcanic unit of USGS map SIM 3292 outlined in orange RetinaNet's detections on a held-out block, 75–90°E, 30–15°S, over the hand-drawn labels it never trained on The seven-class U-Net's map of a held-out block, 270–285°E, 15–30°N

Deep learning

star-spectral-classifier
stellar classification
2,946 lines of code
7,333 total lines
My commits to star-spectral-classifier each week since September 2026: 8 in all, 5 in the busiest week

A multi-task CNN that predicts a star's Morgan-Keenan spectral letter and subclass digit from Pan-STARRS color cutouts, without any spectra. On 14k held-out cutouts it gets the letter right 84.3% of the time, and 98.4% within its top two guesses. Finished October 2025.

TensorFlow Astropy Kaggle dataset Project page
drone-target-id
aerial target ID
1,509 lines of code
4,779 total lines
My commits to drone-target-id each week since September 2026: 7 in all, 4 in the busiest week

YOLO finds and segments targets in aerial footage, then a multi-output CNN gives each one a fine class and a valid/invalid call. On a 27k held-out test set it scores 87.1% on fine class and 91.3% on valid/invalid. Finished December 2025.

TensorFlow YOLO OpenCV Kaggle dataset Project page

How each model's mistakes fall on held-out data (each links to the full size):

star-spectral-classifier: the letter-and-subclass confusion matrix, A0 to M9, with its errors in blocks along the diagonal drone-target-id: the eleven fine classes on 27,362 held-out targets, true against predicted

Simulation

Satellite-Space-Flight
orbit simulator
13,324 lines of code
22,635 total lines
My commits to Satellite-Space-Flight each week since September 2026: 67 in all, 59 in the busiest week

A 3-D Earth orbit simulator in pure Python. The physics runs in numpy (J2 to J4 gravity, drag, Sun and Moon, solar radiation pressure, maneuvers) and pygame draws it. You can also fly a multi-stage rocket to orbit from anywhere on Earth, or from one of fifteen real launch complexes.

Python NumPy pygame

Four of the scenes it draws for its own README (each links to the full size):

Satellite-Space-Flight: half-way up a Hohmann transfer to GEO Satellite-Space-Flight: 1,584 Starlink satellites in one shell Satellite-Space-Flight: Molniya and Tundra ground tracks in the Earth-fixed frame Satellite-Space-Flight: following a Falcon 9 through its second-stage burn

Rare-disease work

Both repos are private, but the sites are public.

AspireCURES
CTO
10,683 lines of code
20,805 total lines
My commits to AspireCURES each week since June 2026: 405 in all, 68 in the busiest week

AspireCURES connects patients with rare brain diseases such as CSF1R-ALSP to clinical trials, studies and specialists. Its site runs on Cloudflare Pages with serverless registration, and I've built a weekly research feed for its nine disease pages.

Cloudflare Pages Live site Project page
Sisters Hope Foundation
VP, Database Management
5,219 lines of code
11,270 total lines
My commits to Sisters Hope Foundation each week since July 2026: 88 in all, 34 in the busiest week

Sisters Hope is a 501(c)(3) patient advocacy group for ALSP and CSF1R-related disorders. I moved their site off Squarespace and onto Cloudflare Pages.

Cloudflare Pages Live site

Elsewhere

website
portfolio site
7,615 lines of code
10,124 total lines
My commits to website each week since November 2025: 1,412 in all, 83 in the busiest week

The code for my portfolio site. Plain HTML, CSS and JavaScript with no build step.

HTML5 CSS JavaScript Live site Project page
quietlaunch
Streamlit launcher
1,094 lines of code
2,359 total lines
My commits to quietlaunch each week since August 2026: 22 in all, 9 in the busiest week

Starts a Streamlit app with no console window. A small control window shows the server booting, and why it failed if it does, opens the browser once the port answers, and stops the server and its children when closed. I split it out of economicspace's dashboard launcher; it uses only the standard library and is tested on Windows, Linux and macOS.

Python Streamlit Latest release
quietqueue
unattended job queue
653 lines of code
1,714 total lines
My commits to quietqueue each week since August 2026: 26 in all, 9 in the busiest week

Runs a queue of long jobs unattended on Windows and keeps it alive through a closed shell, a stray Ctrl+C, a reboot or a second copy started at logon. Each job is one subprocess, a ledger records what's finished so a restart picks up where it stopped, and the whole process tree can be paused and resumed without losing the job in flight. I split it out of economicspace's campaign runner, which ran a 28-job model campaign over several days.

Python Latest release
samebytes
bit-identity checks
2,057 lines of code
4,453 total lines
My commits to samebytes each week since August 2026: 38 in all, 17 in the busiest week

Checks that two sets of bytes really are the same, in three places where they quietly aren't: a synced folder (OneDrive, Google Drive) serving stale files while git status stays clean, a second machine that can't reproduce floating-point results bit for bit, and two pandas runs that a careless comparison calls different. It also records what produced a run when it happens, and ships a git hook that repairs git's stat cache in a synced folder. I split it out of economicspace, whose releases are argued from bit-identical output; it needs only the standard library, and CI runs it on Windows, Linux and macOS.

Python pandas git Latest release
Hermes_Skills
agent skills
My commits to Hermes_Skills each week since August 2026: 410 in all, 195 in the busiest week

My library of 253 agent skills in 23 categories, built for my Hermes agent setup.

Python Markdown

Every commit so far

Every commit I've made to the repos above, from the first to this week. Each ring is one section of this page, the outermost the first; time runs clockwise from twelve o'clock, and a bigger dot is a busier week. Bots' commits aren't counted.

Every commit I've made to these repos, from the first on 23 Nov 2025 to 3 Nov 2026, drawn as one orbit per section of this page: 3,409 in all, Space economics 736, Planetary science 190, Deep learning 15, Simulation 67, Rare-disease work 493, Elsewhere 1,908. Busiest week: 356 commits, the week of 5 Oct 2026. Latest: Mars Global Mosaic, 2 Nov 2026.

My latest commits:

  • 2 Nov · Mars Global Mosaic: D35: qualify the seven-class U-Net's balanced-accuracy lead
  • 2 Nov · Mars Global Mosaic: A16: v2 seven-class maps scored on the 1,652 v3 held-out polygons
  • 1 Nov · General_Research: Rounds 310-314: market, ISRU and stage audits
  • 1 Nov · General_Research: Rounds 308-309: spin cutoff and rig calendar cadence
  • 29 Oct · starred-repos: README: where each finding now stands in the pipeline
  • 29 Oct · starred-repos: Self-checking repo, recorded network inputs, and five more probes (F15-F19)

Languages

The lines of code under each repo's name, added up by language.

121,170 lines of code in 10 languages: Python 100,867 (83.2%), Perl 6,705 (5.5%), JavaScript 5,326 (4.4%), HTML 4,200 (3.5%), CSS 2,375 (2.0%), Shell 766 (0.6%), PowerShell, Batchfile, VBScript and Dockerfile 931 (0.8%).

Passing Earth this week

The asteroids coming within 20 lunar distances of Earth in the week ahead, from NASA/JPL's close-approach data, refreshed every Monday. On the dial, each one sits at the day and distance of its closest approach. The sizes are estimates from each body's brightness, as almost none has been measured.

Asteroids passing Earth within 20 lunar distances, 3–9 Nov 2026 (NASA/JPL close-approach data): 6 in all. 2021 VC4, 6.0 lunar distances on Tue 3 Nov, 11–25 m, 11.2 km/s; 2017 WJ2, 14.7 lunar distances on Thu 5 Nov, 88–197 m, 12.0 km/s; 2025 UF5, 18.8 lunar distances on Mon 9 Nov, 8–17 m, 1.9 km/s; 2001 KF54, 18.8 lunar distances on Fri 6 Nov, 293–655 m, 16.4 km/s; 2026 UX, 19.6 lunar distances on Sat 7 Nov, 29–65 m, 9.7 km/s; 2016 VZ1, 19.9 lunar distances on Thu 5 Nov, 16–36 m, 13.5 km/s.

Get in touch

The contact form on my site goes straight to my email, or you can message me on LinkedIn.

Contact form on loganmedwardsastrophy.com LinkedIn: logan-edwards

The charts, counts and cards on this page are drawn by Python scripts from the repos' own data, and most of them refresh every Monday. See how they're made.


Pinned Loading

  1. economicspace economicspace Public

    End-to-end pipeline optimizing the net profit of an uncrewed autonomous asteroid mining and sample-return mission, from catalog build through mineral pricing to the cost cascade.

    Python 1

  2. asteroid-belt-gradient asteroid-belt-gradient Public

    Family-collapsed, size-debiased analysis of the asteroid belt's S/C compositional gradient (161k classified main-belt asteroids), with the paper and every figure and number in it reproducible from …

    TeX 1

  3. quietlaunch quietlaunch Public

    Start a Streamlit app with no console window: a small control window boots it, opens the browser when the port answers, reuses the server it started, and stops the whole process tree on close. Econ…

    Python

  4. drone-target-id drone-target-id Public archive

    YOLO segmentation front-end + multi-output CNN for aerial target identification: 87.1% fine-class and 91.3% coarse valid/invalid accuracy on a 27k held-out test set. Finished: 12/6/2025

    Python

  5. Satellite-Space-Flight Satellite-Space-Flight Public

    Earth-centred 3-D satellite orbit simulator in pure Python: numpy physics (J2-J4, drag, Sun/Moon, SRP, manoeuvres) with an interactive pygame front end

    Python

  6. Mars_Terrestrial_GlobalMosaic_GIS-Data Mars_Terrestrial_GlobalMosaic_GIS-Data Public

    Mars Global Mosaic (OCN 4704, Florida Tech): an ArcGIS Pro project co-registering Viking color, THEMIS day/night IR and HRSC/MOLA elevation at ±60° to map lava flows, channels and craters. Project …

    HTML 1