# Project Structure
Structure map for the Europas crate.
```text
Europas/
├── README.md # Project overview and usage
├── LICENSE # MIT license
├── ChangeLog.md # Version history
├── ComingSoon.md # Planned features
├── Contributing # Contribution guidelines
├── lastest_versions.sh # Restore wildcard dependency versions
│
├── src/
│ ├── main.rs # Entry point — Europa diagnostics: orbit, ice shell, subsurface ocean
│ ├── lib.rs # Library root, EUROPAMASS (4.80e22 kg), radius 1 561 km, constants
│ │
│ ├── environment/ # Surface environment
│ │ ├── mod.rs # Exports dust, radiation, thermal
│ │ ├── dust.rs # Ice sputtering ejecta, micro-meteorite gardening of ice shell
│ │ ├── radiation.rs # Extreme Jovian radiation belt exposure, ~5.4 Sv/day at surface
│ │ └── thermal.rs # Surface ~110 K (equator) / 50 K (poles), low thermal inertia
│ │
│ ├── exosphere/ # Tenuous atmosphere
│ │ ├── mod.rs # Exports charging, escape, species
│ │ ├── charging.rs # Jovian magnetosphere plasma bombardment, radiolytic charging
│ │ ├── escape.rs # Jeans escape, sputtering-driven O₂ loss, pickup ion removal
│ │ └── species.rs # O₂ (radiolysis of ice), H₂, trace Na/K from salt deposits
│ │
│ ├── geodata/ # Geographic reference data
│ │ ├── mod.rs # Exports coordinates, elevation, landing_sites, regions
│ │ ├── coordinates.rs # Planetocentric lat/lon, IAU Europa-fixed frame
│ │ ├── elevation.rs # Galileo stereo-derived topography, Europa Clipper REASON altimetry
│ │ ├── landing_sites.rs # Europa Lander candidates — smooth chaos margins, low radiation
│ │ └── regions.rs # Conamara Chaos, Thera/Thrace Maculae, ridged plains, band terrain
│ │
│ ├── geology/ # Surface and interior geology
│ │ ├── mod.rs # Exports craters, erosion, mountains, regolith, volcanism
│ │ ├── craters.rs # Pwyll (26 km), Callanish multi-ring, sparse — surface age ~60 Myr
│ │ ├── erosion.rs # Sputtering erosion, radiation darkening, mass wasting at ridges
│ │ ├── mountains.rs # Double ridges up to 300 m, chaos block tilting, no large peaks
│ │ ├── regolith.rs # Thin irradiated ice regolith, radiolytic sulfur compounds
│ │ └── volcanism.rs # Possible cryovolcanic plumes (HST detections), chaos formation
│ │
│ ├── interactions/ # Gravitational interactions
│ │ ├── mod.rs # Exports earth_tides, jupiters, orbital_dynamics
│ │ ├── earth_tides.rs # Earth–Europa perturbation (negligible at 5.2 AU)
│ │ ├── jupiters.rs # Jupiter gravitational influence, Laplace resonance 1:2:4 (Io:Europa:Ganymede)
│ │ └── orbital_dynamics.rs # Forced eccentricity from resonance, tidal flexing of ice shell
│ │
│ ├── lighting/ # Illumination model
│ │ ├── mod.rs # Exports eclipses, jupitershine, solar_position
│ │ ├── eclipses.rs # Jupiter shadow transits, mutual satellite eclipses with Io/Ganymede
│ │ ├── jupitershine.rs # Reflected Jovian light on night side, albedo contribution
│ │ └── solar_position.rs # Solar zenith angle, 3.55 d orbital period illumination cycle
│ │
│ ├── missions/ # Exploration missions
│ │ ├── mod.rs # Exports landers, orbiters, relay
│ │ ├── landers.rs # Europa Lander concept — ice shell sampling, biosignature search
│ │ ├── orbiters.rs # Galileo flybys (12 passes), Europa Clipper (49 flybys), JUICE flyby
│ │ └── relay.rs # Communication relay via Jupiter orbit, Clipper relay capability
│ │
│ ├── observation/ # Remote observation
│ │ ├── mod.rs # Exports communications, jupiter_view, navigation
│ │ ├── communications.rs # Deep-space link budget, 5.2 AU light-time delay (~43 min)
│ │ ├── jupiter_view.rs # Jupiter apparent size from Europa (~12°), Great Red Spot detail
│ │ └── navigation.rs # Orbital navigation, Jovian radiation interference on electronics
│ │
│ ├── physics/ # Orbital and impact mechanics
│ │ ├── mod.rs # Exports collisions, orbit, rotation, tides
│ │ ├── collisions.rs # Impact flux at Jupiter distance, cometary/asteroidal impactors
│ │ ├── orbit.rs # a = 671 100 km, e = 0.009, period 3.55 d, vis-viva
│ │ ├── rotation.rs # Synchronous rotation, possible non-synchronous ice shell rotation
│ │ └── tides.rs # Intense tidal heating from Laplace resonance, ice shell cracking
│ │
│ ├── rendering/ # Visual rendering pipeline
│ │ ├── mod.rs # Exports dust, ice_shell, materials, shaders
│ │ ├── dust.rs # Ice particle rendering, bright surface albedo (0.67)
│ │ ├── ice_shell.rs # Ice shell visualization endpoint
│ │ ├── lod.rs # Pixel-precise adaptive LOD
│ │ ├── materials.rs # PBR ice shell, dark lineae material (salt + sulfur), chaos blocks
│ │ ├── mesh.rs # Icosphere subdivision, vertex data
│ │ └── shaders.rs # GPU shader programs — lineae network, chaos terrain displacement
│ │
│ ├── resources/ # Extractable resources
│ │ ├── mod.rs # Exports minerals, regolith, water_ice
│ │ ├── minerals.rs # Endogenic salts (MgSO₄, NaCl), irradiated sulfur compounds
│ │ ├── regolith.rs # Thin irradiated ice regolith, radiolytic products
│ │ └── water_ice.rs # 10–30 km ice shell over ~100 km deep subsurface ocean
│ │
│ ├── surface/ # Surface mapping
│ │ ├── mod.rs # Exports heightmaps, mapping, zones
│ │ ├── heightmaps.rs # Galileo/Europa Clipper stereo-derived elevation models
│ │ ├── mapping.rs # Lineae maps, chaos distribution, color/composition from NIMS
│ │ └── zones.rs # Ridged plains, chaos regions, band terrain, smooth bright plains
│ │
│ ├── temporal/ # Time systems
│ │ ├── mod.rs # Exports calendar, epoch, time_scale
│ │ ├── calendar.rs # Europa calendar — 3.55 d orbital period, Jupiter year reference
│ │ ├── epoch.rs # J2000 epoch, Galileo encounter dates, Europa Clipper timeline
│ │ └── time_scale.rs # TDB/UT1/TAI conversions at 5.2 AU light-time delay
│ │
│ └── terrain/ # Terrain mesh generation
│ ├── mod.rs # Exports lod, mesh, texturing
│ ├── lod.rs # Level-of-detail streaming for lineae and chaos terrain
│ ├── mesh.rs # Spherical mesh, radius 1 561 km, low oblateness
│ └── texturing.rs # Galileo/Clipper imagery drape, lineae and chaos textures
│
├── tests/ # Integration tests
│ ├── environment_tests.rs # Tests radiation dose (5.4 Sv/day), thermal cycling, sputtering
│ ├── exosphere_tests.rs # Tests O₂ column density, radiolytic production rate
│ ├── geodata_tests.rs # Tests coordinate transforms, Conamara Chaos location
│ ├── geology_tests.rs # Tests surface age (~60 Myr), lineae mechanics, chaos formation
│ ├── interactions_tests.rs # Tests Laplace resonance 1:2:4, forced eccentricity, tidal heat
│ ├── lighting_tests.rs # Tests eclipse timing, jupitershine intensity
│ ├── missions_tests.rs # Tests Galileo flyby parameters, Europa Clipper trajectory
│ ├── observation_tests.rs # Tests link budget, Jupiter apparent diameter
│ ├── physics_tests.rs # Tests orbital period, tidal heating rate, ice shell stress
│ ├── rendering_tests.rs # Tests surface albedo (0.67), lineae material properties
│ ├── resources_tests.rs # Tests salt abundance, ocean volume estimates
│ ├── surface_tests.rs # Tests elevation resolution, chaos terrain boundaries
│ ├── temporal_tests.rs # Tests epoch conversions, orbital period sync
│ └── terrain_tests.rs # Tests mesh accuracy, LOD transitions at lineae
│
└── examples/ # Runnable examples
├── check_landing_site.rs # Evaluate Europa Lander candidates — radiation, slope, ice thickness
├── crater_sim.rs # Pwyll crater formation on 10–30 km ice shell
├── eclipse_sim.rs # Jupiter shadow transit and mutual satellite eclipse timing
├── exosphere_sim.rs # O₂ exosphere from radiolysis, sputtering yield modeling
├── jupiter_observation.rs # Jupiter as seen from Europa — disk size, band structure
├── orbital_sim.rs # 3.55-day orbit, Laplace resonance perturbations
├── radiation_sim.rs # Jovian radiation belt dose at Europa orbit, shielding needs
├── resource_survey.rs # Salt deposit and ocean accessibility mapping
└── tidal_effects.rs # Tidal flexing analysis — ice shell cracking, chaos formation
```