///|
/// Demonstration CLI for the geofield library.
/// Run with `moon run cmd/main` from the project root.
fn main {
let station = @geofield.GeoPoint::{ lat: 32.0, lon: 118.0, elevation_m: 25.0 }
let normal = @geofield.normal_gravity_mgal(station.lat)
let declination = @geofield.magnetic_declination_deg(station.lat, station.lon)
println(
"station: lat=\{station.lat}, lon=\{station.lon}, h=\{station.elevation_m}m",
)
println("normal gravity: \{normal} mGal")
println("magnetic declination estimate: \{declination} deg")
let grid = @geofield.make_grid(
origin_lat=32.0,
origin_lon=118.0,
lat_step=0.5,
lon_step=0.5,
rows=2,
cols=2,
values=[10.0, 12.0, 18.0, 22.0],
)
let end = @geofield.GeoPoint::{ lat: 32.5, lon: 118.5, elevation_m: 40.0 }
let profile = @geofield.profile_between(grid, station, end, 3)
println(@geofield.profile_to_csv(profile))
}