{"schema":"astrologos-help/v1","generator":"astrologos-runtime","root":"root","entries":[{"id":"root","name":"Astrologos","path":"Astrologos","kind":"root","aliases":[],"description":"Astrologos calculator documentation root","syntax":["help()","help(\"name\")","value.help()","help().search(\"text\")"],"examples":[],"arguments":[],"children":["topic:syntax","topic:examples","topic:themes","topic:syntax.basics","topic:syntax.loops","topic:syntax.blocks","topic:syntax.functions","topic:syntax.overloads","topic:syntax.namespaces","topic:example.getting_started","topic:example.syntax","topic:example.time_calendar","topic:example.locations_timezones","topic:example.sunrise","topic:example.sunrise.day","topic:example.sunrise.month","topic:example.moonrise","topic:example.moon_phase","topic:example.stars","topic:example.constellations","topic:example.moon_stars","topic:example.sky_charts","topic:example.planets","topic:example.eclipses","topic:example.almanac","topic:example.pages","topic:example.coordinates","topic:example.vectors_matrices","topic:example.orbit_propagation","topic:example.polygons","topic:example.places_timezones","topic:example.weather_fields","topic:example.topography","topic:example.magnetic","topic:example.weather","topic:example.graphics","topic:example.resources","topic:example.runtime","topic:example.math","topic:example.search","function:time","function:weekday","function:location","function:observer","function:body","function:elements","function:orbit","function:system","function:observation","function:orbit_determination","function:heading","function:direction","function:polygon","function:vector","function:spherical","function:matrix","function:unit","function:state","function:places","function:place","function:country","function:admin1","function:admin2","function:timezones","function:timezone","function:stars","function:constellations","function:graphics","function:target","function:range","function:search","function:forecast","function:netcdf","function:field","function:topography","function:magnetic","function:pages","function:help","function:about","function:resources","function:resource_sources","function:exit","function:run","function:functions","function:fields","function:types","function:elapsed","function:sleep","function:array","function:hash","function:args","function:keys","function:values","function:items","function:pretty","function:format","function:typeof","function:altitude","function:azimuth","function:distance","function:right_ascension","function:declination","function:ecliptic_longitude","function:heliocentric_ecliptic_longitude","function:elongation","function:moon_phase","function:moon_illumination","function:magnitude","function:apparent_solar_time","function:lunar_time","function:rotational_axis","function:rotational_axis_ra","function:rotational_axis_dec","function:dms","function:dd","function:solar_eclipse_magnitude","function:solar_eclipse_obscuration","function:solar_eclipse_clearance","function:lunar_eclipse_magnitude","function:lunar_penumbra_magnitude","function:lunar_eclipse_clearance","function:shadow_distance","function:moon_shadow_earth_distance","function:moon_penumbra_distance","function:moon_umbra_distance","function:moon_umbra_occultation","function:location_shadow_distance","function:planet_shadow_earth_distance","function:events","function:sky","function:almanac","function:integrate","function:sample","function:abs","function:sign","function:floor","function:ceil","function:round","function:trunc","function:fract","function:sqrt","function:cbrt","function:exp","function:exp2","function:ln","function:log","function:log2","function:log10","function:pow","function:sin","function:cos","function:tan","function:asin","function:acos","function:atan","function:atan2","function:sinh","function:cosh","function:tanh","function:asinh","function:acosh","function:atanh","function:hypot","function:min","function:max","function:clamp","function:angle_in_degrees","function:to_radians","function:to_degrees","function:is_finite","function:is_nan","function:is_infinite","function:navigate","function:minimize","type:Time","type:LocalTime","type:Weekday","type:Location","type:LocationSolution","type:Observer","type:Body","type:Bodies","type:Elements","type:Orbit","type:System","type:Observation","type:OrbitSolution","type:Shadow","type:Heading","type:Direction","type:Polygon","type:Vector","type:Matrix","type:Unit","type:State","type:Places","type:Place","type:Country","type:Admin1","type:Admin2","type:Timezones","type:Timezone","type:Stars","type:Star","type:ConstellationDb","type:Constellation","type:Event","type:Graphics","type:Target","type:Range","type:Search","type:Forecast","type:ForecastProduct","type:ScalarField","type:VectorField","type:FieldSource","type:NetCDF","type:Field","type:Magnetic","type:Pages","constant:sun","constant:mercury","constant:venus","constant:moon","constant:earth","constant:mars","constant:jupiter","constant:saturn","constant:uranus","constant:neptune","constant:pluto","constant:monday","constant:tuesday","constant:wednesday","constant:thursday","constant:friday","constant:saturday","constant:sunday","constant:barycentric","constant:bc","constant:heliocentric","constant:hc","constant:geocentric","constant:gc","constant:topocentric","constant:topo","constant:icrf","constant:icrs","constant:tod","constant:true_of_date","constant:trueofdate","constant:ecliptic","constant:ecliptic_of_date","constant:earthfixed","constant:earth_fixed","constant:ef","constant:sunfixed","constant:sun_fixed","constant:mercuryfixed","constant:mercury_fixed","constant:venusfixed","constant:venus_fixed","constant:moonfixed","constant:moon_fixed","constant:marsfixed","constant:mars_fixed","constant:jupiterfixed","constant:jupiter_fixed","constant:saturnfixed","constant:saturn_fixed","constant:uranusfixed","constant:uranus_fixed","constant:neptunefixed","constant:neptune_fixed","constant:plutofixed","constant:pluto_fixed","constant:topographic","constant:horizon","constant:no_correction","constant:light_time","constant:apparent","constant:all_corrections","value:List","value:Object","value:Arguments","value:Callable","value:Help","value:HelpResult","value:Nil","value:Unavailable","value:Bool","value:Number","value:Text","value:EventType","value:SearchDirection","value:FieldSource","value:NetCDF","value:Field","value:SearchGoal","value:Reference"],"resources":[],"doc":"Astrologos Calculator\nA small programmable calculator for astronomy-oriented values.\n\nHello World\n  print \"hello world\";\n\nUseful Commands\n  help or help() returns the root documentation object.\n  help(\"time\") looks up named documentation topics.\n  help(\"examples\") or help.examples() shows common astronomy examples.\n  help().search(\"azimuth\") or help.search(\"azimuth\") searches all documentation.\n  value.help() returns documentation for a computed value.\n  about, licence, or disclaimer prints project caveats and licence text.\n  resource_sources() lists upstream data sources for registered resources.\n  h.doc(), h.compact(), h.syntax, and h.children inspect help values.\n  help results are list-like: h[0] selects one result and h.name projects names.\n\nSyntax Shorthand\n  let name = <expression>;\n  name = <expression>;\n  print value, other;\n  print; prints a blank line.\n  [a, b, c] creates an array; values[0] indexes one element.\n  {name: value, other: 2} creates an object; object.name reads a field.\n  Object fields can be assigned with object.name = value when the object is mutable.\n  value.help() returns contextual documentation.\n  help().search(\"text\") performs case-insensitive recursive search.\n  for i=0,10 { statements } or for i=0,10,2 { statements }\n  while condition { statements }\n  if condition statement; or if condition { statements }\n  if condition { statements } else if other { statements } else { statements }\n  break; exits the nearest loop.\n\nCommon Data Pages\n  pages(location(60,10)).sky() returns local sky data.\n  pages(time()).chart() returns apparent geocentric chart positions.\n  pages(location(60,10), moon).summary() returns compact local Moon data.\n  pages(location(60,10)).almanac(time()) returns a one-day local almanac.\n  pages(location(60,10)).table(days: 30) returns daily rise/set/transit rows.\n  pages(time()).state() returns solar-system state vectors.\n\nFunctions\n  time - creates UTC time, or local civil time when given a timezone, location, or place\n  weekday - creates a weekday value\n  location - creates a location system value\n  observer - creates a body-fixed 3D observer\n  body - creates a body system value\n  elements - creates osculating orbital elements\n  orbit - creates a two-body orbit from elements\n  system - creates an immutable system of integrated states, body-backed orbits, and ephemeris bodies\n  observation - creates an orbit-determination observation\n  orbit_determination - determines an orbit from three or more observations\n  heading - creates a compass heading\n  direction - creates a frame-tagged unit-sphere direction\n  polygon - creates a spherical polygon with great-circle edges\n  vector - creates a vector system value\n  spherical - creates a vector from spherical coordinates\n  matrix - creates a matrix system value\n  unit - creates a unit system value\n  state - creates an orbital state from ephemeris data or explicit initial conditions\n  places (aliases: placedb) - opens the GeoNames places resource\n  place - creates a custom Earth place from a location and timezone\n  country - resolves a country from a name, ISO code, Place, or Country\n  admin1 - resolves a first-level administrative region\n  admin2 - resolves a second-level administrative region\n  timezones (aliases: timezonedb, tzdb) - opens the IANA timezone boundary resource\n  timezone (aliases: tz) - creates an IANA timezone from an id or Earth location\n  stars (aliases: stardb) - opens the Yale Bright Star Catalogue resource\n  constellations - opens the IAU constellation boundary resource\n  graphics (aliases: plot) - creates a deferred SVG graphics object\n  target - creates a value/direction target for search(...), or passes through minimum/maximum\n  range - creates a numeric or time range for search(...)\n  search - searches for function crossings or local minimum/maximum points\n  forecast - opens a published GFS forecast cycle from the retained stack\n  netcdf - opens a NetCDF dataset and returns its dimensions and variables\n  field - creates a global scalar field from a NetCDF variable\n  topography - creates an approved global topography field for a body\n  magnetic - creates a magnetic field model handle\n  pages - creates a data-page builder with optional default body, time, and observer\n  help - returns the Astrologos calculator manual or one function's syntax\n  about (aliases: disclaimer, licence, license) - returns the project disclaimer, licence, and about text\n  resources - lists known runtime resources and whether they are loaded\n  resource_sources - lists upstream data sources for known runtime resources\n  exit - stops execution after the current statement, optionally returning a message\n  run - deprecated alias for exit()\n  functions - lists function metadata, optionally filtered by function name\n  fields - lists type field metadata, optionally filtered by field name\n  types - lists registered astro/system types, constructors, fields, and members\n  elapsed - returns elapsed execution time in seconds\n  sleep - pauses execution for a number of milliseconds\n  array - creates an array from positional values\n  hash - creates an ordered hash/object from named values\n  args - captures positional and named values as an argument-list value\n  keys - returns ordered keys for an array, object, or argument-list value\n  values - returns ordered values from an array, object, or argument-list value\n  items - returns ordered key/value objects from an array, object, or argument-list value\n  pretty - formats a value as indented JSON text\n  format - formats values as text with small printf-style placeholders\n  typeof - returns the type or function name of a value\n  altitude - returns corrected topographic altitude/elevation in degrees\n  azimuth - returns corrected topographic azimuth in degrees\n  distance - returns corrected geocentric distance in kilometers\n  right_ascension (aliases: ra) - returns corrected geocentric true-of-date right ascension in degrees\n  declination (aliases: dec) - returns corrected geocentric true-of-date declination in degrees\n  ecliptic_longitude - returns corrected apparent geocentric ecliptic longitude in degrees\n  heliocentric_ecliptic_longitude - returns corrected heliocentric ecliptic longitude in degrees\n  elongation - returns signed geocentric elongation from the Sun in degrees\n  moon_phase - returns Moon phase angle percentage in the range 0..100\n  moon_illumination - returns illuminated percentage of the Moon as seen from Earth\n  magnitude - returns approximate apparent visual magnitude\n  apparent_solar_time - returns apparent solar time in local hours\n  lunar_time - returns local lunar hour angle as hours\n  rotational_axis - returns a body's rotational north-pole RA, declination, and ICRF unit vector\n  rotational_axis_ra - returns a body's rotational north-pole right ascension in degrees\n  rotational_axis_dec - returns a body's rotational north-pole declination in degrees\n  dms - converts decimal degrees to degree-minute-second components\n  dd - converts degree-minute-second components to signed decimal degrees\n  solar_eclipse_magnitude - returns local solar eclipse magnitude at a time and location\n  solar_eclipse_obscuration - returns percent of the solar disc occulted locally\n  solar_eclipse_clearance - returns signed local Sun-Moon limb clearance in degrees\n  lunar_eclipse_magnitude - returns signed umbral lunar eclipse magnitude\n  lunar_penumbra_magnitude - returns signed penumbral lunar eclipse magnitude\n  lunar_eclipse_clearance - returns signed Moon-surface clearance from Earth's penumbra in kilometers\n  shadow_distance - returns signed surface clearance for the active Sun-Earth-Moon shadow geometry\n  moon_shadow_earth_distance - returns signed Earth-surface clearance from the Moon shadow cone in kilometers\n  moon_penumbra_distance - returns signed Moon-surface clearance from Earth's penumbra in kilometers\n  moon_umbra_distance - returns signed Moon-surface clearance from Earth's umbra in kilometers\n  moon_umbra_occultation - returns percent overlap of the Moon and Earth's umbra\n  location_shadow_distance - returns signed local observer clearance from the Moon shadow cone in kilometers\n  planet_shadow_earth_distance - returns signed Earth-surface clearance from a planet shadow cone in kilometers\n  events - finds astronomical events from event type constants and time ranges\n  sky - summarizes the local sky and upcoming local events\n  almanac - builds a range almanac from astronomical event searches\n  integrate - integrates a callable over named ranges or advances named derivatives\n  sample - samples a field at a latitude/longitude location\n  abs - returns the absolute value\n  sign - returns -1, 0, or 1 according to the sign\n  floor - rounds down to an integer value\n  ceil - rounds up to an integer value\n  round - rounds to the nearest integer value\n  trunc - truncates toward zero\n  fract - returns the fractional part\n  sqrt - returns the square root\n  cbrt - returns the cube root\n  exp - returns e raised to x\n  exp2 - returns 2 raised to x\n  ln - returns the natural logarithm\n  log - returns logarithm of x in the given base\n  log2 - returns the base-2 logarithm\n  log10 - returns the base-10 logarithm\n  pow - returns x raised to y\n  sin - returns sine of x radians\n  cos - returns cosine of x radians\n  tan - returns tangent of x radians\n  asin - returns arcsine in radians\n  acos - returns arccosine in radians\n  atan - returns arctangent in radians\n  atan2 - returns atan2(y, x) in radians\n  sinh - returns hyperbolic sine\n  cosh - returns hyperbolic cosine\n  tanh - returns hyperbolic tangent\n  asinh - returns inverse hyperbolic sine\n  acosh - returns inverse hyperbolic cosine\n  atanh - returns inverse hyperbolic tangent\n  hypot - returns sqrt(x*x + y*y) without undue overflow\n  min - returns the smallest numeric argument\n  max - returns the largest numeric argument\n  clamp - clips x to the inclusive range lower..upper\n  angle_in_degrees (aliases: angle_degrees) - returns the angle between two vectors in degrees\n  to_radians - converts degrees to radians\n  to_degrees - converts radians to degrees\n  is_finite - returns true when x is finite\n  is_nan - returns true when x is NaN\n  is_infinite - returns true when x is infinite\n  navigate - estimates an Earth location from target elevation observations\n  minimize - minimizes a numeric callable over named variables with optional bounds and constraints\n\nResources\n  constellations - IAU constellation boundaries from Bill Gray constbnd (source: IAU constellation boundaries / Bill Gray constbnd)\n  ephemeris - orbital ephemeris files used for state/orbit calculations (source: NASA/JPL Development Ephemeris DE441)\n  gfs_forecast - published GFS forecast cycle stack under gfs/ (source: NOAA/NCEP Global Forecast System)\n  iers - IERS Earth orientation and leap-second data used for UTC/TT/UT1/TDB conversions (source: IERS EOP C04)\n  magnetic_model - NOAA WMMHR magnetic coefficient model under magnetic/ (source: NOAA/NCEI World Magnetic Model High Resolution)\n  atmosphere - not implemented; reserved for atmospheric refraction and climatology inputs (source: not implemented)\n  earth_tides - not implemented; reserved for solid Earth tide displacement corrections (source: not implemented)\n  earth_topography - global Earth topography/bathymetry scalar field (source: NOAA/NCEI ETOPO1 bedrock global relief)\n  ocean_tides - not implemented; reserved for ocean tide and ocean-loading corrections (source: not implemented)\n  moon_topography - global Moon altitude topography scalar field (source: installed lunar altitude topography)\n  places - GeoNames place lookup database (source: GeoNames geographical database)\n  planetary_satellites - planetary-satellite ephemeris store derived from satellite SPK kernels (source: NAIF generic satellite SPK kernels)\n  small_bodies - massive small-body ephemeris store for asteroid/KBO perturbation models (source: Astrologos small-body ephemeris store)\n  solar_activity - not implemented; reserved for solar and geomagnetic activity indices (source: not implemented)\n  stars - Yale Bright Star Catalogue with common-name notes (source: Yale Bright Star Catalogue, 5th Revised Edition)\n  timezones - IANA timezone and location-boundary lookup database (source: IANA Time Zone Database and Timezone Boundary Builder)\n\nTypes\n  Time - UTC date/time value with resolved TT, UT1, and TDB scales\n  LocalTime - timezone-adjusted civil time derived from a UTC Time\n  Weekday - ISO weekday value\n  Location - body-aware latitude/longitude surface location\n  LocationSolution - navigation solution with location, residuals, and fit quality\n  Observer - body-fixed 3D observer with position, zenith, and derived surface location\n  Body - solar-system body with physical parameters from the reference C model\n  Bodies - registry of known solar-system bodies and massive small-body perturbers\n  Elements - osculating orbital elements using periapsis distance as the primary distance\n  Orbit - two-body orbit backed by osculating elements or a relative state vector\n  System - immutable orbit propagation system with shared snapshot cache\n  Observation - measured sky direction or target elevation observation\n  OrbitSolution - orbit determination result with orbit, residuals, and fit quality\n  Shadow - instantaneous sunlight shadow geometry for one body on another\n  Heading - compass heading measured clockwise from north\n  Direction - unit-sphere direction tagged with a coordinate frame\n  Polygon - right-handed spherical polygon with great-circle edges\n  Vector - 3D vector with cached cartesian and spherical representations\n  Matrix - 3x3 matrix compatible with reference vector transforms\n  Unit - named unit used when requesting or displaying numeric values\n  State - orbital state backed by ephemeris data with lazy derived fields\n  Places - GeoNames place lookup database handle\n  Place - GeoNames place record with location and feature metadata\n  Country - ISO country used to inspect and filter places\n  Admin1 - first-level GeoNames administrative region used to filter places\n  Admin2 - second-level GeoNames administrative region used to filter places\n  Timezones - IANA timezone lookup database handle\n  Timezone - IANA timezone with optional boundary and representative-location metadata\n  Stars - Yale Bright Star Catalogue database handle\n  Star - catalog star with identifiers, astrometry, and sky methods\n  ConstellationDb - IAU constellation boundary database handle\n  Constellation - IAU constellation boundary record\n  Event - astronomical event result\n  Graphics - deferred SVG graphics drawing context\n  Target - search target value and crossing direction\n  Range - numeric or time scan range\n  Search - configured scalar search value\n  Forecast - published GFS forecast cycle from the retained stack\n  ForecastProduct - forecast product selector bound to a forecast\n  ScalarField - forecast scalar field selected from a product\n  VectorField - forecast vector field selected from a product\n  FieldSource - approved external field dataset source\n  NetCDF - opened NetCDF dataset metadata\n  Field - sampleable global scalar field\n  Magnetic - body-scoped magnetic field model\n  Pages - curated data-page builder with optional default body, time, and observer\n\nObjects\n  Object - ordered mutable field collection\n    literal: {name: value, count: 2}\n    access: object.name or object[\"name\"]\n    helpers: keys(object), values(object), items(object), object.available(), object.help()","compact":"Root: Astrologos - Astrologos calculator documentation root","search_text":"root Astrologos Astrologos root Astrologos calculator documentation root help() help(\"name\") value.help() help().search(\"text\")"},{"id":"topic:syntax","name":"syntax","path":"Astrologos.syntax","kind":"topic","aliases":["language","grammar","programming"],"description":"general Astrologos language syntax for scripts, expressions, blocks, and definitions","syntax":["help(\"syntax\")","help(\"loops\")","help(\"blocks\")","help(\"custom functions\")","help(\"overloads\")","help(\"namespaces\")"],"examples":["# Minimal local sky script\nlet loc = location(60.0, 10.0);\nlet obs = loc.observer(0.002);\nlet t = time(2026,6,21,12,0,0);\nprint altitude(sun, t, obs), azimuth(sun, t, obs);","# Define a reusable local altitude helper\nlet local_altitude = (body, t): {\n  let loc = location(latitude: 60, longitude: 10);\n  let obs = loc.observer(0.002);\n  let value = altitude(body, t, obs);\n};\nlet f = (body, t): local_altitude(body, t).value;\nlet t = time(2026,1,1,21,0,0);\nlet a = local_altitude(moon, t);\nprint f(moon, t), a.value, a.loc, a.obs;"],"arguments":[],"children":["topic:syntax.basics","topic:syntax.loops","topic:syntax.blocks","topic:syntax.functions","topic:syntax.overloads","topic:syntax.namespaces"],"resources":[],"doc":"Topic: Astrologos.syntax - general Astrologos language syntax for scripts, expressions, blocks, and definitions\nSyntax:\n  help(\"syntax\")\n  help(\"loops\")\n  help(\"blocks\")\n  help(\"custom functions\")\n  help(\"overloads\")\n  help(\"namespaces\")\nAliases: language, grammar, programming\nChildren: syntax basics, loops, blocks, custom functions, function overloads, namespaces\nExamples:\n# Minimal local sky script\n   let loc = location(60.0, 10.0);\n   let obs = loc.observer(0.002);\n   let t = time(2026,6,21,12,0,0);\n   print altitude(sun, t, obs), azimuth(sun, t, obs);\n\n# Define a reusable local altitude helper\n   let local_altitude = (body, t): {\n   let loc = location(latitude: 60, longitude: 10);\n   let obs = loc.observer(0.002);\n   let value = altitude(body, t, obs);\n   };\n   let f = (body, t): local_altitude(body, t).value;\n   let t = time(2026,1,1,21,0,0);\n   let a = local_altitude(moon, t);\n   print f(moon, t), a.value, a.loc, a.obs;","compact":"Topic: Astrologos.syntax - general Astrologos language syntax for scripts, expressions, blocks, and definitions","search_text":"topic:syntax syntax Astrologos.syntax topic general Astrologos language syntax for scripts, expressions, blocks, and definitions language grammar programming help(\"syntax\") help(\"loops\") help(\"blocks\") help(\"custom functions\") help(\"overloads\") help(\"namespaces\")"},{"id":"topic:syntax.basics","name":"syntax basics","path":"Astrologos.syntax.basics","kind":"topic","aliases":["basics","statements","expressions","comments","objects","arrays"],"description":"core expression, statement, value, comment, array, object, field, and call syntax","syntax":["let name = expression;","name = expression;","print value, other;","# comment","// comment","[a, b, c]","{name: value, other: 2}","object.name","object[\"name\"]","call(argument, named: value)"],"examples":["# Store one local sky sample as an object row\nlet t = time(2026,1,1,21,0,0); # UTC\nlet loc = location(60.0, 10.0);\nlet row = {body: moon.name, when: t.utc(), altitude: altitude(moon, t, loc.observer())};\nprint row.body, row.when, row.altitude;","# Use named arguments for an observing site\nlet loc = location(latitude: 58.9666667, longitude: 5.7333333);\nlet obs = loc.observer(height: 0.002);\nprint obs.latitude(), obs.longitude(), altitude(sun, time(2026,6,21,12,0,0), obs);"],"arguments":[],"children":[],"resources":[],"doc":"Topic: Astrologos.syntax.basics - core expression, statement, value, comment, array, object, field, and call syntax\nSyntax:\n  let name = expression;\n  name = expression;\n  print value, other;\n  # comment\n  // comment\n  [a, b, c]\n  {name: value, other: 2}\n  object.name\n  object[\"name\"]\n  call(argument, named: value)\nAliases: basics, statements, expressions, comments, objects, arrays\nExamples:\n# Store one local sky sample as an object row\n   let t = time(2026,1,1,21,0,0); # UTC\n   let loc = location(60.0, 10.0);\n   let row = {body: moon.name, when: t.utc(), altitude: altitude(moon, t, loc.observer())};\n   print row.body, row.when, row.altitude;\n\n# Use named arguments for an observing site\n   let loc = location(latitude: 58.9666667, longitude: 5.7333333);\n   let obs = loc.observer(height: 0.002);\n   print obs.latitude(), obs.longitude(), altitude(sun, time(2026,6,21,12,0,0), obs);","compact":"Topic: Astrologos.syntax.basics - core expression, statement, value, comment, array, object, field, and call syntax","search_text":"topic:syntax.basics syntax basics Astrologos.syntax.basics topic core expression, statement, value, comment, array, object, field, and call syntax basics statements expressions comments objects arrays let name = expression; name = expression; print value, other; # comment // comment [a, b, c] {name: value, other: 2} object.name object[\"name\"] call(argument, named: value)"},{"id":"topic:syntax.loops","name":"loops","path":"Astrologos.syntax.loops","kind":"topic","aliases":["for","while","break","iteration","loop"],"description":"for loops, while loops, break, and numeric iteration syntax","syntax":["for i=start,stop { statements }","for i=start,stop,step { statements }","while condition { statements }","break;"],"examples":["# Loop over every third hour of a day\nlet loc = location(60.0, 10.0);\nlet obs = loc.observer(0.002);\nlet t0 = time(2026,6,21,0,0,0);\nfor h=0,24,3 {\n  let t = t0.add_hours(h);\n  print t.utc(), altitude(sun, t, obs);\n}","# Stop a while loop when the Sun reaches a useful altitude\nlet loc = location(60.0, 10.0);\nlet obs = loc.observer(0.002);\nlet t0 = time(2026,6,21,0,0,0);\nlet h = 0;\nwhile h < 24 {\n  if altitude(sun, t0.add_hours(h), obs) > 20 break;\n  h = h + 1;\n}\nprint t0.add_hours(h).utc(), altitude(sun, t0.add_hours(h), obs);"],"arguments":[],"children":[],"resources":[],"doc":"Topic: Astrologos.syntax.loops - for loops, while loops, break, and numeric iteration syntax\nSyntax:\n  for i=start,stop { statements }\n  for i=start,stop,step { statements }\n  while condition { statements }\n  break;\nAliases: for, while, break, iteration, loop\nExamples:\n# Loop over every third hour of a day\n   let loc = location(60.0, 10.0);\n   let obs = loc.observer(0.002);\n   let t0 = time(2026,6,21,0,0,0);\n   for h=0,24,3 {\n   let t = t0.add_hours(h);\n   print t.utc(), altitude(sun, t, obs);\n   }\n\n# Stop a while loop when the Sun reaches a useful altitude\n   let loc = location(60.0, 10.0);\n   let obs = loc.observer(0.002);\n   let t0 = time(2026,6,21,0,0,0);\n   let h = 0;\n   while h < 24 {\n   if altitude(sun, t0.add_hours(h), obs) > 20 break;\n   h = h + 1;\n   }\n   print t0.add_hours(h).utc(), altitude(sun, t0.add_hours(h), obs);","compact":"Topic: Astrologos.syntax.loops - for loops, while loops, break, and numeric iteration syntax","search_text":"topic:syntax.loops loops Astrologos.syntax.loops topic for loops, while loops, break, and numeric iteration syntax for while break iteration loop for i=start,stop { statements } for i=start,stop,step { statements } while condition { statements } break;"},{"id":"topic:syntax.blocks","name":"blocks","path":"Astrologos.syntax.blocks","kind":"topic","aliases":["block expressions","scope","For block","if else"],"description":"braced statement blocks, scope expressions, if/else branches, and the implemented For(...) block expression","syntax":["{ statements }","if condition statement;","if condition { statements } else if other { statements } else { statements }","For(i, start, stop, step) { statements }"],"examples":["# if, else if, and else blocks\nlet altitude_now = altitude(sun, time(), location(60,10).observer());\nif altitude_now > 0 {\n  print \"sun is above the horizon\";\n} else if altitude_now > -6 {\n  print \"civil twilight\";\n} else {\n  print \"night\";\n}","# For(...) block expression can keep the last daylight sample\nlet loc = location(60,10);\nlet obs = loc.observer();\nlet t0 = time(2026,6,21,0,0,0);\nlet result = For(h, 0, 24, 6) {\n  let time_utc = t0.add_hours(h).utc();\n  let sun_altitude = altitude(sun, t0.add_hours(h), obs);\n};\nprint result.time_utc, result.sun_altitude;"],"arguments":[],"children":[],"resources":[],"doc":"Topic: Astrologos.syntax.blocks - braced statement blocks, scope expressions, if/else branches, and the implemented For(...) block expression\nSyntax:\n  { statements }\n  if condition statement;\n  if condition { statements } else if other { statements } else { statements }\n  For(i, start, stop, step) { statements }\nAliases: block expressions, scope, For block, if else\nExamples:\n# if, else if, and else blocks\n   let altitude_now = altitude(sun, time(), location(60,10).observer());\n   if altitude_now > 0 {\n   print \"sun is above the horizon\";\n   } else if altitude_now > -6 {\n   print \"civil twilight\";\n   } else {\n   print \"night\";\n   }\n\n# For(...) block expression can keep the last daylight sample\n   let loc = location(60,10);\n   let obs = loc.observer();\n   let t0 = time(2026,6,21,0,0,0);\n   let result = For(h, 0, 24, 6) {\n   let time_utc = t0.add_hours(h).utc();\n   let sun_altitude = altitude(sun, t0.add_hours(h), obs);\n   };\n   print result.time_utc, result.sun_altitude;","compact":"Topic: Astrologos.syntax.blocks - braced statement blocks, scope expressions, if/else branches, and the implemented For(...) block expression","search_text":"topic:syntax.blocks blocks Astrologos.syntax.blocks topic braced statement blocks, scope expressions, if/else branches, and the implemented For(...) block expression block expressions scope For block if else { statements } if condition statement; if condition { statements } else if other { statements } else { statements } For(i, start, stop, step) { statements }"},{"id":"topic:syntax.functions","name":"custom functions","path":"Astrologos.syntax.functions","kind":"topic","aliases":["definitions","user functions","closures","lambda","callable"],"description":"plain definitions, typed definitions, and closure values for reusable calculations","syntax":["name(parameter, other) { statements }","type Name(parameter) { statements }","(parameter, other): expression"],"examples":["# Custom function returning exported fields\nsun_sample(t, loc) {\n  let obs = loc.observer(0.002);\n  let altitude_deg = altitude(sun, t, obs);\n  let azimuth_deg = azimuth(sun, t, obs);\n}\nlet sample = sun_sample(time(2026,6,21,12,0,0), location(60,10));\nprint sample.altitude_deg, sample.azimuth_deg;","# Closure used as a search function\nlet root = search((x): cos(x) - 0.5, range(0, 4, 0.25), target(0, decreasing)).next();\nprint root;","# User-defined type with a closure-valued field\ntype obs(t) {\n  let year_plus = (d): t.year() + d;\n}\nlet x = obs(time(2026,4,27,8,26,0));\nprint x.year_plus(1);"],"arguments":[],"children":[],"resources":[],"doc":"Topic: Astrologos.syntax.functions - plain definitions, typed definitions, and closure values for reusable calculations\nSyntax:\n  name(parameter, other) { statements }\n  type Name(parameter) { statements }\n  (parameter, other): expression\nAliases: definitions, user functions, closures, lambda, callable\nExamples:\n# Custom function returning exported fields\n   sun_sample(t, loc) {\n   let obs = loc.observer(0.002);\n   let altitude_deg = altitude(sun, t, obs);\n   let azimuth_deg = azimuth(sun, t, obs);\n   }\n   let sample = sun_sample(time(2026,6,21,12,0,0), location(60,10));\n   print sample.altitude_deg, sample.azimuth_deg;\n\n# Closure used as a search function\n   let root = search((x): cos(x) - 0.5, range(0, 4, 0.25), target(0, decreasing)).next();\n   print root;\n\n# User-defined type with a closure-valued field\n   type obs(t) {\n   let year_plus = (d): t.year() + d;\n   }\n   let x = obs(time(2026,4,27,8,26,0));\n   print x.year_plus(1);","compact":"Topic: Astrologos.syntax.functions - plain definitions, typed definitions, and closure values for reusable calculations","search_text":"topic:syntax.functions custom functions Astrologos.syntax.functions topic plain definitions, typed definitions, and closure values for reusable calculations definitions user functions closures lambda callable name(parameter, other) { statements } type Name(parameter) { statements } (parameter, other): expression"},{"id":"topic:syntax.overloads","name":"function overloads","path":"Astrologos.syntax.overloads","kind":"topic","aliases":["overloads","signatures","return shape","return types","return-shape-dependent behaviour","return-shape-dependent behavior"],"description":"multiple callable signatures, overload-specific argument order, and query-dependent return shapes","syntax":["help(\"function_name\").syntax","help(\"events\").syntax","events(event_type, bounded_range) -> List","events(event_type, open_range) -> Event|Nil","collection.first()"],"examples":["# Inspect overloads before choosing argument order\nprint help(\"events\").syntax;","# Bounded event searches return a list, so collection methods apply\nlet oslo = location(latitude: 59.9139, longitude: 10.7522);\nlet day = range(time(2026,7,11,0,0,0), time(2026,7,12,0,0,0));\nlet sunset = events(sunset, day, oslo).first();\nprint sunset.time.utc();","# Open-ended event searches return one Event or Nil, not a list\nlet oslo = location(latitude: 59.9139, longitude: 10.7522);\nlet after = range(time(2026,7,11,0,0,0), infinity, 1);\nlet sunset = events(sunset, after, oslo);\nif sunset != nil { print sunset.time.utc(); }","# Return shape may vary by query: guard Nil and Unavailable values\nlet empty = places().search(\"Oslo\", country: \"ZZ\").first();\nlet missing = places().find(\"definitely-not-a-real-place-name\");\nprint empty == nil, empty.available();\nprint missing.available(), missing.reason;\nif empty.available() { print empty.name; } else { print \"empty search\"; }\nif missing.available() { print missing.name; } else { print \"missing lookup\"; }"],"arguments":[],"children":[],"resources":[],"doc":"Topic: Astrologos.syntax.overloads - multiple callable signatures, overload-specific argument order, and query-dependent return shapes\nSyntax:\n  help(\"function_name\").syntax\n  help(\"events\").syntax\n  events(event_type, bounded_range) -> List\n  events(event_type, open_range) -> Event|Nil\n  collection.first()\nAliases: overloads, signatures, return shape, return types, return-shape-dependent behaviour, return-shape-dependent behavior\nExamples:\n# Inspect overloads before choosing argument order\n   print help(\"events\").syntax;\n\n# Bounded event searches return a list, so collection methods apply\n   let oslo = location(latitude: 59.9139, longitude: 10.7522);\n   let day = range(time(2026,7,11,0,0,0), time(2026,7,12,0,0,0));\n   let sunset = events(sunset, day, oslo).first();\n   print sunset.time.utc();\n\n# Open-ended event searches return one Event or Nil, not a list\n   let oslo = location(latitude: 59.9139, longitude: 10.7522);\n   let after = range(time(2026,7,11,0,0,0), infinity, 1);\n   let sunset = events(sunset, after, oslo);\n   if sunset != nil { print sunset.time.utc(); }\n\n# Return shape may vary by query: guard Nil and Unavailable values\n   let empty = places().search(\"Oslo\", country: \"ZZ\").first();\n   let missing = places().find(\"definitely-not-a-real-place-name\");\n   print empty == nil, empty.available();\n   print missing.available(), missing.reason;\n   if empty.available() { print empty.name; } else { print \"empty search\"; }\n   if missing.available() { print missing.name; } else { print \"missing lookup\"; }","compact":"Topic: Astrologos.syntax.overloads - multiple callable signatures, overload-specific argument order, and query-dependent return shapes","search_text":"topic:syntax.overloads function overloads Astrologos.syntax.overloads topic multiple callable signatures, overload-specific argument order, and query-dependent return shapes overloads signatures return shape return types return-shape-dependent behaviour return-shape-dependent behavior help(\"function_name\").syntax help(\"events\").syntax events(event_type, bounded_range) -> List events(event_type, open_range) -> Event|Nil collection.first()"},{"id":"topic:syntax.namespaces","name":"namespaces","path":"Astrologos.syntax.namespaces","kind":"topic","aliases":["objects as namespaces","fields","methods","module objects","type fields"],"description":"using objects, user-defined types, and returned definition objects as field namespaces","syntax":["{name: value}.name","object[\"name\"]","object[key] = value","type Name(...) { let field = value; }","definition(...).field","hash(name: value)","call(**arguments)"],"examples":["# Object fields as a small namespace\nlet sky = {place: location(60,10), at: time(2026,1,1,21,0,0)};\nprint sky.place.latitude, sky.at.utc();","# Nested namespace object\nlet observatory = {site: {name: \"Stavanger\", loc: location(58.9666667, 5.7333333)}, instruments: {main: \"sky\", backup: \"chart\"}};\nprint observatory.site.name, observatory.site.loc.latitude, observatory.instruments.main;","# Dynamic field access with brackets\nlet row = {body: sun.name, value: sun.radius};\nlet key = \"body\";\nprint row[key], row[\"value\"];","# Mutable object fields\nlet row = {body: sun.name, count: 1};\nrow.count = row.count + 1;\nrow[\"note\"] = \"updated\";\nprint row.count, row.note;","# Hash as named arguments\nlet opts = hash(latitude: 60.0, longitude: 10.0);\nlet loc = location(**opts);\nprint loc.latitude, loc.longitude;","# Arguments object with updates\nlet base = args(latitude: 60.0, longitude: 10.0);\nlet moved = base.with(longitude: 12.0);\nprint location(**base).longitude, location(**moved).longitude;","# Array spread for positional arguments\nlet values = array(58.9666667, 5.7333333);\nlet loc = location(**values);\nprint loc.latitude, loc.longitude;","# Scope expression exports public let values\nlet opts = { let latitude = 60.0; let longitude = 10.0; let _internal = 99; };\nlet loc = location(**opts);\nprint loc.latitude, loc.longitude;","# Definition result as a namespace of related values\nsolar_day(loc, t) {\n  let span = range(t, t.add_days(1));\n  let sunrise_time = events(sunrise, span, loc).first().time.utc();\n  let sunset_time = events(sunset, span, loc).first().time.utc();\n}\nlet d = solar_day(location(latitude: 58.9666667, longitude: 5.7333333), time(2024,4,17,0,0,0));\nprint d.sunrise_time, d.sunset_time;","# Typed namespace with closure-valued members\ntype SolarSite(loc) {\n  let sunrise_time = (t): events(sunrise, range(t, t.add_days(1)), loc).first().time.utc();\n  let sunset_time = (t): events(sunset, range(t, t.add_days(1)), loc).first().time.utc();\n}\nlet site = SolarSite(location(latitude: 58.9666667, longitude: 5.7333333));\nprint site.sunrise_time(time(2024,4,17,0,0,0)), site.sunset_time(time(2024,4,17,0,0,0));"],"arguments":[],"children":[],"resources":[],"doc":"Topic: Astrologos.syntax.namespaces - using objects, user-defined types, and returned definition objects as field namespaces\nSyntax:\n  {name: value}.name\n  object[\"name\"]\n  object[key] = value\n  type Name(...) { let field = value; }\n  definition(...).field\n  hash(name: value)\n  call(**arguments)\nAliases: objects as namespaces, fields, methods, module objects, type fields\nExamples:\n# Object fields as a small namespace\n   let sky = {place: location(60,10), at: time(2026,1,1,21,0,0)};\n   print sky.place.latitude, sky.at.utc();\n\n# Nested namespace object\n   let observatory = {site: {name: \"Stavanger\", loc: location(58.9666667, 5.7333333)}, instruments: {main: \"sky\", backup: \"chart\"}};\n   print observatory.site.name, observatory.site.loc.latitude, observatory.instruments.main;\n\n# Dynamic field access with brackets\n   let row = {body: sun.name, value: sun.radius};\n   let key = \"body\";\n   print row[key], row[\"value\"];\n\n# Mutable object fields\n   let row = {body: sun.name, count: 1};\n   row.count = row.count + 1;\n   row[\"note\"] = \"updated\";\n   print row.count, row.note;\n\n# Hash as named arguments\n   let opts = hash(latitude: 60.0, longitude: 10.0);\n   let loc = location(**opts);\n   print loc.latitude, loc.longitude;\n\n# Arguments object with updates\n   let base = args(latitude: 60.0, longitude: 10.0);\n   let moved = base.with(longitude: 12.0);\n   print location(**base).longitude, location(**moved).longitude;\n\n# Array spread for positional arguments\n   let values = array(58.9666667, 5.7333333);\n   let loc = location(**values);\n   print loc.latitude, loc.longitude;\n\n# Scope expression exports public let values\n   let opts = { let latitude = 60.0; let longitude = 10.0; let _internal = 99; };\n   let loc = location(**opts);\n   print loc.latitude, loc.longitude;\n\n# Definition result as a namespace of related values\n   solar_day(loc, t) {\n   let span = range(t, t.add_days(1));\n   let sunrise_time = events(sunrise, span, loc).first().time.utc();\n   let sunset_time = events(sunset, span, loc).first().time.utc();\n   }\n   let d = solar_day(location(latitude: 58.9666667, longitude: 5.7333333), time(2024,4,17,0,0,0));\n   print d.sunrise_time, d.sunset_time;\n\n# Typed namespace with closure-valued members\n   type SolarSite(loc) {\n   let sunrise_time = (t): events(sunrise, range(t, t.add_days(1)), loc).first().time.utc();\n   let sunset_time = (t): events(sunset, range(t, t.add_days(1)), loc).first().time.utc();\n   }\n   let site = SolarSite(location(latitude: 58.9666667, longitude: 5.7333333));\n   print site.sunrise_time(time(2024,4,17,0,0,0)), site.sunset_time(time(2024,4,17,0,0,0));","compact":"Topic: Astrologos.syntax.namespaces - using objects, user-defined types, and returned definition objects as field namespaces","search_text":"topic:syntax.namespaces namespaces Astrologos.syntax.namespaces topic using objects, user-defined types, and returned definition objects as field namespaces objects as namespaces fields methods module objects type fields {name: value}.name object[\"name\"] object[key] = value type Name(...) { let field = value; } definition(...).field hash(name: value) call(**arguments)"},{"id":"topic:examples","name":"examples","path":"Astrologos.examples","kind":"topic","aliases":["common_examples","cookbook","recipes"],"description":"common astronomy calculator examples","syntax":["help(\"examples\")","help.examples()","help().help(\"examples\")"],"examples":["# Local sky sampler for Oslo-style coordinates\nlet loc = location(60.0, 10.0);\nlet s = pages(loc).sky(time(2026,1,1,21,0,0));\nprint s.sun.altitude, s.moon.altitude, s.moon.phase;","# Compact chart sampler with two body longitudes\nlet t = time(2026,1,1,0,0,0);\nlet c = pages(t).chart();\nprint c.bodies.sun.chart.sign, c.bodies.mars.geocentric.longitude;","# Compact local Moon page\nlet loc = location(60.0, 10.0);\nlet m = pages(loc, moon).summary(time());\nprint m.position.topocentric.altitude, m.phase, m.illumination;","# Month-style rise/set table\nlet loc = location(60.0, 10.0);\nlet rows = pages(loc, time(2026,6,1,0,0,0)).table(days: 30);\nprint rows[0].sunrise.time, rows[0].sunset.time;","# Solar-system state sampler for Mars and Earth\nlet st = pages(time(2026,1,1,0,0,0)).state();\nprint st.bodies.mars.position_bc_icrf.x, st.bodies.earth.velocity_bc_icrf.y;","# Orbit propagation diagnostics for an explicit comet state\nlet t0 = time(2026,4,27,8,26,0);\nlet comet0 = state(body: body(\"comet\"), time: t0, position: vector(100000000,0,0), velocity: vector(0,10,0));\nlet later = system(t0, comet0, sun).at(t0.add_days(10));\nprint later.diagnostics.accepted_steps, later.ephemeris_residuals.sun;","# Full local day page\nlet d = pages(location(60.0, 10.0), time(2026,1,1,0,0,0)).small();\nprint d.short.sun.rise.time, d.chart.bodies.moon.geocentric.longitude;","# Sunrise in Stavanger on a civil date\nlet loc = location(58.9666667, 5.7333333);\nlet day = range(time(2024,4,17,0,0,0), time(2024,4,18,0,0,0));\nprint events(sunrise, day, loc).first().time.utc();","# Days between two dates\nprint time(2026,3,1)-time(2025,1,2);","# Sunrise and sunset together\nlet loc = location(latitude: 58.9666667, longitude: 5.7333333);\nlet day = range(time(2024,4,17,0,0,0), time(2024,4,18,0,0,0));\nprint events(sunrise, day, loc).first();\nprint events(sunset, day, loc).first();","# Moonrise for the next few days\nlet loc = location(60.0, 10.0);\nlet start = time(2026,5,20,0,0,0);\nprint events(moonrise, range(start, start.add_days(5), 0.5), loc);","# Northern solstice in a year\nlet year = range(time(2024,1,1,0,0,0), time(2025,1,1,0,0,0), 30);\nprint events(northern_solstice, year).first().time.utc();","# Season sampler from an annual almanac\nlet a = almanac(time(2024,1,1,0,0,0), time(2025,1,1,0,0,0));\nprint a.seasons.ascending_equinox.time.utc, a.seasons.northern_solstice.time.utc;","# Earth orbital-distance sampler around perihelion\nlet peri = events(perihelion, range(time(2024,1,1,0,0,0), time(2024,1,10,0,0,0), 1), earth).first();\nprint peri.time.utc(), peri.value;","# Body method form for perihelion\nprint earth.perihelion(time(2024,1,1,0,0,0), time(2024,1,10,0,0,0), 1).first();","# Lunar perigee and apogee in a month\nlet month = range(time(2024,4,1,0,0,0), time(2024,5,1,0,0,0), 1);\nprint events(perigee, month, moon);\nprint events(apogee, month, moon);","# Moon boundary lookup sampler\nlet t = time(2024,4,17,0,0,0);\nlet moon_dir = direction(ra(moon, t, all_corrections), dec(moon, t, all_corrections));\nprint moon_dir.ra, moon_dir.dec, constellations().inside(moon_dir);","# Sirius sampler with altitude at a site\nlet sirius = stars().find(\"Sirius\");\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet t = time(2026,1,1,21,0,0);\nprint sirius.name, sirius.constellation(), sirius.altaz(t, obs).altitude;","# Star transit and set for Sirius\nlet sirius = stars().find(\"Sirius\");\nlet obs = location(60.0, 10.0).observer(0.002);\nlet night = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0), 0.25);\nprint sirius.transit(night, obs).first();\nprint sirius.set(night, obs).first();","# Constellation sampler for a named star direction\nlet sirius = stars().find(\"Sirius\");\nprint sirius.name, constellations().inside(sirius.direction());","# Planet event sampler for Jupiter opposition\nlet year = range(time(2024,1,1,0,0,0), time(2025,1,1,0,0,0), 2);\nprint events(opposition, year, jupiter).first().time.utc();","# Local almanac for one month\nlet loc = location(58.9666667, 5.7333333);\nlet start = time(2024,4,1,0,0,0);\nlet a = almanac(start, start.add_months(1), loc);\nprint a.local.sun.rise;\nprint a.moon.full;","# Solar eclipse magnitude sampler near Dallas\nlet dallas = location(latitude: 32.7767, longitude: -96.7970);\nlet t = time(2024,4,8,18,20,0);\nprint solar_eclipse_magnitude(t, dallas), solar_eclipse_obscuration(t, dallas);","# Numeric search sampler for a sine crossing\nlet root = search((x): sin(x), range(2, 4, 0.1), target(0, decreasing)).next();\nprint root;","# Sun altitude curve samples around a day\nlet loc = location(60.0, 10.0);\nlet obs = loc.observer(0.002);\nlet t0 = time(2026,6,21,0,0,0);\nfor h=0,24,2 {\n  let t = t0.add_hours(h);\n  print t.utc(), altitude(sun, t, obs);\n}","# Quick SVG sky sampler with planets only\ngraphics(time(2026,1,1,21,0,0), location(latitude: 60, longitude: 10)).dark().sky_view(center_az: 180, center_alt: 45, fov: 120).sky_grid().sky_planets().write_svg(\"sky-planets.svg\");\nprint \"wrote sky-planets.svg\";"],"arguments":[],"children":["topic:example.getting_started","topic:example.syntax","topic:example.time_calendar","topic:example.locations_timezones","topic:example.sunrise","topic:example.sunrise.day","topic:example.sunrise.month","topic:example.moonrise","topic:example.moon_phase","topic:example.stars","topic:example.constellations","topic:example.moon_stars","topic:example.sky_charts","topic:example.planets","topic:example.eclipses","topic:example.almanac","topic:example.pages","topic:example.coordinates","topic:example.vectors_matrices","topic:example.orbit_propagation","topic:example.polygons","topic:example.places_timezones","topic:example.weather_fields","topic:example.topography","topic:example.magnetic","topic:example.weather","topic:example.graphics","topic:example.resources","topic:example.runtime","topic:example.math","topic:example.search"],"resources":[],"doc":"Topic: Astrologos.examples - common astronomy calculator examples\nSyntax:\n  help(\"examples\")\n  help.examples()\n  help().help(\"examples\")\nAliases: common_examples, cookbook, recipes\nChildren: getting started, syntax examples, time and calendars, locations and timezones, sunrise examples, sunrise day, sunrise month, moonrise and lunar visibility, moon phase, stars(), constellations(), moon and stars, sky charts fixed stars and close approaches, planet events, eclipses and shadows, almanac pages, pages(), coordinates and directions, vectors matrices orbits, orbit propagation, polygons, places and timezones, weather and fields, topography(), magnetic field, weather and fields, charts and graphics, resources and diagnostics, runtime automation, math recipes, search and optimization\nExamples:\n# Local sky sampler for Oslo-style coordinates\n   let loc = location(60.0, 10.0);\n   let s = pages(loc).sky(time(2026,1,1,21,0,0));\n   print s.sun.altitude, s.moon.altitude, s.moon.phase;\n\n# Compact chart sampler with two body longitudes\n   let t = time(2026,1,1,0,0,0);\n   let c = pages(t).chart();\n   print c.bodies.sun.chart.sign, c.bodies.mars.geocentric.longitude;\n\n# Compact local Moon page\n   let loc = location(60.0, 10.0);\n   let m = pages(loc, moon).summary(time());\n   print m.position.topocentric.altitude, m.phase, m.illumination;\n\n# Month-style rise/set table\n   let loc = location(60.0, 10.0);\n   let rows = pages(loc, time(2026,6,1,0,0,0)).table(days: 30);\n   print rows[0].sunrise.time, rows[0].sunset.time;\n\n# Solar-system state sampler for Mars and Earth\n   let st = pages(time(2026,1,1,0,0,0)).state();\n   print st.bodies.mars.position_bc_icrf.x, st.bodies.earth.velocity_bc_icrf.y;\n\n# Orbit propagation diagnostics for an explicit comet state\n   let t0 = time(2026,4,27,8,26,0);\n   let comet0 = state(body: body(\"comet\"), time: t0, position: vector(100000000,0,0), velocity: vector(0,10,0));\n   let later = system(t0, comet0, sun).at(t0.add_days(10));\n   print later.diagnostics.accepted_steps, later.ephemeris_residuals.sun;\n\n# Full local day page\n   let d = pages(location(60.0, 10.0), time(2026,1,1,0,0,0)).small();\n   print d.short.sun.rise.time, d.chart.bodies.moon.geocentric.longitude;\n\n# Sunrise in Stavanger on a civil date\n   let loc = location(58.9666667, 5.7333333);\n   let day = range(time(2024,4,17,0,0,0), time(2024,4,18,0,0,0));\n   print events(sunrise, day, loc).first().time.utc();\n\n# Days between two dates\n   print time(2026,3,1)-time(2025,1,2);\n\n# Sunrise and sunset together\n   let loc = location(latitude: 58.9666667, longitude: 5.7333333);\n   let day = range(time(2024,4,17,0,0,0), time(2024,4,18,0,0,0));\n   print events(sunrise, day, loc).first();\n   print events(sunset, day, loc).first();\n\n# Moonrise for the next few days\n   let loc = location(60.0, 10.0);\n   let start = time(2026,5,20,0,0,0);\n   print events(moonrise, range(start, start.add_days(5), 0.5), loc);\n\n# Northern solstice in a year\n   let year = range(time(2024,1,1,0,0,0), time(2025,1,1,0,0,0), 30);\n   print events(northern_solstice, year).first().time.utc();\n\n# Season sampler from an annual almanac\n   let a = almanac(time(2024,1,1,0,0,0), time(2025,1,1,0,0,0));\n   print a.seasons.ascending_equinox.time.utc, a.seasons.northern_solstice.time.utc;\n\n# Earth orbital-distance sampler around perihelion\n   let peri = events(perihelion, range(time(2024,1,1,0,0,0), time(2024,1,10,0,0,0), 1), earth).first();\n   print peri.time.utc(), peri.value;\n\n# Body method form for perihelion\n   print earth.perihelion(time(2024,1,1,0,0,0), time(2024,1,10,0,0,0), 1).first();\n\n# Lunar perigee and apogee in a month\n   let month = range(time(2024,4,1,0,0,0), time(2024,5,1,0,0,0), 1);\n   print events(perigee, month, moon);\n   print events(apogee, month, moon);\n\n# Moon boundary lookup sampler\n   let t = time(2024,4,17,0,0,0);\n   let moon_dir = direction(ra(moon, t, all_corrections), dec(moon, t, all_corrections));\n   print moon_dir.ra, moon_dir.dec, constellations().inside(moon_dir);\n\n# Sirius sampler with altitude at a site\n   let sirius = stars().find(\"Sirius\");\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let t = time(2026,1,1,21,0,0);\n   print sirius.name, sirius.constellation(), sirius.altaz(t, obs).altitude;\n\n# Star transit and set for Sirius\n   let sirius = stars().find(\"Sirius\");\n   let obs = location(60.0, 10.0).observer(0.002);\n   let night = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0), 0.25);\n   print sirius.transit(night, obs).first();\n   print sirius.set(night, obs).first();\n\n# Constellation sampler for a named star direction\n   let sirius = stars().find(\"Sirius\");\n   print sirius.name, constellations().inside(sirius.direction());\n\n# Planet event sampler for Jupiter opposition\n   let year = range(time(2024,1,1,0,0,0), time(2025,1,1,0,0,0), 2);\n   print events(opposition, year, jupiter).first().time.utc();\n\n# Local almanac for one month\n   let loc = location(58.9666667, 5.7333333);\n   let start = time(2024,4,1,0,0,0);\n   let a = almanac(start, start.add_months(1), loc);\n   print a.local.sun.rise;\n   print a.moon.full;\n\n# Solar eclipse magnitude sampler near Dallas\n   let dallas = location(latitude: 32.7767, longitude: -96.7970);\n   let t = time(2024,4,8,18,20,0);\n   print solar_eclipse_magnitude(t, dallas), solar_eclipse_obscuration(t, dallas);\n\n# Numeric search sampler for a sine crossing\n   let root = search((x): sin(x), range(2, 4, 0.1), target(0, decreasing)).next();\n   print root;\n\n# Sun altitude curve samples around a day\n   let loc = location(60.0, 10.0);\n   let obs = loc.observer(0.002);\n   let t0 = time(2026,6,21,0,0,0);\n   for h=0,24,2 {\n   let t = t0.add_hours(h);\n   print t.utc(), altitude(sun, t, obs);\n   }\n\n# Quick SVG sky sampler with planets only\n   graphics(time(2026,1,1,21,0,0), location(latitude: 60, longitude: 10)).dark().sky_view(center_az: 180, center_alt: 45, fov: 120).sky_grid().sky_planets().write_svg(\"sky-planets.svg\");\n   print \"wrote sky-planets.svg\";","compact":"Topic: Astrologos.examples - common astronomy calculator examples","search_text":"topic:examples examples Astrologos.examples topic common astronomy calculator examples common_examples cookbook recipes help(\"examples\") help.examples() help().help(\"examples\")"},{"id":"topic:themes","name":"help themes","path":"Astrologos.themes","kind":"topic","aliases":["theme list","cookbook index","example themes","recipes index"],"description":"recommended thematic help areas for the RAG help search cookbook","syntax":["help(\"sunrise examples\")","help(\"moon sirius\")","help(\"weather examples\")","help.search(\"visible stars\")"],"examples":["# Theme list\nprint help(\"sunrise examples\").compact();\nprint help(\"moon and stars\").compact();\nprint help(\"charts and graphics\").compact();"],"arguments":[],"children":["topic:example.getting_started","topic:example.syntax","topic:example.time_calendar","topic:example.locations_timezones","topic:example.sunrise","topic:example.sunrise.day","topic:example.sunrise.month","topic:example.moonrise","topic:example.moon_phase","topic:example.stars","topic:example.constellations","topic:example.moon_stars","topic:example.sky_charts","topic:example.planets","topic:example.eclipses","topic:example.almanac","topic:example.pages","topic:example.coordinates","topic:example.vectors_matrices","topic:example.polygons","topic:example.places_timezones","topic:example.weather_fields","topic:example.topography","topic:example.magnetic","topic:example.weather","topic:example.graphics","topic:example.resources","topic:example.runtime","topic:example.math","topic:example.search"],"resources":[],"doc":"Topic: Astrologos.themes - recommended thematic help areas for the RAG help search cookbook\nSyntax:\n  help(\"sunrise examples\")\n  help(\"moon sirius\")\n  help(\"weather examples\")\n  help.search(\"visible stars\")\nAliases: theme list, cookbook index, example themes, recipes index\nChildren: getting started, syntax examples, time and calendars, locations and timezones, sunrise examples, sunrise day, sunrise month, moonrise and lunar visibility, moon phase, stars(), constellations(), moon and stars, sky charts fixed stars and close approaches, planet events, eclipses and shadows, almanac pages, pages(), coordinates and directions, vectors matrices orbits, polygons, places and timezones, weather and fields, topography(), magnetic field, weather and fields, charts and graphics, resources and diagnostics, runtime automation, math recipes, search and optimization\nExample:\n# Theme list\n   print help(\"sunrise examples\").compact();\n   print help(\"moon and stars\").compact();\n   print help(\"charts and graphics\").compact();","compact":"Topic: Astrologos.themes - recommended thematic help areas for the RAG help search cookbook","search_text":"topic:themes help themes Astrologos.themes topic recommended thematic help areas for the RAG help search cookbook theme list cookbook index example themes recipes index help(\"sunrise examples\") help(\"moon sirius\") help(\"weather examples\") help.search(\"visible stars\")"},{"id":"topic:example.getting_started","name":"getting started","path":"Astrologos.examples.getting_started","kind":"topic","aliases":["hello world","print","json output","introspection","first program"],"description":"starter examples for printing, JSON output, help discovery, values, and runtime control","syntax":["print value, other;","json value;","help(\"topic\")","functions()","typeof(value)"],"examples":["# Hello world and plain output\nprint \"hello world\";\nprint time(2026,1,1,0,0,0).utc();","# JSON output for a local sky sample\nlet loc = location(60.0, 10.0);\nlet t = time(2026,1,1,12,0,0);\njson {time: t.utc(), sun_altitude: altitude(sun, t, loc.observer()), moon_phase: moon_phase(t)};","# Pretty-print a compact chart row\nlet t = time(2026,1,1,0,0,0);\npretty {sun_longitude: ecliptic_longitude(sun, t), moon_longitude: ecliptic_longitude(moon, t), phase: moon_phase(t)};","# First useful almanac query: sunrise and sunset\nlet loc = location(58.9666667, 5.7333333);\nlet day = range(time(2024,4,17,0,0,0), time(2024,4,18,0,0,0));\nprint events(sunrise, day, loc).first().time.utc(), events(sunset, day, loc).first().time.utc();","# Build a body scale table for a report\nlet rows = [{name: sun.name, radius_ratio: sun.radius / earth.radius}, {name: moon.name, radius_ratio: moon.radius / earth.radius}, {name: mars.name, radius_ratio: mars.radius / earth.radius}];\nprint rows.name, rows.radius_ratio;","# Reuse named arguments for nearby observing sites\nlet stavanger = args(latitude: 58.9666667, longitude: 5.7333333);\nlet oslo = stavanger.with(latitude: 59.9139, longitude: 10.7522);\nprint altitude(sun, time(2026,6,21,12,0,0), location(**stavanger).observer()), altitude(sun, time(2026,6,21,12,0,0), location(**oslo).observer());","# Time a useful sunrise search\nlet start = elapsed();\nlet loc = location(58.9666667, 5.7333333);\nlet day = range(time(2024,4,17,0,0,0), time(2024,4,18,0,0,0));\nlet rise = events(sunrise, day, loc).first().time.utc();\nprint rise, elapsed() - start;"],"arguments":[],"children":[],"resources":[],"doc":"Topic: Astrologos.examples.getting_started - starter examples for printing, JSON output, help discovery, values, and runtime control\nSyntax:\n  print value, other;\n  json value;\n  help(\"topic\")\n  functions()\n  typeof(value)\nAliases: hello world, print, json output, introspection, first program\nExamples:\n# Hello world and plain output\n   print \"hello world\";\n   print time(2026,1,1,0,0,0).utc();\n\n# JSON output for a local sky sample\n   let loc = location(60.0, 10.0);\n   let t = time(2026,1,1,12,0,0);\n   json {time: t.utc(), sun_altitude: altitude(sun, t, loc.observer()), moon_phase: moon_phase(t)};\n\n# Pretty-print a compact chart row\n   let t = time(2026,1,1,0,0,0);\n   pretty {sun_longitude: ecliptic_longitude(sun, t), moon_longitude: ecliptic_longitude(moon, t), phase: moon_phase(t)};\n\n# First useful almanac query: sunrise and sunset\n   let loc = location(58.9666667, 5.7333333);\n   let day = range(time(2024,4,17,0,0,0), time(2024,4,18,0,0,0));\n   print events(sunrise, day, loc).first().time.utc(), events(sunset, day, loc).first().time.utc();\n\n# Build a body scale table for a report\n   let rows = [{name: sun.name, radius_ratio: sun.radius / earth.radius}, {name: moon.name, radius_ratio: moon.radius / earth.radius}, {name: mars.name, radius_ratio: mars.radius / earth.radius}];\n   print rows.name, rows.radius_ratio;\n\n# Reuse named arguments for nearby observing sites\n   let stavanger = args(latitude: 58.9666667, longitude: 5.7333333);\n   let oslo = stavanger.with(latitude: 59.9139, longitude: 10.7522);\n   print altitude(sun, time(2026,6,21,12,0,0), location(**stavanger).observer()), altitude(sun, time(2026,6,21,12,0,0), location(**oslo).observer());\n\n# Time a useful sunrise search\n   let start = elapsed();\n   let loc = location(58.9666667, 5.7333333);\n   let day = range(time(2024,4,17,0,0,0), time(2024,4,18,0,0,0));\n   let rise = events(sunrise, day, loc).first().time.utc();\n   print rise, elapsed() - start;","compact":"Topic: Astrologos.examples.getting_started - starter examples for printing, JSON output, help discovery, values, and runtime control","search_text":"topic:example.getting_started getting started Astrologos.examples.getting_started topic starter examples for printing, JSON output, help discovery, values, and runtime control hello world print json output introspection first program print value, other; json value; help(\"topic\") functions() typeof(value)"},{"id":"topic:example.syntax","name":"syntax examples","path":"Astrologos.examples.syntax","kind":"topic","aliases":["language examples","programming examples","closures examples","definitions examples"],"description":"task-shaped examples for Astrologos language syntax and reusable helper definitions","syntax":["let name = expression;","for i=start,stop,step { statements }","name(parameter) { statements }","(x): expression","{name: value}"],"examples":["# Loop and conditional syntax together\nlet total = 0;\nfor i=0,10,2 {\n  if i > 6 break;\n  total = total + i;\n}\nprint total;","# Custom helper returning a namespace object\nsun_angles(t, loc) {\n  let obs = loc.observer(0.002);\n  let altitude_deg = altitude(sun, t, obs);\n  let azimuth_deg = azimuth(sun, t, obs);\n}\nlet a = sun_angles(time(2026,6,21,12,0,0), location(latitude: 60, longitude: 10));\nprint a.altitude_deg, a.azimuth_deg;","# Object literal as a reusable observation row\nlet row = {body: sun.name, time: time(2026,6,21,12,0,0), loc: location(60,10)};\nprint row.body, row.time.utc(), altitude(sun, row.time, row.loc.observer());","# Hash for named options\nlet opts = hash(latitude: 58.9666667, longitude: 5.7333333);\nprint location(**opts);","# Arguments object for reusable call settings\nlet stavanger = args(latitude: 58.9666667, longitude: 5.7333333);\nlet oslo = stavanger.with(latitude: 59.9139, longitude: 10.7522);\nprint location(**stavanger), location(**oslo);","# Project fields from an observation object\nlet sample = {body: moon.name, phase: moon_phase(time(2026,1,1,0,0,0)), illumination: moon_illumination(time(2026,1,1,0,0,0))};\nprint sample.body, sample.phase, sample.illumination;","# Bracket access chooses a field at runtime\nlet field_name = \"longitude\";\nlet loc = {latitude: 60, longitude: 10};\nprint loc[field_name];","# Namespaces can hold local sky report functions\nlet loc = location(60,10).observer(0.002);\nlet tools = {sun_alt: (t): altitude(sun, t, loc), moon_alt: (t): altitude(moon, t, loc)};\nlet t = time(2026,6,21,22,0,0);\nprint tools.sun_alt(t), tools.moon_alt(t);","# Closure as a reusable altitude formula\nlet loc = location(60,10).observer(0.002);\nlet sun_alt = (t): altitude(sun, t, loc);\nprint sun_alt(time(2026,6,21,12,0,0));","# Scope expression as a computed namespace\nlet report = {\n  let loc = location(60,10);\n  let t = time(2026,6,21,12,0,0);\n  let sun_altitude = altitude(sun, t, loc.observer());\n};\nprint report.loc.latitude, report.sun_altitude;","# Spread an array into positional arguments\nlet pair = [60.0, 10.0];\nprint location(**pair);","# Type definition with a captured value\ntype Report(t) {\n  let year = (): t.year;\n}\nlet r = Report(time(2026,1,1,0,0,0));\nprint r.year();","# Type definition as a domain-specific namespace\ntype AlmanacFor(loc) {\n  let daylight = (t): events(sunset, range(t, t.add_days(1)), loc).first().time - events(sunrise, range(t, t.add_days(1)), loc).first().time;\n}\nlet a = AlmanacFor(location(58.9666667, 5.7333333));\nprint a.daylight(time(2024,4,17,0,0,0));","# Derive a one-argument function from a two-argument closure\nlet f = (x, y): x * y;\nlet g = (x): f(x, 2);\nprint g(5);","# Derive several closures from one base formula\nlet f = (x, y): x * y + y;\nlet double_plus_two = (x): f(x, 2);\nlet triple_plus_three = (x): f(x, 3);\nprint double_plus_two(5), triple_plus_three(5);","# Store related derived functions in a namespace\nlet f = (x, y): x * y;\nlet tools = {double: (x): f(x, 2), triple: (x): f(x, 3)};\nprint tools.double(7), tools.triple(7);","# Function result can expose derived closures\nmake_scale(k) {\n  let apply = (x): x * k;\n  let describe = (x): \"scaled\";\n}\nlet scale = make_scale(4);\nprint scale.apply(6), scale.describe(6);","# Function result can expose raw values and helper functions\nbundle(x) {\n  let value = x;\n  let square = (n): n * n;\n  let cube = (n): n * n * n;\n}\nlet b = bundle(5);\nprint b.value, b.square(b.value), b.cube(b.value);","# Build a calculation pipeline for daylight quality scoring\nlet clear_hours = (daylight_hours): daylight_hours * 0.65;\nlet score = (daylight_hours): clear_hours(daylight_hours) / 12;\nprint score(18.4);","# Closure captures a constant from the surrounding scope\nlet offset = 7;\nlet shifted = (x): x + offset;\nprint shifted(5);","# Closure captures a location for repeated solar altitude samples\nlet loc = location(60, 10);\nlet obs = loc.observer(0.002);\nlet sun_alt = (t): altitude(sun, t, obs);\nprint sun_alt(time(2026,6,21,12,0,0));","# Build a reusable time-shift closure\nlet t0 = time(2026,1,1,0,0,0);\nlet after_hours = (h): t0.add_hours(h).utc();\nprint after_hours(6), after_hours(12);","# Use a closure as an object field selected by name\nlet ops = {add: (x, y): x + y, multiply: (x, y): x * y};\nlet name = \"multiply\";\nprint ops[name](6, 7);","# Dispatch between report formulas with bracket syntax\nlet loc = location(60,10).observer(0.002);\nlet formulas = {sun: (t): altitude(sun, t, loc), moon: (t): altitude(moon, t, loc)};\nlet chosen = \"moon\";\nlet t = time(2026,6,21,22,0,0);\nprint formulas[chosen](t), formulas[\"sun\"](t);","# Update a namespace with a derived function\nlet tools = {base: (x): x + 1};\ntools[\"twice\"] = (x): tools.base(x) * 2;\nprint tools.twice(9);","# Update an array and then use it as function input\nlet values = [1, 2, 3];\nvalues[1] = 8;\nlet sum3 = (items): items[0] + items[1] + items[2];\nprint sum3(values);","# Build an object row with dynamic keys\nlet row = {};\nlet key = \"altitude\";\nrow[key] = 42.5;\nrow[\"body\"] = sun.name;\nprint row.body, row.altitude;","# Function composition with named intermediate closures\nlet double = (x): x * 2;\nlet add_one = (x): x + 1;\nlet composed = (x): add_one(double(x));\nprint composed(10);","# Compose a sky calculation from small helpers\nlet loc = location(60, 10);\nlet obs = loc.observer();\nlet at = (h): time(2026,6,21,h,0,0);\nlet sun_height = (h): altitude(sun, at(h), obs);\nprint sun_height(6), sun_height(12), sun_height(18);","# Reuse one body-position helper for several bodies\nlet t = time(2026,1,1,0,0,0);\nlet longitude_of = (body): ecliptic_longitude(body, t);\nprint longitude_of(sun), longitude_of(moon), longitude_of(mars);","# Build a report namespace from helper closures\nreport(body, t) {\n  let name = body.name;\n  let longitude = ecliptic_longitude(body, t);\n  let declination_deg = declination(body, t);\n}\nlet r = report(moon, time(2026,1,1,0,0,0));\nprint r.name, r.longitude, r.declination_deg;","# Make a chart helper that shares one time\nchart_at(t) {\n  let lon = (body): ecliptic_longitude(body, t);\n  let sun_lon = lon(sun);\n  let moon_lon = lon(moon);\n  let mars_lon = lon(mars);\n}\nlet c = chart_at(time(2026,1,1,0,0,0));\nprint c.sun_lon, c.moon_lon, c.mars_lon;","# Make a local sky helper that shares one observer\nlocal_sky(loc) {\n  let obs = loc.observer();\n  let alt = (body, t): altitude(body, t, obs);\n  let sun_at = (t): alt(sun, t);\n  let moon_at = (t): alt(moon, t);\n}\nlet sky = local_sky(location(latitude: 60, longitude: 10));\nlet t = time(2026,6,21,12,0,0);\nprint sky.sun_at(t), sky.moon_at(t);","# Return a namespace with both data and formulas\nmeasurement(x) {\n  let value = x;\n  let doubled = (y): y * 2;\n  let shifted = (y): y + x;\n}\nlet m = measurement(10);\nprint m.value, m.doubled(m.value), m.shifted(5);","# Use a closure to choose an object field\nlet pick = (row, key): row[key];\nlet row = {body: sun.name, radius: sun.radius};\nprint pick(row, \"body\"), pick(row, \"radius\");","# Loop over names and accumulate a numeric result\nlet total = 0;\nfor i=1,5,1 {\n  total = total + i * i;\n}\nprint total;","# Use a while loop to search a small integer condition\nlet n = 1;\nwhile n * n < 50 {\n  n = n + 1;\n}\nprint n, n * n;","# Use break to stop at the first useful value\nlet found = 0;\nfor i=1,20,1 {\n  if i * i > 70 {\n    found = i;\n    break;\n  }\n}\nprint found;","# Project a field from every object in an array\nlet rows = [{x: 1, name: \"sun\"}, {x: 3, name: \"moon\"}];\nprint rows.x, rows.name;","# Transform object fields with a closure\nlet row = {a: 2, b: 3};\nlet scale_fields = (r, k): {a: r.a * k, b: r.b * k};\nlet scaled = scale_fields(row, 10);\nprint scaled.a, scaled.b;","# Use a hash to pass options into a helper\nmake_loc(opts) {\n  let value = location(**opts);\n}\nlet opts = hash(latitude: 60.0, longitude: 10.0);\nprint make_loc(opts).value;","# Extend an arguments object before calling a constructor\nlet base = args(latitude: 60.0);\nlet full = base.with(longitude: 10.0);\nprint location(**full);","# Build positional arguments with an array\nlet pair = [60.0, 10.0];\nlet make = (values): location(**values);\nprint make(pair);","# Use a scope expression as a compact calculation report\nlet r = {\n  let x = 3;\n  let y = 4;\n  let hyp = hypot(x, y);\n};\nprint r.x, r.y, r.hyp;","# Use For as an expression-like calculation block\nlet result = For(i, 1, 4, 1) {\n  let square = i * i;\n};\nprint result.i, result.square;","# Keep helper constants private with an underscore name\nlet report = {\n  let _scale = 1000;\n  let km = 2;\n  let meters = km * _scale;\n};\nprint report.km, report.meters;","# Define a reusable multiplier calculator\ntype Multiplier(k) {\n  let apply = (x): x * k;\n  let plus = (x, y): apply(x) + y;\n}\nlet m = Multiplier(6);\nprint m.apply(7), m.plus(7, 3);","# Define chart helpers that share one time\ntype ChartTools(t) {\n  let lon = (body): ecliptic_longitude(body, t);\n  let pair = (a, b): lon(a) - lon(b);\n}\nlet tools = ChartTools(time(2026,1,1,0,0,0));\nprint tools.lon(sun), tools.pair(moon, sun);","# Define local altitude helpers for one observing site\ntype LocalTools(loc) {\n  let obs = loc.observer();\n  let alt = (body, t): altitude(body, t, obs);\n}\nlet tools = LocalTools(location(60,10));\nprint tools.alt(sun, time(2026,6,21,12,0,0));","# Build a small reusable closeness score\nlet distance_from = (target): (x): abs(x - target);\nlet score_to_ten = distance_from(10);\nprint score_to_ten(7), score_to_ten(13);","# Use a derived closure inside numeric search\nlet f = (x, y): x * y - 10;\nlet g = (x): f(x, 2);\nprint search(g, range(0, 10, 0.5), target(0)).next();","# Package a search result with the formula used\nsolve_linear(a, b) {\n  let f = (x): a * x + b;\n  let root = search(f, range(-10, 10, 0.5), target(0)).next();\n  let formula = \"a*x+b\";\n}\nlet solved = solve_linear(2, -6);\nprint solved.formula, solved.root;"],"arguments":[],"children":["topic:syntax","topic:syntax.loops","topic:syntax.blocks","topic:syntax.functions","topic:syntax.namespaces"],"resources":[],"doc":"Topic: Astrologos.examples.syntax - task-shaped examples for Astrologos language syntax and reusable helper definitions\nSyntax:\n  let name = expression;\n  for i=start,stop,step { statements }\n  name(parameter) { statements }\n  (x): expression\n  {name: value}\nAliases: language examples, programming examples, closures examples, definitions examples\nChildren: syntax, loops, blocks, custom functions, namespaces\nExamples:\n# Loop and conditional syntax together\n   let total = 0;\n   for i=0,10,2 {\n   if i > 6 break;\n   total = total + i;\n   }\n   print total;\n\n# Custom helper returning a namespace object\n   sun_angles(t, loc) {\n   let obs = loc.observer(0.002);\n   let altitude_deg = altitude(sun, t, obs);\n   let azimuth_deg = azimuth(sun, t, obs);\n   }\n   let a = sun_angles(time(2026,6,21,12,0,0), location(latitude: 60, longitude: 10));\n   print a.altitude_deg, a.azimuth_deg;\n\n# Object literal as a reusable observation row\n   let row = {body: sun.name, time: time(2026,6,21,12,0,0), loc: location(60,10)};\n   print row.body, row.time.utc(), altitude(sun, row.time, row.loc.observer());\n\n# Hash for named options\n   let opts = hash(latitude: 58.9666667, longitude: 5.7333333);\n   print location(**opts);\n\n# Arguments object for reusable call settings\n   let stavanger = args(latitude: 58.9666667, longitude: 5.7333333);\n   let oslo = stavanger.with(latitude: 59.9139, longitude: 10.7522);\n   print location(**stavanger), location(**oslo);\n\n# Project fields from an observation object\n   let sample = {body: moon.name, phase: moon_phase(time(2026,1,1,0,0,0)), illumination: moon_illumination(time(2026,1,1,0,0,0))};\n   print sample.body, sample.phase, sample.illumination;\n\n# Bracket access chooses a field at runtime\n   let field_name = \"longitude\";\n   let loc = {latitude: 60, longitude: 10};\n   print loc[field_name];\n\n# Namespaces can hold local sky report functions\n   let loc = location(60,10).observer(0.002);\n   let tools = {sun_alt: (t): altitude(sun, t, loc), moon_alt: (t): altitude(moon, t, loc)};\n   let t = time(2026,6,21,22,0,0);\n   print tools.sun_alt(t), tools.moon_alt(t);\n\n# Closure as a reusable altitude formula\n   let loc = location(60,10).observer(0.002);\n   let sun_alt = (t): altitude(sun, t, loc);\n   print sun_alt(time(2026,6,21,12,0,0));\n\n# Scope expression as a computed namespace\n   let report = {\n   let loc = location(60,10);\n   let t = time(2026,6,21,12,0,0);\n   let sun_altitude = altitude(sun, t, loc.observer());\n   };\n   print report.loc.latitude, report.sun_altitude;\n\n# Spread an array into positional arguments\n   let pair = [60.0, 10.0];\n   print location(**pair);\n\n# Type definition with a captured value\n   type Report(t) {\n   let year = (): t.year;\n   }\n   let r = Report(time(2026,1,1,0,0,0));\n   print r.year();\n\n# Type definition as a domain-specific namespace\n   type AlmanacFor(loc) {\n   let daylight = (t): events(sunset, range(t, t.add_days(1)), loc).first().time - events(sunrise, range(t, t.add_days(1)), loc).first().time;\n   }\n   let a = AlmanacFor(location(58.9666667, 5.7333333));\n   print a.daylight(time(2024,4,17,0,0,0));\n\n# Derive a one-argument function from a two-argument closure\n   let f = (x, y): x * y;\n   let g = (x): f(x, 2);\n   print g(5);\n\n# Derive several closures from one base formula\n   let f = (x, y): x * y + y;\n   let double_plus_two = (x): f(x, 2);\n   let triple_plus_three = (x): f(x, 3);\n   print double_plus_two(5), triple_plus_three(5);\n\n# Store related derived functions in a namespace\n   let f = (x, y): x * y;\n   let tools = {double: (x): f(x, 2), triple: (x): f(x, 3)};\n   print tools.double(7), tools.triple(7);\n\n# Function result can expose derived closures\n   make_scale(k) {\n   let apply = (x): x * k;\n   let describe = (x): \"scaled\";\n   }\n   let scale = make_scale(4);\n   print scale.apply(6), scale.describe(6);\n\n# Function result can expose raw values and helper functions\n   bundle(x) {\n   let value = x;\n   let square = (n): n * n;\n   let cube = (n): n * n * n;\n   }\n   let b = bundle(5);\n   print b.value, b.square(b.value), b.cube(b.value);\n\n# Build a calculation pipeline for daylight quality scoring\n   let clear_hours = (daylight_hours): daylight_hours * 0.65;\n   let score = (daylight_hours): clear_hours(daylight_hours) / 12;\n   print score(18.4);\n\n# Closure captures a constant from the surrounding scope\n   let offset = 7;\n   let shifted = (x): x + offset;\n   print shifted(5);\n\n# Closure captures a location for repeated solar altitude samples\n   let loc = location(60, 10);\n   let obs = loc.observer(0.002);\n   let sun_alt = (t): altitude(sun, t, obs);\n   print sun_alt(time(2026,6,21,12,0,0));\n\n# Build a reusable time-shift closure\n   let t0 = time(2026,1,1,0,0,0);\n   let after_hours = (h): t0.add_hours(h).utc();\n   print after_hours(6), after_hours(12);\n\n# Use a closure as an object field selected by name\n   let ops = {add: (x, y): x + y, multiply: (x, y): x * y};\n   let name = \"multiply\";\n   print ops[name](6, 7);\n\n# Dispatch between report formulas with bracket syntax\n   let loc = location(60,10).observer(0.002);\n   let formulas = {sun: (t): altitude(sun, t, loc), moon: (t): altitude(moon, t, loc)};\n   let chosen = \"moon\";\n   let t = time(2026,6,21,22,0,0);\n   print formulas[chosen](t), formulas[\"sun\"](t);\n\n# Update a namespace with a derived function\n   let tools = {base: (x): x + 1};\n   tools[\"twice\"] = (x): tools.base(x) * 2;\n   print tools.twice(9);\n\n# Update an array and then use it as function input\n   let values = [1, 2, 3];\n   values[1] = 8;\n   let sum3 = (items): items[0] + items[1] + items[2];\n   print sum3(values);\n\n# Build an object row with dynamic keys\n   let row = {};\n   let key = \"altitude\";\n   row[key] = 42.5;\n   row[\"body\"] = sun.name;\n   print row.body, row.altitude;\n\n# Function composition with named intermediate closures\n   let double = (x): x * 2;\n   let add_one = (x): x + 1;\n   let composed = (x): add_one(double(x));\n   print composed(10);\n\n# Compose a sky calculation from small helpers\n   let loc = location(60, 10);\n   let obs = loc.observer();\n   let at = (h): time(2026,6,21,h,0,0);\n   let sun_height = (h): altitude(sun, at(h), obs);\n   print sun_height(6), sun_height(12), sun_height(18);\n\n# Reuse one body-position helper for several bodies\n   let t = time(2026,1,1,0,0,0);\n   let longitude_of = (body): ecliptic_longitude(body, t);\n   print longitude_of(sun), longitude_of(moon), longitude_of(mars);\n\n# Build a report namespace from helper closures\n   report(body, t) {\n   let name = body.name;\n   let longitude = ecliptic_longitude(body, t);\n   let declination_deg = declination(body, t);\n   }\n   let r = report(moon, time(2026,1,1,0,0,0));\n   print r.name, r.longitude, r.declination_deg;\n\n# Make a chart helper that shares one time\n   chart_at(t) {\n   let lon = (body): ecliptic_longitude(body, t);\n   let sun_lon = lon(sun);\n   let moon_lon = lon(moon);\n   let mars_lon = lon(mars);\n   }\n   let c = chart_at(time(2026,1,1,0,0,0));\n   print c.sun_lon, c.moon_lon, c.mars_lon;\n\n# Make a local sky helper that shares one observer\n   local_sky(loc) {\n   let obs = loc.observer();\n   let alt = (body, t): altitude(body, t, obs);\n   let sun_at = (t): alt(sun, t);\n   let moon_at = (t): alt(moon, t);\n   }\n   let sky = local_sky(location(latitude: 60, longitude: 10));\n   let t = time(2026,6,21,12,0,0);\n   print sky.sun_at(t), sky.moon_at(t);\n\n# Return a namespace with both data and formulas\n   measurement(x) {\n   let value = x;\n   let doubled = (y): y * 2;\n   let shifted = (y): y + x;\n   }\n   let m = measurement(10);\n   print m.value, m.doubled(m.value), m.shifted(5);\n\n# Use a closure to choose an object field\n   let pick = (row, key): row[key];\n   let row = {body: sun.name, radius: sun.radius};\n   print pick(row, \"body\"), pick(row, \"radius\");\n\n# Loop over names and accumulate a numeric result\n   let total = 0;\n   for i=1,5,1 {\n   total = total + i * i;\n   }\n   print total;\n\n# Use a while loop to search a small integer condition\n   let n = 1;\n   while n * n < 50 {\n   n = n + 1;\n   }\n   print n, n * n;\n\n# Use break to stop at the first useful value\n   let found = 0;\n   for i=1,20,1 {\n   if i * i > 70 {\n   found = i;\n   break;\n   }\n   }\n   print found;\n\n# Project a field from every object in an array\n   let rows = [{x: 1, name: \"sun\"}, {x: 3, name: \"moon\"}];\n   print rows.x, rows.name;\n\n# Transform object fields with a closure\n   let row = {a: 2, b: 3};\n   let scale_fields = (r, k): {a: r.a * k, b: r.b * k};\n   let scaled = scale_fields(row, 10);\n   print scaled.a, scaled.b;\n\n# Use a hash to pass options into a helper\n   make_loc(opts) {\n   let value = location(**opts);\n   }\n   let opts = hash(latitude: 60.0, longitude: 10.0);\n   print make_loc(opts).value;\n\n# Extend an arguments object before calling a constructor\n   let base = args(latitude: 60.0);\n   let full = base.with(longitude: 10.0);\n   print location(**full);\n\n# Build positional arguments with an array\n   let pair = [60.0, 10.0];\n   let make = (values): location(**values);\n   print make(pair);\n\n# Use a scope expression as a compact calculation report\n   let r = {\n   let x = 3;\n   let y = 4;\n   let hyp = hypot(x, y);\n   };\n   print r.x, r.y, r.hyp;\n\n# Use For as an expression-like calculation block\n   let result = For(i, 1, 4, 1) {\n   let square = i * i;\n   };\n   print result.i, result.square;\n\n# Keep helper constants private with an underscore name\n   let report = {\n   let _scale = 1000;\n   let km = 2;\n   let meters = km * _scale;\n   };\n   print report.km, report.meters;\n\n# Define a reusable multiplier calculator\n   type Multiplier(k) {\n   let apply = (x): x * k;\n   let plus = (x, y): apply(x) + y;\n   }\n   let m = Multiplier(6);\n   print m.apply(7), m.plus(7, 3);\n\n# Define chart helpers that share one time\n   type ChartTools(t) {\n   let lon = (body): ecliptic_longitude(body, t);\n   let pair = (a, b): lon(a) - lon(b);\n   }\n   let tools = ChartTools(time(2026,1,1,0,0,0));\n   print tools.lon(sun), tools.pair(moon, sun);\n\n# Define local altitude helpers for one observing site\n   type LocalTools(loc) {\n   let obs = loc.observer();\n   let alt = (body, t): altitude(body, t, obs);\n   }\n   let tools = LocalTools(location(60,10));\n   print tools.alt(sun, time(2026,6,21,12,0,0));\n\n# Build a small reusable closeness score\n   let distance_from = (target): (x): abs(x - target);\n   let score_to_ten = distance_from(10);\n   print score_to_ten(7), score_to_ten(13);\n\n# Use a derived closure inside numeric search\n   let f = (x, y): x * y - 10;\n   let g = (x): f(x, 2);\n   print search(g, range(0, 10, 0.5), target(0)).next();\n\n# Package a search result with the formula used\n   solve_linear(a, b) {\n   let f = (x): a * x + b;\n   let root = search(f, range(-10, 10, 0.5), target(0)).next();\n   let formula = \"a*x+b\";\n   }\n   let solved = solve_linear(2, -6);\n   print solved.formula, solved.root;","compact":"Topic: Astrologos.examples.syntax - task-shaped examples for Astrologos language syntax and reusable helper definitions","search_text":"topic:example.syntax syntax examples Astrologos.examples.syntax topic task-shaped examples for Astrologos language syntax and reusable helper definitions language examples programming examples closures examples definitions examples let name = expression; for i=start,stop,step { statements } name(parameter) { statements } (x): expression {name: value}"},{"id":"topic:example.time_calendar","name":"time and calendars","path":"Astrologos.examples.time_calendar","kind":"topic","aliases":["time examples","calendar","weekday","local time","date arithmetic"],"description":"examples for UTC time construction, date arithmetic, local civil time, and weekday handling","syntax":["time(year, month, day, hour, minute, second)","time.add_days(days)","time.local(timezone)","weekday(value)"],"examples":["# Construct UTC times and add intervals\nlet t = time(2026,3,20,12,0,0);\nprint t.utc(), t.add_hours(6).utc(), t.add_days(7).utc();","# Days between two dates\nprint time(2026,3,1,0,0,0) - time(2025,1,2,0,0,0);","# Local time at a location\nlet loc = location(58.9666667, 5.7333333);\nlet tz = timezones().at(loc);\nlet local = time(2026,6,1,12,0,0).local(tz);\nprint local.iso, local.weekday.short();","# Weekday lookup and formatting\nlet w = weekday(\"Wednesday\");\nprint w.name(), w.short(), w.index();","# Month-style civil dates from a page table\nlet rows = pages(location(60,10), time(2026,6,1,0,0,0)).table(days: 3);\nprint rows[0].date, rows[1].date, rows[2].date;"],"arguments":[],"children":[],"resources":["timezones","iers"],"doc":"Topic: Astrologos.examples.time_calendar - examples for UTC time construction, date arithmetic, local civil time, and weekday handling\nSyntax:\n  time(year, month, day, hour, minute, second)\n  time.add_days(days)\n  time.local(timezone)\n  weekday(value)\nAliases: time examples, calendar, weekday, local time, date arithmetic\nResources: timezones, iers\nExamples:\n# Construct UTC times and add intervals\n   let t = time(2026,3,20,12,0,0);\n   print t.utc(), t.add_hours(6).utc(), t.add_days(7).utc();\n\n# Days between two dates\n   print time(2026,3,1,0,0,0) - time(2025,1,2,0,0,0);\n\n# Local time at a location\n   let loc = location(58.9666667, 5.7333333);\n   let tz = timezones().at(loc);\n   let local = time(2026,6,1,12,0,0).local(tz);\n   print local.iso, local.weekday.short();\n\n# Weekday lookup and formatting\n   let w = weekday(\"Wednesday\");\n   print w.name(), w.short(), w.index();\n\n# Month-style civil dates from a page table\n   let rows = pages(location(60,10), time(2026,6,1,0,0,0)).table(days: 3);\n   print rows[0].date, rows[1].date, rows[2].date;","compact":"Topic: Astrologos.examples.time_calendar - examples for UTC time construction, date arithmetic, local civil time, and weekday handling","search_text":"topic:example.time_calendar time and calendars Astrologos.examples.time_calendar topic examples for UTC time construction, date arithmetic, local civil time, and weekday handling time examples calendar weekday local time date arithmetic time(year, month, day, hour, minute, second) time.add_days(days) time.local(timezone) weekday(value) timezones iers"},{"id":"topic:example.locations_timezones","name":"locations and timezones","path":"Astrologos.examples.locations_timezones","kind":"topic","aliases":["location examples","place search","timezone examples","city lookup","observer examples"],"description":"examples for locations, observers, place lookup, administrative fields, and timezone conversion","syntax":["location(latitude, longitude)","location(...).observer(height)","places().search(\"name\")","timezones().at(location)"],"examples":["# Prepare a location and observer for local sky calculations\nlet loc = location(latitude: 58.9666667, longitude: 5.7333333);\nlet obs = loc.observer(height: 0.002);\nprint loc.latitude, loc.longitude, obs.height();","# Format latitude and longitude\nlet loc = location(latitude: 58.9666667, longitude: 5.7333333);\nprint dms(loc.latitude, \"latitude\"), dms(loc.longitude, \"longitude\");\nprint dd(58, 58, 0, \"N\"), dd(5, 44, 0, \"E\");","# Find a place and administrative names\nlet p = places().search(\"Stavanger\").first();\nprint p.name, p.country().name, p.admin1().name, p.admin2().name;","# Timezone from a location and local time conversion\nlet loc = location(58.9666667, 5.7333333);\nlet tz = timezone(loc);\nprint tz.id, time(2026,6,1,12,0,0).local(tz).iso;","# Register an observatory-style place with a timezone\nlet here = place(\"Observatory\", location(60,10), \"Europe/Oslo\");\nprint here.name, here.timezone().id;"],"arguments":[],"children":["topic:example.places_timezones"],"resources":["places","timezones"],"doc":"Topic: Astrologos.examples.locations_timezones - examples for locations, observers, place lookup, administrative fields, and timezone conversion\nSyntax:\n  location(latitude, longitude)\n  location(...).observer(height)\n  places().search(\"name\")\n  timezones().at(location)\nAliases: location examples, place search, timezone examples, city lookup, observer examples\nResources: places, timezones\nChildren: places and timezones\nExamples:\n# Prepare a location and observer for local sky calculations\n   let loc = location(latitude: 58.9666667, longitude: 5.7333333);\n   let obs = loc.observer(height: 0.002);\n   print loc.latitude, loc.longitude, obs.height();\n\n# Format latitude and longitude\n   let loc = location(latitude: 58.9666667, longitude: 5.7333333);\n   print dms(loc.latitude, \"latitude\"), dms(loc.longitude, \"longitude\");\n   print dd(58, 58, 0, \"N\"), dd(5, 44, 0, \"E\");\n\n# Find a place and administrative names\n   let p = places().search(\"Stavanger\").first();\n   print p.name, p.country().name, p.admin1().name, p.admin2().name;\n\n# Timezone from a location and local time conversion\n   let loc = location(58.9666667, 5.7333333);\n   let tz = timezone(loc);\n   print tz.id, time(2026,6,1,12,0,0).local(tz).iso;\n\n# Register an observatory-style place with a timezone\n   let here = place(\"Observatory\", location(60,10), \"Europe/Oslo\");\n   print here.name, here.timezone().id;","compact":"Topic: Astrologos.examples.locations_timezones - examples for locations, observers, place lookup, administrative fields, and timezone conversion","search_text":"topic:example.locations_timezones locations and timezones Astrologos.examples.locations_timezones topic examples for locations, observers, place lookup, administrative fields, and timezone conversion location examples place search timezone examples city lookup observer examples location(latitude, longitude) location(...).observer(height) places().search(\"name\") timezones().at(location) places timezones"},{"id":"topic:example.sunrise","name":"sunrise examples","path":"Astrologos.examples.sunrise","kind":"topic","aliases":["sunrise","sunset","rise set","civil day","how to get sunrise for a location","sunrise in a month","monthly sunrise"],"description":"thematic index for sunrise, sunset, rise/set/transit, and local horizon workflows","syntax":["events(sunrise, range(start, stop), location).first()","events(sunset, range(start, stop), location).first()","body.rise(range, observer).first()","pages(location, start).table(days: count)"],"examples":["# Find the focused sunrise topics\nprint help(\"sunrise day\").compact();\nprint help(\"sunrise month\").compact();","# Quick sunrise and sunset for one day\nlet loc = location(latitude: 58.9666667, longitude: 5.7333333);\nlet day = range(time(2024,4,17,0,0,0), time(2024,4,18,0,0,0));\nprint events(sunrise, day, loc).first().time.utc();\nprint events(sunset, day, loc).first().time.utc();","# Month-style rise/set table\nlet loc = location(58.9666667, 5.7333333);\nlet rows = pages(loc, time(2024,4,1,0,0,0)).table(days: 30);\nprint rows[0].sunrise.time, rows[0].sunset.time;"],"arguments":[],"children":["topic:example.sunrise.day","topic:example.sunrise.month"],"resources":["ephemeris","iers"],"doc":"Topic: Astrologos.examples.sunrise - thematic index for sunrise, sunset, rise/set/transit, and local horizon workflows\nSyntax:\n  events(sunrise, range(start, stop), location).first()\n  events(sunset, range(start, stop), location).first()\n  body.rise(range, observer).first()\n  pages(location, start).table(days: count)\nAliases: sunrise, sunset, rise set, civil day, how to get sunrise for a location, sunrise in a month, monthly sunrise\nResources: ephemeris, iers\nChildren: sunrise day, sunrise month\nExamples:\n# Find the focused sunrise topics\n   print help(\"sunrise day\").compact();\n   print help(\"sunrise month\").compact();\n\n# Quick sunrise and sunset for one day\n   let loc = location(latitude: 58.9666667, longitude: 5.7333333);\n   let day = range(time(2024,4,17,0,0,0), time(2024,4,18,0,0,0));\n   print events(sunrise, day, loc).first().time.utc();\n   print events(sunset, day, loc).first().time.utc();\n\n# Month-style rise/set table\n   let loc = location(58.9666667, 5.7333333);\n   let rows = pages(loc, time(2024,4,1,0,0,0)).table(days: 30);\n   print rows[0].sunrise.time, rows[0].sunset.time;","compact":"Topic: Astrologos.examples.sunrise - thematic index for sunrise, sunset, rise/set/transit, and local horizon workflows","search_text":"topic:example.sunrise sunrise examples Astrologos.examples.sunrise topic thematic index for sunrise, sunset, rise/set/transit, and local horizon workflows sunrise sunset rise set civil day how to get sunrise for a location sunrise in a month monthly sunrise events(sunrise, range(start, stop), location).first() events(sunset, range(start, stop), location).first() body.rise(range, observer).first() pages(location, start).table(days: count) ephemeris iers"},{"id":"topic:example.sunrise.day","name":"sunrise day","path":"Astrologos.examples.sunrise.day","kind":"topic","aliases":["single day sunrise","daily sunrise","sunrise methods","different ways to calculate sunrise","same sunrise different ways"],"description":"different ways to calculate sunrise, sunset, and daylight for one location and one civil date","syntax":["events(sunrise, day, location).first()","sun.rise(day, observer).first()","pages(location, time).small().short.sun.rise.time","pages(location, time).almanac().local.sun.rise"],"examples":["# Method 1: direct sunrise event for a location\nlet loc = location(latitude: 58.9666667, longitude: 5.7333333);\nlet day = range(time(2024,4,17,0,0,0), time(2024,4,18,0,0,0));\nlet sunrise_event = events(sunrise, day, loc).first();\nprint sunrise_event.time.utc();","# Method 2: body method form with an observer\nlet loc = location(58.9666667, 5.7333333);\nlet obs = loc.observer(0.002);\nlet day = range(time(2024,4,17,0,0,0), time(2024,4,18,0,0,0));\nprint sun.rise(day, obs).first().time.utc();","# Method 3: one-day pages summary\nlet loc = location(58.9666667, 5.7333333);\nlet page = pages(loc, time(2024,4,17,0,0,0)).small();\nprint page.short.sun.rise.time, page.short.sun.set.time;","# Method 4: one-day almanac page\nlet loc = location(58.9666667, 5.7333333);\nlet local_day = pages(loc, time(2024,4,17,0,0,0)).almanac();\nprint local_day.local.sun.rise, local_day.local.sun.set;","# Day length from sunrise and sunset event times\nlet loc = location(latitude: 58.9666667, longitude: 5.7333333);\nlet day = range(time(2024,4,17,0,0,0), time(2024,4,18,0,0,0));\nlet sunrise_time = events(sunrise, day, loc).first().time;\nlet sunset_time = events(sunset, day, loc).first().time;\nprint sunset_time - sunrise_time;"],"arguments":[],"children":[],"resources":["ephemeris","iers"],"doc":"Topic: Astrologos.examples.sunrise.day - different ways to calculate sunrise, sunset, and daylight for one location and one civil date\nSyntax:\n  events(sunrise, day, location).first()\n  sun.rise(day, observer).first()\n  pages(location, time).small().short.sun.rise.time\n  pages(location, time).almanac().local.sun.rise\nAliases: single day sunrise, daily sunrise, sunrise methods, different ways to calculate sunrise, same sunrise different ways\nResources: ephemeris, iers\nExamples:\n# Method 1: direct sunrise event for a location\n   let loc = location(latitude: 58.9666667, longitude: 5.7333333);\n   let day = range(time(2024,4,17,0,0,0), time(2024,4,18,0,0,0));\n   let sunrise_event = events(sunrise, day, loc).first();\n   print sunrise_event.time.utc();\n\n# Method 2: body method form with an observer\n   let loc = location(58.9666667, 5.7333333);\n   let obs = loc.observer(0.002);\n   let day = range(time(2024,4,17,0,0,0), time(2024,4,18,0,0,0));\n   print sun.rise(day, obs).first().time.utc();\n\n# Method 3: one-day pages summary\n   let loc = location(58.9666667, 5.7333333);\n   let page = pages(loc, time(2024,4,17,0,0,0)).small();\n   print page.short.sun.rise.time, page.short.sun.set.time;\n\n# Method 4: one-day almanac page\n   let loc = location(58.9666667, 5.7333333);\n   let local_day = pages(loc, time(2024,4,17,0,0,0)).almanac();\n   print local_day.local.sun.rise, local_day.local.sun.set;\n\n# Day length from sunrise and sunset event times\n   let loc = location(latitude: 58.9666667, longitude: 5.7333333);\n   let day = range(time(2024,4,17,0,0,0), time(2024,4,18,0,0,0));\n   let sunrise_time = events(sunrise, day, loc).first().time;\n   let sunset_time = events(sunset, day, loc).first().time;\n   print sunset_time - sunrise_time;","compact":"Topic: Astrologos.examples.sunrise.day - different ways to calculate sunrise, sunset, and daylight for one location and one civil date","search_text":"topic:example.sunrise.day sunrise day Astrologos.examples.sunrise.day topic different ways to calculate sunrise, sunset, and daylight for one location and one civil date single day sunrise daily sunrise sunrise methods different ways to calculate sunrise same sunrise different ways events(sunrise, day, location).first() sun.rise(day, observer).first() pages(location, time).small().short.sun.rise.time pages(location, time).almanac().local.sun.rise ephemeris iers"},{"id":"topic:example.sunrise.month","name":"sunrise month","path":"Astrologos.examples.sunrise.month","kind":"topic","aliases":["monthly sunrise","sunrises in a month","sunrise table","rise set table","calculate sunrises in a month"],"description":"ways to calculate sunrise and sunset tables across many days","syntax":["pages(location, start).table(days: count)","almanac(start, stop, location).local.sun.rise","for d=0,count-1 { events(sunrise, range(day_start, day_stop), location) }"],"examples":["# Method 1: pages table for a month of sunrise and sunset rows\nlet loc = location(latitude: 58.9666667, longitude: 5.7333333);\nlet start = time(2024,4,1,0,0,0);\nlet rows = pages(loc, start).table(days: 30);\nprint rows[0].date, rows[0].sunrise.time, rows[0].sunset.time;\nprint rows[29].date, rows[29].sunrise.time, rows[29].sunset.time;","# Method 2: month almanac object\nlet loc = location(58.9666667, 5.7333333);\nlet start = time(2024,4,1,0,0,0);\nlet month = almanac(start, start.add_months(1), loc);\nprint month.local.sun.rise;\nprint month.local.sun.set;","# Method 3: explicit loop over days\nlet loc = location(58.9666667, 5.7333333);\nlet start = time(2024,4,1,0,0,0);\nfor d=0,29 {\n  let day_start = start.add_days(d);\n  let day = range(day_start, day_start.add_days(1));\n  print day_start.utc(), events(sunrise, day, loc).first().time.utc();\n}","# Method 4: compare sunrise drift through a month\nlet loc = location(58.9666667, 5.7333333);\nlet rows = pages(loc, time(2024,4,1,0,0,0)).table(days: 30);\nprint rows[0].sunrise.time, rows[14].sunrise.time, rows[29].sunrise.time;"],"arguments":[],"children":[],"resources":["ephemeris","iers"],"doc":"Topic: Astrologos.examples.sunrise.month - ways to calculate sunrise and sunset tables across many days\nSyntax:\n  pages(location, start).table(days: count)\n  almanac(start, stop, location).local.sun.rise\n  for d=0,count-1 { events(sunrise, range(day_start, day_stop), location) }\nAliases: monthly sunrise, sunrises in a month, sunrise table, rise set table, calculate sunrises in a month\nResources: ephemeris, iers\nExamples:\n# Method 1: pages table for a month of sunrise and sunset rows\n   let loc = location(latitude: 58.9666667, longitude: 5.7333333);\n   let start = time(2024,4,1,0,0,0);\n   let rows = pages(loc, start).table(days: 30);\n   print rows[0].date, rows[0].sunrise.time, rows[0].sunset.time;\n   print rows[29].date, rows[29].sunrise.time, rows[29].sunset.time;\n\n# Method 2: month almanac object\n   let loc = location(58.9666667, 5.7333333);\n   let start = time(2024,4,1,0,0,0);\n   let month = almanac(start, start.add_months(1), loc);\n   print month.local.sun.rise;\n   print month.local.sun.set;\n\n# Method 3: explicit loop over days\n   let loc = location(58.9666667, 5.7333333);\n   let start = time(2024,4,1,0,0,0);\n   for d=0,29 {\n   let day_start = start.add_days(d);\n   let day = range(day_start, day_start.add_days(1));\n   print day_start.utc(), events(sunrise, day, loc).first().time.utc();\n   }\n\n# Method 4: compare sunrise drift through a month\n   let loc = location(58.9666667, 5.7333333);\n   let rows = pages(loc, time(2024,4,1,0,0,0)).table(days: 30);\n   print rows[0].sunrise.time, rows[14].sunrise.time, rows[29].sunrise.time;","compact":"Topic: Astrologos.examples.sunrise.month - ways to calculate sunrise and sunset tables across many days","search_text":"topic:example.sunrise.month sunrise month Astrologos.examples.sunrise.month topic ways to calculate sunrise and sunset tables across many days monthly sunrise sunrises in a month sunrise table rise set table calculate sunrises in a month pages(location, start).table(days: count) almanac(start, stop, location).local.sun.rise for d=0,count-1 { events(sunrise, range(day_start, day_stop), location) } ephemeris iers"},{"id":"topic:example.moonrise","name":"moonrise and lunar visibility","path":"Astrologos.examples.moonrise","kind":"topic","aliases":["moonrise","moonset","moon visibility","lunar visibility","moon altitude"],"description":"examples for moonrise, moonset, Moon altitude, and multi-day lunar visibility","syntax":["events(moonrise, range(start, stop), location)","moon.rise(range, observer)","altitude(moon, time, observer)","pages(location, moon).summary(time)"],"examples":["# Moonrise and moonset for one night\nlet loc = location(60.0, 10.0);\nlet night = range(time(2026,5,20,0,0,0), time(2026,5,21,0,0,0));\nprint events(moonrise, night, loc).first();\nprint events(moonset, night, loc).first();","# Moonrise for the next five days\nlet loc = location(60.0, 10.0);\nlet start = time(2026,5,20,0,0,0);\nprint events(moonrise, range(start, start.add_days(5), 0.5), loc);","# Moon altitude through a night\nlet obs = location(60.0, 10.0).observer(0.002);\nlet t0 = time(2026,5,20,18,0,0);\nfor h=0,12,3 {\n  let t = t0.add_hours(h);\n  print t.utc(), altitude(moon, t, obs), azimuth(moon, t, obs);\n}","# Compact local Moon summary\nlet m = pages(location(60,10), moon).summary(time(2026,5,20,21,0,0));\nprint m.position.topocentric.altitude, m.phase, m.illumination;"],"arguments":[],"children":[],"resources":["ephemeris","iers"],"doc":"Topic: Astrologos.examples.moonrise - examples for moonrise, moonset, Moon altitude, and multi-day lunar visibility\nSyntax:\n  events(moonrise, range(start, stop), location)\n  moon.rise(range, observer)\n  altitude(moon, time, observer)\n  pages(location, moon).summary(time)\nAliases: moonrise, moonset, moon visibility, lunar visibility, moon altitude\nResources: ephemeris, iers\nExamples:\n# Moonrise and moonset for one night\n   let loc = location(60.0, 10.0);\n   let night = range(time(2026,5,20,0,0,0), time(2026,5,21,0,0,0));\n   print events(moonrise, night, loc).first();\n   print events(moonset, night, loc).first();\n\n# Moonrise for the next five days\n   let loc = location(60.0, 10.0);\n   let start = time(2026,5,20,0,0,0);\n   print events(moonrise, range(start, start.add_days(5), 0.5), loc);\n\n# Moon altitude through a night\n   let obs = location(60.0, 10.0).observer(0.002);\n   let t0 = time(2026,5,20,18,0,0);\n   for h=0,12,3 {\n   let t = t0.add_hours(h);\n   print t.utc(), altitude(moon, t, obs), azimuth(moon, t, obs);\n   }\n\n# Compact local Moon summary\n   let m = pages(location(60,10), moon).summary(time(2026,5,20,21,0,0));\n   print m.position.topocentric.altitude, m.phase, m.illumination;","compact":"Topic: Astrologos.examples.moonrise - examples for moonrise, moonset, Moon altitude, and multi-day lunar visibility","search_text":"topic:example.moonrise moonrise and lunar visibility Astrologos.examples.moonrise topic examples for moonrise, moonset, Moon altitude, and multi-day lunar visibility moonrise moonset moon visibility lunar visibility moon altitude events(moonrise, range(start, stop), location) moon.rise(range, observer) altitude(moon, time, observer) pages(location, moon).summary(time) ephemeris iers"},{"id":"topic:example.moon_phase","name":"moon phase","path":"Astrologos.examples.moon_phase","kind":"topic","aliases":["lunar phase","full moon","new moon","perigee","apogee","moon illumination"],"description":"examples inspired by lunar phase and orbit catalogs: phase, illumination, perigee, apogee, and shadows","syntax":["moon_phase(time)","moon_illumination(time)","events(full_moon, range)","events(perigee, range, moon)"],"examples":["# Moon phase and illumination at a time\nlet t = time(2026,1,15,0,0,0);\nprint moon_phase(t), moon_illumination(t), magnitude(moon, t);","# Full moon and new moon in a month\nlet month = range(time(2026,1,1,0,0,0), time(2026,2,1,0,0,0), 1);\nprint events(full_moon, month).first().time.utc();\nprint events(new_moon, month).first().time.utc();","# Lunar perigee and apogee in a month\nlet month = range(time(2024,4,1,0,0,0), time(2024,5,1,0,0,0), 1);\nprint events(perigee, month, moon).first();\nprint events(apogee, month, moon).first();","# Moon distance, speed, and phase-like context\nlet t = time(2026,1,15,0,0,0);\nlet st = state(moon, t, geocentric, icrf, all_corrections);\nprint st.position().length(), st.velocity().length(), moon_illumination(t);","# Lunar eclipse magnitude helpers near a known date\nlet t = time(2025,3,14,6,0,0);\nprint lunar_eclipse_magnitude(t), lunar_penumbra_magnitude(t), lunar_eclipse_clearance(t);"],"arguments":[],"children":["topic:example.eclipses"],"resources":["ephemeris"],"doc":"Topic: Astrologos.examples.moon_phase - examples inspired by lunar phase and orbit catalogs: phase, illumination, perigee, apogee, and shadows\nSyntax:\n  moon_phase(time)\n  moon_illumination(time)\n  events(full_moon, range)\n  events(perigee, range, moon)\nAliases: lunar phase, full moon, new moon, perigee, apogee, moon illumination\nResources: ephemeris\nChildren: eclipses and shadows\nExamples:\n# Moon phase and illumination at a time\n   let t = time(2026,1,15,0,0,0);\n   print moon_phase(t), moon_illumination(t), magnitude(moon, t);\n\n# Full moon and new moon in a month\n   let month = range(time(2026,1,1,0,0,0), time(2026,2,1,0,0,0), 1);\n   print events(full_moon, month).first().time.utc();\n   print events(new_moon, month).first().time.utc();\n\n# Lunar perigee and apogee in a month\n   let month = range(time(2024,4,1,0,0,0), time(2024,5,1,0,0,0), 1);\n   print events(perigee, month, moon).first();\n   print events(apogee, month, moon).first();\n\n# Moon distance, speed, and phase-like context\n   let t = time(2026,1,15,0,0,0);\n   let st = state(moon, t, geocentric, icrf, all_corrections);\n   print st.position().length(), st.velocity().length(), moon_illumination(t);\n\n# Lunar eclipse magnitude helpers near a known date\n   let t = time(2025,3,14,6,0,0);\n   print lunar_eclipse_magnitude(t), lunar_penumbra_magnitude(t), lunar_eclipse_clearance(t);","compact":"Topic: Astrologos.examples.moon_phase - examples inspired by lunar phase and orbit catalogs: phase, illumination, perigee, apogee, and shadows","search_text":"topic:example.moon_phase moon phase Astrologos.examples.moon_phase topic examples inspired by lunar phase and orbit catalogs: phase, illumination, perigee, apogee, and shadows lunar phase full moon new moon perigee apogee moon illumination moon_phase(time) moon_illumination(time) events(full_moon, range) events(perigee, range, moon) ephemeris"},{"id":"topic:example.stars","name":"stars","path":"Astrologos.examples.stars","kind":"topic","aliases":["star catalog","visible stars","Sirius","star rise","bright stars"],"description":"examples for star catalog lookup, visible stars, star rise/transit/set, and angular distance","syntax":["stars().find(\"Sirius\")","stars().visible(time, observer)","star.rise(range, observer)","star.direction()"],"examples":["# Find Sirius and inspect it\nlet sirius = stars().find(\"Sirius\");\nprint sirius.name, sirius.magnitude, sirius.constellation();","# Sirius rise, transit, and set\nlet sirius = stars().find(\"Sirius\");\nlet obs = location(60.0, 10.0).observer(0.002);\nlet night = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0), 0.25);\nprint sirius.rise(night, obs).first();\nprint sirius.transit(night, obs).first();\nprint sirius.set(night, obs).first();","# Bright visible stars above a local horizon\nlet obs = location(60,10).observer(0.002);\nprint stars().visible(time(2026,1,1,21,0,0), obs, magnitude: 2.0);","# Angular distance between Sirius and the Moon\nlet t = time(2026,1,1,21,0,0);\nlet sirius = stars().find(\"Sirius\").direction();\nlet moon_dir = direction(ra(moon, t, all_corrections), dec(moon, t, all_corrections));\nprint moon_dir.angular_distance(sirius, t);"],"arguments":[],"children":["topic:example.moon_stars","topic:example.constellations"],"resources":["stars","ephemeris","iers"],"doc":"Topic: Astrologos.examples.stars - examples for star catalog lookup, visible stars, star rise/transit/set, and angular distance\nSyntax:\n  stars().find(\"Sirius\")\n  stars().visible(time, observer)\n  star.rise(range, observer)\n  star.direction()\nAliases: star catalog, visible stars, Sirius, star rise, bright stars\nResources: stars, ephemeris, iers\nChildren: moon and stars, constellations()\nExamples:\n# Find Sirius and inspect it\n   let sirius = stars().find(\"Sirius\");\n   print sirius.name, sirius.magnitude, sirius.constellation();\n\n# Sirius rise, transit, and set\n   let sirius = stars().find(\"Sirius\");\n   let obs = location(60.0, 10.0).observer(0.002);\n   let night = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0), 0.25);\n   print sirius.rise(night, obs).first();\n   print sirius.transit(night, obs).first();\n   print sirius.set(night, obs).first();\n\n# Bright visible stars above a local horizon\n   let obs = location(60,10).observer(0.002);\n   print stars().visible(time(2026,1,1,21,0,0), obs, magnitude: 2.0);\n\n# Angular distance between Sirius and the Moon\n   let t = time(2026,1,1,21,0,0);\n   let sirius = stars().find(\"Sirius\").direction();\n   let moon_dir = direction(ra(moon, t, all_corrections), dec(moon, t, all_corrections));\n   print moon_dir.angular_distance(sirius, t);","compact":"Topic: Astrologos.examples.stars - examples for star catalog lookup, visible stars, star rise/transit/set, and angular distance","search_text":"topic:example.stars stars Astrologos.examples.stars topic examples for star catalog lookup, visible stars, star rise/transit/set, and angular distance star catalog visible stars Sirius star rise bright stars stars().find(\"Sirius\") stars().visible(time, observer) star.rise(range, observer) star.direction() stars ephemeris iers"},{"id":"topic:example.constellations","name":"constellations","path":"Astrologos.examples.constellations","kind":"topic","aliases":["constellation lookup","which constellation","sky region","iau constellation"],"description":"examples for constellation lookup by direction, Moon, planets, and stars","syntax":["constellations().inside(direction)","star.constellation()","direction(ra: value, dec: value)"],"examples":["# Find which constellation contains a direction\nlet d = direction(ra: 88.8, dec: 7.4);\nprint constellations().inside(d);","# Moon and Sirius separation with constellation context\nlet t = time(2024,4,17,0,0,0);\nlet sirius = stars().find(\"Sirius\");\nlet moon_dir = direction(ra(moon, t, all_corrections), dec(moon, t, all_corrections));\nprint constellations().inside(moon_dir), moon_dir.angular_distance(sirius.direction());","# Planet constellation at a time\nlet t = time(2026,1,1,0,0,0);\nlet mars_dir = direction(ra(mars, t, all_corrections), dec(mars, t, all_corrections));\nprint constellations().inside(mars_dir);","# Star constellation shortcut\nprint stars().find(\"Sirius\").constellation();"],"arguments":[],"children":["topic:example.stars"],"resources":["constellations","stars","ephemeris"],"doc":"Topic: Astrologos.examples.constellations - examples for constellation lookup by direction, Moon, planets, and stars\nSyntax:\n  constellations().inside(direction)\n  star.constellation()\n  direction(ra: value, dec: value)\nAliases: constellation lookup, which constellation, sky region, iau constellation\nResources: constellations, stars, ephemeris\nChildren: stars()\nExamples:\n# Find which constellation contains a direction\n   let d = direction(ra: 88.8, dec: 7.4);\n   print constellations().inside(d);\n\n# Moon and Sirius separation with constellation context\n   let t = time(2024,4,17,0,0,0);\n   let sirius = stars().find(\"Sirius\");\n   let moon_dir = direction(ra(moon, t, all_corrections), dec(moon, t, all_corrections));\n   print constellations().inside(moon_dir), moon_dir.angular_distance(sirius.direction());\n\n# Planet constellation at a time\n   let t = time(2026,1,1,0,0,0);\n   let mars_dir = direction(ra(mars, t, all_corrections), dec(mars, t, all_corrections));\n   print constellations().inside(mars_dir);\n\n# Star constellation shortcut\n   print stars().find(\"Sirius\").constellation();","compact":"Topic: Astrologos.examples.constellations - examples for constellation lookup by direction, Moon, planets, and stars","search_text":"topic:example.constellations constellations Astrologos.examples.constellations topic examples for constellation lookup by direction, Moon, planets, and stars constellation lookup which constellation sky region iau constellation constellations().inside(direction) star.constellation() direction(ra: value, dec: value) constellations stars ephemeris"},{"id":"topic:example.moon_stars","name":"moon and stars","path":"Astrologos.examples.moon_stars","kind":"topic","aliases":["moon sirius","sirius","stars","constellations","moon close to sirius","angular separation"],"description":"examples for stars, Sirius, Moon constellations, visible stars, and angular-distance searches","syntax":["stars().find(\"Sirius\")","direction(ra(body, time, correction), dec(body, time, correction))","direction.angular_distance(other, time)"],"examples":["# Sirius: lookup, constellation, and next rise\nlet sirius = stars().find(\"Sirius\");\nlet obs = location(60.0, 10.0).observer(0.002);\nlet night = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0), 0.25);\nprint sirius.constellation();\nprint sirius.rise(night, obs).first().time.utc();","# Moon constellation at a time\nlet t = time(2024,4,17,0,0,0);\nlet moon_dir = direction(ra(moon, t, all_corrections), dec(moon, t, all_corrections));\nprint constellations().inside(moon_dir);","# How to search for times when the Moon is close to Sirius\nlet sirius = stars().find(\"Sirius\").direction();\nlet closeness = (t): direction(ra(moon, t, all_corrections), dec(moon, t, all_corrections)).angular_distance(sirius, t) - 5.0;\nlet span = range(time(2026,1,1,0,0,0), time(2026,2,1,0,0,0), 0.25);\nprint search(closeness, span, target(0)).next();","# Visible star names for a local evening shortlist\nlet obs = location(60,10).observer(0.002);\nlet visible = stars().visible(time(2026,1,1,21,0,0), obs, magnitude: 2.0);\nprint visible.name, visible.constellation;"],"arguments":[],"children":[],"resources":["ephemeris","stars","constellations","iers"],"doc":"Topic: Astrologos.examples.moon_stars - examples for stars, Sirius, Moon constellations, visible stars, and angular-distance searches\nSyntax:\n  stars().find(\"Sirius\")\n  direction(ra(body, time, correction), dec(body, time, correction))\n  direction.angular_distance(other, time)\nAliases: moon sirius, sirius, stars, constellations, moon close to sirius, angular separation\nResources: ephemeris, stars, constellations, iers\nExamples:\n# Sirius: lookup, constellation, and next rise\n   let sirius = stars().find(\"Sirius\");\n   let obs = location(60.0, 10.0).observer(0.002);\n   let night = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0), 0.25);\n   print sirius.constellation();\n   print sirius.rise(night, obs).first().time.utc();\n\n# Moon constellation at a time\n   let t = time(2024,4,17,0,0,0);\n   let moon_dir = direction(ra(moon, t, all_corrections), dec(moon, t, all_corrections));\n   print constellations().inside(moon_dir);\n\n# How to search for times when the Moon is close to Sirius\n   let sirius = stars().find(\"Sirius\").direction();\n   let closeness = (t): direction(ra(moon, t, all_corrections), dec(moon, t, all_corrections)).angular_distance(sirius, t) - 5.0;\n   let span = range(time(2026,1,1,0,0,0), time(2026,2,1,0,0,0), 0.25);\n   print search(closeness, span, target(0)).next();\n\n# Visible star names for a local evening shortlist\n   let obs = location(60,10).observer(0.002);\n   let visible = stars().visible(time(2026,1,1,21,0,0), obs, magnitude: 2.0);\n   print visible.name, visible.constellation;","compact":"Topic: Astrologos.examples.moon_stars - examples for stars, Sirius, Moon constellations, visible stars, and angular-distance searches","search_text":"topic:example.moon_stars moon and stars Astrologos.examples.moon_stars topic examples for stars, Sirius, Moon constellations, visible stars, and angular-distance searches moon sirius sirius stars constellations moon close to sirius angular separation stars().find(\"Sirius\") direction(ra(body, time, correction), dec(body, time, correction)) direction.angular_distance(other, time) ephemeris stars constellations iers"},{"id":"topic:example.sky_charts","name":"sky charts fixed stars and close approaches","path":"Astrologos.examples.sky_charts","kind":"topic","aliases":["sky chart","chart positions","fixed stars","close approaches","planet in constellation","planet enters constellation","planet close to star","moon close to star","constellation change","appulse"],"description":"examples for chart-style sky questions using astronomical constellations, named stars, separations, and time searches","syntax":["constellations().inside(direction(ra(body, t, all_corrections), dec(body, t, all_corrections)))","search((t): separation(t), range(start, stop, step), minimum).next()","search((t): separation(t) - threshold, range(start, stop, step), target(0))","ecliptic_longitude(time)"],"examples":["# Which IAU constellation contains a planet now\nlet t = time(2026,1,1,0,0,0);\nlet d = direction(ra(mars, t, all_corrections), dec(mars, t, all_corrections));\nprint mars.name, constellations().inside(d);","# Scan a month for planet constellation changes\nlet body = mars;\nlet start = time(2026,1,1,0,0,0);\nlet previous = \"\";\nfor day=0,31 {\n  let t = start.add_days(day);\n  let d = direction(ra(body, t, all_corrections), dec(body, t, all_corrections));\n  let c = constellations().inside(d);\n  if c.name != previous {\n    print t.utc(), body.name, c.name;\n    previous = c.name;\n  }\n}","# Compare several planets by constellation\nlet t = time(2026,1,1,0,0,0);\nlet bodies = [mercury, venus, mars, jupiter, saturn];\nfor i=0,4 {\n  let body = bodies[i];\n  let d = direction(ra(body, t, all_corrections), dec(body, t, all_corrections));\n  print body.name, constellations().inside(d).name;\n}","# Closest approach of Venus to Regulus in a time window\nlet star = stars().find(\"Regulus\").direction();\nlet sep = (t): direction(ra(venus, t, all_corrections), dec(venus, t, all_corrections)).angular_distance(star, t);\nlet span = range(time(2026,7,1,0,0,0), time(2026,9,1,0,0,0), 0.25);\nlet closest = search(sep, span, minimum).next();\nprint closest.utc(), sep(closest);","# Times when the Moon is within five degrees of Aldebaran\nlet star = stars().find(\"Aldebaran\").direction();\nlet sep = (t): direction(ra(moon, t, all_corrections), dec(moon, t, all_corrections)).angular_distance(star, t) - 5.0;\nlet span = range(time(2026,1,1,0,0,0), time(2026,2,1,0,0,0), 0.25);\nprint search(sep, span, target(0)).all();","# Thirty-degree solar longitude sector\nlet sectors = [\"sector 0\", \"sector 1\", \"sector 2\", \"sector 3\", \"sector 4\", \"sector 5\", \"sector 6\", \"sector 7\", \"sector 8\", \"sector 9\", \"sector 10\", \"sector 11\"];\nlet t = time(2026,3,20,12,0,0);\nlet lon = ecliptic_longitude(t);\nprint sectors[floor(lon / 30.0)], lon;","# Nearest bright star to the Moon\nlet t = time(2026,1,1,21,0,0);\nlet moon_dir = direction(ra(moon, t, all_corrections), dec(moon, t, all_corrections));\nlet nearest = stars().nearest(moon_dir, magnitude: 2.0);\nprint nearest.name, nearest.separation, nearest.constellation();"],"arguments":[],"children":["topic:example.constellations","topic:example.moon_stars","topic:example.planets","topic:example.search"],"resources":["ephemeris","stars","constellations","iers"],"doc":"Topic: Astrologos.examples.sky_charts - examples for chart-style sky questions using astronomical constellations, named stars, separations, and time searches\nSyntax:\n  constellations().inside(direction(ra(body, t, all_corrections), dec(body, t, all_corrections)))\n  search((t): separation(t), range(start, stop, step), minimum).next()\n  search((t): separation(t) - threshold, range(start, stop, step), target(0))\n  ecliptic_longitude(time)\nAliases: sky chart, chart positions, fixed stars, close approaches, planet in constellation, planet enters constellation, planet close to star, moon close to star, constellation change, appulse\nResources: ephemeris, stars, constellations, iers\nChildren: constellations(), moon and stars, planet events, search and optimization\nExamples:\n# Which IAU constellation contains a planet now\n   let t = time(2026,1,1,0,0,0);\n   let d = direction(ra(mars, t, all_corrections), dec(mars, t, all_corrections));\n   print mars.name, constellations().inside(d);\n\n# Scan a month for planet constellation changes\n   let body = mars;\n   let start = time(2026,1,1,0,0,0);\n   let previous = \"\";\n   for day=0,31 {\n   let t = start.add_days(day);\n   let d = direction(ra(body, t, all_corrections), dec(body, t, all_corrections));\n   let c = constellations().inside(d);\n   if c.name != previous {\n   print t.utc(), body.name, c.name;\n   previous = c.name;\n   }\n   }\n\n# Compare several planets by constellation\n   let t = time(2026,1,1,0,0,0);\n   let bodies = [mercury, venus, mars, jupiter, saturn];\n   for i=0,4 {\n   let body = bodies[i];\n   let d = direction(ra(body, t, all_corrections), dec(body, t, all_corrections));\n   print body.name, constellations().inside(d).name;\n   }\n\n# Closest approach of Venus to Regulus in a time window\n   let star = stars().find(\"Regulus\").direction();\n   let sep = (t): direction(ra(venus, t, all_corrections), dec(venus, t, all_corrections)).angular_distance(star, t);\n   let span = range(time(2026,7,1,0,0,0), time(2026,9,1,0,0,0), 0.25);\n   let closest = search(sep, span, minimum).next();\n   print closest.utc(), sep(closest);\n\n# Times when the Moon is within five degrees of Aldebaran\n   let star = stars().find(\"Aldebaran\").direction();\n   let sep = (t): direction(ra(moon, t, all_corrections), dec(moon, t, all_corrections)).angular_distance(star, t) - 5.0;\n   let span = range(time(2026,1,1,0,0,0), time(2026,2,1,0,0,0), 0.25);\n   print search(sep, span, target(0)).all();\n\n# Thirty-degree solar longitude sector\n   let sectors = [\"sector 0\", \"sector 1\", \"sector 2\", \"sector 3\", \"sector 4\", \"sector 5\", \"sector 6\", \"sector 7\", \"sector 8\", \"sector 9\", \"sector 10\", \"sector 11\"];\n   let t = time(2026,3,20,12,0,0);\n   let lon = ecliptic_longitude(t);\n   print sectors[floor(lon / 30.0)], lon;\n\n# Nearest bright star to the Moon\n   let t = time(2026,1,1,21,0,0);\n   let moon_dir = direction(ra(moon, t, all_corrections), dec(moon, t, all_corrections));\n   let nearest = stars().nearest(moon_dir, magnitude: 2.0);\n   print nearest.name, nearest.separation, nearest.constellation();","compact":"Topic: Astrologos.examples.sky_charts - examples for chart-style sky questions using astronomical constellations, named stars, separations, and time searches","search_text":"topic:example.sky_charts sky charts fixed stars and close approaches Astrologos.examples.sky_charts topic examples for chart-style sky questions using astronomical constellations, named stars, separations, and time searches sky chart chart positions fixed stars close approaches planet in constellation planet enters constellation planet close to star moon close to star constellation change appulse constellations().inside(direction(ra(body, t, all_corrections), dec(body, t, all_corrections))) search((t): separation(t), range(start, stop, step), minimum).next() search((t): separation(t) - threshold, range(start, stop, step), target(0)) ecliptic_longitude(time) ephemeris stars constellations iers"},{"id":"topic:example.planets","name":"planet events","path":"Astrologos.examples.planets","kind":"topic","aliases":["opposition","conjunction","elongation","perihelion","aphelion","planet examples"],"description":"examples for planetary events such as opposition, conjunction, elongation, perihelion, and aphelion","syntax":["events(opposition, range, body).first()","events(greatest_elongation, range, body).first()","body.perihelion(start, stop, step).first()"],"examples":["# Planet opposition and Mercury elongation\nlet year = range(time(2024,1,1,0,0,0), time(2025,1,1,0,0,0), 2);\nprint events(opposition, year, jupiter).first();\nprint events(greatest_elongation, year, mercury).first();","# Sun orbital events relative to the solar-system barycenter\nprint sun.periapsis();\nprint sun.apoapsis();\nprint sun.greatest_western_elongation();\nprint sun.greatest_eastern_elongation();\nprint sun.opposition();\nprint sun.conjunction();","# Earth's perihelion and aphelion\nlet peri = events(perihelion, range(time(2024,1,1,0,0,0), time(2024,1,10,0,0,0), 1), earth).first();\nlet aph = events(aphelion, range(time(2024,7,1,0,0,0), time(2024,7,10,0,0,0), 1), earth).first();\nprint peri.time.utc(), peri.value;\nprint aph.time.utc(), aph.value;","# Planet position table at one time\nlet t = time(2026,1,1,0,0,0);\nfor i=0,4 {\n  let p = [mercury, venus, mars, jupiter, saturn][i];\n  print p.name, ra(p, t, all_corrections), dec(p, t, all_corrections), magnitude(p, t);\n}","# Close approach style angular separation\nlet t = time(2026,1,1,0,0,0);\nlet venus_dir = direction(ra(venus, t, all_corrections), dec(venus, t, all_corrections));\nlet mars_dir = direction(ra(mars, t, all_corrections), dec(mars, t, all_corrections));\nprint venus_dir.angular_distance(mars_dir, t), distance(venus, t), distance(mars, t);","# Bright planet context inspired by magnitude catalogs\nlet t = time(2026,1,1,0,0,0);\nprint venus.name, magnitude(venus, t), elongation(venus, t), heliocentric_ecliptic_longitude(venus, t);","# Rotational axis helpers\nlet t = time(2026,1,1,0,0,0);\nprint rotational_axis_ra(mars, t), rotational_axis_dec(mars, t), rotational_axis(mars, t);"],"arguments":[],"children":[],"resources":["ephemeris"],"doc":"Topic: Astrologos.examples.planets - examples for planetary events such as opposition, conjunction, elongation, perihelion, and aphelion\nSyntax:\n  events(opposition, range, body).first()\n  events(greatest_elongation, range, body).first()\n  body.perihelion(start, stop, step).first()\nAliases: opposition, conjunction, elongation, perihelion, aphelion, planet examples\nResources: ephemeris\nExamples:\n# Planet opposition and Mercury elongation\n   let year = range(time(2024,1,1,0,0,0), time(2025,1,1,0,0,0), 2);\n   print events(opposition, year, jupiter).first();\n   print events(greatest_elongation, year, mercury).first();\n\n# Sun orbital events relative to the solar-system barycenter\n   print sun.periapsis();\n   print sun.apoapsis();\n   print sun.greatest_western_elongation();\n   print sun.greatest_eastern_elongation();\n   print sun.opposition();\n   print sun.conjunction();\n\n# Earth's perihelion and aphelion\n   let peri = events(perihelion, range(time(2024,1,1,0,0,0), time(2024,1,10,0,0,0), 1), earth).first();\n   let aph = events(aphelion, range(time(2024,7,1,0,0,0), time(2024,7,10,0,0,0), 1), earth).first();\n   print peri.time.utc(), peri.value;\n   print aph.time.utc(), aph.value;\n\n# Planet position table at one time\n   let t = time(2026,1,1,0,0,0);\n   for i=0,4 {\n   let p = [mercury, venus, mars, jupiter, saturn][i];\n   print p.name, ra(p, t, all_corrections), dec(p, t, all_corrections), magnitude(p, t);\n   }\n\n# Close approach style angular separation\n   let t = time(2026,1,1,0,0,0);\n   let venus_dir = direction(ra(venus, t, all_corrections), dec(venus, t, all_corrections));\n   let mars_dir = direction(ra(mars, t, all_corrections), dec(mars, t, all_corrections));\n   print venus_dir.angular_distance(mars_dir, t), distance(venus, t), distance(mars, t);\n\n# Bright planet context inspired by magnitude catalogs\n   let t = time(2026,1,1,0,0,0);\n   print venus.name, magnitude(venus, t), elongation(venus, t), heliocentric_ecliptic_longitude(venus, t);\n\n# Rotational axis helpers\n   let t = time(2026,1,1,0,0,0);\n   print rotational_axis_ra(mars, t), rotational_axis_dec(mars, t), rotational_axis(mars, t);","compact":"Topic: Astrologos.examples.planets - examples for planetary events such as opposition, conjunction, elongation, perihelion, and aphelion","search_text":"topic:example.planets planet events Astrologos.examples.planets topic examples for planetary events such as opposition, conjunction, elongation, perihelion, and aphelion opposition conjunction elongation perihelion aphelion planet examples events(opposition, range, body).first() events(greatest_elongation, range, body).first() body.perihelion(start, stop, step).first() ephemeris"},{"id":"topic:example.eclipses","name":"eclipses and shadows","path":"Astrologos.examples.eclipses","kind":"topic","aliases":["solar eclipse","lunar eclipse","shadow","umbra","penumbra","obscuration"],"description":"examples for eclipse events and shadow-distance helper functions","syntax":["events(solar_eclipse, range, location).first()","solar_eclipse_magnitude(time, location)","lunar_eclipse_magnitude(time)","shadow_distance(body, time)"],"examples":["# Solar eclipse event near Dallas, 2024-04-08\nlet dallas = location(latitude: 32.7767, longitude: -96.7970);\nlet span = range(time(2024,4,8,12,0,0), time(2024,4,9,0,0,0), 0.25);\nprint events(solar_eclipse, span, dallas).first();","# Solar eclipse helper values at a location\nlet dallas = location(32.7767, -96.7970);\nlet t = time(2024,4,8,18,20,0);\nprint solar_eclipse_magnitude(t, dallas), solar_eclipse_obscuration(t, dallas), solar_eclipse_clearance(t, dallas);","# Lunar eclipse helper values\nlet t = time(2025,3,14,6,0,0);\nprint lunar_eclipse_magnitude(t), lunar_penumbra_magnitude(t), lunar_eclipse_clearance(t);","# Moon umbra and penumbra distance helpers\nlet t = time(2024,4,8,18,20,0);\nprint moon_umbra_distance(t), moon_penumbra_distance(t), moon_shadow_earth_distance(t);","# Moon umbra occultation helper\nlet t = time(2024,4,8,18,20,0);\nprint moon_umbra_occultation(t);","# Location and planet shadow distances\nlet loc = location(latitude: 32.7767, longitude: -96.7970);\nlet t = time(2024,4,8,18,20,0);\nprint location_shadow_distance(t, loc), planet_shadow_earth_distance(mercury, t), shadow_distance(t);"],"arguments":[],"children":["topic:example.moon_phase"],"resources":["ephemeris","iers"],"doc":"Topic: Astrologos.examples.eclipses - examples for eclipse events and shadow-distance helper functions\nSyntax:\n  events(solar_eclipse, range, location).first()\n  solar_eclipse_magnitude(time, location)\n  lunar_eclipse_magnitude(time)\n  shadow_distance(body, time)\nAliases: solar eclipse, lunar eclipse, shadow, umbra, penumbra, obscuration\nResources: ephemeris, iers\nChildren: moon phase\nExamples:\n# Solar eclipse event near Dallas, 2024-04-08\n   let dallas = location(latitude: 32.7767, longitude: -96.7970);\n   let span = range(time(2024,4,8,12,0,0), time(2024,4,9,0,0,0), 0.25);\n   print events(solar_eclipse, span, dallas).first();\n\n# Solar eclipse helper values at a location\n   let dallas = location(32.7767, -96.7970);\n   let t = time(2024,4,8,18,20,0);\n   print solar_eclipse_magnitude(t, dallas), solar_eclipse_obscuration(t, dallas), solar_eclipse_clearance(t, dallas);\n\n# Lunar eclipse helper values\n   let t = time(2025,3,14,6,0,0);\n   print lunar_eclipse_magnitude(t), lunar_penumbra_magnitude(t), lunar_eclipse_clearance(t);\n\n# Moon umbra and penumbra distance helpers\n   let t = time(2024,4,8,18,20,0);\n   print moon_umbra_distance(t), moon_penumbra_distance(t), moon_shadow_earth_distance(t);\n\n# Moon umbra occultation helper\n   let t = time(2024,4,8,18,20,0);\n   print moon_umbra_occultation(t);\n\n# Location and planet shadow distances\n   let loc = location(latitude: 32.7767, longitude: -96.7970);\n   let t = time(2024,4,8,18,20,0);\n   print location_shadow_distance(t, loc), planet_shadow_earth_distance(mercury, t), shadow_distance(t);","compact":"Topic: Astrologos.examples.eclipses - examples for eclipse events and shadow-distance helper functions","search_text":"topic:example.eclipses eclipses and shadows Astrologos.examples.eclipses topic examples for eclipse events and shadow-distance helper functions solar eclipse lunar eclipse shadow umbra penumbra obscuration events(solar_eclipse, range, location).first() solar_eclipse_magnitude(time, location) lunar_eclipse_magnitude(time) shadow_distance(body, time) ephemeris iers"},{"id":"topic:example.almanac","name":"almanac pages","path":"Astrologos.examples.almanac","kind":"topic","aliases":["almanac","pages","local sky","chart","moon phase","seasons"],"description":"examples for pages(), almanac(), charts, local sky summaries, phases, and seasonal events","syntax":["pages(location).sky(time)","pages(time).chart()","almanac(start, stop, location)"],"examples":["# Local sky page now\nlet loc = location(60.0, 10.0);\nlet s = pages(loc).sky();\nprint s.sun.altitude, s.moon.phase;","# Page chart with sign labels for several bodies\nlet c = pages(time(2026,1,1,0,0,0)).chart();\nprint c.bodies.sun.chart.sign, c.bodies.moon.chart.sign, c.bodies.mars.chart.sign;","# Equinoxes and solstices in one almanac\nlet a = almanac(time(2024,1,1,0,0,0), time(2025,1,1,0,0,0));\nprint a.seasons.ascending_equinox, a.seasons.northern_solstice;\nprint a.seasons.descending_equinox, a.seasons.southern_solstice;"],"arguments":[],"children":[],"resources":["ephemeris","iers"],"doc":"Topic: Astrologos.examples.almanac - examples for pages(), almanac(), charts, local sky summaries, phases, and seasonal events\nSyntax:\n  pages(location).sky(time)\n  pages(time).chart()\n  almanac(start, stop, location)\nAliases: almanac, pages, local sky, chart, moon phase, seasons\nResources: ephemeris, iers\nExamples:\n# Local sky page now\n   let loc = location(60.0, 10.0);\n   let s = pages(loc).sky();\n   print s.sun.altitude, s.moon.phase;\n\n# Page chart with sign labels for several bodies\n   let c = pages(time(2026,1,1,0,0,0)).chart();\n   print c.bodies.sun.chart.sign, c.bodies.moon.chart.sign, c.bodies.mars.chart.sign;\n\n# Equinoxes and solstices in one almanac\n   let a = almanac(time(2024,1,1,0,0,0), time(2025,1,1,0,0,0));\n   print a.seasons.ascending_equinox, a.seasons.northern_solstice;\n   print a.seasons.descending_equinox, a.seasons.southern_solstice;","compact":"Topic: Astrologos.examples.almanac - examples for pages(), almanac(), charts, local sky summaries, phases, and seasonal events","search_text":"topic:example.almanac almanac pages Astrologos.examples.almanac topic examples for pages(), almanac(), charts, local sky summaries, phases, and seasonal events almanac pages local sky chart moon phase seasons pages(location).sky(time) pages(time).chart() almanac(start, stop, location) ephemeris iers"},{"id":"topic:example.pages","name":"pages","path":"Astrologos.examples.pages","kind":"topic","aliases":["data pages","sky page","chart page","state page","report pages"],"description":"examples for compact page-style data products over sky, chart, almanac, table, and state views","syntax":["pages(location).sky(time)","pages(time).chart()","pages(location, body).summary(time)","pages(time).state()"],"examples":["# Local sky page now\nlet s = pages(location(60.0, 10.0)).sky();\nprint s.sun.altitude, s.moon.phase;","# Chart positions page\nlet c = pages(time(2026,1,1,0,0,0)).chart();\nprint c.bodies.sun.geocentric.longitude, c.bodies.moon.chart.sign;","# Compact Moon summary page\nlet m = pages(location(60.0, 10.0), moon).summary(time());\nprint m.position.topocentric.altitude, m.phase, m.illumination;","# One-day full local page\nlet d = pages(location(60.0, 10.0), time(2026,1,1,0,0,0)).small();\nprint d.short.sun.rise.time, d.chart.bodies.moon.geocentric.longitude;","# Solar-system state vectors page\nlet st = pages(time(2026,1,1,0,0,0)).state();\nprint st.bodies.earth.position_bc_icrf().length();"],"arguments":[],"children":["topic:example.almanac","topic:example.sunrise"],"resources":["ephemeris","iers"],"doc":"Topic: Astrologos.examples.pages - examples for compact page-style data products over sky, chart, almanac, table, and state views\nSyntax:\n  pages(location).sky(time)\n  pages(time).chart()\n  pages(location, body).summary(time)\n  pages(time).state()\nAliases: data pages, sky page, chart page, state page, report pages\nResources: ephemeris, iers\nChildren: almanac pages, sunrise examples\nExamples:\n# Local sky page now\n   let s = pages(location(60.0, 10.0)).sky();\n   print s.sun.altitude, s.moon.phase;\n\n# Chart positions page\n   let c = pages(time(2026,1,1,0,0,0)).chart();\n   print c.bodies.sun.geocentric.longitude, c.bodies.moon.chart.sign;\n\n# Compact Moon summary page\n   let m = pages(location(60.0, 10.0), moon).summary(time());\n   print m.position.topocentric.altitude, m.phase, m.illumination;\n\n# One-day full local page\n   let d = pages(location(60.0, 10.0), time(2026,1,1,0,0,0)).small();\n   print d.short.sun.rise.time, d.chart.bodies.moon.geocentric.longitude;\n\n# Solar-system state vectors page\n   let st = pages(time(2026,1,1,0,0,0)).state();\n   print st.bodies.earth.position_bc_icrf().length();","compact":"Topic: Astrologos.examples.pages - examples for compact page-style data products over sky, chart, almanac, table, and state views","search_text":"topic:example.pages pages Astrologos.examples.pages topic examples for compact page-style data products over sky, chart, almanac, table, and state views data pages sky page chart page state page report pages pages(location).sky(time) pages(time).chart() pages(location, body).summary(time) pages(time).state() ephemeris iers"},{"id":"topic:example.coordinates","name":"coordinates and directions","path":"Astrologos.examples.coordinates","kind":"topic","aliases":["ra dec","altitude azimuth","heading","frames","angle units"],"description":"examples for right ascension, declination, altitude, azimuth, headings, frames, and units","syntax":["direction(ra: value, dec: value)","direction(topographic, azimuth: value, altitude: value)","heading(value)","to_radians(degrees)","vector.angle(other, deg)","angle_in_degrees(vector_a, vector_b)"],"examples":["# RA/Dec direction from body coordinates\nlet t = time(2026,1,1,0,0,0);\nlet mars_dir = direction(ra: ra(mars, t, all_corrections), dec: dec(mars, t, all_corrections));\nprint mars_dir.ra, mars_dir.dec;","# Long-form right ascension and ecliptic longitude\nlet t = time(2026,3,20,12,0,0);\nprint right_ascension(sun, t, all_corrections), declination(sun, t, all_corrections), ecliptic_longitude(t);","# Local altitude and azimuth for a body\nlet obs = location(60,10).observer(0.002);\nlet t = time(2026,1,1,21,0,0);\nprint altitude(jupiter, t, obs), azimuth(jupiter, t, obs);","# Topographic direction from azimuth and altitude\nlet d = direction(topographic, azimuth: 180.0, altitude: 25.0);\nprint d.frame, d.ra, d.dec;","# Apparent geocentric Sun-Moon separation in degrees\nlet t = time();\nlet sun_vector = state(body: sun, time: t).pos_gc_icrf;\nlet moon_vector = state(body: moon, time: t).pos_gc_icrf;\nprint sun_vector.angle(moon_vector, deg), angle_in_degrees(sun_vector, moon_vector);","# Headings and angle units\nprint heading(\"southwest\"), heading(270.0), to_radians(180.0), to_degrees(pi);","# Apparent solar and lunar time\nlet loc = location(60,10);\nlet t = time(2026,6,21,12,0,0);\nprint apparent_solar_time(t, loc), lunar_time(t, loc);"],"arguments":[],"children":["topic:example.vectors_matrices"],"resources":["ephemeris","iers"],"doc":"Topic: Astrologos.examples.coordinates - examples for right ascension, declination, altitude, azimuth, headings, frames, and units\nSyntax:\n  direction(ra: value, dec: value)\n  direction(topographic, azimuth: value, altitude: value)\n  heading(value)\n  to_radians(degrees)\n  vector.angle(other, deg)\n  angle_in_degrees(vector_a, vector_b)\nAliases: ra dec, altitude azimuth, heading, frames, angle units\nResources: ephemeris, iers\nChildren: vectors matrices orbits\nExamples:\n# RA/Dec direction from body coordinates\n   let t = time(2026,1,1,0,0,0);\n   let mars_dir = direction(ra: ra(mars, t, all_corrections), dec: dec(mars, t, all_corrections));\n   print mars_dir.ra, mars_dir.dec;\n\n# Long-form right ascension and ecliptic longitude\n   let t = time(2026,3,20,12,0,0);\n   print right_ascension(sun, t, all_corrections), declination(sun, t, all_corrections), ecliptic_longitude(t);\n\n# Local altitude and azimuth for a body\n   let obs = location(60,10).observer(0.002);\n   let t = time(2026,1,1,21,0,0);\n   print altitude(jupiter, t, obs), azimuth(jupiter, t, obs);\n\n# Topographic direction from azimuth and altitude\n   let d = direction(topographic, azimuth: 180.0, altitude: 25.0);\n   print d.frame, d.ra, d.dec;\n\n# Apparent geocentric Sun-Moon separation in degrees\n   let t = time();\n   let sun_vector = state(body: sun, time: t).pos_gc_icrf;\n   let moon_vector = state(body: moon, time: t).pos_gc_icrf;\n   print sun_vector.angle(moon_vector, deg), angle_in_degrees(sun_vector, moon_vector);\n\n# Headings and angle units\n   print heading(\"southwest\"), heading(270.0), to_radians(180.0), to_degrees(pi);\n\n# Apparent solar and lunar time\n   let loc = location(60,10);\n   let t = time(2026,6,21,12,0,0);\n   print apparent_solar_time(t, loc), lunar_time(t, loc);","compact":"Topic: Astrologos.examples.coordinates - examples for right ascension, declination, altitude, azimuth, headings, frames, and units","search_text":"topic:example.coordinates coordinates and directions Astrologos.examples.coordinates topic examples for right ascension, declination, altitude, azimuth, headings, frames, and units ra dec altitude azimuth heading frames angle units direction(ra: value, dec: value) direction(topographic, azimuth: value, altitude: value) heading(value) to_radians(degrees) vector.angle(other, deg) angle_in_degrees(vector_a, vector_b) ephemeris iers"},{"id":"topic:example.vectors_matrices","name":"vectors matrices orbits","path":"Astrologos.examples.vectors_matrices","kind":"topic","aliases":["vector","matrix","orbit","elements","state vectors","geometry"],"description":"examples for vectors, matrices, state vectors, orbital elements, orbits, units, and spherical coordinates","syntax":["vector(x, y, z)","spherical(radius, theta, phi)","vector.angle(other[, unit])","matrix(from, to, time)","elements(q, e, i, node, argument, anomaly, unit)","orbit(elements, central, time, axis)"],"examples":["# Vector construction and distance\nlet a = vector(1, 0, 0);\nlet b = vector(0, 1, 0);\nprint a.length(), a.distance(b), a.cross(b);","# Vector angle in degrees\nlet a = vector(1, 0, 0);\nlet b = vector(0, 1, 0);\nprint a.angle(b, deg), angle_in_degrees(a, b);","# Spherical vector and unit conversion\nlet v = spherical(1.0, 45.0, 30.0, deg);\nprint v.length(), to_radians(45.0), to_degrees(pi);","# Matrix rotation between frames\nlet t = time(2026,1,1,0,0,0);\nlet m = matrix(icrf, ecliptic, t);\nprint m.determinant(), m.inverse().determinant();","# Body state position and velocity\nlet st = state(mars, time(2026,1,1,0,0,0), heliocentric, icrf, all_corrections);\nprint st.position().length(), st.velocity().length();","# Orbital elements and orbit value\nlet el = elements(q: 0.9, e: 0.1, i: 5.0, node: 80.0, argument: 45.0, anomaly: 0.0, unit: deg);\nlet o = orbit(el, sun, time(2026,1,1,0,0,0), icrf);\nprint o.elements().e, o.central.name;"],"arguments":[],"children":["topic:example.coordinates"],"resources":["ephemeris"],"doc":"Topic: Astrologos.examples.vectors_matrices - examples for vectors, matrices, state vectors, orbital elements, orbits, units, and spherical coordinates\nSyntax:\n  vector(x, y, z)\n  spherical(radius, theta, phi)\n  vector.angle(other[, unit])\n  matrix(from, to, time)\n  elements(q, e, i, node, argument, anomaly, unit)\n  orbit(elements, central, time, axis)\nAliases: vector, matrix, orbit, elements, state vectors, geometry\nResources: ephemeris\nChildren: coordinates and directions\nExamples:\n# Vector construction and distance\n   let a = vector(1, 0, 0);\n   let b = vector(0, 1, 0);\n   print a.length(), a.distance(b), a.cross(b);\n\n# Vector angle in degrees\n   let a = vector(1, 0, 0);\n   let b = vector(0, 1, 0);\n   print a.angle(b, deg), angle_in_degrees(a, b);\n\n# Spherical vector and unit conversion\n   let v = spherical(1.0, 45.0, 30.0, deg);\n   print v.length(), to_radians(45.0), to_degrees(pi);\n\n# Matrix rotation between frames\n   let t = time(2026,1,1,0,0,0);\n   let m = matrix(icrf, ecliptic, t);\n   print m.determinant(), m.inverse().determinant();\n\n# Body state position and velocity\n   let st = state(mars, time(2026,1,1,0,0,0), heliocentric, icrf, all_corrections);\n   print st.position().length(), st.velocity().length();\n\n# Orbital elements and orbit value\n   let el = elements(q: 0.9, e: 0.1, i: 5.0, node: 80.0, argument: 45.0, anomaly: 0.0, unit: deg);\n   let o = orbit(el, sun, time(2026,1,1,0,0,0), icrf);\n   print o.elements().e, o.central.name;","compact":"Topic: Astrologos.examples.vectors_matrices - examples for vectors, matrices, state vectors, orbital elements, orbits, units, and spherical coordinates","search_text":"topic:example.vectors_matrices vectors matrices orbits Astrologos.examples.vectors_matrices topic examples for vectors, matrices, state vectors, orbital elements, orbits, units, and spherical coordinates vector matrix orbit elements state vectors geometry vector(x, y, z) spherical(radius, theta, phi) vector.angle(other[, unit]) matrix(from, to, time) elements(q, e, i, node, argument, anomaly, unit) orbit(elements, central, time, axis) ephemeris"},{"id":"topic:example.orbit_propagation","name":"orbit propagation","path":"Astrologos.examples.orbit_propagation","kind":"topic","aliases":["orbit propagator","system propagation","n body","integrator","ias15","rk4","dp5","ephemeris residuals"],"description":"examples for immutable propagation systems, integrated states, diagnostics, and ephemeris residual checks","syntax":["system(time, state(...), body, ...)","system(...).at(time)","system(...).diagnostics","system(...).ephemeris_residuals","bodies.find(name)","bodies.smallBodyStates(time)","bodies.smallBodyStates(time, min_mass)"],"examples":["# Propagate an explicit comet state with the Sun from the ephemeris\nlet t0 = time(2026,4,27,8,26,0);\nlet comet0 = state(body: body(\"comet\"), time: t0, position: vector(100000000,0,0), velocity: vector(0,10,0));\nlet later = system(t0, comet0, sun).at(t0.add_days(10));\nprint later.comet.position(), later.sun.position();","# Include massive small-body perturbers through the registry\nlet t0 = time(2026,1,1);\nlet ceres = bodies.find(\"ceres\");\nlet sys = system(t0, bodies.longSolarSystem());\nprint ceres.name, sys.state(\"vesta\").body.name, sys.states.length();","# Limit small-body perturbers by mass in kg\nlet t0 = time(2026,1,1);\nlet threshold = bodies.find(\"vesta\").mass;\nlet sys = system(t0, bodies.smallBodyStates(t0, threshold));\nprint sys.states.length();","# Extract small-body states when they should be numerical initial conditions\nlet t0 = time(2026,1,1);\nlet small = bodies.smallBodyStates(t0);\nlet sys = system(t0, small, state(moon, t0));\nprint sys.sources.ceres, sys.sources.moon, sys.states.length();","# Compare integrated Solar-System states against ephemeris after one year\nlet t0 = time(2026,1,1);\nlet t1 = t0.add_days(365.25);\nlet sys = system(t0, state(sun,t0), state(earth,t0), state(moon,t0), state(mars,t0));\nlet later = sys.at(t1);\nprint later.ephemeris_residuals.earth, later.ephemeris_residuals.moon, later.diagnostics.accepted_steps;","# Use the shared cache during a short search-style sequence\nlet t0 = time(2026,1,1);\nlet comet0 = state(body: body(\"comet\"), time: t0, position: vector(100000000,0,0), velocity: vector(0,10,0));\nlet sys = system(t0, comet0, sun);\nlet a = sys.at(t0.add_days(1));\nlet b = a.at(t0.add_days(1.25));\nprint b.cache_size, b.diagnostics.derivative_evaluations;","# Select an expert integrator; dp5 is a slow reference/debug method\nlet t0 = time(2026,1,1);\nlet comet0 = state(body: body(\"comet\"), time: t0, position: vector(100000000,0,0), velocity: vector(0,10,0));\nprint system(t0, comet0, sun).integrator;\nprint system(t0, comet0, sun, method: \"rk4\").integrator;\nprint system(t0, comet0, sun, integrator: \"dp5\").integrator;"],"arguments":[],"children":["topic:example.vectors_matrices","topic:example.planets"],"resources":["ephemeris","iers"],"doc":"Topic: Astrologos.examples.orbit_propagation - examples for immutable propagation systems, integrated states, diagnostics, and ephemeris residual checks\nSyntax:\n  system(time, state(...), body, ...)\n  system(...).at(time)\n  system(...).diagnostics\n  system(...).ephemeris_residuals\n  bodies.find(name)\n  bodies.smallBodyStates(time)\n  bodies.smallBodyStates(time, min_mass)\nAliases: orbit propagator, system propagation, n body, integrator, ias15, rk4, dp5, ephemeris residuals\nResources: ephemeris, iers\nChildren: vectors matrices orbits, planet events\nExamples:\n# Propagate an explicit comet state with the Sun from the ephemeris\n   let t0 = time(2026,4,27,8,26,0);\n   let comet0 = state(body: body(\"comet\"), time: t0, position: vector(100000000,0,0), velocity: vector(0,10,0));\n   let later = system(t0, comet0, sun).at(t0.add_days(10));\n   print later.comet.position(), later.sun.position();\n\n# Include massive small-body perturbers through the registry\n   let t0 = time(2026,1,1);\n   let ceres = bodies.find(\"ceres\");\n   let sys = system(t0, bodies.longSolarSystem());\n   print ceres.name, sys.state(\"vesta\").body.name, sys.states.length();\n\n# Limit small-body perturbers by mass in kg\n   let t0 = time(2026,1,1);\n   let threshold = bodies.find(\"vesta\").mass;\n   let sys = system(t0, bodies.smallBodyStates(t0, threshold));\n   print sys.states.length();\n\n# Extract small-body states when they should be numerical initial conditions\n   let t0 = time(2026,1,1);\n   let small = bodies.smallBodyStates(t0);\n   let sys = system(t0, small, state(moon, t0));\n   print sys.sources.ceres, sys.sources.moon, sys.states.length();\n\n# Compare integrated Solar-System states against ephemeris after one year\n   let t0 = time(2026,1,1);\n   let t1 = t0.add_days(365.25);\n   let sys = system(t0, state(sun,t0), state(earth,t0), state(moon,t0), state(mars,t0));\n   let later = sys.at(t1);\n   print later.ephemeris_residuals.earth, later.ephemeris_residuals.moon, later.diagnostics.accepted_steps;\n\n# Use the shared cache during a short search-style sequence\n   let t0 = time(2026,1,1);\n   let comet0 = state(body: body(\"comet\"), time: t0, position: vector(100000000,0,0), velocity: vector(0,10,0));\n   let sys = system(t0, comet0, sun);\n   let a = sys.at(t0.add_days(1));\n   let b = a.at(t0.add_days(1.25));\n   print b.cache_size, b.diagnostics.derivative_evaluations;\n\n# Select an expert integrator; dp5 is a slow reference/debug method\n   let t0 = time(2026,1,1);\n   let comet0 = state(body: body(\"comet\"), time: t0, position: vector(100000000,0,0), velocity: vector(0,10,0));\n   print system(t0, comet0, sun).integrator;\n   print system(t0, comet0, sun, method: \"rk4\").integrator;\n   print system(t0, comet0, sun, integrator: \"dp5\").integrator;","compact":"Topic: Astrologos.examples.orbit_propagation - examples for immutable propagation systems, integrated states, diagnostics, and ephemeris residual checks","search_text":"topic:example.orbit_propagation orbit propagation Astrologos.examples.orbit_propagation topic examples for immutable propagation systems, integrated states, diagnostics, and ephemeris residual checks orbit propagator system propagation n body integrator ias15 rk4 dp5 ephemeris residuals system(time, state(...), body, ...) system(...).at(time) system(...).diagnostics system(...).ephemeris_residuals bodies.find(name) bodies.smallBodyStates(time) bodies.smallBodyStates(time, min_mass) ephemeris iers"},{"id":"topic:example.polygons","name":"polygons","path":"Astrologos.examples.polygons","kind":"topic","aliases":["polygon","sky polygon","area","inside","winding"],"description":"examples for polygon geometry in sky or lon/lat style coordinate work","syntax":["polygon(frame, time, vertices)","polygon.inside(direction)","polygon.area()"],"examples":["# Polygon around a small sky region\nlet vertices = [direction(ra: 40, dec: 10), direction(ra: 50, dec: 10), direction(ra: 50, dec: 20), direction(ra: 40, dec: 20)];\nlet p = polygon(icrf, time(2026,1,1,0,0,0), vertices);\nprint p.count, p.area(), p.inside(direction(ra: 45, dec: 15));","# Polygon winding and inverted containment\nlet vertices = [direction(ra: 0, dec: 0), direction(ra: 10, dec: 0), direction(ra: 10, dec: 10)];\nlet p = polygon(icrf, time(), vertices);\nlet point = direction(ra: 180, dec: 0);\nprint p.winding(point), p.invert().inside(point);","# Convert polygon vertices to lon/lat diagnostics\nlet t = time(2026,1,1,0,0,0);\nlet p = polygon(icrf, t, [direction(ra: 0, dec: 0), direction(ra: 10, dec: 0), direction(ra: 10, dec: 10)]);\nprint p.lonlat(t), p.lonlat_diagnostic(t);"],"arguments":[],"children":["topic:example.coordinates"],"resources":[],"doc":"Topic: Astrologos.examples.polygons - examples for polygon geometry in sky or lon/lat style coordinate work\nSyntax:\n  polygon(frame, time, vertices)\n  polygon.inside(direction)\n  polygon.area()\nAliases: polygon, sky polygon, area, inside, winding\nChildren: coordinates and directions\nExamples:\n# Polygon around a small sky region\n   let vertices = [direction(ra: 40, dec: 10), direction(ra: 50, dec: 10), direction(ra: 50, dec: 20), direction(ra: 40, dec: 20)];\n   let p = polygon(icrf, time(2026,1,1,0,0,0), vertices);\n   print p.count, p.area(), p.inside(direction(ra: 45, dec: 15));\n\n# Polygon winding and inverted containment\n   let vertices = [direction(ra: 0, dec: 0), direction(ra: 10, dec: 0), direction(ra: 10, dec: 10)];\n   let p = polygon(icrf, time(), vertices);\n   let point = direction(ra: 180, dec: 0);\n   print p.winding(point), p.invert().inside(point);\n\n# Convert polygon vertices to lon/lat diagnostics\n   let t = time(2026,1,1,0,0,0);\n   let p = polygon(icrf, t, [direction(ra: 0, dec: 0), direction(ra: 10, dec: 0), direction(ra: 10, dec: 10)]);\n   print p.lonlat(t), p.lonlat_diagnostic(t);","compact":"Topic: Astrologos.examples.polygons - examples for polygon geometry in sky or lon/lat style coordinate work","search_text":"topic:example.polygons polygons Astrologos.examples.polygons topic examples for polygon geometry in sky or lon/lat style coordinate work polygon sky polygon area inside winding polygon(frame, time, vertices) polygon.inside(direction) polygon.area()"},{"id":"topic:example.places_timezones","name":"places and timezones","path":"Astrologos.examples.places_timezones","kind":"topic","aliases":["places","timezones","local time","city search","location database"],"description":"examples for place search, nearby places, timezone lookup, and local civil time","syntax":["places().search(\"name\")","timezones().at(location)","time.utc().local(timezone)"],"examples":["# Find a place and its timezone\nlet p = places().search(\"Stavanger\").first();\nlet tz = p.timezone();\nprint p.name, p.location().latitude, tz.id;","# Convert UTC to local civil time at a location\nlet loc = location(58.9666667, 5.7333333);\nlet tz = timezones().at(loc);\nprint time(2026,6,1,12,0,0).local(tz).iso;"],"arguments":[],"children":[],"resources":["places","timezones"],"doc":"Topic: Astrologos.examples.places_timezones - examples for place search, nearby places, timezone lookup, and local civil time\nSyntax:\n  places().search(\"name\")\n  timezones().at(location)\n  time.utc().local(timezone)\nAliases: places, timezones, local time, city search, location database\nResources: places, timezones\nExamples:\n# Find a place and its timezone\n   let p = places().search(\"Stavanger\").first();\n   let tz = p.timezone();\n   print p.name, p.location().latitude, tz.id;\n\n# Convert UTC to local civil time at a location\n   let loc = location(58.9666667, 5.7333333);\n   let tz = timezones().at(loc);\n   print time(2026,6,1,12,0,0).local(tz).iso;","compact":"Topic: Astrologos.examples.places_timezones - examples for place search, nearby places, timezone lookup, and local civil time","search_text":"topic:example.places_timezones places and timezones Astrologos.examples.places_timezones topic examples for place search, nearby places, timezone lookup, and local civil time places timezones local time city search location database places().search(\"name\") timezones().at(location) time.utc().local(timezone) places timezones"},{"id":"topic:example.weather_fields","name":"weather and fields","path":"Astrologos.examples.weather_fields","kind":"topic","aliases":["weather fields","forecast fields","scalar field","vector field","netcdf fields"],"description":"examples for forecast products, field sources, NetCDF variables, scalar/vector fields, and sampling","syntax":["forecast().sample(location, field)","field(source, variable)","netcdf(source)","sample(field, location)"],"examples":["# Sample current forecast fields at a location\nlet loc = location(60.0, 10.0);\nlet rows = forecast().sample(loc, temperature, humidity, wind);\nprint rows[0].temperature, rows[0].wind.u, rows[0].wind.v;","# Forecast metadata and availability\nlet fc = forecast();\nprint fc.available(), fc.count(), fc.cycle(), fc.max_time();","# Inspect forecast products\nlet fc = forecast();\nprint fc.toc();\nprint fc.messages().length();","# NetCDF field source and variable inspection\nlet nc = netcdf(earth_topography);\nprint nc.path, nc.variables.length(), nc.variable(\"z\");","# Scalar field sample through compatibility helper\nlet loc = location(latitude: 60.0, longitude: 10.0);\nlet terrain = topography(earth);\nprint sample(terrain, loc);"],"arguments":[],"children":["topic:example.topography","topic:example.magnetic"],"resources":["gfs"],"doc":"Topic: Astrologos.examples.weather_fields - examples for forecast products, field sources, NetCDF variables, scalar/vector fields, and sampling\nSyntax:\n  forecast().sample(location, field)\n  field(source, variable)\n  netcdf(source)\n  sample(field, location)\nAliases: weather fields, forecast fields, scalar field, vector field, netcdf fields\nResources: gfs\nChildren: topography(), magnetic field\nExamples:\n# Sample current forecast fields at a location\n   let loc = location(60.0, 10.0);\n   let rows = forecast().sample(loc, temperature, humidity, wind);\n   print rows[0].temperature, rows[0].wind.u, rows[0].wind.v;\n\n# Forecast metadata and availability\n   let fc = forecast();\n   print fc.available(), fc.count(), fc.cycle(), fc.max_time();\n\n# Inspect forecast products\n   let fc = forecast();\n   print fc.toc();\n   print fc.messages().length();\n\n# NetCDF field source and variable inspection\n   let nc = netcdf(earth_topography);\n   print nc.path, nc.variables.length(), nc.variable(\"z\");\n\n# Scalar field sample through compatibility helper\n   let loc = location(latitude: 60.0, longitude: 10.0);\n   let terrain = topography(earth);\n   print sample(terrain, loc);","compact":"Topic: Astrologos.examples.weather_fields - examples for forecast products, field sources, NetCDF variables, scalar/vector fields, and sampling","search_text":"topic:example.weather_fields weather and fields Astrologos.examples.weather_fields topic examples for forecast products, field sources, NetCDF variables, scalar/vector fields, and sampling weather fields forecast fields scalar field vector field netcdf fields forecast().sample(location, field) field(source, variable) netcdf(source) sample(field, location) gfs"},{"id":"topic:example.topography","name":"topography","path":"Astrologos.examples.topography","kind":"topic","aliases":["earth topography","height","elevation","terrain","sample topography"],"description":"examples for topographic field sampling and observer height workflows","syntax":["topography(body)","sample(topography(earth), location)","location.observer(height)"],"examples":["# Sample Earth topography\nlet loc = location(latitude: 60.0, longitude: 10.0);\nprint sample(topography(earth), loc);","# Sample an explicitly selected topography field\nlet topo = topography(earth);\nprint sample(topo, location(latitude: 60.0, longitude: 10.0));","# Use sampled height as an observer height\nlet loc = location(latitude: 60.0, longitude: 10.0);\nlet height_km = sample(topography(earth), loc) / 1000.0;\nlet obs = loc.observer(height_km);\nprint obs.height();","# Compare topography at two locations\nlet a = location(latitude: 60.0, longitude: 10.0);\nlet b = location(latitude: 27.9881, longitude: 86.9250);\nprint sample(topography(earth), a), sample(topography(earth), b);"],"arguments":[],"children":["topic:example.weather_fields"],"resources":["earth_topography"],"doc":"Topic: Astrologos.examples.topography - examples for topographic field sampling and observer height workflows\nSyntax:\n  topography(body)\n  sample(topography(earth), location)\n  location.observer(height)\nAliases: earth topography, height, elevation, terrain, sample topography\nResources: earth_topography\nChildren: weather and fields\nExamples:\n# Sample Earth topography\n   let loc = location(latitude: 60.0, longitude: 10.0);\n   print sample(topography(earth), loc);\n\n# Sample an explicitly selected topography field\n   let topo = topography(earth);\n   print sample(topo, location(latitude: 60.0, longitude: 10.0));\n\n# Use sampled height as an observer height\n   let loc = location(latitude: 60.0, longitude: 10.0);\n   let height_km = sample(topography(earth), loc) / 1000.0;\n   let obs = loc.observer(height_km);\n   print obs.height();\n\n# Compare topography at two locations\n   let a = location(latitude: 60.0, longitude: 10.0);\n   let b = location(latitude: 27.9881, longitude: 86.9250);\n   print sample(topography(earth), a), sample(topography(earth), b);","compact":"Topic: Astrologos.examples.topography - examples for topographic field sampling and observer height workflows","search_text":"topic:example.topography topography Astrologos.examples.topography topic examples for topographic field sampling and observer height workflows earth topography height elevation terrain sample topography topography(body) sample(topography(earth), location) location.observer(height) earth_topography"},{"id":"topic:example.magnetic","name":"magnetic field","path":"Astrologos.examples.magnetic","kind":"topic","aliases":["magnetic","magnetic model","field model","geomagnetic"],"description":"examples for magnetic model handles and field sampling at observers","syntax":["magnetic(body, time, observer)","magnetic(...).field()"],"examples":["# Magnetic field at an observer\nlet obs = location(60.0, 10.0).observer(0.002);\nlet model = magnetic(earth, time(2026,1,1,0,0,0), obs);\nprint model.field();","# Magnetic model metadata\nlet obs = location(60.0, 10.0).observer();\nlet model = magnetic(earth, time(2026,1,1,0,0,0), obs);\nprint model.body.name, model.time.utc(), model.observer.latitude();","# Compare magnetic field at two places\nlet t = time(2026,1,1,0,0,0);\nlet north = magnetic(earth, t, location(70,20).observer()).field();\nlet south = magnetic(earth, t, location(-30,20).observer()).field();\nprint north, south;"],"arguments":[],"children":["topic:example.weather_fields"],"resources":["magnetic"],"doc":"Topic: Astrologos.examples.magnetic - examples for magnetic model handles and field sampling at observers\nSyntax:\n  magnetic(body, time, observer)\n  magnetic(...).field()\nAliases: magnetic, magnetic model, field model, geomagnetic\nResources: magnetic\nChildren: weather and fields\nExamples:\n# Magnetic field at an observer\n   let obs = location(60.0, 10.0).observer(0.002);\n   let model = magnetic(earth, time(2026,1,1,0,0,0), obs);\n   print model.field();\n\n# Magnetic model metadata\n   let obs = location(60.0, 10.0).observer();\n   let model = magnetic(earth, time(2026,1,1,0,0,0), obs);\n   print model.body.name, model.time.utc(), model.observer.latitude();\n\n# Compare magnetic field at two places\n   let t = time(2026,1,1,0,0,0);\n   let north = magnetic(earth, t, location(70,20).observer()).field();\n   let south = magnetic(earth, t, location(-30,20).observer()).field();\n   print north, south;","compact":"Topic: Astrologos.examples.magnetic - examples for magnetic model handles and field sampling at observers","search_text":"topic:example.magnetic magnetic field Astrologos.examples.magnetic topic examples for magnetic model handles and field sampling at observers magnetic magnetic model field model geomagnetic magnetic(body, time, observer) magnetic(...).field() magnetic"},{"id":"topic:example.weather","name":"weather and fields","path":"Astrologos.examples.weather","kind":"topic","aliases":["weather","forecast","gfs","topography","magnetic","field sampling"],"description":"examples for forecast fields, scalar/vector field sampling, topography, and magnetic models","syntax":["forecast().sample(location, field)","sample(field, location)","magnetic(body, time, observer).field()"],"examples":["# Build a compact weather-and-terrain row\nlet loc = location(latitude: 60.0, longitude: 10.0);\nlet rows = forecast().sample(loc, temperature, wind);\nprint rows[0].temperature, rows[0].wind.u, sample(topography(earth), loc);","# Compare forecast wind with magnetic field context\nlet loc = location(60.0, 10.0);\nlet obs = loc.observer(0.002);\nlet rows = forecast().sample(loc, wind);\nprint rows[0].wind.u, rows[0].wind.v, magnetic(earth, time(2026,1,1,0,0,0), obs).field();","# Magnetic field at an observer\nlet obs = location(60.0, 10.0).observer(0.002);\nprint magnetic(earth, time(2026,1,1,0,0,0), obs).field();"],"arguments":[],"children":[],"resources":["gfs","earth_topography","magnetic"],"doc":"Topic: Astrologos.examples.weather - examples for forecast fields, scalar/vector field sampling, topography, and magnetic models\nSyntax:\n  forecast().sample(location, field)\n  sample(field, location)\n  magnetic(body, time, observer).field()\nAliases: weather, forecast, gfs, topography, magnetic, field sampling\nResources: gfs, earth_topography, magnetic\nExamples:\n# Build a compact weather-and-terrain row\n   let loc = location(latitude: 60.0, longitude: 10.0);\n   let rows = forecast().sample(loc, temperature, wind);\n   print rows[0].temperature, rows[0].wind.u, sample(topography(earth), loc);\n\n# Compare forecast wind with magnetic field context\n   let loc = location(60.0, 10.0);\n   let obs = loc.observer(0.002);\n   let rows = forecast().sample(loc, wind);\n   print rows[0].wind.u, rows[0].wind.v, magnetic(earth, time(2026,1,1,0,0,0), obs).field();\n\n# Magnetic field at an observer\n   let obs = location(60.0, 10.0).observer(0.002);\n   print magnetic(earth, time(2026,1,1,0,0,0), obs).field();","compact":"Topic: Astrologos.examples.weather - examples for forecast fields, scalar/vector field sampling, topography, and magnetic models","search_text":"topic:example.weather weather and fields Astrologos.examples.weather topic examples for forecast fields, scalar/vector field sampling, topography, and magnetic models weather forecast gfs topography magnetic field sampling forecast().sample(location, field) sample(field, location) magnetic(body, time, observer).field() gfs earth_topography magnetic"},{"id":"topic:example.graphics","name":"charts and graphics","path":"Astrologos.examples.graphics","kind":"topic","aliases":["graphics","svg","sky map","plot","chart drawing"],"description":"examples for generating SVG plots and sky views","syntax":["graphics().line(...).write_svg(\"file.svg\")","graphics(time, location).sky_view(center_az: 180, center_alt: 45, fov: 120).sky_grid().sky_planets().write_svg(\"sky.svg\")"],"examples":["# Build a client-ready sky SVG with planets and bright stars\ngraphics(time(2026,1,1,21,0,0), location(latitude: 60, longitude: 10)).dark().sky_view(center_az: 180, center_alt: 45, fov: 120).sky_grid().sky_planets().sky_stars(magnitude: 4).write_svg(\"sky.svg\");\nprint \"wrote sky.svg\";","# Plot Sun altitude samples into an SVG\nlet loc = location(60,10);\nlet obs = loc.observer(0.002);\nlet t0 = time(2026,6,21,0,0,0);\ngraphics().function((h): altitude(sun, t0.add_hours(h), obs), range(0,24,1)).title(\"Sun altitude\").write_svg(\"sun-altitude.svg\");\nprint \"wrote sun-altitude.svg\";","# Draw a labelled line SVG plot with explicit axes\ngraphics().line([0, 1, 2, 3, 4], [1, 3, 2, 5, 4]).points([0, 1, 2, 3, 4], [1, 3, 2, 5, 4]).text([1, 3], [3, 5], [\"local peak\", \"maximum\"]).title(\"Example line chart\").xlabel(\"sample number\").ylabel(\"measured value\").xrange(0, 4).yrange(0, 6).xticks([0, 1, 2, 3, 4]).yticks([0, 2, 4, 6]).write_svg(\"line-plot.svg\");\nprint \"wrote line-plot.svg\";","# Draw a labelled point SVG plot with explicit axes\ngraphics().points([0, 1, 2, 3, 4], [2, 1, 4, 3, 5]).text([0, 2, 4], [2, 4, 5], [\"A\", \"B\", \"C\"]).title(\"Example point chart\").xlabel(\"sample number\").ylabel(\"score\").xrange(-0.5, 4.5).yrange(0, 6).xticks([0, 1, 2, 3, 4]).yticks([0, 2, 4, 6]).write_svg(\"points-plot.svg\");\nprint \"wrote points-plot.svg\";","# Return several SVG graphics from one program\nlet t = time(2026,1,1,21,0,0);\nlet loc = location(latitude: 60, longitude: 10);\nlet obs = loc.observer(0.002);\nlet t0 = time(2026,6,21,0,0,0);\ngraphics(t, loc).dark().sky_view(center_az: 180, center_alt: 45, fov: 120).sky_grid().sky_stars(magnitude: 4).sky_planets().write_svg(\"gallery-sky.svg\");\ngraphics().function((h): altitude(sun, t0.add_hours(h), obs), range(0,24,1)).title(\"Sun altitude\").write_svg(\"gallery-sun-altitude.svg\");\ngraphics().polygon([0, 1, 2, 3, 4], [0, 3, 4, 2, 0]).line([0, 1, 2, 3, 4], [0, 3, 4, 2, 0]).points([0, 1, 2, 3, 4], [0, 3, 4, 2, 0]).text([0, 2, 4], [0, 4, 0], [\"start\", \"peak\", \"end\"]).title(\"Polygon, points and labels\").write_svg(\"gallery-shape.svg\");\nprint \"wrote three SVG graphics\";","# Plot daylight duration across three planning dates\nlet loc = location(latitude: 58.9666667, longitude: 5.7333333);\nlet d0 = time(2026,4,1,0,0,0);\nlet d1 = time(2026,5,1,0,0,0);\nlet d2 = time(2026,6,1,0,0,0);\ndaylight(d) {\n  let span = range(d, d.add_days(1));\n  let rise = events(sunrise, span, loc).first().time;\n  let set = events(sunset, span, loc).first().time;\n  let value = (set - rise) * 24;\n}\ngraphics().line([0, 1, 2], [daylight(d0).value, daylight(d1).value, daylight(d2).value]).points([0, 1, 2], [daylight(d0).value, daylight(d1).value, daylight(d2).value]).xlabel(\"month\").ylabel(\"daylight hours\").write_svg(\"daylight.svg\");\nprint \"wrote daylight.svg\";","# Sky map centered on the south horizon\ngraphics(time(2026,1,1,21,0,0), location(60,10), center_az: 180, center_alt: 25, fov: 100).dark().sky_grid().sky_constellations().sky_planets().write_svg(\"south-sky.svg\");\nprint \"wrote south-sky.svg\";","# Add custom text to a graphic\ngraphics().title(\"Example plot\").text(1, 1, \"note\").write_svg(\"text.svg\");\nprint \"wrote text.svg\";"],"arguments":[],"children":[],"resources":["ephemeris","stars","constellations"],"doc":"Topic: Astrologos.examples.graphics - examples for generating SVG plots and sky views\nSyntax:\n  graphics().line(...).write_svg(\"file.svg\")\n  graphics(time, location).sky_view(center_az: 180, center_alt: 45, fov: 120).sky_grid().sky_planets().write_svg(\"sky.svg\")\nAliases: graphics, svg, sky map, plot, chart drawing\nResources: ephemeris, stars, constellations\nExamples:\n# Build a client-ready sky SVG with planets and bright stars\n   graphics(time(2026,1,1,21,0,0), location(latitude: 60, longitude: 10)).dark().sky_view(center_az: 180, center_alt: 45, fov: 120).sky_grid().sky_planets().sky_stars(magnitude: 4).write_svg(\"sky.svg\");\n   print \"wrote sky.svg\";\n\n# Plot Sun altitude samples into an SVG\n   let loc = location(60,10);\n   let obs = loc.observer(0.002);\n   let t0 = time(2026,6,21,0,0,0);\n   graphics().function((h): altitude(sun, t0.add_hours(h), obs), range(0,24,1)).title(\"Sun altitude\").write_svg(\"sun-altitude.svg\");\n   print \"wrote sun-altitude.svg\";\n\n# Draw a labelled line SVG plot with explicit axes\n   graphics().line([0, 1, 2, 3, 4], [1, 3, 2, 5, 4]).points([0, 1, 2, 3, 4], [1, 3, 2, 5, 4]).text([1, 3], [3, 5], [\"local peak\", \"maximum\"]).title(\"Example line chart\").xlabel(\"sample number\").ylabel(\"measured value\").xrange(0, 4).yrange(0, 6).xticks([0, 1, 2, 3, 4]).yticks([0, 2, 4, 6]).write_svg(\"line-plot.svg\");\n   print \"wrote line-plot.svg\";\n\n# Draw a labelled point SVG plot with explicit axes\n   graphics().points([0, 1, 2, 3, 4], [2, 1, 4, 3, 5]).text([0, 2, 4], [2, 4, 5], [\"A\", \"B\", \"C\"]).title(\"Example point chart\").xlabel(\"sample number\").ylabel(\"score\").xrange(-0.5, 4.5).yrange(0, 6).xticks([0, 1, 2, 3, 4]).yticks([0, 2, 4, 6]).write_svg(\"points-plot.svg\");\n   print \"wrote points-plot.svg\";\n\n# Return several SVG graphics from one program\n   let t = time(2026,1,1,21,0,0);\n   let loc = location(latitude: 60, longitude: 10);\n   let obs = loc.observer(0.002);\n   let t0 = time(2026,6,21,0,0,0);\n   graphics(t, loc).dark().sky_view(center_az: 180, center_alt: 45, fov: 120).sky_grid().sky_stars(magnitude: 4).sky_planets().write_svg(\"gallery-sky.svg\");\n   graphics().function((h): altitude(sun, t0.add_hours(h), obs), range(0,24,1)).title(\"Sun altitude\").write_svg(\"gallery-sun-altitude.svg\");\n   graphics().polygon([0, 1, 2, 3, 4], [0, 3, 4, 2, 0]).line([0, 1, 2, 3, 4], [0, 3, 4, 2, 0]).points([0, 1, 2, 3, 4], [0, 3, 4, 2, 0]).text([0, 2, 4], [0, 4, 0], [\"start\", \"peak\", \"end\"]).title(\"Polygon, points and labels\").write_svg(\"gallery-shape.svg\");\n   print \"wrote three SVG graphics\";\n\n# Plot daylight duration across three planning dates\n   let loc = location(latitude: 58.9666667, longitude: 5.7333333);\n   let d0 = time(2026,4,1,0,0,0);\n   let d1 = time(2026,5,1,0,0,0);\n   let d2 = time(2026,6,1,0,0,0);\n   daylight(d) {\n   let span = range(d, d.add_days(1));\n   let rise = events(sunrise, span, loc).first().time;\n   let set = events(sunset, span, loc).first().time;\n   let value = (set - rise) * 24;\n   }\n   graphics().line([0, 1, 2], [daylight(d0).value, daylight(d1).value, daylight(d2).value]).points([0, 1, 2], [daylight(d0).value, daylight(d1).value, daylight(d2).value]).xlabel(\"month\").ylabel(\"daylight hours\").write_svg(\"daylight.svg\");\n   print \"wrote daylight.svg\";\n\n# Sky map centered on the south horizon\n   graphics(time(2026,1,1,21,0,0), location(60,10), center_az: 180, center_alt: 25, fov: 100).dark().sky_grid().sky_constellations().sky_planets().write_svg(\"south-sky.svg\");\n   print \"wrote south-sky.svg\";\n\n# Add custom text to a graphic\n   graphics().title(\"Example plot\").text(1, 1, \"note\").write_svg(\"text.svg\");\n   print \"wrote text.svg\";","compact":"Topic: Astrologos.examples.graphics - examples for generating SVG plots and sky views","search_text":"topic:example.graphics charts and graphics Astrologos.examples.graphics topic examples for generating SVG plots and sky views graphics svg sky map plot chart drawing graphics().line(...).write_svg(\"file.svg\") graphics(time, location).sky_view(center_az: 180, center_alt: 45, fov: 120).sky_grid().sky_planets().write_svg(\"sky.svg\") ephemeris stars constellations"},{"id":"topic:example.resources","name":"resources and diagnostics","path":"Astrologos.examples.resources","kind":"topic","aliases":["resources","resource availability","data sources","diagnostics","available"],"description":"examples for resource discovery, upstream source metadata, and availability checks","syntax":["resources()","resource_sources()","value.available()","help(\"topic\").resources"],"examples":["# Verify terrain data before sampling a location\nlet loc = location(60.0, 10.0);\nlet terrain = topography(earth);\nprint terrain.available(), sample(terrain, loc);","# Verify forecast data before sampling weather fields\nlet fc = forecast();\nlet loc = location(60.0, 10.0);\nlet rows = fc.sample(loc, temperature, wind);\nprint fc.available(), rows[0].temperature, rows[0].wind.u, rows[0].wind.v;","# Inspect the NetCDF file behind Earth topography\nlet nc = netcdf(earth_topography);\nprint nc.path, nc.variables.length();","# Export the upstream source table for an operator report\nlet sources = resource_sources();\nprint sources;"],"arguments":[],"children":["topic:example.weather_fields","topic:example.topography","topic:example.magnetic"],"resources":[],"doc":"Topic: Astrologos.examples.resources - examples for resource discovery, upstream source metadata, and availability checks\nSyntax:\n  resources()\n  resource_sources()\n  value.available()\n  help(\"topic\").resources\nAliases: resources, resource availability, data sources, diagnostics, available\nChildren: weather and fields, topography(), magnetic field\nExamples:\n# Verify terrain data before sampling a location\n   let loc = location(60.0, 10.0);\n   let terrain = topography(earth);\n   print terrain.available(), sample(terrain, loc);\n\n# Verify forecast data before sampling weather fields\n   let fc = forecast();\n   let loc = location(60.0, 10.0);\n   let rows = fc.sample(loc, temperature, wind);\n   print fc.available(), rows[0].temperature, rows[0].wind.u, rows[0].wind.v;\n\n# Inspect the NetCDF file behind Earth topography\n   let nc = netcdf(earth_topography);\n   print nc.path, nc.variables.length();\n\n# Export the upstream source table for an operator report\n   let sources = resource_sources();\n   print sources;","compact":"Topic: Astrologos.examples.resources - examples for resource discovery, upstream source metadata, and availability checks","search_text":"topic:example.resources resources and diagnostics Astrologos.examples.resources topic examples for resource discovery, upstream source metadata, and availability checks resources resource availability data sources diagnostics available resources() resource_sources() value.available() help(\"topic\").resources"},{"id":"topic:example.runtime","name":"runtime automation","path":"Astrologos.examples.runtime","kind":"topic","aliases":["automation","run file","elapsed","sleep","exit","help json"],"description":"examples for runtime automation, timing, early exit, and development checks","syntax":["run(\"file.astrologos\")","elapsed()","sleep(milliseconds)","exit()","astrologos-cli check-help-examples"],"examples":["# Time a sunrise search for an operator log\nlet start = elapsed();\nlet loc = location(58.9666667, 5.7333333);\nlet day = range(time(2024,4,17,0,0,0), time(2024,4,18,0,0,0));\nlet rise = events(sunrise, day, loc).first().time.utc();\nprint rise, elapsed() - start;","# Pause between two status samples\nlet before = elapsed();\nsleep(10);\nprint elapsed() - before;","# Stop a script early with the deprecated run() alias\nprint \"before run\";\nrun();\nprint \"after run\";","# Stop after a guard condition has printed the reason\nlet fc = forecast();\nif fc.available() == false {\n  print \"forecast unavailable\";\n  exit();\n}\nprint fc.count();","# Record the command that validates the shipped help examples\nprint \"astrologos-cli check-help-examples\";"],"arguments":[],"children":["topic:example.resources"],"resources":[],"doc":"Topic: Astrologos.examples.runtime - examples for runtime automation, timing, early exit, and development checks\nSyntax:\n  run(\"file.astrologos\")\n  elapsed()\n  sleep(milliseconds)\n  exit()\n  astrologos-cli check-help-examples\nAliases: automation, run file, elapsed, sleep, exit, help json\nChildren: resources and diagnostics\nExamples:\n# Time a sunrise search for an operator log\n   let start = elapsed();\n   let loc = location(58.9666667, 5.7333333);\n   let day = range(time(2024,4,17,0,0,0), time(2024,4,18,0,0,0));\n   let rise = events(sunrise, day, loc).first().time.utc();\n   print rise, elapsed() - start;\n\n# Pause between two status samples\n   let before = elapsed();\n   sleep(10);\n   print elapsed() - before;\n\n# Stop a script early with the deprecated run() alias\n   print \"before run\";\n   run();\n   print \"after run\";\n\n# Stop after a guard condition has printed the reason\n   let fc = forecast();\n   if fc.available() == false {\n   print \"forecast unavailable\";\n   exit();\n   }\n   print fc.count();\n\n# Record the command that validates the shipped help examples\n   print \"astrologos-cli check-help-examples\";","compact":"Topic: Astrologos.examples.runtime - examples for runtime automation, timing, early exit, and development checks","search_text":"topic:example.runtime runtime automation Astrologos.examples.runtime topic examples for runtime automation, timing, early exit, and development checks automation run file elapsed sleep exit help json run(\"file.astrologos\") elapsed() sleep(milliseconds) exit() astrologos-cli check-help-examples"},{"id":"topic:example.math","name":"math recipes","path":"Astrologos.examples.math","kind":"topic","aliases":["math","numeric recipes","trigonometry","logs","rounding"],"description":"examples for numeric functions, trigonometry, rounding, logs, integration, and optimization","syntax":["sin(x)","pow(x, y)","clamp(value, min, max)","angle_in_degrees(vector_a, vector_b)","integrate((x): expression, {x: range(a, b)})","minimize((x): expression, {x: start}, options)"],"examples":["# Trigonometry and unit conversion\nlet angle = to_radians(45);\nprint sin(angle), cos(angle), tan(angle), to_degrees(angle);","# Vector angle in degrees\nlet a = vector(1,0,0);\nlet b = vector(0,1,0);\nprint a.angle(b, deg), angle_in_degrees(a, b);","# Rounding, clamping, powers, and roots\nlet x = -2.75;\nprint abs(x), floor(x), ceil(x), round(x), trunc(x), clamp(x, -1, 1), pow(2, 8), sqrt(81), cbrt(27);","# Fractions, hypot, and signs\nlet x = -2.75;\nprint fract(x), hypot(3, 4), sign(x), min(x, 0), max(x, 0);","# Logs, exponentials, and finite checks\nlet value = exp(ln(10));\nprint value, exp2(3), log(100, 10), log10(1000), log2(8), is_finite(value), is_nan(0/0), is_infinite(1/0);","# Hyperbolic and inverse functions\nprint sinh(1), cosh(1), tanh(1), asinh(1), acosh(2), atanh(0.5), asin(0.5), acos(0.5), atan(1), atan2(1, 1);","# Integrate a daylight exposure proxy over a day\nlet exposure = integrate((h): max(0, sin(pi * h / 24)), {h: range(0, 24, 0.1)});\nprint exposure;","# Minimize distance from a desired Sun altitude\nlet loc = location(latitude: 58.9666667, longitude: 5.7333333);\nlet day = time(2026,6,21,0,0,0);\nlet objective = (h): pow(altitude(sun, day.add_hours(h), loc) - 20, 2);\nprint minimize(objective, {h: 6}, {bounds: {h: range(0, 24)}});"],"arguments":[],"children":["topic:example.search"],"resources":[],"doc":"Topic: Astrologos.examples.math - examples for numeric functions, trigonometry, rounding, logs, integration, and optimization\nSyntax:\n  sin(x)\n  pow(x, y)\n  clamp(value, min, max)\n  angle_in_degrees(vector_a, vector_b)\n  integrate((x): expression, {x: range(a, b)})\n  minimize((x): expression, {x: start}, options)\nAliases: math, numeric recipes, trigonometry, logs, rounding\nChildren: search and optimization\nExamples:\n# Trigonometry and unit conversion\n   let angle = to_radians(45);\n   print sin(angle), cos(angle), tan(angle), to_degrees(angle);\n\n# Vector angle in degrees\n   let a = vector(1,0,0);\n   let b = vector(0,1,0);\n   print a.angle(b, deg), angle_in_degrees(a, b);\n\n# Rounding, clamping, powers, and roots\n   let x = -2.75;\n   print abs(x), floor(x), ceil(x), round(x), trunc(x), clamp(x, -1, 1), pow(2, 8), sqrt(81), cbrt(27);\n\n# Fractions, hypot, and signs\n   let x = -2.75;\n   print fract(x), hypot(3, 4), sign(x), min(x, 0), max(x, 0);\n\n# Logs, exponentials, and finite checks\n   let value = exp(ln(10));\n   print value, exp2(3), log(100, 10), log10(1000), log2(8), is_finite(value), is_nan(0/0), is_infinite(1/0);\n\n# Hyperbolic and inverse functions\n   print sinh(1), cosh(1), tanh(1), asinh(1), acosh(2), atanh(0.5), asin(0.5), acos(0.5), atan(1), atan2(1, 1);\n\n# Integrate a daylight exposure proxy over a day\n   let exposure = integrate((h): max(0, sin(pi * h / 24)), {h: range(0, 24, 0.1)});\n   print exposure;\n\n# Minimize distance from a desired Sun altitude\n   let loc = location(latitude: 58.9666667, longitude: 5.7333333);\n   let day = time(2026,6,21,0,0,0);\n   let objective = (h): pow(altitude(sun, day.add_hours(h), loc) - 20, 2);\n   print minimize(objective, {h: 6}, {bounds: {h: range(0, 24)}});","compact":"Topic: Astrologos.examples.math - examples for numeric functions, trigonometry, rounding, logs, integration, and optimization","search_text":"topic:example.math math recipes Astrologos.examples.math topic examples for numeric functions, trigonometry, rounding, logs, integration, and optimization math numeric recipes trigonometry logs rounding sin(x) pow(x, y) clamp(value, min, max) angle_in_degrees(vector_a, vector_b) integrate((x): expression, {x: range(a, b)}) minimize((x): expression, {x: start}, options)"},{"id":"topic:example.search","name":"search and optimization","path":"Astrologos.examples.search","kind":"topic","aliases":["search","target","root finding","minimize","custom scalar crossing"],"description":"examples for searching ranges, finding target crossings, and using closure-valued scalar functions","syntax":["search((x): expression, range(start, stop, step), target(value)).next()","target(value, increasing)","target(value, decreasing)"],"examples":["# Search for a custom scalar crossing\nlet root = search((x): cos(x) - 0.5, range(0, 4, 0.25), target(0, decreasing)).next();\nprint root;","# Find when the Sun crosses a chosen altitude\nlet loc = location(60,10);\nlet obs = loc.observer(0.002);\nlet t0 = time(2026,6,21,0,0,0);\nlet f = (h): altitude(sun, t0.add_hours(h), obs) - 10.0;\nprint search(f, range(0, 24, 0.25), target(0)).next();","# Search for the Moon near Sirius\nlet sirius = stars().find(\"Sirius\").direction();\nlet f = (t): direction(ra(moon, t, all_corrections), dec(moon, t, all_corrections)).angular_distance(sirius, t) - 5.0;\nprint search(f, range(time(2026,1,1,0,0,0), time(2026,2,1,0,0,0), 0.25), target(0)).next();","# Closest approach style minimization over a numeric domain\nlet f = (x): pow(x - 2.5, 2) + 1;\nprint minimize(f, {x: 0}, {bounds: {x: range(0, 5)}});","# Use target direction to pick a crossing side\nlet root = search((x): sin(x), range(0, 7, 0.1), target(0, increasing)).next();\nprint root;"],"arguments":[],"children":[],"resources":["ephemeris","iers"],"doc":"Topic: Astrologos.examples.search - examples for searching ranges, finding target crossings, and using closure-valued scalar functions\nSyntax:\n  search((x): expression, range(start, stop, step), target(value)).next()\n  target(value, increasing)\n  target(value, decreasing)\nAliases: search, target, root finding, minimize, custom scalar crossing\nResources: ephemeris, iers\nExamples:\n# Search for a custom scalar crossing\n   let root = search((x): cos(x) - 0.5, range(0, 4, 0.25), target(0, decreasing)).next();\n   print root;\n\n# Find when the Sun crosses a chosen altitude\n   let loc = location(60,10);\n   let obs = loc.observer(0.002);\n   let t0 = time(2026,6,21,0,0,0);\n   let f = (h): altitude(sun, t0.add_hours(h), obs) - 10.0;\n   print search(f, range(0, 24, 0.25), target(0)).next();\n\n# Search for the Moon near Sirius\n   let sirius = stars().find(\"Sirius\").direction();\n   let f = (t): direction(ra(moon, t, all_corrections), dec(moon, t, all_corrections)).angular_distance(sirius, t) - 5.0;\n   print search(f, range(time(2026,1,1,0,0,0), time(2026,2,1,0,0,0), 0.25), target(0)).next();\n\n# Closest approach style minimization over a numeric domain\n   let f = (x): pow(x - 2.5, 2) + 1;\n   print minimize(f, {x: 0}, {bounds: {x: range(0, 5)}});\n\n# Use target direction to pick a crossing side\n   let root = search((x): sin(x), range(0, 7, 0.1), target(0, increasing)).next();\n   print root;","compact":"Topic: Astrologos.examples.search - examples for searching ranges, finding target crossings, and using closure-valued scalar functions","search_text":"topic:example.search search and optimization Astrologos.examples.search topic examples for searching ranges, finding target crossings, and using closure-valued scalar functions search target root finding minimize custom scalar crossing search((x): expression, range(start, stop, step), target(value)).next() target(value, increasing) target(value, decreasing) ephemeris iers"},{"id":"function:time","name":"time","path":"time","kind":"function","aliases":[],"description":"creates UTC time, or local civil time when given a timezone, location, or place","syntax":["time() -> Time","time(julian_date: Number) -> Time","time(year: Integer, month: Integer, day: Integer, hour: Integer, minute: Integer, second: Integer) -> Time","time(timezone: Timezone|Text|Location|Place) -> LocalTime","time(year: Integer, month: Integer, day: Integer, hour: Integer, minute: Integer, second: Integer, timezone: Timezone|Text|Location|Place) -> LocalTime"],"examples":["# Build a UTC timestamp for later calculations\nprint time();"],"arguments":[{"name":"julian_date","type":"Number","required":false,"description":"UTC Julian date"},{"name":"year","type":"Integer","required":false,"description":"full UTC year"},{"name":"month","type":"Integer","required":false,"description":"month from 1 to 12"},{"name":"day","type":"Integer","required":false,"description":"day from 1 to 31"},{"name":"hour","type":"Integer","required":false,"description":"hour from 0 to 23"},{"name":"minute","type":"Integer","required":false,"description":"minute from 0 to 59"},{"name":"second","type":"Integer","required":false,"description":"second from 0 to 59"},{"name":"timezone","type":"Timezone|Text|Location|Place","required":false,"description":"timezone id, Timezone, Location, or Place for local civil time"}],"children":["type:Time","field:Time.year","field:Time.month","field:Time.day","field:Time.hour","field:Time.minute","field:Time.second","field:Time.weekday","member:Time.year","member:Time.utc","member:Time.tt","member:Time.ut1","member:Time.tdb","member:Time.dt","member:Time.local","member:Time.add_months","member:Time.add_days","member:Time.add_hours","member:Time.add_minutes","member:Time.add_seconds","member:Time.children","member:Time.fields","member:Time.functions","value_member:Callable.help","value_member:Callable.available"],"resources":["iers"],"doc":"Function: time - creates UTC time, or local civil time when given a timezone, location, or place\nSyntax:\n  time() -> Time\n  time(julian_date: Number) -> Time\n  time(year: Integer, month: Integer, day: Integer, hour: Integer, minute: Integer, second: Integer) -> Time\n  time(timezone: Timezone|Text|Location|Place) -> LocalTime\n  time(year: Integer, month: Integer, day: Integer, hour: Integer, minute: Integer, second: Integer, timezone: Timezone|Text|Location|Place) -> LocalTime\nArguments:\n  julian_date: Number [optional] - UTC Julian date\n  year: Integer [optional] - full UTC year\n  month: Integer [optional] - month from 1 to 12\n  day: Integer [optional] - day from 1 to 31\n  hour: Integer [optional] - hour from 0 to 23\n  minute: Integer [optional] - minute from 0 to 59\n  second: Integer [optional] - second from 0 to 59\n  timezone: Timezone|Text|Location|Place [optional] - timezone id, Timezone, Location, or Place for local civil time\nResources: iers\nChildren: Time, year, month, day, hour, minute, second, weekday, year(), utc(), tt(), ut1(), tdb(), dt(), local(), add_months(), add_days(), add_hours(), add_minutes(), add_seconds(), children(), fields(), functions(), help(), available()\nExample:\n# Build a UTC timestamp for later calculations\n   print time();","compact":"Function: time - creates UTC time, or local civil time when given a timezone, location, or place","search_text":"function:time time time function creates UTC time, or local civil time when given a timezone, location, or place time() -> Time time(julian_date: Number) -> Time time(year: Integer, month: Integer, day: Integer, hour: Integer, minute: Integer, second: Integer) -> Time time(timezone: Timezone|Text|Location|Place) -> LocalTime time(year: Integer, month: Integer, day: Integer, hour: Integer, minute: Integer, second: Integer, timezone: Timezone|Text|Location|Place) -> LocalTime julian_date Number UTC Julian date year Integer full UTC year month Integer month from 1 to 12 day Integer day from 1 to 31 hour Integer hour from 0 to 23 minute Integer minute from 0 to 59 second Integer second from 0 to 59 timezone Timezone|Text|Location|Place timezone id, Timezone, Location, or Place for local civil time iers"},{"id":"function:weekday","name":"weekday","path":"weekday","kind":"function","aliases":[],"description":"creates a weekday value","syntax":["weekday(value: Integer|Text) -> Weekday"],"examples":["# Convert a date or name to a weekday value\nprint wednesday;"],"arguments":[{"name":"value","type":"Integer|Text","required":true,"description":"ISO index from 1 to 7, full name, or short name"}],"children":["type:Weekday","member:Weekday.name","member:Weekday.short","member:Weekday.letter","member:Weekday.index","member:Weekday.children","member:Weekday.fields","member:Weekday.functions","value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: weekday - creates a weekday value\nSyntax:\n  weekday(value: Integer|Text) -> Weekday\nArguments:\n  value: Integer|Text - ISO index from 1 to 7, full name, or short name\nChildren: Weekday, name(), short(), letter(), index(), children(), fields(), functions(), help(), available()\nExample:\n# Convert a date or name to a weekday value\n   print wednesday;","compact":"Function: weekday - creates a weekday value","search_text":"function:weekday weekday weekday function creates a weekday value weekday(value: Integer|Text) -> Weekday value Integer|Text ISO index from 1 to 7, full name, or short name"},{"id":"function:location","name":"location","path":"location","kind":"function","aliases":[],"description":"creates a location system value","syntax":["location(body: Body, latitude: Number, longitude: Number) -> Location"],"examples":["# Prepare a latitude and longitude for local sky calculations\nprint location(latitude: 60.0, longitude: 270.0);"],"arguments":[{"name":"body","type":"Body","required":false,"description":"central body; defaults to earth"},{"name":"latitude","type":"Number","required":true,"description":"latitude in degrees"},{"name":"longitude","type":"Number","required":true,"description":"longitude in degrees"}],"children":["type:Location","field:Location.body","field:Location.latitude","field:Location.longitude","member:Location.observer","member:Location.direction","member:Location.children","member:Location.fields","member:Location.functions","value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: location - creates a location system value\nSyntax:\n  location(body: Body, latitude: Number, longitude: Number) -> Location\nArguments:\n  body: Body [optional] - central body; defaults to earth\n  latitude: Number - latitude in degrees\n  longitude: Number - longitude in degrees\nChildren: Location, body, latitude, longitude, observer(), direction(), children(), fields(), functions(), help(), available()\nExample:\n# Prepare a latitude and longitude for local sky calculations\n   print location(latitude: 60.0, longitude: 270.0);","compact":"Function: location - creates a location system value","search_text":"function:location location location function creates a location system value location(body: Body, latitude: Number, longitude: Number) -> Location body Body central body; defaults to earth latitude Number latitude in degrees longitude Number longitude in degrees"},{"id":"function:observer","name":"observer","path":"observer","kind":"function","aliases":[],"description":"creates a body-fixed 3D observer","syntax":["observer(location_or_body: Location|Body, height_or_position: Number|Field|Vector, height_or_zenith: Number|Vector) -> Observer"],"examples":["# Prepare an observing site with height\nprint location(latitude: 60.0, longitude: 270.0).observer(height: 1.5);"],"arguments":[{"name":"location_or_body","type":"Location|Body","required":true,"description":"surface location or body for body-fixed vectors"},{"name":"height_or_position","type":"Number|Field|Vector","required":false,"description":"height in kilometers, topography field for a location, or observer position vector"},{"name":"height_or_zenith","type":"Number|Vector","required":false,"description":"height above topography for a location, or body-fixed zenith/up vector"}],"children":["type:Observer","field:Observer.body","field:Observer.position","field:Observer.zenith","field:Observer.location","field:Observer.height_km","member:Observer.position","member:Observer.location","member:Observer.latitude","member:Observer.longitude","member:Observer.height","member:Observer.zenith","member:Observer.north","member:Observer.west","member:Observer.limb","member:Observer.direction","member:Observer.orbit","member:Observer.children","member:Observer.fields","member:Observer.functions","value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: observer - creates a body-fixed 3D observer\nSyntax:\n  observer(location_or_body: Location|Body, height_or_position: Number|Field|Vector, height_or_zenith: Number|Vector) -> Observer\nArguments:\n  location_or_body: Location|Body - surface location or body for body-fixed vectors\n  height_or_position: Number|Field|Vector [optional] - height in kilometers, topography field for a location, or observer position vector\n  height_or_zenith: Number|Vector [optional] - height above topography for a location, or body-fixed zenith/up vector\nChildren: Observer, body, position, zenith, location, height_km, position(), location(), latitude(), longitude(), height(), zenith(), north(), west(), limb(), direction(), orbit(), children(), fields(), functions(), help(), available()\nExample:\n# Prepare an observing site with height\n   print location(latitude: 60.0, longitude: 270.0).observer(height: 1.5);","compact":"Function: observer - creates a body-fixed 3D observer","search_text":"function:observer observer observer function creates a body-fixed 3D observer observer(location_or_body: Location|Body, height_or_position: Number|Field|Vector, height_or_zenith: Number|Vector) -> Observer location_or_body Location|Body surface location or body for body-fixed vectors height_or_position Number|Field|Vector height in kilometers, topography field for a location, or observer position vector height_or_zenith Number|Vector height above topography for a location, or body-fixed zenith/up vector"},{"id":"function:body","name":"body","path":"body","kind":"function","aliases":[],"description":"creates a body system value","syntax":["body(name: Text) -> Body"],"examples":["# Look up a solar-system body by name\nprint sun;"],"arguments":[{"name":"name","type":"Text","required":true,"description":"solar-system body name"}],"children":["type:Body","field:Body.name","field:Body.kind","field:Body.xmu","field:Body.radius","field:Body.mass","field:Body.H","field:Body.n","field:Body.k","field:Body.known","member:Body.rotational_axis","member:Body.rotational_axis_ra","member:Body.rotational_axis_dec","member:Body.state","member:Body.rise","member:Body.set","member:Body.conjunction","member:Body.inferior_conjunction","member:Body.superior_conjunction","member:Body.opposition","member:Body.eastern_quadrature","member:Body.western_quadrature","member:Body.quadrature","member:Body.greatest_eastern_elongation","member:Body.greatest_western_elongation","member:Body.greatest_elongation","member:Body.periapsis","member:Body.apoapsis","member:Body.transit","member:Body.children","member:Body.fields","member:Body.functions","value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: body - creates a body system value\nSyntax:\n  body(name: Text) -> Body\nArguments:\n  name: Text - solar-system body name\nChildren: Body, name, kind, xmu, radius, mass, H, n, k, known, rotational_axis(), rotational_axis_ra(), rotational_axis_dec(), state(), rise(), set(), conjunction(), inferior_conjunction(), superior_conjunction(), opposition(), eastern_quadrature(), western_quadrature(), quadrature(), greatest_eastern_elongation(), greatest_western_elongation(), greatest_elongation(), periapsis(), apoapsis(), transit(), children(), fields(), functions(), help(), available()\nExample:\n# Look up a solar-system body by name\n   print sun;","compact":"Function: body - creates a body system value","search_text":"function:body body body function creates a body system value body(name: Text) -> Body name Text solar-system body name"},{"id":"function:elements","name":"elements","path":"elements","kind":"function","aliases":[],"description":"creates osculating orbital elements","syntax":["elements(q: Number, e: Number, i: Number, node: Number, argument: Number, anomaly: Number, unit: Unit) -> Elements"],"examples":["# Define elliptic orbital elements and inspect eccentricity and inclination\nlet el = elements(q: 7000, e: 0.1, i: 30, node: 40, argument: 50, anomaly: 0, unit: deg);\nprint el.q, el.e, el.i;"],"arguments":[{"name":"q","type":"Number","required":true,"description":"periapsis distance in kilometers"},{"name":"e","type":"Number","required":true,"description":"eccentricity"},{"name":"i","type":"Number","required":true,"description":"inclination in degrees by default"},{"name":"node","type":"Number","required":true,"description":"longitude of ascending node in degrees by default"},{"name":"argument","type":"Number","required":true,"description":"argument of periapsis in degrees by default"},{"name":"anomaly","type":"Number","required":true,"description":"true anomaly in degrees by default"},{"name":"unit","type":"Unit","required":false,"description":"optional angle unit, such as rad"}],"children":["type:Elements","field:Elements.q","field:Elements.e","field:Elements.i","field:Elements.node","field:Elements.argument","field:Elements.anomaly","field:Elements.semimajor_axis","field:Elements.semi_latus_rectum","member:Elements.children","member:Elements.fields","member:Elements.functions","value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: elements - creates osculating orbital elements\nSyntax:\n  elements(q: Number, e: Number, i: Number, node: Number, argument: Number, anomaly: Number, unit: Unit) -> Elements\nArguments:\n  q: Number - periapsis distance in kilometers\n  e: Number - eccentricity\n  i: Number - inclination in degrees by default\n  node: Number - longitude of ascending node in degrees by default\n  argument: Number - argument of periapsis in degrees by default\n  anomaly: Number - true anomaly in degrees by default\n  unit: Unit [optional] - optional angle unit, such as rad\nChildren: Elements, q, e, i, node, argument, anomaly, semimajor_axis, semi_latus_rectum, children(), fields(), functions(), help(), available()\nExample:\n# Define elliptic orbital elements and inspect eccentricity and inclination\n   let el = elements(q: 7000, e: 0.1, i: 30, node: 40, argument: 50, anomaly: 0, unit: deg);\n   print el.q, el.e, el.i;","compact":"Function: elements - creates osculating orbital elements","search_text":"function:elements elements elements function creates osculating orbital elements elements(q: Number, e: Number, i: Number, node: Number, argument: Number, anomaly: Number, unit: Unit) -> Elements q Number periapsis distance in kilometers e Number eccentricity i Number inclination in degrees by default node Number longitude of ascending node in degrees by default argument Number argument of periapsis in degrees by default anomaly Number true anomaly in degrees by default unit Unit optional angle unit, such as rad"},{"id":"function:orbit","name":"orbit","path":"orbit","kind":"function","aliases":[],"description":"creates a two-body orbit from elements","syntax":["orbit(elements: Elements, central: Body, time: Time, axis: Axis) -> Orbit"],"examples":["# Propagate an elliptic orbit six hours forward\nlet epoch = time(2026,1,1,0,0,0);\nlet el = elements(q: 7000, e: 0.1, i: 30, node: 40, argument: 50, anomaly: 0, unit: deg);\nlet orb = orbit(el, earth, epoch);\nprint orb.position().length(), orb.position(epoch.add_hours(6)).length();"],"arguments":[{"name":"elements","type":"Elements","required":true,"description":"osculating elements at the epoch"},{"name":"central","type":"Body","required":true,"description":"central gravitating body"},{"name":"time","type":"Time","required":true,"description":"epoch time"},{"name":"axis","type":"Axis","required":false,"description":"non-rotating element axis, icrf by default; tod is also accepted"}],"children":["type:Orbit","field:Orbit.body","field:Orbit.central","field:Orbit.time","field:Orbit.epoch","field:Orbit.axis","field:Orbit.elements","field:Orbit.position","field:Orbit.velocity","field:Orbit.conic","member:Orbit.position","member:Orbit.velocity","member:Orbit.at","member:Orbit.elements","member:Orbit.predict","member:Orbit.children","member:Orbit.fields","member:Orbit.functions","value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: orbit - creates a two-body orbit from elements\nSyntax:\n  orbit(elements: Elements, central: Body, time: Time, axis: Axis) -> Orbit\nArguments:\n  elements: Elements - osculating elements at the epoch\n  central: Body - central gravitating body\n  time: Time - epoch time\n  axis: Axis [optional] - non-rotating element axis, icrf by default; tod is also accepted\nChildren: Orbit, body, central, time, epoch, axis, elements, position, velocity, conic, position(), velocity(), at(), elements(), predict(), children(), fields(), functions(), help(), available()\nExample:\n# Propagate an elliptic orbit six hours forward\n   let epoch = time(2026,1,1,0,0,0);\n   let el = elements(q: 7000, e: 0.1, i: 30, node: 40, argument: 50, anomaly: 0, unit: deg);\n   let orb = orbit(el, earth, epoch);\n   print orb.position().length(), orb.position(epoch.add_hours(6)).length();","compact":"Function: orbit - creates a two-body orbit from elements","search_text":"function:orbit orbit orbit function creates a two-body orbit from elements orbit(elements: Elements, central: Body, time: Time, axis: Axis) -> Orbit elements Elements osculating elements at the epoch central Body central gravitating body time Time epoch time axis Axis non-rotating element axis, icrf by default; tod is also accepted"},{"id":"function:system","name":"system","path":"system","kind":"function","aliases":[],"description":"creates an immutable system of integrated states, body-backed orbits, and ephemeris bodies","syntax":["system(epoch: Time, bodies: Body|State|Orbit|Text|List, integrator: Text) -> System"],"examples":["# Run the example and print a useful result\nlet t0 = time(2026, 7, 4); system(t0, earth, moon, sun)","# Run the example and print a useful result\nlet t0 = time(2026, 7, 4); let comet = state(body: body(\"comet\"), time: t0, position: vector(100000000,0,0), velocity: vector(0,10,0)); system(t0, comet, sun)","# Run the example and print a useful result\nlet t0 = time(2026, 7, 4); let orbit0 = state(earth, t0).orbit_around(state(sun, t0)); system(t0, orbit0, moon)","# Run the example and print a useful result\nlet t0 = time(2026, 7, 4); system(t0, earth, moon, sun, integrator: \"dp5\")"],"arguments":[{"name":"epoch","type":"Time","required":true,"description":"system epoch"},{"name":"bodies","type":"Body|State|Orbit|Text|List","required":true,"description":"system entries: explicit states, body-backed orbits, or ephemeris bodies"},{"name":"integrator","type":"Text","required":false,"description":"optional integrator: \"ias15\", \"dp5\", or \"rk4\"; \"dp5\" is slow and mainly for debugging/reference comparisons"}],"children":["type:System","field:System.time","field:System.bodies","field:System.states","field:System.sources","field:System.source_counts","field:System.integrator","field:System.method","field:System.ephemeris_coverage","field:System.diagnostics","field:System.ephemeris_residuals","field:System.positions","field:System.velocities","field:System.integrated","field:System.ephemeris","field:System.cache_size","member:System.at","member:System.cache","member:System.clear_cache","member:System.state","member:System.position","member:System.velocity","member:System.distance","member:System.children","member:System.fields","member:System.functions","value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris","iers","small_bodies"],"doc":"Function: system - creates an immutable system of integrated states, body-backed orbits, and ephemeris bodies\nSyntax:\n  system(epoch: Time, bodies: Body|State|Orbit|Text|List, integrator: Text) -> System\nArguments:\n  epoch: Time - system epoch\n  bodies: Body|State|Orbit|Text|List - system entries: explicit states, body-backed orbits, or ephemeris bodies\n  integrator: Text [optional] - optional integrator: \"ias15\", \"dp5\", or \"rk4\"; \"dp5\" is slow and mainly for debugging/reference comparisons\nResources: ephemeris, iers, small_bodies\nChildren: System, time, bodies, states, sources, source_counts, integrator, method, ephemeris_coverage, diagnostics, ephemeris_residuals, positions, velocities, integrated, ephemeris, cache_size, at(), cache(), clear_cache(), state(), position(), velocity(), distance(), children(), fields(), functions(), help(), available()\nExamples:\n# Run the example and print a useful result\n   let t0 = time(2026, 7, 4); system(t0, earth, moon, sun)\n\n# Run the example and print a useful result\n   let t0 = time(2026, 7, 4); let comet = state(body: body(\"comet\"), time: t0, position: vector(100000000,0,0), velocity: vector(0,10,0)); system(t0, comet, sun)\n\n# Run the example and print a useful result\n   let t0 = time(2026, 7, 4); let orbit0 = state(earth, t0).orbit_around(state(sun, t0)); system(t0, orbit0, moon)\n\n# Run the example and print a useful result\n   let t0 = time(2026, 7, 4); system(t0, earth, moon, sun, integrator: \"dp5\")","compact":"Function: system - creates an immutable system of integrated states, body-backed orbits, and ephemeris bodies","search_text":"function:system system system function creates an immutable system of integrated states, body-backed orbits, and ephemeris bodies system(epoch: Time, bodies: Body|State|Orbit|Text|List, integrator: Text) -> System epoch Time system epoch bodies Body|State|Orbit|Text|List system entries: explicit states, body-backed orbits, or ephemeris bodies integrator Text optional integrator: \"ias15\", \"dp5\", or \"rk4\"; \"dp5\" is slow and mainly for debugging/reference comparisons ephemeris iers small_bodies"},{"id":"function:observation","name":"observation","path":"observation","kind":"function","aliases":[],"description":"creates an orbit-determination observation","syntax":["observation(observer: Observer, time: Time, direction: Direction|State, frame: Frame) -> Observation","observation(target: Body|Star, time: Time, elevation: Number) -> Observation"],"examples":["# Run the example and print a useful result\nprint observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4));","# Synthesize a planet elevation observation for navigation\nlet loc = location(latitude: 59.91, longitude: 10.75);\nlet t = time(2026, 1, 12, 22, 10, 0);\nlet o = observation(jupiter, t, elevation: altitude(jupiter, t, loc));\nprint o.target.name, o.elevation;","# Synthesize a star elevation observation for navigation\nlet loc = location(latitude: 59.91, longitude: 10.75);\nlet site = loc.observer(height: 0);\nlet t = time(2026, 1, 12, 22, 0, 0);\nlet sirius = stars().find(\"sirius\");\nlet o = observation(sirius, t, elevation: sirius.altaz(t, site).altitude);\nprint o.target.name, o.elevation;","# Build an observation from RA/Dec in an explicit frame\nlet obs = location(latitude: 59.91, longitude: 10.75).observer(height: 0);\nlet t = time(2026, 7, 3, 0, 0, 0);\nprint observation(obs, t, ra: 120.1, dec: 22.4, frame: icrf);","# Build an observation from a topocentric planet state\nlet loc = location(latitude: 59.91, longitude: 10.75);\nlet obs = loc.observer(height: 0);\nlet t = time(2026, 7, 3, 0, 0, 0);\nlet seen = state(mars, t, loc, topocentric, icrf, no_correction);\nprint observation(obs, t, seen);"],"arguments":[{"name":"observer","type":"Observer","required":false,"description":"observing site"},{"name":"time","type":"Time","required":true,"description":"observation time"},{"name":"direction","type":"Direction|State","required":false,"description":"measured line of sight, or a state whose position gives the line of sight"},{"name":"frame","type":"Frame","required":false,"description":"coordinate frame for RA/Dec shorthand or state conversion; defaults to icrf"},{"name":"target","type":"Body|Star","required":false,"description":"observed planet, Moon, Sun, or star"},{"name":"elevation","type":"Number","required":false,"description":"measured elevation above the horizon in degrees"}],"children":["type:Observation","field:Observation.observer","field:Observation.time","field:Observation.direction","field:Observation.target","field:Observation.elevation","field:Observation.uncertainty","field:Observation.weight","field:Observation.label","member:Observation.icrf","member:Observation.topographic","member:Observation.with_uncertainty","member:Observation.with_weight","member:Observation.children","member:Observation.fields","member:Observation.functions","value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: observation - creates an orbit-determination observation\nSyntax:\n  observation(observer: Observer, time: Time, direction: Direction|State, frame: Frame) -> Observation\n  observation(target: Body|Star, time: Time, elevation: Number) -> Observation\nArguments:\n  observer: Observer [optional] - observing site\n  time: Time - observation time\n  direction: Direction|State [optional] - measured line of sight, or a state whose position gives the line of sight\n  frame: Frame [optional] - coordinate frame for RA/Dec shorthand or state conversion; defaults to icrf\n  target: Body|Star [optional] - observed planet, Moon, Sun, or star\n  elevation: Number [optional] - measured elevation above the horizon in degrees\nChildren: Observation, observer, time, direction, target, elevation, uncertainty, weight, label, icrf(), topographic(), with_uncertainty(), with_weight(), children(), fields(), functions(), help(), available()\nExamples:\n# Run the example and print a useful result\n   print observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4));\n\n# Synthesize a planet elevation observation for navigation\n   let loc = location(latitude: 59.91, longitude: 10.75);\n   let t = time(2026, 1, 12, 22, 10, 0);\n   let o = observation(jupiter, t, elevation: altitude(jupiter, t, loc));\n   print o.target.name, o.elevation;\n\n# Synthesize a star elevation observation for navigation\n   let loc = location(latitude: 59.91, longitude: 10.75);\n   let site = loc.observer(height: 0);\n   let t = time(2026, 1, 12, 22, 0, 0);\n   let sirius = stars().find(\"sirius\");\n   let o = observation(sirius, t, elevation: sirius.altaz(t, site).altitude);\n   print o.target.name, o.elevation;\n\n# Build an observation from RA/Dec in an explicit frame\n   let obs = location(latitude: 59.91, longitude: 10.75).observer(height: 0);\n   let t = time(2026, 7, 3, 0, 0, 0);\n   print observation(obs, t, ra: 120.1, dec: 22.4, frame: icrf);\n\n# Build an observation from a topocentric planet state\n   let loc = location(latitude: 59.91, longitude: 10.75);\n   let obs = loc.observer(height: 0);\n   let t = time(2026, 7, 3, 0, 0, 0);\n   let seen = state(mars, t, loc, topocentric, icrf, no_correction);\n   print observation(obs, t, seen);","compact":"Function: observation - creates an orbit-determination observation","search_text":"function:observation observation observation function creates an orbit-determination observation observation(observer: Observer, time: Time, direction: Direction|State, frame: Frame) -> Observation observation(target: Body|Star, time: Time, elevation: Number) -> Observation observer Observer observing site time Time observation time direction Direction|State measured line of sight, or a state whose position gives the line of sight frame Frame coordinate frame for RA/Dec shorthand or state conversion; defaults to icrf target Body|Star observed planet, Moon, Sun, or star elevation Number measured elevation above the horizon in degrees"},{"id":"function:orbit_determination","name":"orbit_determination","path":"orbit_determination","kind":"function","aliases":[],"description":"determines an orbit from three or more observations","syntax":["orbit_determination(observations: List<Observation>) -> OrbitSolution"],"examples":["# Determine an elliptic orbit from five observations\nlet site = location(latitude: 59.91, longitude: 10.75).observer(height: 0);\nlet o1 = observation(site, time(2028, 7, 3, 0, 0, 0), ra: 131.0857742519269, dec: 18.803678151005595);\nlet o2 = observation(site, time(2028, 7, 23, 0, 0, 0), ra: 135.0300892722528, dec: 18.040162341691612);\nlet o3 = observation(site, time(2028, 8, 12, 0, 0, 0), ra: 139.04202357010908, dec: 17.175191580463146);\nlet o4 = observation(site, time(2028, 9, 1, 0, 0, 0), ra: 142.9726130958044, dec: 16.26645304942825);\nlet o5 = observation(site, time(2028, 9, 21, 0, 0, 0), ra: 146.67383907727944, dec: 15.384398529605518);\nlet od = orbit_determination([o1, o2, o3, o4, o5], central: sun);\nprint od.status, od.rms, od.orbit.conic;\nprint od.elements;","# Determine a parabolic orbit from five observations\nlet site = location(latitude: 59.91, longitude: 10.75).observer(height: 0);\nlet o1 = observation(site, time(2028, 7, 3, 0, 0, 0), ra: 131.17579335594158, dec: 18.78269573364523);\nlet o2 = observation(site, time(2028, 7, 23, 0, 0, 0), ra: 135.28728784032972, dec: 18.019922410032073);\nlet o3 = observation(site, time(2028, 8, 12, 0, 0, 0), ra: 139.4336093408432, dec: 17.155215233522643);\nlet o4 = observation(site, time(2028, 9, 1, 0, 0, 0), ra: 143.47212659888854, dec: 16.247957989051894);\nlet o5 = observation(site, time(2028, 9, 21, 0, 0, 0), ra: 147.26211907839155, dec: 15.369205484638817);\nlet od = orbit_determination([o1, o2, o3, o4, o5], central: sun);\nprint od.status, od.rms, od.orbit.conic;\nprint od.elements;","# Determine a hyperbolic orbit from five observations\nlet site = location(latitude: 59.91, longitude: 10.75).observer(height: 0);\nlet o1 = observation(site, time(2028, 7, 3, 0, 0, 0), ra: 131.18472418056754, dec: 18.780611424357605);\nlet o2 = observation(site, time(2028, 7, 23, 0, 0, 0), ra: 135.32226127731965, dec: 18.017374322931712);\nlet o3 = observation(site, time(2028, 8, 12, 0, 0, 0), ra: 139.49019892428979, dec: 17.151931814342543);\nlet o4 = observation(site, time(2028, 9, 1, 0, 0, 0), ra: 143.54674567209997, dec: 16.24393067242571);\nlet o5 = observation(site, time(2028, 9, 21, 0, 0, 0), ra: 147.35214877838115, dec: 15.364550692814579);\nlet od = orbit_determination([o1, o2, o3, o4, o5], central: sun);\nprint od.status, od.rms, od.orbit.conic;\nprint od.elements;","# Generate an observation from a planet state\nlet loc = location(latitude: 59.91, longitude: 10.75);\nlet obs = loc.observer(height: 0);\nlet t = time(2026, 7, 3, 0, 0, 0);\nlet seen = state(mars, t, loc, topocentric, icrf, no_correction);\nprint observation(obs, t, seen);","# Generate an observation from orbital elements\nlet obs = location(latitude: 59.91, longitude: 10.75).observer(height: 0);\nlet epoch = time(2028, 7, 3, 0, 0, 0);\nlet target = orbit(\n    elements(q: 900000000, e: 1.1, i: 18.0, node: 35.0, argument: 75.0, anomaly: 25.0),\n    sun,\n    epoch,\n    icrf\n);\nprint observation(obs, epoch, target.predict(epoch, obs));"],"arguments":[{"name":"observations","type":"List<Observation>","required":true,"description":"three or more observations"}],"children":["type:OrbitSolution","field:OrbitSolution.orbit","field:OrbitSolution.elements","field:OrbitSolution.observations","field:OrbitSolution.residuals","field:OrbitSolution.rms","field:OrbitSolution.max_residual","field:OrbitSolution.method","field:OrbitSolution.status","field:OrbitSolution.iterations","member:OrbitSolution.predict","member:OrbitSolution.residuals","member:OrbitSolution.children","member:OrbitSolution.fields","member:OrbitSolution.functions","value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris","iers"],"doc":"Function: orbit_determination - determines an orbit from three or more observations\nSyntax:\n  orbit_determination(observations: List<Observation>) -> OrbitSolution\nArguments:\n  observations: List<Observation> - three or more observations\nResources: ephemeris, iers\nChildren: OrbitSolution, orbit, elements, observations, residuals, rms, max_residual, method, status, iterations, predict(), residuals(), children(), fields(), functions(), help(), available()\nExamples:\n# Determine an elliptic orbit from five observations\n   let site = location(latitude: 59.91, longitude: 10.75).observer(height: 0);\n   let o1 = observation(site, time(2028, 7, 3, 0, 0, 0), ra: 131.0857742519269, dec: 18.803678151005595);\n   let o2 = observation(site, time(2028, 7, 23, 0, 0, 0), ra: 135.0300892722528, dec: 18.040162341691612);\n   let o3 = observation(site, time(2028, 8, 12, 0, 0, 0), ra: 139.04202357010908, dec: 17.175191580463146);\n   let o4 = observation(site, time(2028, 9, 1, 0, 0, 0), ra: 142.9726130958044, dec: 16.26645304942825);\n   let o5 = observation(site, time(2028, 9, 21, 0, 0, 0), ra: 146.67383907727944, dec: 15.384398529605518);\n   let od = orbit_determination([o1, o2, o3, o4, o5], central: sun);\n   print od.status, od.rms, od.orbit.conic;\n   print od.elements;\n\n# Determine a parabolic orbit from five observations\n   let site = location(latitude: 59.91, longitude: 10.75).observer(height: 0);\n   let o1 = observation(site, time(2028, 7, 3, 0, 0, 0), ra: 131.17579335594158, dec: 18.78269573364523);\n   let o2 = observation(site, time(2028, 7, 23, 0, 0, 0), ra: 135.28728784032972, dec: 18.019922410032073);\n   let o3 = observation(site, time(2028, 8, 12, 0, 0, 0), ra: 139.4336093408432, dec: 17.155215233522643);\n   let o4 = observation(site, time(2028, 9, 1, 0, 0, 0), ra: 143.47212659888854, dec: 16.247957989051894);\n   let o5 = observation(site, time(2028, 9, 21, 0, 0, 0), ra: 147.26211907839155, dec: 15.369205484638817);\n   let od = orbit_determination([o1, o2, o3, o4, o5], central: sun);\n   print od.status, od.rms, od.orbit.conic;\n   print od.elements;\n\n# Determine a hyperbolic orbit from five observations\n   let site = location(latitude: 59.91, longitude: 10.75).observer(height: 0);\n   let o1 = observation(site, time(2028, 7, 3, 0, 0, 0), ra: 131.18472418056754, dec: 18.780611424357605);\n   let o2 = observation(site, time(2028, 7, 23, 0, 0, 0), ra: 135.32226127731965, dec: 18.017374322931712);\n   let o3 = observation(site, time(2028, 8, 12, 0, 0, 0), ra: 139.49019892428979, dec: 17.151931814342543);\n   let o4 = observation(site, time(2028, 9, 1, 0, 0, 0), ra: 143.54674567209997, dec: 16.24393067242571);\n   let o5 = observation(site, time(2028, 9, 21, 0, 0, 0), ra: 147.35214877838115, dec: 15.364550692814579);\n   let od = orbit_determination([o1, o2, o3, o4, o5], central: sun);\n   print od.status, od.rms, od.orbit.conic;\n   print od.elements;\n\n# Generate an observation from a planet state\n   let loc = location(latitude: 59.91, longitude: 10.75);\n   let obs = loc.observer(height: 0);\n   let t = time(2026, 7, 3, 0, 0, 0);\n   let seen = state(mars, t, loc, topocentric, icrf, no_correction);\n   print observation(obs, t, seen);\n\n# Generate an observation from orbital elements\n   let obs = location(latitude: 59.91, longitude: 10.75).observer(height: 0);\n   let epoch = time(2028, 7, 3, 0, 0, 0);\n   let target = orbit(\n   elements(q: 900000000, e: 1.1, i: 18.0, node: 35.0, argument: 75.0, anomaly: 25.0),\n   sun,\n   epoch,\n   icrf\n   );\n   print observation(obs, epoch, target.predict(epoch, obs));","compact":"Function: orbit_determination - determines an orbit from three or more observations","search_text":"function:orbit_determination orbit_determination orbit_determination function determines an orbit from three or more observations orbit_determination(observations: List<Observation>) -> OrbitSolution observations List<Observation> three or more observations ephemeris iers"},{"id":"function:heading","name":"heading","path":"heading","kind":"function","aliases":[],"description":"creates a compass heading","syntax":["heading(azimuth: Number|Text, unit: Unit) -> Heading"],"examples":["# Prepare a compass heading for horizon calculations\nprint heading(135.0);"],"arguments":[{"name":"azimuth","type":"Number|Text","required":true,"description":"degrees clockwise from north, or a compass name such as \"nw\""},{"name":"unit","type":"Unit","required":false,"description":"optional angle unit for numeric headings; degrees are default"}],"children":["type:Heading","field:Heading.azimuth_degrees","field:Heading.long_name","field:Heading.short_name","member:Heading.azimuth","member:Heading.long","member:Heading.short","member:Heading.vector","member:Heading.children","member:Heading.fields","member:Heading.functions","value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: heading - creates a compass heading\nSyntax:\n  heading(azimuth: Number|Text, unit: Unit) -> Heading\nArguments:\n  azimuth: Number|Text - degrees clockwise from north, or a compass name such as \"nw\"\n  unit: Unit [optional] - optional angle unit for numeric headings; degrees are default\nChildren: Heading, azimuth_degrees, long_name, short_name, azimuth(), long(), short(), vector(), children(), fields(), functions(), help(), available()\nExample:\n# Prepare a compass heading for horizon calculations\n   print heading(135.0);","compact":"Function: heading - creates a compass heading","search_text":"function:heading heading heading function creates a compass heading heading(azimuth: Number|Text, unit: Unit) -> Heading azimuth Number|Text degrees clockwise from north, or a compass name such as \"nw\" unit Unit optional angle unit for numeric headings; degrees are default"},{"id":"function:direction","name":"direction","path":"direction","kind":"function","aliases":[],"description":"creates a frame-tagged unit-sphere direction","syntax":["direction(frame: Frame, ra: Number, dec: Number, azimuth: Number, altitude: Number, zenith: Number, unit: Unit) -> Direction"],"examples":["# Compare two sky directions by angular distance\nlet a = direction(ra: 42.0, dec: 18.0);\nlet b = direction(ra: 45.0, dec: 20.0);\nprint a.angular_distance(b);"],"arguments":[{"name":"frame","type":"Frame","required":false,"description":"coordinate frame, defaulting to icrf"},{"name":"ra","type":"Number","required":false,"description":"right ascension / longitude in degrees by default"},{"name":"dec","type":"Number","required":false,"description":"declination / latitude in degrees by default"},{"name":"azimuth","type":"Number","required":false,"description":"topographic azimuth clockwise from north; degrees are default"},{"name":"altitude","type":"Number","required":false,"description":"topographic altitude/elevation above the horizon; degrees are default"},{"name":"zenith","type":"Number","required":false,"description":"topographic angle down from local zenith; degrees are default"},{"name":"unit","type":"Unit","required":false,"description":"optional angle unit such as rad"}],"children":["type:Direction","field:Direction.frame","field:Direction.vector","field:Direction.ra","field:Direction.dec","member:Direction.to_frame","member:Direction.altaz","member:Direction.angular_distance","member:Direction.rise","member:Direction.set","member:Direction.transit","member:Direction.children","member:Direction.fields","member:Direction.functions","value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: direction - creates a frame-tagged unit-sphere direction\nSyntax:\n  direction(frame: Frame, ra: Number, dec: Number, azimuth: Number, altitude: Number, zenith: Number, unit: Unit) -> Direction\nArguments:\n  frame: Frame [optional] - coordinate frame, defaulting to icrf\n  ra: Number [optional] - right ascension / longitude in degrees by default\n  dec: Number [optional] - declination / latitude in degrees by default\n  azimuth: Number [optional] - topographic azimuth clockwise from north; degrees are default\n  altitude: Number [optional] - topographic altitude/elevation above the horizon; degrees are default\n  zenith: Number [optional] - topographic angle down from local zenith; degrees are default\n  unit: Unit [optional] - optional angle unit such as rad\nChildren: Direction, frame, vector, ra, dec, to_frame(), altaz(), angular_distance(), rise(), set(), transit(), children(), fields(), functions(), help(), available()\nExample:\n# Compare two sky directions by angular distance\n   let a = direction(ra: 42.0, dec: 18.0);\n   let b = direction(ra: 45.0, dec: 20.0);\n   print a.angular_distance(b);","compact":"Function: direction - creates a frame-tagged unit-sphere direction","search_text":"function:direction direction direction function creates a frame-tagged unit-sphere direction direction(frame: Frame, ra: Number, dec: Number, azimuth: Number, altitude: Number, zenith: Number, unit: Unit) -> Direction frame Frame coordinate frame, defaulting to icrf ra Number right ascension / longitude in degrees by default dec Number declination / latitude in degrees by default azimuth Number topographic azimuth clockwise from north; degrees are default altitude Number topographic altitude/elevation above the horizon; degrees are default zenith Number topographic angle down from local zenith; degrees are default unit Unit optional angle unit such as rad"},{"id":"function:polygon","name":"polygon","path":"polygon","kind":"function","aliases":[],"description":"creates a spherical polygon with great-circle edges","syntax":["polygon(frame: Frame, vertices: List, time: Time) -> Polygon"],"examples":["# Test a sky direction against a polygon\nprint polygon(vertices: [direction(ra: 42.0, dec: 18.0), direction(ra: 90.0, dec: 20.0), direction(ra: 150.0, dec: 55.0)]);"],"arguments":[{"name":"frame","type":"Frame","required":false,"description":"coordinate frame for the polygon vertices"},{"name":"vertices","type":"List","required":true,"description":"right-handed vertex list with great-circle edges"},{"name":"time","type":"Time","required":false,"description":"time used when converting vertices between frames"}],"children":["type:Polygon","field:Polygon.frame","field:Polygon.count","field:Polygon.vertices","member:Polygon.invert","member:Polygon.to_frame","member:Polygon.inside","member:Polygon.area","member:Polygon.signed_area","member:Polygon.winding","member:Polygon.lonlat","member:Polygon.lonlat_unwrapped","member:Polygon.lonlat_diagnostic","member:Polygon.children","member:Polygon.fields","member:Polygon.functions","value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: polygon - creates a spherical polygon with great-circle edges\nSyntax:\n  polygon(frame: Frame, vertices: List, time: Time) -> Polygon\nArguments:\n  frame: Frame [optional] - coordinate frame for the polygon vertices\n  vertices: List - right-handed vertex list with great-circle edges\n  time: Time [optional] - time used when converting vertices between frames\nChildren: Polygon, frame, count, vertices, invert(), to_frame(), inside(), area(), signed_area(), winding(), lonlat(), lonlat_unwrapped(), lonlat_diagnostic(), children(), fields(), functions(), help(), available()\nExample:\n# Test a sky direction against a polygon\n   print polygon(vertices: [direction(ra: 42.0, dec: 18.0), direction(ra: 90.0, dec: 20.0), direction(ra: 150.0, dec: 55.0)]);","compact":"Function: polygon - creates a spherical polygon with great-circle edges","search_text":"function:polygon polygon polygon function creates a spherical polygon with great-circle edges polygon(frame: Frame, vertices: List, time: Time) -> Polygon frame Frame coordinate frame for the polygon vertices vertices List right-handed vertex list with great-circle edges time Time time used when converting vertices between frames"},{"id":"function:vector","name":"vector","path":"vector","kind":"function","aliases":[],"description":"creates a vector system value","syntax":["vector(x: Number, y: Number, z: Number) -> Vector","vector(from: Origin, to: Origin, time: Time) -> Vector"],"examples":["# Compute distance between two position vectors\nlet a = vector(7000, 0, 0);\nlet b = vector(0, 7000, 0);\nprint a.length(), b.length(), a.distance(b);"],"arguments":[{"name":"x","type":"Number","required":false,"description":"cartesian x component in km"},{"name":"y","type":"Number","required":false,"description":"cartesian y component in km, defaulting to zero"},{"name":"z","type":"Number","required":false,"description":"cartesian z component in km, defaulting to zero"},{"name":"from","type":"Origin","required":false,"description":"source origin such as barycentric or geocentric"},{"name":"to","type":"Origin","required":false,"description":"target origin such as barycentric or geocentric"},{"name":"time","type":"Time","required":false,"description":"time for the origin transform"}],"children":["type:Vector","field:Vector.kind","field:Vector.orientation","field:Vector.transposed","member:Vector.x","member:Vector.y","member:Vector.z","member:Vector.range","member:Vector.theta","member:Vector.phi","member:Vector.length","member:Vector.lenxy","member:Vector.lenxz","member:Vector.lenyz","member:Vector.dot","member:Vector.cross","member:Vector.angle","member:Vector.distance","member:Vector.online","member:Vector.turn","member:Vector.normalise","member:Vector.transpose","member:Vector.translate_origin","member:Vector.children","member:Vector.fields","member:Vector.functions","value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: vector - creates a vector system value\nSyntax:\n  vector(x: Number, y: Number, z: Number) -> Vector\n  vector(from: Origin, to: Origin, time: Time) -> Vector\nArguments:\n  x: Number [optional] - cartesian x component in km\n  y: Number [optional] - cartesian y component in km, defaulting to zero\n  z: Number [optional] - cartesian z component in km, defaulting to zero\n  from: Origin [optional] - source origin such as barycentric or geocentric\n  to: Origin [optional] - target origin such as barycentric or geocentric\n  time: Time [optional] - time for the origin transform\nChildren: Vector, kind, orientation, transposed, x(), y(), z(), range(), theta(), phi(), length(), lenxy(), lenxz(), lenyz(), dot(), cross(), angle(), distance(), online(), turn(), normalise(), transpose(), translate_origin(), children(), fields(), functions(), help(), available()\nExample:\n# Compute distance between two position vectors\n   let a = vector(7000, 0, 0);\n   let b = vector(0, 7000, 0);\n   print a.length(), b.length(), a.distance(b);","compact":"Function: vector - creates a vector system value","search_text":"function:vector vector vector function creates a vector system value vector(x: Number, y: Number, z: Number) -> Vector vector(from: Origin, to: Origin, time: Time) -> Vector x Number cartesian x component in km y Number cartesian y component in km, defaulting to zero z Number cartesian z component in km, defaulting to zero from Origin source origin such as barycentric or geocentric to Origin target origin such as barycentric or geocentric time Time time for the origin transform"},{"id":"function:spherical","name":"spherical","path":"spherical","kind":"function","aliases":[],"description":"creates a vector from spherical coordinates","syntax":["spherical(radius: Number, theta: Number, phi: Number, unit: Unit) -> Vector"],"examples":["# Convert spherical coordinates into a vector-like value\nprint vector(1.0, 2.0, 3.0);"],"arguments":[{"name":"radius","type":"Number","required":true,"description":"spherical range/radius in km"},{"name":"theta","type":"Number","required":true,"description":"azimuth angle in radians by default"},{"name":"phi","type":"Number","required":true,"description":"elevation angle in radians by default"},{"name":"unit","type":"Unit","required":false,"description":"optional angle unit for theta and phi, such as deg"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: spherical - creates a vector from spherical coordinates\nSyntax:\n  spherical(radius: Number, theta: Number, phi: Number, unit: Unit) -> Vector\nArguments:\n  radius: Number - spherical range/radius in km\n  theta: Number - azimuth angle in radians by default\n  phi: Number - elevation angle in radians by default\n  unit: Unit [optional] - optional angle unit for theta and phi, such as deg\nChildren: help(), available()\nExample:\n# Convert spherical coordinates into a vector-like value\n   print vector(1.0, 2.0, 3.0);","compact":"Function: spherical - creates a vector from spherical coordinates","search_text":"function:spherical spherical spherical function creates a vector from spherical coordinates spherical(radius: Number, theta: Number, phi: Number, unit: Unit) -> Vector radius Number spherical range/radius in km theta Number azimuth angle in radians by default phi Number elevation angle in radians by default unit Unit optional angle unit for theta and phi, such as deg"},{"id":"function:matrix","name":"matrix","path":"matrix","kind":"function","aliases":[],"description":"creates a matrix system value","syntax":["matrix(x0: Number, y0: Number, z0: Number) -> Matrix","matrix(from: Axis, to: Axis, time: Time) -> Matrix","matrix(m00: Number, m10: Number, m20: Number, m01: Number, m11: Number, m21: Number, m02: Number, m12: Number, m22: Number) -> Matrix"],"examples":["# Rotate a vector from ICRF into Earth-fixed coordinates\nlet t = time(2026,1,1,0,0,0);\nlet v = matrix(icrf, earthfixed, t) * vector(1, 0, 0);\nprint v.x(), v.y(), v.z();"],"arguments":[{"name":"x0","type":"Number","required":false,"description":"first diagonal value, or first column x for a 9-value matrix"},{"name":"y0","type":"Number","required":false,"description":"second diagonal value, or first column y for a 9-value matrix"},{"name":"z0","type":"Number","required":false,"description":"third diagonal value, or first column z for a 9-value matrix"},{"name":"from","type":"Axis","required":false,"description":"source axis such as icrf, tod, ef, or topographic"},{"name":"to","type":"Axis","required":false,"description":"target axis such as icrf, tod, ef, or topographic"},{"name":"time","type":"Time","required":false,"description":"time for the axis transform"},{"name":"m00","type":"Number","required":false,"description":"row 0 column 0"},{"name":"m10","type":"Number","required":false,"description":"row 1 column 0"},{"name":"m20","type":"Number","required":false,"description":"row 2 column 0"},{"name":"m01","type":"Number","required":false,"description":"row 0 column 1"},{"name":"m11","type":"Number","required":false,"description":"row 1 column 1"},{"name":"m21","type":"Number","required":false,"description":"row 2 column 1"},{"name":"m02","type":"Number","required":false,"description":"row 0 column 2"},{"name":"m12","type":"Number","required":false,"description":"row 1 column 2"},{"name":"m22","type":"Number","required":false,"description":"row 2 column 2"}],"children":["type:Matrix","field:Matrix.m00","field:Matrix.m10","field:Matrix.m20","field:Matrix.m01","field:Matrix.m11","field:Matrix.m21","field:Matrix.m02","field:Matrix.m12","field:Matrix.m22","field:Matrix.kind","member:Matrix.transpose","member:Matrix.inverse","member:Matrix.determinant","member:Matrix.normalise","member:Matrix.multiply_transpose","member:Matrix.rotate_axis","member:Matrix.children","member:Matrix.fields","member:Matrix.functions","value_member:Callable.help","value_member:Callable.available"],"resources":["iers"],"doc":"Function: matrix - creates a matrix system value\nSyntax:\n  matrix(x0: Number, y0: Number, z0: Number) -> Matrix\n  matrix(from: Axis, to: Axis, time: Time) -> Matrix\n  matrix(m00: Number, m10: Number, m20: Number, m01: Number, m11: Number, m21: Number, m02: Number, m12: Number, m22: Number) -> Matrix\nArguments:\n  x0: Number [optional] - first diagonal value, or first column x for a 9-value matrix\n  y0: Number [optional] - second diagonal value, or first column y for a 9-value matrix\n  z0: Number [optional] - third diagonal value, or first column z for a 9-value matrix\n  from: Axis [optional] - source axis such as icrf, tod, ef, or topographic\n  to: Axis [optional] - target axis such as icrf, tod, ef, or topographic\n  time: Time [optional] - time for the axis transform\n  m00: Number [optional] - row 0 column 0\n  m10: Number [optional] - row 1 column 0\n  m20: Number [optional] - row 2 column 0\n  m01: Number [optional] - row 0 column 1\n  m11: Number [optional] - row 1 column 1\n  m21: Number [optional] - row 2 column 1\n  m02: Number [optional] - row 0 column 2\n  m12: Number [optional] - row 1 column 2\n  m22: Number [optional] - row 2 column 2\nResources: iers\nChildren: Matrix, m00, m10, m20, m01, m11, m21, m02, m12, m22, kind, transpose(), inverse(), determinant(), normalise(), multiply_transpose(), rotate_axis(), children(), fields(), functions(), help(), available()\nExample:\n# Rotate a vector from ICRF into Earth-fixed coordinates\n   let t = time(2026,1,1,0,0,0);\n   let v = matrix(icrf, earthfixed, t) * vector(1, 0, 0);\n   print v.x(), v.y(), v.z();","compact":"Function: matrix - creates a matrix system value","search_text":"function:matrix matrix matrix function creates a matrix system value matrix(x0: Number, y0: Number, z0: Number) -> Matrix matrix(from: Axis, to: Axis, time: Time) -> Matrix matrix(m00: Number, m10: Number, m20: Number, m01: Number, m11: Number, m21: Number, m02: Number, m12: Number, m22: Number) -> Matrix x0 Number first diagonal value, or first column x for a 9-value matrix y0 Number second diagonal value, or first column y for a 9-value matrix z0 Number third diagonal value, or first column z for a 9-value matrix from Axis source axis such as icrf, tod, ef, or topographic to Axis target axis such as icrf, tod, ef, or topographic time Time time for the axis transform m00 Number row 0 column 0 m10 Number row 1 column 0 m20 Number row 2 column 0 m01 Number row 0 column 1 m11 Number row 1 column 1 m21 Number row 2 column 1 m02 Number row 0 column 2 m12 Number row 1 column 2 m22 Number row 2 column 2 iers"},{"id":"function:unit","name":"unit","path":"unit","kind":"function","aliases":[],"description":"creates a unit system value","syntax":["unit(name: Text) -> Unit"],"examples":["# Prepare a unit for quantity conversion\nprint deg;"],"arguments":[{"name":"name","type":"Text","required":true,"description":"unit name such as km, au, deg, or rad"}],"children":["type:Unit","field:Unit.name","field:Unit.dimension","field:Unit.factor_to_base","member:Unit.children","member:Unit.fields","member:Unit.functions","value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: unit - creates a unit system value\nSyntax:\n  unit(name: Text) -> Unit\nArguments:\n  name: Text - unit name such as km, au, deg, or rad\nChildren: Unit, name, dimension, factor_to_base, children(), fields(), functions(), help(), available()\nExample:\n# Prepare a unit for quantity conversion\n   print deg;","compact":"Function: unit - creates a unit system value","search_text":"function:unit unit unit function creates a unit system value unit(name: Text) -> Unit name Text unit name such as km, au, deg, or rad"},{"id":"function:state","name":"state","path":"state","kind":"function","aliases":[],"description":"creates an orbital state from ephemeris data or explicit initial conditions","syntax":["state(body: Body, time: Time, location: Location, origin: Origin, axis: Axis, correction: Correction, orbit: Orbit, position: Vector, velocity: Vector, mass: Number, xmu: Number) -> State","state(template: State, body: Body) -> State"],"examples":["# Convert ephemeris position and velocity into orbital elements\nlet t = time(2026,1,1,0,0,0);\nlet earth_state = state(earth, t, barycentric, icrf, no_correction);\nlet sun_state = state(sun, t, barycentric, icrf, no_correction);\nlet orbit = earth_state.orbit_around(sun_state);\nlet el = orbit.elements();\nprint earth_state.position().length(), earth_state.velocity().length(), el.e;"],"arguments":[{"name":"body","type":"Body","required":false,"description":"solar-system body"},{"name":"time","type":"Time","required":false,"description":"time for the state; defaults to current UTC time"},{"name":"location","type":"Location","required":false,"description":"optional observer location"},{"name":"origin","type":"Origin","required":false,"description":"default origin such as barycentric or geocentric"},{"name":"axis","type":"Axis","required":false,"description":"default axis such as icrf, tod, ef, or topographic"},{"name":"correction","type":"Correction","required":false,"description":"default correction model"},{"name":"orbit","type":"Orbit","required":false,"description":"explicit two-body orbit to resolve into a barycentric ICRF state"},{"name":"position","type":"Vector","required":false,"description":"explicit barycentric ICRF position in kilometers"},{"name":"velocity","type":"Vector","required":false,"description":"explicit barycentric ICRF velocity in kilometers per day"},{"name":"mass","type":"Number","required":false,"description":"override body mass in kg for integrated systems"},{"name":"xmu","type":"Number","required":false,"description":"override gravitational parameter in km^3/s^2 for integrated systems"},{"name":"template","type":"State","required":false,"description":"existing state whose time/location/defaults are reused"}],"children":["type:State","field:State.body","field:State.time","field:State.location","field:State.origin","field:State.axis","field:State.correction","field:State.ephemeris","field:State.pos_bc_icrf","field:State.vel_bc_icrf","field:State.pos_gc_icrf","field:State.vel_gc_icrf","field:State.pos_gc_tod","field:State.vel_gc_tod","field:State.pos_gc_ef","field:State.vel_gc_ef","member:State.position","member:State.velocity","member:State.ra","member:State.dec","member:State.geocentric","member:State.topographic","member:State.observer","member:State.orbit_around","member:State.shadow","member:State.limb","member:State.profile","member:State.horizon","member:State.children","member:State.fields","member:State.functions","value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris","iers"],"doc":"Function: state - creates an orbital state from ephemeris data or explicit initial conditions\nSyntax:\n  state(body: Body, time: Time, location: Location, origin: Origin, axis: Axis, correction: Correction, orbit: Orbit, position: Vector, velocity: Vector, mass: Number, xmu: Number) -> State\n  state(template: State, body: Body) -> State\nArguments:\n  body: Body [optional] - solar-system body\n  time: Time [optional] - time for the state; defaults to current UTC time\n  location: Location [optional] - optional observer location\n  origin: Origin [optional] - default origin such as barycentric or geocentric\n  axis: Axis [optional] - default axis such as icrf, tod, ef, or topographic\n  correction: Correction [optional] - default correction model\n  orbit: Orbit [optional] - explicit two-body orbit to resolve into a barycentric ICRF state\n  position: Vector [optional] - explicit barycentric ICRF position in kilometers\n  velocity: Vector [optional] - explicit barycentric ICRF velocity in kilometers per day\n  mass: Number [optional] - override body mass in kg for integrated systems\n  xmu: Number [optional] - override gravitational parameter in km^3/s^2 for integrated systems\n  template: State [optional] - existing state whose time/location/defaults are reused\nResources: ephemeris, iers\nChildren: State, body, time, location, origin, axis, correction, ephemeris, pos_bc_icrf, vel_bc_icrf, pos_gc_icrf, vel_gc_icrf, pos_gc_tod, vel_gc_tod, pos_gc_ef, vel_gc_ef, position(), velocity(), ra(), dec(), geocentric(), topographic(), observer(), orbit_around(), shadow(), limb(), profile(), horizon(), children(), fields(), functions(), help(), available()\nExample:\n# Convert ephemeris position and velocity into orbital elements\n   let t = time(2026,1,1,0,0,0);\n   let earth_state = state(earth, t, barycentric, icrf, no_correction);\n   let sun_state = state(sun, t, barycentric, icrf, no_correction);\n   let orbit = earth_state.orbit_around(sun_state);\n   let el = orbit.elements();\n   print earth_state.position().length(), earth_state.velocity().length(), el.e;","compact":"Function: state - creates an orbital state from ephemeris data or explicit initial conditions","search_text":"function:state state state function creates an orbital state from ephemeris data or explicit initial conditions state(body: Body, time: Time, location: Location, origin: Origin, axis: Axis, correction: Correction, orbit: Orbit, position: Vector, velocity: Vector, mass: Number, xmu: Number) -> State state(template: State, body: Body) -> State body Body solar-system body time Time time for the state; defaults to current UTC time location Location optional observer location origin Origin default origin such as barycentric or geocentric axis Axis default axis such as icrf, tod, ef, or topographic correction Correction default correction model orbit Orbit explicit two-body orbit to resolve into a barycentric ICRF state position Vector explicit barycentric ICRF position in kilometers velocity Vector explicit barycentric ICRF velocity in kilometers per day mass Number override body mass in kg for integrated systems xmu Number override gravitational parameter in km^3/s^2 for integrated systems template State existing state whose time/location/defaults are reused ephemeris iers"},{"id":"function:places","name":"places","path":"places","kind":"function","aliases":["placedb"],"description":"opens the GeoNames places resource","syntax":["places(name: Text|Number, id: Number, country: Text|Country|Place, admin1: Text|Admin1|Admin2|Place, admin2: Text|Admin2|Place, limit: Number) -> Places"],"examples":["# Open the place database for lookup\nprint places().find(\"Oslo\");","# Open the place database for lookup\nprint places(name:\"Oslo\", country:\"Norway\").first();","# Open the place database for lookup\nprint places(id:3143244).first();","# Open the place database for lookup\nprint places().nearest(location(60, 10));"],"arguments":[{"name":"name","type":"Text|Number","required":false,"description":"place name or search text used to narrow this places view"},{"name":"id","type":"Number","required":false,"description":"GeoNames id used to narrow this places view"},{"name":"country","type":"Text|Country|Place","required":false,"description":"country filter for this places view"},{"name":"admin1","type":"Text|Admin1|Admin2|Place","required":false,"description":"admin1 filter for this places view"},{"name":"admin2","type":"Text|Admin2|Place","required":false,"description":"admin2 filter for this places view"},{"name":"limit","type":"Number","required":false,"description":"maximum number of name matches retained by this places view"}],"children":["type:Places","field:Places.count","field:Places.type_count","member:Places.first","member:Places.all","member:Places.find","member:Places.search","member:Places.nearest","member:Places.nearby","member:Places.index","member:Places.types","member:Places.children","member:Places.fields","member:Places.functions","value_member:Callable.help","value_member:Callable.available"],"resources":["places"],"doc":"Function: places - opens the GeoNames places resource\nSyntax:\n  places(name: Text|Number, id: Number, country: Text|Country|Place, admin1: Text|Admin1|Admin2|Place, admin2: Text|Admin2|Place, limit: Number) -> Places\nAliases: placedb\nArguments:\n  name: Text|Number [optional] - place name or search text used to narrow this places view\n  id: Number [optional] - GeoNames id used to narrow this places view\n  country: Text|Country|Place [optional] - country filter for this places view\n  admin1: Text|Admin1|Admin2|Place [optional] - admin1 filter for this places view\n  admin2: Text|Admin2|Place [optional] - admin2 filter for this places view\n  limit: Number [optional] - maximum number of name matches retained by this places view\nResources: places\nChildren: Places, count, type_count, first(), all(), find(), search(), nearest(), nearby(), index(), types(), children(), fields(), functions(), help(), available()\nExamples:\n# Open the place database for lookup\n   print places().find(\"Oslo\");\n\n# Open the place database for lookup\n   print places(name:\"Oslo\", country:\"Norway\").first();\n\n# Open the place database for lookup\n   print places(id:3143244).first();\n\n# Open the place database for lookup\n   print places().nearest(location(60, 10));","compact":"Function: places - opens the GeoNames places resource","search_text":"function:places places places function opens the GeoNames places resource placedb places(name: Text|Number, id: Number, country: Text|Country|Place, admin1: Text|Admin1|Admin2|Place, admin2: Text|Admin2|Place, limit: Number) -> Places name Text|Number place name or search text used to narrow this places view id Number GeoNames id used to narrow this places view country Text|Country|Place country filter for this places view admin1 Text|Admin1|Admin2|Place admin1 filter for this places view admin2 Text|Admin2|Place admin2 filter for this places view limit Number maximum number of name matches retained by this places view places"},{"id":"function:place","name":"place","path":"place","kind":"function","aliases":[],"description":"creates a custom Earth place from a location and timezone","syntax":["place(id: Number) -> Place|Unavailable","place(name: Text, location: Location, timezone: Timezone|Text) -> Place"],"examples":["# Look up or define a named place\nprint places().find(\"Oslo\");","# Look up or define a named place\nprint place(\"Cabin\", location(60, 10));"],"arguments":[{"name":"id","type":"Number","required":false,"description":"GeoNames place id"},{"name":"name","type":"Text","required":false,"description":"custom place name"},{"name":"location","type":"Location","required":false,"description":"Earth location"},{"name":"timezone","type":"Timezone|Text","required":false,"description":"timezone; inferred from location when omitted"}],"children":["type:Place","field:Place.id","field:Place.name","field:Place.ascii_name","field:Place.names","field:Place.latitude","field:Place.longitude","field:Place.feature_class","field:Place.feature_code","field:Place.place_type","field:Place.country_code","field:Place.admin1_code","field:Place.admin2_code","field:Place.population","field:Place.elevation_m","field:Place.dem_m","field:Place.timezone_id","field:Place.modified","field:Place.importance","field:Place.distance_km","member:Place.location","member:Place.timezone","member:Place.country","member:Place.admin1","member:Place.admin2","member:Place.children","member:Place.fields","member:Place.functions","value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: place - creates a custom Earth place from a location and timezone\nSyntax:\n  place(id: Number) -> Place|Unavailable\n  place(name: Text, location: Location, timezone: Timezone|Text) -> Place\nArguments:\n  id: Number [optional] - GeoNames place id\n  name: Text [optional] - custom place name\n  location: Location [optional] - Earth location\n  timezone: Timezone|Text [optional] - timezone; inferred from location when omitted\nChildren: Place, id, name, ascii_name, names, latitude, longitude, feature_class, feature_code, place_type, country_code, admin1_code, admin2_code, population, elevation_m, dem_m, timezone_id, modified, importance, distance_km, location(), timezone(), country(), admin1(), admin2(), children(), fields(), functions(), help(), available()\nExamples:\n# Look up or define a named place\n   print places().find(\"Oslo\");\n\n# Look up or define a named place\n   print place(\"Cabin\", location(60, 10));","compact":"Function: place - creates a custom Earth place from a location and timezone","search_text":"function:place place place function creates a custom Earth place from a location and timezone place(id: Number) -> Place|Unavailable place(name: Text, location: Location, timezone: Timezone|Text) -> Place id Number GeoNames place id name Text custom place name location Location Earth location timezone Timezone|Text timezone; inferred from location when omitted"},{"id":"function:country","name":"country","path":"country","kind":"function","aliases":[],"description":"resolves a country from a name, ISO code, Place, or Country","syntax":["country(country: Text|Place|Country) -> Country"],"examples":["# Look up country metadata for a place\nprint country(\"Norway\");","# Look up country metadata for a place\nprint places().find(\"Jar\", country(\"NO\"));"],"arguments":[{"name":"country","type":"Text|Place|Country","required":true,"description":"country name, ISO alpha-2 code, Place, or Country"}],"children":["type:Country","field:Country.code","field:Country.name","field:Country.place_id","member:Country.children","member:Country.fields","member:Country.functions","value_member:Callable.help","value_member:Callable.available"],"resources":["places"],"doc":"Function: country - resolves a country from a name, ISO code, Place, or Country\nSyntax:\n  country(country: Text|Place|Country) -> Country\nArguments:\n  country: Text|Place|Country - country name, ISO alpha-2 code, Place, or Country\nResources: places\nChildren: Country, code, name, place_id, children(), fields(), functions(), help(), available()\nExamples:\n# Look up country metadata for a place\n   print country(\"Norway\");\n\n# Look up country metadata for a place\n   print places().find(\"Jar\", country(\"NO\"));","compact":"Function: country - resolves a country from a name, ISO code, Place, or Country","search_text":"function:country country country function resolves a country from a name, ISO code, Place, or Country country(country: Text|Place|Country) -> Country country Text|Place|Country country name, ISO alpha-2 code, Place, or Country places"},{"id":"function:admin1","name":"admin1","path":"admin1","kind":"function","aliases":[],"description":"resolves a first-level administrative region","syntax":["admin1(admin1: Text|Number|Admin1, country: Text|Country|Place) -> Admin1"],"examples":["# Look up first-level administrative metadata\nprint admin1(\"Akershus\", country(\"NO\"));","# Look up first-level administrative metadata\nprint places().find(\"Jar\", admin1(\"01\", norway));"],"arguments":[{"name":"admin1","type":"Text|Number|Admin1","required":true,"description":"admin1 name or GeoNames admin1 code"},{"name":"country","type":"Text|Country|Place","required":true,"description":"country containing the admin1 region"}],"children":["type:Admin1","field:Admin1.country_code","field:Admin1.code","field:Admin1.name","field:Admin1.place_id","member:Admin1.children","member:Admin1.fields","member:Admin1.functions","value_member:Callable.help","value_member:Callable.available"],"resources":["places"],"doc":"Function: admin1 - resolves a first-level administrative region\nSyntax:\n  admin1(admin1: Text|Number|Admin1, country: Text|Country|Place) -> Admin1\nArguments:\n  admin1: Text|Number|Admin1 - admin1 name or GeoNames admin1 code\n  country: Text|Country|Place - country containing the admin1 region\nResources: places\nChildren: Admin1, country_code, code, name, place_id, children(), fields(), functions(), help(), available()\nExamples:\n# Look up first-level administrative metadata\n   print admin1(\"Akershus\", country(\"NO\"));\n\n# Look up first-level administrative metadata\n   print places().find(\"Jar\", admin1(\"01\", norway));","compact":"Function: admin1 - resolves a first-level administrative region","search_text":"function:admin1 admin1 admin1 function resolves a first-level administrative region admin1(admin1: Text|Number|Admin1, country: Text|Country|Place) -> Admin1 admin1 Text|Number|Admin1 admin1 name or GeoNames admin1 code country Text|Country|Place country containing the admin1 region places"},{"id":"function:admin2","name":"admin2","path":"admin2","kind":"function","aliases":[],"description":"resolves a second-level administrative region","syntax":["admin2(admin2: Text|Number|Admin2, admin1: Admin1|Place) -> Admin2"],"examples":["# Look up second-level administrative metadata\nprint admin2(\"3201\", admin1(\"01\", norway));","# Look up second-level administrative metadata\nprint places().find(\"Jar\", admin2(\"3201\", admin1(\"01\", norway)));"],"arguments":[{"name":"admin2","type":"Text|Number|Admin2","required":true,"description":"admin2 name or GeoNames admin2 code"},{"name":"admin1","type":"Admin1|Place","required":true,"description":"admin1 region containing the admin2 region"}],"children":["type:Admin2","field:Admin2.country_code","field:Admin2.admin1_code","field:Admin2.code","field:Admin2.name","field:Admin2.place_id","member:Admin2.children","member:Admin2.fields","member:Admin2.functions","value_member:Callable.help","value_member:Callable.available"],"resources":["places"],"doc":"Function: admin2 - resolves a second-level administrative region\nSyntax:\n  admin2(admin2: Text|Number|Admin2, admin1: Admin1|Place) -> Admin2\nArguments:\n  admin2: Text|Number|Admin2 - admin2 name or GeoNames admin2 code\n  admin1: Admin1|Place - admin1 region containing the admin2 region\nResources: places\nChildren: Admin2, country_code, admin1_code, code, name, place_id, children(), fields(), functions(), help(), available()\nExamples:\n# Look up second-level administrative metadata\n   print admin2(\"3201\", admin1(\"01\", norway));\n\n# Look up second-level administrative metadata\n   print places().find(\"Jar\", admin2(\"3201\", admin1(\"01\", norway)));","compact":"Function: admin2 - resolves a second-level administrative region","search_text":"function:admin2 admin2 admin2 function resolves a second-level administrative region admin2(admin2: Text|Number|Admin2, admin1: Admin1|Place) -> Admin2 admin2 Text|Number|Admin2 admin2 name or GeoNames admin2 code admin1 Admin1|Place admin1 region containing the admin2 region places"},{"id":"function:timezones","name":"timezones","path":"timezones","kind":"function","aliases":["timezonedb","tzdb"],"description":"opens the IANA timezone boundary resource","syntax":["timezones() -> Timezones"],"examples":["# Open the timezone database for lookup\nprint timezones().find(\"Europe/Oslo\");","# Open the timezone database for lookup\nprint timezones().at(location(60, 10));"],"arguments":[],"children":["type:Timezones","field:Timezones.count","field:Timezones.release","member:Timezones.find","member:Timezones.at","member:Timezones.ids","member:Timezones.validate_places","member:Timezones.children","member:Timezones.fields","member:Timezones.functions","value_member:Callable.help","value_member:Callable.available"],"resources":["timezones"],"doc":"Function: timezones - opens the IANA timezone boundary resource\nSyntax:\n  timezones() -> Timezones\nAliases: timezonedb, tzdb\nResources: timezones\nChildren: Timezones, count, release, find(), at(), ids(), validate_places(), children(), fields(), functions(), help(), available()\nExamples:\n# Open the timezone database for lookup\n   print timezones().find(\"Europe/Oslo\");\n\n# Open the timezone database for lookup\n   print timezones().at(location(60, 10));","compact":"Function: timezones - opens the IANA timezone boundary resource","search_text":"function:timezones timezones timezones function opens the IANA timezone boundary resource timezonedb tzdb timezones() -> Timezones timezones"},{"id":"function:timezone","name":"timezone","path":"timezone","kind":"function","aliases":["tz"],"description":"creates an IANA timezone from an id or Earth location","syntax":["timezone(timezone: Text|Location|Timezone) -> Timezone"],"examples":["# Resolve an IANA timezone id\nlet zone = timezone(\"Europe/Oslo\");\nprint zone.id, zone.location();","# Find the timezone for a latitude-longitude location\nlet loc = location(60, 10);\nprint timezone(loc).id;","# Format a UTC time in a resolved timezone\nlet zone = timezone(\"Europe/Oslo\");\nprint time(2026,6,7,12,0,0).local(zone).iso;"],"arguments":[{"name":"timezone","type":"Text|Location|Timezone","required":true,"description":"IANA timezone id, Location, or existing Timezone"}],"children":["type:Timezone","field:Timezone.id","field:Timezone.aliases","field:Timezone.countries","field:Timezone.comment","field:Timezone.latitude","field:Timezone.longitude","field:Timezone.release","member:Timezone.local","member:Timezone.offset","member:Timezone.location","member:Timezone.children","member:Timezone.fields","member:Timezone.functions","value_member:Callable.help","value_member:Callable.available"],"resources":["timezones"],"doc":"Function: timezone - creates an IANA timezone from an id or Earth location\nSyntax:\n  timezone(timezone: Text|Location|Timezone) -> Timezone\nAliases: tz\nArguments:\n  timezone: Text|Location|Timezone - IANA timezone id, Location, or existing Timezone\nResources: timezones\nChildren: Timezone, id, aliases, countries, comment, latitude, longitude, release, local(), offset(), location(), children(), fields(), functions(), help(), available()\nExamples:\n# Resolve an IANA timezone id\n   let zone = timezone(\"Europe/Oslo\");\n   print zone.id, zone.location();\n\n# Find the timezone for a latitude-longitude location\n   let loc = location(60, 10);\n   print timezone(loc).id;\n\n# Format a UTC time in a resolved timezone\n   let zone = timezone(\"Europe/Oslo\");\n   print time(2026,6,7,12,0,0).local(zone).iso;","compact":"Function: timezone - creates an IANA timezone from an id or Earth location","search_text":"function:timezone timezone timezone function creates an IANA timezone from an id or Earth location tz timezone(timezone: Text|Location|Timezone) -> Timezone timezone Text|Location|Timezone IANA timezone id, Location, or existing Timezone timezones"},{"id":"function:stars","name":"stars","path":"stars","kind":"function","aliases":["stardb"],"description":"opens the Yale Bright Star Catalogue resource","syntax":["stars() -> Stars"],"examples":["# Look up Sirius in the star catalog and print its constellation\nlet sirius = stars().find(\"Sirius\");\nprint sirius.name, sirius.constellation();","# Round-trip through the primary star id\nlet sirius = stars().find(\"sirius\");\nprint sirius.id, stars().find(sirius.id).name;","# Explore uncertain spellings with a glob pattern\nlet matches = stars().glob(\"sir*\");\nprint matches.length(), matches[0].name;"],"arguments":[],"children":["type:Stars","field:Stars.count","member:Stars.find","member:Stars.glob","member:Stars.nearest","member:Stars.all","member:Stars.visible","member:Stars.children","member:Stars.fields","member:Stars.functions","value_member:Callable.help","value_member:Callable.available"],"resources":["iers","ephemeris","stars","constellations"],"doc":"Function: stars - opens the Yale Bright Star Catalogue resource\nSyntax:\n  stars() -> Stars\nAliases: stardb\nResources: iers, ephemeris, stars, constellations\nChildren: Stars, count, find(), glob(), nearest(), all(), visible(), children(), fields(), functions(), help(), available()\nExamples:\n# Look up Sirius in the star catalog and print its constellation\n   let sirius = stars().find(\"Sirius\");\n   print sirius.name, sirius.constellation();\n\n# Round-trip through the primary star id\n   let sirius = stars().find(\"sirius\");\n   print sirius.id, stars().find(sirius.id).name;\n\n# Explore uncertain spellings with a glob pattern\n   let matches = stars().glob(\"sir*\");\n   print matches.length(), matches[0].name;","compact":"Function: stars - opens the Yale Bright Star Catalogue resource","search_text":"function:stars stars stars function opens the Yale Bright Star Catalogue resource stardb stars() -> Stars iers ephemeris stars constellations"},{"id":"function:constellations","name":"constellations","path":"constellations","kind":"function","aliases":[],"description":"opens the IAU constellation boundary resource","syntax":["constellations() -> ConstellationDb"],"examples":["# Find the constellation containing a sky direction\nlet d = direction(ra: 88.8, dec: 7.4);\nprint constellations().inside(d);"],"arguments":[],"children":["type:ConstellationDb","field:ConstellationDb.count","member:ConstellationDb.find","member:ConstellationDb.inside","member:ConstellationDb.children","member:ConstellationDb.fields","member:ConstellationDb.functions","value_member:Callable.help","value_member:Callable.available"],"resources":["constellations"],"doc":"Function: constellations - opens the IAU constellation boundary resource\nSyntax:\n  constellations() -> ConstellationDb\nResources: constellations\nChildren: ConstellationDb, count, find(), inside(), children(), fields(), functions(), help(), available()\nExample:\n# Find the constellation containing a sky direction\n   let d = direction(ra: 88.8, dec: 7.4);\n   print constellations().inside(d);","compact":"Function: constellations - opens the IAU constellation boundary resource","search_text":"function:constellations constellations constellations function opens the IAU constellation boundary resource constellations() -> ConstellationDb constellations"},{"id":"function:graphics","name":"graphics","path":"graphics","kind":"function","aliases":["plot"],"description":"creates a deferred SVG graphics object","syntax":["graphics(time: Time, location: Location|Observer, center: Direction, theme: Text, center_az: Number, center_alt: Number, fov: Number) -> Graphics"],"examples":["# Plot a local Sun-altitude curve and report the output file\nlet loc = location(60,10);\nlet obs = loc.observer(0.002);\nlet t0 = time(2026,6,21,0,0,0);\nlet g = graphics().function((h): altitude(sun, t0.add_hours(h), obs), range(0,24,1)).title(\"Sun altitude\");\ng.write_svg(\"sun-altitude.svg\");\nprint \"wrote sun-altitude.svg\";"],"arguments":[{"name":"time","type":"Time","required":false,"description":"default sky-view time"},{"name":"location","type":"Location|Observer","required":false,"description":"default sky-view observer"},{"name":"center","type":"Direction","required":false,"description":"default sky-view center direction"},{"name":"theme","type":"Text","required":false,"description":"graphics theme, either dark or light"},{"name":"center_az","type":"Number","required":false,"description":"default sky-view center azimuth in degrees"},{"name":"center_alt","type":"Number","required":false,"description":"default sky-view center altitude in degrees"},{"name":"fov","type":"Number","required":false,"description":"default sky-view field of view in degrees"}],"children":["type:Graphics","member:Graphics.line","member:Graphics.points","member:Graphics.polygon","member:Graphics.text","member:Graphics.function","member:Graphics.title","member:Graphics.xlabel","member:Graphics.ylabel","member:Graphics.xrange","member:Graphics.yrange","member:Graphics.xticks","member:Graphics.yticks","member:Graphics.dark","member:Graphics.light","member:Graphics.sky_view","member:Graphics.sky_grid","member:Graphics.sky_stars","member:Graphics.sky_constellations","member:Graphics.sky_planets","member:Graphics.sky_horizon","member:Graphics.svg","member:Graphics.write_svg","member:Graphics.children","member:Graphics.fields","member:Graphics.functions","value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: graphics - creates a deferred SVG graphics object\nSyntax:\n  graphics(time: Time, location: Location|Observer, center: Direction, theme: Text, center_az: Number, center_alt: Number, fov: Number) -> Graphics\nAliases: plot\nArguments:\n  time: Time [optional] - default sky-view time\n  location: Location|Observer [optional] - default sky-view observer\n  center: Direction [optional] - default sky-view center direction\n  theme: Text [optional] - graphics theme, either dark or light\n  center_az: Number [optional] - default sky-view center azimuth in degrees\n  center_alt: Number [optional] - default sky-view center altitude in degrees\n  fov: Number [optional] - default sky-view field of view in degrees\nChildren: Graphics, line(), points(), polygon(), text(), function(), title(), xlabel(), ylabel(), xrange(), yrange(), xticks(), yticks(), dark(), light(), sky_view(), sky_grid(), sky_stars(), sky_constellations(), sky_planets(), sky_horizon(), svg(), write_svg(), children(), fields(), functions(), help(), available()\nExample:\n# Plot a local Sun-altitude curve and report the output file\n   let loc = location(60,10);\n   let obs = loc.observer(0.002);\n   let t0 = time(2026,6,21,0,0,0);\n   let g = graphics().function((h): altitude(sun, t0.add_hours(h), obs), range(0,24,1)).title(\"Sun altitude\");\n   g.write_svg(\"sun-altitude.svg\");\n   print \"wrote sun-altitude.svg\";","compact":"Function: graphics - creates a deferred SVG graphics object","search_text":"function:graphics graphics graphics function creates a deferred SVG graphics object plot graphics(time: Time, location: Location|Observer, center: Direction, theme: Text, center_az: Number, center_alt: Number, fov: Number) -> Graphics time Time default sky-view time location Location|Observer default sky-view observer center Direction default sky-view center direction theme Text graphics theme, either dark or light center_az Number default sky-view center azimuth in degrees center_alt Number default sky-view center altitude in degrees fov Number default sky-view field of view in degrees"},{"id":"function:target","name":"target","path":"target","kind":"function","aliases":[],"description":"creates a value/direction target for search(...), or passes through minimum/maximum","syntax":["target(value: Number|SearchGoal, direction: SearchDirection) -> Target|SearchGoal"],"examples":["# Build a target crossing goal for morning Sun altitude\nlet loc = location(58.9666667, 5.7333333);\nlet day = time(2026,6,21,0,0,0);\nlet f = (h): altitude(sun, day.add_hours(h), loc);\nprint search(f, range(0, 24, 0.25), target(10, increasing)).next();"],"arguments":[{"name":"value","type":"Number|SearchGoal","required":true,"description":"numeric crossing value, minimum, or maximum"},{"name":"direction","type":"SearchDirection","required":false,"description":"any, increasing, or decreasing"}],"children":["type:Target","field:Target.value","field:Target.direction","member:Target.children","member:Target.fields","member:Target.functions","value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: target - creates a value/direction target for search(...), or passes through minimum/maximum\nSyntax:\n  target(value: Number|SearchGoal, direction: SearchDirection) -> Target|SearchGoal\nArguments:\n  value: Number|SearchGoal - numeric crossing value, minimum, or maximum\n  direction: SearchDirection [optional] - any, increasing, or decreasing\nChildren: Target, value, direction, children(), fields(), functions(), help(), available()\nExample:\n# Build a target crossing goal for morning Sun altitude\n   let loc = location(58.9666667, 5.7333333);\n   let day = time(2026,6,21,0,0,0);\n   let f = (h): altitude(sun, day.add_hours(h), loc);\n   print search(f, range(0, 24, 0.25), target(10, increasing)).next();","compact":"Function: target - creates a value/direction target for search(...), or passes through minimum/maximum","search_text":"function:target target target function creates a value/direction target for search(...), or passes through minimum/maximum target(value: Number|SearchGoal, direction: SearchDirection) -> Target|SearchGoal value Number|SearchGoal numeric crossing value, minimum, or maximum direction SearchDirection any, increasing, or decreasing"},{"id":"function:range","name":"range","path":"range","kind":"function","aliases":[],"description":"creates a numeric or time range for search(...)","syntax":["range(start: Number|Time, stop: Number, step: Number) -> Range","range(start: Number|Time, stop: Number|Time, step: Number) -> Range"],"examples":["# Build a one-day hour range for a local altitude scan\nlet hours = range(0, 24, 2);\nlet t0 = time(2026,6,21,0,0,0);\nfor h=hours.start,hours.stop,hours.step {\n  print t0.add_hours(h).utc();\n}"],"arguments":[{"name":"start","type":"Number|Time","required":true,"description":"start of the range"},{"name":"stop","type":"Number","required":true,"description":"infinity or -infinity"},{"name":"step","type":"Number","required":false,"description":"signed sampling step; time ranges use UTC days"}],"children":["type:Range","field:Range.kind","field:Range.bounded","field:Range.start","field:Range.stop","field:Range.step","member:Range.children","member:Range.fields","member:Range.functions","value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: range - creates a numeric or time range for search(...)\nSyntax:\n  range(start: Number|Time, stop: Number, step: Number) -> Range\n  range(start: Number|Time, stop: Number|Time, step: Number) -> Range\nArguments:\n  start: Number|Time - start of the range\n  stop: Number - infinity or -infinity\n  step: Number [optional] - signed sampling step; time ranges use UTC days\nChildren: Range, kind, bounded, start, stop, step, children(), fields(), functions(), help(), available()\nExample:\n# Build a one-day hour range for a local altitude scan\n   let hours = range(0, 24, 2);\n   let t0 = time(2026,6,21,0,0,0);\n   for h=hours.start,hours.stop,hours.step {\n   print t0.add_hours(h).utc();\n   }","compact":"Function: range - creates a numeric or time range for search(...)","search_text":"function:range range range function creates a numeric or time range for search(...) range(start: Number|Time, stop: Number, step: Number) -> Range range(start: Number|Time, stop: Number|Time, step: Number) -> Range start Number|Time start of the range stop Number infinity or -infinity step Number signed sampling step; time ranges use UTC days"},{"id":"function:search","name":"search","path":"search","kind":"function","aliases":[],"description":"searches for function crossings or local minimum/maximum points","syntax":["search(function: Callable, range: Range, goal: Target|SearchGoal) -> Search"],"examples":["# Search for the morning hour when the Sun reaches ten degrees\nlet loc = location(58.9666667, 5.7333333);\nlet day = time(2026,6,21,0,0,0);\nlet f = (h): altitude(sun, day.add_hours(h), loc);\nprint search(f, range(0, 24, 0.25), target(10, increasing)).next();"],"arguments":[{"name":"function","type":"Callable","required":true,"description":"function of one Number or Time argument returning a Number"},{"name":"range","type":"Range","required":true,"description":"range(start, stop), range(start, stop, step), or range(start, infinity, step)"},{"name":"goal","type":"Target|SearchGoal","required":false,"description":"target value and direction, minimum, or maximum; defaults to target(0, any)"}],"children":["type:Search","field:Search.range","field:Search.target","field:Search.direction","member:Search.next","member:Search.all","member:Search.children","member:Search.fields","member:Search.functions","value_member:Callable.help","value_member:Callable.available"],"resources":["iers"],"doc":"Function: search - searches for function crossings or local minimum/maximum points\nSyntax:\n  search(function: Callable, range: Range, goal: Target|SearchGoal) -> Search\nArguments:\n  function: Callable - function of one Number or Time argument returning a Number\n  range: Range - range(start, stop), range(start, stop, step), or range(start, infinity, step)\n  goal: Target|SearchGoal [optional] - target value and direction, minimum, or maximum; defaults to target(0, any)\nResources: iers\nChildren: Search, range, target, direction, next(), all(), children(), fields(), functions(), help(), available()\nExample:\n# Search for the morning hour when the Sun reaches ten degrees\n   let loc = location(58.9666667, 5.7333333);\n   let day = time(2026,6,21,0,0,0);\n   let f = (h): altitude(sun, day.add_hours(h), loc);\n   print search(f, range(0, 24, 0.25), target(10, increasing)).next();","compact":"Function: search - searches for function crossings or local minimum/maximum points","search_text":"function:search search search function searches for function crossings or local minimum/maximum points search(function: Callable, range: Range, goal: Target|SearchGoal) -> Search function Callable function of one Number or Time argument returning a Number range Range range(start, stop), range(start, stop, step), or range(start, infinity, step) goal Target|SearchGoal target value and direction, minimum, or maximum; defaults to target(0, any) iers"},{"id":"function:forecast","name":"forecast","path":"forecast","kind":"function","aliases":[],"description":"opens a published GFS forecast cycle from the retained stack","syntax":["forecast(index: Number, format: Text) -> Forecast"],"examples":["# Open the latest forecast product and print availability metadata\nlet fc = forecast();\nprint fc.available(), fc.count();"],"arguments":[{"name":"index","type":"Number","required":false,"description":"forecast cycle stack index; 0 is the latest cycle"},{"name":"format","type":"Text","required":false,"description":"optional storage format: \"netcdf\" (default when available), \"grib\", or \"auto\""}],"children":["type:Forecast","field:Forecast.source","field:Forecast.format","field:Forecast.path","field:Forecast.reason","field:Forecast.index","field:Forecast.hour","field:Forecast.run","field:Forecast.run_name","field:Forecast.reference_time","field:Forecast.valid_time","field:Forecast.message_count","member:Forecast.available","member:Forecast.count","member:Forecast.cycle","member:Forecast.cycle_step","member:Forecast.max_time","member:Forecast.spans","member:Forecast.times","member:Forecast.sample","member:Forecast.toc","member:Forecast.messages","member:Forecast.children","member:Forecast.fields","member:Forecast.functions","value_member:Callable.help","value_member:Callable.available"],"resources":["gfs_forecast"],"doc":"Function: forecast - opens a published GFS forecast cycle from the retained stack\nSyntax:\n  forecast(index: Number, format: Text) -> Forecast\nArguments:\n  index: Number [optional] - forecast cycle stack index; 0 is the latest cycle\n  format: Text [optional] - optional storage format: \"netcdf\" (default when available), \"grib\", or \"auto\"\nResources: gfs_forecast\nChildren: Forecast, source, format, path, reason, index, hour, run, run_name, reference_time, valid_time, message_count, available(), count(), cycle(), cycle_step(), max_time(), spans(), times(), sample(), toc(), messages(), children(), fields(), functions(), help(), available()\nExample:\n# Open the latest forecast product and print availability metadata\n   let fc = forecast();\n   print fc.available(), fc.count();","compact":"Function: forecast - opens a published GFS forecast cycle from the retained stack","search_text":"function:forecast forecast forecast function opens a published GFS forecast cycle from the retained stack forecast(index: Number, format: Text) -> Forecast index Number forecast cycle stack index; 0 is the latest cycle format Text optional storage format: \"netcdf\" (default when available), \"grib\", or \"auto\" gfs_forecast"},{"id":"function:netcdf","name":"netcdf","path":"netcdf","kind":"function","aliases":[],"description":"opens a NetCDF dataset and returns its dimensions and variables","syntax":["netcdf(source: FieldSource) -> NetCDF"],"examples":["# Open a NetCDF-backed topography source and inspect its path\nlet nc = netcdf(earth_topography);\nprint nc.path, nc.variables.length();"],"arguments":[{"name":"source","type":"FieldSource","required":true,"description":"approved field source constant such as earth_topography or moon_topography"}],"children":["type:NetCDF","field:NetCDF.source","field:NetCDF.path","field:NetCDF.dimensions","field:NetCDF.variables","member:NetCDF.variable","member:NetCDF.children","member:NetCDF.fields","member:NetCDF.functions","value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: netcdf - opens a NetCDF dataset and returns its dimensions and variables\nSyntax:\n  netcdf(source: FieldSource) -> NetCDF\nArguments:\n  source: FieldSource - approved field source constant such as earth_topography or moon_topography\nChildren: NetCDF, source, path, dimensions, variables, variable(), children(), fields(), functions(), help(), available()\nExample:\n# Open a NetCDF-backed topography source and inspect its path\n   let nc = netcdf(earth_topography);\n   print nc.path, nc.variables.length();","compact":"Function: netcdf - opens a NetCDF dataset and returns its dimensions and variables","search_text":"function:netcdf netcdf netcdf function opens a NetCDF dataset and returns its dimensions and variables netcdf(source: FieldSource) -> NetCDF source FieldSource approved field source constant such as earth_topography or moon_topography"},{"id":"function:field","name":"field","path":"field","kind":"function","aliases":[],"description":"creates a global scalar field from a NetCDF variable","syntax":["field(source: FieldSource|NetCDF, variable: Text, body: Text|Body, lat: Text, lon: Text, indices: Object) -> Field"],"examples":["# Sample a topography field at a location\nlet loc = location(60.0, 10.0);\nlet terrain = topography(earth);\nprint sample(terrain, loc);"],"arguments":[{"name":"source","type":"FieldSource|NetCDF","required":true,"description":"approved field source constant or opened NetCDF dataset"},{"name":"variable","type":"Text","required":false,"description":"variable containing the scalar field; defaults from the source constant"},{"name":"body","type":"Text|Body","required":false,"description":"body this field is attached to"},{"name":"lat","type":"Text","required":false,"description":"latitude coordinate variable name"},{"name":"lon","type":"Text","required":false,"description":"longitude coordinate variable name"},{"name":"indices","type":"Object","required":false,"description":"fixed indices for non-lat/lon dimensions"}],"children":["type:Field","field:Field.source","field:Field.path","field:Field.variable","field:Field.body","field:Field.lat","field:Field.lon","field:Field.dimensions","field:Field.indices","member:Field.sample","member:Field.children","member:Field.fields","member:Field.functions","value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: field - creates a global scalar field from a NetCDF variable\nSyntax:\n  field(source: FieldSource|NetCDF, variable: Text, body: Text|Body, lat: Text, lon: Text, indices: Object) -> Field\nArguments:\n  source: FieldSource|NetCDF - approved field source constant or opened NetCDF dataset\n  variable: Text [optional] - variable containing the scalar field; defaults from the source constant\n  body: Text|Body [optional] - body this field is attached to\n  lat: Text [optional] - latitude coordinate variable name\n  lon: Text [optional] - longitude coordinate variable name\n  indices: Object [optional] - fixed indices for non-lat/lon dimensions\nChildren: Field, source, path, variable, body, lat, lon, dimensions, indices, sample(), children(), fields(), functions(), help(), available()\nExample:\n# Sample a topography field at a location\n   let loc = location(60.0, 10.0);\n   let terrain = topography(earth);\n   print sample(terrain, loc);","compact":"Function: field - creates a global scalar field from a NetCDF variable","search_text":"function:field field field function creates a global scalar field from a NetCDF variable field(source: FieldSource|NetCDF, variable: Text, body: Text|Body, lat: Text, lon: Text, indices: Object) -> Field source FieldSource|NetCDF approved field source constant or opened NetCDF dataset variable Text variable containing the scalar field; defaults from the source constant body Text|Body body this field is attached to lat Text latitude coordinate variable name lon Text longitude coordinate variable name indices Object fixed indices for non-lat/lon dimensions"},{"id":"function:topography","name":"topography","path":"topography","kind":"function","aliases":[],"description":"creates an approved global topography field for a body","syntax":["topography(body: Body|Text|FieldSource) -> Field"],"examples":["# Sample Earth terrain height at a location\nlet loc = location(60.0, 10.0);\nlet topo = topography(earth);\nprint sample(topo, loc);"],"arguments":[{"name":"body","type":"Body|Text|FieldSource","required":true,"description":"body with an approved topography dataset, currently earth or moon"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: topography - creates an approved global topography field for a body\nSyntax:\n  topography(body: Body|Text|FieldSource) -> Field\nArguments:\n  body: Body|Text|FieldSource - body with an approved topography dataset, currently earth or moon\nChildren: help(), available()\nExample:\n# Sample Earth terrain height at a location\n   let loc = location(60.0, 10.0);\n   let topo = topography(earth);\n   print sample(topo, loc);","compact":"Function: topography - creates an approved global topography field for a body","search_text":"function:topography topography topography function creates an approved global topography field for a body topography(body: Body|Text|FieldSource) -> Field body Body|Text|FieldSource body with an approved topography dataset, currently earth or moon"},{"id":"function:magnetic","name":"magnetic","path":"magnetic","kind":"function","aliases":[],"description":"creates a magnetic field model handle","syntax":["magnetic(body: Body, time: Time, observer: Observer) -> Magnetic"],"examples":["# Compute the magnetic field at an observer\nprint magnetic(earth).field(time(2025,1,1,0,0,0), location(latitude: 80, longitude: 0).observer());","# Compute the magnetic field at an observer\nprint magnetic(jupiter, time(2026,1,1,0,0,0), location(jupiter, latitude: 0, longitude: 0).observer()).field();"],"arguments":[{"name":"body","type":"Body","required":false,"description":"body to model; Earth uses WMMHR, other bodies use crude dipoles"},{"name":"time","type":"Time","required":false,"description":"default sample time"},{"name":"observer","type":"Observer","required":false,"description":"default observer location"}],"children":["type:Magnetic","field:Magnetic.body","field:Magnetic.time","field:Magnetic.observer","member:Magnetic.field","member:Magnetic.children","member:Magnetic.fields","member:Magnetic.functions","value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: magnetic - creates a magnetic field model handle\nSyntax:\n  magnetic(body: Body, time: Time, observer: Observer) -> Magnetic\nArguments:\n  body: Body [optional] - body to model; Earth uses WMMHR, other bodies use crude dipoles\n  time: Time [optional] - default sample time\n  observer: Observer [optional] - default observer location\nChildren: Magnetic, body, time, observer, field(), children(), fields(), functions(), help(), available()\nExamples:\n# Compute the magnetic field at an observer\n   print magnetic(earth).field(time(2025,1,1,0,0,0), location(latitude: 80, longitude: 0).observer());\n\n# Compute the magnetic field at an observer\n   print magnetic(jupiter, time(2026,1,1,0,0,0), location(jupiter, latitude: 0, longitude: 0).observer()).field();","compact":"Function: magnetic - creates a magnetic field model handle","search_text":"function:magnetic magnetic magnetic function creates a magnetic field model handle magnetic(body: Body, time: Time, observer: Observer) -> Magnetic body Body body to model; Earth uses WMMHR, other bodies use crude dipoles time Time default sample time observer Observer default observer location"},{"id":"function:pages","name":"pages","path":"pages","kind":"function","aliases":[],"description":"creates a data-page builder with optional default body, time, and observer","syntax":["pages(body: Body, time: Time, observer: Location|Observer) -> Pages"],"examples":["# Build a local Moon summary page\nlet page = pages(location(60.0, 10.0), moon).summary(time(2026,1,1,0,0,0));\nprint page.phase, page.illumination;","# Build a chart page for a fixed time\nlet chart = pages(time(2026,1,1,0,0,0)).chart();\nprint chart.bodies.sun.geocentric.longitude, chart.bodies.moon.chart.sign;"],"arguments":[{"name":"body","type":"Body","required":false,"description":"default body for body-oriented pages"},{"name":"time","type":"Time","required":false,"description":"default time for page methods"},{"name":"observer","type":"Location|Observer","required":false,"description":"default observer or surface location for local pages"}],"children":["type:Pages","field:Pages.body","field:Pages.time","field:Pages.observer","member:Pages.sky","member:Pages.chart","member:Pages.summary","member:Pages.sun","member:Pages.moon","member:Pages.almanac","member:Pages.short","member:Pages.small","member:Pages.state","member:Pages.states","member:Pages.table","member:Pages.children","member:Pages.fields","member:Pages.functions","value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: pages - creates a data-page builder with optional default body, time, and observer\nSyntax:\n  pages(body: Body, time: Time, observer: Location|Observer) -> Pages\nArguments:\n  body: Body [optional] - default body for body-oriented pages\n  time: Time [optional] - default time for page methods\n  observer: Location|Observer [optional] - default observer or surface location for local pages\nChildren: Pages, body, time, observer, sky(), chart(), summary(), sun(), moon(), almanac(), short(), small(), state(), states(), table(), children(), fields(), functions(), help(), available()\nExamples:\n# Build a local Moon summary page\n   let page = pages(location(60.0, 10.0), moon).summary(time(2026,1,1,0,0,0));\n   print page.phase, page.illumination;\n\n# Build a chart page for a fixed time\n   let chart = pages(time(2026,1,1,0,0,0)).chart();\n   print chart.bodies.sun.geocentric.longitude, chart.bodies.moon.chart.sign;","compact":"Function: pages - creates a data-page builder with optional default body, time, and observer","search_text":"function:pages pages pages function creates a data-page builder with optional default body, time, and observer pages(body: Body, time: Time, observer: Location|Observer) -> Pages body Body default body for body-oriented pages time Time default time for page methods observer Location|Observer default observer or surface location for local pages"},{"id":"function:help","name":"help","path":"help","kind":"function","aliases":[],"description":"returns the Astrologos calculator manual or one function's syntax","syntax":["help() -> Help","help(name: Text|Any) -> Help|HelpResult|Nil","help(value: Any, name: Text) -> Help|HelpResult|Nil"],"examples":["# Look up documentation from inside Astrologos\nprint help();","# Look up documentation from inside Astrologos\nprint help.search(\"azimuth\");"],"arguments":[{"name":"name","type":"Text|Any","required":false,"description":"registered help topic name or value to inspect"},{"name":"value","type":"Any","required":false,"description":"value whose documentation should be searched"}],"children":["value_member:Callable.help","value_member:Callable.available","value_member:Help.doc","value_member:Help.compact","value_member:Help.search","value_member:Help.examples"],"resources":[],"doc":"Function: help - returns the Astrologos calculator manual or one function's syntax\nSyntax:\n  help() -> Help\n  help(name: Text|Any) -> Help|HelpResult|Nil\n  help(value: Any, name: Text) -> Help|HelpResult|Nil\nArguments:\n  name: Text|Any [optional] - registered help topic name or value to inspect\n  value: Any [optional] - value whose documentation should be searched\nChildren: help(), available(), doc(), compact(), search(), examples()\nExamples:\n# Look up documentation from inside Astrologos\n   print help();\n\n# Look up documentation from inside Astrologos\n   print help.search(\"azimuth\");","compact":"Function: help - returns the Astrologos calculator manual or one function's syntax","search_text":"function:help help help function returns the Astrologos calculator manual or one function's syntax help() -> Help help(name: Text|Any) -> Help|HelpResult|Nil help(value: Any, name: Text) -> Help|HelpResult|Nil name Text|Any registered help topic name or value to inspect value Any value whose documentation should be searched"},{"id":"function:about","name":"about","path":"about","kind":"function","aliases":["disclaimer","licence","license"],"description":"returns the project disclaimer, licence, and about text","syntax":["about() -> Text"],"examples":["# Review runtime version and caveat information\nprint about;","# Review runtime version and caveat information\nprint about();"],"arguments":[],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: about - returns the project disclaimer, licence, and about text\nSyntax:\n  about() -> Text\nAliases: disclaimer, licence, license\nChildren: help(), available()\nExamples:\n# Review runtime version and caveat information\n   print about;\n\n# Review runtime version and caveat information\n   print about();","compact":"Function: about - returns the project disclaimer, licence, and about text","search_text":"function:about about about function returns the project disclaimer, licence, and about text disclaimer licence license about() -> Text"},{"id":"function:resources","name":"resources","path":"resources","kind":"function","aliases":[],"description":"lists known runtime resources and whether they are loaded","syntax":["resources() -> List"],"examples":["# Lists known runtime resources and whether they are loaded\nprint resources();"],"arguments":[],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: resources - lists known runtime resources and whether they are loaded\nSyntax:\n  resources() -> List\nChildren: help(), available()\nExample:\n# Lists known runtime resources and whether they are loaded\n   print resources();","compact":"Function: resources - lists known runtime resources and whether they are loaded","search_text":"function:resources resources resources function lists known runtime resources and whether they are loaded resources() -> List"},{"id":"function:resource_sources","name":"resource_sources","path":"resource_sources","kind":"function","aliases":[],"description":"lists upstream data sources for known runtime resources","syntax":["resource_sources() -> List"],"examples":["# List upstream data sources used by the runtime\nprint resource_sources();"],"arguments":[],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: resource_sources - lists upstream data sources for known runtime resources\nSyntax:\n  resource_sources() -> List\nChildren: help(), available()\nExample:\n# List upstream data sources used by the runtime\n   print resource_sources();","compact":"Function: resource_sources - lists upstream data sources for known runtime resources","search_text":"function:resource_sources resource_sources resource_sources function lists upstream data sources for known runtime resources resource_sources() -> List"},{"id":"function:exit","name":"exit","path":"exit","kind":"function","aliases":[],"description":"stops execution after the current statement, optionally returning a message","syntax":["exit() -> Nil","exit(messages: Any...) -> Text"],"examples":["# Stops execution after the current statement, optionally returning a message\nprint exit();"],"arguments":[{"name":"messages","type":"Any...","required":false,"description":"optional values printed on the warning channel before exit"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: exit - stops execution after the current statement, optionally returning a message\nSyntax:\n  exit() -> Nil\n  exit(messages: Any...) -> Text\nArguments:\n  messages: Any... [optional] - optional values printed on the warning channel before exit\nChildren: help(), available()\nExample:\n# Stops execution after the current statement, optionally returning a message\n   print exit();","compact":"Function: exit - stops execution after the current statement, optionally returning a message","search_text":"function:exit exit exit function stops execution after the current statement, optionally returning a message exit() -> Nil exit(messages: Any...) -> Text messages Any... optional values printed on the warning channel before exit"},{"id":"function:run","name":"run","path":"run","kind":"function","aliases":[],"description":"deprecated alias for exit()","syntax":["run() -> Nil"],"examples":["# Deprecated alias for exit()\nprint run();"],"arguments":[],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: run - deprecated alias for exit()\nSyntax:\n  run() -> Nil\nChildren: help(), available()\nExample:\n# Deprecated alias for exit()\n   print run();","compact":"Function: run - deprecated alias for exit()","search_text":"function:run run run function deprecated alias for exit() run() -> Nil"},{"id":"function:functions","name":"functions","path":"functions","kind":"function","aliases":[],"description":"lists function metadata, optionally filtered by function name","syntax":["functions() -> List","functions(name: Text) -> List"],"examples":["# Find callable helpers related to lunar phase\nlet hits = functions(\"moon_phase\");\nprint hits.length(), hits[0].name, hits[0].path;"],"arguments":[{"name":"name","type":"Text","required":false,"description":"exact function or method name to list"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: functions - lists function metadata, optionally filtered by function name\nSyntax:\n  functions() -> List\n  functions(name: Text) -> List\nArguments:\n  name: Text [optional] - exact function or method name to list\nChildren: help(), available()\nExample:\n# Find callable helpers related to lunar phase\n   let hits = functions(\"moon_phase\");\n   print hits.length(), hits[0].name, hits[0].path;","compact":"Function: functions - lists function metadata, optionally filtered by function name","search_text":"function:functions functions functions function lists function metadata, optionally filtered by function name functions() -> List functions(name: Text) -> List name Text exact function or method name to list"},{"id":"function:fields","name":"fields","path":"fields","kind":"function","aliases":[],"description":"lists type field metadata, optionally filtered by field name","syntax":["fields() -> List","fields(name: Text) -> List"],"examples":["# Lists type field metadata, optionally filtered by field name\nprint fields();"],"arguments":[{"name":"name","type":"Text","required":false,"description":"exact field name to list"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: fields - lists type field metadata, optionally filtered by field name\nSyntax:\n  fields() -> List\n  fields(name: Text) -> List\nArguments:\n  name: Text [optional] - exact field name to list\nChildren: help(), available()\nExample:\n# Lists type field metadata, optionally filtered by field name\n   print fields();","compact":"Function: fields - lists type field metadata, optionally filtered by field name","search_text":"function:fields fields fields function lists type field metadata, optionally filtered by field name fields() -> List fields(name: Text) -> List name Text exact field name to list"},{"id":"function:types","name":"types","path":"types","kind":"function","aliases":[],"description":"lists registered astro/system types, constructors, fields, and members","syntax":["types() -> List"],"examples":["# Inspect a small slice of registered runtime types\nlet all = types();\nprint all.length(), all[0].name;"],"arguments":[],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: types - lists registered astro/system types, constructors, fields, and members\nSyntax:\n  types() -> List\nChildren: help(), available()\nExample:\n# Inspect a small slice of registered runtime types\n   let all = types();\n   print all.length(), all[0].name;","compact":"Function: types - lists registered astro/system types, constructors, fields, and members","search_text":"function:types types types function lists registered astro/system types, constructors, fields, and members types() -> List"},{"id":"function:elapsed","name":"elapsed","path":"elapsed","kind":"function","aliases":[],"description":"returns elapsed execution time in seconds","syntax":["elapsed() -> Number"],"examples":["# Returns elapsed execution time in seconds\nprint elapsed();"],"arguments":[],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: elapsed - returns elapsed execution time in seconds\nSyntax:\n  elapsed() -> Number\nChildren: help(), available()\nExample:\n# Returns elapsed execution time in seconds\n   print elapsed();","compact":"Function: elapsed - returns elapsed execution time in seconds","search_text":"function:elapsed elapsed elapsed function returns elapsed execution time in seconds elapsed() -> Number"},{"id":"function:sleep","name":"sleep","path":"sleep","kind":"function","aliases":[],"description":"pauses execution for a number of milliseconds","syntax":["sleep(milliseconds: Number) -> Nil"],"examples":["# Pauses execution for a number of milliseconds\nprint sleep(42.0);"],"arguments":[{"name":"milliseconds","type":"Number","required":true,"description":"Duration to pause execution, in milliseconds."}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: sleep - pauses execution for a number of milliseconds\nSyntax:\n  sleep(milliseconds: Number) -> Nil\nArguments:\n  milliseconds: Number - Duration to pause execution, in milliseconds.\nChildren: help(), available()\nExample:\n# Pauses execution for a number of milliseconds\n   print sleep(42.0);","compact":"Function: sleep - pauses execution for a number of milliseconds","search_text":"function:sleep sleep sleep function pauses execution for a number of milliseconds sleep(milliseconds: Number) -> Nil milliseconds Number Duration to pause execution, in milliseconds."},{"id":"function:array","name":"array","path":"array","kind":"function","aliases":[],"description":"creates an array from positional values","syntax":["array() -> Array"],"examples":["# Creates an array from positional values\nprint array();"],"arguments":[],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: array - creates an array from positional values\nSyntax:\n  array() -> Array\nChildren: help(), available()\nExample:\n# Creates an array from positional values\n   print array();","compact":"Function: array - creates an array from positional values","search_text":"function:array array array function creates an array from positional values array() -> Array"},{"id":"function:hash","name":"hash","path":"hash","kind":"function","aliases":[],"description":"creates an ordered hash/object from named values","syntax":["hash() -> Object"],"examples":["# Creates an ordered hash/object from named values\nprint hash();"],"arguments":[],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: hash - creates an ordered hash/object from named values\nSyntax:\n  hash() -> Object\nChildren: help(), available()\nExample:\n# Creates an ordered hash/object from named values\n   print hash();","compact":"Function: hash - creates an ordered hash/object from named values","search_text":"function:hash hash hash function creates an ordered hash/object from named values hash() -> Object"},{"id":"function:args","name":"args","path":"args","kind":"function","aliases":[],"description":"captures positional and named values as an argument-list value","syntax":["args() -> Arguments"],"examples":["# Captures positional and named values as an argument-list value\nprint args();"],"arguments":[],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: args - captures positional and named values as an argument-list value\nSyntax:\n  args() -> Arguments\nChildren: help(), available()\nExample:\n# Captures positional and named values as an argument-list value\n   print args();","compact":"Function: args - captures positional and named values as an argument-list value","search_text":"function:args args args function captures positional and named values as an argument-list value args() -> Arguments"},{"id":"function:keys","name":"keys","path":"keys","kind":"function","aliases":[],"description":"returns ordered keys for an array, object, or argument-list value","syntax":["keys(value: Any) -> List"],"examples":["# Audit the columns in a Moon visibility report row\nlet row = {body: moon.name, phase: moon_phase(time(2026,1,1,0,0,0)), illumination: moon_illumination(time(2026,1,1,0,0,0))};\nprint keys(row);"],"arguments":[{"name":"value","type":"Any","required":true,"description":"array, object, or argument-list value to inspect"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: keys - returns ordered keys for an array, object, or argument-list value\nSyntax:\n  keys(value: Any) -> List\nArguments:\n  value: Any - array, object, or argument-list value to inspect\nChildren: help(), available()\nExample:\n# Audit the columns in a Moon visibility report row\n   let row = {body: moon.name, phase: moon_phase(time(2026,1,1,0,0,0)), illumination: moon_illumination(time(2026,1,1,0,0,0))};\n   print keys(row);","compact":"Function: keys - returns ordered keys for an array, object, or argument-list value","search_text":"function:keys keys keys function returns ordered keys for an array, object, or argument-list value keys(value: Any) -> List value Any array, object, or argument-list value to inspect"},{"id":"function:values","name":"values","path":"values","kind":"function","aliases":[],"description":"returns ordered values from an array, object, or argument-list value","syntax":["values(value: Any) -> List"],"examples":["# Export the values from a Moon visibility report row\nlet row = {body: moon.name, phase: moon_phase(time(2026,1,1,0,0,0)), illumination: moon_illumination(time(2026,1,1,0,0,0))};\nprint values(row);"],"arguments":[{"name":"value","type":"Any","required":true,"description":"array, object, or argument-list value to inspect"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: values - returns ordered values from an array, object, or argument-list value\nSyntax:\n  values(value: Any) -> List\nArguments:\n  value: Any - array, object, or argument-list value to inspect\nChildren: help(), available()\nExample:\n# Export the values from a Moon visibility report row\n   let row = {body: moon.name, phase: moon_phase(time(2026,1,1,0,0,0)), illumination: moon_illumination(time(2026,1,1,0,0,0))};\n   print values(row);","compact":"Function: values - returns ordered values from an array, object, or argument-list value","search_text":"function:values values values function returns ordered values from an array, object, or argument-list value values(value: Any) -> List value Any array, object, or argument-list value to inspect"},{"id":"function:items","name":"items","path":"items","kind":"function","aliases":[],"description":"returns ordered key/value objects from an array, object, or argument-list value","syntax":["items(value: Any) -> List"],"examples":["# Convert a Moon visibility row to key-value audit items\nlet row = {body: moon.name, phase: moon_phase(time(2026,1,1,0,0,0)), illumination: moon_illumination(time(2026,1,1,0,0,0))};\nprint items(row);"],"arguments":[{"name":"value","type":"Any","required":true,"description":"array, object, or argument-list value to inspect"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: items - returns ordered key/value objects from an array, object, or argument-list value\nSyntax:\n  items(value: Any) -> List\nArguments:\n  value: Any - array, object, or argument-list value to inspect\nChildren: help(), available()\nExample:\n# Convert a Moon visibility row to key-value audit items\n   let row = {body: moon.name, phase: moon_phase(time(2026,1,1,0,0,0)), illumination: moon_illumination(time(2026,1,1,0,0,0))};\n   print items(row);","compact":"Function: items - returns ordered key/value objects from an array, object, or argument-list value","search_text":"function:items items items function returns ordered key/value objects from an array, object, or argument-list value items(value: Any) -> List value Any array, object, or argument-list value to inspect"},{"id":"function:pretty","name":"pretty","path":"pretty","kind":"function","aliases":[],"description":"formats a value as indented JSON text","syntax":["pretty(value: Any) -> Text"],"examples":["# Pretty-print a structured value\nprint pretty({name:\"sun\", positions:[1, 2, 3]});"],"arguments":[{"name":"value","type":"Any","required":true,"description":"array, object, or argument-list value to inspect"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: pretty - formats a value as indented JSON text\nSyntax:\n  pretty(value: Any) -> Text\nArguments:\n  value: Any - array, object, or argument-list value to inspect\nChildren: help(), available()\nExample:\n# Pretty-print a structured value\n   print pretty({name:\"sun\", positions:[1, 2, 3]});","compact":"Function: pretty - formats a value as indented JSON text","search_text":"function:pretty pretty pretty function formats a value as indented JSON text pretty(value: Any) -> Text value Any array, object, or argument-list value to inspect"},{"id":"function:format","name":"format","path":"format","kind":"function","aliases":[],"description":"formats values as text with small printf-style placeholders","syntax":["format(pattern: Text, value: Any) -> Text"],"examples":["# Format chart numbers to fixed decimal places\nlet t = time(2026,1,1,0,0,0);\nlet moon_chart = pages(t).chart().bodies.moon;\nprint moon_chart.chart.sign, format(\"%.6f\", moon_chart.chart.degree_in_sign), format(\"%.6f\", moon_chart.geocentric.longitude);","# Combine text, numeric precision, literal percent, and value rendering\nprint format(\"%s %.2f %% {}\", \"moon\", 12.345, {sign:\"virgo\"});"],"arguments":[{"name":"pattern","type":"Text","required":true,"description":"format pattern containing %f, %.Nf, %s, {}, or %% placeholders"},{"name":"value","type":"Any","required":true,"description":"value consumed by the next placeholder"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: format - formats values as text with small printf-style placeholders\nSyntax:\n  format(pattern: Text, value: Any) -> Text\nArguments:\n  pattern: Text - format pattern containing %f, %.Nf, %s, {}, or %% placeholders\n  value: Any - value consumed by the next placeholder\nChildren: help(), available()\nExamples:\n# Format chart numbers to fixed decimal places\n   let t = time(2026,1,1,0,0,0);\n   let moon_chart = pages(t).chart().bodies.moon;\n   print moon_chart.chart.sign, format(\"%.6f\", moon_chart.chart.degree_in_sign), format(\"%.6f\", moon_chart.geocentric.longitude);\n\n# Combine text, numeric precision, literal percent, and value rendering\n   print format(\"%s %.2f %% {}\", \"moon\", 12.345, {sign:\"virgo\"});","compact":"Function: format - formats values as text with small printf-style placeholders","search_text":"function:format format format function formats values as text with small printf-style placeholders format(pattern: Text, value: Any) -> Text pattern Text format pattern containing %f, %.Nf, %s, {}, or %% placeholders value Any value consumed by the next placeholder"},{"id":"function:typeof","name":"typeof","path":"typeof","kind":"function","aliases":[],"description":"returns the type or function name of a value","syntax":["typeof(value: Any) -> Text"],"examples":["# Validate the shape of a generated result\nprint typeof(location(latitude: 60.0, longitude: 270.0));"],"arguments":[{"name":"value","type":"Any","required":true,"description":"array, object, or argument-list value to inspect"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: typeof - returns the type or function name of a value\nSyntax:\n  typeof(value: Any) -> Text\nArguments:\n  value: Any - array, object, or argument-list value to inspect\nChildren: help(), available()\nExample:\n# Validate the shape of a generated result\n   print typeof(location(latitude: 60.0, longitude: 270.0));","compact":"Function: typeof - returns the type or function name of a value","search_text":"function:typeof typeof typeof function returns the type or function name of a value typeof(value: Any) -> Text value Any array, object, or argument-list value to inspect"},{"id":"function:altitude","name":"altitude","path":"altitude","kind":"function","aliases":[],"description":"returns corrected topographic altitude/elevation in degrees","syntax":["altitude(body: Body, time: Time, observer: Location|Observer, correction: Correction) -> Number"],"examples":["# Returns corrected topographic altitude/elevation in degrees\nprint altitude(sun, time(), location(latitude: 60.0, longitude: 270.0));"],"arguments":[{"name":"body","type":"Body","required":true,"description":"solar-system body"},{"name":"time","type":"Time","required":true,"description":"observation time"},{"name":"observer","type":"Location|Observer","required":true,"description":"observer location or elevated/body-fixed observer"},{"name":"correction","type":"Correction","required":false,"description":"optional correction model; defaults to all_corrections"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris"],"doc":"Function: altitude - returns corrected topographic altitude/elevation in degrees\nSyntax:\n  altitude(body: Body, time: Time, observer: Location|Observer, correction: Correction) -> Number\nArguments:\n  body: Body - solar-system body\n  time: Time - observation time\n  observer: Location|Observer - observer location or elevated/body-fixed observer\n  correction: Correction [optional] - optional correction model; defaults to all_corrections\nResources: ephemeris\nChildren: help(), available()\nExample:\n# Returns corrected topographic altitude/elevation in degrees\n   print altitude(sun, time(), location(latitude: 60.0, longitude: 270.0));","compact":"Function: altitude - returns corrected topographic altitude/elevation in degrees","search_text":"function:altitude altitude altitude function returns corrected topographic altitude/elevation in degrees altitude(body: Body, time: Time, observer: Location|Observer, correction: Correction) -> Number body Body solar-system body time Time observation time observer Location|Observer observer location or elevated/body-fixed observer correction Correction optional correction model; defaults to all_corrections ephemeris"},{"id":"function:azimuth","name":"azimuth","path":"azimuth","kind":"function","aliases":[],"description":"returns corrected topographic azimuth in degrees","syntax":["azimuth(body: Body, time: Time, observer: Location|Observer, correction: Correction) -> Number"],"examples":["# Returns corrected topographic azimuth in degrees\nprint azimuth(sun, time(), location(latitude: 60.0, longitude: 270.0));"],"arguments":[{"name":"body","type":"Body","required":true,"description":"solar-system body"},{"name":"time","type":"Time","required":true,"description":"observation time"},{"name":"observer","type":"Location|Observer","required":true,"description":"observer location or elevated/body-fixed observer"},{"name":"correction","type":"Correction","required":false,"description":"optional correction model; defaults to all_corrections"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris"],"doc":"Function: azimuth - returns corrected topographic azimuth in degrees\nSyntax:\n  azimuth(body: Body, time: Time, observer: Location|Observer, correction: Correction) -> Number\nArguments:\n  body: Body - solar-system body\n  time: Time - observation time\n  observer: Location|Observer - observer location or elevated/body-fixed observer\n  correction: Correction [optional] - optional correction model; defaults to all_corrections\nResources: ephemeris\nChildren: help(), available()\nExample:\n# Returns corrected topographic azimuth in degrees\n   print azimuth(sun, time(), location(latitude: 60.0, longitude: 270.0));","compact":"Function: azimuth - returns corrected topographic azimuth in degrees","search_text":"function:azimuth azimuth azimuth function returns corrected topographic azimuth in degrees azimuth(body: Body, time: Time, observer: Location|Observer, correction: Correction) -> Number body Body solar-system body time Time observation time observer Location|Observer observer location or elevated/body-fixed observer correction Correction optional correction model; defaults to all_corrections ephemeris"},{"id":"function:distance","name":"distance","path":"distance","kind":"function","aliases":[],"description":"returns corrected geocentric distance in kilometers","syntax":["distance(body: Body, time: Time, correction: Correction) -> Number"],"examples":["# Returns corrected geocentric distance in kilometers\nprint distance(sun, time());"],"arguments":[{"name":"body","type":"Body","required":true,"description":"solar-system body"},{"name":"time","type":"Time","required":true,"description":"observation time"},{"name":"correction","type":"Correction","required":false,"description":"optional correction model; defaults to all_corrections"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris"],"doc":"Function: distance - returns corrected geocentric distance in kilometers\nSyntax:\n  distance(body: Body, time: Time, correction: Correction) -> Number\nArguments:\n  body: Body - solar-system body\n  time: Time - observation time\n  correction: Correction [optional] - optional correction model; defaults to all_corrections\nResources: ephemeris\nChildren: help(), available()\nExample:\n# Returns corrected geocentric distance in kilometers\n   print distance(sun, time());","compact":"Function: distance - returns corrected geocentric distance in kilometers","search_text":"function:distance distance distance function returns corrected geocentric distance in kilometers distance(body: Body, time: Time, correction: Correction) -> Number body Body solar-system body time Time observation time correction Correction optional correction model; defaults to all_corrections ephemeris"},{"id":"function:right_ascension","name":"right_ascension","path":"right_ascension","kind":"function","aliases":["ra"],"description":"returns corrected geocentric true-of-date right ascension in degrees","syntax":["right_ascension(body: Body, time: Time, correction: Correction) -> Number"],"examples":["# Returns corrected geocentric true-of-date right ascension in degrees\nprint right_ascension(sun, time());"],"arguments":[{"name":"body","type":"Body","required":true,"description":"solar-system body"},{"name":"time","type":"Time","required":true,"description":"observation time"},{"name":"correction","type":"Correction","required":false,"description":"optional correction model; defaults to all_corrections"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris"],"doc":"Function: right_ascension - returns corrected geocentric true-of-date right ascension in degrees\nSyntax:\n  right_ascension(body: Body, time: Time, correction: Correction) -> Number\nAliases: ra\nArguments:\n  body: Body - solar-system body\n  time: Time - observation time\n  correction: Correction [optional] - optional correction model; defaults to all_corrections\nResources: ephemeris\nChildren: help(), available()\nExample:\n# Returns corrected geocentric true-of-date right ascension in degrees\n   print right_ascension(sun, time());","compact":"Function: right_ascension - returns corrected geocentric true-of-date right ascension in degrees","search_text":"function:right_ascension right_ascension right_ascension function returns corrected geocentric true-of-date right ascension in degrees ra right_ascension(body: Body, time: Time, correction: Correction) -> Number body Body solar-system body time Time observation time correction Correction optional correction model; defaults to all_corrections ephemeris"},{"id":"function:declination","name":"declination","path":"declination","kind":"function","aliases":["dec"],"description":"returns corrected geocentric true-of-date declination in degrees","syntax":["declination(body: Body, time: Time, correction: Correction) -> Number"],"examples":["# Returns corrected geocentric true-of-date declination in degrees\nprint declination(sun, time());"],"arguments":[{"name":"body","type":"Body","required":true,"description":"solar-system body"},{"name":"time","type":"Time","required":true,"description":"observation time"},{"name":"correction","type":"Correction","required":false,"description":"optional correction model; defaults to all_corrections"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris"],"doc":"Function: declination - returns corrected geocentric true-of-date declination in degrees\nSyntax:\n  declination(body: Body, time: Time, correction: Correction) -> Number\nAliases: dec\nArguments:\n  body: Body - solar-system body\n  time: Time - observation time\n  correction: Correction [optional] - optional correction model; defaults to all_corrections\nResources: ephemeris\nChildren: help(), available()\nExample:\n# Returns corrected geocentric true-of-date declination in degrees\n   print declination(sun, time());","compact":"Function: declination - returns corrected geocentric true-of-date declination in degrees","search_text":"function:declination declination declination function returns corrected geocentric true-of-date declination in degrees dec declination(body: Body, time: Time, correction: Correction) -> Number body Body solar-system body time Time observation time correction Correction optional correction model; defaults to all_corrections ephemeris"},{"id":"function:ecliptic_longitude","name":"ecliptic_longitude","path":"ecliptic_longitude","kind":"function","aliases":[],"description":"returns corrected apparent geocentric ecliptic longitude in degrees","syntax":["ecliptic_longitude(time: Time, correction: Correction) -> Number","ecliptic_longitude(body: Body, time: Time, correction: Correction) -> Number"],"examples":["# Returns corrected apparent geocentric ecliptic longitude in degrees\nprint ecliptic_longitude(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"observation time; returns the Sun's apparent geocentric ecliptic longitude"},{"name":"correction","type":"Correction","required":false,"description":"optional correction model; defaults to all_corrections"},{"name":"body","type":"Body","required":false,"description":"solar-system body"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris"],"doc":"Function: ecliptic_longitude - returns corrected apparent geocentric ecliptic longitude in degrees\nSyntax:\n  ecliptic_longitude(time: Time, correction: Correction) -> Number\n  ecliptic_longitude(body: Body, time: Time, correction: Correction) -> Number\nArguments:\n  time: Time - observation time; returns the Sun's apparent geocentric ecliptic longitude\n  correction: Correction [optional] - optional correction model; defaults to all_corrections\n  body: Body [optional] - solar-system body\nResources: ephemeris\nChildren: help(), available()\nExample:\n# Returns corrected apparent geocentric ecliptic longitude in degrees\n   print ecliptic_longitude(time());","compact":"Function: ecliptic_longitude - returns corrected apparent geocentric ecliptic longitude in degrees","search_text":"function:ecliptic_longitude ecliptic_longitude ecliptic_longitude function returns corrected apparent geocentric ecliptic longitude in degrees ecliptic_longitude(time: Time, correction: Correction) -> Number ecliptic_longitude(body: Body, time: Time, correction: Correction) -> Number time Time observation time; returns the Sun's apparent geocentric ecliptic longitude correction Correction optional correction model; defaults to all_corrections body Body solar-system body ephemeris"},{"id":"function:heliocentric_ecliptic_longitude","name":"heliocentric_ecliptic_longitude","path":"heliocentric_ecliptic_longitude","kind":"function","aliases":[],"description":"returns corrected heliocentric ecliptic longitude in degrees","syntax":["heliocentric_ecliptic_longitude(body: Body, time: Time, correction: Correction) -> Number"],"examples":["# Returns corrected heliocentric ecliptic longitude in degrees\nprint heliocentric_ecliptic_longitude(sun, time());"],"arguments":[{"name":"body","type":"Body","required":true,"description":"solar-system body"},{"name":"time","type":"Time","required":true,"description":"observation time"},{"name":"correction","type":"Correction","required":false,"description":"optional correction model; defaults to all_corrections"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris"],"doc":"Function: heliocentric_ecliptic_longitude - returns corrected heliocentric ecliptic longitude in degrees\nSyntax:\n  heliocentric_ecliptic_longitude(body: Body, time: Time, correction: Correction) -> Number\nArguments:\n  body: Body - solar-system body\n  time: Time - observation time\n  correction: Correction [optional] - optional correction model; defaults to all_corrections\nResources: ephemeris\nChildren: help(), available()\nExample:\n# Returns corrected heliocentric ecliptic longitude in degrees\n   print heliocentric_ecliptic_longitude(sun, time());","compact":"Function: heliocentric_ecliptic_longitude - returns corrected heliocentric ecliptic longitude in degrees","search_text":"function:heliocentric_ecliptic_longitude heliocentric_ecliptic_longitude heliocentric_ecliptic_longitude function returns corrected heliocentric ecliptic longitude in degrees heliocentric_ecliptic_longitude(body: Body, time: Time, correction: Correction) -> Number body Body solar-system body time Time observation time correction Correction optional correction model; defaults to all_corrections ephemeris"},{"id":"function:elongation","name":"elongation","path":"elongation","kind":"function","aliases":[],"description":"returns signed geocentric elongation from the Sun in degrees","syntax":["elongation(body: Body, time: Time) -> Number"],"examples":["# Returns signed geocentric elongation from the Sun in degrees\nprint elongation(sun, time());"],"arguments":[{"name":"body","type":"Body","required":true,"description":"solar-system body"},{"name":"time","type":"Time","required":true,"description":"observation time"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris"],"doc":"Function: elongation - returns signed geocentric elongation from the Sun in degrees\nSyntax:\n  elongation(body: Body, time: Time) -> Number\nArguments:\n  body: Body - solar-system body\n  time: Time - observation time\nResources: ephemeris\nChildren: help(), available()\nExample:\n# Returns signed geocentric elongation from the Sun in degrees\n   print elongation(sun, time());","compact":"Function: elongation - returns signed geocentric elongation from the Sun in degrees","search_text":"function:elongation elongation elongation function returns signed geocentric elongation from the Sun in degrees elongation(body: Body, time: Time) -> Number body Body solar-system body time Time observation time ephemeris"},{"id":"function:moon_phase","name":"moon_phase","path":"moon_phase","kind":"function","aliases":[],"description":"returns Moon phase angle percentage in the range 0..100","syntax":["moon_phase(time: Time) -> Number"],"examples":["# Returns Moon phase angle percentage in the range 0..100\nprint moon_phase(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"observation time"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris"],"doc":"Function: moon_phase - returns Moon phase angle percentage in the range 0..100\nSyntax:\n  moon_phase(time: Time) -> Number\nArguments:\n  time: Time - observation time\nResources: ephemeris\nChildren: help(), available()\nExample:\n# Returns Moon phase angle percentage in the range 0..100\n   print moon_phase(time());","compact":"Function: moon_phase - returns Moon phase angle percentage in the range 0..100","search_text":"function:moon_phase moon_phase moon_phase function returns Moon phase angle percentage in the range 0..100 moon_phase(time: Time) -> Number time Time observation time ephemeris"},{"id":"function:moon_illumination","name":"moon_illumination","path":"moon_illumination","kind":"function","aliases":[],"description":"returns illuminated percentage of the Moon as seen from Earth","syntax":["moon_illumination(time: Time) -> Number"],"examples":["# Returns illuminated percentage of the Moon as seen from Earth\nprint moon_illumination(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"observation time"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris"],"doc":"Function: moon_illumination - returns illuminated percentage of the Moon as seen from Earth\nSyntax:\n  moon_illumination(time: Time) -> Number\nArguments:\n  time: Time - observation time\nResources: ephemeris\nChildren: help(), available()\nExample:\n# Returns illuminated percentage of the Moon as seen from Earth\n   print moon_illumination(time());","compact":"Function: moon_illumination - returns illuminated percentage of the Moon as seen from Earth","search_text":"function:moon_illumination moon_illumination moon_illumination function returns illuminated percentage of the Moon as seen from Earth moon_illumination(time: Time) -> Number time Time observation time ephemeris"},{"id":"function:magnitude","name":"magnitude","path":"magnitude","kind":"function","aliases":[],"description":"returns approximate apparent visual magnitude","syntax":["magnitude(body: Body, time: Time) -> Number"],"examples":["# Returns approximate apparent visual magnitude\nprint magnitude(sun, time());"],"arguments":[{"name":"body","type":"Body","required":true,"description":"solar-system body"},{"name":"time","type":"Time","required":true,"description":"observation time"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris"],"doc":"Function: magnitude - returns approximate apparent visual magnitude\nSyntax:\n  magnitude(body: Body, time: Time) -> Number\nArguments:\n  body: Body - solar-system body\n  time: Time - observation time\nResources: ephemeris\nChildren: help(), available()\nExample:\n# Returns approximate apparent visual magnitude\n   print magnitude(sun, time());","compact":"Function: magnitude - returns approximate apparent visual magnitude","search_text":"function:magnitude magnitude magnitude function returns approximate apparent visual magnitude magnitude(body: Body, time: Time) -> Number body Body solar-system body time Time observation time ephemeris"},{"id":"function:apparent_solar_time","name":"apparent_solar_time","path":"apparent_solar_time","kind":"function","aliases":[],"description":"returns apparent solar time in local hours","syntax":["apparent_solar_time(time: Time, location: Location) -> Number"],"examples":["# Returns apparent solar time in local hours\nprint apparent_solar_time(time(), location(latitude: 60.0, longitude: 270.0));"],"arguments":[{"name":"time","type":"Time","required":true,"description":"observation time"},{"name":"location","type":"Location","required":true,"description":"observer location"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris"],"doc":"Function: apparent_solar_time - returns apparent solar time in local hours\nSyntax:\n  apparent_solar_time(time: Time, location: Location) -> Number\nArguments:\n  time: Time - observation time\n  location: Location - observer location\nResources: ephemeris\nChildren: help(), available()\nExample:\n# Returns apparent solar time in local hours\n   print apparent_solar_time(time(), location(latitude: 60.0, longitude: 270.0));","compact":"Function: apparent_solar_time - returns apparent solar time in local hours","search_text":"function:apparent_solar_time apparent_solar_time apparent_solar_time function returns apparent solar time in local hours apparent_solar_time(time: Time, location: Location) -> Number time Time observation time location Location observer location ephemeris"},{"id":"function:lunar_time","name":"lunar_time","path":"lunar_time","kind":"function","aliases":[],"description":"returns local lunar hour angle as hours","syntax":["lunar_time(time: Time, location: Location) -> Number"],"examples":["# Returns local lunar hour angle as hours\nprint lunar_time(time(), location(latitude: 60.0, longitude: 270.0));"],"arguments":[{"name":"time","type":"Time","required":true,"description":"observation time"},{"name":"location","type":"Location","required":true,"description":"observer location"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris"],"doc":"Function: lunar_time - returns local lunar hour angle as hours\nSyntax:\n  lunar_time(time: Time, location: Location) -> Number\nArguments:\n  time: Time - observation time\n  location: Location - observer location\nResources: ephemeris\nChildren: help(), available()\nExample:\n# Returns local lunar hour angle as hours\n   print lunar_time(time(), location(latitude: 60.0, longitude: 270.0));","compact":"Function: lunar_time - returns local lunar hour angle as hours","search_text":"function:lunar_time lunar_time lunar_time function returns local lunar hour angle as hours lunar_time(time: Time, location: Location) -> Number time Time observation time location Location observer location ephemeris"},{"id":"function:rotational_axis","name":"rotational_axis","path":"rotational_axis","kind":"function","aliases":[],"description":"returns a body's rotational north-pole RA, declination, and ICRF unit vector","syntax":["rotational_axis(body: Body, time: Time) -> Object"],"examples":["# Returns a body's rotational north-pole RA, declination, and ICRF unit vector\nprint rotational_axis(sun, time());"],"arguments":[{"name":"body","type":"Body","required":true,"description":"solar-system body"},{"name":"time","type":"Time","required":true,"description":"observation time"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: rotational_axis - returns a body's rotational north-pole RA, declination, and ICRF unit vector\nSyntax:\n  rotational_axis(body: Body, time: Time) -> Object\nArguments:\n  body: Body - solar-system body\n  time: Time - observation time\nChildren: help(), available()\nExample:\n# Returns a body's rotational north-pole RA, declination, and ICRF unit vector\n   print rotational_axis(sun, time());","compact":"Function: rotational_axis - returns a body's rotational north-pole RA, declination, and ICRF unit vector","search_text":"function:rotational_axis rotational_axis rotational_axis function returns a body's rotational north-pole RA, declination, and ICRF unit vector rotational_axis(body: Body, time: Time) -> Object body Body solar-system body time Time observation time"},{"id":"function:rotational_axis_ra","name":"rotational_axis_ra","path":"rotational_axis_ra","kind":"function","aliases":[],"description":"returns a body's rotational north-pole right ascension in degrees","syntax":["rotational_axis_ra(body: Body, time: Time) -> Number"],"examples":["# Returns a body's rotational north-pole right ascension in degrees\nprint rotational_axis_ra(sun, time());"],"arguments":[{"name":"body","type":"Body","required":true,"description":"solar-system body"},{"name":"time","type":"Time","required":true,"description":"observation time"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: rotational_axis_ra - returns a body's rotational north-pole right ascension in degrees\nSyntax:\n  rotational_axis_ra(body: Body, time: Time) -> Number\nArguments:\n  body: Body - solar-system body\n  time: Time - observation time\nChildren: help(), available()\nExample:\n# Returns a body's rotational north-pole right ascension in degrees\n   print rotational_axis_ra(sun, time());","compact":"Function: rotational_axis_ra - returns a body's rotational north-pole right ascension in degrees","search_text":"function:rotational_axis_ra rotational_axis_ra rotational_axis_ra function returns a body's rotational north-pole right ascension in degrees rotational_axis_ra(body: Body, time: Time) -> Number body Body solar-system body time Time observation time"},{"id":"function:rotational_axis_dec","name":"rotational_axis_dec","path":"rotational_axis_dec","kind":"function","aliases":[],"description":"returns a body's rotational north-pole declination in degrees","syntax":["rotational_axis_dec(body: Body, time: Time) -> Number"],"examples":["# Returns a body's rotational north-pole declination in degrees\nprint rotational_axis_dec(sun, time());"],"arguments":[{"name":"body","type":"Body","required":true,"description":"solar-system body"},{"name":"time","type":"Time","required":true,"description":"observation time"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: rotational_axis_dec - returns a body's rotational north-pole declination in degrees\nSyntax:\n  rotational_axis_dec(body: Body, time: Time) -> Number\nArguments:\n  body: Body - solar-system body\n  time: Time - observation time\nChildren: help(), available()\nExample:\n# Returns a body's rotational north-pole declination in degrees\n   print rotational_axis_dec(sun, time());","compact":"Function: rotational_axis_dec - returns a body's rotational north-pole declination in degrees","search_text":"function:rotational_axis_dec rotational_axis_dec rotational_axis_dec function returns a body's rotational north-pole declination in degrees rotational_axis_dec(body: Body, time: Time) -> Number body Body solar-system body time Time observation time"},{"id":"function:dms","name":"dms","path":"dms","kind":"function","aliases":[],"description":"converts decimal degrees to degree-minute-second components","syntax":["dms(value: Number) -> Object","dms(value: Number, axis: Text) -> Object"],"examples":["# Converts decimal degrees to degree-minute-second components\nprint dms(42.0);"],"arguments":[{"name":"value","type":"Number","required":true,"description":"signed decimal degrees"},{"name":"axis","type":"Text","required":false,"description":"latitude or longitude for hemisphere labels"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: dms - converts decimal degrees to degree-minute-second components\nSyntax:\n  dms(value: Number) -> Object\n  dms(value: Number, axis: Text) -> Object\nArguments:\n  value: Number - signed decimal degrees\n  axis: Text [optional] - latitude or longitude for hemisphere labels\nChildren: help(), available()\nExample:\n# Converts decimal degrees to degree-minute-second components\n   print dms(42.0);","compact":"Function: dms - converts decimal degrees to degree-minute-second components","search_text":"function:dms dms dms function converts decimal degrees to degree-minute-second components dms(value: Number) -> Object dms(value: Number, axis: Text) -> Object value Number signed decimal degrees axis Text latitude or longitude for hemisphere labels"},{"id":"function:dd","name":"dd","path":"dd","kind":"function","aliases":[],"description":"converts degree-minute-second components to signed decimal degrees","syntax":["dd(degrees: Number, minutes: Number, seconds: Number, hemisphere: Text) -> Number"],"examples":["# Converts degree-minute-second components to signed decimal degrees\nprint dd(42.0);"],"arguments":[{"name":"degrees","type":"Number","required":true,"description":"degrees component"},{"name":"minutes","type":"Number","required":false,"description":"minutes component"},{"name":"seconds","type":"Number","required":false,"description":"seconds component"},{"name":"hemisphere","type":"Text","required":false,"description":"N, S, E, or W"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: dd - converts degree-minute-second components to signed decimal degrees\nSyntax:\n  dd(degrees: Number, minutes: Number, seconds: Number, hemisphere: Text) -> Number\nArguments:\n  degrees: Number - degrees component\n  minutes: Number [optional] - minutes component\n  seconds: Number [optional] - seconds component\n  hemisphere: Text [optional] - N, S, E, or W\nChildren: help(), available()\nExample:\n# Converts degree-minute-second components to signed decimal degrees\n   print dd(42.0);","compact":"Function: dd - converts degree-minute-second components to signed decimal degrees","search_text":"function:dd dd dd function converts degree-minute-second components to signed decimal degrees dd(degrees: Number, minutes: Number, seconds: Number, hemisphere: Text) -> Number degrees Number degrees component minutes Number minutes component seconds Number seconds component hemisphere Text N, S, E, or W"},{"id":"function:solar_eclipse_magnitude","name":"solar_eclipse_magnitude","path":"solar_eclipse_magnitude","kind":"function","aliases":[],"description":"returns local solar eclipse magnitude at a time and location","syntax":["solar_eclipse_magnitude(time: Time, location: Location) -> Number"],"examples":["# Returns local solar eclipse magnitude at a time and location\nprint solar_eclipse_magnitude(time(), location(latitude: 60.0, longitude: 270.0));"],"arguments":[{"name":"time","type":"Time","required":true,"description":"observation time"},{"name":"location","type":"Location","required":true,"description":"observer location"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris"],"doc":"Function: solar_eclipse_magnitude - returns local solar eclipse magnitude at a time and location\nSyntax:\n  solar_eclipse_magnitude(time: Time, location: Location) -> Number\nArguments:\n  time: Time - observation time\n  location: Location - observer location\nResources: ephemeris\nChildren: help(), available()\nExample:\n# Returns local solar eclipse magnitude at a time and location\n   print solar_eclipse_magnitude(time(), location(latitude: 60.0, longitude: 270.0));","compact":"Function: solar_eclipse_magnitude - returns local solar eclipse magnitude at a time and location","search_text":"function:solar_eclipse_magnitude solar_eclipse_magnitude solar_eclipse_magnitude function returns local solar eclipse magnitude at a time and location solar_eclipse_magnitude(time: Time, location: Location) -> Number time Time observation time location Location observer location ephemeris"},{"id":"function:solar_eclipse_obscuration","name":"solar_eclipse_obscuration","path":"solar_eclipse_obscuration","kind":"function","aliases":[],"description":"returns percent of the solar disc occulted locally","syntax":["solar_eclipse_obscuration(time: Time, location: Location) -> Number"],"examples":["# Returns percent of the solar disc occulted locally\nprint solar_eclipse_obscuration(time(), location(latitude: 60.0, longitude: 270.0));"],"arguments":[{"name":"time","type":"Time","required":true,"description":"observation time"},{"name":"location","type":"Location","required":true,"description":"observer location"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris"],"doc":"Function: solar_eclipse_obscuration - returns percent of the solar disc occulted locally\nSyntax:\n  solar_eclipse_obscuration(time: Time, location: Location) -> Number\nArguments:\n  time: Time - observation time\n  location: Location - observer location\nResources: ephemeris\nChildren: help(), available()\nExample:\n# Returns percent of the solar disc occulted locally\n   print solar_eclipse_obscuration(time(), location(latitude: 60.0, longitude: 270.0));","compact":"Function: solar_eclipse_obscuration - returns percent of the solar disc occulted locally","search_text":"function:solar_eclipse_obscuration solar_eclipse_obscuration solar_eclipse_obscuration function returns percent of the solar disc occulted locally solar_eclipse_obscuration(time: Time, location: Location) -> Number time Time observation time location Location observer location ephemeris"},{"id":"function:solar_eclipse_clearance","name":"solar_eclipse_clearance","path":"solar_eclipse_clearance","kind":"function","aliases":[],"description":"returns signed local Sun-Moon limb clearance in degrees","syntax":["solar_eclipse_clearance(time: Time, location: Location) -> Number"],"examples":["# Returns signed local Sun-Moon limb clearance in degrees\nprint solar_eclipse_clearance(time(), location(latitude: 60.0, longitude: 270.0));"],"arguments":[{"name":"time","type":"Time","required":true,"description":"observation time"},{"name":"location","type":"Location","required":true,"description":"observer location"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris"],"doc":"Function: solar_eclipse_clearance - returns signed local Sun-Moon limb clearance in degrees\nSyntax:\n  solar_eclipse_clearance(time: Time, location: Location) -> Number\nArguments:\n  time: Time - observation time\n  location: Location - observer location\nResources: ephemeris\nChildren: help(), available()\nExample:\n# Returns signed local Sun-Moon limb clearance in degrees\n   print solar_eclipse_clearance(time(), location(latitude: 60.0, longitude: 270.0));","compact":"Function: solar_eclipse_clearance - returns signed local Sun-Moon limb clearance in degrees","search_text":"function:solar_eclipse_clearance solar_eclipse_clearance solar_eclipse_clearance function returns signed local Sun-Moon limb clearance in degrees solar_eclipse_clearance(time: Time, location: Location) -> Number time Time observation time location Location observer location ephemeris"},{"id":"function:lunar_eclipse_magnitude","name":"lunar_eclipse_magnitude","path":"lunar_eclipse_magnitude","kind":"function","aliases":[],"description":"returns signed umbral lunar eclipse magnitude","syntax":["lunar_eclipse_magnitude(time: Time) -> Number"],"examples":["# Returns signed umbral lunar eclipse magnitude\nprint lunar_eclipse_magnitude(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"observation time"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris"],"doc":"Function: lunar_eclipse_magnitude - returns signed umbral lunar eclipse magnitude\nSyntax:\n  lunar_eclipse_magnitude(time: Time) -> Number\nArguments:\n  time: Time - observation time\nResources: ephemeris\nChildren: help(), available()\nExample:\n# Returns signed umbral lunar eclipse magnitude\n   print lunar_eclipse_magnitude(time());","compact":"Function: lunar_eclipse_magnitude - returns signed umbral lunar eclipse magnitude","search_text":"function:lunar_eclipse_magnitude lunar_eclipse_magnitude lunar_eclipse_magnitude function returns signed umbral lunar eclipse magnitude lunar_eclipse_magnitude(time: Time) -> Number time Time observation time ephemeris"},{"id":"function:lunar_penumbra_magnitude","name":"lunar_penumbra_magnitude","path":"lunar_penumbra_magnitude","kind":"function","aliases":[],"description":"returns signed penumbral lunar eclipse magnitude","syntax":["lunar_penumbra_magnitude(time: Time) -> Number"],"examples":["# Returns signed penumbral lunar eclipse magnitude\nprint lunar_penumbra_magnitude(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"observation time"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris"],"doc":"Function: lunar_penumbra_magnitude - returns signed penumbral lunar eclipse magnitude\nSyntax:\n  lunar_penumbra_magnitude(time: Time) -> Number\nArguments:\n  time: Time - observation time\nResources: ephemeris\nChildren: help(), available()\nExample:\n# Returns signed penumbral lunar eclipse magnitude\n   print lunar_penumbra_magnitude(time());","compact":"Function: lunar_penumbra_magnitude - returns signed penumbral lunar eclipse magnitude","search_text":"function:lunar_penumbra_magnitude lunar_penumbra_magnitude lunar_penumbra_magnitude function returns signed penumbral lunar eclipse magnitude lunar_penumbra_magnitude(time: Time) -> Number time Time observation time ephemeris"},{"id":"function:lunar_eclipse_clearance","name":"lunar_eclipse_clearance","path":"lunar_eclipse_clearance","kind":"function","aliases":[],"description":"returns signed Moon-surface clearance from Earth's penumbra in kilometers","syntax":["lunar_eclipse_clearance(time: Time) -> Number"],"examples":["# Returns signed Moon-surface clearance from Earth's penumbra in kilometers\nprint lunar_eclipse_clearance(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"observation time"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris"],"doc":"Function: lunar_eclipse_clearance - returns signed Moon-surface clearance from Earth's penumbra in kilometers\nSyntax:\n  lunar_eclipse_clearance(time: Time) -> Number\nArguments:\n  time: Time - observation time\nResources: ephemeris\nChildren: help(), available()\nExample:\n# Returns signed Moon-surface clearance from Earth's penumbra in kilometers\n   print lunar_eclipse_clearance(time());","compact":"Function: lunar_eclipse_clearance - returns signed Moon-surface clearance from Earth's penumbra in kilometers","search_text":"function:lunar_eclipse_clearance lunar_eclipse_clearance lunar_eclipse_clearance function returns signed Moon-surface clearance from Earth's penumbra in kilometers lunar_eclipse_clearance(time: Time) -> Number time Time observation time ephemeris"},{"id":"function:shadow_distance","name":"shadow_distance","path":"shadow_distance","kind":"function","aliases":[],"description":"returns signed surface clearance for the active Sun-Earth-Moon shadow geometry","syntax":["shadow_distance(time: Time) -> Number"],"examples":["# Returns signed surface clearance for the active Sun-Earth-Moon shadow geometry\nprint shadow_distance(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"observation time"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris"],"doc":"Function: shadow_distance - returns signed surface clearance for the active Sun-Earth-Moon shadow geometry\nSyntax:\n  shadow_distance(time: Time) -> Number\nArguments:\n  time: Time - observation time\nResources: ephemeris\nChildren: help(), available()\nExample:\n# Returns signed surface clearance for the active Sun-Earth-Moon shadow geometry\n   print shadow_distance(time());","compact":"Function: shadow_distance - returns signed surface clearance for the active Sun-Earth-Moon shadow geometry","search_text":"function:shadow_distance shadow_distance shadow_distance function returns signed surface clearance for the active Sun-Earth-Moon shadow geometry shadow_distance(time: Time) -> Number time Time observation time ephemeris"},{"id":"function:moon_shadow_earth_distance","name":"moon_shadow_earth_distance","path":"moon_shadow_earth_distance","kind":"function","aliases":[],"description":"returns signed Earth-surface clearance from the Moon shadow cone in kilometers","syntax":["moon_shadow_earth_distance(time: Time) -> Number"],"examples":["# Returns signed Earth-surface clearance from the Moon shadow cone in kilometers\nprint moon_shadow_earth_distance(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"observation time"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris"],"doc":"Function: moon_shadow_earth_distance - returns signed Earth-surface clearance from the Moon shadow cone in kilometers\nSyntax:\n  moon_shadow_earth_distance(time: Time) -> Number\nArguments:\n  time: Time - observation time\nResources: ephemeris\nChildren: help(), available()\nExample:\n# Returns signed Earth-surface clearance from the Moon shadow cone in kilometers\n   print moon_shadow_earth_distance(time());","compact":"Function: moon_shadow_earth_distance - returns signed Earth-surface clearance from the Moon shadow cone in kilometers","search_text":"function:moon_shadow_earth_distance moon_shadow_earth_distance moon_shadow_earth_distance function returns signed Earth-surface clearance from the Moon shadow cone in kilometers moon_shadow_earth_distance(time: Time) -> Number time Time observation time ephemeris"},{"id":"function:moon_penumbra_distance","name":"moon_penumbra_distance","path":"moon_penumbra_distance","kind":"function","aliases":[],"description":"returns signed Moon-surface clearance from Earth's penumbra in kilometers","syntax":["moon_penumbra_distance(time: Time) -> Number"],"examples":["# Returns signed Moon-surface clearance from Earth's penumbra in kilometers\nprint moon_penumbra_distance(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"observation time"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris"],"doc":"Function: moon_penumbra_distance - returns signed Moon-surface clearance from Earth's penumbra in kilometers\nSyntax:\n  moon_penumbra_distance(time: Time) -> Number\nArguments:\n  time: Time - observation time\nResources: ephemeris\nChildren: help(), available()\nExample:\n# Returns signed Moon-surface clearance from Earth's penumbra in kilometers\n   print moon_penumbra_distance(time());","compact":"Function: moon_penumbra_distance - returns signed Moon-surface clearance from Earth's penumbra in kilometers","search_text":"function:moon_penumbra_distance moon_penumbra_distance moon_penumbra_distance function returns signed Moon-surface clearance from Earth's penumbra in kilometers moon_penumbra_distance(time: Time) -> Number time Time observation time ephemeris"},{"id":"function:moon_umbra_distance","name":"moon_umbra_distance","path":"moon_umbra_distance","kind":"function","aliases":[],"description":"returns signed Moon-surface clearance from Earth's umbra in kilometers","syntax":["moon_umbra_distance(time: Time) -> Number"],"examples":["# Returns signed Moon-surface clearance from Earth's umbra in kilometers\nprint moon_umbra_distance(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"observation time"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris"],"doc":"Function: moon_umbra_distance - returns signed Moon-surface clearance from Earth's umbra in kilometers\nSyntax:\n  moon_umbra_distance(time: Time) -> Number\nArguments:\n  time: Time - observation time\nResources: ephemeris\nChildren: help(), available()\nExample:\n# Returns signed Moon-surface clearance from Earth's umbra in kilometers\n   print moon_umbra_distance(time());","compact":"Function: moon_umbra_distance - returns signed Moon-surface clearance from Earth's umbra in kilometers","search_text":"function:moon_umbra_distance moon_umbra_distance moon_umbra_distance function returns signed Moon-surface clearance from Earth's umbra in kilometers moon_umbra_distance(time: Time) -> Number time Time observation time ephemeris"},{"id":"function:moon_umbra_occultation","name":"moon_umbra_occultation","path":"moon_umbra_occultation","kind":"function","aliases":[],"description":"returns percent overlap of the Moon and Earth's umbra","syntax":["moon_umbra_occultation(time: Time) -> Number"],"examples":["# Returns percent overlap of the Moon and Earth's umbra\nprint moon_umbra_occultation(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"observation time"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris"],"doc":"Function: moon_umbra_occultation - returns percent overlap of the Moon and Earth's umbra\nSyntax:\n  moon_umbra_occultation(time: Time) -> Number\nArguments:\n  time: Time - observation time\nResources: ephemeris\nChildren: help(), available()\nExample:\n# Returns percent overlap of the Moon and Earth's umbra\n   print moon_umbra_occultation(time());","compact":"Function: moon_umbra_occultation - returns percent overlap of the Moon and Earth's umbra","search_text":"function:moon_umbra_occultation moon_umbra_occultation moon_umbra_occultation function returns percent overlap of the Moon and Earth's umbra moon_umbra_occultation(time: Time) -> Number time Time observation time ephemeris"},{"id":"function:location_shadow_distance","name":"location_shadow_distance","path":"location_shadow_distance","kind":"function","aliases":[],"description":"returns signed local observer clearance from the Moon shadow cone in kilometers","syntax":["location_shadow_distance(time: Time, location: Location) -> Number"],"examples":["# Compute local eclipse shadow clearance for a location and time\nlet loc = location(latitude: 32.7767, longitude: -96.7970);\nlet t = time(2024,4,8,18,40,0);\nprint location_shadow_distance(t, loc);"],"arguments":[{"name":"time","type":"Time","required":true,"description":"observation time"},{"name":"location","type":"Location","required":true,"description":"observer location"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris"],"doc":"Function: location_shadow_distance - returns signed local observer clearance from the Moon shadow cone in kilometers\nSyntax:\n  location_shadow_distance(time: Time, location: Location) -> Number\nArguments:\n  time: Time - observation time\n  location: Location - observer location\nResources: ephemeris\nChildren: help(), available()\nExample:\n# Compute local eclipse shadow clearance for a location and time\n   let loc = location(latitude: 32.7767, longitude: -96.7970);\n   let t = time(2024,4,8,18,40,0);\n   print location_shadow_distance(t, loc);","compact":"Function: location_shadow_distance - returns signed local observer clearance from the Moon shadow cone in kilometers","search_text":"function:location_shadow_distance location_shadow_distance location_shadow_distance function returns signed local observer clearance from the Moon shadow cone in kilometers location_shadow_distance(time: Time, location: Location) -> Number time Time observation time location Location observer location ephemeris"},{"id":"function:planet_shadow_earth_distance","name":"planet_shadow_earth_distance","path":"planet_shadow_earth_distance","kind":"function","aliases":[],"description":"returns signed Earth-surface clearance from a planet shadow cone in kilometers","syntax":["planet_shadow_earth_distance(body: Body, time: Time) -> Number"],"examples":["# Measure Mercury shadow-cone clearance during a transit\nlet t = time(2019,11,11,15,0,0);\nprint planet_shadow_earth_distance(mercury, t);"],"arguments":[{"name":"body","type":"Body","required":true,"description":"solar-system body"},{"name":"time","type":"Time","required":true,"description":"observation time"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris"],"doc":"Function: planet_shadow_earth_distance - returns signed Earth-surface clearance from a planet shadow cone in kilometers\nSyntax:\n  planet_shadow_earth_distance(body: Body, time: Time) -> Number\nArguments:\n  body: Body - solar-system body\n  time: Time - observation time\nResources: ephemeris\nChildren: help(), available()\nExample:\n# Measure Mercury shadow-cone clearance during a transit\n   let t = time(2019,11,11,15,0,0);\n   print planet_shadow_earth_distance(mercury, t);","compact":"Function: planet_shadow_earth_distance - returns signed Earth-surface clearance from a planet shadow cone in kilometers","search_text":"function:planet_shadow_earth_distance planet_shadow_earth_distance planet_shadow_earth_distance function returns signed Earth-surface clearance from a planet shadow cone in kilometers planet_shadow_earth_distance(body: Body, time: Time) -> Number body Body solar-system body time Time observation time ephemeris"},{"id":"function:events","name":"events","path":"events","kind":"function","aliases":[],"description":"finds astronomical events from event type constants and time ranges","syntax":["events(event_type: EventType, bounded_range: Range) -> List","events(event_type: EventType, open_range: Range) -> Event|Nil","events(event_type: EventType, bounded_range: Range, observer_or_body: Location|Observer|Body) -> List","events(event_type: EventType, open_range: Range, observer_or_body: Location|Observer|Body) -> Event|Nil","events(event_type: EventType, bounded_range: Range, body: Body, observer: Location|Observer) -> List","events(event_type: EventType, open_range: Range, body: Body, observer: Location|Observer) -> Event|Nil","events(event_type: EventType, range: Range, observer: Location|Observer|Body, secondary: Location|Observer) -> List|Event|Nil"],"examples":["# Find sunrise events for a bounded day and explicit location\nlet loc = location(latitude: 58.9666667, longitude: 5.7333333);\nlet day = range(time(2024,4,17,0,0,0), time(2024,4,18,0,0,0));\nprint events(sunrise, day, loc).first().time.utc();"],"arguments":[{"name":"event_type","type":"EventType","required":true,"description":"event constant such as sunrise, full_moon, conjunction, or northern_solstice"},{"name":"bounded_range","type":"Range","required":false,"description":"time range with a finite stop, such as range(start, stop)"},{"name":"open_range","type":"Range","required":false,"description":"open-ended time range, such as range(start, infinity, step)"},{"name":"observer_or_body","type":"Location|Observer|Body","required":false,"description":"observer for local events, body for planetary events, or eclipsed body for eclipse"},{"name":"body","type":"Body","required":false,"description":"eclipsed body, such as sun or moon"},{"name":"observer","type":"Location|Observer","required":false,"description":"optional observer for local generic solar eclipse events"},{"name":"range","type":"Range","required":false,"description":"bounded or open-ended time range"},{"name":"secondary","type":"Location|Observer","required":false,"description":"optional observer for generic solar eclipse events"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["iers","ephemeris"],"doc":"Function: events - finds astronomical events from event type constants and time ranges\nSyntax:\n  events(event_type: EventType, bounded_range: Range) -> List\n  events(event_type: EventType, open_range: Range) -> Event|Nil\n  events(event_type: EventType, bounded_range: Range, observer_or_body: Location|Observer|Body) -> List\n  events(event_type: EventType, open_range: Range, observer_or_body: Location|Observer|Body) -> Event|Nil\n  events(event_type: EventType, bounded_range: Range, body: Body, observer: Location|Observer) -> List\n  events(event_type: EventType, open_range: Range, body: Body, observer: Location|Observer) -> Event|Nil\n  events(event_type: EventType, range: Range, observer: Location|Observer|Body, secondary: Location|Observer) -> List|Event|Nil\nArguments:\n  event_type: EventType - event constant such as sunrise, full_moon, conjunction, or northern_solstice\n  bounded_range: Range [optional] - time range with a finite stop, such as range(start, stop)\n  open_range: Range [optional] - open-ended time range, such as range(start, infinity, step)\n  observer_or_body: Location|Observer|Body [optional] - observer for local events, body for planetary events, or eclipsed body for eclipse\n  body: Body [optional] - eclipsed body, such as sun or moon\n  observer: Location|Observer [optional] - optional observer for local generic solar eclipse events\n  range: Range [optional] - bounded or open-ended time range\n  secondary: Location|Observer [optional] - optional observer for generic solar eclipse events\nResources: iers, ephemeris\nChildren: help(), available()\nExample:\n# Find sunrise events for a bounded day and explicit location\n   let loc = location(latitude: 58.9666667, longitude: 5.7333333);\n   let day = range(time(2024,4,17,0,0,0), time(2024,4,18,0,0,0));\n   print events(sunrise, day, loc).first().time.utc();","compact":"Function: events - finds astronomical events from event type constants and time ranges","search_text":"function:events events events function finds astronomical events from event type constants and time ranges events(event_type: EventType, bounded_range: Range) -> List events(event_type: EventType, open_range: Range) -> Event|Nil events(event_type: EventType, bounded_range: Range, observer_or_body: Location|Observer|Body) -> List events(event_type: EventType, open_range: Range, observer_or_body: Location|Observer|Body) -> Event|Nil events(event_type: EventType, bounded_range: Range, body: Body, observer: Location|Observer) -> List events(event_type: EventType, open_range: Range, body: Body, observer: Location|Observer) -> Event|Nil events(event_type: EventType, range: Range, observer: Location|Observer|Body, secondary: Location|Observer) -> List|Event|Nil event_type EventType event constant such as sunrise, full_moon, conjunction, or northern_solstice bounded_range Range time range with a finite stop, such as range(start, stop) open_range Range open-ended time range, such as range(start, infinity, step) observer_or_body Location|Observer|Body observer for local events, body for planetary events, or eclipsed body for eclipse body Body eclipsed body, such as sun or moon observer Location|Observer optional observer for local generic solar eclipse events range Range bounded or open-ended time range secondary Location|Observer optional observer for generic solar eclipse events iers ephemeris"},{"id":"function:sky","name":"sky","path":"sky","kind":"function","aliases":[],"description":"summarizes the local sky and upcoming local events","syntax":["sky(time: Time, observer: Location|Observer) -> Object"],"examples":["# Summarizes the local sky and upcoming local events\nprint sky(time(), location(latitude: 60.0, longitude: 270.0));"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to describe the local sky"},{"name":"observer","type":"Location|Observer","required":true,"description":"Earth location or observer"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["iers","ephemeris"],"doc":"Function: sky - summarizes the local sky and upcoming local events\nSyntax:\n  sky(time: Time, observer: Location|Observer) -> Object\nArguments:\n  time: Time - time at which to describe the local sky\n  observer: Location|Observer - Earth location or observer\nResources: iers, ephemeris\nChildren: help(), available()\nExample:\n# Summarizes the local sky and upcoming local events\n   print sky(time(), location(latitude: 60.0, longitude: 270.0));","compact":"Function: sky - summarizes the local sky and upcoming local events","search_text":"function:sky sky sky function summarizes the local sky and upcoming local events sky(time: Time, observer: Location|Observer) -> Object time Time time at which to describe the local sky observer Location|Observer Earth location or observer iers ephemeris"},{"id":"function:almanac","name":"almanac","path":"almanac","kind":"function","aliases":[],"description":"builds a range almanac from astronomical event searches","syntax":["almanac(range: Range|Time, stop: Time, observer: Location|Observer) -> Object"],"examples":["# Build an almanac over a non-empty time range\nlet start = time(2024,1,1,0,0,0);\nlet stop = time(2025,1,1,0,0,0);\nprint almanac(start, stop).seasons.northern_solstice.time.utc;"],"arguments":[{"name":"range","type":"Range|Time","required":true,"description":"bounded time range, or start time when using start/stop arguments"},{"name":"stop","type":"Time","required":true,"description":"stop time"},{"name":"observer","type":"Location|Observer","required":false,"description":"optional Earth location or observer for local horizon events"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["iers","ephemeris"],"doc":"Function: almanac - builds a range almanac from astronomical event searches\nSyntax:\n  almanac(range: Range|Time, stop: Time, observer: Location|Observer) -> Object\nArguments:\n  range: Range|Time - bounded time range, or start time when using start/stop arguments\n  stop: Time - stop time\n  observer: Location|Observer [optional] - optional Earth location or observer for local horizon events\nResources: iers, ephemeris\nChildren: help(), available()\nExample:\n# Build an almanac over a non-empty time range\n   let start = time(2024,1,1,0,0,0);\n   let stop = time(2025,1,1,0,0,0);\n   print almanac(start, stop).seasons.northern_solstice.time.utc;","compact":"Function: almanac - builds a range almanac from astronomical event searches","search_text":"function:almanac almanac almanac function builds a range almanac from astronomical event searches almanac(range: Range|Time, stop: Time, observer: Location|Observer) -> Object range Range|Time bounded time range, or start time when using start/stop arguments stop Time stop time observer Location|Observer optional Earth location or observer for local horizon events iers ephemeris"},{"id":"function:integrate","name":"integrate","path":"integrate","kind":"function","aliases":[],"description":"integrates a callable over named ranges or advances named derivatives","syntax":["integrate(function: Function, domain: Object) -> Number","integrate(initial: Object, derivatives: Object, domain: Object) -> Array"],"examples":["# Integrate a simple scalar function over a bounded range\nprint integrate((x): x*x, {x: range(0, 1, 0.001)});"],"arguments":[{"name":"function","type":"Function","required":false,"description":"numeric function to integrate"},{"name":"domain","type":"Object","required":true,"description":"object of named ranges; omit step for adaptive integration"},{"name":"initial","type":"Object","required":false,"description":"numeric initial state fields"},{"name":"derivatives","type":"Object","required":false,"description":"callable derivatives keyed by state field"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: integrate - integrates a callable over named ranges or advances named derivatives\nSyntax:\n  integrate(function: Function, domain: Object) -> Number\n  integrate(initial: Object, derivatives: Object, domain: Object) -> Array\nArguments:\n  function: Function [optional] - numeric function to integrate\n  domain: Object - object of named ranges; omit step for adaptive integration\n  initial: Object [optional] - numeric initial state fields\n  derivatives: Object [optional] - callable derivatives keyed by state field\nChildren: help(), available()\nExample:\n# Integrate a simple scalar function over a bounded range\n   print integrate((x): x*x, {x: range(0, 1, 0.001)});","compact":"Function: integrate - integrates a callable over named ranges or advances named derivatives","search_text":"function:integrate integrate integrate function integrates a callable over named ranges or advances named derivatives integrate(function: Function, domain: Object) -> Number integrate(initial: Object, derivatives: Object, domain: Object) -> Array function Function numeric function to integrate domain Object object of named ranges; omit step for adaptive integration initial Object numeric initial state fields derivatives Object callable derivatives keyed by state field"},{"id":"function:sample","name":"sample","path":"sample","kind":"function","aliases":[],"description":"samples a field at a latitude/longitude location","syntax":["sample(field: Field, location: Location) -> Number|Nil"],"examples":["# Samples a field at a latitude/longitude location\nprint sample(topography(earth), location(latitude: 60.0, longitude: 270.0));"],"arguments":[{"name":"field","type":"Field","required":true,"description":"global scalar field"},{"name":"location","type":"Location","required":true,"description":"location to sample"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: sample - samples a field at a latitude/longitude location\nSyntax:\n  sample(field: Field, location: Location) -> Number|Nil\nArguments:\n  field: Field - global scalar field\n  location: Location - location to sample\nChildren: help(), available()\nExample:\n# Samples a field at a latitude/longitude location\n   print sample(topography(earth), location(latitude: 60.0, longitude: 270.0));","compact":"Function: sample - samples a field at a latitude/longitude location","search_text":"function:sample sample sample function samples a field at a latitude/longitude location sample(field: Field, location: Location) -> Number|Nil field Field global scalar field location Location location to sample"},{"id":"function:abs","name":"abs","path":"abs","kind":"function","aliases":[],"description":"returns the absolute value","syntax":["abs(x: Number) -> Number"],"examples":["# Returns the absolute value\nprint abs(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: abs - returns the absolute value\nSyntax:\n  abs(x: Number) -> Number\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Returns the absolute value\n   print abs(42.0);","compact":"Function: abs - returns the absolute value","search_text":"function:abs abs abs function returns the absolute value abs(x: Number) -> Number x Number numeric input"},{"id":"function:sign","name":"sign","path":"sign","kind":"function","aliases":[],"description":"returns -1, 0, or 1 according to the sign","syntax":["sign(x: Number) -> Number"],"examples":["# Returns -1, 0, or 1 according to the sign\nprint sign(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: sign - returns -1, 0, or 1 according to the sign\nSyntax:\n  sign(x: Number) -> Number\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Returns -1, 0, or 1 according to the sign\n   print sign(42.0);","compact":"Function: sign - returns -1, 0, or 1 according to the sign","search_text":"function:sign sign sign function returns -1, 0, or 1 according to the sign sign(x: Number) -> Number x Number numeric input"},{"id":"function:floor","name":"floor","path":"floor","kind":"function","aliases":[],"description":"rounds down to an integer value","syntax":["floor(x: Number) -> Number"],"examples":["# Rounds down to an integer value\nprint floor(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: floor - rounds down to an integer value\nSyntax:\n  floor(x: Number) -> Number\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Rounds down to an integer value\n   print floor(42.0);","compact":"Function: floor - rounds down to an integer value","search_text":"function:floor floor floor function rounds down to an integer value floor(x: Number) -> Number x Number numeric input"},{"id":"function:ceil","name":"ceil","path":"ceil","kind":"function","aliases":[],"description":"rounds up to an integer value","syntax":["ceil(x: Number) -> Number"],"examples":["# Rounds up to an integer value\nprint ceil(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: ceil - rounds up to an integer value\nSyntax:\n  ceil(x: Number) -> Number\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Rounds up to an integer value\n   print ceil(42.0);","compact":"Function: ceil - rounds up to an integer value","search_text":"function:ceil ceil ceil function rounds up to an integer value ceil(x: Number) -> Number x Number numeric input"},{"id":"function:round","name":"round","path":"round","kind":"function","aliases":[],"description":"rounds to the nearest integer value","syntax":["round(x: Number) -> Number"],"examples":["# Rounds to the nearest integer value\nprint round(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: round - rounds to the nearest integer value\nSyntax:\n  round(x: Number) -> Number\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Rounds to the nearest integer value\n   print round(42.0);","compact":"Function: round - rounds to the nearest integer value","search_text":"function:round round round function rounds to the nearest integer value round(x: Number) -> Number x Number numeric input"},{"id":"function:trunc","name":"trunc","path":"trunc","kind":"function","aliases":[],"description":"truncates toward zero","syntax":["trunc(x: Number) -> Number"],"examples":["# Truncates toward zero\nprint trunc(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: trunc - truncates toward zero\nSyntax:\n  trunc(x: Number) -> Number\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Truncates toward zero\n   print trunc(42.0);","compact":"Function: trunc - truncates toward zero","search_text":"function:trunc trunc trunc function truncates toward zero trunc(x: Number) -> Number x Number numeric input"},{"id":"function:fract","name":"fract","path":"fract","kind":"function","aliases":[],"description":"returns the fractional part","syntax":["fract(x: Number) -> Number"],"examples":["# Returns the fractional part\nprint fract(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: fract - returns the fractional part\nSyntax:\n  fract(x: Number) -> Number\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Returns the fractional part\n   print fract(42.0);","compact":"Function: fract - returns the fractional part","search_text":"function:fract fract fract function returns the fractional part fract(x: Number) -> Number x Number numeric input"},{"id":"function:sqrt","name":"sqrt","path":"sqrt","kind":"function","aliases":[],"description":"returns the square root","syntax":["sqrt(x: Number) -> Number"],"examples":["# Returns the square root\nprint sqrt(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: sqrt - returns the square root\nSyntax:\n  sqrt(x: Number) -> Number\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Returns the square root\n   print sqrt(42.0);","compact":"Function: sqrt - returns the square root","search_text":"function:sqrt sqrt sqrt function returns the square root sqrt(x: Number) -> Number x Number numeric input"},{"id":"function:cbrt","name":"cbrt","path":"cbrt","kind":"function","aliases":[],"description":"returns the cube root","syntax":["cbrt(x: Number) -> Number"],"examples":["# Returns the cube root\nprint cbrt(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: cbrt - returns the cube root\nSyntax:\n  cbrt(x: Number) -> Number\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Returns the cube root\n   print cbrt(42.0);","compact":"Function: cbrt - returns the cube root","search_text":"function:cbrt cbrt cbrt function returns the cube root cbrt(x: Number) -> Number x Number numeric input"},{"id":"function:exp","name":"exp","path":"exp","kind":"function","aliases":[],"description":"returns e raised to x","syntax":["exp(x: Number) -> Number"],"examples":["# Returns e raised to x\nprint exp(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: exp - returns e raised to x\nSyntax:\n  exp(x: Number) -> Number\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Returns e raised to x\n   print exp(42.0);","compact":"Function: exp - returns e raised to x","search_text":"function:exp exp exp function returns e raised to x exp(x: Number) -> Number x Number numeric input"},{"id":"function:exp2","name":"exp2","path":"exp2","kind":"function","aliases":[],"description":"returns 2 raised to x","syntax":["exp2(x: Number) -> Number"],"examples":["# Returns 2 raised to x\nprint exp2(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: exp2 - returns 2 raised to x\nSyntax:\n  exp2(x: Number) -> Number\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Returns 2 raised to x\n   print exp2(42.0);","compact":"Function: exp2 - returns 2 raised to x","search_text":"function:exp2 exp2 exp2 function returns 2 raised to x exp2(x: Number) -> Number x Number numeric input"},{"id":"function:ln","name":"ln","path":"ln","kind":"function","aliases":[],"description":"returns the natural logarithm","syntax":["ln(x: Number) -> Number"],"examples":["# Returns the natural logarithm\nprint ln(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: ln - returns the natural logarithm\nSyntax:\n  ln(x: Number) -> Number\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Returns the natural logarithm\n   print ln(42.0);","compact":"Function: ln - returns the natural logarithm","search_text":"function:ln ln ln function returns the natural logarithm ln(x: Number) -> Number x Number numeric input"},{"id":"function:log","name":"log","path":"log","kind":"function","aliases":[],"description":"returns logarithm of x in the given base","syntax":["log(x: Number, y: Number) -> Number"],"examples":["# Returns logarithm of x in the given base\nprint log(42.0, 42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"first numeric input"},{"name":"y","type":"Number","required":true,"description":"second numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: log - returns logarithm of x in the given base\nSyntax:\n  log(x: Number, y: Number) -> Number\nArguments:\n  x: Number - first numeric input\n  y: Number - second numeric input\nChildren: help(), available()\nExample:\n# Returns logarithm of x in the given base\n   print log(42.0, 42.0);","compact":"Function: log - returns logarithm of x in the given base","search_text":"function:log log log function returns logarithm of x in the given base log(x: Number, y: Number) -> Number x Number first numeric input y Number second numeric input"},{"id":"function:log2","name":"log2","path":"log2","kind":"function","aliases":[],"description":"returns the base-2 logarithm","syntax":["log2(x: Number) -> Number"],"examples":["# Returns the base-2 logarithm\nprint log2(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: log2 - returns the base-2 logarithm\nSyntax:\n  log2(x: Number) -> Number\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Returns the base-2 logarithm\n   print log2(42.0);","compact":"Function: log2 - returns the base-2 logarithm","search_text":"function:log2 log2 log2 function returns the base-2 logarithm log2(x: Number) -> Number x Number numeric input"},{"id":"function:log10","name":"log10","path":"log10","kind":"function","aliases":[],"description":"returns the base-10 logarithm","syntax":["log10(x: Number) -> Number"],"examples":["# Returns the base-10 logarithm\nprint log10(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: log10 - returns the base-10 logarithm\nSyntax:\n  log10(x: Number) -> Number\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Returns the base-10 logarithm\n   print log10(42.0);","compact":"Function: log10 - returns the base-10 logarithm","search_text":"function:log10 log10 log10 function returns the base-10 logarithm log10(x: Number) -> Number x Number numeric input"},{"id":"function:pow","name":"pow","path":"pow","kind":"function","aliases":[],"description":"returns x raised to y","syntax":["pow(x: Number, y: Number) -> Number"],"examples":["# Returns x raised to y\nprint pow(42.0, 42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"first numeric input"},{"name":"y","type":"Number","required":true,"description":"second numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: pow - returns x raised to y\nSyntax:\n  pow(x: Number, y: Number) -> Number\nArguments:\n  x: Number - first numeric input\n  y: Number - second numeric input\nChildren: help(), available()\nExample:\n# Returns x raised to y\n   print pow(42.0, 42.0);","compact":"Function: pow - returns x raised to y","search_text":"function:pow pow pow function returns x raised to y pow(x: Number, y: Number) -> Number x Number first numeric input y Number second numeric input"},{"id":"function:sin","name":"sin","path":"sin","kind":"function","aliases":[],"description":"returns sine of x radians","syntax":["sin(x: Number) -> Number"],"examples":["# Returns sine of x radians\nprint sin(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: sin - returns sine of x radians\nSyntax:\n  sin(x: Number) -> Number\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Returns sine of x radians\n   print sin(42.0);","compact":"Function: sin - returns sine of x radians","search_text":"function:sin sin sin function returns sine of x radians sin(x: Number) -> Number x Number numeric input"},{"id":"function:cos","name":"cos","path":"cos","kind":"function","aliases":[],"description":"returns cosine of x radians","syntax":["cos(x: Number) -> Number"],"examples":["# Returns cosine of x radians\nprint cos(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: cos - returns cosine of x radians\nSyntax:\n  cos(x: Number) -> Number\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Returns cosine of x radians\n   print cos(42.0);","compact":"Function: cos - returns cosine of x radians","search_text":"function:cos cos cos function returns cosine of x radians cos(x: Number) -> Number x Number numeric input"},{"id":"function:tan","name":"tan","path":"tan","kind":"function","aliases":[],"description":"returns tangent of x radians","syntax":["tan(x: Number) -> Number"],"examples":["# Returns tangent of x radians\nprint tan(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: tan - returns tangent of x radians\nSyntax:\n  tan(x: Number) -> Number\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Returns tangent of x radians\n   print tan(42.0);","compact":"Function: tan - returns tangent of x radians","search_text":"function:tan tan tan function returns tangent of x radians tan(x: Number) -> Number x Number numeric input"},{"id":"function:asin","name":"asin","path":"asin","kind":"function","aliases":[],"description":"returns arcsine in radians","syntax":["asin(x: Number) -> Number"],"examples":["# Returns arcsine in radians\nprint asin(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: asin - returns arcsine in radians\nSyntax:\n  asin(x: Number) -> Number\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Returns arcsine in radians\n   print asin(42.0);","compact":"Function: asin - returns arcsine in radians","search_text":"function:asin asin asin function returns arcsine in radians asin(x: Number) -> Number x Number numeric input"},{"id":"function:acos","name":"acos","path":"acos","kind":"function","aliases":[],"description":"returns arccosine in radians","syntax":["acos(x: Number) -> Number"],"examples":["# Returns arccosine in radians\nprint acos(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: acos - returns arccosine in radians\nSyntax:\n  acos(x: Number) -> Number\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Returns arccosine in radians\n   print acos(42.0);","compact":"Function: acos - returns arccosine in radians","search_text":"function:acos acos acos function returns arccosine in radians acos(x: Number) -> Number x Number numeric input"},{"id":"function:atan","name":"atan","path":"atan","kind":"function","aliases":[],"description":"returns arctangent in radians","syntax":["atan(x: Number) -> Number"],"examples":["# Returns arctangent in radians\nprint atan(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: atan - returns arctangent in radians\nSyntax:\n  atan(x: Number) -> Number\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Returns arctangent in radians\n   print atan(42.0);","compact":"Function: atan - returns arctangent in radians","search_text":"function:atan atan atan function returns arctangent in radians atan(x: Number) -> Number x Number numeric input"},{"id":"function:atan2","name":"atan2","path":"atan2","kind":"function","aliases":[],"description":"returns atan2(y, x) in radians","syntax":["atan2(x: Number, y: Number) -> Number"],"examples":["# Returns atan2(y, x) in radians\nprint atan2(42.0, 42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"first numeric input"},{"name":"y","type":"Number","required":true,"description":"second numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: atan2 - returns atan2(y, x) in radians\nSyntax:\n  atan2(x: Number, y: Number) -> Number\nArguments:\n  x: Number - first numeric input\n  y: Number - second numeric input\nChildren: help(), available()\nExample:\n# Returns atan2(y, x) in radians\n   print atan2(42.0, 42.0);","compact":"Function: atan2 - returns atan2(y, x) in radians","search_text":"function:atan2 atan2 atan2 function returns atan2(y, x) in radians atan2(x: Number, y: Number) -> Number x Number first numeric input y Number second numeric input"},{"id":"function:sinh","name":"sinh","path":"sinh","kind":"function","aliases":[],"description":"returns hyperbolic sine","syntax":["sinh(x: Number) -> Number"],"examples":["# Returns hyperbolic sine\nprint sinh(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: sinh - returns hyperbolic sine\nSyntax:\n  sinh(x: Number) -> Number\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Returns hyperbolic sine\n   print sinh(42.0);","compact":"Function: sinh - returns hyperbolic sine","search_text":"function:sinh sinh sinh function returns hyperbolic sine sinh(x: Number) -> Number x Number numeric input"},{"id":"function:cosh","name":"cosh","path":"cosh","kind":"function","aliases":[],"description":"returns hyperbolic cosine","syntax":["cosh(x: Number) -> Number"],"examples":["# Returns hyperbolic cosine\nprint cosh(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: cosh - returns hyperbolic cosine\nSyntax:\n  cosh(x: Number) -> Number\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Returns hyperbolic cosine\n   print cosh(42.0);","compact":"Function: cosh - returns hyperbolic cosine","search_text":"function:cosh cosh cosh function returns hyperbolic cosine cosh(x: Number) -> Number x Number numeric input"},{"id":"function:tanh","name":"tanh","path":"tanh","kind":"function","aliases":[],"description":"returns hyperbolic tangent","syntax":["tanh(x: Number) -> Number"],"examples":["# Returns hyperbolic tangent\nprint tanh(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: tanh - returns hyperbolic tangent\nSyntax:\n  tanh(x: Number) -> Number\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Returns hyperbolic tangent\n   print tanh(42.0);","compact":"Function: tanh - returns hyperbolic tangent","search_text":"function:tanh tanh tanh function returns hyperbolic tangent tanh(x: Number) -> Number x Number numeric input"},{"id":"function:asinh","name":"asinh","path":"asinh","kind":"function","aliases":[],"description":"returns inverse hyperbolic sine","syntax":["asinh(x: Number) -> Number"],"examples":["# Returns inverse hyperbolic sine\nprint asinh(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: asinh - returns inverse hyperbolic sine\nSyntax:\n  asinh(x: Number) -> Number\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Returns inverse hyperbolic sine\n   print asinh(42.0);","compact":"Function: asinh - returns inverse hyperbolic sine","search_text":"function:asinh asinh asinh function returns inverse hyperbolic sine asinh(x: Number) -> Number x Number numeric input"},{"id":"function:acosh","name":"acosh","path":"acosh","kind":"function","aliases":[],"description":"returns inverse hyperbolic cosine","syntax":["acosh(x: Number) -> Number"],"examples":["# Returns inverse hyperbolic cosine\nprint acosh(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: acosh - returns inverse hyperbolic cosine\nSyntax:\n  acosh(x: Number) -> Number\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Returns inverse hyperbolic cosine\n   print acosh(42.0);","compact":"Function: acosh - returns inverse hyperbolic cosine","search_text":"function:acosh acosh acosh function returns inverse hyperbolic cosine acosh(x: Number) -> Number x Number numeric input"},{"id":"function:atanh","name":"atanh","path":"atanh","kind":"function","aliases":[],"description":"returns inverse hyperbolic tangent","syntax":["atanh(x: Number) -> Number"],"examples":["# Returns inverse hyperbolic tangent\nprint atanh(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: atanh - returns inverse hyperbolic tangent\nSyntax:\n  atanh(x: Number) -> Number\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Returns inverse hyperbolic tangent\n   print atanh(42.0);","compact":"Function: atanh - returns inverse hyperbolic tangent","search_text":"function:atanh atanh atanh function returns inverse hyperbolic tangent atanh(x: Number) -> Number x Number numeric input"},{"id":"function:hypot","name":"hypot","path":"hypot","kind":"function","aliases":[],"description":"returns sqrt(x*x + y*y) without undue overflow","syntax":["hypot(x: Number, y: Number) -> Number"],"examples":["# Returns sqrt(x*x + y*y) without undue overflow\nprint hypot(42.0, 42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"first numeric input"},{"name":"y","type":"Number","required":true,"description":"second numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: hypot - returns sqrt(x*x + y*y) without undue overflow\nSyntax:\n  hypot(x: Number, y: Number) -> Number\nArguments:\n  x: Number - first numeric input\n  y: Number - second numeric input\nChildren: help(), available()\nExample:\n# Returns sqrt(x*x + y*y) without undue overflow\n   print hypot(42.0, 42.0);","compact":"Function: hypot - returns sqrt(x*x + y*y) without undue overflow","search_text":"function:hypot hypot hypot function returns sqrt(x*x + y*y) without undue overflow hypot(x: Number, y: Number) -> Number x Number first numeric input y Number second numeric input"},{"id":"function:min","name":"min","path":"min","kind":"function","aliases":[],"description":"returns the smallest numeric argument","syntax":["min() -> Number"],"examples":["# Find the lower endpoint altitude in a daylight window\nlet loc = location(60,10);\nlet obs = loc.observer();\nlet morning = altitude(sun, time(2026,6,21,6,0,0), obs);\nlet evening = altitude(sun, time(2026,6,21,18,0,0), obs);\nprint min(morning, evening);"],"arguments":[],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: min - returns the smallest numeric argument\nSyntax:\n  min() -> Number\nChildren: help(), available()\nExample:\n# Find the lower endpoint altitude in a daylight window\n   let loc = location(60,10);\n   let obs = loc.observer();\n   let morning = altitude(sun, time(2026,6,21,6,0,0), obs);\n   let evening = altitude(sun, time(2026,6,21,18,0,0), obs);\n   print min(morning, evening);","compact":"Function: min - returns the smallest numeric argument","search_text":"function:min min min function returns the smallest numeric argument min() -> Number"},{"id":"function:max","name":"max","path":"max","kind":"function","aliases":[],"description":"returns the largest numeric argument","syntax":["max() -> Number"],"examples":["# Find the higher endpoint altitude in a daylight window\nlet loc = location(60,10);\nlet obs = loc.observer();\nlet morning = altitude(sun, time(2026,6,21,6,0,0), obs);\nlet evening = altitude(sun, time(2026,6,21,18,0,0), obs);\nprint max(morning, evening);"],"arguments":[],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: max - returns the largest numeric argument\nSyntax:\n  max() -> Number\nChildren: help(), available()\nExample:\n# Find the higher endpoint altitude in a daylight window\n   let loc = location(60,10);\n   let obs = loc.observer();\n   let morning = altitude(sun, time(2026,6,21,6,0,0), obs);\n   let evening = altitude(sun, time(2026,6,21,18,0,0), obs);\n   print max(morning, evening);","compact":"Function: max - returns the largest numeric argument","search_text":"function:max max max function returns the largest numeric argument max() -> Number"},{"id":"function:clamp","name":"clamp","path":"clamp","kind":"function","aliases":[],"description":"clips x to the inclusive range lower..upper","syntax":["clamp(x: Number, lower: Number, upper: Number) -> Number"],"examples":["# Clips x to the inclusive range lower..upper\nprint clamp(42.0, 42.0, 42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"value to clip"},{"name":"lower","type":"Number","required":true,"description":"inclusive lower bound"},{"name":"upper","type":"Number","required":true,"description":"inclusive upper bound"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: clamp - clips x to the inclusive range lower..upper\nSyntax:\n  clamp(x: Number, lower: Number, upper: Number) -> Number\nArguments:\n  x: Number - value to clip\n  lower: Number - inclusive lower bound\n  upper: Number - inclusive upper bound\nChildren: help(), available()\nExample:\n# Clips x to the inclusive range lower..upper\n   print clamp(42.0, 42.0, 42.0);","compact":"Function: clamp - clips x to the inclusive range lower..upper","search_text":"function:clamp clamp clamp function clips x to the inclusive range lower..upper clamp(x: Number, lower: Number, upper: Number) -> Number x Number value to clip lower Number inclusive lower bound upper Number inclusive upper bound"},{"id":"function:angle_in_degrees","name":"angle_in_degrees","path":"angle_in_degrees","kind":"function","aliases":["angle_degrees"],"description":"returns the angle between two vectors in degrees","syntax":["angle_in_degrees(a: Vector, b: Vector) -> Number"],"examples":["# Returns the angle between two vectors in degrees\nprint angle_in_degrees(vector(1.0, 2.0, 3.0), vector(1.0, 2.0, 3.0));"],"arguments":[{"name":"a","type":"Vector","required":true,"description":"first vector"},{"name":"b","type":"Vector","required":true,"description":"second vector"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: angle_in_degrees - returns the angle between two vectors in degrees\nSyntax:\n  angle_in_degrees(a: Vector, b: Vector) -> Number\nAliases: angle_degrees\nArguments:\n  a: Vector - first vector\n  b: Vector - second vector\nChildren: help(), available()\nExample:\n# Returns the angle between two vectors in degrees\n   print angle_in_degrees(vector(1.0, 2.0, 3.0), vector(1.0, 2.0, 3.0));","compact":"Function: angle_in_degrees - returns the angle between two vectors in degrees","search_text":"function:angle_in_degrees angle_in_degrees angle_in_degrees function returns the angle between two vectors in degrees angle_degrees angle_in_degrees(a: Vector, b: Vector) -> Number a Vector first vector b Vector second vector"},{"id":"function:to_radians","name":"to_radians","path":"to_radians","kind":"function","aliases":[],"description":"converts degrees to radians","syntax":["to_radians(x: Number) -> Number"],"examples":["# Converts degrees to radians\nprint to_radians(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: to_radians - converts degrees to radians\nSyntax:\n  to_radians(x: Number) -> Number\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Converts degrees to radians\n   print to_radians(42.0);","compact":"Function: to_radians - converts degrees to radians","search_text":"function:to_radians to_radians to_radians function converts degrees to radians to_radians(x: Number) -> Number x Number numeric input"},{"id":"function:to_degrees","name":"to_degrees","path":"to_degrees","kind":"function","aliases":[],"description":"converts radians to degrees","syntax":["to_degrees(x: Number) -> Number"],"examples":["# Converts radians to degrees\nprint to_degrees(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: to_degrees - converts radians to degrees\nSyntax:\n  to_degrees(x: Number) -> Number\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Converts radians to degrees\n   print to_degrees(42.0);","compact":"Function: to_degrees - converts radians to degrees","search_text":"function:to_degrees to_degrees to_degrees function converts radians to degrees to_degrees(x: Number) -> Number x Number numeric input"},{"id":"function:is_finite","name":"is_finite","path":"is_finite","kind":"function","aliases":[],"description":"returns true when x is finite","syntax":["is_finite(x: Number) -> Bool"],"examples":["# Returns true when x is finite\nprint is_finite(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: is_finite - returns true when x is finite\nSyntax:\n  is_finite(x: Number) -> Bool\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Returns true when x is finite\n   print is_finite(42.0);","compact":"Function: is_finite - returns true when x is finite","search_text":"function:is_finite is_finite is_finite function returns true when x is finite is_finite(x: Number) -> Bool x Number numeric input"},{"id":"function:is_nan","name":"is_nan","path":"is_nan","kind":"function","aliases":[],"description":"returns true when x is NaN","syntax":["is_nan(x: Number) -> Bool"],"examples":["# Returns true when x is NaN\nprint is_nan(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: is_nan - returns true when x is NaN\nSyntax:\n  is_nan(x: Number) -> Bool\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Returns true when x is NaN\n   print is_nan(42.0);","compact":"Function: is_nan - returns true when x is NaN","search_text":"function:is_nan is_nan is_nan function returns true when x is NaN is_nan(x: Number) -> Bool x Number numeric input"},{"id":"function:is_infinite","name":"is_infinite","path":"is_infinite","kind":"function","aliases":[],"description":"returns true when x is infinite","syntax":["is_infinite(x: Number) -> Bool"],"examples":["# Returns true when x is infinite\nprint is_infinite(42.0);"],"arguments":[{"name":"x","type":"Number","required":true,"description":"numeric input"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: is_infinite - returns true when x is infinite\nSyntax:\n  is_infinite(x: Number) -> Bool\nArguments:\n  x: Number - numeric input\nChildren: help(), available()\nExample:\n# Returns true when x is infinite\n   print is_infinite(42.0);","compact":"Function: is_infinite - returns true when x is infinite","search_text":"function:is_infinite is_infinite is_infinite function returns true when x is infinite is_infinite(x: Number) -> Bool x Number numeric input"},{"id":"function:navigate","name":"navigate","path":"navigate","kind":"function","aliases":[],"description":"estimates an Earth location from target elevation observations","syntax":["navigate(observations: Observation|[Observation]) -> LocationSolution"],"examples":["# Estimate a location from seven pasted elevation observations\nlet sirius = stars().find(\"sirius\");\nlet betelgeuse = stars().find(\"betelgeuse\");\nlet procyon = stars().find(\"procyon\");\nlet aldebaran = stars().find(\"aldebaran\");\nlet rigel = stars().find(\"rigel\");\nlet o1 = observation(sirius, time(2026, 1, 12, 22, 0, 0), elevation: 13.032698485299838);\nlet o2 = observation(jupiter, time(2026, 1, 12, 22, 10, 0), elevation: 50.72978965272842);\nlet o3 = observation(uranus, time(2026, 1, 12, 22, 20, 0), elevation: 39.45114824559175);\nlet o4 = observation(betelgeuse, time(2026, 1, 12, 22, 30, 0), elevation: 36.78064241831301);\nlet o5 = observation(procyon, time(2026, 1, 12, 22, 40, 0), elevation: 34.48682253366456);\nlet o6 = observation(aldebaran, time(2026, 1, 12, 22, 50, 0), elevation: 39.32907688782253);\nlet o7 = observation(rigel, time(2026, 1, 12, 23, 0, 0), elevation: 18.06018919597869);\nlet sol = navigate(o1, o2, o3, o4, o5, o6, o7);\nprint sol.location.latitude, sol.location.longitude, sol.rms;"],"arguments":[{"name":"observations","type":"Observation|[Observation]","required":true,"description":"three or more target elevation observations"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":["ephemeris","iers"],"doc":"Function: navigate - estimates an Earth location from target elevation observations\nSyntax:\n  navigate(observations: Observation|[Observation]) -> LocationSolution\nArguments:\n  observations: Observation|[Observation] - three or more target elevation observations\nResources: ephemeris, iers\nChildren: help(), available()\nExample:\n# Estimate a location from seven pasted elevation observations\n   let sirius = stars().find(\"sirius\");\n   let betelgeuse = stars().find(\"betelgeuse\");\n   let procyon = stars().find(\"procyon\");\n   let aldebaran = stars().find(\"aldebaran\");\n   let rigel = stars().find(\"rigel\");\n   let o1 = observation(sirius, time(2026, 1, 12, 22, 0, 0), elevation: 13.032698485299838);\n   let o2 = observation(jupiter, time(2026, 1, 12, 22, 10, 0), elevation: 50.72978965272842);\n   let o3 = observation(uranus, time(2026, 1, 12, 22, 20, 0), elevation: 39.45114824559175);\n   let o4 = observation(betelgeuse, time(2026, 1, 12, 22, 30, 0), elevation: 36.78064241831301);\n   let o5 = observation(procyon, time(2026, 1, 12, 22, 40, 0), elevation: 34.48682253366456);\n   let o6 = observation(aldebaran, time(2026, 1, 12, 22, 50, 0), elevation: 39.32907688782253);\n   let o7 = observation(rigel, time(2026, 1, 12, 23, 0, 0), elevation: 18.06018919597869);\n   let sol = navigate(o1, o2, o3, o4, o5, o6, o7);\n   print sol.location.latitude, sol.location.longitude, sol.rms;","compact":"Function: navigate - estimates an Earth location from target elevation observations","search_text":"function:navigate navigate navigate function estimates an Earth location from target elevation observations navigate(observations: Observation|[Observation]) -> LocationSolution observations Observation|[Observation] three or more target elevation observations ephemeris iers"},{"id":"function:minimize","name":"minimize","path":"minimize","kind":"function","aliases":[],"description":"minimizes a numeric callable over named variables with optional bounds and constraints","syntax":["minimize(objective: Function, initial: Object, options: Object) -> Object"],"examples":["# Minimize a numeric objective over a bounded variable\nlet result = minimize((x): (x - 2) * (x - 2), {x: 0}, {bounds: {x: range(-5, 5)}});\nprint result.solution.x, result.value;"],"arguments":[{"name":"objective","type":"Function","required":true,"description":"numeric objective function"},{"name":"initial","type":"Object","required":true,"description":"named numeric initial variables"},{"name":"options","type":"Object","required":false,"description":"bounds, constraints, tolerance, and iteration options"}],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Function: minimize - minimizes a numeric callable over named variables with optional bounds and constraints\nSyntax:\n  minimize(objective: Function, initial: Object, options: Object) -> Object\nArguments:\n  objective: Function - numeric objective function\n  initial: Object - named numeric initial variables\n  options: Object [optional] - bounds, constraints, tolerance, and iteration options\nChildren: help(), available()\nExample:\n# Minimize a numeric objective over a bounded variable\n   let result = minimize((x): (x - 2) * (x - 2), {x: 0}, {bounds: {x: range(-5, 5)}});\n   print result.solution.x, result.value;","compact":"Function: minimize - minimizes a numeric callable over named variables with optional bounds and constraints","search_text":"function:minimize minimize minimize function minimizes a numeric callable over named variables with optional bounds and constraints minimize(objective: Function, initial: Object, options: Object) -> Object objective Function numeric objective function initial Object named numeric initial variables options Object bounds, constraints, tolerance, and iteration options"},{"id":"type:Time","name":"Time","path":"Time","kind":"type","aliases":[],"description":"UTC date/time value with resolved TT, UT1, and TDB scales","syntax":["time() -> Time","time(julian_date: Number) -> Time","time(year: Integer, month: Integer, day: Integer, hour: Integer, minute: Integer, second: Integer) -> Time","time(timezone: Timezone|Text|Location|Place) -> LocalTime","time(year: Integer, month: Integer, day: Integer, hour: Integer, minute: Integer, second: Integer, timezone: Timezone|Text|Location|Place) -> LocalTime"],"examples":["# Convert a UTC time to local civil time\nlet t = time(2026,6,1,12,0,0);\nprint t.utc(), t.local(\"Europe/Oslo\").iso;"],"arguments":[{"name":"julian_date","type":"Number","required":false,"description":"UTC Julian date"},{"name":"year","type":"Integer","required":false,"description":"full UTC year"},{"name":"month","type":"Integer","required":false,"description":"month from 1 to 12"},{"name":"day","type":"Integer","required":false,"description":"day from 1 to 31"},{"name":"hour","type":"Integer","required":false,"description":"hour from 0 to 23"},{"name":"minute","type":"Integer","required":false,"description":"minute from 0 to 59"},{"name":"second","type":"Integer","required":false,"description":"second from 0 to 59"},{"name":"timezone","type":"Timezone|Text|Location|Place","required":false,"description":"timezone id, Timezone, Location, or Place for local civil time"}],"children":["field:Time.year","field:Time.month","field:Time.day","field:Time.hour","field:Time.minute","field:Time.second","field:Time.weekday","member:Time.year","member:Time.utc","member:Time.tt","member:Time.ut1","member:Time.tdb","member:Time.dt","member:Time.local","member:Time.add_months","member:Time.add_days","member:Time.add_hours","member:Time.add_minutes","member:Time.add_seconds","member:Time.children","member:Time.fields","member:Time.functions"],"resources":[],"doc":"Type: Time - UTC date/time value with resolved TT, UT1, and TDB scales\nSyntax:\n  time() -> Time\n  time(julian_date: Number) -> Time\n  time(year: Integer, month: Integer, day: Integer, hour: Integer, minute: Integer, second: Integer) -> Time\n  time(timezone: Timezone|Text|Location|Place) -> LocalTime\n  time(year: Integer, month: Integer, day: Integer, hour: Integer, minute: Integer, second: Integer, timezone: Timezone|Text|Location|Place) -> LocalTime\nArguments:\n  julian_date: Number [optional] - UTC Julian date\n  year: Integer [optional] - full UTC year\n  month: Integer [optional] - month from 1 to 12\n  day: Integer [optional] - day from 1 to 31\n  hour: Integer [optional] - hour from 0 to 23\n  minute: Integer [optional] - minute from 0 to 59\n  second: Integer [optional] - second from 0 to 59\n  timezone: Timezone|Text|Location|Place [optional] - timezone id, Timezone, Location, or Place for local civil time\nChildren: year, month, day, hour, minute, second, weekday, year(), utc(), tt(), ut1(), tdb(), dt(), local(), add_months(), add_days(), add_hours(), add_minutes(), add_seconds(), children(), fields(), functions()\nExample:\n# Convert a UTC time to local civil time\n   let t = time(2026,6,1,12,0,0);\n   print t.utc(), t.local(\"Europe/Oslo\").iso;","compact":"Type: Time - UTC date/time value with resolved TT, UT1, and TDB scales","search_text":"type:Time Time Time type UTC date/time value with resolved TT, UT1, and TDB scales time() -> Time time(julian_date: Number) -> Time time(year: Integer, month: Integer, day: Integer, hour: Integer, minute: Integer, second: Integer) -> Time time(timezone: Timezone|Text|Location|Place) -> LocalTime time(year: Integer, month: Integer, day: Integer, hour: Integer, minute: Integer, second: Integer, timezone: Timezone|Text|Location|Place) -> LocalTime julian_date Number UTC Julian date year Integer full UTC year month Integer month from 1 to 12 day Integer day from 1 to 31 hour Integer hour from 0 to 23 minute Integer minute from 0 to 59 second Integer second from 0 to 59 timezone Timezone|Text|Location|Place timezone id, Timezone, Location, or Place for local civil time"},{"id":"field:Time.year","name":"year","path":"Time.year","kind":"field","aliases":[],"description":"full UTC year","syntax":["<Time>.year -> Integer"],"examples":["# Read the year field from a Time value\nprint time().year;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Time.year - full UTC year\nSyntax:\n  <Time>.year -> Integer\nExample:\n# Read the year field from a Time value\n   print time().year;","compact":"Field: Time.year - full UTC year","search_text":"field:Time.year year Time.year field full UTC year <Time>.year -> Integer"},{"id":"field:Time.month","name":"month","path":"Time.month","kind":"field","aliases":[],"description":"month from 1 to 12","syntax":["<Time>.month -> Integer"],"examples":["# Read the month field from a Time value\nprint time().month;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Time.month - month from 1 to 12\nSyntax:\n  <Time>.month -> Integer\nExample:\n# Read the month field from a Time value\n   print time().month;","compact":"Field: Time.month - month from 1 to 12","search_text":"field:Time.month month Time.month field month from 1 to 12 <Time>.month -> Integer"},{"id":"field:Time.day","name":"day","path":"Time.day","kind":"field","aliases":[],"description":"day from 1 to 31","syntax":["<Time>.day -> Integer"],"examples":["# Read the day field from a Time value\nprint time().day;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Time.day - day from 1 to 31\nSyntax:\n  <Time>.day -> Integer\nExample:\n# Read the day field from a Time value\n   print time().day;","compact":"Field: Time.day - day from 1 to 31","search_text":"field:Time.day day Time.day field day from 1 to 31 <Time>.day -> Integer"},{"id":"field:Time.hour","name":"hour","path":"Time.hour","kind":"field","aliases":[],"description":"hour from 0 to 23","syntax":["<Time>.hour -> Integer"],"examples":["# Read the hour field from a Time value\nprint time().hour;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Time.hour - hour from 0 to 23\nSyntax:\n  <Time>.hour -> Integer\nExample:\n# Read the hour field from a Time value\n   print time().hour;","compact":"Field: Time.hour - hour from 0 to 23","search_text":"field:Time.hour hour Time.hour field hour from 0 to 23 <Time>.hour -> Integer"},{"id":"field:Time.minute","name":"minute","path":"Time.minute","kind":"field","aliases":[],"description":"minute from 0 to 59","syntax":["<Time>.minute -> Integer"],"examples":["# Read the minute field from a Time value\nprint time().minute;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Time.minute - minute from 0 to 59\nSyntax:\n  <Time>.minute -> Integer\nExample:\n# Read the minute field from a Time value\n   print time().minute;","compact":"Field: Time.minute - minute from 0 to 59","search_text":"field:Time.minute minute Time.minute field minute from 0 to 59 <Time>.minute -> Integer"},{"id":"field:Time.second","name":"second","path":"Time.second","kind":"field","aliases":[],"description":"second from 0 to 59","syntax":["<Time>.second -> Integer"],"examples":["# Read the second field from a Time value\nprint time().second;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Time.second - second from 0 to 59\nSyntax:\n  <Time>.second -> Integer\nExample:\n# Read the second field from a Time value\n   print time().second;","compact":"Field: Time.second - second from 0 to 59","search_text":"field:Time.second second Time.second field second from 0 to 59 <Time>.second -> Integer"},{"id":"field:Time.weekday","name":"weekday","path":"Time.weekday","kind":"field","aliases":[],"description":"UTC weekday","syntax":["<Time>.weekday -> Weekday"],"examples":["# Read the weekday field from a Time value\nprint time().weekday;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Time.weekday - UTC weekday\nSyntax:\n  <Time>.weekday -> Weekday\nExample:\n# Read the weekday field from a Time value\n   print time().weekday;","compact":"Field: Time.weekday - UTC weekday","search_text":"field:Time.weekday weekday Time.weekday field UTC weekday <Time>.weekday -> Weekday"},{"id":"member:Time.year","name":"year","path":"Time.year","kind":"method","aliases":[],"description":"returns the year component of a Time","syntax":["<Time>.year() -> Number"],"examples":["# Use Time.year on a Time value\nlet value = time();\nprint value.year();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Time.year - returns the year component of a Time\nSyntax:\n  <Time>.year() -> Number\nExample:\n# Use Time.year on a Time value\n   let value = time();\n   print value.year();","compact":"Method: Time.year - returns the year component of a Time","search_text":"member:Time.year year Time.year method returns the year component of a Time <Time>.year() -> Number"},{"id":"member:Time.utc","name":"utc","path":"Time.utc","kind":"method","aliases":[],"description":"returns the UTC Julian date","syntax":["<Time>.utc() -> Number"],"examples":["# Use Time.utc on a Time value\nlet value = time();\nprint value.utc();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Time.utc - returns the UTC Julian date\nSyntax:\n  <Time>.utc() -> Number\nExample:\n# Use Time.utc on a Time value\n   let value = time();\n   print value.utc();","compact":"Method: Time.utc - returns the UTC Julian date","search_text":"member:Time.utc utc Time.utc method returns the UTC Julian date <Time>.utc() -> Number"},{"id":"member:Time.tt","name":"tt","path":"Time.tt","kind":"method","aliases":[],"description":"returns the TT Julian date","syntax":["<Time>.tt() -> Number"],"examples":["# Use Time.tt on a Time value\nlet value = time();\nprint value.tt();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Time.tt - returns the TT Julian date\nSyntax:\n  <Time>.tt() -> Number\nExample:\n# Use Time.tt on a Time value\n   let value = time();\n   print value.tt();","compact":"Method: Time.tt - returns the TT Julian date","search_text":"member:Time.tt tt Time.tt method returns the TT Julian date <Time>.tt() -> Number"},{"id":"member:Time.ut1","name":"ut1","path":"Time.ut1","kind":"method","aliases":[],"description":"returns the UT1 Julian date","syntax":["<Time>.ut1() -> Number"],"examples":["# Use Time.ut1 on a Time value\nlet value = time();\nprint value.ut1();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Time.ut1 - returns the UT1 Julian date\nSyntax:\n  <Time>.ut1() -> Number\nExample:\n# Use Time.ut1 on a Time value\n   let value = time();\n   print value.ut1();","compact":"Method: Time.ut1 - returns the UT1 Julian date","search_text":"member:Time.ut1 ut1 Time.ut1 method returns the UT1 Julian date <Time>.ut1() -> Number"},{"id":"member:Time.tdb","name":"tdb","path":"Time.tdb","kind":"method","aliases":[],"description":"returns the TDB Julian date","syntax":["<Time>.tdb() -> Number"],"examples":["# Use Time.tdb on a Time value\nlet value = time();\nprint value.tdb();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Time.tdb - returns the TDB Julian date\nSyntax:\n  <Time>.tdb() -> Number\nExample:\n# Use Time.tdb on a Time value\n   let value = time();\n   print value.tdb();","compact":"Method: Time.tdb - returns the TDB Julian date","search_text":"member:Time.tdb tdb Time.tdb method returns the TDB Julian date <Time>.tdb() -> Number"},{"id":"member:Time.dt","name":"dt","path":"Time.dt","kind":"method","aliases":[],"description":"returns Delta-T (TT-UT1) in seconds","syntax":["<Time>.dt() -> Number"],"examples":["# Use Time.dt on a Time value\nlet value = time();\nprint value.dt();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Time.dt - returns Delta-T (TT-UT1) in seconds\nSyntax:\n  <Time>.dt() -> Number\nExample:\n# Use Time.dt on a Time value\n   let value = time();\n   print value.dt();","compact":"Method: Time.dt - returns Delta-T (TT-UT1) in seconds","search_text":"member:Time.dt dt Time.dt method returns Delta-T (TT-UT1) in seconds <Time>.dt() -> Number"},{"id":"member:Time.local","name":"local","path":"Time.local","kind":"method","aliases":[],"description":"converts a UTC Time into local civil time for a timezone","syntax":["<Time>.local(timezone: Timezone|Text|Location|Place) -> LocalTime"],"examples":["# Use Time.local on a Time value\nlet value = time();\nprint value.local(location(latitude: 60.0, longitude: 270.0));"],"arguments":[{"name":"timezone","type":"Timezone|Text|Location|Place","required":true,"description":"timezone id, Timezone, Location, or Place"}],"children":[],"resources":[],"doc":"Method: Time.local - converts a UTC Time into local civil time for a timezone\nSyntax:\n  <Time>.local(timezone: Timezone|Text|Location|Place) -> LocalTime\nArguments:\n  timezone: Timezone|Text|Location|Place - timezone id, Timezone, Location, or Place\nExample:\n# Use Time.local on a Time value\n   let value = time();\n   print value.local(location(latitude: 60.0, longitude: 270.0));","compact":"Method: Time.local - converts a UTC Time into local civil time for a timezone","search_text":"member:Time.local local Time.local method converts a UTC Time into local civil time for a timezone <Time>.local(timezone: Timezone|Text|Location|Place) -> LocalTime timezone Timezone|Text|Location|Place timezone id, Timezone, Location, or Place"},{"id":"member:Time.add_months","name":"add_months","path":"Time.add_months","kind":"method","aliases":[],"description":"adds calendar months to a Time","syntax":["<Time>.add_months(months: Integer) -> Time"],"examples":["# Use Time.add_months on a Time value\nlet value = time();\nprint value.add_months(42);"],"arguments":[{"name":"months","type":"Integer","required":true,"description":"number of calendar months to add"}],"children":[],"resources":[],"doc":"Method: Time.add_months - adds calendar months to a Time\nSyntax:\n  <Time>.add_months(months: Integer) -> Time\nArguments:\n  months: Integer - number of calendar months to add\nExample:\n# Use Time.add_months on a Time value\n   let value = time();\n   print value.add_months(42);","compact":"Method: Time.add_months - adds calendar months to a Time","search_text":"member:Time.add_months add_months Time.add_months method adds calendar months to a Time <Time>.add_months(months: Integer) -> Time months Integer number of calendar months to add"},{"id":"member:Time.add_days","name":"add_days","path":"Time.add_days","kind":"method","aliases":[],"description":"adds UTC days to a Time","syntax":["<Time>.add_days(days: Number) -> Time"],"examples":["# Use Time.add_days on a Time value\nlet value = time();\nprint value.add_days(42.0);"],"arguments":[{"name":"days","type":"Number","required":true,"description":"number of UTC days to add"}],"children":[],"resources":[],"doc":"Method: Time.add_days - adds UTC days to a Time\nSyntax:\n  <Time>.add_days(days: Number) -> Time\nArguments:\n  days: Number - number of UTC days to add\nExample:\n# Use Time.add_days on a Time value\n   let value = time();\n   print value.add_days(42.0);","compact":"Method: Time.add_days - adds UTC days to a Time","search_text":"member:Time.add_days add_days Time.add_days method adds UTC days to a Time <Time>.add_days(days: Number) -> Time days Number number of UTC days to add"},{"id":"member:Time.add_hours","name":"add_hours","path":"Time.add_hours","kind":"method","aliases":[],"description":"adds UTC hours to a Time","syntax":["<Time>.add_hours(hours: Number) -> Time"],"examples":["# Use Time.add_hours on a Time value\nlet value = time();\nprint value.add_hours(42.0);"],"arguments":[{"name":"hours","type":"Number","required":true,"description":"number of UTC hours to add"}],"children":[],"resources":[],"doc":"Method: Time.add_hours - adds UTC hours to a Time\nSyntax:\n  <Time>.add_hours(hours: Number) -> Time\nArguments:\n  hours: Number - number of UTC hours to add\nExample:\n# Use Time.add_hours on a Time value\n   let value = time();\n   print value.add_hours(42.0);","compact":"Method: Time.add_hours - adds UTC hours to a Time","search_text":"member:Time.add_hours add_hours Time.add_hours method adds UTC hours to a Time <Time>.add_hours(hours: Number) -> Time hours Number number of UTC hours to add"},{"id":"member:Time.add_minutes","name":"add_minutes","path":"Time.add_minutes","kind":"method","aliases":[],"description":"adds UTC minutes to a Time","syntax":["<Time>.add_minutes(minutes: Number) -> Time"],"examples":["# Use Time.add_minutes on a Time value\nlet value = time();\nprint value.add_minutes(42.0);"],"arguments":[{"name":"minutes","type":"Number","required":true,"description":"number of UTC minutes to add"}],"children":[],"resources":[],"doc":"Method: Time.add_minutes - adds UTC minutes to a Time\nSyntax:\n  <Time>.add_minutes(minutes: Number) -> Time\nArguments:\n  minutes: Number - number of UTC minutes to add\nExample:\n# Use Time.add_minutes on a Time value\n   let value = time();\n   print value.add_minutes(42.0);","compact":"Method: Time.add_minutes - adds UTC minutes to a Time","search_text":"member:Time.add_minutes add_minutes Time.add_minutes method adds UTC minutes to a Time <Time>.add_minutes(minutes: Number) -> Time minutes Number number of UTC minutes to add"},{"id":"member:Time.add_seconds","name":"add_seconds","path":"Time.add_seconds","kind":"method","aliases":[],"description":"adds UTC seconds to a Time","syntax":["<Time>.add_seconds(seconds: Number) -> Time"],"examples":["# Use Time.add_seconds on a Time value\nlet value = time();\nprint value.add_seconds(42.0);"],"arguments":[{"name":"seconds","type":"Number","required":true,"description":"number of UTC seconds to add"}],"children":[],"resources":[],"doc":"Method: Time.add_seconds - adds UTC seconds to a Time\nSyntax:\n  <Time>.add_seconds(seconds: Number) -> Time\nArguments:\n  seconds: Number - number of UTC seconds to add\nExample:\n# Use Time.add_seconds on a Time value\n   let value = time();\n   print value.add_seconds(42.0);","compact":"Method: Time.add_seconds - adds UTC seconds to a Time","search_text":"member:Time.add_seconds add_seconds Time.add_seconds method adds UTC seconds to a Time <Time>.add_seconds(seconds: Number) -> Time seconds Number number of UTC seconds to add"},{"id":"member:Time.children","name":"children","path":"Time.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Time>.children() -> List"],"examples":["# Use Time.children on a Time value\nlet value = time();\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Time.children - lists child fields and callable members available on this value\nSyntax:\n  <Time>.children() -> List\nExample:\n# Use Time.children on a Time value\n   let value = time();\n   print value.children();","compact":"Method: Time.children - lists child fields and callable members available on this value","search_text":"member:Time.children children Time.children method lists child fields and callable members available on this value <Time>.children() -> List"},{"id":"member:Time.fields","name":"fields","path":"Time.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Time>.fields() -> Object"],"examples":["# Use Time.fields on a Time value\nlet value = time();\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Time.fields - returns an object containing the value's plain fields\nSyntax:\n  <Time>.fields() -> Object\nExample:\n# Use Time.fields on a Time value\n   let value = time();\n   print value.fields();","compact":"Method: Time.fields - returns an object containing the value's plain fields","search_text":"member:Time.fields fields Time.fields method returns an object containing the value's plain fields <Time>.fields() -> Object"},{"id":"member:Time.functions","name":"functions","path":"Time.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Time>.functions() -> List"],"examples":["# Use Time.functions on a Time value\nlet value = time();\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Time.functions - lists callable members available on this value\nSyntax:\n  <Time>.functions() -> List\nExample:\n# Use Time.functions on a Time value\n   let value = time();\n   print value.functions();","compact":"Method: Time.functions - lists callable members available on this value","search_text":"member:Time.functions functions Time.functions method lists callable members available on this value <Time>.functions() -> List"},{"id":"type:LocalTime","name":"LocalTime","path":"LocalTime","kind":"type","aliases":[],"description":"timezone-adjusted civil time derived from a UTC Time","syntax":[],"examples":["# Show a UTC timestamp as local civil time\nlet local = time(2026,6,21,12,0,0).local(\"Europe/Oslo\");\nprint local.iso, local.timezone;"],"arguments":[],"children":["field:LocalTime.timezone","field:LocalTime.year","field:LocalTime.month","field:LocalTime.day","field:LocalTime.hour","field:LocalTime.minute","field:LocalTime.second","field:LocalTime.weekday","field:LocalTime.offset_seconds","field:LocalTime.offset_hours","field:LocalTime.offset","field:LocalTime.abbreviation","field:LocalTime.is_dst","field:LocalTime.iso","member:LocalTime.utc","member:LocalTime.local","member:LocalTime.children","member:LocalTime.fields","member:LocalTime.functions"],"resources":[],"doc":"Type: LocalTime - timezone-adjusted civil time derived from a UTC Time\nChildren: timezone, year, month, day, hour, minute, second, weekday, offset_seconds, offset_hours, offset, abbreviation, is_dst, iso, utc(), local(), children(), fields(), functions()\nExample:\n# Show a UTC timestamp as local civil time\n   let local = time(2026,6,21,12,0,0).local(\"Europe/Oslo\");\n   print local.iso, local.timezone;","compact":"Type: LocalTime - timezone-adjusted civil time derived from a UTC Time","search_text":"type:LocalTime LocalTime LocalTime type timezone-adjusted civil time derived from a UTC Time"},{"id":"field:LocalTime.timezone","name":"timezone","path":"LocalTime.timezone","kind":"field","aliases":[],"description":"IANA timezone id","syntax":["<LocalTime>.timezone -> Text"],"examples":["# Read the timezone field from a LocalTime value\nprint time(2026,6,7,12,0,0).local(\"Europe/Oslo\").timezone;"],"arguments":[],"children":[],"resources":[],"doc":"Field: LocalTime.timezone - IANA timezone id\nSyntax:\n  <LocalTime>.timezone -> Text\nExample:\n# Read the timezone field from a LocalTime value\n   print time(2026,6,7,12,0,0).local(\"Europe/Oslo\").timezone;","compact":"Field: LocalTime.timezone - IANA timezone id","search_text":"field:LocalTime.timezone timezone LocalTime.timezone field IANA timezone id <LocalTime>.timezone -> Text"},{"id":"field:LocalTime.year","name":"year","path":"LocalTime.year","kind":"field","aliases":[],"description":"local civil year","syntax":["<LocalTime>.year -> Number"],"examples":["# Read the year field from a LocalTime value\nprint time(2026,6,7,12,0,0).local(\"Europe/Oslo\").year;"],"arguments":[],"children":[],"resources":[],"doc":"Field: LocalTime.year - local civil year\nSyntax:\n  <LocalTime>.year -> Number\nExample:\n# Read the year field from a LocalTime value\n   print time(2026,6,7,12,0,0).local(\"Europe/Oslo\").year;","compact":"Field: LocalTime.year - local civil year","search_text":"field:LocalTime.year year LocalTime.year field local civil year <LocalTime>.year -> Number"},{"id":"field:LocalTime.month","name":"month","path":"LocalTime.month","kind":"field","aliases":[],"description":"local civil month","syntax":["<LocalTime>.month -> Number"],"examples":["# Read the month field from a LocalTime value\nprint time(2026,6,7,12,0,0).local(\"Europe/Oslo\").month;"],"arguments":[],"children":[],"resources":[],"doc":"Field: LocalTime.month - local civil month\nSyntax:\n  <LocalTime>.month -> Number\nExample:\n# Read the month field from a LocalTime value\n   print time(2026,6,7,12,0,0).local(\"Europe/Oslo\").month;","compact":"Field: LocalTime.month - local civil month","search_text":"field:LocalTime.month month LocalTime.month field local civil month <LocalTime>.month -> Number"},{"id":"field:LocalTime.day","name":"day","path":"LocalTime.day","kind":"field","aliases":[],"description":"local civil day","syntax":["<LocalTime>.day -> Number"],"examples":["# Read the day field from a LocalTime value\nprint time(2026,6,7,12,0,0).local(\"Europe/Oslo\").day;"],"arguments":[],"children":[],"resources":[],"doc":"Field: LocalTime.day - local civil day\nSyntax:\n  <LocalTime>.day -> Number\nExample:\n# Read the day field from a LocalTime value\n   print time(2026,6,7,12,0,0).local(\"Europe/Oslo\").day;","compact":"Field: LocalTime.day - local civil day","search_text":"field:LocalTime.day day LocalTime.day field local civil day <LocalTime>.day -> Number"},{"id":"field:LocalTime.hour","name":"hour","path":"LocalTime.hour","kind":"field","aliases":[],"description":"local civil hour","syntax":["<LocalTime>.hour -> Number"],"examples":["# Read the hour field from a LocalTime value\nprint time(2026,6,7,12,0,0).local(\"Europe/Oslo\").hour;"],"arguments":[],"children":[],"resources":[],"doc":"Field: LocalTime.hour - local civil hour\nSyntax:\n  <LocalTime>.hour -> Number\nExample:\n# Read the hour field from a LocalTime value\n   print time(2026,6,7,12,0,0).local(\"Europe/Oslo\").hour;","compact":"Field: LocalTime.hour - local civil hour","search_text":"field:LocalTime.hour hour LocalTime.hour field local civil hour <LocalTime>.hour -> Number"},{"id":"field:LocalTime.minute","name":"minute","path":"LocalTime.minute","kind":"field","aliases":[],"description":"local civil minute","syntax":["<LocalTime>.minute -> Number"],"examples":["# Read the minute field from a LocalTime value\nprint time(2026,6,7,12,0,0).local(\"Europe/Oslo\").minute;"],"arguments":[],"children":[],"resources":[],"doc":"Field: LocalTime.minute - local civil minute\nSyntax:\n  <LocalTime>.minute -> Number\nExample:\n# Read the minute field from a LocalTime value\n   print time(2026,6,7,12,0,0).local(\"Europe/Oslo\").minute;","compact":"Field: LocalTime.minute - local civil minute","search_text":"field:LocalTime.minute minute LocalTime.minute field local civil minute <LocalTime>.minute -> Number"},{"id":"field:LocalTime.second","name":"second","path":"LocalTime.second","kind":"field","aliases":[],"description":"local civil second","syntax":["<LocalTime>.second -> Number"],"examples":["# Read the second field from a LocalTime value\nprint time(2026,6,7,12,0,0).local(\"Europe/Oslo\").second;"],"arguments":[],"children":[],"resources":[],"doc":"Field: LocalTime.second - local civil second\nSyntax:\n  <LocalTime>.second -> Number\nExample:\n# Read the second field from a LocalTime value\n   print time(2026,6,7,12,0,0).local(\"Europe/Oslo\").second;","compact":"Field: LocalTime.second - local civil second","search_text":"field:LocalTime.second second LocalTime.second field local civil second <LocalTime>.second -> Number"},{"id":"field:LocalTime.weekday","name":"weekday","path":"LocalTime.weekday","kind":"field","aliases":[],"description":"local ISO weekday","syntax":["<LocalTime>.weekday -> Weekday"],"examples":["# Read the weekday field from a LocalTime value\nprint time(2026,6,7,12,0,0).local(\"Europe/Oslo\").weekday;"],"arguments":[],"children":[],"resources":[],"doc":"Field: LocalTime.weekday - local ISO weekday\nSyntax:\n  <LocalTime>.weekday -> Weekday\nExample:\n# Read the weekday field from a LocalTime value\n   print time(2026,6,7,12,0,0).local(\"Europe/Oslo\").weekday;","compact":"Field: LocalTime.weekday - local ISO weekday","search_text":"field:LocalTime.weekday weekday LocalTime.weekday field local ISO weekday <LocalTime>.weekday -> Weekday"},{"id":"field:LocalTime.offset_seconds","name":"offset_seconds","path":"LocalTime.offset_seconds","kind":"field","aliases":[],"description":"UTC offset in seconds","syntax":["<LocalTime>.offset_seconds -> Number"],"examples":["# Read the offset_seconds field from a LocalTime value\nprint time(2026,6,7,12,0,0).local(\"Europe/Oslo\").offset_seconds;"],"arguments":[],"children":[],"resources":[],"doc":"Field: LocalTime.offset_seconds - UTC offset in seconds\nSyntax:\n  <LocalTime>.offset_seconds -> Number\nExample:\n# Read the offset_seconds field from a LocalTime value\n   print time(2026,6,7,12,0,0).local(\"Europe/Oslo\").offset_seconds;","compact":"Field: LocalTime.offset_seconds - UTC offset in seconds","search_text":"field:LocalTime.offset_seconds offset_seconds LocalTime.offset_seconds field UTC offset in seconds <LocalTime>.offset_seconds -> Number"},{"id":"field:LocalTime.offset_hours","name":"offset_hours","path":"LocalTime.offset_hours","kind":"field","aliases":[],"description":"UTC offset in hours","syntax":["<LocalTime>.offset_hours -> Number"],"examples":["# Read the offset_hours field from a LocalTime value\nprint time(2026,6,7,12,0,0).local(\"Europe/Oslo\").offset_hours;"],"arguments":[],"children":[],"resources":[],"doc":"Field: LocalTime.offset_hours - UTC offset in hours\nSyntax:\n  <LocalTime>.offset_hours -> Number\nExample:\n# Read the offset_hours field from a LocalTime value\n   print time(2026,6,7,12,0,0).local(\"Europe/Oslo\").offset_hours;","compact":"Field: LocalTime.offset_hours - UTC offset in hours","search_text":"field:LocalTime.offset_hours offset_hours LocalTime.offset_hours field UTC offset in hours <LocalTime>.offset_hours -> Number"},{"id":"field:LocalTime.offset","name":"offset","path":"LocalTime.offset","kind":"field","aliases":[],"description":"formatted UTC offset","syntax":["<LocalTime>.offset -> Text"],"examples":["# Read the offset field from a LocalTime value\nprint time(2026,6,7,12,0,0).local(\"Europe/Oslo\").offset;"],"arguments":[],"children":[],"resources":[],"doc":"Field: LocalTime.offset - formatted UTC offset\nSyntax:\n  <LocalTime>.offset -> Text\nExample:\n# Read the offset field from a LocalTime value\n   print time(2026,6,7,12,0,0).local(\"Europe/Oslo\").offset;","compact":"Field: LocalTime.offset - formatted UTC offset","search_text":"field:LocalTime.offset offset LocalTime.offset field formatted UTC offset <LocalTime>.offset -> Text"},{"id":"field:LocalTime.abbreviation","name":"abbreviation","path":"LocalTime.abbreviation","kind":"field","aliases":[],"description":"timezone abbreviation at this instant","syntax":["<LocalTime>.abbreviation -> Text"],"examples":["# Read the abbreviation field from a LocalTime value\nprint time(2026,6,7,12,0,0).local(\"Europe/Oslo\").abbreviation;"],"arguments":[],"children":[],"resources":[],"doc":"Field: LocalTime.abbreviation - timezone abbreviation at this instant\nSyntax:\n  <LocalTime>.abbreviation -> Text\nExample:\n# Read the abbreviation field from a LocalTime value\n   print time(2026,6,7,12,0,0).local(\"Europe/Oslo\").abbreviation;","compact":"Field: LocalTime.abbreviation - timezone abbreviation at this instant","search_text":"field:LocalTime.abbreviation abbreviation LocalTime.abbreviation field timezone abbreviation at this instant <LocalTime>.abbreviation -> Text"},{"id":"field:LocalTime.is_dst","name":"is_dst","path":"LocalTime.is_dst","kind":"field","aliases":[],"description":"true when the selected offset is daylight-saving time","syntax":["<LocalTime>.is_dst -> Bool"],"examples":["# Read the is_dst field from a LocalTime value\nprint time(2026,6,7,12,0,0).local(\"Europe/Oslo\").is_dst;"],"arguments":[],"children":[],"resources":[],"doc":"Field: LocalTime.is_dst - true when the selected offset is daylight-saving time\nSyntax:\n  <LocalTime>.is_dst -> Bool\nExample:\n# Read the is_dst field from a LocalTime value\n   print time(2026,6,7,12,0,0).local(\"Europe/Oslo\").is_dst;","compact":"Field: LocalTime.is_dst - true when the selected offset is daylight-saving time","search_text":"field:LocalTime.is_dst is_dst LocalTime.is_dst field true when the selected offset is daylight-saving time <LocalTime>.is_dst -> Bool"},{"id":"field:LocalTime.iso","name":"iso","path":"LocalTime.iso","kind":"field","aliases":[],"description":"ISO-like local timestamp with UTC offset","syntax":["<LocalTime>.iso -> Text"],"examples":["# Read the iso field from a LocalTime value\nprint time(2026,6,7,12,0,0).local(\"Europe/Oslo\").iso;"],"arguments":[],"children":[],"resources":[],"doc":"Field: LocalTime.iso - ISO-like local timestamp with UTC offset\nSyntax:\n  <LocalTime>.iso -> Text\nExample:\n# Read the iso field from a LocalTime value\n   print time(2026,6,7,12,0,0).local(\"Europe/Oslo\").iso;","compact":"Field: LocalTime.iso - ISO-like local timestamp with UTC offset","search_text":"field:LocalTime.iso iso LocalTime.iso field ISO-like local timestamp with UTC offset <LocalTime>.iso -> Text"},{"id":"member:LocalTime.utc","name":"utc","path":"LocalTime.utc","kind":"method","aliases":[],"description":"returns the original UTC Time","syntax":["<LocalTime>.utc() -> Time"],"examples":["# Use LocalTime.utc on a LocalTime value\nlet value = time(2026,6,7,12,0,0).local(\"Europe/Oslo\");\nprint value.utc();"],"arguments":[],"children":[],"resources":[],"doc":"Method: LocalTime.utc - returns the original UTC Time\nSyntax:\n  <LocalTime>.utc() -> Time\nExample:\n# Use LocalTime.utc on a LocalTime value\n   let value = time(2026,6,7,12,0,0).local(\"Europe/Oslo\");\n   print value.utc();","compact":"Method: LocalTime.utc - returns the original UTC Time","search_text":"member:LocalTime.utc utc LocalTime.utc method returns the original UTC Time <LocalTime>.utc() -> Time"},{"id":"member:LocalTime.local","name":"local","path":"LocalTime.local","kind":"method","aliases":[],"description":"converts this local time's UTC instant into another local civil time","syntax":["<LocalTime>.local(timezone: Timezone|Text|Location|Place) -> LocalTime"],"examples":["# Use LocalTime.local on a LocalTime value\nlet value = time(2026,6,7,12,0,0).local(\"Europe/Oslo\");\nprint value.local(location(latitude: 60.0, longitude: 270.0));"],"arguments":[{"name":"timezone","type":"Timezone|Text|Location|Place","required":true,"description":"timezone id, Timezone, Location, or Place"}],"children":[],"resources":[],"doc":"Method: LocalTime.local - converts this local time's UTC instant into another local civil time\nSyntax:\n  <LocalTime>.local(timezone: Timezone|Text|Location|Place) -> LocalTime\nArguments:\n  timezone: Timezone|Text|Location|Place - timezone id, Timezone, Location, or Place\nExample:\n# Use LocalTime.local on a LocalTime value\n   let value = time(2026,6,7,12,0,0).local(\"Europe/Oslo\");\n   print value.local(location(latitude: 60.0, longitude: 270.0));","compact":"Method: LocalTime.local - converts this local time's UTC instant into another local civil time","search_text":"member:LocalTime.local local LocalTime.local method converts this local time's UTC instant into another local civil time <LocalTime>.local(timezone: Timezone|Text|Location|Place) -> LocalTime timezone Timezone|Text|Location|Place timezone id, Timezone, Location, or Place"},{"id":"member:LocalTime.children","name":"children","path":"LocalTime.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<LocalTime>.children() -> List"],"examples":["# Use LocalTime.children on a LocalTime value\nlet value = time(2026,6,7,12,0,0).local(\"Europe/Oslo\");\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: LocalTime.children - lists child fields and callable members available on this value\nSyntax:\n  <LocalTime>.children() -> List\nExample:\n# Use LocalTime.children on a LocalTime value\n   let value = time(2026,6,7,12,0,0).local(\"Europe/Oslo\");\n   print value.children();","compact":"Method: LocalTime.children - lists child fields and callable members available on this value","search_text":"member:LocalTime.children children LocalTime.children method lists child fields and callable members available on this value <LocalTime>.children() -> List"},{"id":"member:LocalTime.fields","name":"fields","path":"LocalTime.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<LocalTime>.fields() -> Object"],"examples":["# Use LocalTime.fields on a LocalTime value\nlet value = time(2026,6,7,12,0,0).local(\"Europe/Oslo\");\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: LocalTime.fields - returns an object containing the value's plain fields\nSyntax:\n  <LocalTime>.fields() -> Object\nExample:\n# Use LocalTime.fields on a LocalTime value\n   let value = time(2026,6,7,12,0,0).local(\"Europe/Oslo\");\n   print value.fields();","compact":"Method: LocalTime.fields - returns an object containing the value's plain fields","search_text":"member:LocalTime.fields fields LocalTime.fields method returns an object containing the value's plain fields <LocalTime>.fields() -> Object"},{"id":"member:LocalTime.functions","name":"functions","path":"LocalTime.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<LocalTime>.functions() -> List"],"examples":["# Use LocalTime.functions on a LocalTime value\nlet value = time(2026,6,7,12,0,0).local(\"Europe/Oslo\");\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: LocalTime.functions - lists callable members available on this value\nSyntax:\n  <LocalTime>.functions() -> List\nExample:\n# Use LocalTime.functions on a LocalTime value\n   let value = time(2026,6,7,12,0,0).local(\"Europe/Oslo\");\n   print value.functions();","compact":"Method: LocalTime.functions - lists callable members available on this value","search_text":"member:LocalTime.functions functions LocalTime.functions method lists callable members available on this value <LocalTime>.functions() -> List"},{"id":"type:Weekday","name":"Weekday","path":"Weekday","kind":"type","aliases":[],"description":"ISO weekday value","syntax":["weekday(value: Integer|Text) -> Weekday"],"examples":["# Check the weekday for a planned observation date\nlet t = time(2026,6,21,12,0,0);\nprint t.utc(), t.weekday;"],"arguments":[{"name":"value","type":"Integer|Text","required":true,"description":"ISO index from 1 to 7, full name, or short name"}],"children":["member:Weekday.name","member:Weekday.short","member:Weekday.letter","member:Weekday.index","member:Weekday.children","member:Weekday.fields","member:Weekday.functions"],"resources":[],"doc":"Type: Weekday - ISO weekday value\nSyntax:\n  weekday(value: Integer|Text) -> Weekday\nArguments:\n  value: Integer|Text - ISO index from 1 to 7, full name, or short name\nChildren: name(), short(), letter(), index(), children(), fields(), functions()\nExample:\n# Check the weekday for a planned observation date\n   let t = time(2026,6,21,12,0,0);\n   print t.utc(), t.weekday;","compact":"Type: Weekday - ISO weekday value","search_text":"type:Weekday Weekday Weekday type ISO weekday value weekday(value: Integer|Text) -> Weekday value Integer|Text ISO index from 1 to 7, full name, or short name"},{"id":"member:Weekday.name","name":"name","path":"Weekday.name","kind":"method","aliases":[],"description":"returns the full weekday name","syntax":["<Weekday>.name() -> Text"],"examples":["# Use Weekday.name on a Weekday value\nlet value = wednesday;\nprint value.name();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Weekday.name - returns the full weekday name\nSyntax:\n  <Weekday>.name() -> Text\nExample:\n# Use Weekday.name on a Weekday value\n   let value = wednesday;\n   print value.name();","compact":"Method: Weekday.name - returns the full weekday name","search_text":"member:Weekday.name name Weekday.name method returns the full weekday name <Weekday>.name() -> Text"},{"id":"member:Weekday.short","name":"short","path":"Weekday.short","kind":"method","aliases":[],"description":"returns the short weekday name","syntax":["<Weekday>.short() -> Text"],"examples":["# Use Weekday.short on a Weekday value\nlet value = wednesday;\nprint value.short();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Weekday.short - returns the short weekday name\nSyntax:\n  <Weekday>.short() -> Text\nExample:\n# Use Weekday.short on a Weekday value\n   let value = wednesday;\n   print value.short();","compact":"Method: Weekday.short - returns the short weekday name","search_text":"member:Weekday.short short Weekday.short method returns the short weekday name <Weekday>.short() -> Text"},{"id":"member:Weekday.letter","name":"letter","path":"Weekday.letter","kind":"method","aliases":[],"description":"returns the one-letter weekday label","syntax":["<Weekday>.letter() -> Text"],"examples":["# Use Weekday.letter on a Weekday value\nlet value = wednesday;\nprint value.letter();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Weekday.letter - returns the one-letter weekday label\nSyntax:\n  <Weekday>.letter() -> Text\nExample:\n# Use Weekday.letter on a Weekday value\n   let value = wednesday;\n   print value.letter();","compact":"Method: Weekday.letter - returns the one-letter weekday label","search_text":"member:Weekday.letter letter Weekday.letter method returns the one-letter weekday label <Weekday>.letter() -> Text"},{"id":"member:Weekday.index","name":"index","path":"Weekday.index","kind":"method","aliases":[],"description":"returns the ISO weekday index","syntax":["<Weekday>.index() -> Integer"],"examples":["# Use Weekday.index on a Weekday value\nlet value = wednesday;\nprint value.index();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Weekday.index - returns the ISO weekday index\nSyntax:\n  <Weekday>.index() -> Integer\nExample:\n# Use Weekday.index on a Weekday value\n   let value = wednesday;\n   print value.index();","compact":"Method: Weekday.index - returns the ISO weekday index","search_text":"member:Weekday.index index Weekday.index method returns the ISO weekday index <Weekday>.index() -> Integer"},{"id":"member:Weekday.children","name":"children","path":"Weekday.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Weekday>.children() -> List"],"examples":["# Use Weekday.children on a Weekday value\nlet value = wednesday;\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Weekday.children - lists child fields and callable members available on this value\nSyntax:\n  <Weekday>.children() -> List\nExample:\n# Use Weekday.children on a Weekday value\n   let value = wednesday;\n   print value.children();","compact":"Method: Weekday.children - lists child fields and callable members available on this value","search_text":"member:Weekday.children children Weekday.children method lists child fields and callable members available on this value <Weekday>.children() -> List"},{"id":"member:Weekday.fields","name":"fields","path":"Weekday.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Weekday>.fields() -> Object"],"examples":["# Use Weekday.fields on a Weekday value\nlet value = wednesday;\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Weekday.fields - returns an object containing the value's plain fields\nSyntax:\n  <Weekday>.fields() -> Object\nExample:\n# Use Weekday.fields on a Weekday value\n   let value = wednesday;\n   print value.fields();","compact":"Method: Weekday.fields - returns an object containing the value's plain fields","search_text":"member:Weekday.fields fields Weekday.fields method returns an object containing the value's plain fields <Weekday>.fields() -> Object"},{"id":"member:Weekday.functions","name":"functions","path":"Weekday.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Weekday>.functions() -> List"],"examples":["# Use Weekday.functions on a Weekday value\nlet value = wednesday;\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Weekday.functions - lists callable members available on this value\nSyntax:\n  <Weekday>.functions() -> List\nExample:\n# Use Weekday.functions on a Weekday value\n   let value = wednesday;\n   print value.functions();","compact":"Method: Weekday.functions - lists callable members available on this value","search_text":"member:Weekday.functions functions Weekday.functions method lists callable members available on this value <Weekday>.functions() -> List"},{"id":"type:Location","name":"Location","path":"Location","kind":"type","aliases":[],"description":"body-aware latitude/longitude surface location","syntax":["location(body: Body, latitude: Number, longitude: Number) -> Location"],"examples":["# Format a location as latitude and longitude text\nlet loc = location(latitude: 58.9666667, longitude: 5.7333333);\nprint dms(loc.latitude, \"latitude\"), dms(loc.longitude, \"longitude\");"],"arguments":[{"name":"body","type":"Body","required":false,"description":"central body; defaults to earth"},{"name":"latitude","type":"Number","required":true,"description":"latitude in degrees"},{"name":"longitude","type":"Number","required":true,"description":"longitude in degrees"}],"children":["field:Location.body","field:Location.latitude","field:Location.longitude","member:Location.observer","member:Location.direction","member:Location.children","member:Location.fields","member:Location.functions"],"resources":[],"doc":"Type: Location - body-aware latitude/longitude surface location\nSyntax:\n  location(body: Body, latitude: Number, longitude: Number) -> Location\nArguments:\n  body: Body [optional] - central body; defaults to earth\n  latitude: Number - latitude in degrees\n  longitude: Number - longitude in degrees\nChildren: body, latitude, longitude, observer(), direction(), children(), fields(), functions()\nExample:\n# Format a location as latitude and longitude text\n   let loc = location(latitude: 58.9666667, longitude: 5.7333333);\n   print dms(loc.latitude, \"latitude\"), dms(loc.longitude, \"longitude\");","compact":"Type: Location - body-aware latitude/longitude surface location","search_text":"type:Location Location Location type body-aware latitude/longitude surface location location(body: Body, latitude: Number, longitude: Number) -> Location body Body central body; defaults to earth latitude Number latitude in degrees longitude Number longitude in degrees"},{"id":"field:Location.body","name":"body","path":"Location.body","kind":"field","aliases":[],"description":"central body; defaults to earth","syntax":["<Location>.body -> Body"],"examples":["# Read the body field from a Location value\nprint location(latitude: 60.0, longitude: 270.0).body;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Location.body - central body; defaults to earth\nSyntax:\n  <Location>.body -> Body\nExample:\n# Read the body field from a Location value\n   print location(latitude: 60.0, longitude: 270.0).body;","compact":"Field: Location.body - central body; defaults to earth","search_text":"field:Location.body body Location.body field central body; defaults to earth <Location>.body -> Body"},{"id":"field:Location.latitude","name":"latitude","path":"Location.latitude","kind":"field","aliases":[],"description":"latitude in degrees","syntax":["<Location>.latitude -> Number"],"examples":["# Read the latitude field from a Location value\nprint location(latitude: 60.0, longitude: 270.0).latitude;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Location.latitude - latitude in degrees\nSyntax:\n  <Location>.latitude -> Number\nExample:\n# Read the latitude field from a Location value\n   print location(latitude: 60.0, longitude: 270.0).latitude;","compact":"Field: Location.latitude - latitude in degrees","search_text":"field:Location.latitude latitude Location.latitude field latitude in degrees <Location>.latitude -> Number"},{"id":"field:Location.longitude","name":"longitude","path":"Location.longitude","kind":"field","aliases":[],"description":"longitude in degrees","syntax":["<Location>.longitude -> Number"],"examples":["# Read the longitude field from a Location value\nprint location(latitude: 60.0, longitude: 270.0).longitude;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Location.longitude - longitude in degrees\nSyntax:\n  <Location>.longitude -> Number\nExample:\n# Read the longitude field from a Location value\n   print location(latitude: 60.0, longitude: 270.0).longitude;","compact":"Field: Location.longitude - longitude in degrees","search_text":"field:Location.longitude longitude Location.longitude field longitude in degrees <Location>.longitude -> Number"},{"id":"member:Location.observer","name":"observer","path":"Location.observer","kind":"method","aliases":[],"description":"promotes this location to a 3D observer","syntax":["<Location>.observer(topography: Field, height: Number) -> Observer"],"examples":["# Use Location.observer on a Location value\nlet value = location(latitude: 60.0, longitude: 270.0);\nprint value.observer();"],"arguments":[{"name":"topography","type":"Field","required":false,"description":"optional body-matching topography field; use `topography(earth)` or `topography(moon)`"},{"name":"height","type":"Number","required":false,"description":"height in kilometers above the datum or supplied topography; defaults to zero"}],"children":[],"resources":[],"doc":"Method: Location.observer - promotes this location to a 3D observer\nSyntax:\n  <Location>.observer(topography: Field, height: Number) -> Observer\nArguments:\n  topography: Field [optional] - optional body-matching topography field; use `topography(earth)` or `topography(moon)`\n  height: Number [optional] - height in kilometers above the datum or supplied topography; defaults to zero\nExample:\n# Use Location.observer on a Location value\n   let value = location(latitude: 60.0, longitude: 270.0);\n   print value.observer();","compact":"Method: Location.observer - promotes this location to a 3D observer","search_text":"member:Location.observer observer Location.observer method promotes this location to a 3D observer <Location>.observer(topography: Field, height: Number) -> Observer topography Field optional body-matching topography field; use `topography(earth)` or `topography(moon)` height Number height in kilometers above the datum or supplied topography; defaults to zero"},{"id":"member:Location.direction","name":"direction","path":"Location.direction","kind":"method","aliases":[],"description":"returns a local topographic direction","syntax":["<Location>.direction(azimuth: Number, elevation: Number, zenith: Number, unit: Unit) -> Direction"],"examples":["# Build a local topographic direction from a location\nlet loc = location(latitude: 60.0, longitude: 10.0);\nprint loc.direction(azimuth: 180, elevation: 25);"],"arguments":[{"name":"azimuth","type":"Number","required":true,"description":"local azimuth clockwise from north; degrees are default"},{"name":"elevation","type":"Number","required":false,"description":"angle above the local horizon; degrees are default"},{"name":"zenith","type":"Number","required":false,"description":"angle down from local zenith; degrees are default"},{"name":"unit","type":"Unit","required":false,"description":"optional angle unit for azimuth and elevation/zenith"}],"children":[],"resources":[],"doc":"Method: Location.direction - returns a local topographic direction\nSyntax:\n  <Location>.direction(azimuth: Number, elevation: Number, zenith: Number, unit: Unit) -> Direction\nArguments:\n  azimuth: Number - local azimuth clockwise from north; degrees are default\n  elevation: Number [optional] - angle above the local horizon; degrees are default\n  zenith: Number [optional] - angle down from local zenith; degrees are default\n  unit: Unit [optional] - optional angle unit for azimuth and elevation/zenith\nExample:\n# Build a local topographic direction from a location\n   let loc = location(latitude: 60.0, longitude: 10.0);\n   print loc.direction(azimuth: 180, elevation: 25);","compact":"Method: Location.direction - returns a local topographic direction","search_text":"member:Location.direction direction Location.direction method returns a local topographic direction <Location>.direction(azimuth: Number, elevation: Number, zenith: Number, unit: Unit) -> Direction azimuth Number local azimuth clockwise from north; degrees are default elevation Number angle above the local horizon; degrees are default zenith Number angle down from local zenith; degrees are default unit Unit optional angle unit for azimuth and elevation/zenith"},{"id":"member:Location.children","name":"children","path":"Location.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Location>.children() -> List"],"examples":["# Use Location.children on a Location value\nlet value = location(latitude: 60.0, longitude: 270.0);\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Location.children - lists child fields and callable members available on this value\nSyntax:\n  <Location>.children() -> List\nExample:\n# Use Location.children on a Location value\n   let value = location(latitude: 60.0, longitude: 270.0);\n   print value.children();","compact":"Method: Location.children - lists child fields and callable members available on this value","search_text":"member:Location.children children Location.children method lists child fields and callable members available on this value <Location>.children() -> List"},{"id":"member:Location.fields","name":"fields","path":"Location.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Location>.fields() -> Object"],"examples":["# Use Location.fields on a Location value\nlet value = location(latitude: 60.0, longitude: 270.0);\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Location.fields - returns an object containing the value's plain fields\nSyntax:\n  <Location>.fields() -> Object\nExample:\n# Use Location.fields on a Location value\n   let value = location(latitude: 60.0, longitude: 270.0);\n   print value.fields();","compact":"Method: Location.fields - returns an object containing the value's plain fields","search_text":"member:Location.fields fields Location.fields method returns an object containing the value's plain fields <Location>.fields() -> Object"},{"id":"member:Location.functions","name":"functions","path":"Location.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Location>.functions() -> List"],"examples":["# Use Location.functions on a Location value\nlet value = location(latitude: 60.0, longitude: 270.0);\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Location.functions - lists callable members available on this value\nSyntax:\n  <Location>.functions() -> List\nExample:\n# Use Location.functions on a Location value\n   let value = location(latitude: 60.0, longitude: 270.0);\n   print value.functions();","compact":"Method: Location.functions - lists callable members available on this value","search_text":"member:Location.functions functions Location.functions method lists callable members available on this value <Location>.functions() -> List"},{"id":"type:LocationSolution","name":"LocationSolution","path":"LocationSolution","kind":"type","aliases":[],"description":"navigation solution with location, residuals, and fit quality","syntax":[],"examples":[],"arguments":[],"children":["field:LocationSolution.location","field:LocationSolution.observations","field:LocationSolution.residuals","field:LocationSolution.rms","field:LocationSolution.lat_rms","field:LocationSolution.lon_rms","field:LocationSolution.status","field:LocationSolution.method","field:LocationSolution.iterations","member:LocationSolution.children","member:LocationSolution.fields","member:LocationSolution.functions"],"resources":[],"doc":"Type: LocationSolution - navigation solution with location, residuals, and fit quality\nChildren: location, observations, residuals, rms, lat_rms, lon_rms, status, method, iterations, children(), fields(), functions()","compact":"Type: LocationSolution - navigation solution with location, residuals, and fit quality","search_text":"type:LocationSolution LocationSolution LocationSolution type navigation solution with location, residuals, and fit quality"},{"id":"field:LocationSolution.location","name":"location","path":"LocationSolution.location","kind":"field","aliases":[],"description":"best-fit Earth location","syntax":["<LocationSolution>.location -> Location"],"examples":[],"arguments":[],"children":[],"resources":[],"doc":"Field: LocationSolution.location - best-fit Earth location\nSyntax:\n  <LocationSolution>.location -> Location","compact":"Field: LocationSolution.location - best-fit Earth location","search_text":"field:LocationSolution.location location LocationSolution.location field best-fit Earth location <LocationSolution>.location -> Location"},{"id":"field:LocationSolution.observations","name":"observations","path":"LocationSolution.observations","kind":"field","aliases":[],"description":"elevation observations used for the navigation solution","syntax":["<LocationSolution>.observations -> List<Observation>"],"examples":[],"arguments":[],"children":[],"resources":[],"doc":"Field: LocationSolution.observations - elevation observations used for the navigation solution\nSyntax:\n  <LocationSolution>.observations -> List<Observation>","compact":"Field: LocationSolution.observations - elevation observations used for the navigation solution","search_text":"field:LocationSolution.observations observations LocationSolution.observations field elevation observations used for the navigation solution <LocationSolution>.observations -> List<Observation>"},{"id":"field:LocationSolution.residuals","name":"residuals","path":"LocationSolution.residuals","kind":"field","aliases":[],"description":"per-observation elevation residuals in degrees","syntax":["<LocationSolution>.residuals -> List<Object>"],"examples":[],"arguments":[],"children":[],"resources":[],"doc":"Field: LocationSolution.residuals - per-observation elevation residuals in degrees\nSyntax:\n  <LocationSolution>.residuals -> List<Object>","compact":"Field: LocationSolution.residuals - per-observation elevation residuals in degrees","search_text":"field:LocationSolution.residuals residuals LocationSolution.residuals field per-observation elevation residuals in degrees <LocationSolution>.residuals -> List<Object>"},{"id":"field:LocationSolution.rms","name":"rms","path":"LocationSolution.rms","kind":"field","aliases":[],"description":"RMS elevation residual in degrees","syntax":["<LocationSolution>.rms -> Number?"],"examples":[],"arguments":[],"children":[],"resources":[],"doc":"Field: LocationSolution.rms - RMS elevation residual in degrees\nSyntax:\n  <LocationSolution>.rms -> Number?","compact":"Field: LocationSolution.rms - RMS elevation residual in degrees","search_text":"field:LocationSolution.rms rms LocationSolution.rms field RMS elevation residual in degrees <LocationSolution>.rms -> Number?"},{"id":"field:LocationSolution.lat_rms","name":"lat_rms","path":"LocationSolution.lat_rms","kind":"field","aliases":[],"description":"latitude uncertainty estimate in degrees, or nil when unavailable","syntax":["<LocationSolution>.lat_rms -> Number?"],"examples":[],"arguments":[],"children":[],"resources":[],"doc":"Field: LocationSolution.lat_rms - latitude uncertainty estimate in degrees, or nil when unavailable\nSyntax:\n  <LocationSolution>.lat_rms -> Number?","compact":"Field: LocationSolution.lat_rms - latitude uncertainty estimate in degrees, or nil when unavailable","search_text":"field:LocationSolution.lat_rms lat_rms LocationSolution.lat_rms field latitude uncertainty estimate in degrees, or nil when unavailable <LocationSolution>.lat_rms -> Number?"},{"id":"field:LocationSolution.lon_rms","name":"lon_rms","path":"LocationSolution.lon_rms","kind":"field","aliases":[],"description":"longitude uncertainty estimate in degrees, or nil when unavailable","syntax":["<LocationSolution>.lon_rms -> Number?"],"examples":[],"arguments":[],"children":[],"resources":[],"doc":"Field: LocationSolution.lon_rms - longitude uncertainty estimate in degrees, or nil when unavailable\nSyntax:\n  <LocationSolution>.lon_rms -> Number?","compact":"Field: LocationSolution.lon_rms - longitude uncertainty estimate in degrees, or nil when unavailable","search_text":"field:LocationSolution.lon_rms lon_rms LocationSolution.lon_rms field longitude uncertainty estimate in degrees, or nil when unavailable <LocationSolution>.lon_rms -> Number?"},{"id":"field:LocationSolution.status","name":"status","path":"LocationSolution.status","kind":"field","aliases":[],"description":"solution status","syntax":["<LocationSolution>.status -> Text?"],"examples":[],"arguments":[],"children":[],"resources":[],"doc":"Field: LocationSolution.status - solution status\nSyntax:\n  <LocationSolution>.status -> Text?","compact":"Field: LocationSolution.status - solution status","search_text":"field:LocationSolution.status status LocationSolution.status field solution status <LocationSolution>.status -> Text?"},{"id":"field:LocationSolution.method","name":"method","path":"LocationSolution.method","kind":"field","aliases":[],"description":"navigation solution method","syntax":["<LocationSolution>.method -> Text?"],"examples":[],"arguments":[],"children":[],"resources":[],"doc":"Field: LocationSolution.method - navigation solution method\nSyntax:\n  <LocationSolution>.method -> Text?","compact":"Field: LocationSolution.method - navigation solution method","search_text":"field:LocationSolution.method method LocationSolution.method field navigation solution method <LocationSolution>.method -> Text?"},{"id":"field:LocationSolution.iterations","name":"iterations","path":"LocationSolution.iterations","kind":"field","aliases":[],"description":"number of refinement iterations, or nil when unavailable","syntax":["<LocationSolution>.iterations -> Number?"],"examples":[],"arguments":[],"children":[],"resources":[],"doc":"Field: LocationSolution.iterations - number of refinement iterations, or nil when unavailable\nSyntax:\n  <LocationSolution>.iterations -> Number?","compact":"Field: LocationSolution.iterations - number of refinement iterations, or nil when unavailable","search_text":"field:LocationSolution.iterations iterations LocationSolution.iterations field number of refinement iterations, or nil when unavailable <LocationSolution>.iterations -> Number?"},{"id":"member:LocationSolution.children","name":"children","path":"LocationSolution.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<LocationSolution>.children() -> List"],"examples":[],"arguments":[],"children":[],"resources":[],"doc":"Method: LocationSolution.children - lists child fields and callable members available on this value\nSyntax:\n  <LocationSolution>.children() -> List","compact":"Method: LocationSolution.children - lists child fields and callable members available on this value","search_text":"member:LocationSolution.children children LocationSolution.children method lists child fields and callable members available on this value <LocationSolution>.children() -> List"},{"id":"member:LocationSolution.fields","name":"fields","path":"LocationSolution.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<LocationSolution>.fields() -> Object"],"examples":[],"arguments":[],"children":[],"resources":[],"doc":"Method: LocationSolution.fields - returns an object containing the value's plain fields\nSyntax:\n  <LocationSolution>.fields() -> Object","compact":"Method: LocationSolution.fields - returns an object containing the value's plain fields","search_text":"member:LocationSolution.fields fields LocationSolution.fields method returns an object containing the value's plain fields <LocationSolution>.fields() -> Object"},{"id":"member:LocationSolution.functions","name":"functions","path":"LocationSolution.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<LocationSolution>.functions() -> List"],"examples":[],"arguments":[],"children":[],"resources":[],"doc":"Method: LocationSolution.functions - lists callable members available on this value\nSyntax:\n  <LocationSolution>.functions() -> List","compact":"Method: LocationSolution.functions - lists callable members available on this value","search_text":"member:LocationSolution.functions functions LocationSolution.functions method lists callable members available on this value <LocationSolution>.functions() -> List"},{"id":"type:Observer","name":"Observer","path":"Observer","kind":"type","aliases":[],"description":"body-fixed 3D observer with position, zenith, and derived surface location","syntax":["observer(location_or_body: Location|Body, height_or_position: Number|Field|Vector, height_or_zenith: Number|Vector) -> Observer"],"examples":["# Sample the Sun altitude from an elevated observer\nlet obs = location(58.9666667, 5.7333333).observer(height: 0.002);\nprint obs.height(), altitude(sun, time(2026,6,21,12,0,0), obs);"],"arguments":[{"name":"location_or_body","type":"Location|Body","required":true,"description":"surface location or body for body-fixed vectors"},{"name":"height_or_position","type":"Number|Field|Vector","required":false,"description":"height in kilometers, topography field for a location, or observer position vector"},{"name":"height_or_zenith","type":"Number|Vector","required":false,"description":"height above topography for a location, or body-fixed zenith/up vector"}],"children":["field:Observer.body","field:Observer.position","field:Observer.zenith","field:Observer.location","field:Observer.height_km","member:Observer.position","member:Observer.location","member:Observer.latitude","member:Observer.longitude","member:Observer.height","member:Observer.zenith","member:Observer.north","member:Observer.west","member:Observer.limb","member:Observer.direction","member:Observer.orbit","member:Observer.children","member:Observer.fields","member:Observer.functions"],"resources":[],"doc":"Type: Observer - body-fixed 3D observer with position, zenith, and derived surface location\nSyntax:\n  observer(location_or_body: Location|Body, height_or_position: Number|Field|Vector, height_or_zenith: Number|Vector) -> Observer\nArguments:\n  location_or_body: Location|Body - surface location or body for body-fixed vectors\n  height_or_position: Number|Field|Vector [optional] - height in kilometers, topography field for a location, or observer position vector\n  height_or_zenith: Number|Vector [optional] - height above topography for a location, or body-fixed zenith/up vector\nChildren: body, position, zenith, location, height_km, position(), location(), latitude(), longitude(), height(), zenith(), north(), west(), limb(), direction(), orbit(), children(), fields(), functions()\nExample:\n# Sample the Sun altitude from an elevated observer\n   let obs = location(58.9666667, 5.7333333).observer(height: 0.002);\n   print obs.height(), altitude(sun, time(2026,6,21,12,0,0), obs);","compact":"Type: Observer - body-fixed 3D observer with position, zenith, and derived surface location","search_text":"type:Observer Observer Observer type body-fixed 3D observer with position, zenith, and derived surface location observer(location_or_body: Location|Body, height_or_position: Number|Field|Vector, height_or_zenith: Number|Vector) -> Observer location_or_body Location|Body surface location or body for body-fixed vectors height_or_position Number|Field|Vector height in kilometers, topography field for a location, or observer position vector height_or_zenith Number|Vector height above topography for a location, or body-fixed zenith/up vector"},{"id":"field:Observer.body","name":"body","path":"Observer.body","kind":"field","aliases":[],"description":"body whose fixed frame contains the observer","syntax":["<Observer>.body -> Body"],"examples":["# Read the body field from a Observer value\nprint location(latitude: 60.0, longitude: 270.0).observer(height: 1.5).body;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Observer.body - body whose fixed frame contains the observer\nSyntax:\n  <Observer>.body -> Body\nExample:\n# Read the body field from a Observer value\n   print location(latitude: 60.0, longitude: 270.0).observer(height: 1.5).body;","compact":"Field: Observer.body - body whose fixed frame contains the observer","search_text":"field:Observer.body body Observer.body field body whose fixed frame contains the observer <Observer>.body -> Body"},{"id":"field:Observer.position","name":"position","path":"Observer.position","kind":"field","aliases":[],"description":"body-fixed observer position in kilometers","syntax":["<Observer>.position -> Vector"],"examples":["# Read the position field from a Observer value\nprint location(latitude: 60.0, longitude: 270.0).observer(height: 1.5).position;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Observer.position - body-fixed observer position in kilometers\nSyntax:\n  <Observer>.position -> Vector\nExample:\n# Read the position field from a Observer value\n   print location(latitude: 60.0, longitude: 270.0).observer(height: 1.5).position;","compact":"Field: Observer.position - body-fixed observer position in kilometers","search_text":"field:Observer.position position Observer.position field body-fixed observer position in kilometers <Observer>.position -> Vector"},{"id":"field:Observer.zenith","name":"zenith","path":"Observer.zenith","kind":"field","aliases":[],"description":"body-fixed local zenith direction","syntax":["<Observer>.zenith -> Vector"],"examples":["# Read the zenith field from a Observer value\nprint location(latitude: 60.0, longitude: 270.0).observer(height: 1.5).zenith;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Observer.zenith - body-fixed local zenith direction\nSyntax:\n  <Observer>.zenith -> Vector\nExample:\n# Read the zenith field from a Observer value\n   print location(latitude: 60.0, longitude: 270.0).observer(height: 1.5).zenith;","compact":"Field: Observer.zenith - body-fixed local zenith direction","search_text":"field:Observer.zenith zenith Observer.zenith field body-fixed local zenith direction <Observer>.zenith -> Vector"},{"id":"field:Observer.location","name":"location","path":"Observer.location","kind":"field","aliases":[],"description":"derived body-aware surface location","syntax":["<Observer>.location -> Location"],"examples":["# Read the location field from a Observer value\nprint location(latitude: 60.0, longitude: 270.0).observer(height: 1.5).location;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Observer.location - derived body-aware surface location\nSyntax:\n  <Observer>.location -> Location\nExample:\n# Read the location field from a Observer value\n   print location(latitude: 60.0, longitude: 270.0).observer(height: 1.5).location;","compact":"Field: Observer.location - derived body-aware surface location","search_text":"field:Observer.location location Observer.location field derived body-aware surface location <Observer>.location -> Location"},{"id":"field:Observer.height_km","name":"height_km","path":"Observer.height_km","kind":"field","aliases":[],"description":"derived height above the body shape in kilometers","syntax":["<Observer>.height_km -> Number"],"examples":["# Read the height_km field from a Observer value\nprint location(latitude: 60.0, longitude: 270.0).observer(height: 1.5).height_km;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Observer.height_km - derived height above the body shape in kilometers\nSyntax:\n  <Observer>.height_km -> Number\nExample:\n# Read the height_km field from a Observer value\n   print location(latitude: 60.0, longitude: 270.0).observer(height: 1.5).height_km;","compact":"Field: Observer.height_km - derived height above the body shape in kilometers","search_text":"field:Observer.height_km height_km Observer.height_km field derived height above the body shape in kilometers <Observer>.height_km -> Number"},{"id":"member:Observer.position","name":"position","path":"Observer.position","kind":"method","aliases":[],"description":"returns the observer position vector in a requested origin and frame","syntax":["<Observer>.position() -> Vector","<Observer>.position(time: Time, origin: Body, axis: Axis) -> Vector"],"examples":["# Use Observer.position on a Observer value\nlet value = location(latitude: 60.0, longitude: 270.0).observer(height: 1.5);\nprint value.position();"],"arguments":[{"name":"time","type":"Time","required":false,"description":"time at which to resolve the observer position"},{"name":"origin","type":"Body","required":false,"description":"origin body center such as earth, mars, or jupiter"},{"name":"axis","type":"Axis","required":false,"description":"target frame such as icrf, earthfixed, marsfixed, or jupiterfixed"}],"children":[],"resources":[],"doc":"Method: Observer.position - returns the observer position vector in a requested origin and frame\nSyntax:\n  <Observer>.position() -> Vector\n  <Observer>.position(time: Time, origin: Body, axis: Axis) -> Vector\nArguments:\n  time: Time [optional] - time at which to resolve the observer position\n  origin: Body [optional] - origin body center such as earth, mars, or jupiter\n  axis: Axis [optional] - target frame such as icrf, earthfixed, marsfixed, or jupiterfixed\nExample:\n# Use Observer.position on a Observer value\n   let value = location(latitude: 60.0, longitude: 270.0).observer(height: 1.5);\n   print value.position();","compact":"Method: Observer.position - returns the observer position vector in a requested origin and frame","search_text":"member:Observer.position position Observer.position method returns the observer position vector in a requested origin and frame <Observer>.position() -> Vector <Observer>.position(time: Time, origin: Body, axis: Axis) -> Vector time Time time at which to resolve the observer position origin Body origin body center such as earth, mars, or jupiter axis Axis target frame such as icrf, earthfixed, marsfixed, or jupiterfixed"},{"id":"member:Observer.location","name":"location","path":"Observer.location","kind":"method","aliases":[],"description":"returns the datum-derived location","syntax":["<Observer>.location() -> Location"],"examples":["# Use Observer.location on a Observer value\nlet value = location(latitude: 60.0, longitude: 270.0).observer(height: 1.5);\nprint value.location();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Observer.location - returns the datum-derived location\nSyntax:\n  <Observer>.location() -> Location\nExample:\n# Use Observer.location on a Observer value\n   let value = location(latitude: 60.0, longitude: 270.0).observer(height: 1.5);\n   print value.location();","compact":"Method: Observer.location - returns the datum-derived location","search_text":"member:Observer.location location Observer.location method returns the datum-derived location <Observer>.location() -> Location"},{"id":"member:Observer.latitude","name":"latitude","path":"Observer.latitude","kind":"method","aliases":[],"description":"returns the datum-derived latitude in degrees","syntax":["<Observer>.latitude() -> Number"],"examples":["# Use Observer.latitude on a Observer value\nlet value = location(latitude: 60.0, longitude: 270.0).observer(height: 1.5);\nprint value.latitude();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Observer.latitude - returns the datum-derived latitude in degrees\nSyntax:\n  <Observer>.latitude() -> Number\nExample:\n# Use Observer.latitude on a Observer value\n   let value = location(latitude: 60.0, longitude: 270.0).observer(height: 1.5);\n   print value.latitude();","compact":"Method: Observer.latitude - returns the datum-derived latitude in degrees","search_text":"member:Observer.latitude latitude Observer.latitude method returns the datum-derived latitude in degrees <Observer>.latitude() -> Number"},{"id":"member:Observer.longitude","name":"longitude","path":"Observer.longitude","kind":"method","aliases":[],"description":"returns the datum-derived longitude in degrees","syntax":["<Observer>.longitude() -> Number"],"examples":["# Use Observer.longitude on a Observer value\nlet value = location(latitude: 60.0, longitude: 270.0).observer(height: 1.5);\nprint value.longitude();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Observer.longitude - returns the datum-derived longitude in degrees\nSyntax:\n  <Observer>.longitude() -> Number\nExample:\n# Use Observer.longitude on a Observer value\n   let value = location(latitude: 60.0, longitude: 270.0).observer(height: 1.5);\n   print value.longitude();","compact":"Method: Observer.longitude - returns the datum-derived longitude in degrees","search_text":"member:Observer.longitude longitude Observer.longitude method returns the datum-derived longitude in degrees <Observer>.longitude() -> Number"},{"id":"member:Observer.height","name":"height","path":"Observer.height","kind":"method","aliases":[],"description":"returns height above the body datum in kilometers","syntax":["<Observer>.height() -> Number"],"examples":["# Use Observer.height on a Observer value\nlet value = location(latitude: 60.0, longitude: 270.0).observer(height: 1.5);\nprint value.height();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Observer.height - returns height above the body datum in kilometers\nSyntax:\n  <Observer>.height() -> Number\nExample:\n# Use Observer.height on a Observer value\n   let value = location(latitude: 60.0, longitude: 270.0).observer(height: 1.5);\n   print value.height();","compact":"Method: Observer.height - returns height above the body datum in kilometers","search_text":"member:Observer.height height Observer.height method returns height above the body datum in kilometers <Observer>.height() -> Number"},{"id":"member:Observer.zenith","name":"zenith","path":"Observer.zenith","kind":"method","aliases":[],"description":"returns the body-fixed local zenith unit vector","syntax":["<Observer>.zenith() -> Vector"],"examples":["# Use Observer.zenith on a Observer value\nlet value = location(latitude: 60.0, longitude: 270.0).observer(height: 1.5);\nprint value.zenith();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Observer.zenith - returns the body-fixed local zenith unit vector\nSyntax:\n  <Observer>.zenith() -> Vector\nExample:\n# Use Observer.zenith on a Observer value\n   let value = location(latitude: 60.0, longitude: 270.0).observer(height: 1.5);\n   print value.zenith();","compact":"Method: Observer.zenith - returns the body-fixed local zenith unit vector","search_text":"member:Observer.zenith zenith Observer.zenith method returns the body-fixed local zenith unit vector <Observer>.zenith() -> Vector"},{"id":"member:Observer.north","name":"north","path":"Observer.north","kind":"method","aliases":[],"description":"returns the body-fixed local north unit vector","syntax":["<Observer>.north() -> Vector"],"examples":["# Use Observer.north on a Observer value\nlet value = location(latitude: 60.0, longitude: 270.0).observer(height: 1.5);\nprint value.north();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Observer.north - returns the body-fixed local north unit vector\nSyntax:\n  <Observer>.north() -> Vector\nExample:\n# Use Observer.north on a Observer value\n   let value = location(latitude: 60.0, longitude: 270.0).observer(height: 1.5);\n   print value.north();","compact":"Method: Observer.north - returns the body-fixed local north unit vector","search_text":"member:Observer.north north Observer.north method returns the body-fixed local north unit vector <Observer>.north() -> Vector"},{"id":"member:Observer.west","name":"west","path":"Observer.west","kind":"method","aliases":[],"description":"returns the body-fixed local west unit vector","syntax":["<Observer>.west() -> Vector"],"examples":["# Use Observer.west on a Observer value\nlet value = location(latitude: 60.0, longitude: 270.0).observer(height: 1.5);\nprint value.west();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Observer.west - returns the body-fixed local west unit vector\nSyntax:\n  <Observer>.west() -> Vector\nExample:\n# Use Observer.west on a Observer value\n   let value = location(latitude: 60.0, longitude: 270.0).observer(height: 1.5);\n   print value.west();","compact":"Method: Observer.west - returns the body-fixed local west unit vector","search_text":"member:Observer.west west Observer.west method returns the body-fixed local west unit vector <Observer>.west() -> Vector"},{"id":"member:Observer.limb","name":"limb","path":"Observer.limb","kind":"method","aliases":[],"description":"computes the apparent limb profile of a target state from this observer","syntax":["<Observer>.limb(state: State, north: Vector, samples: Number) -> Array"],"examples":["# Compute a target limb profile from an observer\nlet obs = location(latitude: 0, longitude: 0).observer(0.052);\nlet target = state(moon, time(2026,4,27,8,26,0));\nprint obs.limb(target, 4).length();"],"arguments":[{"name":"state","type":"State","required":true,"description":"target body state whose limb should be sampled"},{"name":"north","type":"Vector","required":false,"description":"direction projected as clock-angle zero; defaults to body north"},{"name":"samples","type":"Number","required":false,"description":"number of limb samples; defaults to 360"}],"children":[],"resources":[],"doc":"Method: Observer.limb - computes the apparent limb profile of a target state from this observer\nSyntax:\n  <Observer>.limb(state: State, north: Vector, samples: Number) -> Array\nArguments:\n  state: State - target body state whose limb should be sampled\n  north: Vector [optional] - direction projected as clock-angle zero; defaults to body north\n  samples: Number [optional] - number of limb samples; defaults to 360\nExample:\n# Compute a target limb profile from an observer\n   let obs = location(latitude: 0, longitude: 0).observer(0.052);\n   let target = state(moon, time(2026,4,27,8,26,0));\n   print obs.limb(target, 4).length();","compact":"Method: Observer.limb - computes the apparent limb profile of a target state from this observer","search_text":"member:Observer.limb limb Observer.limb method computes the apparent limb profile of a target state from this observer <Observer>.limb(state: State, north: Vector, samples: Number) -> Array state State target body state whose limb should be sampled north Vector direction projected as clock-angle zero; defaults to body north samples Number number of limb samples; defaults to 360"},{"id":"member:Observer.direction","name":"direction","path":"Observer.direction","kind":"method","aliases":[],"description":"returns a local topographic direction","syntax":["<Observer>.direction(azimuth: Number, elevation: Number, zenith: Number, unit: Unit) -> Direction"],"examples":["# Build a local topographic direction from an observer\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nprint obs.direction(azimuth: 180, elevation: 25);"],"arguments":[{"name":"azimuth","type":"Number","required":true,"description":"local azimuth clockwise from north; degrees are default"},{"name":"elevation","type":"Number","required":false,"description":"angle above the local horizon; degrees are default"},{"name":"zenith","type":"Number","required":false,"description":"angle down from local zenith; degrees are default"},{"name":"unit","type":"Unit","required":false,"description":"optional angle unit for azimuth and elevation/zenith"}],"children":[],"resources":[],"doc":"Method: Observer.direction - returns a local topographic direction\nSyntax:\n  <Observer>.direction(azimuth: Number, elevation: Number, zenith: Number, unit: Unit) -> Direction\nArguments:\n  azimuth: Number - local azimuth clockwise from north; degrees are default\n  elevation: Number [optional] - angle above the local horizon; degrees are default\n  zenith: Number [optional] - angle down from local zenith; degrees are default\n  unit: Unit [optional] - optional angle unit for azimuth and elevation/zenith\nExample:\n# Build a local topographic direction from an observer\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   print obs.direction(azimuth: 180, elevation: 25);","compact":"Method: Observer.direction - returns a local topographic direction","search_text":"member:Observer.direction direction Observer.direction method returns a local topographic direction <Observer>.direction(azimuth: Number, elevation: Number, zenith: Number, unit: Unit) -> Direction azimuth Number local azimuth clockwise from north; degrees are default elevation Number angle above the local horizon; degrees are default zenith Number angle down from local zenith; degrees are default unit Unit optional angle unit for azimuth and elevation/zenith"},{"id":"member:Observer.orbit","name":"orbit","path":"Observer.orbit","kind":"method","aliases":[],"description":"determines an orbit from observations made by this observer","syntax":["<Observer>.orbit(observations: Observation...) -> OrbitSolution"],"examples":["# Prepare observations that can be passed to observer.orbit(...)\nlet obs = location(latitude: 59.91, longitude: 10.75).observer(height: 0);\nlet first = observation(obs, time(2028,7,3), ra: 131.0857742519269, dec: 18.803678151005595);\nlet second = observation(obs, time(2028,7,23), ra: 135.0300892722528, dec: 18.040162341691612);\nlet third = observation(obs, time(2028,8,12), ra: 139.04202357010908, dec: 17.175191580463146);\nprint first.time.utc(), second.time.utc(), third.time.utc();"],"arguments":[{"name":"observations","type":"Observation...","required":true,"description":"three or more observations, or one list of observations"}],"children":[],"resources":[],"doc":"Method: Observer.orbit - determines an orbit from observations made by this observer\nSyntax:\n  <Observer>.orbit(observations: Observation...) -> OrbitSolution\nArguments:\n  observations: Observation... - three or more observations, or one list of observations\nExample:\n# Prepare observations that can be passed to observer.orbit(...)\n   let obs = location(latitude: 59.91, longitude: 10.75).observer(height: 0);\n   let first = observation(obs, time(2028,7,3), ra: 131.0857742519269, dec: 18.803678151005595);\n   let second = observation(obs, time(2028,7,23), ra: 135.0300892722528, dec: 18.040162341691612);\n   let third = observation(obs, time(2028,8,12), ra: 139.04202357010908, dec: 17.175191580463146);\n   print first.time.utc(), second.time.utc(), third.time.utc();","compact":"Method: Observer.orbit - determines an orbit from observations made by this observer","search_text":"member:Observer.orbit orbit Observer.orbit method determines an orbit from observations made by this observer <Observer>.orbit(observations: Observation...) -> OrbitSolution observations Observation... three or more observations, or one list of observations"},{"id":"member:Observer.children","name":"children","path":"Observer.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Observer>.children() -> List"],"examples":["# Use Observer.children on a Observer value\nlet value = location(latitude: 60.0, longitude: 270.0).observer(height: 1.5);\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Observer.children - lists child fields and callable members available on this value\nSyntax:\n  <Observer>.children() -> List\nExample:\n# Use Observer.children on a Observer value\n   let value = location(latitude: 60.0, longitude: 270.0).observer(height: 1.5);\n   print value.children();","compact":"Method: Observer.children - lists child fields and callable members available on this value","search_text":"member:Observer.children children Observer.children method lists child fields and callable members available on this value <Observer>.children() -> List"},{"id":"member:Observer.fields","name":"fields","path":"Observer.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Observer>.fields() -> Object"],"examples":["# Use Observer.fields on a Observer value\nlet value = location(latitude: 60.0, longitude: 270.0).observer(height: 1.5);\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Observer.fields - returns an object containing the value's plain fields\nSyntax:\n  <Observer>.fields() -> Object\nExample:\n# Use Observer.fields on a Observer value\n   let value = location(latitude: 60.0, longitude: 270.0).observer(height: 1.5);\n   print value.fields();","compact":"Method: Observer.fields - returns an object containing the value's plain fields","search_text":"member:Observer.fields fields Observer.fields method returns an object containing the value's plain fields <Observer>.fields() -> Object"},{"id":"member:Observer.functions","name":"functions","path":"Observer.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Observer>.functions() -> List"],"examples":["# Use Observer.functions on a Observer value\nlet value = location(latitude: 60.0, longitude: 270.0).observer(height: 1.5);\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Observer.functions - lists callable members available on this value\nSyntax:\n  <Observer>.functions() -> List\nExample:\n# Use Observer.functions on a Observer value\n   let value = location(latitude: 60.0, longitude: 270.0).observer(height: 1.5);\n   print value.functions();","compact":"Method: Observer.functions - lists callable members available on this value","search_text":"member:Observer.functions functions Observer.functions method lists callable members available on this value <Observer>.functions() -> List"},{"id":"type:Body","name":"Body","path":"Body","kind":"type","aliases":[],"description":"solar-system body with physical parameters from the reference C model","syntax":["body(name: Text) -> Body"],"examples":["# Compare physical reference values for two bodies\nprint earth.radius, moon.radius, moon.mass / earth.mass;"],"arguments":[{"name":"name","type":"Text","required":true,"description":"solar-system body name"}],"children":["field:Body.name","field:Body.kind","field:Body.xmu","field:Body.radius","field:Body.mass","field:Body.H","field:Body.n","field:Body.k","field:Body.known","member:Body.rotational_axis","member:Body.rotational_axis_ra","member:Body.rotational_axis_dec","member:Body.state","member:Body.rise","member:Body.set","member:Body.conjunction","member:Body.inferior_conjunction","member:Body.superior_conjunction","member:Body.opposition","member:Body.eastern_quadrature","member:Body.western_quadrature","member:Body.quadrature","member:Body.greatest_eastern_elongation","member:Body.greatest_western_elongation","member:Body.greatest_elongation","member:Body.periapsis","member:Body.apoapsis","member:Body.transit","member:Body.children","member:Body.fields","member:Body.functions"],"resources":[],"doc":"Type: Body - solar-system body with physical parameters from the reference C model\nSyntax:\n  body(name: Text) -> Body\nArguments:\n  name: Text - solar-system body name\nChildren: name, kind, xmu, radius, mass, H, n, k, known, rotational_axis(), rotational_axis_ra(), rotational_axis_dec(), state(), rise(), set(), conjunction(), inferior_conjunction(), superior_conjunction(), opposition(), eastern_quadrature(), western_quadrature(), quadrature(), greatest_eastern_elongation(), greatest_western_elongation(), greatest_elongation(), periapsis(), apoapsis(), transit(), children(), fields(), functions()\nExample:\n# Compare physical reference values for two bodies\n   print earth.radius, moon.radius, moon.mass / earth.mass;","compact":"Type: Body - solar-system body with physical parameters from the reference C model","search_text":"type:Body Body Body type solar-system body with physical parameters from the reference C model body(name: Text) -> Body name Text solar-system body name"},{"id":"field:Body.name","name":"name","path":"Body.name","kind":"field","aliases":[],"description":"canonical body name","syntax":["<Body>.name -> Text"],"examples":["# Read the name field from a Body value\nprint sun.name;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Body.name - canonical body name\nSyntax:\n  <Body>.name -> Text\nExample:\n# Read the name field from a Body value\n   print sun.name;","compact":"Field: Body.name - canonical body name","search_text":"field:Body.name name Body.name field canonical body name <Body>.name -> Text"},{"id":"field:Body.kind","name":"kind","path":"Body.kind","kind":"field","aliases":[],"description":"reference body kind","syntax":["<Body>.kind -> Text"],"examples":["# Read the kind field from a Body value\nprint sun.kind;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Body.kind - reference body kind\nSyntax:\n  <Body>.kind -> Text\nExample:\n# Read the kind field from a Body value\n   print sun.kind;","compact":"Field: Body.kind - reference body kind","search_text":"field:Body.kind kind Body.kind field reference body kind <Body>.kind -> Text"},{"id":"field:Body.xmu","name":"xmu","path":"Body.xmu","kind":"field","aliases":[],"description":"gravitational parameter in km^3/s^2","syntax":["<Body>.xmu -> Number"],"examples":["# Read the xmu field from a Body value\nprint sun.xmu;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Body.xmu - gravitational parameter in km^3/s^2\nSyntax:\n  <Body>.xmu -> Number\nExample:\n# Read the xmu field from a Body value\n   print sun.xmu;","compact":"Field: Body.xmu - gravitational parameter in km^3/s^2","search_text":"field:Body.xmu xmu Body.xmu field gravitational parameter in km^3/s^2 <Body>.xmu -> Number"},{"id":"field:Body.radius","name":"radius","path":"Body.radius","kind":"field","aliases":[],"description":"body radius in km","syntax":["<Body>.radius -> Number"],"examples":["# Read the radius field from a Body value\nprint sun.radius;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Body.radius - body radius in km\nSyntax:\n  <Body>.radius -> Number\nExample:\n# Read the radius field from a Body value\n   print sun.radius;","compact":"Field: Body.radius - body radius in km","search_text":"field:Body.radius radius Body.radius field body radius in km <Body>.radius -> Number"},{"id":"field:Body.mass","name":"mass","path":"Body.mass","kind":"field","aliases":[],"description":"body mass in kg","syntax":["<Body>.mass -> Number"],"examples":["# Read the mass field from a Body value\nprint sun.mass;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Body.mass - body mass in kg\nSyntax:\n  <Body>.mass -> Number\nExample:\n# Read the mass field from a Body value\n   print sun.mass;","compact":"Field: Body.mass - body mass in kg","search_text":"field:Body.mass mass Body.mass field body mass in kg <Body>.mass -> Number"},{"id":"field:Body.H","name":"H","path":"Body.H","kind":"field","aliases":[],"description":"reference absolute magnitude parameter","syntax":["<Body>.H -> Number"],"examples":["# Read the H field from a Body value\nprint sun.H;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Body.H - reference absolute magnitude parameter\nSyntax:\n  <Body>.H -> Number\nExample:\n# Read the H field from a Body value\n   print sun.H;","compact":"Field: Body.H - reference absolute magnitude parameter","search_text":"field:Body.H H Body.H field reference absolute magnitude parameter <Body>.H -> Number"},{"id":"field:Body.n","name":"n","path":"Body.n","kind":"field","aliases":[],"description":"reference illumination exponent","syntax":["<Body>.n -> Number"],"examples":["# Read the n field from a Body value\nprint sun.n;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Body.n - reference illumination exponent\nSyntax:\n  <Body>.n -> Number\nExample:\n# Read the n field from a Body value\n   print sun.n;","compact":"Field: Body.n - reference illumination exponent","search_text":"field:Body.n n Body.n field reference illumination exponent <Body>.n -> Number"},{"id":"field:Body.k","name":"k","path":"Body.k","kind":"field","aliases":[],"description":"reference G Muller constant","syntax":["<Body>.k -> Number"],"examples":["# Read the k field from a Body value\nprint sun.k;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Body.k - reference G Muller constant\nSyntax:\n  <Body>.k -> Number\nExample:\n# Read the k field from a Body value\n   print sun.k;","compact":"Field: Body.k - reference G Muller constant","search_text":"field:Body.k k Body.k field reference G Muller constant <Body>.k -> Number"},{"id":"field:Body.known","name":"known","path":"Body.known","kind":"field","aliases":[],"description":"whether the body name matched the built-in table","syntax":["<Body>.known -> Bool"],"examples":["# Read the known field from a Body value\nprint sun.known;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Body.known - whether the body name matched the built-in table\nSyntax:\n  <Body>.known -> Bool\nExample:\n# Read the known field from a Body value\n   print sun.known;","compact":"Field: Body.known - whether the body name matched the built-in table","search_text":"field:Body.known known Body.known field whether the body name matched the built-in table <Body>.known -> Bool"},{"id":"member:Body.rotational_axis","name":"rotational_axis","path":"Body.rotational_axis","kind":"method","aliases":[],"description":"returns this body's rotational north pole at a time","syntax":["<Body>.rotational_axis(time: Time) -> Object"],"examples":["# Use Body.rotational_axis on a Body value\nlet value = sun;\nprint value.rotational_axis(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: Body.rotational_axis - returns this body's rotational north pole at a time\nSyntax:\n  <Body>.rotational_axis(time: Time) -> Object\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use Body.rotational_axis on a Body value\n   let value = sun;\n   print value.rotational_axis(time());","compact":"Method: Body.rotational_axis - returns this body's rotational north pole at a time","search_text":"member:Body.rotational_axis rotational_axis Body.rotational_axis method returns this body's rotational north pole at a time <Body>.rotational_axis(time: Time) -> Object time Time time at which to evaluate the rotational pole"},{"id":"member:Body.rotational_axis_ra","name":"rotational_axis_ra","path":"Body.rotational_axis_ra","kind":"method","aliases":[],"description":"returns the rotational north-pole right ascension in degrees","syntax":["<Body>.rotational_axis_ra(time: Time) -> Number"],"examples":["# Use Body.rotational_axis_ra on a Body value\nlet value = sun;\nprint value.rotational_axis_ra(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: Body.rotational_axis_ra - returns the rotational north-pole right ascension in degrees\nSyntax:\n  <Body>.rotational_axis_ra(time: Time) -> Number\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use Body.rotational_axis_ra on a Body value\n   let value = sun;\n   print value.rotational_axis_ra(time());","compact":"Method: Body.rotational_axis_ra - returns the rotational north-pole right ascension in degrees","search_text":"member:Body.rotational_axis_ra rotational_axis_ra Body.rotational_axis_ra method returns the rotational north-pole right ascension in degrees <Body>.rotational_axis_ra(time: Time) -> Number time Time time at which to evaluate the rotational pole"},{"id":"member:Body.rotational_axis_dec","name":"rotational_axis_dec","path":"Body.rotational_axis_dec","kind":"method","aliases":[],"description":"returns the rotational north-pole declination in degrees","syntax":["<Body>.rotational_axis_dec(time: Time) -> Number"],"examples":["# Use Body.rotational_axis_dec on a Body value\nlet value = sun;\nprint value.rotational_axis_dec(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: Body.rotational_axis_dec - returns the rotational north-pole declination in degrees\nSyntax:\n  <Body>.rotational_axis_dec(time: Time) -> Number\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use Body.rotational_axis_dec on a Body value\n   let value = sun;\n   print value.rotational_axis_dec(time());","compact":"Method: Body.rotational_axis_dec - returns the rotational north-pole declination in degrees","search_text":"member:Body.rotational_axis_dec rotational_axis_dec Body.rotational_axis_dec method returns the rotational north-pole declination in degrees <Body>.rotational_axis_dec(time: Time) -> Number time Time time at which to evaluate the rotational pole"},{"id":"member:Body.state","name":"state","path":"Body.state","kind":"method","aliases":[],"description":"returns the orbital state for this body at a time","syntax":["<Body>.state(time: Time) -> State"],"examples":["# Use Body.state on a Body value\nlet value = sun;\nprint value.state(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: Body.state - returns the orbital state for this body at a time\nSyntax:\n  <Body>.state(time: Time) -> State\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use Body.state on a Body value\n   let value = sun;\n   print value.state(time());","compact":"Method: Body.state - returns the orbital state for this body at a time","search_text":"member:Body.state state Body.state method returns the orbital state for this body at a time <Body>.state(time: Time) -> State time Time time at which to evaluate the rotational pole"},{"id":"member:Body.rise","name":"rise","path":"Body.rise","kind":"method","aliases":[],"description":"returns sunrise or moonrise events for an observer","syntax":["<Body>.rise(observer: Location|Observer, range: Range) -> List|Event|Nil"],"examples":["# Find rise events for a body from an explicit observer\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\nprint sun.rise(obs, span).first();"],"arguments":[{"name":"observer","type":"Location|Observer","required":true,"description":"Earth location or observer for the local horizon event"},{"name":"range","type":"Range","required":true,"description":"time range to search; open ranges return the next event"}],"children":[],"resources":[],"doc":"Method: Body.rise - returns sunrise or moonrise events for an observer\nSyntax:\n  <Body>.rise(observer: Location|Observer, range: Range) -> List|Event|Nil\nArguments:\n  observer: Location|Observer - Earth location or observer for the local horizon event\n  range: Range - time range to search; open ranges return the next event\nExample:\n# Find rise events for a body from an explicit observer\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\n   print sun.rise(obs, span).first();","compact":"Method: Body.rise - returns sunrise or moonrise events for an observer","search_text":"member:Body.rise rise Body.rise method returns sunrise or moonrise events for an observer <Body>.rise(observer: Location|Observer, range: Range) -> List|Event|Nil observer Location|Observer Earth location or observer for the local horizon event range Range time range to search; open ranges return the next event"},{"id":"member:Body.set","name":"set","path":"Body.set","kind":"method","aliases":[],"description":"returns sunset or moonset events for an observer","syntax":["<Body>.set(observer: Location|Observer, range: Range) -> List|Event|Nil"],"examples":["# Find set events for a body from an explicit observer\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\nprint sun.set(obs, span).first();"],"arguments":[{"name":"observer","type":"Location|Observer","required":true,"description":"Earth location or observer for the local horizon event"},{"name":"range","type":"Range","required":true,"description":"time range to search; open ranges return the next event"}],"children":[],"resources":[],"doc":"Method: Body.set - returns sunset or moonset events for an observer\nSyntax:\n  <Body>.set(observer: Location|Observer, range: Range) -> List|Event|Nil\nArguments:\n  observer: Location|Observer - Earth location or observer for the local horizon event\n  range: Range - time range to search; open ranges return the next event\nExample:\n# Find set events for a body from an explicit observer\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\n   print sun.set(obs, span).first();","compact":"Method: Body.set - returns sunset or moonset events for an observer","search_text":"member:Body.set set Body.set method returns sunset or moonset events for an observer <Body>.set(observer: Location|Observer, range: Range) -> List|Event|Nil observer Location|Observer Earth location or observer for the local horizon event range Range time range to search; open ranges return the next event"},{"id":"member:Body.conjunction","name":"conjunction","path":"Body.conjunction","kind":"method","aliases":[],"description":"returns conjunction events for this body","syntax":["<Body>.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find conjunction events for an explicit body and time range\nlet span = range(time(2026,1,1,0,0,0), time(2026,3,1,0,0,0), 1);\nprint moon.conjunction(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: Body.conjunction - returns conjunction events for this body\nSyntax:\n  <Body>.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find conjunction events for an explicit body and time range\n   let span = range(time(2026,1,1,0,0,0), time(2026,3,1,0,0,0), 1);\n   print moon.conjunction(span).first();","compact":"Method: Body.conjunction - returns conjunction events for this body","search_text":"member:Body.conjunction conjunction Body.conjunction method returns conjunction events for this body <Body>.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"member:Body.inferior_conjunction","name":"inferior_conjunction","path":"Body.inferior_conjunction","kind":"method","aliases":[],"description":"returns inferior conjunction events for this body","syntax":["<Body>.inferior_conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find inferior conjunction events for an inner planet\nlet span = range(time(2024,1,1,0,0,0), time(2026,1,1,0,0,0), 5);\nprint mercury.inferior_conjunction(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: Body.inferior_conjunction - returns inferior conjunction events for this body\nSyntax:\n  <Body>.inferior_conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find inferior conjunction events for an inner planet\n   let span = range(time(2024,1,1,0,0,0), time(2026,1,1,0,0,0), 5);\n   print mercury.inferior_conjunction(span).first();","compact":"Method: Body.inferior_conjunction - returns inferior conjunction events for this body","search_text":"member:Body.inferior_conjunction inferior_conjunction Body.inferior_conjunction method returns inferior conjunction events for this body <Body>.inferior_conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"member:Body.superior_conjunction","name":"superior_conjunction","path":"Body.superior_conjunction","kind":"method","aliases":[],"description":"returns superior conjunction events for this body","syntax":["<Body>.superior_conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find superior conjunction events for an inner planet\nlet span = range(time(2024,1,1,0,0,0), time(2026,1,1,0,0,0), 5);\nprint mercury.superior_conjunction(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: Body.superior_conjunction - returns superior conjunction events for this body\nSyntax:\n  <Body>.superior_conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find superior conjunction events for an inner planet\n   let span = range(time(2024,1,1,0,0,0), time(2026,1,1,0,0,0), 5);\n   print mercury.superior_conjunction(span).first();","compact":"Method: Body.superior_conjunction - returns superior conjunction events for this body","search_text":"member:Body.superior_conjunction superior_conjunction Body.superior_conjunction method returns superior conjunction events for this body <Body>.superior_conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"member:Body.opposition","name":"opposition","path":"Body.opposition","kind":"method","aliases":[],"description":"returns opposition events for this body","syntax":["<Body>.opposition(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find opposition events for an explicit body and time range\nlet span = range(time(2025,1,1,0,0,0), time(2026,1,1,0,0,0), 1);\nprint mars.opposition(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: Body.opposition - returns opposition events for this body\nSyntax:\n  <Body>.opposition(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find opposition events for an explicit body and time range\n   let span = range(time(2025,1,1,0,0,0), time(2026,1,1,0,0,0), 1);\n   print mars.opposition(span).first();","compact":"Method: Body.opposition - returns opposition events for this body","search_text":"member:Body.opposition opposition Body.opposition method returns opposition events for this body <Body>.opposition(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"member:Body.eastern_quadrature","name":"eastern_quadrature","path":"Body.eastern_quadrature","kind":"method","aliases":[],"description":"returns eastern quadrature events for this body","syntax":["<Body>.eastern_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find eastern quadrature events for an outer planet\nlet span = range(time(2025,1,1,0,0,0), time(2026,1,1,0,0,0), 1);\nprint mars.eastern_quadrature(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: Body.eastern_quadrature - returns eastern quadrature events for this body\nSyntax:\n  <Body>.eastern_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find eastern quadrature events for an outer planet\n   let span = range(time(2025,1,1,0,0,0), time(2026,1,1,0,0,0), 1);\n   print mars.eastern_quadrature(span).first();","compact":"Method: Body.eastern_quadrature - returns eastern quadrature events for this body","search_text":"member:Body.eastern_quadrature eastern_quadrature Body.eastern_quadrature method returns eastern quadrature events for this body <Body>.eastern_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"member:Body.western_quadrature","name":"western_quadrature","path":"Body.western_quadrature","kind":"method","aliases":[],"description":"returns western quadrature events for this body","syntax":["<Body>.western_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find western quadrature events for an outer planet\nlet span = range(time(2025,1,1,0,0,0), time(2026,1,1,0,0,0), 1);\nprint mars.western_quadrature(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: Body.western_quadrature - returns western quadrature events for this body\nSyntax:\n  <Body>.western_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find western quadrature events for an outer planet\n   let span = range(time(2025,1,1,0,0,0), time(2026,1,1,0,0,0), 1);\n   print mars.western_quadrature(span).first();","compact":"Method: Body.western_quadrature - returns western quadrature events for this body","search_text":"member:Body.western_quadrature western_quadrature Body.western_quadrature method returns western quadrature events for this body <Body>.western_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"member:Body.quadrature","name":"quadrature","path":"Body.quadrature","kind":"method","aliases":[],"description":"returns eastern and western quadrature events for this body","syntax":["<Body>.quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find quadrature events for an explicit body and time range\nlet span = range(time(2025,1,1,0,0,0), time(2026,1,1,0,0,0), 1);\nprint mars.quadrature(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: Body.quadrature - returns eastern and western quadrature events for this body\nSyntax:\n  <Body>.quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find quadrature events for an explicit body and time range\n   let span = range(time(2025,1,1,0,0,0), time(2026,1,1,0,0,0), 1);\n   print mars.quadrature(span).first();","compact":"Method: Body.quadrature - returns eastern and western quadrature events for this body","search_text":"member:Body.quadrature quadrature Body.quadrature method returns eastern and western quadrature events for this body <Body>.quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"member:Body.greatest_eastern_elongation","name":"greatest_eastern_elongation","path":"Body.greatest_eastern_elongation","kind":"method","aliases":[],"description":"returns greatest eastern elongation events for this body","syntax":["<Body>.greatest_eastern_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find greatest eastern elongation events for an inner planet\nlet span = range(time(2024,1,1,0,0,0), time(2026,1,1,0,0,0), 5);\nprint venus.greatest_eastern_elongation(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: Body.greatest_eastern_elongation - returns greatest eastern elongation events for this body\nSyntax:\n  <Body>.greatest_eastern_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find greatest eastern elongation events for an inner planet\n   let span = range(time(2024,1,1,0,0,0), time(2026,1,1,0,0,0), 5);\n   print venus.greatest_eastern_elongation(span).first();","compact":"Method: Body.greatest_eastern_elongation - returns greatest eastern elongation events for this body","search_text":"member:Body.greatest_eastern_elongation greatest_eastern_elongation Body.greatest_eastern_elongation method returns greatest eastern elongation events for this body <Body>.greatest_eastern_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"member:Body.greatest_western_elongation","name":"greatest_western_elongation","path":"Body.greatest_western_elongation","kind":"method","aliases":[],"description":"returns greatest western elongation events for this body","syntax":["<Body>.greatest_western_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find greatest western elongation events for an inner planet\nlet span = range(time(2024,1,1,0,0,0), time(2026,1,1,0,0,0), 5);\nprint venus.greatest_western_elongation(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: Body.greatest_western_elongation - returns greatest western elongation events for this body\nSyntax:\n  <Body>.greatest_western_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find greatest western elongation events for an inner planet\n   let span = range(time(2024,1,1,0,0,0), time(2026,1,1,0,0,0), 5);\n   print venus.greatest_western_elongation(span).first();","compact":"Method: Body.greatest_western_elongation - returns greatest western elongation events for this body","search_text":"member:Body.greatest_western_elongation greatest_western_elongation Body.greatest_western_elongation method returns greatest western elongation events for this body <Body>.greatest_western_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"member:Body.greatest_elongation","name":"greatest_elongation","path":"Body.greatest_elongation","kind":"method","aliases":[],"description":"returns greatest eastern and western elongation events for this body","syntax":["<Body>.greatest_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find greatest elongation events for an inner planet\nlet span = range(time(2024,1,1,0,0,0), time(2026,1,1,0,0,0), 5);\nprint venus.greatest_elongation(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: Body.greatest_elongation - returns greatest eastern and western elongation events for this body\nSyntax:\n  <Body>.greatest_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find greatest elongation events for an inner planet\n   let span = range(time(2024,1,1,0,0,0), time(2026,1,1,0,0,0), 5);\n   print venus.greatest_elongation(span).first();","compact":"Method: Body.greatest_elongation - returns greatest eastern and western elongation events for this body","search_text":"member:Body.greatest_elongation greatest_elongation Body.greatest_elongation method returns greatest eastern and western elongation events for this body <Body>.greatest_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"member:Body.periapsis","name":"periapsis","path":"Body.periapsis","kind":"method","aliases":[],"description":"returns periapsis events for this body","syntax":["<Body>.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find periapsis events for an explicit body and time range\nlet span = range(time(2024,1,1,0,0,0), time(2024,1,10,0,0,0), 1);\nprint earth.periapsis(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: Body.periapsis - returns periapsis events for this body\nSyntax:\n  <Body>.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find periapsis events for an explicit body and time range\n   let span = range(time(2024,1,1,0,0,0), time(2024,1,10,0,0,0), 1);\n   print earth.periapsis(span).first();","compact":"Method: Body.periapsis - returns periapsis events for this body","search_text":"member:Body.periapsis periapsis Body.periapsis method returns periapsis events for this body <Body>.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"member:Body.apoapsis","name":"apoapsis","path":"Body.apoapsis","kind":"method","aliases":[],"description":"returns apoapsis events for this body","syntax":["<Body>.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find apoapsis events for an explicit body and time range\nlet span = range(time(2024,7,1,0,0,0), time(2024,7,10,0,0,0), 1);\nprint earth.apoapsis(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: Body.apoapsis - returns apoapsis events for this body\nSyntax:\n  <Body>.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find apoapsis events for an explicit body and time range\n   let span = range(time(2024,7,1,0,0,0), time(2024,7,10,0,0,0), 1);\n   print earth.apoapsis(span).first();","compact":"Method: Body.apoapsis - returns apoapsis events for this body","search_text":"member:Body.apoapsis apoapsis Body.apoapsis method returns apoapsis events for this body <Body>.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"member:Body.transit","name":"transit","path":"Body.transit","kind":"method","aliases":[],"description":"returns solar transit events for Mercury or Venus","syntax":["<Body>.transit(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find solar transit events for Mercury or Venus\nlet span = range(time(2032,11,1,0,0,0), time(2032,11,20,0,0,0), 1);\nprint mercury.transit(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: Body.transit - returns solar transit events for Mercury or Venus\nSyntax:\n  <Body>.transit(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find solar transit events for Mercury or Venus\n   let span = range(time(2032,11,1,0,0,0), time(2032,11,20,0,0,0), 1);\n   print mercury.transit(span).first();","compact":"Method: Body.transit - returns solar transit events for Mercury or Venus","search_text":"member:Body.transit transit Body.transit method returns solar transit events for Mercury or Venus <Body>.transit(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"member:Body.children","name":"children","path":"Body.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Body>.children() -> List"],"examples":["# Use Body.children on a Body value\nlet value = sun;\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Body.children - lists child fields and callable members available on this value\nSyntax:\n  <Body>.children() -> List\nExample:\n# Use Body.children on a Body value\n   let value = sun;\n   print value.children();","compact":"Method: Body.children - lists child fields and callable members available on this value","search_text":"member:Body.children children Body.children method lists child fields and callable members available on this value <Body>.children() -> List"},{"id":"member:Body.fields","name":"fields","path":"Body.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Body>.fields() -> Object"],"examples":["# Use Body.fields on a Body value\nlet value = sun;\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Body.fields - returns an object containing the value's plain fields\nSyntax:\n  <Body>.fields() -> Object\nExample:\n# Use Body.fields on a Body value\n   let value = sun;\n   print value.fields();","compact":"Method: Body.fields - returns an object containing the value's plain fields","search_text":"member:Body.fields fields Body.fields method returns an object containing the value's plain fields <Body>.fields() -> Object"},{"id":"member:Body.functions","name":"functions","path":"Body.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Body>.functions() -> List"],"examples":["# Use Body.functions on a Body value\nlet value = sun;\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Body.functions - lists callable members available on this value\nSyntax:\n  <Body>.functions() -> List\nExample:\n# Use Body.functions on a Body value\n   let value = sun;\n   print value.functions();","compact":"Method: Body.functions - lists callable members available on this value","search_text":"member:Body.functions functions Body.functions method lists callable members available on this value <Body>.functions() -> List"},{"id":"type:Bodies","name":"Bodies","path":"Bodies","kind":"type","aliases":[],"description":"registry of known solar-system bodies and massive small-body perturbers","syntax":[],"examples":["# Build a Bodies value and print the result\nlet value = bodies;\nprint value;"],"arguments":[],"children":["field:Bodies.count","field:Bodies.small_count","member:Bodies.find","member:Bodies.planets","member:Bodies.solarSystem","member:Bodies.smallBodies","member:Bodies.longSolarSystem","member:Bodies.all","member:Bodies.categories","member:Bodies.get","member:Bodies.names","member:Bodies.has","member:Bodies.search","member:Bodies.states","member:Bodies.smallBodyStates","member:Bodies.solarSystemStates","member:Bodies.children","member:Bodies.fields","member:Bodies.functions"],"resources":[],"doc":"Type: Bodies - registry of known solar-system bodies and massive small-body perturbers\nChildren: count, small_count, find(), planets(), solarSystem(), smallBodies(), longSolarSystem(), all(), categories(), get(), names(), has(), search(), states(), smallBodyStates(), solarSystemStates(), children(), fields(), functions()\nExample:\n# Build a Bodies value and print the result\n   let value = bodies;\n   print value;","compact":"Type: Bodies - registry of known solar-system bodies and massive small-body perturbers","search_text":"type:Bodies Bodies Bodies type registry of known solar-system bodies and massive small-body perturbers"},{"id":"field:Bodies.count","name":"count","path":"Bodies.count","kind":"field","aliases":[],"description":"number of currently built-in registry body names","syntax":["<Bodies>.count -> Number"],"examples":["# Read the count field from a Bodies value\nprint bodies.count;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Bodies.count - number of currently built-in registry body names\nSyntax:\n  <Bodies>.count -> Number\nExample:\n# Read the count field from a Bodies value\n   print bodies.count;","compact":"Field: Bodies.count - number of currently built-in registry body names","search_text":"field:Bodies.count count Bodies.count field number of currently built-in registry body names <Bodies>.count -> Number"},{"id":"field:Bodies.small_count","name":"small_count","path":"Bodies.small_count","kind":"field","aliases":[],"description":"number of currently built-in massive small-body perturbers","syntax":["<Bodies>.small_count -> Number"],"examples":["# Read the small_count field from a Bodies value\nprint bodies.small_count;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Bodies.small_count - number of currently built-in massive small-body perturbers\nSyntax:\n  <Bodies>.small_count -> Number\nExample:\n# Read the small_count field from a Bodies value\n   print bodies.small_count;","compact":"Field: Bodies.small_count - number of currently built-in massive small-body perturbers","search_text":"field:Bodies.small_count small_count Bodies.small_count field number of currently built-in massive small-body perturbers <Bodies>.small_count -> Number"},{"id":"member:Bodies.find","name":"find","path":"Bodies.find","kind":"method","aliases":[],"description":"finds a body by name, designation, alias, or SPK-style id","syntax":["<Bodies>.find(name: Text) -> Body|Unavailable"],"examples":["# Use Bodies.find on a Bodies value\nlet value = bodies;\nprint value.find(\"value\");"],"arguments":[{"name":"name","type":"Text","required":true,"description":"body name, designation, alias, or SPK-style id"}],"children":[],"resources":[],"doc":"Method: Bodies.find - finds a body by name, designation, alias, or SPK-style id\nSyntax:\n  <Bodies>.find(name: Text) -> Body|Unavailable\nArguments:\n  name: Text - body name, designation, alias, or SPK-style id\nExample:\n# Use Bodies.find on a Bodies value\n   let value = bodies;\n   print value.find(\"value\");","compact":"Method: Bodies.find - finds a body by name, designation, alias, or SPK-style id","search_text":"member:Bodies.find find Bodies.find method finds a body by name, designation, alias, or SPK-style id <Bodies>.find(name: Text) -> Body|Unavailable name Text body name, designation, alias, or SPK-style id"},{"id":"member:Bodies.planets","name":"planets","path":"Bodies.planets","kind":"method","aliases":[],"description":"returns Mercury through Neptune","syntax":["<Bodies>.planets() -> [Body]"],"examples":["# Use Bodies.planets on a Bodies value\nlet value = bodies;\nprint value.planets();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Bodies.planets - returns Mercury through Neptune\nSyntax:\n  <Bodies>.planets() -> [Body]\nExample:\n# Use Bodies.planets on a Bodies value\n   let value = bodies;\n   print value.planets();","compact":"Method: Bodies.planets - returns Mercury through Neptune","search_text":"member:Bodies.planets planets Bodies.planets method returns Mercury through Neptune <Bodies>.planets() -> [Body]"},{"id":"member:Bodies.solarSystem","name":"solarSystem","path":"Bodies.solarSystem","kind":"method","aliases":[],"description":"returns Sun, planets, Moon, and Pluto","syntax":["<Bodies>.solarSystem() -> [Body]"],"examples":["# Use Bodies.solarSystem on a Bodies value\nlet value = bodies;\nprint value.solarSystem();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Bodies.solarSystem - returns Sun, planets, Moon, and Pluto\nSyntax:\n  <Bodies>.solarSystem() -> [Body]\nExample:\n# Use Bodies.solarSystem on a Bodies value\n   let value = bodies;\n   print value.solarSystem();","compact":"Method: Bodies.solarSystem - returns Sun, planets, Moon, and Pluto","search_text":"member:Bodies.solarSystem solarSystem Bodies.solarSystem method returns Sun, planets, Moon, and Pluto <Bodies>.solarSystem() -> [Body]"},{"id":"member:Bodies.smallBodies","name":"smallBodies","path":"Bodies.smallBodies","kind":"method","aliases":[],"description":"returns configured massive small-body perturbers, optionally filtered by minimum mass","syntax":["<Bodies>.smallBodies() -> [Body]","<Bodies>.smallBodies(min_mass: Number) -> [Body]"],"examples":["# Use Bodies.smallBodies on a Bodies value\nlet value = bodies;\nprint value.smallBodies();"],"arguments":[{"name":"min_mass","type":"Number","required":false,"description":"minimum small-body mass in kg"}],"children":[],"resources":[],"doc":"Method: Bodies.smallBodies - returns configured massive small-body perturbers, optionally filtered by minimum mass\nSyntax:\n  <Bodies>.smallBodies() -> [Body]\n  <Bodies>.smallBodies(min_mass: Number) -> [Body]\nArguments:\n  min_mass: Number [optional] - minimum small-body mass in kg\nExample:\n# Use Bodies.smallBodies on a Bodies value\n   let value = bodies;\n   print value.smallBodies();","compact":"Method: Bodies.smallBodies - returns configured massive small-body perturbers, optionally filtered by minimum mass","search_text":"member:Bodies.smallBodies smallBodies Bodies.smallBodies method returns configured massive small-body perturbers, optionally filtered by minimum mass <Bodies>.smallBodies() -> [Body] <Bodies>.smallBodies(min_mass: Number) -> [Body] min_mass Number minimum small-body mass in kg"},{"id":"member:Bodies.longSolarSystem","name":"longSolarSystem","path":"Bodies.longSolarSystem","kind":"method","aliases":[],"description":"returns Sun, planets, Moon, Pluto, and massive small-body perturbers, optionally filtered by minimum mass","syntax":["<Bodies>.longSolarSystem() -> [Body]","<Bodies>.longSolarSystem(min_mass: Number) -> [Body]"],"examples":["# Use Bodies.longSolarSystem on a Bodies value\nlet value = bodies;\nprint value.longSolarSystem();"],"arguments":[{"name":"min_mass","type":"Number","required":false,"description":"minimum small-body mass in kg"}],"children":[],"resources":[],"doc":"Method: Bodies.longSolarSystem - returns Sun, planets, Moon, Pluto, and massive small-body perturbers, optionally filtered by minimum mass\nSyntax:\n  <Bodies>.longSolarSystem() -> [Body]\n  <Bodies>.longSolarSystem(min_mass: Number) -> [Body]\nArguments:\n  min_mass: Number [optional] - minimum small-body mass in kg\nExample:\n# Use Bodies.longSolarSystem on a Bodies value\n   let value = bodies;\n   print value.longSolarSystem();","compact":"Method: Bodies.longSolarSystem - returns Sun, planets, Moon, Pluto, and massive small-body perturbers, optionally filtered by minimum mass","search_text":"member:Bodies.longSolarSystem longSolarSystem Bodies.longSolarSystem method returns Sun, planets, Moon, Pluto, and massive small-body perturbers, optionally filtered by minimum mass <Bodies>.longSolarSystem() -> [Body] <Bodies>.longSolarSystem(min_mass: Number) -> [Body] min_mass Number minimum small-body mass in kg"},{"id":"member:Bodies.all","name":"all","path":"Bodies.all","kind":"method","aliases":[],"description":"returns all registry bodies currently available through built-ins and loaded body stores","syntax":["<Bodies>.all() -> [Body]"],"examples":["# Use Bodies.all on a Bodies value\nlet value = bodies;\nprint value.all();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Bodies.all - returns all registry bodies currently available through built-ins and loaded body stores\nSyntax:\n  <Bodies>.all() -> [Body]\nExample:\n# Use Bodies.all on a Bodies value\n   let value = bodies;\n   print value.all();","compact":"Method: Bodies.all - returns all registry bodies currently available through built-ins and loaded body stores","search_text":"member:Bodies.all all Bodies.all method returns all registry bodies currently available through built-ins and loaded body stores <Bodies>.all() -> [Body]"},{"id":"member:Bodies.categories","name":"categories","path":"Bodies.categories","kind":"method","aliases":[],"description":"lists available body categories","syntax":["<Bodies>.categories() -> [Text]"],"examples":["# Use Bodies.categories on a Bodies value\nlet value = bodies;\nprint value.categories();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Bodies.categories - lists available body categories\nSyntax:\n  <Bodies>.categories() -> [Text]\nExample:\n# Use Bodies.categories on a Bodies value\n   let value = bodies;\n   print value.categories();","compact":"Method: Bodies.categories - lists available body categories","search_text":"member:Bodies.categories categories Bodies.categories method lists available body categories <Bodies>.categories() -> [Text]"},{"id":"member:Bodies.get","name":"get","path":"Bodies.get","kind":"method","aliases":[],"description":"returns bodies in a named category","syntax":["<Bodies>.get(category: Text) -> [Body]"],"examples":["# Use Bodies.get on a Bodies value\nlet value = bodies;\nprint value.get(\"value\");"],"arguments":[{"name":"category","type":"Text","required":true,"description":"category name such as planets, asteroids, moons, kbos, or comets"}],"children":[],"resources":[],"doc":"Method: Bodies.get - returns bodies in a named category\nSyntax:\n  <Bodies>.get(category: Text) -> [Body]\nArguments:\n  category: Text - category name such as planets, asteroids, moons, kbos, or comets\nExample:\n# Use Bodies.get on a Bodies value\n   let value = bodies;\n   print value.get(\"value\");","compact":"Method: Bodies.get - returns bodies in a named category","search_text":"member:Bodies.get get Bodies.get method returns bodies in a named category <Bodies>.get(category: Text) -> [Body] category Text category name such as planets, asteroids, moons, kbos, or comets"},{"id":"member:Bodies.names","name":"names","path":"Bodies.names","kind":"method","aliases":[],"description":"lists known registry names","syntax":["<Bodies>.names() -> [Text]"],"examples":["# Use Bodies.names on a Bodies value\nlet value = bodies;\nprint value.names();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Bodies.names - lists known registry names\nSyntax:\n  <Bodies>.names() -> [Text]\nExample:\n# Use Bodies.names on a Bodies value\n   let value = bodies;\n   print value.names();","compact":"Method: Bodies.names - lists known registry names","search_text":"member:Bodies.names names Bodies.names method lists known registry names <Bodies>.names() -> [Text]"},{"id":"member:Bodies.has","name":"has","path":"Bodies.has","kind":"method","aliases":[],"description":"reports whether the body registry can resolve a name","syntax":["<Bodies>.has(name: Text) -> Bool"],"examples":["# Use Bodies.has on a Bodies value\nlet value = bodies;\nprint value.has(\"value\");"],"arguments":[{"name":"name","type":"Text","required":true,"description":"body name, designation, alias, or SPK-style id"}],"children":[],"resources":[],"doc":"Method: Bodies.has - reports whether the body registry can resolve a name\nSyntax:\n  <Bodies>.has(name: Text) -> Bool\nArguments:\n  name: Text - body name, designation, alias, or SPK-style id\nExample:\n# Use Bodies.has on a Bodies value\n   let value = bodies;\n   print value.has(\"value\");","compact":"Method: Bodies.has - reports whether the body registry can resolve a name","search_text":"member:Bodies.has has Bodies.has method reports whether the body registry can resolve a name <Bodies>.has(name: Text) -> Bool name Text body name, designation, alias, or SPK-style id"},{"id":"member:Bodies.search","name":"search","path":"Bodies.search","kind":"method","aliases":[],"description":"searches known registry body names","syntax":["<Bodies>.search(query: Text) -> [Body]"],"examples":["# Use Bodies.search on a Bodies value\nlet value = bodies;\nprint value.search(\"value\");"],"arguments":[{"name":"query","type":"Text","required":true,"description":"case-insensitive body-name fragment"}],"children":[],"resources":[],"doc":"Method: Bodies.search - searches known registry body names\nSyntax:\n  <Bodies>.search(query: Text) -> [Body]\nArguments:\n  query: Text - case-insensitive body-name fragment\nExample:\n# Use Bodies.search on a Bodies value\n   let value = bodies;\n   print value.search(\"value\");","compact":"Method: Bodies.search - searches known registry body names","search_text":"member:Bodies.search search Bodies.search method searches known registry body names <Bodies>.search(query: Text) -> [Body] query Text case-insensitive body-name fragment"},{"id":"member:Bodies.states","name":"states","path":"Bodies.states","kind":"method","aliases":[],"description":"returns states for the long Solar System body collection at a time, optionally filtering small bodies by minimum mass","syntax":["<Bodies>.states(time: Time) -> [State]","<Bodies>.states(time: Time, min_mass: Number) -> [State]"],"examples":["# Use Bodies.states on a Bodies value\nlet value = bodies;\nprint value.states(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"epoch at which to extract each body state"},{"name":"min_mass","type":"Number","required":false,"description":"minimum small-body mass in kg"}],"children":[],"resources":[],"doc":"Method: Bodies.states - returns states for the long Solar System body collection at a time, optionally filtering small bodies by minimum mass\nSyntax:\n  <Bodies>.states(time: Time) -> [State]\n  <Bodies>.states(time: Time, min_mass: Number) -> [State]\nArguments:\n  time: Time - epoch at which to extract each body state\n  min_mass: Number [optional] - minimum small-body mass in kg\nExample:\n# Use Bodies.states on a Bodies value\n   let value = bodies;\n   print value.states(time());","compact":"Method: Bodies.states - returns states for the long Solar System body collection at a time, optionally filtering small bodies by minimum mass","search_text":"member:Bodies.states states Bodies.states method returns states for the long Solar System body collection at a time, optionally filtering small bodies by minimum mass <Bodies>.states(time: Time) -> [State] <Bodies>.states(time: Time, min_mass: Number) -> [State] time Time epoch at which to extract each body state min_mass Number minimum small-body mass in kg"},{"id":"member:Bodies.smallBodyStates","name":"smallBodyStates","path":"Bodies.smallBodyStates","kind":"method","aliases":[],"description":"returns states for configured massive small-body perturbers at a time, optionally filtered by minimum mass","syntax":["<Bodies>.smallBodyStates(time: Time) -> [State]","<Bodies>.smallBodyStates(time: Time, min_mass: Number) -> [State]"],"examples":["# Use Bodies.smallBodyStates on a Bodies value\nlet value = bodies;\nprint value.smallBodyStates(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"epoch at which to extract each body state"},{"name":"min_mass","type":"Number","required":false,"description":"minimum small-body mass in kg"}],"children":[],"resources":[],"doc":"Method: Bodies.smallBodyStates - returns states for configured massive small-body perturbers at a time, optionally filtered by minimum mass\nSyntax:\n  <Bodies>.smallBodyStates(time: Time) -> [State]\n  <Bodies>.smallBodyStates(time: Time, min_mass: Number) -> [State]\nArguments:\n  time: Time - epoch at which to extract each body state\n  min_mass: Number [optional] - minimum small-body mass in kg\nExample:\n# Use Bodies.smallBodyStates on a Bodies value\n   let value = bodies;\n   print value.smallBodyStates(time());","compact":"Method: Bodies.smallBodyStates - returns states for configured massive small-body perturbers at a time, optionally filtered by minimum mass","search_text":"member:Bodies.smallBodyStates smallBodyStates Bodies.smallBodyStates method returns states for configured massive small-body perturbers at a time, optionally filtered by minimum mass <Bodies>.smallBodyStates(time: Time) -> [State] <Bodies>.smallBodyStates(time: Time, min_mass: Number) -> [State] time Time epoch at which to extract each body state min_mass Number minimum small-body mass in kg"},{"id":"member:Bodies.solarSystemStates","name":"solarSystemStates","path":"Bodies.solarSystemStates","kind":"method","aliases":[],"description":"returns states for Sun, planets, Moon, and Pluto at a time","syntax":["<Bodies>.solarSystemStates(time: Time) -> [State]"],"examples":["# Use Bodies.solarSystemStates on a Bodies value\nlet value = bodies;\nprint value.solarSystemStates(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"epoch at which to extract each body state"}],"children":[],"resources":[],"doc":"Method: Bodies.solarSystemStates - returns states for Sun, planets, Moon, and Pluto at a time\nSyntax:\n  <Bodies>.solarSystemStates(time: Time) -> [State]\nArguments:\n  time: Time - epoch at which to extract each body state\nExample:\n# Use Bodies.solarSystemStates on a Bodies value\n   let value = bodies;\n   print value.solarSystemStates(time());","compact":"Method: Bodies.solarSystemStates - returns states for Sun, planets, Moon, and Pluto at a time","search_text":"member:Bodies.solarSystemStates solarSystemStates Bodies.solarSystemStates method returns states for Sun, planets, Moon, and Pluto at a time <Bodies>.solarSystemStates(time: Time) -> [State] time Time epoch at which to extract each body state"},{"id":"member:Bodies.children","name":"children","path":"Bodies.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Bodies>.children() -> List"],"examples":["# Use Bodies.children on a Bodies value\nlet value = bodies;\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Bodies.children - lists child fields and callable members available on this value\nSyntax:\n  <Bodies>.children() -> List\nExample:\n# Use Bodies.children on a Bodies value\n   let value = bodies;\n   print value.children();","compact":"Method: Bodies.children - lists child fields and callable members available on this value","search_text":"member:Bodies.children children Bodies.children method lists child fields and callable members available on this value <Bodies>.children() -> List"},{"id":"member:Bodies.fields","name":"fields","path":"Bodies.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Bodies>.fields() -> Object"],"examples":["# Use Bodies.fields on a Bodies value\nlet value = bodies;\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Bodies.fields - returns an object containing the value's plain fields\nSyntax:\n  <Bodies>.fields() -> Object\nExample:\n# Use Bodies.fields on a Bodies value\n   let value = bodies;\n   print value.fields();","compact":"Method: Bodies.fields - returns an object containing the value's plain fields","search_text":"member:Bodies.fields fields Bodies.fields method returns an object containing the value's plain fields <Bodies>.fields() -> Object"},{"id":"member:Bodies.functions","name":"functions","path":"Bodies.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Bodies>.functions() -> List"],"examples":["# Use Bodies.functions on a Bodies value\nlet value = bodies;\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Bodies.functions - lists callable members available on this value\nSyntax:\n  <Bodies>.functions() -> List\nExample:\n# Use Bodies.functions on a Bodies value\n   let value = bodies;\n   print value.functions();","compact":"Method: Bodies.functions - lists callable members available on this value","search_text":"member:Bodies.functions functions Bodies.functions method lists callable members available on this value <Bodies>.functions() -> List"},{"id":"type:Elements","name":"Elements","path":"Elements","kind":"type","aliases":[],"description":"osculating orbital elements using periapsis distance as the primary distance","syntax":["elements(q: Number, e: Number, i: Number, node: Number, argument: Number, anomaly: Number, unit: Unit) -> Elements"],"examples":["# Derive osculating elements from an Earth state around the Sun\nlet t = time(2026,1,1,0,0,0);\nlet earth_state = state(earth, t, barycentric, icrf, no_correction);\nlet sun_state = state(sun, t, barycentric, icrf, no_correction);\nlet orbit = earth_state.orbit_around(sun_state);\nlet el = orbit.elements();\nprint el.q, el.e, el.i;"],"arguments":[{"name":"q","type":"Number","required":true,"description":"periapsis distance in kilometers"},{"name":"e","type":"Number","required":true,"description":"eccentricity"},{"name":"i","type":"Number","required":true,"description":"inclination in degrees by default"},{"name":"node","type":"Number","required":true,"description":"longitude of ascending node in degrees by default"},{"name":"argument","type":"Number","required":true,"description":"argument of periapsis in degrees by default"},{"name":"anomaly","type":"Number","required":true,"description":"true anomaly in degrees by default"},{"name":"unit","type":"Unit","required":false,"description":"optional angle unit, such as rad"}],"children":["field:Elements.q","field:Elements.e","field:Elements.i","field:Elements.node","field:Elements.argument","field:Elements.anomaly","field:Elements.semimajor_axis","field:Elements.semi_latus_rectum","member:Elements.children","member:Elements.fields","member:Elements.functions"],"resources":[],"doc":"Type: Elements - osculating orbital elements using periapsis distance as the primary distance\nSyntax:\n  elements(q: Number, e: Number, i: Number, node: Number, argument: Number, anomaly: Number, unit: Unit) -> Elements\nArguments:\n  q: Number - periapsis distance in kilometers\n  e: Number - eccentricity\n  i: Number - inclination in degrees by default\n  node: Number - longitude of ascending node in degrees by default\n  argument: Number - argument of periapsis in degrees by default\n  anomaly: Number - true anomaly in degrees by default\n  unit: Unit [optional] - optional angle unit, such as rad\nChildren: q, e, i, node, argument, anomaly, semimajor_axis, semi_latus_rectum, children(), fields(), functions()\nExample:\n# Derive osculating elements from an Earth state around the Sun\n   let t = time(2026,1,1,0,0,0);\n   let earth_state = state(earth, t, barycentric, icrf, no_correction);\n   let sun_state = state(sun, t, barycentric, icrf, no_correction);\n   let orbit = earth_state.orbit_around(sun_state);\n   let el = orbit.elements();\n   print el.q, el.e, el.i;","compact":"Type: Elements - osculating orbital elements using periapsis distance as the primary distance","search_text":"type:Elements Elements Elements type osculating orbital elements using periapsis distance as the primary distance elements(q: Number, e: Number, i: Number, node: Number, argument: Number, anomaly: Number, unit: Unit) -> Elements q Number periapsis distance in kilometers e Number eccentricity i Number inclination in degrees by default node Number longitude of ascending node in degrees by default argument Number argument of periapsis in degrees by default anomaly Number true anomaly in degrees by default unit Unit optional angle unit, such as rad"},{"id":"field:Elements.q","name":"q","path":"Elements.q","kind":"field","aliases":[],"description":"periapsis distance in kilometers","syntax":["<Elements>.q -> Number"],"examples":["# Read the q field from a Elements value\nprint elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0).q;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Elements.q - periapsis distance in kilometers\nSyntax:\n  <Elements>.q -> Number\nExample:\n# Read the q field from a Elements value\n   print elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0).q;","compact":"Field: Elements.q - periapsis distance in kilometers","search_text":"field:Elements.q q Elements.q field periapsis distance in kilometers <Elements>.q -> Number"},{"id":"field:Elements.e","name":"e","path":"Elements.e","kind":"field","aliases":[],"description":"eccentricity","syntax":["<Elements>.e -> Number"],"examples":["# Read the e field from a Elements value\nprint elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0).e;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Elements.e - eccentricity\nSyntax:\n  <Elements>.e -> Number\nExample:\n# Read the e field from a Elements value\n   print elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0).e;","compact":"Field: Elements.e - eccentricity","search_text":"field:Elements.e e Elements.e field eccentricity <Elements>.e -> Number"},{"id":"field:Elements.i","name":"i","path":"Elements.i","kind":"field","aliases":[],"description":"inclination in degrees","syntax":["<Elements>.i -> Number"],"examples":["# Read the i field from a Elements value\nprint elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0).i;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Elements.i - inclination in degrees\nSyntax:\n  <Elements>.i -> Number\nExample:\n# Read the i field from a Elements value\n   print elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0).i;","compact":"Field: Elements.i - inclination in degrees","search_text":"field:Elements.i i Elements.i field inclination in degrees <Elements>.i -> Number"},{"id":"field:Elements.node","name":"node","path":"Elements.node","kind":"field","aliases":[],"description":"longitude of ascending node in degrees","syntax":["<Elements>.node -> Number"],"examples":["# Read the node field from a Elements value\nprint elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0).node;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Elements.node - longitude of ascending node in degrees\nSyntax:\n  <Elements>.node -> Number\nExample:\n# Read the node field from a Elements value\n   print elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0).node;","compact":"Field: Elements.node - longitude of ascending node in degrees","search_text":"field:Elements.node node Elements.node field longitude of ascending node in degrees <Elements>.node -> Number"},{"id":"field:Elements.argument","name":"argument","path":"Elements.argument","kind":"field","aliases":[],"description":"argument of periapsis in degrees","syntax":["<Elements>.argument -> Number"],"examples":["# Read the argument field from a Elements value\nprint elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0).argument;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Elements.argument - argument of periapsis in degrees\nSyntax:\n  <Elements>.argument -> Number\nExample:\n# Read the argument field from a Elements value\n   print elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0).argument;","compact":"Field: Elements.argument - argument of periapsis in degrees","search_text":"field:Elements.argument argument Elements.argument field argument of periapsis in degrees <Elements>.argument -> Number"},{"id":"field:Elements.anomaly","name":"anomaly","path":"Elements.anomaly","kind":"field","aliases":[],"description":"true anomaly in degrees","syntax":["<Elements>.anomaly -> Number"],"examples":["# Read the anomaly field from a Elements value\nprint elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0).anomaly;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Elements.anomaly - true anomaly in degrees\nSyntax:\n  <Elements>.anomaly -> Number\nExample:\n# Read the anomaly field from a Elements value\n   print elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0).anomaly;","compact":"Field: Elements.anomaly - true anomaly in degrees","search_text":"field:Elements.anomaly anomaly Elements.anomaly field true anomaly in degrees <Elements>.anomaly -> Number"},{"id":"field:Elements.semimajor_axis","name":"semimajor_axis","path":"Elements.semimajor_axis","kind":"field","aliases":[],"description":"derived semimajor axis in kilometers when available","syntax":["<Elements>.semimajor_axis -> Number"],"examples":["# Read the semimajor_axis field from a Elements value\nprint elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0).semimajor_axis;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Elements.semimajor_axis - derived semimajor axis in kilometers when available\nSyntax:\n  <Elements>.semimajor_axis -> Number\nExample:\n# Read the semimajor_axis field from a Elements value\n   print elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0).semimajor_axis;","compact":"Field: Elements.semimajor_axis - derived semimajor axis in kilometers when available","search_text":"field:Elements.semimajor_axis semimajor_axis Elements.semimajor_axis field derived semimajor axis in kilometers when available <Elements>.semimajor_axis -> Number"},{"id":"field:Elements.semi_latus_rectum","name":"semi_latus_rectum","path":"Elements.semi_latus_rectum","kind":"field","aliases":[],"description":"derived semi-latus rectum in kilometers when available","syntax":["<Elements>.semi_latus_rectum -> Number"],"examples":["# Read the semi_latus_rectum field from a Elements value\nprint elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0).semi_latus_rectum;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Elements.semi_latus_rectum - derived semi-latus rectum in kilometers when available\nSyntax:\n  <Elements>.semi_latus_rectum -> Number\nExample:\n# Read the semi_latus_rectum field from a Elements value\n   print elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0).semi_latus_rectum;","compact":"Field: Elements.semi_latus_rectum - derived semi-latus rectum in kilometers when available","search_text":"field:Elements.semi_latus_rectum semi_latus_rectum Elements.semi_latus_rectum field derived semi-latus rectum in kilometers when available <Elements>.semi_latus_rectum -> Number"},{"id":"member:Elements.children","name":"children","path":"Elements.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Elements>.children() -> List"],"examples":["# Use Elements.children on a Elements value\nlet value = elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0);\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Elements.children - lists child fields and callable members available on this value\nSyntax:\n  <Elements>.children() -> List\nExample:\n# Use Elements.children on a Elements value\n   let value = elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0);\n   print value.children();","compact":"Method: Elements.children - lists child fields and callable members available on this value","search_text":"member:Elements.children children Elements.children method lists child fields and callable members available on this value <Elements>.children() -> List"},{"id":"member:Elements.fields","name":"fields","path":"Elements.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Elements>.fields() -> Object"],"examples":["# Use Elements.fields on a Elements value\nlet value = elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0);\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Elements.fields - returns an object containing the value's plain fields\nSyntax:\n  <Elements>.fields() -> Object\nExample:\n# Use Elements.fields on a Elements value\n   let value = elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0);\n   print value.fields();","compact":"Method: Elements.fields - returns an object containing the value's plain fields","search_text":"member:Elements.fields fields Elements.fields method returns an object containing the value's plain fields <Elements>.fields() -> Object"},{"id":"member:Elements.functions","name":"functions","path":"Elements.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Elements>.functions() -> List"],"examples":["# Use Elements.functions on a Elements value\nlet value = elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0);\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Elements.functions - lists callable members available on this value\nSyntax:\n  <Elements>.functions() -> List\nExample:\n# Use Elements.functions on a Elements value\n   let value = elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0);\n   print value.functions();","compact":"Method: Elements.functions - lists callable members available on this value","search_text":"member:Elements.functions functions Elements.functions method lists callable members available on this value <Elements>.functions() -> List"},{"id":"type:Orbit","name":"Orbit","path":"Orbit","kind":"type","aliases":[],"description":"two-body orbit backed by osculating elements or a relative state vector","syntax":["orbit(elements: Elements, central: Body, time: Time, axis: Axis) -> Orbit"],"examples":["# Propagate an elliptic orbit forward and print the new radius\nlet epoch = time(2026,1,1,0,0,0);\nlet el = elements(q: 7000, e: 0.1, i: 30, node: 40, argument: 50, anomaly: 0, unit: deg);\nlet orbit0 = orbit(el, earth, epoch);\nlet orbit1 = orbit0.at(epoch.add_hours(6));\nprint orbit0.position().length(), orbit1.position().length();"],"arguments":[{"name":"elements","type":"Elements","required":true,"description":"osculating elements at the epoch"},{"name":"central","type":"Body","required":true,"description":"central gravitating body"},{"name":"time","type":"Time","required":true,"description":"epoch time"},{"name":"axis","type":"Axis","required":false,"description":"non-rotating element axis, icrf by default; tod is also accepted"}],"children":["field:Orbit.body","field:Orbit.central","field:Orbit.time","field:Orbit.epoch","field:Orbit.axis","field:Orbit.elements","field:Orbit.position","field:Orbit.velocity","field:Orbit.conic","member:Orbit.position","member:Orbit.velocity","member:Orbit.at","member:Orbit.elements","member:Orbit.predict","member:Orbit.children","member:Orbit.fields","member:Orbit.functions"],"resources":[],"doc":"Type: Orbit - two-body orbit backed by osculating elements or a relative state vector\nSyntax:\n  orbit(elements: Elements, central: Body, time: Time, axis: Axis) -> Orbit\nArguments:\n  elements: Elements - osculating elements at the epoch\n  central: Body - central gravitating body\n  time: Time - epoch time\n  axis: Axis [optional] - non-rotating element axis, icrf by default; tod is also accepted\nChildren: body, central, time, epoch, axis, elements, position, velocity, conic, position(), velocity(), at(), elements(), predict(), children(), fields(), functions()\nExample:\n# Propagate an elliptic orbit forward and print the new radius\n   let epoch = time(2026,1,1,0,0,0);\n   let el = elements(q: 7000, e: 0.1, i: 30, node: 40, argument: 50, anomaly: 0, unit: deg);\n   let orbit0 = orbit(el, earth, epoch);\n   let orbit1 = orbit0.at(epoch.add_hours(6));\n   print orbit0.position().length(), orbit1.position().length();","compact":"Type: Orbit - two-body orbit backed by osculating elements or a relative state vector","search_text":"type:Orbit Orbit Orbit type two-body orbit backed by osculating elements or a relative state vector orbit(elements: Elements, central: Body, time: Time, axis: Axis) -> Orbit elements Elements osculating elements at the epoch central Body central gravitating body time Time epoch time axis Axis non-rotating element axis, icrf by default; tod is also accepted"},{"id":"field:Orbit.body","name":"body","path":"Orbit.body","kind":"field","aliases":[],"description":"orbiting body when the orbit came from ephemeris states","syntax":["<Orbit>.body -> Body"],"examples":["# Read the body field from a Orbit value\nprint orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time()).body;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Orbit.body - orbiting body when the orbit came from ephemeris states\nSyntax:\n  <Orbit>.body -> Body\nExample:\n# Read the body field from a Orbit value\n   print orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time()).body;","compact":"Field: Orbit.body - orbiting body when the orbit came from ephemeris states","search_text":"field:Orbit.body body Orbit.body field orbiting body when the orbit came from ephemeris states <Orbit>.body -> Body"},{"id":"field:Orbit.central","name":"central","path":"Orbit.central","kind":"field","aliases":[],"description":"central gravitating body","syntax":["<Orbit>.central -> Body"],"examples":["# Read the central field from a Orbit value\nprint orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time()).central;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Orbit.central - central gravitating body\nSyntax:\n  <Orbit>.central -> Body\nExample:\n# Read the central field from a Orbit value\n   print orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time()).central;","compact":"Field: Orbit.central - central gravitating body","search_text":"field:Orbit.central central Orbit.central field central gravitating body <Orbit>.central -> Body"},{"id":"field:Orbit.time","name":"time","path":"Orbit.time","kind":"field","aliases":[],"description":"epoch time","syntax":["<Orbit>.time -> Time"],"examples":["# Read the time field from a Orbit value\nprint orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time()).time;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Orbit.time - epoch time\nSyntax:\n  <Orbit>.time -> Time\nExample:\n# Read the time field from a Orbit value\n   print orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time()).time;","compact":"Field: Orbit.time - epoch time","search_text":"field:Orbit.time time Orbit.time field epoch time <Orbit>.time -> Time"},{"id":"field:Orbit.epoch","name":"epoch","path":"Orbit.epoch","kind":"field","aliases":[],"description":"epoch time","syntax":["<Orbit>.epoch -> Time"],"examples":["# Read the epoch field from a Orbit value\nprint orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time()).epoch;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Orbit.epoch - epoch time\nSyntax:\n  <Orbit>.epoch -> Time\nExample:\n# Read the epoch field from a Orbit value\n   print orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time()).epoch;","compact":"Field: Orbit.epoch - epoch time","search_text":"field:Orbit.epoch epoch Orbit.epoch field epoch time <Orbit>.epoch -> Time"},{"id":"field:Orbit.axis","name":"axis","path":"Orbit.axis","kind":"field","aliases":[],"description":"axis used for the osculating elements and relative state vectors","syntax":["<Orbit>.axis -> Axis"],"examples":["# Read the axis field from a Orbit value\nprint orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time()).axis;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Orbit.axis - axis used for the osculating elements and relative state vectors\nSyntax:\n  <Orbit>.axis -> Axis\nExample:\n# Read the axis field from a Orbit value\n   print orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time()).axis;","compact":"Field: Orbit.axis - axis used for the osculating elements and relative state vectors","search_text":"field:Orbit.axis axis Orbit.axis field axis used for the osculating elements and relative state vectors <Orbit>.axis -> Axis"},{"id":"field:Orbit.elements","name":"elements","path":"Orbit.elements","kind":"field","aliases":[],"description":"osculating elements at the orbit epoch","syntax":["<Orbit>.elements -> Elements"],"examples":["# Read the elements field from a Orbit value\nprint orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time()).elements;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Orbit.elements - osculating elements at the orbit epoch\nSyntax:\n  <Orbit>.elements -> Elements\nExample:\n# Read the elements field from a Orbit value\n   print orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time()).elements;","compact":"Field: Orbit.elements - osculating elements at the orbit epoch","search_text":"field:Orbit.elements elements Orbit.elements field osculating elements at the orbit epoch <Orbit>.elements -> Elements"},{"id":"field:Orbit.position","name":"position","path":"Orbit.position","kind":"field","aliases":[],"description":"relative position vector at the orbit epoch","syntax":["<Orbit>.position -> Vector"],"examples":["# Read the position field from a Orbit value\nprint orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time()).position;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Orbit.position - relative position vector at the orbit epoch\nSyntax:\n  <Orbit>.position -> Vector\nExample:\n# Read the position field from a Orbit value\n   print orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time()).position;","compact":"Field: Orbit.position - relative position vector at the orbit epoch","search_text":"field:Orbit.position position Orbit.position field relative position vector at the orbit epoch <Orbit>.position -> Vector"},{"id":"field:Orbit.velocity","name":"velocity","path":"Orbit.velocity","kind":"field","aliases":[],"description":"relative velocity vector at the orbit epoch","syntax":["<Orbit>.velocity -> Vector"],"examples":["# Read the velocity field from a Orbit value\nprint orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time()).velocity;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Orbit.velocity - relative velocity vector at the orbit epoch\nSyntax:\n  <Orbit>.velocity -> Vector\nExample:\n# Read the velocity field from a Orbit value\n   print orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time()).velocity;","compact":"Field: Orbit.velocity - relative velocity vector at the orbit epoch","search_text":"field:Orbit.velocity velocity Orbit.velocity field relative velocity vector at the orbit epoch <Orbit>.velocity -> Vector"},{"id":"field:Orbit.conic","name":"conic","path":"Orbit.conic","kind":"field","aliases":[],"description":"elliptic, parabolic, or hyperbolic conic class","syntax":["<Orbit>.conic -> Text"],"examples":["# Read the conic field from a Orbit value\nprint orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time()).conic;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Orbit.conic - elliptic, parabolic, or hyperbolic conic class\nSyntax:\n  <Orbit>.conic -> Text\nExample:\n# Read the conic field from a Orbit value\n   print orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time()).conic;","compact":"Field: Orbit.conic - elliptic, parabolic, or hyperbolic conic class","search_text":"field:Orbit.conic conic Orbit.conic field elliptic, parabolic, or hyperbolic conic class <Orbit>.conic -> Text"},{"id":"member:Orbit.position","name":"position","path":"Orbit.position","kind":"method","aliases":[],"description":"returns orbit-relative position","syntax":["<Orbit>.position(time: Time) -> Vector"],"examples":["# Use Orbit.position on a Orbit value\nlet value = orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time());\nprint value.position();"],"arguments":[{"name":"time","type":"Time","required":false,"description":"time to propagate to; defaults to the orbit epoch"}],"children":[],"resources":[],"doc":"Method: Orbit.position - returns orbit-relative position\nSyntax:\n  <Orbit>.position(time: Time) -> Vector\nArguments:\n  time: Time [optional] - time to propagate to; defaults to the orbit epoch\nExample:\n# Use Orbit.position on a Orbit value\n   let value = orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time());\n   print value.position();","compact":"Method: Orbit.position - returns orbit-relative position","search_text":"member:Orbit.position position Orbit.position method returns orbit-relative position <Orbit>.position(time: Time) -> Vector time Time time to propagate to; defaults to the orbit epoch"},{"id":"member:Orbit.velocity","name":"velocity","path":"Orbit.velocity","kind":"method","aliases":[],"description":"returns orbit-relative velocity","syntax":["<Orbit>.velocity(time: Time) -> Vector"],"examples":["# Use Orbit.velocity on a Orbit value\nlet value = orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time());\nprint value.velocity();"],"arguments":[{"name":"time","type":"Time","required":false,"description":"time to propagate to; defaults to the orbit epoch"}],"children":[],"resources":[],"doc":"Method: Orbit.velocity - returns orbit-relative velocity\nSyntax:\n  <Orbit>.velocity(time: Time) -> Vector\nArguments:\n  time: Time [optional] - time to propagate to; defaults to the orbit epoch\nExample:\n# Use Orbit.velocity on a Orbit value\n   let value = orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time());\n   print value.velocity();","compact":"Method: Orbit.velocity - returns orbit-relative velocity","search_text":"member:Orbit.velocity velocity Orbit.velocity method returns orbit-relative velocity <Orbit>.velocity(time: Time) -> Vector time Time time to propagate to; defaults to the orbit epoch"},{"id":"member:Orbit.at","name":"at","path":"Orbit.at","kind":"method","aliases":[],"description":"propagates the orbit to a new time","syntax":["<Orbit>.at(time: Time) -> Orbit"],"examples":["# Use Orbit.at on a Orbit value\nlet value = orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time());\nprint value.at(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time to propagate to"}],"children":[],"resources":[],"doc":"Method: Orbit.at - propagates the orbit to a new time\nSyntax:\n  <Orbit>.at(time: Time) -> Orbit\nArguments:\n  time: Time - time to propagate to\nExample:\n# Use Orbit.at on a Orbit value\n   let value = orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time());\n   print value.at(time());","compact":"Method: Orbit.at - propagates the orbit to a new time","search_text":"member:Orbit.at at Orbit.at method propagates the orbit to a new time <Orbit>.at(time: Time) -> Orbit time Time time to propagate to"},{"id":"member:Orbit.elements","name":"elements","path":"Orbit.elements","kind":"method","aliases":[],"description":"returns osculating elements","syntax":["<Orbit>.elements() -> Elements"],"examples":["# Use Orbit.elements on a Orbit value\nlet value = orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time());\nprint value.elements();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Orbit.elements - returns osculating elements\nSyntax:\n  <Orbit>.elements() -> Elements\nExample:\n# Use Orbit.elements on a Orbit value\n   let value = orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time());\n   print value.elements();","compact":"Method: Orbit.elements - returns osculating elements","search_text":"member:Orbit.elements elements Orbit.elements method returns osculating elements <Orbit>.elements() -> Elements"},{"id":"member:Orbit.predict","name":"predict","path":"Orbit.predict","kind":"method","aliases":[],"description":"predicts a sky direction from this orbit","syntax":["<Orbit>.predict(time: Time, observer: Observer) -> Direction"],"examples":["# Use Orbit.predict on a Orbit value\nlet value = orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time());\nprint value.predict(time(), location(latitude: 60.0, longitude: 270.0).observer(height: 1.5));"],"arguments":[{"name":"time","type":"Time","required":true,"description":"prediction time"},{"name":"observer","type":"Observer","required":true,"description":"observing site"}],"children":[],"resources":[],"doc":"Method: Orbit.predict - predicts a sky direction from this orbit\nSyntax:\n  <Orbit>.predict(time: Time, observer: Observer) -> Direction\nArguments:\n  time: Time - prediction time\n  observer: Observer - observing site\nExample:\n# Use Orbit.predict on a Orbit value\n   let value = orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time());\n   print value.predict(time(), location(latitude: 60.0, longitude: 270.0).observer(height: 1.5));","compact":"Method: Orbit.predict - predicts a sky direction from this orbit","search_text":"member:Orbit.predict predict Orbit.predict method predicts a sky direction from this orbit <Orbit>.predict(time: Time, observer: Observer) -> Direction time Time prediction time observer Observer observing site"},{"id":"member:Orbit.children","name":"children","path":"Orbit.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Orbit>.children() -> List"],"examples":["# Use Orbit.children on a Orbit value\nlet value = orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time());\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Orbit.children - lists child fields and callable members available on this value\nSyntax:\n  <Orbit>.children() -> List\nExample:\n# Use Orbit.children on a Orbit value\n   let value = orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time());\n   print value.children();","compact":"Method: Orbit.children - lists child fields and callable members available on this value","search_text":"member:Orbit.children children Orbit.children method lists child fields and callable members available on this value <Orbit>.children() -> List"},{"id":"member:Orbit.fields","name":"fields","path":"Orbit.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Orbit>.fields() -> Object"],"examples":["# Use Orbit.fields on a Orbit value\nlet value = orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time());\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Orbit.fields - returns an object containing the value's plain fields\nSyntax:\n  <Orbit>.fields() -> Object\nExample:\n# Use Orbit.fields on a Orbit value\n   let value = orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time());\n   print value.fields();","compact":"Method: Orbit.fields - returns an object containing the value's plain fields","search_text":"member:Orbit.fields fields Orbit.fields method returns an object containing the value's plain fields <Orbit>.fields() -> Object"},{"id":"member:Orbit.functions","name":"functions","path":"Orbit.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Orbit>.functions() -> List"],"examples":["# Use Orbit.functions on a Orbit value\nlet value = orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time());\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Orbit.functions - lists callable members available on this value\nSyntax:\n  <Orbit>.functions() -> List\nExample:\n# Use Orbit.functions on a Orbit value\n   let value = orbit(elements(7000.0, 0.01, 5.0, 40.0, 80.0, 120.0), earth, time());\n   print value.functions();","compact":"Method: Orbit.functions - lists callable members available on this value","search_text":"member:Orbit.functions functions Orbit.functions method lists callable members available on this value <Orbit>.functions() -> List"},{"id":"type:System","name":"System","path":"System","kind":"type","aliases":[],"description":"immutable orbit propagation system with shared snapshot cache","syntax":["system(epoch: Time, bodies: Body|State|Orbit|Text|List, integrator: Text) -> System"],"examples":["# Build a System value and print the result\nlet value = system(time(2026, 7, 4), earth, moon, sun);\nprint value;"],"arguments":[{"name":"epoch","type":"Time","required":true,"description":"system epoch"},{"name":"bodies","type":"Body|State|Orbit|Text|List","required":true,"description":"system entries: explicit states, body-backed orbits, or ephemeris bodies"},{"name":"integrator","type":"Text","required":false,"description":"optional integrator: \"ias15\", \"dp5\", or \"rk4\"; \"dp5\" is slow and mainly for debugging/reference comparisons"}],"children":["field:System.time","field:System.bodies","field:System.states","field:System.sources","field:System.source_counts","field:System.integrator","field:System.method","field:System.ephemeris_coverage","field:System.diagnostics","field:System.ephemeris_residuals","field:System.positions","field:System.velocities","field:System.integrated","field:System.ephemeris","field:System.cache_size","member:System.at","member:System.cache","member:System.clear_cache","member:System.state","member:System.position","member:System.velocity","member:System.distance","member:System.children","member:System.fields","member:System.functions"],"resources":[],"doc":"Type: System - immutable orbit propagation system with shared snapshot cache\nSyntax:\n  system(epoch: Time, bodies: Body|State|Orbit|Text|List, integrator: Text) -> System\nArguments:\n  epoch: Time - system epoch\n  bodies: Body|State|Orbit|Text|List - system entries: explicit states, body-backed orbits, or ephemeris bodies\n  integrator: Text [optional] - optional integrator: \"ias15\", \"dp5\", or \"rk4\"; \"dp5\" is slow and mainly for debugging/reference comparisons\nChildren: time, bodies, states, sources, source_counts, integrator, method, ephemeris_coverage, diagnostics, ephemeris_residuals, positions, velocities, integrated, ephemeris, cache_size, at(), cache(), clear_cache(), state(), position(), velocity(), distance(), children(), fields(), functions()\nExample:\n# Build a System value and print the result\n   let value = system(time(2026, 7, 4), earth, moon, sun);\n   print value;","compact":"Type: System - immutable orbit propagation system with shared snapshot cache","search_text":"type:System System System type immutable orbit propagation system with shared snapshot cache system(epoch: Time, bodies: Body|State|Orbit|Text|List, integrator: Text) -> System epoch Time system epoch bodies Body|State|Orbit|Text|List system entries: explicit states, body-backed orbits, or ephemeris bodies integrator Text optional integrator: \"ias15\", \"dp5\", or \"rk4\"; \"dp5\" is slow and mainly for debugging/reference comparisons"},{"id":"field:System.time","name":"time","path":"System.time","kind":"field","aliases":[],"description":"snapshot time","syntax":["<System>.time -> Time"],"examples":["# Read the time field from a System value\nprint system(time(2026, 7, 4), earth, moon, sun).time;"],"arguments":[],"children":[],"resources":[],"doc":"Field: System.time - snapshot time\nSyntax:\n  <System>.time -> Time\nExample:\n# Read the time field from a System value\n   print system(time(2026, 7, 4), earth, moon, sun).time;","compact":"Field: System.time - snapshot time","search_text":"field:System.time time System.time field snapshot time <System>.time -> Time"},{"id":"field:System.bodies","name":"bodies","path":"System.bodies","kind":"field","aliases":[],"description":"bodies in the system","syntax":["<System>.bodies -> List"],"examples":["# Read the bodies field from a System value\nprint system(time(2026, 7, 4), earth, moon, sun).bodies;"],"arguments":[],"children":[],"resources":[],"doc":"Field: System.bodies - bodies in the system\nSyntax:\n  <System>.bodies -> List\nExample:\n# Read the bodies field from a System value\n   print system(time(2026, 7, 4), earth, moon, sun).bodies;","compact":"Field: System.bodies - bodies in the system","search_text":"field:System.bodies bodies System.bodies field bodies in the system <System>.bodies -> List"},{"id":"field:System.states","name":"states","path":"System.states","kind":"field","aliases":[],"description":"states at the snapshot time","syntax":["<System>.states -> List"],"examples":["# Read the states field from a System value\nprint system(time(2026, 7, 4), earth, moon, sun).states;"],"arguments":[],"children":[],"resources":[],"doc":"Field: System.states - states at the snapshot time\nSyntax:\n  <System>.states -> List\nExample:\n# Read the states field from a System value\n   print system(time(2026, 7, 4), earth, moon, sun).states;","compact":"Field: System.states - states at the snapshot time","search_text":"field:System.states states System.states field states at the snapshot time <System>.states -> List"},{"id":"field:System.sources","name":"sources","path":"System.sources","kind":"field","aliases":[],"description":"per-body source names","syntax":["<System>.sources -> Object"],"examples":["# Read the sources field from a System value\nprint system(time(2026, 7, 4), earth, moon, sun).sources;"],"arguments":[],"children":[],"resources":[],"doc":"Field: System.sources - per-body source names\nSyntax:\n  <System>.sources -> Object\nExample:\n# Read the sources field from a System value\n   print system(time(2026, 7, 4), earth, moon, sun).sources;","compact":"Field: System.sources - per-body source names","search_text":"field:System.sources sources System.sources field per-body source names <System>.sources -> Object"},{"id":"field:System.source_counts","name":"source_counts","path":"System.source_counts","kind":"field","aliases":[],"description":"counts of integrated and ephemeris-derived bodies","syntax":["<System>.source_counts -> Object"],"examples":["# Read the source_counts field from a System value\nprint system(time(2026, 7, 4), earth, moon, sun).source_counts;"],"arguments":[],"children":[],"resources":[],"doc":"Field: System.source_counts - counts of integrated and ephemeris-derived bodies\nSyntax:\n  <System>.source_counts -> Object\nExample:\n# Read the source_counts field from a System value\n   print system(time(2026, 7, 4), earth, moon, sun).source_counts;","compact":"Field: System.source_counts - counts of integrated and ephemeris-derived bodies","search_text":"field:System.source_counts source_counts System.source_counts field counts of integrated and ephemeris-derived bodies <System>.source_counts -> Object"},{"id":"field:System.integrator","name":"integrator","path":"System.integrator","kind":"field","aliases":[],"description":"numerical integrator name; dp5 is a slow reference/debug method","syntax":["<System>.integrator -> Text"],"examples":["# Read the integrator field from a System value\nprint system(time(2026, 7, 4), earth, moon, sun).integrator;"],"arguments":[],"children":[],"resources":[],"doc":"Field: System.integrator - numerical integrator name; dp5 is a slow reference/debug method\nSyntax:\n  <System>.integrator -> Text\nExample:\n# Read the integrator field from a System value\n   print system(time(2026, 7, 4), earth, moon, sun).integrator;","compact":"Field: System.integrator - numerical integrator name; dp5 is a slow reference/debug method","search_text":"field:System.integrator integrator System.integrator field numerical integrator name; dp5 is a slow reference/debug method <System>.integrator -> Text"},{"id":"field:System.method","name":"method","path":"System.method","kind":"field","aliases":[],"description":"alias for integrator","syntax":["<System>.method -> Text"],"examples":["# Read the method field from a System value\nprint system(time(2026, 7, 4), earth, moon, sun).method;"],"arguments":[],"children":[],"resources":[],"doc":"Field: System.method - alias for integrator\nSyntax:\n  <System>.method -> Text\nExample:\n# Read the method field from a System value\n   print system(time(2026, 7, 4), earth, moon, sun).method;","compact":"Field: System.method - alias for integrator","search_text":"field:System.method method System.method field alias for integrator <System>.method -> Text"},{"id":"field:System.ephemeris_coverage","name":"ephemeris_coverage","path":"System.ephemeris_coverage","kind":"field","aliases":[],"description":"whether this snapshot time is covered by the loaded ephemeris","syntax":["<System>.ephemeris_coverage -> Text"],"examples":["# Read the ephemeris_coverage field from a System value\nprint system(time(2026, 7, 4), earth, moon, sun).ephemeris_coverage;"],"arguments":[],"children":[],"resources":[],"doc":"Field: System.ephemeris_coverage - whether this snapshot time is covered by the loaded ephemeris\nSyntax:\n  <System>.ephemeris_coverage -> Text\nExample:\n# Read the ephemeris_coverage field from a System value\n   print system(time(2026, 7, 4), earth, moon, sun).ephemeris_coverage;","compact":"Field: System.ephemeris_coverage - whether this snapshot time is covered by the loaded ephemeris","search_text":"field:System.ephemeris_coverage ephemeris_coverage System.ephemeris_coverage field whether this snapshot time is covered by the loaded ephemeris <System>.ephemeris_coverage -> Text"},{"id":"field:System.diagnostics","name":"diagnostics","path":"System.diagnostics","kind":"field","aliases":[],"description":"last propagation diagnostics: steps, rejections, and derivative evaluations","syntax":["<System>.diagnostics -> Object"],"examples":["# Read the diagnostics field from a System value\nprint system(time(2026, 7, 4), earth, moon, sun).diagnostics;"],"arguments":[],"children":[],"resources":[],"doc":"Field: System.diagnostics - last propagation diagnostics: steps, rejections, and derivative evaluations\nSyntax:\n  <System>.diagnostics -> Object\nExample:\n# Read the diagnostics field from a System value\n   print system(time(2026, 7, 4), earth, moon, sun).diagnostics;","compact":"Field: System.diagnostics - last propagation diagnostics: steps, rejections, and derivative evaluations","search_text":"field:System.diagnostics diagnostics System.diagnostics field last propagation diagnostics: steps, rejections, and derivative evaluations <System>.diagnostics -> Object"},{"id":"field:System.ephemeris_residuals","name":"ephemeris_residuals","path":"System.ephemeris_residuals","kind":"field","aliases":[],"description":"per-body position residuals in kilometers against ephemeris at covered times","syntax":["<System>.ephemeris_residuals -> Object"],"examples":["# Read the ephemeris_residuals field from a System value\nprint system(time(2026, 7, 4), earth, moon, sun).ephemeris_residuals;"],"arguments":[],"children":[],"resources":[],"doc":"Field: System.ephemeris_residuals - per-body position residuals in kilometers against ephemeris at covered times\nSyntax:\n  <System>.ephemeris_residuals -> Object\nExample:\n# Read the ephemeris_residuals field from a System value\n   print system(time(2026, 7, 4), earth, moon, sun).ephemeris_residuals;","compact":"Field: System.ephemeris_residuals - per-body position residuals in kilometers against ephemeris at covered times","search_text":"field:System.ephemeris_residuals ephemeris_residuals System.ephemeris_residuals field per-body position residuals in kilometers against ephemeris at covered times <System>.ephemeris_residuals -> Object"},{"id":"field:System.positions","name":"positions","path":"System.positions","kind":"field","aliases":[],"description":"per-body barycentric ICRF positions","syntax":["<System>.positions -> Object"],"examples":["# Read the positions field from a System value\nprint system(time(2026, 7, 4), earth, moon, sun).positions;"],"arguments":[],"children":[],"resources":[],"doc":"Field: System.positions - per-body barycentric ICRF positions\nSyntax:\n  <System>.positions -> Object\nExample:\n# Read the positions field from a System value\n   print system(time(2026, 7, 4), earth, moon, sun).positions;","compact":"Field: System.positions - per-body barycentric ICRF positions","search_text":"field:System.positions positions System.positions field per-body barycentric ICRF positions <System>.positions -> Object"},{"id":"field:System.velocities","name":"velocities","path":"System.velocities","kind":"field","aliases":[],"description":"per-body barycentric ICRF velocities","syntax":["<System>.velocities -> Object"],"examples":["# Read the velocities field from a System value\nprint system(time(2026, 7, 4), earth, moon, sun).velocities;"],"arguments":[],"children":[],"resources":[],"doc":"Field: System.velocities - per-body barycentric ICRF velocities\nSyntax:\n  <System>.velocities -> Object\nExample:\n# Read the velocities field from a System value\n   print system(time(2026, 7, 4), earth, moon, sun).velocities;","compact":"Field: System.velocities - per-body barycentric ICRF velocities","search_text":"field:System.velocities velocities System.velocities field per-body barycentric ICRF velocities <System>.velocities -> Object"},{"id":"field:System.integrated","name":"integrated","path":"System.integrated","kind":"field","aliases":[],"description":"names of currently integrated system bodies","syntax":["<System>.integrated -> List"],"examples":["# Read the integrated field from a System value\nprint system(time(2026, 7, 4), earth, moon, sun).integrated;"],"arguments":[],"children":[],"resources":[],"doc":"Field: System.integrated - names of currently integrated system bodies\nSyntax:\n  <System>.integrated -> List\nExample:\n# Read the integrated field from a System value\n   print system(time(2026, 7, 4), earth, moon, sun).integrated;","compact":"Field: System.integrated - names of currently integrated system bodies","search_text":"field:System.integrated integrated System.integrated field names of currently integrated system bodies <System>.integrated -> List"},{"id":"field:System.ephemeris","name":"ephemeris","path":"System.ephemeris","kind":"field","aliases":[],"description":"names of ephemeris-derived system bodies","syntax":["<System>.ephemeris -> List"],"examples":["# Read the ephemeris field from a System value\nprint system(time(2026, 7, 4), earth, moon, sun).ephemeris;"],"arguments":[],"children":[],"resources":[],"doc":"Field: System.ephemeris - names of ephemeris-derived system bodies\nSyntax:\n  <System>.ephemeris -> List\nExample:\n# Read the ephemeris field from a System value\n   print system(time(2026, 7, 4), earth, moon, sun).ephemeris;","compact":"Field: System.ephemeris - names of ephemeris-derived system bodies","search_text":"field:System.ephemeris ephemeris System.ephemeris field names of ephemeris-derived system bodies <System>.ephemeris -> List"},{"id":"field:System.cache_size","name":"cache_size","path":"System.cache_size","kind":"field","aliases":[],"description":"number of cached snapshot checkpoints","syntax":["<System>.cache_size -> Number"],"examples":["# Read the cache_size field from a System value\nprint system(time(2026, 7, 4), earth, moon, sun).cache_size;"],"arguments":[],"children":[],"resources":[],"doc":"Field: System.cache_size - number of cached snapshot checkpoints\nSyntax:\n  <System>.cache_size -> Number\nExample:\n# Read the cache_size field from a System value\n   print system(time(2026, 7, 4), earth, moon, sun).cache_size;","compact":"Field: System.cache_size - number of cached snapshot checkpoints","search_text":"field:System.cache_size cache_size System.cache_size field number of cached snapshot checkpoints <System>.cache_size -> Number"},{"id":"member:System.at","name":"at","path":"System.at","kind":"method","aliases":[],"description":"returns a system snapshot at a time","syntax":["<System>.at(time: Time) -> System"],"examples":["# Use System.at on a System value\nlet value = system(time(2026, 7, 4), earth, moon, sun);\nprint value.at(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"snapshot time"}],"children":[],"resources":[],"doc":"Method: System.at - returns a system snapshot at a time\nSyntax:\n  <System>.at(time: Time) -> System\nArguments:\n  time: Time - snapshot time\nExample:\n# Use System.at on a System value\n   let value = system(time(2026, 7, 4), earth, moon, sun);\n   print value.at(time());","compact":"Method: System.at - returns a system snapshot at a time","search_text":"member:System.at at System.at method returns a system snapshot at a time <System>.at(time: Time) -> System time Time snapshot time"},{"id":"member:System.cache","name":"cache","path":"System.cache","kind":"method","aliases":[],"description":"returns a system snapshot and marks it as a cache checkpoint","syntax":["<System>.cache(time: Time) -> System"],"examples":["# Use System.cache on a System value\nlet value = system(time(2026, 7, 4), earth, moon, sun);\nprint value.cache(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"checkpoint time"}],"children":[],"resources":[],"doc":"Method: System.cache - returns a system snapshot and marks it as a cache checkpoint\nSyntax:\n  <System>.cache(time: Time) -> System\nArguments:\n  time: Time - checkpoint time\nExample:\n# Use System.cache on a System value\n   let value = system(time(2026, 7, 4), earth, moon, sun);\n   print value.cache(time());","compact":"Method: System.cache - returns a system snapshot and marks it as a cache checkpoint","search_text":"member:System.cache cache System.cache method returns a system snapshot and marks it as a cache checkpoint <System>.cache(time: Time) -> System time Time checkpoint time"},{"id":"member:System.clear_cache","name":"clear_cache","path":"System.clear_cache","kind":"method","aliases":[],"description":"clears cached system checkpoints without changing the system definition","syntax":["<System>.clear_cache() -> System"],"examples":["# Use System.clear_cache on a System value\nlet value = system(time(2026, 7, 4), earth, moon, sun);\nprint value.clear_cache();"],"arguments":[],"children":[],"resources":[],"doc":"Method: System.clear_cache - clears cached system checkpoints without changing the system definition\nSyntax:\n  <System>.clear_cache() -> System\nExample:\n# Use System.clear_cache on a System value\n   let value = system(time(2026, 7, 4), earth, moon, sun);\n   print value.clear_cache();","compact":"Method: System.clear_cache - clears cached system checkpoints without changing the system definition","search_text":"member:System.clear_cache clear_cache System.clear_cache method clears cached system checkpoints without changing the system definition <System>.clear_cache() -> System"},{"id":"member:System.state","name":"state","path":"System.state","kind":"method","aliases":[],"description":"returns states from this system snapshot","syntax":["<System>.state() -> List","<System>.state(body: Body|Text) -> State"],"examples":["# Use System.state on a System value\nlet value = system(time(2026, 7, 4), earth, moon, sun);\nprint value.state();"],"arguments":[{"name":"body","type":"Body|Text","required":false,"description":"body or system object name"}],"children":[],"resources":[],"doc":"Method: System.state - returns states from this system snapshot\nSyntax:\n  <System>.state() -> List\n  <System>.state(body: Body|Text) -> State\nArguments:\n  body: Body|Text [optional] - body or system object name\nExample:\n# Use System.state on a System value\n   let value = system(time(2026, 7, 4), earth, moon, sun);\n   print value.state();","compact":"Method: System.state - returns states from this system snapshot","search_text":"member:System.state state System.state method returns states from this system snapshot <System>.state() -> List <System>.state(body: Body|Text) -> State body Body|Text body or system object name"},{"id":"member:System.position","name":"position","path":"System.position","kind":"method","aliases":[],"description":"returns a named body's snapshot position","syntax":["<System>.position(body: Body|Text) -> Vector"],"examples":["# Use System.position on a System value\nlet value = system(time(2026, 7, 4), earth, moon, sun);\nprint value.position(sun);"],"arguments":[{"name":"body","type":"Body|Text","required":true,"description":"body or system object name"}],"children":[],"resources":[],"doc":"Method: System.position - returns a named body's snapshot position\nSyntax:\n  <System>.position(body: Body|Text) -> Vector\nArguments:\n  body: Body|Text - body or system object name\nExample:\n# Use System.position on a System value\n   let value = system(time(2026, 7, 4), earth, moon, sun);\n   print value.position(sun);","compact":"Method: System.position - returns a named body's snapshot position","search_text":"member:System.position position System.position method returns a named body's snapshot position <System>.position(body: Body|Text) -> Vector body Body|Text body or system object name"},{"id":"member:System.velocity","name":"velocity","path":"System.velocity","kind":"method","aliases":[],"description":"returns a named body's snapshot velocity","syntax":["<System>.velocity(body: Body|Text) -> Vector"],"examples":["# Use System.velocity on a System value\nlet value = system(time(2026, 7, 4), earth, moon, sun);\nprint value.velocity(sun);"],"arguments":[{"name":"body","type":"Body|Text","required":true,"description":"body or system object name"}],"children":[],"resources":[],"doc":"Method: System.velocity - returns a named body's snapshot velocity\nSyntax:\n  <System>.velocity(body: Body|Text) -> Vector\nArguments:\n  body: Body|Text - body or system object name\nExample:\n# Use System.velocity on a System value\n   let value = system(time(2026, 7, 4), earth, moon, sun);\n   print value.velocity(sun);","compact":"Method: System.velocity - returns a named body's snapshot velocity","search_text":"member:System.velocity velocity System.velocity method returns a named body's snapshot velocity <System>.velocity(body: Body|Text) -> Vector body Body|Text body or system object name"},{"id":"member:System.distance","name":"distance","path":"System.distance","kind":"method","aliases":[],"description":"returns the distance between two system bodies","syntax":["<System>.distance(a: Body|Text, b: Body|Text) -> Number"],"examples":["# Use System.distance on a System value\nlet value = system(time(2026, 7, 4), earth, moon, sun);\nprint value.distance(sun, sun);"],"arguments":[{"name":"a","type":"Body|Text","required":true,"description":"first body or system object name"},{"name":"b","type":"Body|Text","required":true,"description":"second body or system object name"}],"children":[],"resources":[],"doc":"Method: System.distance - returns the distance between two system bodies\nSyntax:\n  <System>.distance(a: Body|Text, b: Body|Text) -> Number\nArguments:\n  a: Body|Text - first body or system object name\n  b: Body|Text - second body or system object name\nExample:\n# Use System.distance on a System value\n   let value = system(time(2026, 7, 4), earth, moon, sun);\n   print value.distance(sun, sun);","compact":"Method: System.distance - returns the distance between two system bodies","search_text":"member:System.distance distance System.distance method returns the distance between two system bodies <System>.distance(a: Body|Text, b: Body|Text) -> Number a Body|Text first body or system object name b Body|Text second body or system object name"},{"id":"member:System.children","name":"children","path":"System.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<System>.children() -> List"],"examples":["# Use System.children on a System value\nlet value = system(time(2026, 7, 4), earth, moon, sun);\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: System.children - lists child fields and callable members available on this value\nSyntax:\n  <System>.children() -> List\nExample:\n# Use System.children on a System value\n   let value = system(time(2026, 7, 4), earth, moon, sun);\n   print value.children();","compact":"Method: System.children - lists child fields and callable members available on this value","search_text":"member:System.children children System.children method lists child fields and callable members available on this value <System>.children() -> List"},{"id":"member:System.fields","name":"fields","path":"System.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<System>.fields() -> Object"],"examples":["# Use System.fields on a System value\nlet value = system(time(2026, 7, 4), earth, moon, sun);\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: System.fields - returns an object containing the value's plain fields\nSyntax:\n  <System>.fields() -> Object\nExample:\n# Use System.fields on a System value\n   let value = system(time(2026, 7, 4), earth, moon, sun);\n   print value.fields();","compact":"Method: System.fields - returns an object containing the value's plain fields","search_text":"member:System.fields fields System.fields method returns an object containing the value's plain fields <System>.fields() -> Object"},{"id":"member:System.functions","name":"functions","path":"System.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<System>.functions() -> List"],"examples":["# Use System.functions on a System value\nlet value = system(time(2026, 7, 4), earth, moon, sun);\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: System.functions - lists callable members available on this value\nSyntax:\n  <System>.functions() -> List\nExample:\n# Use System.functions on a System value\n   let value = system(time(2026, 7, 4), earth, moon, sun);\n   print value.functions();","compact":"Method: System.functions - lists callable members available on this value","search_text":"member:System.functions functions System.functions method lists callable members available on this value <System>.functions() -> List"},{"id":"type:Observation","name":"Observation","path":"Observation","kind":"type","aliases":[],"description":"measured sky direction or target elevation observation","syntax":["observation(observer: Observer, time: Time, direction: Direction|State, frame: Frame) -> Observation","observation(target: Body|Star, time: Time, elevation: Number) -> Observation"],"examples":["# Build a Observation value and print the result\nlet value = observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4));\nprint value;"],"arguments":[{"name":"observer","type":"Observer","required":false,"description":"observing site"},{"name":"time","type":"Time","required":true,"description":"observation time"},{"name":"direction","type":"Direction|State","required":false,"description":"measured line of sight, or a state whose position gives the line of sight"},{"name":"frame","type":"Frame","required":false,"description":"coordinate frame for RA/Dec shorthand or state conversion; defaults to icrf"},{"name":"target","type":"Body|Star","required":false,"description":"observed planet, Moon, Sun, or star"},{"name":"elevation","type":"Number","required":false,"description":"measured elevation above the horizon in degrees"}],"children":["field:Observation.observer","field:Observation.time","field:Observation.direction","field:Observation.target","field:Observation.elevation","field:Observation.uncertainty","field:Observation.weight","field:Observation.label","member:Observation.icrf","member:Observation.topographic","member:Observation.with_uncertainty","member:Observation.with_weight","member:Observation.children","member:Observation.fields","member:Observation.functions"],"resources":[],"doc":"Type: Observation - measured sky direction or target elevation observation\nSyntax:\n  observation(observer: Observer, time: Time, direction: Direction|State, frame: Frame) -> Observation\n  observation(target: Body|Star, time: Time, elevation: Number) -> Observation\nArguments:\n  observer: Observer [optional] - observing site\n  time: Time - observation time\n  direction: Direction|State [optional] - measured line of sight, or a state whose position gives the line of sight\n  frame: Frame [optional] - coordinate frame for RA/Dec shorthand or state conversion; defaults to icrf\n  target: Body|Star [optional] - observed planet, Moon, Sun, or star\n  elevation: Number [optional] - measured elevation above the horizon in degrees\nChildren: observer, time, direction, target, elevation, uncertainty, weight, label, icrf(), topographic(), with_uncertainty(), with_weight(), children(), fields(), functions()\nExample:\n# Build a Observation value and print the result\n   let value = observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4));\n   print value;","compact":"Type: Observation - measured sky direction or target elevation observation","search_text":"type:Observation Observation Observation type measured sky direction or target elevation observation observation(observer: Observer, time: Time, direction: Direction|State, frame: Frame) -> Observation observation(target: Body|Star, time: Time, elevation: Number) -> Observation observer Observer observing site time Time observation time direction Direction|State measured line of sight, or a state whose position gives the line of sight frame Frame coordinate frame for RA/Dec shorthand or state conversion; defaults to icrf target Body|Star observed planet, Moon, Sun, or star elevation Number measured elevation above the horizon in degrees"},{"id":"field:Observation.observer","name":"observer","path":"Observation.observer","kind":"field","aliases":[],"description":"observing site, when this is a direction observation","syntax":["<Observation>.observer -> Observer?"],"examples":["# Read the observer field from a Observation value\nprint observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4)).observer;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Observation.observer - observing site, when this is a direction observation\nSyntax:\n  <Observation>.observer -> Observer?\nExample:\n# Read the observer field from a Observation value\n   print observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4)).observer;","compact":"Field: Observation.observer - observing site, when this is a direction observation","search_text":"field:Observation.observer observer Observation.observer field observing site, when this is a direction observation <Observation>.observer -> Observer?"},{"id":"field:Observation.time","name":"time","path":"Observation.time","kind":"field","aliases":[],"description":"observation time","syntax":["<Observation>.time -> Time"],"examples":["# Read the time field from a Observation value\nprint observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4)).time;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Observation.time - observation time\nSyntax:\n  <Observation>.time -> Time\nExample:\n# Read the time field from a Observation value\n   print observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4)).time;","compact":"Field: Observation.time - observation time","search_text":"field:Observation.time time Observation.time field observation time <Observation>.time -> Time"},{"id":"field:Observation.direction","name":"direction","path":"Observation.direction","kind":"field","aliases":[],"description":"measured direction, when this is a direction observation","syntax":["<Observation>.direction -> Direction?"],"examples":["# Read the direction field from a Observation value\nprint observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4)).direction;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Observation.direction - measured direction, when this is a direction observation\nSyntax:\n  <Observation>.direction -> Direction?\nExample:\n# Read the direction field from a Observation value\n   print observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4)).direction;","compact":"Field: Observation.direction - measured direction, when this is a direction observation","search_text":"field:Observation.direction direction Observation.direction field measured direction, when this is a direction observation <Observation>.direction -> Direction?"},{"id":"field:Observation.target","name":"target","path":"Observation.target","kind":"field","aliases":[],"description":"observed body or star, when this is an elevation observation","syntax":["<Observation>.target -> Body|Star?"],"examples":["# Read the target field from a Observation value\nprint observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4)).target;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Observation.target - observed body or star, when this is an elevation observation\nSyntax:\n  <Observation>.target -> Body|Star?\nExample:\n# Read the target field from a Observation value\n   print observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4)).target;","compact":"Field: Observation.target - observed body or star, when this is an elevation observation","search_text":"field:Observation.target target Observation.target field observed body or star, when this is an elevation observation <Observation>.target -> Body|Star?"},{"id":"field:Observation.elevation","name":"elevation","path":"Observation.elevation","kind":"field","aliases":[],"description":"measured target elevation in degrees, when this is an elevation observation","syntax":["<Observation>.elevation -> Number?"],"examples":["# Read the elevation field from a Observation value\nprint observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4)).elevation;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Observation.elevation - measured target elevation in degrees, when this is an elevation observation\nSyntax:\n  <Observation>.elevation -> Number?\nExample:\n# Read the elevation field from a Observation value\n   print observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4)).elevation;","compact":"Field: Observation.elevation - measured target elevation in degrees, when this is an elevation observation","search_text":"field:Observation.elevation elevation Observation.elevation field measured target elevation in degrees, when this is an elevation observation <Observation>.elevation -> Number?"},{"id":"field:Observation.uncertainty","name":"uncertainty","path":"Observation.uncertainty","kind":"field","aliases":[],"description":"direction uncertainty in arcseconds","syntax":["<Observation>.uncertainty -> Number?"],"examples":["# Read the uncertainty field from a Observation value\nprint observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4)).uncertainty;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Observation.uncertainty - direction uncertainty in arcseconds\nSyntax:\n  <Observation>.uncertainty -> Number?\nExample:\n# Read the uncertainty field from a Observation value\n   print observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4)).uncertainty;","compact":"Field: Observation.uncertainty - direction uncertainty in arcseconds","search_text":"field:Observation.uncertainty uncertainty Observation.uncertainty field direction uncertainty in arcseconds <Observation>.uncertainty -> Number?"},{"id":"field:Observation.weight","name":"weight","path":"Observation.weight","kind":"field","aliases":[],"description":"least-squares weight","syntax":["<Observation>.weight -> Number?"],"examples":["# Read the weight field from a Observation value\nprint observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4)).weight;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Observation.weight - least-squares weight\nSyntax:\n  <Observation>.weight -> Number?\nExample:\n# Read the weight field from a Observation value\n   print observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4)).weight;","compact":"Field: Observation.weight - least-squares weight","search_text":"field:Observation.weight weight Observation.weight field least-squares weight <Observation>.weight -> Number?"},{"id":"field:Observation.label","name":"label","path":"Observation.label","kind":"field","aliases":[],"description":"optional observation label","syntax":["<Observation>.label -> Text?"],"examples":["# Read the label field from a Observation value\nprint observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4)).label;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Observation.label - optional observation label\nSyntax:\n  <Observation>.label -> Text?\nExample:\n# Read the label field from a Observation value\n   print observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4)).label;","compact":"Field: Observation.label - optional observation label","search_text":"field:Observation.label label Observation.label field optional observation label <Observation>.label -> Text?"},{"id":"member:Observation.icrf","name":"icrf","path":"Observation.icrf","kind":"method","aliases":[],"description":"converts the observation direction to ICRF","syntax":["<Observation>.icrf() -> Direction"],"examples":["# Use Observation.icrf on a Observation value\nlet value = observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4));\nprint value.icrf();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Observation.icrf - converts the observation direction to ICRF\nSyntax:\n  <Observation>.icrf() -> Direction\nExample:\n# Use Observation.icrf on a Observation value\n   let value = observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4));\n   print value.icrf();","compact":"Method: Observation.icrf - converts the observation direction to ICRF","search_text":"member:Observation.icrf icrf Observation.icrf method converts the observation direction to ICRF <Observation>.icrf() -> Direction"},{"id":"member:Observation.topographic","name":"topographic","path":"Observation.topographic","kind":"method","aliases":[],"description":"converts the observation direction to topographic axes","syntax":["<Observation>.topographic() -> Direction"],"examples":["# Read an observation line of sight in local topographic axes\nlet obs = location(latitude: 59.91, longitude: 10.75).observer(height: 0);\nlet dir = direction(topographic, azimuth: 120.0, altitude: 25.0);\nlet value = observation(obs, time(2026,7,3), dir);\nprint value.topographic();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Observation.topographic - converts the observation direction to topographic axes\nSyntax:\n  <Observation>.topographic() -> Direction\nExample:\n# Read an observation line of sight in local topographic axes\n   let obs = location(latitude: 59.91, longitude: 10.75).observer(height: 0);\n   let dir = direction(topographic, azimuth: 120.0, altitude: 25.0);\n   let value = observation(obs, time(2026,7,3), dir);\n   print value.topographic();","compact":"Method: Observation.topographic - converts the observation direction to topographic axes","search_text":"member:Observation.topographic topographic Observation.topographic method converts the observation direction to topographic axes <Observation>.topographic() -> Direction"},{"id":"member:Observation.with_uncertainty","name":"with_uncertainty","path":"Observation.with_uncertainty","kind":"method","aliases":[],"description":"sets observation uncertainty","syntax":["<Observation>.with_uncertainty(arcsec: Number) -> Observation"],"examples":["# Use Observation.with_uncertainty on a Observation value\nlet value = observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4));\nprint value.with_uncertainty(42.0);"],"arguments":[{"name":"arcsec","type":"Number","required":true,"description":"one-sigma uncertainty in arcseconds"}],"children":[],"resources":[],"doc":"Method: Observation.with_uncertainty - sets observation uncertainty\nSyntax:\n  <Observation>.with_uncertainty(arcsec: Number) -> Observation\nArguments:\n  arcsec: Number - one-sigma uncertainty in arcseconds\nExample:\n# Use Observation.with_uncertainty on a Observation value\n   let value = observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4));\n   print value.with_uncertainty(42.0);","compact":"Method: Observation.with_uncertainty - sets observation uncertainty","search_text":"member:Observation.with_uncertainty with_uncertainty Observation.with_uncertainty method sets observation uncertainty <Observation>.with_uncertainty(arcsec: Number) -> Observation arcsec Number one-sigma uncertainty in arcseconds"},{"id":"member:Observation.with_weight","name":"with_weight","path":"Observation.with_weight","kind":"method","aliases":[],"description":"sets observation weight","syntax":["<Observation>.with_weight(weight: Number) -> Observation"],"examples":["# Use Observation.with_weight on a Observation value\nlet value = observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4));\nprint value.with_weight(42.0);"],"arguments":[{"name":"weight","type":"Number","required":true,"description":"relative observation weight"}],"children":[],"resources":[],"doc":"Method: Observation.with_weight - sets observation weight\nSyntax:\n  <Observation>.with_weight(weight: Number) -> Observation\nArguments:\n  weight: Number - relative observation weight\nExample:\n# Use Observation.with_weight on a Observation value\n   let value = observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4));\n   print value.with_weight(42.0);","compact":"Method: Observation.with_weight - sets observation weight","search_text":"member:Observation.with_weight with_weight Observation.with_weight method sets observation weight <Observation>.with_weight(weight: Number) -> Observation weight Number relative observation weight"},{"id":"member:Observation.children","name":"children","path":"Observation.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Observation>.children() -> List"],"examples":["# Use Observation.children on a Observation value\nlet value = observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4));\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Observation.children - lists child fields and callable members available on this value\nSyntax:\n  <Observation>.children() -> List\nExample:\n# Use Observation.children on a Observation value\n   let value = observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4));\n   print value.children();","compact":"Method: Observation.children - lists child fields and callable members available on this value","search_text":"member:Observation.children children Observation.children method lists child fields and callable members available on this value <Observation>.children() -> List"},{"id":"member:Observation.fields","name":"fields","path":"Observation.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Observation>.fields() -> Object"],"examples":["# Use Observation.fields on a Observation value\nlet value = observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4));\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Observation.fields - returns an object containing the value's plain fields\nSyntax:\n  <Observation>.fields() -> Object\nExample:\n# Use Observation.fields on a Observation value\n   let value = observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4));\n   print value.fields();","compact":"Method: Observation.fields - returns an object containing the value's plain fields","search_text":"member:Observation.fields fields Observation.fields method returns an object containing the value's plain fields <Observation>.fields() -> Object"},{"id":"member:Observation.functions","name":"functions","path":"Observation.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Observation>.functions() -> List"],"examples":["# Use Observation.functions on a Observation value\nlet value = observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4));\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Observation.functions - lists callable members available on this value\nSyntax:\n  <Observation>.functions() -> List\nExample:\n# Use Observation.functions on a Observation value\n   let value = observation(observer(location(59.91,10.75)), time(2026,7,3), direction(ra:120.1, dec:22.4));\n   print value.functions();","compact":"Method: Observation.functions - lists callable members available on this value","search_text":"member:Observation.functions functions Observation.functions method lists callable members available on this value <Observation>.functions() -> List"},{"id":"type:OrbitSolution","name":"OrbitSolution","path":"OrbitSolution","kind":"type","aliases":[],"description":"orbit determination result with orbit, residuals, and fit quality","syntax":["orbit_determination(observations: List<Observation>) -> OrbitSolution"],"examples":["# Build a OrbitSolution value and print the result\nlet value = orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun);\nprint value;"],"arguments":[{"name":"observations","type":"List<Observation>","required":true,"description":"three or more observations"}],"children":["field:OrbitSolution.orbit","field:OrbitSolution.elements","field:OrbitSolution.observations","field:OrbitSolution.residuals","field:OrbitSolution.rms","field:OrbitSolution.max_residual","field:OrbitSolution.method","field:OrbitSolution.status","field:OrbitSolution.iterations","member:OrbitSolution.predict","member:OrbitSolution.residuals","member:OrbitSolution.children","member:OrbitSolution.fields","member:OrbitSolution.functions"],"resources":[],"doc":"Type: OrbitSolution - orbit determination result with orbit, residuals, and fit quality\nSyntax:\n  orbit_determination(observations: List<Observation>) -> OrbitSolution\nArguments:\n  observations: List<Observation> - three or more observations\nChildren: orbit, elements, observations, residuals, rms, max_residual, method, status, iterations, predict(), residuals(), children(), fields(), functions()\nExample:\n# Build a OrbitSolution value and print the result\n   let value = orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun);\n   print value;","compact":"Type: OrbitSolution - orbit determination result with orbit, residuals, and fit quality","search_text":"type:OrbitSolution OrbitSolution OrbitSolution type orbit determination result with orbit, residuals, and fit quality orbit_determination(observations: List<Observation>) -> OrbitSolution observations List<Observation> three or more observations"},{"id":"field:OrbitSolution.orbit","name":"orbit","path":"OrbitSolution.orbit","kind":"field","aliases":[],"description":"determined two-body orbit","syntax":["<OrbitSolution>.orbit -> Orbit"],"examples":["# Read the orbit field from a OrbitSolution value\nprint orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun).orbit;"],"arguments":[],"children":[],"resources":[],"doc":"Field: OrbitSolution.orbit - determined two-body orbit\nSyntax:\n  <OrbitSolution>.orbit -> Orbit\nExample:\n# Read the orbit field from a OrbitSolution value\n   print orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun).orbit;","compact":"Field: OrbitSolution.orbit - determined two-body orbit","search_text":"field:OrbitSolution.orbit orbit OrbitSolution.orbit field determined two-body orbit <OrbitSolution>.orbit -> Orbit"},{"id":"field:OrbitSolution.elements","name":"elements","path":"OrbitSolution.elements","kind":"field","aliases":[],"description":"osculating elements for the determined orbit","syntax":["<OrbitSolution>.elements -> Elements"],"examples":["# Read the elements field from a OrbitSolution value\nprint orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun).elements;"],"arguments":[],"children":[],"resources":[],"doc":"Field: OrbitSolution.elements - osculating elements for the determined orbit\nSyntax:\n  <OrbitSolution>.elements -> Elements\nExample:\n# Read the elements field from a OrbitSolution value\n   print orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun).elements;","compact":"Field: OrbitSolution.elements - osculating elements for the determined orbit","search_text":"field:OrbitSolution.elements elements OrbitSolution.elements field osculating elements for the determined orbit <OrbitSolution>.elements -> Elements"},{"id":"field:OrbitSolution.observations","name":"observations","path":"OrbitSolution.observations","kind":"field","aliases":[],"description":"observations used for the determination","syntax":["<OrbitSolution>.observations -> List<Observation>"],"examples":["# Read the observations field from a OrbitSolution value\nprint orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun).observations;"],"arguments":[],"children":[],"resources":[],"doc":"Field: OrbitSolution.observations - observations used for the determination\nSyntax:\n  <OrbitSolution>.observations -> List<Observation>\nExample:\n# Read the observations field from a OrbitSolution value\n   print orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun).observations;","compact":"Field: OrbitSolution.observations - observations used for the determination","search_text":"field:OrbitSolution.observations observations OrbitSolution.observations field observations used for the determination <OrbitSolution>.observations -> List<Observation>"},{"id":"field:OrbitSolution.residuals","name":"residuals","path":"OrbitSolution.residuals","kind":"field","aliases":[],"description":"per-observation residual objects","syntax":["<OrbitSolution>.residuals -> List<Object>"],"examples":["# Read the residuals field from a OrbitSolution value\nprint orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun).residuals;"],"arguments":[],"children":[],"resources":[],"doc":"Field: OrbitSolution.residuals - per-observation residual objects\nSyntax:\n  <OrbitSolution>.residuals -> List<Object>\nExample:\n# Read the residuals field from a OrbitSolution value\n   print orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun).residuals;","compact":"Field: OrbitSolution.residuals - per-observation residual objects","search_text":"field:OrbitSolution.residuals residuals OrbitSolution.residuals field per-observation residual objects <OrbitSolution>.residuals -> List<Object>"},{"id":"field:OrbitSolution.rms","name":"rms","path":"OrbitSolution.rms","kind":"field","aliases":[],"description":"RMS angular residual in arcseconds","syntax":["<OrbitSolution>.rms -> Number"],"examples":["# Read the rms field from a OrbitSolution value\nprint orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun).rms;"],"arguments":[],"children":[],"resources":[],"doc":"Field: OrbitSolution.rms - RMS angular residual in arcseconds\nSyntax:\n  <OrbitSolution>.rms -> Number\nExample:\n# Read the rms field from a OrbitSolution value\n   print orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun).rms;","compact":"Field: OrbitSolution.rms - RMS angular residual in arcseconds","search_text":"field:OrbitSolution.rms rms OrbitSolution.rms field RMS angular residual in arcseconds <OrbitSolution>.rms -> Number"},{"id":"field:OrbitSolution.max_residual","name":"max_residual","path":"OrbitSolution.max_residual","kind":"field","aliases":[],"description":"largest angular residual in arcseconds","syntax":["<OrbitSolution>.max_residual -> Number"],"examples":["# Read the max_residual field from a OrbitSolution value\nprint orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun).max_residual;"],"arguments":[],"children":[],"resources":[],"doc":"Field: OrbitSolution.max_residual - largest angular residual in arcseconds\nSyntax:\n  <OrbitSolution>.max_residual -> Number\nExample:\n# Read the max_residual field from a OrbitSolution value\n   print orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun).max_residual;","compact":"Field: OrbitSolution.max_residual - largest angular residual in arcseconds","search_text":"field:OrbitSolution.max_residual max_residual OrbitSolution.max_residual field largest angular residual in arcseconds <OrbitSolution>.max_residual -> Number"},{"id":"field:OrbitSolution.method","name":"method","path":"OrbitSolution.method","kind":"field","aliases":[],"description":"solver method used","syntax":["<OrbitSolution>.method -> Text"],"examples":["# Read the method field from a OrbitSolution value\nprint orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun).method;"],"arguments":[],"children":[],"resources":[],"doc":"Field: OrbitSolution.method - solver method used\nSyntax:\n  <OrbitSolution>.method -> Text\nExample:\n# Read the method field from a OrbitSolution value\n   print orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun).method;","compact":"Field: OrbitSolution.method - solver method used","search_text":"field:OrbitSolution.method method OrbitSolution.method field solver method used <OrbitSolution>.method -> Text"},{"id":"field:OrbitSolution.status","name":"status","path":"OrbitSolution.status","kind":"field","aliases":[],"description":"solver status","syntax":["<OrbitSolution>.status -> Text"],"examples":["# Read the status field from a OrbitSolution value\nprint orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun).status;"],"arguments":[],"children":[],"resources":[],"doc":"Field: OrbitSolution.status - solver status\nSyntax:\n  <OrbitSolution>.status -> Text\nExample:\n# Read the status field from a OrbitSolution value\n   print orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun).status;","compact":"Field: OrbitSolution.status - solver status","search_text":"field:OrbitSolution.status status OrbitSolution.status field solver status <OrbitSolution>.status -> Text"},{"id":"field:OrbitSolution.iterations","name":"iterations","path":"OrbitSolution.iterations","kind":"field","aliases":[],"description":"differential-correction iterations performed","syntax":["<OrbitSolution>.iterations -> Number"],"examples":["# Read the iterations field from a OrbitSolution value\nprint orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun).iterations;"],"arguments":[],"children":[],"resources":[],"doc":"Field: OrbitSolution.iterations - differential-correction iterations performed\nSyntax:\n  <OrbitSolution>.iterations -> Number\nExample:\n# Read the iterations field from a OrbitSolution value\n   print orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun).iterations;","compact":"Field: OrbitSolution.iterations - differential-correction iterations performed","search_text":"field:OrbitSolution.iterations iterations OrbitSolution.iterations field differential-correction iterations performed <OrbitSolution>.iterations -> Number"},{"id":"member:OrbitSolution.predict","name":"predict","path":"OrbitSolution.predict","kind":"method","aliases":[],"description":"predicts a direction from the determined orbit","syntax":["<OrbitSolution>.predict(time: Time, observer: Observer) -> Direction"],"examples":["# Use OrbitSolution.predict on a OrbitSolution value\nlet value = orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun);\nprint value.predict(time(), location(latitude: 60.0, longitude: 270.0).observer(height: 1.5));"],"arguments":[{"name":"time","type":"Time","required":true,"description":"prediction time"},{"name":"observer","type":"Observer","required":true,"description":"observing site"}],"children":[],"resources":[],"doc":"Method: OrbitSolution.predict - predicts a direction from the determined orbit\nSyntax:\n  <OrbitSolution>.predict(time: Time, observer: Observer) -> Direction\nArguments:\n  time: Time - prediction time\n  observer: Observer - observing site\nExample:\n# Use OrbitSolution.predict on a OrbitSolution value\n   let value = orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun);\n   print value.predict(time(), location(latitude: 60.0, longitude: 270.0).observer(height: 1.5));","compact":"Method: OrbitSolution.predict - predicts a direction from the determined orbit","search_text":"member:OrbitSolution.predict predict OrbitSolution.predict method predicts a direction from the determined orbit <OrbitSolution>.predict(time: Time, observer: Observer) -> Direction time Time prediction time observer Observer observing site"},{"id":"member:OrbitSolution.residuals","name":"residuals","path":"OrbitSolution.residuals","kind":"method","aliases":[],"description":"returns per-observation residuals","syntax":["<OrbitSolution>.residuals() -> List<Object>"],"examples":["# Use OrbitSolution.residuals on a OrbitSolution value\nlet value = orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun);\nprint value.residuals();"],"arguments":[],"children":[],"resources":[],"doc":"Method: OrbitSolution.residuals - returns per-observation residuals\nSyntax:\n  <OrbitSolution>.residuals() -> List<Object>\nExample:\n# Use OrbitSolution.residuals on a OrbitSolution value\n   let value = orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun);\n   print value.residuals();","compact":"Method: OrbitSolution.residuals - returns per-observation residuals","search_text":"member:OrbitSolution.residuals residuals OrbitSolution.residuals method returns per-observation residuals <OrbitSolution>.residuals() -> List<Object>"},{"id":"member:OrbitSolution.children","name":"children","path":"OrbitSolution.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<OrbitSolution>.children() -> List"],"examples":["# Use OrbitSolution.children on a OrbitSolution value\nlet value = orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun);\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: OrbitSolution.children - lists child fields and callable members available on this value\nSyntax:\n  <OrbitSolution>.children() -> List\nExample:\n# Use OrbitSolution.children on a OrbitSolution value\n   let value = orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun);\n   print value.children();","compact":"Method: OrbitSolution.children - lists child fields and callable members available on this value","search_text":"member:OrbitSolution.children children OrbitSolution.children method lists child fields and callable members available on this value <OrbitSolution>.children() -> List"},{"id":"member:OrbitSolution.fields","name":"fields","path":"OrbitSolution.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<OrbitSolution>.fields() -> Object"],"examples":["# Use OrbitSolution.fields on a OrbitSolution value\nlet value = orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun);\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: OrbitSolution.fields - returns an object containing the value's plain fields\nSyntax:\n  <OrbitSolution>.fields() -> Object\nExample:\n# Use OrbitSolution.fields on a OrbitSolution value\n   let value = orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun);\n   print value.fields();","compact":"Method: OrbitSolution.fields - returns an object containing the value's plain fields","search_text":"member:OrbitSolution.fields fields OrbitSolution.fields method returns an object containing the value's plain fields <OrbitSolution>.fields() -> Object"},{"id":"member:OrbitSolution.functions","name":"functions","path":"OrbitSolution.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<OrbitSolution>.functions() -> List"],"examples":["# Use OrbitSolution.functions on a OrbitSolution value\nlet value = orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun);\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: OrbitSolution.functions - lists callable members available on this value\nSyntax:\n  <OrbitSolution>.functions() -> List\nExample:\n# Use OrbitSolution.functions on a OrbitSolution value\n   let value = orbit_determination([observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,3),ra:131.0857742519269,dec:18.803678151005595),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,7,23),ra:135.0300892722528,dec:18.040162341691612),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,8,12),ra:139.04202357010908,dec:17.175191580463146),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,1),ra:142.9726130958044,dec:16.26645304942825),observation(location(latitude:59.91,longitude:10.75).observer(height:0),time(2028,9,21),ra:146.67383907727944,dec:15.384398529605518)],central:sun);\n   print value.functions();","compact":"Method: OrbitSolution.functions - lists callable members available on this value","search_text":"member:OrbitSolution.functions functions OrbitSolution.functions method lists callable members available on this value <OrbitSolution>.functions() -> List"},{"id":"type:Shadow","name":"Shadow","path":"Shadow","kind":"type","aliases":[],"description":"instantaneous sunlight shadow geometry for one body on another","syntax":["shadow() -> Shadow"],"examples":["# Compute a Moon shadow state on Earth\nlet t = time(2024,4,8,18,40,0);\nlet sh = state(earth, t).shadow(moon);\nprint sh.surface.name, sh.blocker.name, sh.distance();"],"arguments":[],"children":["field:Shadow.surface","field:Shadow.blocker","field:Shadow.source","field:Shadow.time","member:Shadow.sample","member:Shadow.occultation","member:Shadow.distance","member:Shadow.polygon","member:Shadow.limb","member:Shadow.children","member:Shadow.fields","member:Shadow.functions"],"resources":[],"doc":"Type: Shadow - instantaneous sunlight shadow geometry for one body on another\nSyntax:\n  shadow() -> Shadow\nChildren: surface, blocker, source, time, sample(), occultation(), distance(), polygon(), limb(), children(), fields(), functions()\nExample:\n# Compute a Moon shadow state on Earth\n   let t = time(2024,4,8,18,40,0);\n   let sh = state(earth, t).shadow(moon);\n   print sh.surface.name, sh.blocker.name, sh.distance();","compact":"Type: Shadow - instantaneous sunlight shadow geometry for one body on another","search_text":"type:Shadow Shadow Shadow type instantaneous sunlight shadow geometry for one body on another shadow() -> Shadow"},{"id":"field:Shadow.surface","name":"surface","path":"Shadow.surface","kind":"field","aliases":[],"description":"body receiving the shadow","syntax":["<Shadow>.surface -> Body"],"examples":["# Read the surface field from a Shadow value\nprint state(earth, time(2024,4,8,18,40,0)).shadow(moon).surface;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Shadow.surface - body receiving the shadow\nSyntax:\n  <Shadow>.surface -> Body\nExample:\n# Read the surface field from a Shadow value\n   print state(earth, time(2024,4,8,18,40,0)).shadow(moon).surface;","compact":"Field: Shadow.surface - body receiving the shadow","search_text":"field:Shadow.surface surface Shadow.surface field body receiving the shadow <Shadow>.surface -> Body"},{"id":"field:Shadow.blocker","name":"blocker","path":"Shadow.blocker","kind":"field","aliases":[],"description":"body casting the shadow","syntax":["<Shadow>.blocker -> Body"],"examples":["# Read the blocker field from a Shadow value\nprint state(earth, time(2024,4,8,18,40,0)).shadow(moon).blocker;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Shadow.blocker - body casting the shadow\nSyntax:\n  <Shadow>.blocker -> Body\nExample:\n# Read the blocker field from a Shadow value\n   print state(earth, time(2024,4,8,18,40,0)).shadow(moon).blocker;","compact":"Field: Shadow.blocker - body casting the shadow","search_text":"field:Shadow.blocker blocker Shadow.blocker field body casting the shadow <Shadow>.blocker -> Body"},{"id":"field:Shadow.source","name":"source","path":"Shadow.source","kind":"field","aliases":[],"description":"light source; currently the Sun","syntax":["<Shadow>.source -> Body"],"examples":["# Read the source field from a Shadow value\nprint state(earth, time(2024,4,8,18,40,0)).shadow(moon).source;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Shadow.source - light source; currently the Sun\nSyntax:\n  <Shadow>.source -> Body\nExample:\n# Read the source field from a Shadow value\n   print state(earth, time(2024,4,8,18,40,0)).shadow(moon).source;","compact":"Field: Shadow.source - light source; currently the Sun","search_text":"field:Shadow.source source Shadow.source field light source; currently the Sun <Shadow>.source -> Body"},{"id":"field:Shadow.time","name":"time","path":"Shadow.time","kind":"field","aliases":[],"description":"time of the shadow geometry","syntax":["<Shadow>.time -> Time"],"examples":["# Read the time field from a Shadow value\nprint state(earth, time(2024,4,8,18,40,0)).shadow(moon).time;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Shadow.time - time of the shadow geometry\nSyntax:\n  <Shadow>.time -> Time\nExample:\n# Read the time field from a Shadow value\n   print state(earth, time(2024,4,8,18,40,0)).shadow(moon).time;","compact":"Field: Shadow.time - time of the shadow geometry","search_text":"field:Shadow.time time Shadow.time field time of the shadow geometry <Shadow>.time -> Time"},{"id":"member:Shadow.sample","name":"sample","path":"Shadow.sample","kind":"method","aliases":[],"description":"samples this shadow at a location or observer","syntax":["<Shadow>.sample(location: Location|Observer) -> Object"],"examples":["# Sample this shadow at an explicit observer\nlet t = time(2024,4,8,18,40,0);\nlet obs = location(latitude: 32.7767, longitude: -96.7970).observer();\nlet sh = state(earth, t).shadow(moon);\nprint sh.sample(obs);"],"arguments":[{"name":"location","type":"Location|Observer","required":true,"description":"surface location or observer to sample"}],"children":[],"resources":[],"doc":"Method: Shadow.sample - samples this shadow at a location or observer\nSyntax:\n  <Shadow>.sample(location: Location|Observer) -> Object\nArguments:\n  location: Location|Observer - surface location or observer to sample\nExample:\n# Sample this shadow at an explicit observer\n   let t = time(2024,4,8,18,40,0);\n   let obs = location(latitude: 32.7767, longitude: -96.7970).observer();\n   let sh = state(earth, t).shadow(moon);\n   print sh.sample(obs);","compact":"Method: Shadow.sample - samples this shadow at a location or observer","search_text":"member:Shadow.sample sample Shadow.sample method samples this shadow at a location or observer <Shadow>.sample(location: Location|Observer) -> Object location Location|Observer surface location or observer to sample"},{"id":"member:Shadow.occultation","name":"occultation","path":"Shadow.occultation","kind":"method","aliases":[],"description":"returns a low-level local solar-disc occultation scalar","syntax":["<Shadow>.occultation(location: Location|Observer, lunar_limb: List) -> Number"],"examples":["# Use Shadow.occultation on a Shadow value\nlet value = state(earth, time(2024,4,8,18,40,0)).shadow(moon);\nprint value.occultation(location(latitude: 60.0, longitude: 270.0));"],"arguments":[{"name":"location","type":"Location|Observer","required":true,"description":"surface location or observer to evaluate"},{"name":"lunar_limb","type":"List","required":false,"description":"optional precomputed lunar limb profile from `state(moon,time).limb(...)`"}],"children":[],"resources":[],"doc":"Method: Shadow.occultation - returns a low-level local solar-disc occultation scalar\nSyntax:\n  <Shadow>.occultation(location: Location|Observer, lunar_limb: List) -> Number\nArguments:\n  location: Location|Observer - surface location or observer to evaluate\n  lunar_limb: List [optional] - optional precomputed lunar limb profile from `state(moon,time).limb(...)`\nExample:\n# Use Shadow.occultation on a Shadow value\n   let value = state(earth, time(2024,4,8,18,40,0)).shadow(moon);\n   print value.occultation(location(latitude: 60.0, longitude: 270.0));","compact":"Method: Shadow.occultation - returns a low-level local solar-disc occultation scalar","search_text":"member:Shadow.occultation occultation Shadow.occultation method returns a low-level local solar-disc occultation scalar <Shadow>.occultation(location: Location|Observer, lunar_limb: List) -> Number location Location|Observer surface location or observer to evaluate lunar_limb List optional precomputed lunar limb profile from `state(moon,time).limb(...)`"},{"id":"member:Shadow.distance","name":"distance","path":"Shadow.distance","kind":"method","aliases":[],"description":"returns signed global shadow clearance","syntax":["<Shadow>.distance() -> Number"],"examples":["# Use Shadow.distance on a Shadow value\nlet value = state(earth, time(2024,4,8,18,40,0)).shadow(moon);\nprint value.distance();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Shadow.distance - returns signed global shadow clearance\nSyntax:\n  <Shadow>.distance() -> Number\nExample:\n# Use Shadow.distance on a Shadow value\n   let value = state(earth, time(2024,4,8,18,40,0)).shadow(moon);\n   print value.distance();","compact":"Method: Shadow.distance - returns signed global shadow clearance","search_text":"member:Shadow.distance distance Shadow.distance method returns signed global shadow clearance <Shadow>.distance() -> Number"},{"id":"member:Shadow.polygon","name":"polygon","path":"Shadow.polygon","kind":"method","aliases":[],"description":"binary-searches a daylight-clipped shadow border polygon around the eclipse center","syntax":["<Shadow>.polygon(samples: Number, spacing_km: Number, spacing_degrees: Number, deviation: Number, magnitude: Number, kind: Text, lunar_limb: List, topography: Field, height: Number) -> Polygon|Unavailable"],"examples":["# Use Shadow.polygon on a Shadow value\nlet value = state(earth, time(2024,4,8,18,40,0)).shadow(moon);\nprint value.polygon();"],"arguments":[{"name":"samples","type":"Number","required":false,"description":"optional fixed number of border rays; omitted uses adaptive sampling"},{"name":"spacing_km","type":"Number","required":false,"description":"adaptive target great-circle spacing between polygon vertices, in km"},{"name":"spacing_degrees","type":"Number","required":false,"description":"adaptive target great-circle spacing between polygon vertices, in degrees"},{"name":"deviation","type":"Number","required":false,"description":"adaptive maximum midpoint deviation from the segment, in degrees; `error` is an alias"},{"name":"magnitude","type":"Number","required":false,"description":"optional eclipse magnitude threshold between 0 and 1; can also be positional"},{"name":"kind","type":"Text","required":false,"description":"optional contour kind: `total` or `annular`; can also be positional"},{"name":"lunar_limb","type":"List","required":false,"description":"precomputed lunar limb profile from `state(moon,time).limb(...)`; only valid for totality contours"},{"name":"topography","type":"Field","required":false,"description":"optional body-matching topography field, for example `topography(earth)`"},{"name":"height","type":"Number","required":false,"description":"observer height in km above the datum or supplied topography; `observer_height` is an alias"}],"children":[],"resources":[],"doc":"Method: Shadow.polygon - binary-searches a daylight-clipped shadow border polygon around the eclipse center\nSyntax:\n  <Shadow>.polygon(samples: Number, spacing_km: Number, spacing_degrees: Number, deviation: Number, magnitude: Number, kind: Text, lunar_limb: List, topography: Field, height: Number) -> Polygon|Unavailable\nArguments:\n  samples: Number [optional] - optional fixed number of border rays; omitted uses adaptive sampling\n  spacing_km: Number [optional] - adaptive target great-circle spacing between polygon vertices, in km\n  spacing_degrees: Number [optional] - adaptive target great-circle spacing between polygon vertices, in degrees\n  deviation: Number [optional] - adaptive maximum midpoint deviation from the segment, in degrees; `error` is an alias\n  magnitude: Number [optional] - optional eclipse magnitude threshold between 0 and 1; can also be positional\n  kind: Text [optional] - optional contour kind: `total` or `annular`; can also be positional\n  lunar_limb: List [optional] - precomputed lunar limb profile from `state(moon,time).limb(...)`; only valid for totality contours\n  topography: Field [optional] - optional body-matching topography field, for example `topography(earth)`\n  height: Number [optional] - observer height in km above the datum or supplied topography; `observer_height` is an alias\nExample:\n# Use Shadow.polygon on a Shadow value\n   let value = state(earth, time(2024,4,8,18,40,0)).shadow(moon);\n   print value.polygon();","compact":"Method: Shadow.polygon - binary-searches a daylight-clipped shadow border polygon around the eclipse center","search_text":"member:Shadow.polygon polygon Shadow.polygon method binary-searches a daylight-clipped shadow border polygon around the eclipse center <Shadow>.polygon(samples: Number, spacing_km: Number, spacing_degrees: Number, deviation: Number, magnitude: Number, kind: Text, lunar_limb: List, topography: Field, height: Number) -> Polygon|Unavailable samples Number optional fixed number of border rays; omitted uses adaptive sampling spacing_km Number adaptive target great-circle spacing between polygon vertices, in km spacing_degrees Number adaptive target great-circle spacing between polygon vertices, in degrees deviation Number adaptive maximum midpoint deviation from the segment, in degrees; `error` is an alias magnitude Number optional eclipse magnitude threshold between 0 and 1; can also be positional kind Text optional contour kind: `total` or `annular`; can also be positional lunar_limb List precomputed lunar limb profile from `state(moon,time).limb(...)`; only valid for totality contours topography Field optional body-matching topography field, for example `topography(earth)` height Number observer height in km above the datum or supplied topography; `observer_height` is an alias"},{"id":"member:Shadow.limb","name":"limb","path":"Shadow.limb","kind":"method","aliases":[],"description":"projects a precomputed lunar limb profile onto the Earth shadow map","syntax":["<Shadow>.limb(lunar_limb: List, scale: Number) -> Polygon|Unavailable"],"examples":["# Project a precomputed lunar limb profile onto an eclipse shadow\nlet t = time(2024,4,8,18,40,0);\nlet loc = location(latitude: 32.7767, longitude: -96.7970);\nlet limb = state(moon, t).limb(loc, 8);\nlet sh = state(earth, t).shadow(moon);\nprint sh.limb(limb, scale: 1).available();"],"arguments":[{"name":"lunar_limb","type":"List","required":true,"description":"precomputed lunar limb profile from `state(moon,time).limb(...)`"},{"name":"scale","type":"Number","required":false,"description":"non-negative exaggeration factor for lunar-radius deviations from the mean limb"}],"children":[],"resources":[],"doc":"Method: Shadow.limb - projects a precomputed lunar limb profile onto the Earth shadow map\nSyntax:\n  <Shadow>.limb(lunar_limb: List, scale: Number) -> Polygon|Unavailable\nArguments:\n  lunar_limb: List - precomputed lunar limb profile from `state(moon,time).limb(...)`\n  scale: Number [optional] - non-negative exaggeration factor for lunar-radius deviations from the mean limb\nExample:\n# Project a precomputed lunar limb profile onto an eclipse shadow\n   let t = time(2024,4,8,18,40,0);\n   let loc = location(latitude: 32.7767, longitude: -96.7970);\n   let limb = state(moon, t).limb(loc, 8);\n   let sh = state(earth, t).shadow(moon);\n   print sh.limb(limb, scale: 1).available();","compact":"Method: Shadow.limb - projects a precomputed lunar limb profile onto the Earth shadow map","search_text":"member:Shadow.limb limb Shadow.limb method projects a precomputed lunar limb profile onto the Earth shadow map <Shadow>.limb(lunar_limb: List, scale: Number) -> Polygon|Unavailable lunar_limb List precomputed lunar limb profile from `state(moon,time).limb(...)` scale Number non-negative exaggeration factor for lunar-radius deviations from the mean limb"},{"id":"member:Shadow.children","name":"children","path":"Shadow.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Shadow>.children() -> List"],"examples":["# Use Shadow.children on a Shadow value\nlet value = state(earth, time(2024,4,8,18,40,0)).shadow(moon);\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Shadow.children - lists child fields and callable members available on this value\nSyntax:\n  <Shadow>.children() -> List\nExample:\n# Use Shadow.children on a Shadow value\n   let value = state(earth, time(2024,4,8,18,40,0)).shadow(moon);\n   print value.children();","compact":"Method: Shadow.children - lists child fields and callable members available on this value","search_text":"member:Shadow.children children Shadow.children method lists child fields and callable members available on this value <Shadow>.children() -> List"},{"id":"member:Shadow.fields","name":"fields","path":"Shadow.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Shadow>.fields() -> Object"],"examples":["# Use Shadow.fields on a Shadow value\nlet value = state(earth, time(2024,4,8,18,40,0)).shadow(moon);\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Shadow.fields - returns an object containing the value's plain fields\nSyntax:\n  <Shadow>.fields() -> Object\nExample:\n# Use Shadow.fields on a Shadow value\n   let value = state(earth, time(2024,4,8,18,40,0)).shadow(moon);\n   print value.fields();","compact":"Method: Shadow.fields - returns an object containing the value's plain fields","search_text":"member:Shadow.fields fields Shadow.fields method returns an object containing the value's plain fields <Shadow>.fields() -> Object"},{"id":"member:Shadow.functions","name":"functions","path":"Shadow.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Shadow>.functions() -> List"],"examples":["# Use Shadow.functions on a Shadow value\nlet value = state(earth, time(2024,4,8,18,40,0)).shadow(moon);\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Shadow.functions - lists callable members available on this value\nSyntax:\n  <Shadow>.functions() -> List\nExample:\n# Use Shadow.functions on a Shadow value\n   let value = state(earth, time(2024,4,8,18,40,0)).shadow(moon);\n   print value.functions();","compact":"Method: Shadow.functions - lists callable members available on this value","search_text":"member:Shadow.functions functions Shadow.functions method lists callable members available on this value <Shadow>.functions() -> List"},{"id":"type:Heading","name":"Heading","path":"Heading","kind":"type","aliases":[],"description":"compass heading measured clockwise from north","syntax":["heading(azimuth: Number|Text, unit: Unit) -> Heading"],"examples":["# Convert a compass heading into degrees\nlet h = heading(\"southeast\");\nprint h.azimuth(deg);"],"arguments":[{"name":"azimuth","type":"Number|Text","required":true,"description":"degrees clockwise from north, or a compass name such as \"nw\""},{"name":"unit","type":"Unit","required":false,"description":"optional angle unit for numeric headings; degrees are default"}],"children":["field:Heading.azimuth_degrees","field:Heading.long_name","field:Heading.short_name","member:Heading.azimuth","member:Heading.long","member:Heading.short","member:Heading.vector","member:Heading.children","member:Heading.fields","member:Heading.functions"],"resources":[],"doc":"Type: Heading - compass heading measured clockwise from north\nSyntax:\n  heading(azimuth: Number|Text, unit: Unit) -> Heading\nArguments:\n  azimuth: Number|Text - degrees clockwise from north, or a compass name such as \"nw\"\n  unit: Unit [optional] - optional angle unit for numeric headings; degrees are default\nChildren: azimuth_degrees, long_name, short_name, azimuth(), long(), short(), vector(), children(), fields(), functions()\nExample:\n# Convert a compass heading into degrees\n   let h = heading(\"southeast\");\n   print h.azimuth(deg);","compact":"Type: Heading - compass heading measured clockwise from north","search_text":"type:Heading Heading Heading type compass heading measured clockwise from north heading(azimuth: Number|Text, unit: Unit) -> Heading azimuth Number|Text degrees clockwise from north, or a compass name such as \"nw\" unit Unit optional angle unit for numeric headings; degrees are default"},{"id":"field:Heading.azimuth_degrees","name":"azimuth_degrees","path":"Heading.azimuth_degrees","kind":"field","aliases":[],"description":"compass azimuth in degrees clockwise from north","syntax":["<Heading>.azimuth_degrees -> Number"],"examples":["# Read the azimuth_degrees field from a Heading value\nprint heading(135.0).azimuth_degrees;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Heading.azimuth_degrees - compass azimuth in degrees clockwise from north\nSyntax:\n  <Heading>.azimuth_degrees -> Number\nExample:\n# Read the azimuth_degrees field from a Heading value\n   print heading(135.0).azimuth_degrees;","compact":"Field: Heading.azimuth_degrees - compass azimuth in degrees clockwise from north","search_text":"field:Heading.azimuth_degrees azimuth_degrees Heading.azimuth_degrees field compass azimuth in degrees clockwise from north <Heading>.azimuth_degrees -> Number"},{"id":"field:Heading.long_name","name":"long_name","path":"Heading.long_name","kind":"field","aliases":[],"description":"long 16-wind compass name","syntax":["<Heading>.long_name -> Text"],"examples":["# Read the long_name field from a Heading value\nprint heading(135.0).long_name;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Heading.long_name - long 16-wind compass name\nSyntax:\n  <Heading>.long_name -> Text\nExample:\n# Read the long_name field from a Heading value\n   print heading(135.0).long_name;","compact":"Field: Heading.long_name - long 16-wind compass name","search_text":"field:Heading.long_name long_name Heading.long_name field long 16-wind compass name <Heading>.long_name -> Text"},{"id":"field:Heading.short_name","name":"short_name","path":"Heading.short_name","kind":"field","aliases":[],"description":"short lowercase 16-wind compass name","syntax":["<Heading>.short_name -> Text"],"examples":["# Read the short_name field from a Heading value\nprint heading(135.0).short_name;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Heading.short_name - short lowercase 16-wind compass name\nSyntax:\n  <Heading>.short_name -> Text\nExample:\n# Read the short_name field from a Heading value\n   print heading(135.0).short_name;","compact":"Field: Heading.short_name - short lowercase 16-wind compass name","search_text":"field:Heading.short_name short_name Heading.short_name field short lowercase 16-wind compass name <Heading>.short_name -> Text"},{"id":"member:Heading.azimuth","name":"azimuth","path":"Heading.azimuth","kind":"method","aliases":[],"description":"returns azimuth clockwise from north","syntax":["<Heading>.azimuth(unit: Unit) -> Number"],"examples":["# Use Heading.azimuth on a Heading value\nlet value = heading(135.0);\nprint value.azimuth();"],"arguments":[{"name":"unit","type":"Unit","required":false,"description":"optional angle unit; degrees are default"}],"children":[],"resources":[],"doc":"Method: Heading.azimuth - returns azimuth clockwise from north\nSyntax:\n  <Heading>.azimuth(unit: Unit) -> Number\nArguments:\n  unit: Unit [optional] - optional angle unit; degrees are default\nExample:\n# Use Heading.azimuth on a Heading value\n   let value = heading(135.0);\n   print value.azimuth();","compact":"Method: Heading.azimuth - returns azimuth clockwise from north","search_text":"member:Heading.azimuth azimuth Heading.azimuth method returns azimuth clockwise from north <Heading>.azimuth(unit: Unit) -> Number unit Unit optional angle unit; degrees are default"},{"id":"member:Heading.long","name":"long","path":"Heading.long","kind":"method","aliases":[],"description":"returns the long 16-wind compass name","syntax":["<Heading>.long() -> Text"],"examples":["# Use Heading.long on a Heading value\nlet value = heading(135.0);\nprint value.long();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Heading.long - returns the long 16-wind compass name\nSyntax:\n  <Heading>.long() -> Text\nExample:\n# Use Heading.long on a Heading value\n   let value = heading(135.0);\n   print value.long();","compact":"Method: Heading.long - returns the long 16-wind compass name","search_text":"member:Heading.long long Heading.long method returns the long 16-wind compass name <Heading>.long() -> Text"},{"id":"member:Heading.short","name":"short","path":"Heading.short","kind":"method","aliases":[],"description":"returns the short 16-wind compass name","syntax":["<Heading>.short() -> Text"],"examples":["# Use Heading.short on a Heading value\nlet value = heading(135.0);\nprint value.short();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Heading.short - returns the short 16-wind compass name\nSyntax:\n  <Heading>.short() -> Text\nExample:\n# Use Heading.short on a Heading value\n   let value = heading(135.0);\n   print value.short();","compact":"Method: Heading.short - returns the short 16-wind compass name","search_text":"member:Heading.short short Heading.short method returns the short 16-wind compass name <Heading>.short() -> Text"},{"id":"member:Heading.vector","name":"vector","path":"Heading.vector","kind":"method","aliases":[],"description":"returns a local topographic direction vector","syntax":["<Heading>.vector(altitude: Number, zenith: Number, length: Number, radius: Number, unit: Unit) -> Vector"],"examples":["# Use Heading.vector on a Heading value\nlet value = heading(135.0);\nprint value.vector();"],"arguments":[{"name":"altitude","type":"Number","required":false,"description":"angle above the local horizon; degrees are default"},{"name":"zenith","type":"Number","required":false,"description":"angle down from local zenith; degrees are default"},{"name":"length","type":"Number","required":false,"description":"vector length; defaults to one"},{"name":"radius","type":"Number","required":false,"description":"alias for length"},{"name":"unit","type":"Unit","required":false,"description":"optional angle unit for altitude or zenith"}],"children":[],"resources":[],"doc":"Method: Heading.vector - returns a local topographic direction vector\nSyntax:\n  <Heading>.vector(altitude: Number, zenith: Number, length: Number, radius: Number, unit: Unit) -> Vector\nArguments:\n  altitude: Number [optional] - angle above the local horizon; degrees are default\n  zenith: Number [optional] - angle down from local zenith; degrees are default\n  length: Number [optional] - vector length; defaults to one\n  radius: Number [optional] - alias for length\n  unit: Unit [optional] - optional angle unit for altitude or zenith\nExample:\n# Use Heading.vector on a Heading value\n   let value = heading(135.0);\n   print value.vector();","compact":"Method: Heading.vector - returns a local topographic direction vector","search_text":"member:Heading.vector vector Heading.vector method returns a local topographic direction vector <Heading>.vector(altitude: Number, zenith: Number, length: Number, radius: Number, unit: Unit) -> Vector altitude Number angle above the local horizon; degrees are default zenith Number angle down from local zenith; degrees are default length Number vector length; defaults to one radius Number alias for length unit Unit optional angle unit for altitude or zenith"},{"id":"member:Heading.children","name":"children","path":"Heading.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Heading>.children() -> List"],"examples":["# Use Heading.children on a Heading value\nlet value = heading(135.0);\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Heading.children - lists child fields and callable members available on this value\nSyntax:\n  <Heading>.children() -> List\nExample:\n# Use Heading.children on a Heading value\n   let value = heading(135.0);\n   print value.children();","compact":"Method: Heading.children - lists child fields and callable members available on this value","search_text":"member:Heading.children children Heading.children method lists child fields and callable members available on this value <Heading>.children() -> List"},{"id":"member:Heading.fields","name":"fields","path":"Heading.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Heading>.fields() -> Object"],"examples":["# Use Heading.fields on a Heading value\nlet value = heading(135.0);\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Heading.fields - returns an object containing the value's plain fields\nSyntax:\n  <Heading>.fields() -> Object\nExample:\n# Use Heading.fields on a Heading value\n   let value = heading(135.0);\n   print value.fields();","compact":"Method: Heading.fields - returns an object containing the value's plain fields","search_text":"member:Heading.fields fields Heading.fields method returns an object containing the value's plain fields <Heading>.fields() -> Object"},{"id":"member:Heading.functions","name":"functions","path":"Heading.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Heading>.functions() -> List"],"examples":["# Use Heading.functions on a Heading value\nlet value = heading(135.0);\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Heading.functions - lists callable members available on this value\nSyntax:\n  <Heading>.functions() -> List\nExample:\n# Use Heading.functions on a Heading value\n   let value = heading(135.0);\n   print value.functions();","compact":"Method: Heading.functions - lists callable members available on this value","search_text":"member:Heading.functions functions Heading.functions method lists callable members available on this value <Heading>.functions() -> List"},{"id":"type:Direction","name":"Direction","path":"Direction","kind":"type","aliases":[],"description":"unit-sphere direction tagged with a coordinate frame","syntax":["direction(frame: Frame, ra: Number, dec: Number, azimuth: Number, altitude: Number, zenith: Number, unit: Unit) -> Direction"],"examples":["# Measure angular distance between two sky directions\nlet a = direction(ra: 40, dec: 10);\nlet b = direction(ra: 42, dec: 11);\nprint a.angular_distance(b);"],"arguments":[{"name":"frame","type":"Frame","required":false,"description":"coordinate frame, defaulting to icrf"},{"name":"ra","type":"Number","required":false,"description":"right ascension / longitude in degrees by default"},{"name":"dec","type":"Number","required":false,"description":"declination / latitude in degrees by default"},{"name":"azimuth","type":"Number","required":false,"description":"topographic azimuth clockwise from north; degrees are default"},{"name":"altitude","type":"Number","required":false,"description":"topographic altitude/elevation above the horizon; degrees are default"},{"name":"zenith","type":"Number","required":false,"description":"topographic angle down from local zenith; degrees are default"},{"name":"unit","type":"Unit","required":false,"description":"optional angle unit such as rad"}],"children":["field:Direction.frame","field:Direction.vector","field:Direction.ra","field:Direction.dec","member:Direction.to_frame","member:Direction.altaz","member:Direction.angular_distance","member:Direction.rise","member:Direction.set","member:Direction.transit","member:Direction.children","member:Direction.fields","member:Direction.functions"],"resources":[],"doc":"Type: Direction - unit-sphere direction tagged with a coordinate frame\nSyntax:\n  direction(frame: Frame, ra: Number, dec: Number, azimuth: Number, altitude: Number, zenith: Number, unit: Unit) -> Direction\nArguments:\n  frame: Frame [optional] - coordinate frame, defaulting to icrf\n  ra: Number [optional] - right ascension / longitude in degrees by default\n  dec: Number [optional] - declination / latitude in degrees by default\n  azimuth: Number [optional] - topographic azimuth clockwise from north; degrees are default\n  altitude: Number [optional] - topographic altitude/elevation above the horizon; degrees are default\n  zenith: Number [optional] - topographic angle down from local zenith; degrees are default\n  unit: Unit [optional] - optional angle unit such as rad\nChildren: frame, vector, ra, dec, to_frame(), altaz(), angular_distance(), rise(), set(), transit(), children(), fields(), functions()\nExample:\n# Measure angular distance between two sky directions\n   let a = direction(ra: 40, dec: 10);\n   let b = direction(ra: 42, dec: 11);\n   print a.angular_distance(b);","compact":"Type: Direction - unit-sphere direction tagged with a coordinate frame","search_text":"type:Direction Direction Direction type unit-sphere direction tagged with a coordinate frame direction(frame: Frame, ra: Number, dec: Number, azimuth: Number, altitude: Number, zenith: Number, unit: Unit) -> Direction frame Frame coordinate frame, defaulting to icrf ra Number right ascension / longitude in degrees by default dec Number declination / latitude in degrees by default azimuth Number topographic azimuth clockwise from north; degrees are default altitude Number topographic altitude/elevation above the horizon; degrees are default zenith Number topographic angle down from local zenith; degrees are default unit Unit optional angle unit such as rad"},{"id":"field:Direction.frame","name":"frame","path":"Direction.frame","kind":"field","aliases":[],"description":"coordinate frame for this direction","syntax":["<Direction>.frame -> Frame"],"examples":["# Read the frame field from a Direction value\nprint direction(ra: 42.0, dec: 18.0).frame;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Direction.frame - coordinate frame for this direction\nSyntax:\n  <Direction>.frame -> Frame\nExample:\n# Read the frame field from a Direction value\n   print direction(ra: 42.0, dec: 18.0).frame;","compact":"Field: Direction.frame - coordinate frame for this direction","search_text":"field:Direction.frame frame Direction.frame field coordinate frame for this direction <Direction>.frame -> Frame"},{"id":"field:Direction.vector","name":"vector","path":"Direction.vector","kind":"field","aliases":[],"description":"unit vector in the direction frame","syntax":["<Direction>.vector -> Vector"],"examples":["# Read the vector field from a Direction value\nprint direction(ra: 42.0, dec: 18.0).vector;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Direction.vector - unit vector in the direction frame\nSyntax:\n  <Direction>.vector -> Vector\nExample:\n# Read the vector field from a Direction value\n   print direction(ra: 42.0, dec: 18.0).vector;","compact":"Field: Direction.vector - unit vector in the direction frame","search_text":"field:Direction.vector vector Direction.vector field unit vector in the direction frame <Direction>.vector -> Vector"},{"id":"field:Direction.ra","name":"ra","path":"Direction.ra","kind":"field","aliases":[],"description":"right ascension / longitude in degrees","syntax":["<Direction>.ra -> Number"],"examples":["# Read the ra field from a Direction value\nprint direction(ra: 42.0, dec: 18.0).ra;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Direction.ra - right ascension / longitude in degrees\nSyntax:\n  <Direction>.ra -> Number\nExample:\n# Read the ra field from a Direction value\n   print direction(ra: 42.0, dec: 18.0).ra;","compact":"Field: Direction.ra - right ascension / longitude in degrees","search_text":"field:Direction.ra ra Direction.ra field right ascension / longitude in degrees <Direction>.ra -> Number"},{"id":"field:Direction.dec","name":"dec","path":"Direction.dec","kind":"field","aliases":[],"description":"declination / latitude in degrees","syntax":["<Direction>.dec -> Number"],"examples":["# Read the dec field from a Direction value\nprint direction(ra: 42.0, dec: 18.0).dec;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Direction.dec - declination / latitude in degrees\nSyntax:\n  <Direction>.dec -> Number\nExample:\n# Read the dec field from a Direction value\n   print direction(ra: 42.0, dec: 18.0).dec;","compact":"Field: Direction.dec - declination / latitude in degrees","search_text":"field:Direction.dec dec Direction.dec field declination / latitude in degrees <Direction>.dec -> Number"},{"id":"member:Direction.to_frame","name":"to_frame","path":"Direction.to_frame","kind":"method","aliases":[],"description":"converts this direction to another frame","syntax":["<Direction>.to_frame(frame: Frame, time: Time) -> Direction"],"examples":["# Use Direction.to_frame on a Direction value\nlet value = direction(ra: 42.0, dec: 18.0);\nprint value.to_frame(icrf);"],"arguments":[{"name":"frame","type":"Frame","required":true,"description":"target frame"},{"name":"time","type":"Time","required":false,"description":"time for time-dependent frame conversion"}],"children":[],"resources":[],"doc":"Method: Direction.to_frame - converts this direction to another frame\nSyntax:\n  <Direction>.to_frame(frame: Frame, time: Time) -> Direction\nArguments:\n  frame: Frame - target frame\n  time: Time [optional] - time for time-dependent frame conversion\nExample:\n# Use Direction.to_frame on a Direction value\n   let value = direction(ra: 42.0, dec: 18.0);\n   print value.to_frame(icrf);","compact":"Method: Direction.to_frame - converts this direction to another frame","search_text":"member:Direction.to_frame to_frame Direction.to_frame method converts this direction to another frame <Direction>.to_frame(frame: Frame, time: Time) -> Direction frame Frame target frame time Time time for time-dependent frame conversion"},{"id":"member:Direction.altaz","name":"altaz","path":"Direction.altaz","kind":"method","aliases":[],"description":"returns local altitude and azimuth for this direction","syntax":["<Direction>.altaz(observer: Location | Observer, time: Time) -> Object"],"examples":["# Convert an ICRF direction to local altitude and azimuth\nlet t = time(2026,1,1,0,0,0);\nlet loc = location(latitude: 60.0, longitude: 10.0);\nlet value = direction(ra: 42.0, dec: 18.0);\nprint value.altaz(t, loc);"],"arguments":[{"name":"observer","type":"Location | Observer","required":true,"description":"local observer; a location means zero height"},{"name":"time","type":"Time","required":false,"description":"time for time-dependent frame conversion"}],"children":[],"resources":[],"doc":"Method: Direction.altaz - returns local altitude and azimuth for this direction\nSyntax:\n  <Direction>.altaz(observer: Location | Observer, time: Time) -> Object\nArguments:\n  observer: Location | Observer - local observer; a location means zero height\n  time: Time [optional] - time for time-dependent frame conversion\nExample:\n# Convert an ICRF direction to local altitude and azimuth\n   let t = time(2026,1,1,0,0,0);\n   let loc = location(latitude: 60.0, longitude: 10.0);\n   let value = direction(ra: 42.0, dec: 18.0);\n   print value.altaz(t, loc);","compact":"Method: Direction.altaz - returns local altitude and azimuth for this direction","search_text":"member:Direction.altaz altaz Direction.altaz method returns local altitude and azimuth for this direction <Direction>.altaz(observer: Location | Observer, time: Time) -> Object observer Location | Observer local observer; a location means zero height time Time time for time-dependent frame conversion"},{"id":"member:Direction.angular_distance","name":"angular_distance","path":"Direction.angular_distance","kind":"method","aliases":[],"description":"returns angular separation from another point","syntax":["<Direction>.angular_distance(point: Direction | Location | Vector, time: Time, unit: Unit) -> Number"],"examples":["# Measure angular separation between two sky directions\nlet a = direction(ra: 42.0, dec: 18.0);\nlet b = direction(ra: 45.0, dec: 20.0);\nprint a.angular_distance(b);"],"arguments":[{"name":"point","type":"Direction | Location | Vector","required":true,"description":"other point on the sphere"},{"name":"time","type":"Time","required":false,"description":"time for time-dependent frame conversion"},{"name":"unit","type":"Unit","required":false,"description":"angle unit; degrees are used by default"}],"children":[],"resources":[],"doc":"Method: Direction.angular_distance - returns angular separation from another point\nSyntax:\n  <Direction>.angular_distance(point: Direction | Location | Vector, time: Time, unit: Unit) -> Number\nArguments:\n  point: Direction | Location | Vector - other point on the sphere\n  time: Time [optional] - time for time-dependent frame conversion\n  unit: Unit [optional] - angle unit; degrees are used by default\nExample:\n# Measure angular separation between two sky directions\n   let a = direction(ra: 42.0, dec: 18.0);\n   let b = direction(ra: 45.0, dec: 20.0);\n   print a.angular_distance(b);","compact":"Method: Direction.angular_distance - returns angular separation from another point","search_text":"member:Direction.angular_distance angular_distance Direction.angular_distance method returns angular separation from another point <Direction>.angular_distance(point: Direction | Location | Vector, time: Time, unit: Unit) -> Number point Direction | Location | Vector other point on the sphere time Time time for time-dependent frame conversion unit Unit angle unit; degrees are used by default"},{"id":"member:Direction.rise","name":"rise","path":"Direction.rise","kind":"method","aliases":[],"description":"returns when this direction rises for the observer","syntax":["<Direction>.rise(range: Range, observer: Location | Observer) -> List|Event|Nil"],"examples":["# Find when a sky direction rises for an explicit observer\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\nlet d = direction(ra: 42.0, dec: 18.0);\nprint d.rise(span, obs).first();"],"arguments":[{"name":"range","type":"Range","required":true,"description":"time range to search; bounded ranges return all events, open ranges return the next event"},{"name":"observer","type":"Location | Observer","required":true,"description":"local observer; a location means zero height"}],"children":[],"resources":[],"doc":"Method: Direction.rise - returns when this direction rises for the observer\nSyntax:\n  <Direction>.rise(range: Range, observer: Location | Observer) -> List|Event|Nil\nArguments:\n  range: Range - time range to search; bounded ranges return all events, open ranges return the next event\n  observer: Location | Observer - local observer; a location means zero height\nExample:\n# Find when a sky direction rises for an explicit observer\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\n   let d = direction(ra: 42.0, dec: 18.0);\n   print d.rise(span, obs).first();","compact":"Method: Direction.rise - returns when this direction rises for the observer","search_text":"member:Direction.rise rise Direction.rise method returns when this direction rises for the observer <Direction>.rise(range: Range, observer: Location | Observer) -> List|Event|Nil range Range time range to search; bounded ranges return all events, open ranges return the next event observer Location | Observer local observer; a location means zero height"},{"id":"member:Direction.set","name":"set","path":"Direction.set","kind":"method","aliases":[],"description":"returns when this direction sets for the observer","syntax":["<Direction>.set(range: Range, observer: Location | Observer) -> List|Event|Nil"],"examples":["# Find when a sky direction sets for an explicit observer\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\nlet d = direction(ra: 42.0, dec: 18.0);\nprint d.set(span, obs).first();"],"arguments":[{"name":"range","type":"Range","required":true,"description":"time range to search; bounded ranges return all events, open ranges return the next event"},{"name":"observer","type":"Location | Observer","required":true,"description":"local observer; a location means zero height"}],"children":[],"resources":[],"doc":"Method: Direction.set - returns when this direction sets for the observer\nSyntax:\n  <Direction>.set(range: Range, observer: Location | Observer) -> List|Event|Nil\nArguments:\n  range: Range - time range to search; bounded ranges return all events, open ranges return the next event\n  observer: Location | Observer - local observer; a location means zero height\nExample:\n# Find when a sky direction sets for an explicit observer\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\n   let d = direction(ra: 42.0, dec: 18.0);\n   print d.set(span, obs).first();","compact":"Method: Direction.set - returns when this direction sets for the observer","search_text":"member:Direction.set set Direction.set method returns when this direction sets for the observer <Direction>.set(range: Range, observer: Location | Observer) -> List|Event|Nil range Range time range to search; bounded ranges return all events, open ranges return the next event observer Location | Observer local observer; a location means zero height"},{"id":"member:Direction.transit","name":"transit","path":"Direction.transit","kind":"method","aliases":[],"description":"returns upper culmination events for this direction","syntax":["<Direction>.transit(range: Range, observer: Location | Observer) -> List|Event|Nil"],"examples":["# Use Direction.transit on a Direction value\nlet value = direction(ra: 42.0, dec: 18.0);\nprint value.transit(range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0));"],"arguments":[{"name":"range","type":"Range","required":true,"description":"time range to search; bounded ranges return all events, open ranges return the next event"},{"name":"observer","type":"Location | Observer","required":true,"description":"local observer; a location means zero height"}],"children":[],"resources":[],"doc":"Method: Direction.transit - returns upper culmination events for this direction\nSyntax:\n  <Direction>.transit(range: Range, observer: Location | Observer) -> List|Event|Nil\nArguments:\n  range: Range - time range to search; bounded ranges return all events, open ranges return the next event\n  observer: Location | Observer - local observer; a location means zero height\nExample:\n# Use Direction.transit on a Direction value\n   let value = direction(ra: 42.0, dec: 18.0);\n   print value.transit(range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0));","compact":"Method: Direction.transit - returns upper culmination events for this direction","search_text":"member:Direction.transit transit Direction.transit method returns upper culmination events for this direction <Direction>.transit(range: Range, observer: Location | Observer) -> List|Event|Nil range Range time range to search; bounded ranges return all events, open ranges return the next event observer Location | Observer local observer; a location means zero height"},{"id":"member:Direction.children","name":"children","path":"Direction.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Direction>.children() -> List"],"examples":["# Use Direction.children on a Direction value\nlet value = direction(ra: 42.0, dec: 18.0);\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Direction.children - lists child fields and callable members available on this value\nSyntax:\n  <Direction>.children() -> List\nExample:\n# Use Direction.children on a Direction value\n   let value = direction(ra: 42.0, dec: 18.0);\n   print value.children();","compact":"Method: Direction.children - lists child fields and callable members available on this value","search_text":"member:Direction.children children Direction.children method lists child fields and callable members available on this value <Direction>.children() -> List"},{"id":"member:Direction.fields","name":"fields","path":"Direction.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Direction>.fields() -> Object"],"examples":["# Use Direction.fields on a Direction value\nlet value = direction(ra: 42.0, dec: 18.0);\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Direction.fields - returns an object containing the value's plain fields\nSyntax:\n  <Direction>.fields() -> Object\nExample:\n# Use Direction.fields on a Direction value\n   let value = direction(ra: 42.0, dec: 18.0);\n   print value.fields();","compact":"Method: Direction.fields - returns an object containing the value's plain fields","search_text":"member:Direction.fields fields Direction.fields method returns an object containing the value's plain fields <Direction>.fields() -> Object"},{"id":"member:Direction.functions","name":"functions","path":"Direction.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Direction>.functions() -> List"],"examples":["# Use Direction.functions on a Direction value\nlet value = direction(ra: 42.0, dec: 18.0);\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Direction.functions - lists callable members available on this value\nSyntax:\n  <Direction>.functions() -> List\nExample:\n# Use Direction.functions on a Direction value\n   let value = direction(ra: 42.0, dec: 18.0);\n   print value.functions();","compact":"Method: Direction.functions - lists callable members available on this value","search_text":"member:Direction.functions functions Direction.functions method lists callable members available on this value <Direction>.functions() -> List"},{"id":"type:Polygon","name":"Polygon","path":"Polygon","kind":"type","aliases":[],"description":"right-handed spherical polygon with great-circle edges","syntax":["polygon(frame: Frame, vertices: List, time: Time) -> Polygon"],"examples":["# Test whether a sky direction falls inside a polygon\nlet vertices = [direction(ra: 40, dec: 10), direction(ra: 50, dec: 10), direction(ra: 50, dec: 20), direction(ra: 40, dec: 20)];\nlet area = polygon(icrf, time(2026,1,1,0,0,0), vertices);\nprint area.inside(direction(ra: 45, dec: 15)), area.area();"],"arguments":[{"name":"frame","type":"Frame","required":false,"description":"coordinate frame for the polygon vertices"},{"name":"vertices","type":"List","required":true,"description":"right-handed vertex list with great-circle edges"},{"name":"time","type":"Time","required":false,"description":"time used when converting vertices between frames"}],"children":["field:Polygon.frame","field:Polygon.count","field:Polygon.vertices","member:Polygon.invert","member:Polygon.to_frame","member:Polygon.inside","member:Polygon.area","member:Polygon.signed_area","member:Polygon.winding","member:Polygon.lonlat","member:Polygon.lonlat_unwrapped","member:Polygon.lonlat_diagnostic","member:Polygon.children","member:Polygon.fields","member:Polygon.functions"],"resources":[],"doc":"Type: Polygon - right-handed spherical polygon with great-circle edges\nSyntax:\n  polygon(frame: Frame, vertices: List, time: Time) -> Polygon\nArguments:\n  frame: Frame [optional] - coordinate frame for the polygon vertices\n  vertices: List - right-handed vertex list with great-circle edges\n  time: Time [optional] - time used when converting vertices between frames\nChildren: frame, count, vertices, invert(), to_frame(), inside(), area(), signed_area(), winding(), lonlat(), lonlat_unwrapped(), lonlat_diagnostic(), children(), fields(), functions()\nExample:\n# Test whether a sky direction falls inside a polygon\n   let vertices = [direction(ra: 40, dec: 10), direction(ra: 50, dec: 10), direction(ra: 50, dec: 20), direction(ra: 40, dec: 20)];\n   let area = polygon(icrf, time(2026,1,1,0,0,0), vertices);\n   print area.inside(direction(ra: 45, dec: 15)), area.area();","compact":"Type: Polygon - right-handed spherical polygon with great-circle edges","search_text":"type:Polygon Polygon Polygon type right-handed spherical polygon with great-circle edges polygon(frame: Frame, vertices: List, time: Time) -> Polygon frame Frame coordinate frame for the polygon vertices vertices List right-handed vertex list with great-circle edges time Time time used when converting vertices between frames"},{"id":"field:Polygon.frame","name":"frame","path":"Polygon.frame","kind":"field","aliases":[],"description":"coordinate frame for polygon vertices","syntax":["<Polygon>.frame -> Frame"],"examples":["# Read the frame field from a Polygon value\nprint polygon(vertices: [direction(ra: 42.0, dec: 18.0), direction(ra: 90.0, dec: 20.0), direction(ra: 150.0, dec: 55.0)]).frame;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Polygon.frame - coordinate frame for polygon vertices\nSyntax:\n  <Polygon>.frame -> Frame\nExample:\n# Read the frame field from a Polygon value\n   print polygon(vertices: [direction(ra: 42.0, dec: 18.0), direction(ra: 90.0, dec: 20.0), direction(ra: 150.0, dec: 55.0)]).frame;","compact":"Field: Polygon.frame - coordinate frame for polygon vertices","search_text":"field:Polygon.frame frame Polygon.frame field coordinate frame for polygon vertices <Polygon>.frame -> Frame"},{"id":"field:Polygon.count","name":"count","path":"Polygon.count","kind":"field","aliases":[],"description":"number of vertices","syntax":["<Polygon>.count -> Number"],"examples":["# Read the count field from a Polygon value\nprint polygon(vertices: [direction(ra: 42.0, dec: 18.0), direction(ra: 90.0, dec: 20.0), direction(ra: 150.0, dec: 55.0)]).count;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Polygon.count - number of vertices\nSyntax:\n  <Polygon>.count -> Number\nExample:\n# Read the count field from a Polygon value\n   print polygon(vertices: [direction(ra: 42.0, dec: 18.0), direction(ra: 90.0, dec: 20.0), direction(ra: 150.0, dec: 55.0)]).count;","compact":"Field: Polygon.count - number of vertices","search_text":"field:Polygon.count count Polygon.count field number of vertices <Polygon>.count -> Number"},{"id":"field:Polygon.vertices","name":"vertices","path":"Polygon.vertices","kind":"field","aliases":[],"description":"vertices as Direction values in the polygon frame","syntax":["<Polygon>.vertices -> List"],"examples":["# Read the vertices field from a Polygon value\nprint polygon(vertices: [direction(ra: 42.0, dec: 18.0), direction(ra: 90.0, dec: 20.0), direction(ra: 150.0, dec: 55.0)]).vertices;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Polygon.vertices - vertices as Direction values in the polygon frame\nSyntax:\n  <Polygon>.vertices -> List\nExample:\n# Read the vertices field from a Polygon value\n   print polygon(vertices: [direction(ra: 42.0, dec: 18.0), direction(ra: 90.0, dec: 20.0), direction(ra: 150.0, dec: 55.0)]).vertices;","compact":"Field: Polygon.vertices - vertices as Direction values in the polygon frame","search_text":"field:Polygon.vertices vertices Polygon.vertices field vertices as Direction values in the polygon frame <Polygon>.vertices -> List"},{"id":"member:Polygon.invert","name":"invert","path":"Polygon.invert","kind":"method","aliases":[],"description":"reverses the polygon orientation","syntax":["<Polygon>.invert() -> Polygon"],"examples":["# Use Polygon.invert on a Polygon value\nlet value = polygon(vertices: [direction(ra: 42.0, dec: 18.0), direction(ra: 90.0, dec: 20.0), direction(ra: 150.0, dec: 55.0)]);\nprint value.invert();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Polygon.invert - reverses the polygon orientation\nSyntax:\n  <Polygon>.invert() -> Polygon\nExample:\n# Use Polygon.invert on a Polygon value\n   let value = polygon(vertices: [direction(ra: 42.0, dec: 18.0), direction(ra: 90.0, dec: 20.0), direction(ra: 150.0, dec: 55.0)]);\n   print value.invert();","compact":"Method: Polygon.invert - reverses the polygon orientation","search_text":"member:Polygon.invert invert Polygon.invert method reverses the polygon orientation <Polygon>.invert() -> Polygon"},{"id":"member:Polygon.to_frame","name":"to_frame","path":"Polygon.to_frame","kind":"method","aliases":[],"description":"converts all polygon vertices to another frame","syntax":["<Polygon>.to_frame(frame: Frame, time: Time) -> Polygon"],"examples":["# Use Polygon.to_frame on a Polygon value\nlet value = polygon(vertices: [direction(ra: 42.0, dec: 18.0), direction(ra: 90.0, dec: 20.0), direction(ra: 150.0, dec: 55.0)]);\nprint value.to_frame(icrf);"],"arguments":[{"name":"frame","type":"Frame","required":true,"description":"target frame"},{"name":"time","type":"Time","required":false,"description":"time for time-dependent frame conversion"}],"children":[],"resources":[],"doc":"Method: Polygon.to_frame - converts all polygon vertices to another frame\nSyntax:\n  <Polygon>.to_frame(frame: Frame, time: Time) -> Polygon\nArguments:\n  frame: Frame - target frame\n  time: Time [optional] - time for time-dependent frame conversion\nExample:\n# Use Polygon.to_frame on a Polygon value\n   let value = polygon(vertices: [direction(ra: 42.0, dec: 18.0), direction(ra: 90.0, dec: 20.0), direction(ra: 150.0, dec: 55.0)]);\n   print value.to_frame(icrf);","compact":"Method: Polygon.to_frame - converts all polygon vertices to another frame","search_text":"member:Polygon.to_frame to_frame Polygon.to_frame method converts all polygon vertices to another frame <Polygon>.to_frame(frame: Frame, time: Time) -> Polygon frame Frame target frame time Time time for time-dependent frame conversion"},{"id":"member:Polygon.inside","name":"inside","path":"Polygon.inside","kind":"method","aliases":[],"description":"tests whether a point lies inside the right-handed polygon","syntax":["<Polygon>.inside(point: Direction | Location | Vector, time: Time) -> Bool"],"examples":["# Test whether a sky direction falls inside a polygon\nlet t = time(2026,1,1,0,0,0);\nlet vertices = [direction(ra: 40, dec: 10), direction(ra: 50, dec: 10), direction(ra: 50, dec: 20), direction(ra: 40, dec: 20)];\nlet p = polygon(icrf, t, vertices);\nprint p.inside(direction(ra: 45, dec: 15));"],"arguments":[{"name":"point","type":"Direction | Location | Vector","required":true,"description":"point to test or measure"},{"name":"time","type":"Time","required":false,"description":"time for time-dependent frame conversion"}],"children":[],"resources":[],"doc":"Method: Polygon.inside - tests whether a point lies inside the right-handed polygon\nSyntax:\n  <Polygon>.inside(point: Direction | Location | Vector, time: Time) -> Bool\nArguments:\n  point: Direction | Location | Vector - point to test or measure\n  time: Time [optional] - time for time-dependent frame conversion\nExample:\n# Test whether a sky direction falls inside a polygon\n   let t = time(2026,1,1,0,0,0);\n   let vertices = [direction(ra: 40, dec: 10), direction(ra: 50, dec: 10), direction(ra: 50, dec: 20), direction(ra: 40, dec: 20)];\n   let p = polygon(icrf, t, vertices);\n   print p.inside(direction(ra: 45, dec: 15));","compact":"Method: Polygon.inside - tests whether a point lies inside the right-handed polygon","search_text":"member:Polygon.inside inside Polygon.inside method tests whether a point lies inside the right-handed polygon <Polygon>.inside(point: Direction | Location | Vector, time: Time) -> Bool point Direction | Location | Vector point to test or measure time Time time for time-dependent frame conversion"},{"id":"member:Polygon.area","name":"area","path":"Polygon.area","kind":"method","aliases":[],"description":"returns spherical polygon area in steradians","syntax":["<Polygon>.area() -> Number"],"examples":["# Use Polygon.area on a Polygon value\nlet value = polygon(vertices: [direction(ra: 42.0, dec: 18.0), direction(ra: 90.0, dec: 20.0), direction(ra: 150.0, dec: 55.0)]);\nprint value.area();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Polygon.area - returns spherical polygon area in steradians\nSyntax:\n  <Polygon>.area() -> Number\nExample:\n# Use Polygon.area on a Polygon value\n   let value = polygon(vertices: [direction(ra: 42.0, dec: 18.0), direction(ra: 90.0, dec: 20.0), direction(ra: 150.0, dec: 55.0)]);\n   print value.area();","compact":"Method: Polygon.area - returns spherical polygon area in steradians","search_text":"member:Polygon.area area Polygon.area method returns spherical polygon area in steradians <Polygon>.area() -> Number"},{"id":"member:Polygon.signed_area","name":"signed_area","path":"Polygon.signed_area","kind":"method","aliases":[],"description":"returns oriented spherical polygon area in steradians","syntax":["<Polygon>.signed_area() -> Number"],"examples":["# Use Polygon.signed_area on a Polygon value\nlet value = polygon(vertices: [direction(ra: 42.0, dec: 18.0), direction(ra: 90.0, dec: 20.0), direction(ra: 150.0, dec: 55.0)]);\nprint value.signed_area();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Polygon.signed_area - returns oriented spherical polygon area in steradians\nSyntax:\n  <Polygon>.signed_area() -> Number\nExample:\n# Use Polygon.signed_area on a Polygon value\n   let value = polygon(vertices: [direction(ra: 42.0, dec: 18.0), direction(ra: 90.0, dec: 20.0), direction(ra: 150.0, dec: 55.0)]);\n   print value.signed_area();","compact":"Method: Polygon.signed_area - returns oriented spherical polygon area in steradians","search_text":"member:Polygon.signed_area signed_area Polygon.signed_area method returns oriented spherical polygon area in steradians <Polygon>.signed_area() -> Number"},{"id":"member:Polygon.winding","name":"winding","path":"Polygon.winding","kind":"method","aliases":[],"description":"returns the spherical winding number around a point","syntax":["<Polygon>.winding(point: Direction | Location | Vector, time: Time) -> Number"],"examples":["# Compute polygon winding for a sky direction\nlet t = time(2026,1,1,0,0,0);\nlet vertices = [direction(ra: 40, dec: 10), direction(ra: 50, dec: 10), direction(ra: 50, dec: 20), direction(ra: 40, dec: 20)];\nlet p = polygon(icrf, t, vertices);\nprint p.winding(direction(ra: 45, dec: 15));"],"arguments":[{"name":"point","type":"Direction | Location | Vector","required":true,"description":"point to test or measure"},{"name":"time","type":"Time","required":false,"description":"time for time-dependent frame conversion"}],"children":[],"resources":[],"doc":"Method: Polygon.winding - returns the spherical winding number around a point\nSyntax:\n  <Polygon>.winding(point: Direction | Location | Vector, time: Time) -> Number\nArguments:\n  point: Direction | Location | Vector - point to test or measure\n  time: Time [optional] - time for time-dependent frame conversion\nExample:\n# Compute polygon winding for a sky direction\n   let t = time(2026,1,1,0,0,0);\n   let vertices = [direction(ra: 40, dec: 10), direction(ra: 50, dec: 10), direction(ra: 50, dec: 20), direction(ra: 40, dec: 20)];\n   let p = polygon(icrf, t, vertices);\n   print p.winding(direction(ra: 45, dec: 15));","compact":"Method: Polygon.winding - returns the spherical winding number around a point","search_text":"member:Polygon.winding winding Polygon.winding method returns the spherical winding number around a point <Polygon>.winding(point: Direction | Location | Vector, time: Time) -> Number point Direction | Location | Vector point to test or measure time Time time for time-dependent frame conversion"},{"id":"member:Polygon.lonlat","name":"lonlat","path":"Polygon.lonlat","kind":"method","aliases":[],"description":"formats polygon vertices as longitude,latitude lines","syntax":["<Polygon>.lonlat(time: Time) -> Text"],"examples":["# Convert polygon vertices to longitude-latitude rows at a time\nlet t = time(2026,1,1,0,0,0);\nlet p = polygon(icrf, t, [direction(ra: 0, dec: 0), direction(ra: 10, dec: 0), direction(ra: 10, dec: 10)]);\nprint p.lonlat(t);"],"arguments":[{"name":"time","type":"Time","required":false,"description":"time used when converting non-Earth-fixed polygons to Earth-fixed coordinates"}],"children":[],"resources":[],"doc":"Method: Polygon.lonlat - formats polygon vertices as longitude,latitude lines\nSyntax:\n  <Polygon>.lonlat(time: Time) -> Text\nArguments:\n  time: Time [optional] - time used when converting non-Earth-fixed polygons to Earth-fixed coordinates\nExample:\n# Convert polygon vertices to longitude-latitude rows at a time\n   let t = time(2026,1,1,0,0,0);\n   let p = polygon(icrf, t, [direction(ra: 0, dec: 0), direction(ra: 10, dec: 0), direction(ra: 10, dec: 10)]);\n   print p.lonlat(t);","compact":"Method: Polygon.lonlat - formats polygon vertices as longitude,latitude lines","search_text":"member:Polygon.lonlat lonlat Polygon.lonlat method formats polygon vertices as longitude,latitude lines <Polygon>.lonlat(time: Time) -> Text time Time time used when converting non-Earth-fixed polygons to Earth-fixed coordinates"},{"id":"member:Polygon.lonlat_unwrapped","name":"lonlat_unwrapped","path":"Polygon.lonlat_unwrapped","kind":"method","aliases":[],"description":"formats polygon vertices as one continuous longitude,latitude ring without anti-meridian splits","syntax":["<Polygon>.lonlat_unwrapped(time: Time) -> Text"],"examples":["# Convert polygon vertices to unwrapped longitude-latitude rows\nlet t = time(2026,1,1,0,0,0);\nlet p = polygon(icrf, t, [direction(ra: 350, dec: 0), direction(ra: 10, dec: 0), direction(ra: 10, dec: 10)]);\nprint p.lonlat_unwrapped(t);"],"arguments":[{"name":"time","type":"Time","required":false,"description":"time used when converting non-Earth-fixed polygons to Earth-fixed coordinates"}],"children":[],"resources":[],"doc":"Method: Polygon.lonlat_unwrapped - formats polygon vertices as one continuous longitude,latitude ring without anti-meridian splits\nSyntax:\n  <Polygon>.lonlat_unwrapped(time: Time) -> Text\nArguments:\n  time: Time [optional] - time used when converting non-Earth-fixed polygons to Earth-fixed coordinates\nExample:\n# Convert polygon vertices to unwrapped longitude-latitude rows\n   let t = time(2026,1,1,0,0,0);\n   let p = polygon(icrf, t, [direction(ra: 350, dec: 0), direction(ra: 10, dec: 0), direction(ra: 10, dec: 10)]);\n   print p.lonlat_unwrapped(t);","compact":"Method: Polygon.lonlat_unwrapped - formats polygon vertices as one continuous longitude,latitude ring without anti-meridian splits","search_text":"member:Polygon.lonlat_unwrapped lonlat_unwrapped Polygon.lonlat_unwrapped method formats polygon vertices as one continuous longitude,latitude ring without anti-meridian splits <Polygon>.lonlat_unwrapped(time: Time) -> Text time Time time used when converting non-Earth-fixed polygons to Earth-fixed coordinates"},{"id":"member:Polygon.lonlat_diagnostic","name":"lonlat_diagnostic","path":"Polygon.lonlat_diagnostic","kind":"method","aliases":[],"description":"diagnoses anti-meridian splitting and longitude jumps","syntax":["<Polygon>.lonlat_diagnostic(time: Time) -> Object"],"examples":["# Inspect polygon longitude-latitude conversion diagnostics\nlet t = time(2026,1,1,0,0,0);\nlet p = polygon(icrf, t, [direction(ra: 0, dec: 0), direction(ra: 10, dec: 0), direction(ra: 10, dec: 10)]);\nprint p.lonlat_diagnostic(t);"],"arguments":[{"name":"time","type":"Time","required":false,"description":"time used when converting non-Earth-fixed polygons to Earth-fixed coordinates"}],"children":[],"resources":[],"doc":"Method: Polygon.lonlat_diagnostic - diagnoses anti-meridian splitting and longitude jumps\nSyntax:\n  <Polygon>.lonlat_diagnostic(time: Time) -> Object\nArguments:\n  time: Time [optional] - time used when converting non-Earth-fixed polygons to Earth-fixed coordinates\nExample:\n# Inspect polygon longitude-latitude conversion diagnostics\n   let t = time(2026,1,1,0,0,0);\n   let p = polygon(icrf, t, [direction(ra: 0, dec: 0), direction(ra: 10, dec: 0), direction(ra: 10, dec: 10)]);\n   print p.lonlat_diagnostic(t);","compact":"Method: Polygon.lonlat_diagnostic - diagnoses anti-meridian splitting and longitude jumps","search_text":"member:Polygon.lonlat_diagnostic lonlat_diagnostic Polygon.lonlat_diagnostic method diagnoses anti-meridian splitting and longitude jumps <Polygon>.lonlat_diagnostic(time: Time) -> Object time Time time used when converting non-Earth-fixed polygons to Earth-fixed coordinates"},{"id":"member:Polygon.children","name":"children","path":"Polygon.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Polygon>.children() -> List"],"examples":["# Use Polygon.children on a Polygon value\nlet value = polygon(vertices: [direction(ra: 42.0, dec: 18.0), direction(ra: 90.0, dec: 20.0), direction(ra: 150.0, dec: 55.0)]);\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Polygon.children - lists child fields and callable members available on this value\nSyntax:\n  <Polygon>.children() -> List\nExample:\n# Use Polygon.children on a Polygon value\n   let value = polygon(vertices: [direction(ra: 42.0, dec: 18.0), direction(ra: 90.0, dec: 20.0), direction(ra: 150.0, dec: 55.0)]);\n   print value.children();","compact":"Method: Polygon.children - lists child fields and callable members available on this value","search_text":"member:Polygon.children children Polygon.children method lists child fields and callable members available on this value <Polygon>.children() -> List"},{"id":"member:Polygon.fields","name":"fields","path":"Polygon.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Polygon>.fields() -> Object"],"examples":["# Use Polygon.fields on a Polygon value\nlet value = polygon(vertices: [direction(ra: 42.0, dec: 18.0), direction(ra: 90.0, dec: 20.0), direction(ra: 150.0, dec: 55.0)]);\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Polygon.fields - returns an object containing the value's plain fields\nSyntax:\n  <Polygon>.fields() -> Object\nExample:\n# Use Polygon.fields on a Polygon value\n   let value = polygon(vertices: [direction(ra: 42.0, dec: 18.0), direction(ra: 90.0, dec: 20.0), direction(ra: 150.0, dec: 55.0)]);\n   print value.fields();","compact":"Method: Polygon.fields - returns an object containing the value's plain fields","search_text":"member:Polygon.fields fields Polygon.fields method returns an object containing the value's plain fields <Polygon>.fields() -> Object"},{"id":"member:Polygon.functions","name":"functions","path":"Polygon.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Polygon>.functions() -> List"],"examples":["# Use Polygon.functions on a Polygon value\nlet value = polygon(vertices: [direction(ra: 42.0, dec: 18.0), direction(ra: 90.0, dec: 20.0), direction(ra: 150.0, dec: 55.0)]);\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Polygon.functions - lists callable members available on this value\nSyntax:\n  <Polygon>.functions() -> List\nExample:\n# Use Polygon.functions on a Polygon value\n   let value = polygon(vertices: [direction(ra: 42.0, dec: 18.0), direction(ra: 90.0, dec: 20.0), direction(ra: 150.0, dec: 55.0)]);\n   print value.functions();","compact":"Method: Polygon.functions - lists callable members available on this value","search_text":"member:Polygon.functions functions Polygon.functions method lists callable members available on this value <Polygon>.functions() -> List"},{"id":"type:Vector","name":"Vector","path":"Vector","kind":"type","aliases":[],"description":"3D vector with cached cartesian and spherical representations","syntax":["vector(x: Number, y: Number, z: Number) -> Vector","vector(from: Origin, to: Origin, time: Time) -> Vector"],"examples":["# Combine position-like vectors and measure their separation\nlet a = vector(7000, 0, 0);\nlet b = vector(0, 7000, 0);\nprint a.length(), b.length(), a.distance(b), a.angle(b, deg);"],"arguments":[{"name":"x","type":"Number","required":false,"description":"cartesian x component in km"},{"name":"y","type":"Number","required":false,"description":"cartesian y component in km, defaulting to zero"},{"name":"z","type":"Number","required":false,"description":"cartesian z component in km, defaulting to zero"},{"name":"from","type":"Origin","required":false,"description":"source origin such as barycentric or geocentric"},{"name":"to","type":"Origin","required":false,"description":"target origin such as barycentric or geocentric"},{"name":"time","type":"Time","required":false,"description":"time for the origin transform"}],"children":["field:Vector.kind","field:Vector.orientation","field:Vector.transposed","member:Vector.x","member:Vector.y","member:Vector.z","member:Vector.range","member:Vector.theta","member:Vector.phi","member:Vector.length","member:Vector.lenxy","member:Vector.lenxz","member:Vector.lenyz","member:Vector.dot","member:Vector.cross","member:Vector.angle","member:Vector.distance","member:Vector.online","member:Vector.turn","member:Vector.normalise","member:Vector.transpose","member:Vector.translate_origin","member:Vector.children","member:Vector.fields","member:Vector.functions"],"resources":[],"doc":"Type: Vector - 3D vector with cached cartesian and spherical representations\nSyntax:\n  vector(x: Number, y: Number, z: Number) -> Vector\n  vector(from: Origin, to: Origin, time: Time) -> Vector\nArguments:\n  x: Number [optional] - cartesian x component in km\n  y: Number [optional] - cartesian y component in km, defaulting to zero\n  z: Number [optional] - cartesian z component in km, defaulting to zero\n  from: Origin [optional] - source origin such as barycentric or geocentric\n  to: Origin [optional] - target origin such as barycentric or geocentric\n  time: Time [optional] - time for the origin transform\nChildren: kind, orientation, transposed, x(), y(), z(), range(), theta(), phi(), length(), lenxy(), lenxz(), lenyz(), dot(), cross(), angle(), distance(), online(), turn(), normalise(), transpose(), translate_origin(), children(), fields(), functions()\nExample:\n# Combine position-like vectors and measure their separation\n   let a = vector(7000, 0, 0);\n   let b = vector(0, 7000, 0);\n   print a.length(), b.length(), a.distance(b), a.angle(b, deg);","compact":"Type: Vector - 3D vector with cached cartesian and spherical representations","search_text":"type:Vector Vector Vector type 3D vector with cached cartesian and spherical representations vector(x: Number, y: Number, z: Number) -> Vector vector(from: Origin, to: Origin, time: Time) -> Vector x Number cartesian x component in km y Number cartesian y component in km, defaulting to zero z Number cartesian z component in km, defaulting to zero from Origin source origin such as barycentric or geocentric to Origin target origin such as barycentric or geocentric time Time time for the origin transform"},{"id":"field:Vector.kind","name":"kind","path":"Vector.kind","kind":"field","aliases":[],"description":"cached vector representation: cartesian, spherical, both, or undefined","syntax":["<Vector>.kind -> Text"],"examples":["# Read the kind field from a Vector value\nprint vector(1.0, 2.0, 3.0).kind;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Vector.kind - cached vector representation: cartesian, spherical, both, or undefined\nSyntax:\n  <Vector>.kind -> Text\nExample:\n# Read the kind field from a Vector value\n   print vector(1.0, 2.0, 3.0).kind;","compact":"Field: Vector.kind - cached vector representation: cartesian, spherical, both, or undefined","search_text":"field:Vector.kind kind Vector.kind field cached vector representation: cartesian, spherical, both, or undefined <Vector>.kind -> Text"},{"id":"field:Vector.orientation","name":"orientation","path":"Vector.orientation","kind":"field","aliases":[],"description":"algebraic orientation: column or row","syntax":["<Vector>.orientation -> Text"],"examples":["# Read the orientation field from a Vector value\nprint vector(1.0, 2.0, 3.0).orientation;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Vector.orientation - algebraic orientation: column or row\nSyntax:\n  <Vector>.orientation -> Text\nExample:\n# Read the orientation field from a Vector value\n   print vector(1.0, 2.0, 3.0).orientation;","compact":"Field: Vector.orientation - algebraic orientation: column or row","search_text":"field:Vector.orientation orientation Vector.orientation field algebraic orientation: column or row <Vector>.orientation -> Text"},{"id":"field:Vector.transposed","name":"transposed","path":"Vector.transposed","kind":"field","aliases":[],"description":"true when the vector is a row-vector transpose","syntax":["<Vector>.transposed -> Bool"],"examples":["# Read the transposed field from a Vector value\nprint vector(1.0, 2.0, 3.0).transposed;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Vector.transposed - true when the vector is a row-vector transpose\nSyntax:\n  <Vector>.transposed -> Bool\nExample:\n# Read the transposed field from a Vector value\n   print vector(1.0, 2.0, 3.0).transposed;","compact":"Field: Vector.transposed - true when the vector is a row-vector transpose","search_text":"field:Vector.transposed transposed Vector.transposed field true when the vector is a row-vector transpose <Vector>.transposed -> Bool"},{"id":"member:Vector.x","name":"x","path":"Vector.x","kind":"method","aliases":[],"description":"returns the cartesian x component","syntax":["<Vector>.x(unit: Unit) -> Number"],"examples":["# Use Vector.x on a Vector value\nlet value = vector(1.0, 2.0, 3.0);\nprint value.x();"],"arguments":[{"name":"unit","type":"Unit","required":false,"description":"optional output unit"}],"children":[],"resources":[],"doc":"Method: Vector.x - returns the cartesian x component\nSyntax:\n  <Vector>.x(unit: Unit) -> Number\nArguments:\n  unit: Unit [optional] - optional output unit\nExample:\n# Use Vector.x on a Vector value\n   let value = vector(1.0, 2.0, 3.0);\n   print value.x();","compact":"Method: Vector.x - returns the cartesian x component","search_text":"member:Vector.x x Vector.x method returns the cartesian x component <Vector>.x(unit: Unit) -> Number unit Unit optional output unit"},{"id":"member:Vector.y","name":"y","path":"Vector.y","kind":"method","aliases":[],"description":"returns the cartesian y component","syntax":["<Vector>.y(unit: Unit) -> Number"],"examples":["# Use Vector.y on a Vector value\nlet value = vector(1.0, 2.0, 3.0);\nprint value.y();"],"arguments":[{"name":"unit","type":"Unit","required":false,"description":"optional output unit"}],"children":[],"resources":[],"doc":"Method: Vector.y - returns the cartesian y component\nSyntax:\n  <Vector>.y(unit: Unit) -> Number\nArguments:\n  unit: Unit [optional] - optional output unit\nExample:\n# Use Vector.y on a Vector value\n   let value = vector(1.0, 2.0, 3.0);\n   print value.y();","compact":"Method: Vector.y - returns the cartesian y component","search_text":"member:Vector.y y Vector.y method returns the cartesian y component <Vector>.y(unit: Unit) -> Number unit Unit optional output unit"},{"id":"member:Vector.z","name":"z","path":"Vector.z","kind":"method","aliases":[],"description":"returns the cartesian z component","syntax":["<Vector>.z(unit: Unit) -> Number"],"examples":["# Use Vector.z on a Vector value\nlet value = vector(1.0, 2.0, 3.0);\nprint value.z();"],"arguments":[{"name":"unit","type":"Unit","required":false,"description":"optional output unit"}],"children":[],"resources":[],"doc":"Method: Vector.z - returns the cartesian z component\nSyntax:\n  <Vector>.z(unit: Unit) -> Number\nArguments:\n  unit: Unit [optional] - optional output unit\nExample:\n# Use Vector.z on a Vector value\n   let value = vector(1.0, 2.0, 3.0);\n   print value.z();","compact":"Method: Vector.z - returns the cartesian z component","search_text":"member:Vector.z z Vector.z method returns the cartesian z component <Vector>.z(unit: Unit) -> Number unit Unit optional output unit"},{"id":"member:Vector.range","name":"range","path":"Vector.range","kind":"method","aliases":[],"description":"returns the spherical range","syntax":["<Vector>.range(unit: Unit) -> Number"],"examples":["# Use Vector.range on a Vector value\nlet value = vector(1.0, 2.0, 3.0);\nprint value.range();"],"arguments":[{"name":"unit","type":"Unit","required":false,"description":"optional output unit"}],"children":[],"resources":[],"doc":"Method: Vector.range - returns the spherical range\nSyntax:\n  <Vector>.range(unit: Unit) -> Number\nArguments:\n  unit: Unit [optional] - optional output unit\nExample:\n# Use Vector.range on a Vector value\n   let value = vector(1.0, 2.0, 3.0);\n   print value.range();","compact":"Method: Vector.range - returns the spherical range","search_text":"member:Vector.range range Vector.range method returns the spherical range <Vector>.range(unit: Unit) -> Number unit Unit optional output unit"},{"id":"member:Vector.theta","name":"theta","path":"Vector.theta","kind":"method","aliases":[],"description":"returns the spherical theta angle","syntax":["<Vector>.theta(unit: Unit) -> Number"],"examples":["# Use Vector.theta on a Vector value\nlet value = vector(1.0, 2.0, 3.0);\nprint value.theta();"],"arguments":[{"name":"unit","type":"Unit","required":false,"description":"optional output unit"}],"children":[],"resources":[],"doc":"Method: Vector.theta - returns the spherical theta angle\nSyntax:\n  <Vector>.theta(unit: Unit) -> Number\nArguments:\n  unit: Unit [optional] - optional output unit\nExample:\n# Use Vector.theta on a Vector value\n   let value = vector(1.0, 2.0, 3.0);\n   print value.theta();","compact":"Method: Vector.theta - returns the spherical theta angle","search_text":"member:Vector.theta theta Vector.theta method returns the spherical theta angle <Vector>.theta(unit: Unit) -> Number unit Unit optional output unit"},{"id":"member:Vector.phi","name":"phi","path":"Vector.phi","kind":"method","aliases":[],"description":"returns the spherical phi angle","syntax":["<Vector>.phi(unit: Unit) -> Number"],"examples":["# Use Vector.phi on a Vector value\nlet value = vector(1.0, 2.0, 3.0);\nprint value.phi();"],"arguments":[{"name":"unit","type":"Unit","required":false,"description":"optional output unit"}],"children":[],"resources":[],"doc":"Method: Vector.phi - returns the spherical phi angle\nSyntax:\n  <Vector>.phi(unit: Unit) -> Number\nArguments:\n  unit: Unit [optional] - optional output unit\nExample:\n# Use Vector.phi on a Vector value\n   let value = vector(1.0, 2.0, 3.0);\n   print value.phi();","compact":"Method: Vector.phi - returns the spherical phi angle","search_text":"member:Vector.phi phi Vector.phi method returns the spherical phi angle <Vector>.phi(unit: Unit) -> Number unit Unit optional output unit"},{"id":"member:Vector.length","name":"length","path":"Vector.length","kind":"method","aliases":[],"description":"returns the vector length","syntax":["<Vector>.length(unit: Unit) -> Number"],"examples":["# Use Vector.length on a Vector value\nlet value = vector(1.0, 2.0, 3.0);\nprint value.length();"],"arguments":[{"name":"unit","type":"Unit","required":false,"description":"optional output unit"}],"children":[],"resources":[],"doc":"Method: Vector.length - returns the vector length\nSyntax:\n  <Vector>.length(unit: Unit) -> Number\nArguments:\n  unit: Unit [optional] - optional output unit\nExample:\n# Use Vector.length on a Vector value\n   let value = vector(1.0, 2.0, 3.0);\n   print value.length();","compact":"Method: Vector.length - returns the vector length","search_text":"member:Vector.length length Vector.length method returns the vector length <Vector>.length(unit: Unit) -> Number unit Unit optional output unit"},{"id":"member:Vector.lenxy","name":"lenxy","path":"Vector.lenxy","kind":"method","aliases":[],"description":"returns the length projected into the xy plane","syntax":["<Vector>.lenxy(unit: Unit) -> Number"],"examples":["# Use Vector.lenxy on a Vector value\nlet value = vector(1.0, 2.0, 3.0);\nprint value.lenxy();"],"arguments":[{"name":"unit","type":"Unit","required":false,"description":"optional output unit"}],"children":[],"resources":[],"doc":"Method: Vector.lenxy - returns the length projected into the xy plane\nSyntax:\n  <Vector>.lenxy(unit: Unit) -> Number\nArguments:\n  unit: Unit [optional] - optional output unit\nExample:\n# Use Vector.lenxy on a Vector value\n   let value = vector(1.0, 2.0, 3.0);\n   print value.lenxy();","compact":"Method: Vector.lenxy - returns the length projected into the xy plane","search_text":"member:Vector.lenxy lenxy Vector.lenxy method returns the length projected into the xy plane <Vector>.lenxy(unit: Unit) -> Number unit Unit optional output unit"},{"id":"member:Vector.lenxz","name":"lenxz","path":"Vector.lenxz","kind":"method","aliases":[],"description":"returns the length projected into the xz plane","syntax":["<Vector>.lenxz(unit: Unit) -> Number"],"examples":["# Use Vector.lenxz on a Vector value\nlet value = vector(1.0, 2.0, 3.0);\nprint value.lenxz();"],"arguments":[{"name":"unit","type":"Unit","required":false,"description":"optional output unit"}],"children":[],"resources":[],"doc":"Method: Vector.lenxz - returns the length projected into the xz plane\nSyntax:\n  <Vector>.lenxz(unit: Unit) -> Number\nArguments:\n  unit: Unit [optional] - optional output unit\nExample:\n# Use Vector.lenxz on a Vector value\n   let value = vector(1.0, 2.0, 3.0);\n   print value.lenxz();","compact":"Method: Vector.lenxz - returns the length projected into the xz plane","search_text":"member:Vector.lenxz lenxz Vector.lenxz method returns the length projected into the xz plane <Vector>.lenxz(unit: Unit) -> Number unit Unit optional output unit"},{"id":"member:Vector.lenyz","name":"lenyz","path":"Vector.lenyz","kind":"method","aliases":[],"description":"returns the length projected into the yz plane","syntax":["<Vector>.lenyz(unit: Unit) -> Number"],"examples":["# Use Vector.lenyz on a Vector value\nlet value = vector(1.0, 2.0, 3.0);\nprint value.lenyz();"],"arguments":[{"name":"unit","type":"Unit","required":false,"description":"optional output unit"}],"children":[],"resources":[],"doc":"Method: Vector.lenyz - returns the length projected into the yz plane\nSyntax:\n  <Vector>.lenyz(unit: Unit) -> Number\nArguments:\n  unit: Unit [optional] - optional output unit\nExample:\n# Use Vector.lenyz on a Vector value\n   let value = vector(1.0, 2.0, 3.0);\n   print value.lenyz();","compact":"Method: Vector.lenyz - returns the length projected into the yz plane","search_text":"member:Vector.lenyz lenyz Vector.lenyz method returns the length projected into the yz plane <Vector>.lenyz(unit: Unit) -> Number unit Unit optional output unit"},{"id":"member:Vector.dot","name":"dot","path":"Vector.dot","kind":"method","aliases":[],"description":"returns the dot product with another vector","syntax":["<Vector>.dot(other: Vector) -> Number"],"examples":["# Use Vector.dot on a Vector value\nlet value = vector(1.0, 2.0, 3.0);\nprint value.dot(vector(1.0, 2.0, 3.0));"],"arguments":[{"name":"other","type":"Vector","required":true,"description":"other vector"}],"children":[],"resources":[],"doc":"Method: Vector.dot - returns the dot product with another vector\nSyntax:\n  <Vector>.dot(other: Vector) -> Number\nArguments:\n  other: Vector - other vector\nExample:\n# Use Vector.dot on a Vector value\n   let value = vector(1.0, 2.0, 3.0);\n   print value.dot(vector(1.0, 2.0, 3.0));","compact":"Method: Vector.dot - returns the dot product with another vector","search_text":"member:Vector.dot dot Vector.dot method returns the dot product with another vector <Vector>.dot(other: Vector) -> Number other Vector other vector"},{"id":"member:Vector.cross","name":"cross","path":"Vector.cross","kind":"method","aliases":[],"description":"returns the cross product with another vector","syntax":["<Vector>.cross(other: Vector) -> Vector"],"examples":["# Use Vector.cross on a Vector value\nlet value = vector(1.0, 2.0, 3.0);\nprint value.cross(vector(1.0, 2.0, 3.0));"],"arguments":[{"name":"other","type":"Vector","required":true,"description":"other vector"}],"children":[],"resources":[],"doc":"Method: Vector.cross - returns the cross product with another vector\nSyntax:\n  <Vector>.cross(other: Vector) -> Vector\nArguments:\n  other: Vector - other vector\nExample:\n# Use Vector.cross on a Vector value\n   let value = vector(1.0, 2.0, 3.0);\n   print value.cross(vector(1.0, 2.0, 3.0));","compact":"Method: Vector.cross - returns the cross product with another vector","search_text":"member:Vector.cross cross Vector.cross method returns the cross product with another vector <Vector>.cross(other: Vector) -> Vector other Vector other vector"},{"id":"member:Vector.angle","name":"angle","path":"Vector.angle","kind":"method","aliases":[],"description":"returns the angle to another vector in radians by default; pass `deg` for degrees","syntax":["<Vector>.angle(other: Vector, unit: Unit) -> Number"],"examples":["# Measure the angle between vectors in degrees\nlet a = vector(1, 0, 0);\nlet b = vector(0, 1, 0);\nprint a.angle(b, deg);"],"arguments":[{"name":"other","type":"Vector","required":true,"description":"other vector"},{"name":"unit","type":"Unit","required":false,"description":"optional angle unit"}],"children":[],"resources":[],"doc":"Method: Vector.angle - returns the angle to another vector in radians by default; pass `deg` for degrees\nSyntax:\n  <Vector>.angle(other: Vector, unit: Unit) -> Number\nArguments:\n  other: Vector - other vector\n  unit: Unit [optional] - optional angle unit\nExample:\n# Measure the angle between vectors in degrees\n   let a = vector(1, 0, 0);\n   let b = vector(0, 1, 0);\n   print a.angle(b, deg);","compact":"Method: Vector.angle - returns the angle to another vector in radians by default; pass `deg` for degrees","search_text":"member:Vector.angle angle Vector.angle method returns the angle to another vector in radians by default; pass `deg` for degrees <Vector>.angle(other: Vector, unit: Unit) -> Number other Vector other vector unit Unit optional angle unit"},{"id":"member:Vector.distance","name":"distance","path":"Vector.distance","kind":"method","aliases":[],"description":"returns the distance to another vector","syntax":["<Vector>.distance(other: Vector, unit: Unit) -> Number"],"examples":["# Use Vector.distance on a Vector value\nlet value = vector(1.0, 2.0, 3.0);\nprint value.distance(vector(1.0, 2.0, 3.0));"],"arguments":[{"name":"other","type":"Vector","required":true,"description":"other vector"},{"name":"unit","type":"Unit","required":false,"description":"optional length unit"}],"children":[],"resources":[],"doc":"Method: Vector.distance - returns the distance to another vector\nSyntax:\n  <Vector>.distance(other: Vector, unit: Unit) -> Number\nArguments:\n  other: Vector - other vector\n  unit: Unit [optional] - optional length unit\nExample:\n# Use Vector.distance on a Vector value\n   let value = vector(1.0, 2.0, 3.0);\n   print value.distance(vector(1.0, 2.0, 3.0));","compact":"Method: Vector.distance - returns the distance to another vector","search_text":"member:Vector.distance distance Vector.distance method returns the distance to another vector <Vector>.distance(other: Vector, unit: Unit) -> Number other Vector other vector unit Unit optional length unit"},{"id":"member:Vector.online","name":"online","path":"Vector.online","kind":"method","aliases":[],"description":"returns the reference online distance measure","syntax":["<Vector>.online(b: Vector, c: Vector, unit: Unit) -> Number"],"examples":["# Use Vector.online on a Vector value\nlet value = vector(1.0, 2.0, 3.0);\nprint value.online(vector(1.0, 2.0, 3.0), vector(1.0, 2.0, 3.0));"],"arguments":[{"name":"b","type":"Vector","required":true,"description":"second point on the line"},{"name":"c","type":"Vector","required":true,"description":"point used to define the normal direction"},{"name":"unit","type":"Unit","required":false,"description":"optional length unit"}],"children":[],"resources":[],"doc":"Method: Vector.online - returns the reference online distance measure\nSyntax:\n  <Vector>.online(b: Vector, c: Vector, unit: Unit) -> Number\nArguments:\n  b: Vector - second point on the line\n  c: Vector - point used to define the normal direction\n  unit: Unit [optional] - optional length unit\nExample:\n# Use Vector.online on a Vector value\n   let value = vector(1.0, 2.0, 3.0);\n   print value.online(vector(1.0, 2.0, 3.0), vector(1.0, 2.0, 3.0));","compact":"Method: Vector.online - returns the reference online distance measure","search_text":"member:Vector.online online Vector.online method returns the reference online distance measure <Vector>.online(b: Vector, c: Vector, unit: Unit) -> Number b Vector second point on the line c Vector point used to define the normal direction unit Unit optional length unit"},{"id":"member:Vector.turn","name":"turn","path":"Vector.turn","kind":"method","aliases":[],"description":"returns this vector rotated around an axis","syntax":["<Vector>.turn(axis: Vector, angle: Number, unit: Unit) -> Vector"],"examples":["# Use Vector.turn on a Vector value\nlet value = vector(1.0, 2.0, 3.0);\nprint value.turn(vector(1.0, 2.0, 3.0), 42.0);"],"arguments":[{"name":"axis","type":"Vector","required":true,"description":"axis to rotate around"},{"name":"angle","type":"Number","required":true,"description":"angle in radians by default"},{"name":"unit","type":"Unit","required":false,"description":"optional angle unit for the angle argument"}],"children":[],"resources":[],"doc":"Method: Vector.turn - returns this vector rotated around an axis\nSyntax:\n  <Vector>.turn(axis: Vector, angle: Number, unit: Unit) -> Vector\nArguments:\n  axis: Vector - axis to rotate around\n  angle: Number - angle in radians by default\n  unit: Unit [optional] - optional angle unit for the angle argument\nExample:\n# Use Vector.turn on a Vector value\n   let value = vector(1.0, 2.0, 3.0);\n   print value.turn(vector(1.0, 2.0, 3.0), 42.0);","compact":"Method: Vector.turn - returns this vector rotated around an axis","search_text":"member:Vector.turn turn Vector.turn method returns this vector rotated around an axis <Vector>.turn(axis: Vector, angle: Number, unit: Unit) -> Vector axis Vector axis to rotate around angle Number angle in radians by default unit Unit optional angle unit for the angle argument"},{"id":"member:Vector.normalise","name":"normalise","path":"Vector.normalise","kind":"method","aliases":[],"description":"returns a normalised copy of this vector","syntax":["<Vector>.normalise() -> Vector"],"examples":["# Use Vector.normalise on a Vector value\nlet value = vector(1.0, 2.0, 3.0);\nprint value.normalise();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Vector.normalise - returns a normalised copy of this vector\nSyntax:\n  <Vector>.normalise() -> Vector\nExample:\n# Use Vector.normalise on a Vector value\n   let value = vector(1.0, 2.0, 3.0);\n   print value.normalise();","compact":"Method: Vector.normalise - returns a normalised copy of this vector","search_text":"member:Vector.normalise normalise Vector.normalise method returns a normalised copy of this vector <Vector>.normalise() -> Vector"},{"id":"member:Vector.transpose","name":"transpose","path":"Vector.transpose","kind":"method","aliases":[],"description":"returns this vector with column/row orientation toggled","syntax":["<Vector>.transpose() -> Vector"],"examples":["# Use Vector.transpose on a Vector value\nlet value = vector(1.0, 2.0, 3.0);\nprint value.transpose();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Vector.transpose - returns this vector with column/row orientation toggled\nSyntax:\n  <Vector>.transpose() -> Vector\nExample:\n# Use Vector.transpose on a Vector value\n   let value = vector(1.0, 2.0, 3.0);\n   print value.transpose();","compact":"Method: Vector.transpose - returns this vector with column/row orientation toggled","search_text":"member:Vector.transpose transpose Vector.transpose method returns this vector with column/row orientation toggled <Vector>.transpose() -> Vector"},{"id":"member:Vector.translate_origin","name":"translate_origin","path":"Vector.translate_origin","kind":"method","aliases":[],"description":"translates this vector between origin conventions","syntax":["<Vector>.translate_origin(from: Origin, to: Origin, offset: Vector) -> Vector"],"examples":["# Use Vector.translate_origin on a Vector value\nlet value = vector(1.0, 2.0, 3.0);\nprint value.translate_origin(barycentric, barycentric, vector(1.0, 2.0, 3.0));"],"arguments":[{"name":"from","type":"Origin","required":true,"description":"source origin such as barycentric or geocentric"},{"name":"to","type":"Origin","required":true,"description":"target origin such as barycentric or geocentric"},{"name":"offset","type":"Vector","required":true,"description":"target origin position measured from the source origin"}],"children":[],"resources":[],"doc":"Method: Vector.translate_origin - translates this vector between origin conventions\nSyntax:\n  <Vector>.translate_origin(from: Origin, to: Origin, offset: Vector) -> Vector\nArguments:\n  from: Origin - source origin such as barycentric or geocentric\n  to: Origin - target origin such as barycentric or geocentric\n  offset: Vector - target origin position measured from the source origin\nExample:\n# Use Vector.translate_origin on a Vector value\n   let value = vector(1.0, 2.0, 3.0);\n   print value.translate_origin(barycentric, barycentric, vector(1.0, 2.0, 3.0));","compact":"Method: Vector.translate_origin - translates this vector between origin conventions","search_text":"member:Vector.translate_origin translate_origin Vector.translate_origin method translates this vector between origin conventions <Vector>.translate_origin(from: Origin, to: Origin, offset: Vector) -> Vector from Origin source origin such as barycentric or geocentric to Origin target origin such as barycentric or geocentric offset Vector target origin position measured from the source origin"},{"id":"member:Vector.children","name":"children","path":"Vector.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Vector>.children() -> List"],"examples":["# Use Vector.children on a Vector value\nlet value = vector(1.0, 2.0, 3.0);\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Vector.children - lists child fields and callable members available on this value\nSyntax:\n  <Vector>.children() -> List\nExample:\n# Use Vector.children on a Vector value\n   let value = vector(1.0, 2.0, 3.0);\n   print value.children();","compact":"Method: Vector.children - lists child fields and callable members available on this value","search_text":"member:Vector.children children Vector.children method lists child fields and callable members available on this value <Vector>.children() -> List"},{"id":"member:Vector.fields","name":"fields","path":"Vector.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Vector>.fields() -> Object"],"examples":["# Use Vector.fields on a Vector value\nlet value = vector(1.0, 2.0, 3.0);\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Vector.fields - returns an object containing the value's plain fields\nSyntax:\n  <Vector>.fields() -> Object\nExample:\n# Use Vector.fields on a Vector value\n   let value = vector(1.0, 2.0, 3.0);\n   print value.fields();","compact":"Method: Vector.fields - returns an object containing the value's plain fields","search_text":"member:Vector.fields fields Vector.fields method returns an object containing the value's plain fields <Vector>.fields() -> Object"},{"id":"member:Vector.functions","name":"functions","path":"Vector.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Vector>.functions() -> List"],"examples":["# Use Vector.functions on a Vector value\nlet value = vector(1.0, 2.0, 3.0);\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Vector.functions - lists callable members available on this value\nSyntax:\n  <Vector>.functions() -> List\nExample:\n# Use Vector.functions on a Vector value\n   let value = vector(1.0, 2.0, 3.0);\n   print value.functions();","compact":"Method: Vector.functions - lists callable members available on this value","search_text":"member:Vector.functions functions Vector.functions method lists callable members available on this value <Vector>.functions() -> List"},{"id":"type:Matrix","name":"Matrix","path":"Matrix","kind":"type","aliases":[],"description":"3x3 matrix compatible with reference vector transforms","syntax":["matrix(x0: Number, y0: Number, z0: Number) -> Matrix","matrix(from: Axis, to: Axis, time: Time) -> Matrix","matrix(m00: Number, m10: Number, m20: Number, m01: Number, m11: Number, m21: Number, m02: Number, m12: Number, m22: Number) -> Matrix"],"examples":["# Rotate an ICRF vector into Earth-fixed coordinates at a time\nlet t = time(2026,1,1,0,0,0);\nlet m = matrix(icrf, earthfixed, t);\nlet v = m * vector(1, 0, 0);\nprint v.x(), v.y(), v.z();"],"arguments":[{"name":"x0","type":"Number","required":false,"description":"first diagonal value, or first column x for a 9-value matrix"},{"name":"y0","type":"Number","required":false,"description":"second diagonal value, or first column y for a 9-value matrix"},{"name":"z0","type":"Number","required":false,"description":"third diagonal value, or first column z for a 9-value matrix"},{"name":"from","type":"Axis","required":false,"description":"source axis such as icrf, tod, ef, or topographic"},{"name":"to","type":"Axis","required":false,"description":"target axis such as icrf, tod, ef, or topographic"},{"name":"time","type":"Time","required":false,"description":"time for the axis transform"},{"name":"m00","type":"Number","required":false,"description":"row 0 column 0"},{"name":"m10","type":"Number","required":false,"description":"row 1 column 0"},{"name":"m20","type":"Number","required":false,"description":"row 2 column 0"},{"name":"m01","type":"Number","required":false,"description":"row 0 column 1"},{"name":"m11","type":"Number","required":false,"description":"row 1 column 1"},{"name":"m21","type":"Number","required":false,"description":"row 2 column 1"},{"name":"m02","type":"Number","required":false,"description":"row 0 column 2"},{"name":"m12","type":"Number","required":false,"description":"row 1 column 2"},{"name":"m22","type":"Number","required":false,"description":"row 2 column 2"}],"children":["field:Matrix.m00","field:Matrix.m10","field:Matrix.m20","field:Matrix.m01","field:Matrix.m11","field:Matrix.m21","field:Matrix.m02","field:Matrix.m12","field:Matrix.m22","field:Matrix.kind","member:Matrix.transpose","member:Matrix.inverse","member:Matrix.determinant","member:Matrix.normalise","member:Matrix.multiply_transpose","member:Matrix.rotate_axis","member:Matrix.children","member:Matrix.fields","member:Matrix.functions"],"resources":[],"doc":"Type: Matrix - 3x3 matrix compatible with reference vector transforms\nSyntax:\n  matrix(x0: Number, y0: Number, z0: Number) -> Matrix\n  matrix(from: Axis, to: Axis, time: Time) -> Matrix\n  matrix(m00: Number, m10: Number, m20: Number, m01: Number, m11: Number, m21: Number, m02: Number, m12: Number, m22: Number) -> Matrix\nArguments:\n  x0: Number [optional] - first diagonal value, or first column x for a 9-value matrix\n  y0: Number [optional] - second diagonal value, or first column y for a 9-value matrix\n  z0: Number [optional] - third diagonal value, or first column z for a 9-value matrix\n  from: Axis [optional] - source axis such as icrf, tod, ef, or topographic\n  to: Axis [optional] - target axis such as icrf, tod, ef, or topographic\n  time: Time [optional] - time for the axis transform\n  m00: Number [optional] - row 0 column 0\n  m10: Number [optional] - row 1 column 0\n  m20: Number [optional] - row 2 column 0\n  m01: Number [optional] - row 0 column 1\n  m11: Number [optional] - row 1 column 1\n  m21: Number [optional] - row 2 column 1\n  m02: Number [optional] - row 0 column 2\n  m12: Number [optional] - row 1 column 2\n  m22: Number [optional] - row 2 column 2\nChildren: m00, m10, m20, m01, m11, m21, m02, m12, m22, kind, transpose(), inverse(), determinant(), normalise(), multiply_transpose(), rotate_axis(), children(), fields(), functions()\nExample:\n# Rotate an ICRF vector into Earth-fixed coordinates at a time\n   let t = time(2026,1,1,0,0,0);\n   let m = matrix(icrf, earthfixed, t);\n   let v = m * vector(1, 0, 0);\n   print v.x(), v.y(), v.z();","compact":"Type: Matrix - 3x3 matrix compatible with reference vector transforms","search_text":"type:Matrix Matrix Matrix type 3x3 matrix compatible with reference vector transforms matrix(x0: Number, y0: Number, z0: Number) -> Matrix matrix(from: Axis, to: Axis, time: Time) -> Matrix matrix(m00: Number, m10: Number, m20: Number, m01: Number, m11: Number, m21: Number, m02: Number, m12: Number, m22: Number) -> Matrix x0 Number first diagonal value, or first column x for a 9-value matrix y0 Number second diagonal value, or first column y for a 9-value matrix z0 Number third diagonal value, or first column z for a 9-value matrix from Axis source axis such as icrf, tod, ef, or topographic to Axis target axis such as icrf, tod, ef, or topographic time Time time for the axis transform m00 Number row 0 column 0 m10 Number row 1 column 0 m20 Number row 2 column 0 m01 Number row 0 column 1 m11 Number row 1 column 1 m21 Number row 2 column 1 m02 Number row 0 column 2 m12 Number row 1 column 2 m22 Number row 2 column 2"},{"id":"field:Matrix.m00","name":"m00","path":"Matrix.m00","kind":"field","aliases":[],"description":"row 0 column 0","syntax":["<Matrix>.m00 -> Number"],"examples":["# Read the m00 field from a Matrix value\nprint matrix(1.0).m00;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Matrix.m00 - row 0 column 0\nSyntax:\n  <Matrix>.m00 -> Number\nExample:\n# Read the m00 field from a Matrix value\n   print matrix(1.0).m00;","compact":"Field: Matrix.m00 - row 0 column 0","search_text":"field:Matrix.m00 m00 Matrix.m00 field row 0 column 0 <Matrix>.m00 -> Number"},{"id":"field:Matrix.m10","name":"m10","path":"Matrix.m10","kind":"field","aliases":[],"description":"row 1 column 0","syntax":["<Matrix>.m10 -> Number"],"examples":["# Read the m10 field from a Matrix value\nprint matrix(1.0).m10;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Matrix.m10 - row 1 column 0\nSyntax:\n  <Matrix>.m10 -> Number\nExample:\n# Read the m10 field from a Matrix value\n   print matrix(1.0).m10;","compact":"Field: Matrix.m10 - row 1 column 0","search_text":"field:Matrix.m10 m10 Matrix.m10 field row 1 column 0 <Matrix>.m10 -> Number"},{"id":"field:Matrix.m20","name":"m20","path":"Matrix.m20","kind":"field","aliases":[],"description":"row 2 column 0","syntax":["<Matrix>.m20 -> Number"],"examples":["# Read the m20 field from a Matrix value\nprint matrix(1.0).m20;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Matrix.m20 - row 2 column 0\nSyntax:\n  <Matrix>.m20 -> Number\nExample:\n# Read the m20 field from a Matrix value\n   print matrix(1.0).m20;","compact":"Field: Matrix.m20 - row 2 column 0","search_text":"field:Matrix.m20 m20 Matrix.m20 field row 2 column 0 <Matrix>.m20 -> Number"},{"id":"field:Matrix.m01","name":"m01","path":"Matrix.m01","kind":"field","aliases":[],"description":"row 0 column 1","syntax":["<Matrix>.m01 -> Number"],"examples":["# Read the m01 field from a Matrix value\nprint matrix(1.0).m01;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Matrix.m01 - row 0 column 1\nSyntax:\n  <Matrix>.m01 -> Number\nExample:\n# Read the m01 field from a Matrix value\n   print matrix(1.0).m01;","compact":"Field: Matrix.m01 - row 0 column 1","search_text":"field:Matrix.m01 m01 Matrix.m01 field row 0 column 1 <Matrix>.m01 -> Number"},{"id":"field:Matrix.m11","name":"m11","path":"Matrix.m11","kind":"field","aliases":[],"description":"row 1 column 1","syntax":["<Matrix>.m11 -> Number"],"examples":["# Read the m11 field from a Matrix value\nprint matrix(1.0).m11;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Matrix.m11 - row 1 column 1\nSyntax:\n  <Matrix>.m11 -> Number\nExample:\n# Read the m11 field from a Matrix value\n   print matrix(1.0).m11;","compact":"Field: Matrix.m11 - row 1 column 1","search_text":"field:Matrix.m11 m11 Matrix.m11 field row 1 column 1 <Matrix>.m11 -> Number"},{"id":"field:Matrix.m21","name":"m21","path":"Matrix.m21","kind":"field","aliases":[],"description":"row 2 column 1","syntax":["<Matrix>.m21 -> Number"],"examples":["# Read the m21 field from a Matrix value\nprint matrix(1.0).m21;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Matrix.m21 - row 2 column 1\nSyntax:\n  <Matrix>.m21 -> Number\nExample:\n# Read the m21 field from a Matrix value\n   print matrix(1.0).m21;","compact":"Field: Matrix.m21 - row 2 column 1","search_text":"field:Matrix.m21 m21 Matrix.m21 field row 2 column 1 <Matrix>.m21 -> Number"},{"id":"field:Matrix.m02","name":"m02","path":"Matrix.m02","kind":"field","aliases":[],"description":"row 0 column 2","syntax":["<Matrix>.m02 -> Number"],"examples":["# Read the m02 field from a Matrix value\nprint matrix(1.0).m02;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Matrix.m02 - row 0 column 2\nSyntax:\n  <Matrix>.m02 -> Number\nExample:\n# Read the m02 field from a Matrix value\n   print matrix(1.0).m02;","compact":"Field: Matrix.m02 - row 0 column 2","search_text":"field:Matrix.m02 m02 Matrix.m02 field row 0 column 2 <Matrix>.m02 -> Number"},{"id":"field:Matrix.m12","name":"m12","path":"Matrix.m12","kind":"field","aliases":[],"description":"row 1 column 2","syntax":["<Matrix>.m12 -> Number"],"examples":["# Read the m12 field from a Matrix value\nprint matrix(1.0).m12;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Matrix.m12 - row 1 column 2\nSyntax:\n  <Matrix>.m12 -> Number\nExample:\n# Read the m12 field from a Matrix value\n   print matrix(1.0).m12;","compact":"Field: Matrix.m12 - row 1 column 2","search_text":"field:Matrix.m12 m12 Matrix.m12 field row 1 column 2 <Matrix>.m12 -> Number"},{"id":"field:Matrix.m22","name":"m22","path":"Matrix.m22","kind":"field","aliases":[],"description":"row 2 column 2","syntax":["<Matrix>.m22 -> Number"],"examples":["# Read the m22 field from a Matrix value\nprint matrix(1.0).m22;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Matrix.m22 - row 2 column 2\nSyntax:\n  <Matrix>.m22 -> Number\nExample:\n# Read the m22 field from a Matrix value\n   print matrix(1.0).m22;","compact":"Field: Matrix.m22 - row 2 column 2","search_text":"field:Matrix.m22 m22 Matrix.m22 field row 2 column 2 <Matrix>.m22 -> Number"},{"id":"field:Matrix.kind","name":"kind","path":"Matrix.kind","kind":"field","aliases":[],"description":"matrix representation","syntax":["<Matrix>.kind -> Text"],"examples":["# Read the kind field from a Matrix value\nprint matrix(1.0).kind;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Matrix.kind - matrix representation\nSyntax:\n  <Matrix>.kind -> Text\nExample:\n# Read the kind field from a Matrix value\n   print matrix(1.0).kind;","compact":"Field: Matrix.kind - matrix representation","search_text":"field:Matrix.kind kind Matrix.kind field matrix representation <Matrix>.kind -> Text"},{"id":"member:Matrix.transpose","name":"transpose","path":"Matrix.transpose","kind":"method","aliases":[],"description":"returns the transposed matrix","syntax":["<Matrix>.transpose() -> Matrix"],"examples":["# Use Matrix.transpose on a Matrix value\nlet value = matrix(1.0);\nprint value.transpose();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Matrix.transpose - returns the transposed matrix\nSyntax:\n  <Matrix>.transpose() -> Matrix\nExample:\n# Use Matrix.transpose on a Matrix value\n   let value = matrix(1.0);\n   print value.transpose();","compact":"Method: Matrix.transpose - returns the transposed matrix","search_text":"member:Matrix.transpose transpose Matrix.transpose method returns the transposed matrix <Matrix>.transpose() -> Matrix"},{"id":"member:Matrix.inverse","name":"inverse","path":"Matrix.inverse","kind":"method","aliases":[],"description":"returns the inverse matrix","syntax":["<Matrix>.inverse() -> Matrix"],"examples":["# Use Matrix.inverse on a Matrix value\nlet value = matrix(1.0);\nprint value.inverse();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Matrix.inverse - returns the inverse matrix\nSyntax:\n  <Matrix>.inverse() -> Matrix\nExample:\n# Use Matrix.inverse on a Matrix value\n   let value = matrix(1.0);\n   print value.inverse();","compact":"Method: Matrix.inverse - returns the inverse matrix","search_text":"member:Matrix.inverse inverse Matrix.inverse method returns the inverse matrix <Matrix>.inverse() -> Matrix"},{"id":"member:Matrix.determinant","name":"determinant","path":"Matrix.determinant","kind":"method","aliases":[],"description":"returns the matrix determinant","syntax":["<Matrix>.determinant() -> Number"],"examples":["# Use Matrix.determinant on a Matrix value\nlet value = matrix(1.0);\nprint value.determinant();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Matrix.determinant - returns the matrix determinant\nSyntax:\n  <Matrix>.determinant() -> Number\nExample:\n# Use Matrix.determinant on a Matrix value\n   let value = matrix(1.0);\n   print value.determinant();","compact":"Method: Matrix.determinant - returns the matrix determinant","search_text":"member:Matrix.determinant determinant Matrix.determinant method returns the matrix determinant <Matrix>.determinant() -> Number"},{"id":"member:Matrix.normalise","name":"normalise","path":"Matrix.normalise","kind":"method","aliases":[],"description":"returns the reference determinant-normalised matrix","syntax":["<Matrix>.normalise() -> Matrix"],"examples":["# Use Matrix.normalise on a Matrix value\nlet value = matrix(1.0);\nprint value.normalise();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Matrix.normalise - returns the reference determinant-normalised matrix\nSyntax:\n  <Matrix>.normalise() -> Matrix\nExample:\n# Use Matrix.normalise on a Matrix value\n   let value = matrix(1.0);\n   print value.normalise();","compact":"Method: Matrix.normalise - returns the reference determinant-normalised matrix","search_text":"member:Matrix.normalise normalise Matrix.normalise method returns the reference determinant-normalised matrix <Matrix>.normalise() -> Matrix"},{"id":"member:Matrix.multiply_transpose","name":"multiply_transpose","path":"Matrix.multiply_transpose","kind":"method","aliases":[],"description":"returns transpose(matrix) * vector","syntax":["<Matrix>.multiply_transpose(vector: Vector) -> Vector"],"examples":["# Use Matrix.multiply_transpose on a Matrix value\nlet value = matrix(1.0);\nprint value.multiply_transpose(vector(1.0, 2.0, 3.0));"],"arguments":[{"name":"vector","type":"Vector","required":true,"description":"vector to multiply with this matrix transpose"}],"children":[],"resources":[],"doc":"Method: Matrix.multiply_transpose - returns transpose(matrix) * vector\nSyntax:\n  <Matrix>.multiply_transpose(vector: Vector) -> Vector\nArguments:\n  vector: Vector - vector to multiply with this matrix transpose\nExample:\n# Use Matrix.multiply_transpose on a Matrix value\n   let value = matrix(1.0);\n   print value.multiply_transpose(vector(1.0, 2.0, 3.0));","compact":"Method: Matrix.multiply_transpose - returns transpose(matrix) * vector","search_text":"member:Matrix.multiply_transpose multiply_transpose Matrix.multiply_transpose method returns transpose(matrix) * vector <Matrix>.multiply_transpose(vector: Vector) -> Vector vector Vector vector to multiply with this matrix transpose"},{"id":"member:Matrix.rotate_axis","name":"rotate_axis","path":"Matrix.rotate_axis","kind":"method","aliases":[],"description":"rotates this matrix from one axis convention to another","syntax":["<Matrix>.rotate_axis(from: Axis, to: Axis) -> Matrix"],"examples":["# Use Matrix.rotate_axis on a Matrix value\nlet value = matrix(1.0);\nprint value.rotate_axis(icrf, icrf);"],"arguments":[{"name":"from","type":"Axis","required":true,"description":"source axis such as icrf, tod, ef, or topographic"},{"name":"to","type":"Axis","required":true,"description":"target axis such as icrf, tod, ef, or topographic"}],"children":[],"resources":[],"doc":"Method: Matrix.rotate_axis - rotates this matrix from one axis convention to another\nSyntax:\n  <Matrix>.rotate_axis(from: Axis, to: Axis) -> Matrix\nArguments:\n  from: Axis - source axis such as icrf, tod, ef, or topographic\n  to: Axis - target axis such as icrf, tod, ef, or topographic\nExample:\n# Use Matrix.rotate_axis on a Matrix value\n   let value = matrix(1.0);\n   print value.rotate_axis(icrf, icrf);","compact":"Method: Matrix.rotate_axis - rotates this matrix from one axis convention to another","search_text":"member:Matrix.rotate_axis rotate_axis Matrix.rotate_axis method rotates this matrix from one axis convention to another <Matrix>.rotate_axis(from: Axis, to: Axis) -> Matrix from Axis source axis such as icrf, tod, ef, or topographic to Axis target axis such as icrf, tod, ef, or topographic"},{"id":"member:Matrix.children","name":"children","path":"Matrix.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Matrix>.children() -> List"],"examples":["# Use Matrix.children on a Matrix value\nlet value = matrix(1.0);\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Matrix.children - lists child fields and callable members available on this value\nSyntax:\n  <Matrix>.children() -> List\nExample:\n# Use Matrix.children on a Matrix value\n   let value = matrix(1.0);\n   print value.children();","compact":"Method: Matrix.children - lists child fields and callable members available on this value","search_text":"member:Matrix.children children Matrix.children method lists child fields and callable members available on this value <Matrix>.children() -> List"},{"id":"member:Matrix.fields","name":"fields","path":"Matrix.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Matrix>.fields() -> Object"],"examples":["# Use Matrix.fields on a Matrix value\nlet value = matrix(1.0);\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Matrix.fields - returns an object containing the value's plain fields\nSyntax:\n  <Matrix>.fields() -> Object\nExample:\n# Use Matrix.fields on a Matrix value\n   let value = matrix(1.0);\n   print value.fields();","compact":"Method: Matrix.fields - returns an object containing the value's plain fields","search_text":"member:Matrix.fields fields Matrix.fields method returns an object containing the value's plain fields <Matrix>.fields() -> Object"},{"id":"member:Matrix.functions","name":"functions","path":"Matrix.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Matrix>.functions() -> List"],"examples":["# Use Matrix.functions on a Matrix value\nlet value = matrix(1.0);\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Matrix.functions - lists callable members available on this value\nSyntax:\n  <Matrix>.functions() -> List\nExample:\n# Use Matrix.functions on a Matrix value\n   let value = matrix(1.0);\n   print value.functions();","compact":"Method: Matrix.functions - lists callable members available on this value","search_text":"member:Matrix.functions functions Matrix.functions method lists callable members available on this value <Matrix>.functions() -> List"},{"id":"type:Unit","name":"Unit","path":"Unit","kind":"type","aliases":[],"description":"named unit used when requesting or displaying numeric values","syntax":["unit(name: Text) -> Unit"],"examples":["# Inspect named unit descriptors used by numeric functions\nlet angle_unit = unit(\"deg\");\nlet length_unit = unit(\"km\");\nprint angle_unit.name, angle_unit.dimension, length_unit.factor_to_base;"],"arguments":[{"name":"name","type":"Text","required":true,"description":"unit name such as km, au, deg, or rad"}],"children":["field:Unit.name","field:Unit.dimension","field:Unit.factor_to_base","member:Unit.children","member:Unit.fields","member:Unit.functions"],"resources":[],"doc":"Type: Unit - named unit used when requesting or displaying numeric values\nSyntax:\n  unit(name: Text) -> Unit\nArguments:\n  name: Text - unit name such as km, au, deg, or rad\nChildren: name, dimension, factor_to_base, children(), fields(), functions()\nExample:\n# Inspect named unit descriptors used by numeric functions\n   let angle_unit = unit(\"deg\");\n   let length_unit = unit(\"km\");\n   print angle_unit.name, angle_unit.dimension, length_unit.factor_to_base;","compact":"Type: Unit - named unit used when requesting or displaying numeric values","search_text":"type:Unit Unit Unit type named unit used when requesting or displaying numeric values unit(name: Text) -> Unit name Text unit name such as km, au, deg, or rad"},{"id":"field:Unit.name","name":"name","path":"Unit.name","kind":"field","aliases":[],"description":"canonical unit name","syntax":["<Unit>.name -> Text"],"examples":["# Read the name field from a Unit value\nprint deg.name;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Unit.name - canonical unit name\nSyntax:\n  <Unit>.name -> Text\nExample:\n# Read the name field from a Unit value\n   print deg.name;","compact":"Field: Unit.name - canonical unit name","search_text":"field:Unit.name name Unit.name field canonical unit name <Unit>.name -> Text"},{"id":"field:Unit.dimension","name":"dimension","path":"Unit.dimension","kind":"field","aliases":[],"description":"unit dimension","syntax":["<Unit>.dimension -> Text"],"examples":["# Read the dimension field from a Unit value\nprint deg.dimension;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Unit.dimension - unit dimension\nSyntax:\n  <Unit>.dimension -> Text\nExample:\n# Read the dimension field from a Unit value\n   print deg.dimension;","compact":"Field: Unit.dimension - unit dimension","search_text":"field:Unit.dimension dimension Unit.dimension field unit dimension <Unit>.dimension -> Text"},{"id":"field:Unit.factor_to_base","name":"factor_to_base","path":"Unit.factor_to_base","kind":"field","aliases":[],"description":"factor to km, rad, or seconds depending on dimension","syntax":["<Unit>.factor_to_base -> Number"],"examples":["# Read the factor_to_base field from a Unit value\nprint deg.factor_to_base;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Unit.factor_to_base - factor to km, rad, or seconds depending on dimension\nSyntax:\n  <Unit>.factor_to_base -> Number\nExample:\n# Read the factor_to_base field from a Unit value\n   print deg.factor_to_base;","compact":"Field: Unit.factor_to_base - factor to km, rad, or seconds depending on dimension","search_text":"field:Unit.factor_to_base factor_to_base Unit.factor_to_base field factor to km, rad, or seconds depending on dimension <Unit>.factor_to_base -> Number"},{"id":"member:Unit.children","name":"children","path":"Unit.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Unit>.children() -> List"],"examples":["# Use Unit.children on a Unit value\nlet value = deg;\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Unit.children - lists child fields and callable members available on this value\nSyntax:\n  <Unit>.children() -> List\nExample:\n# Use Unit.children on a Unit value\n   let value = deg;\n   print value.children();","compact":"Method: Unit.children - lists child fields and callable members available on this value","search_text":"member:Unit.children children Unit.children method lists child fields and callable members available on this value <Unit>.children() -> List"},{"id":"member:Unit.fields","name":"fields","path":"Unit.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Unit>.fields() -> Object"],"examples":["# Use Unit.fields on a Unit value\nlet value = deg;\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Unit.fields - returns an object containing the value's plain fields\nSyntax:\n  <Unit>.fields() -> Object\nExample:\n# Use Unit.fields on a Unit value\n   let value = deg;\n   print value.fields();","compact":"Method: Unit.fields - returns an object containing the value's plain fields","search_text":"member:Unit.fields fields Unit.fields method returns an object containing the value's plain fields <Unit>.fields() -> Object"},{"id":"member:Unit.functions","name":"functions","path":"Unit.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Unit>.functions() -> List"],"examples":["# Use Unit.functions on a Unit value\nlet value = deg;\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Unit.functions - lists callable members available on this value\nSyntax:\n  <Unit>.functions() -> List\nExample:\n# Use Unit.functions on a Unit value\n   let value = deg;\n   print value.functions();","compact":"Method: Unit.functions - lists callable members available on this value","search_text":"member:Unit.functions functions Unit.functions method lists callable members available on this value <Unit>.functions() -> List"},{"id":"type:State","name":"State","path":"State","kind":"type","aliases":[],"description":"orbital state backed by ephemeris data with lazy derived fields","syntax":["state(body: Body, time: Time, location: Location, origin: Origin, axis: Axis, correction: Correction, orbit: Orbit, position: Vector, velocity: Vector, mass: Number, xmu: Number) -> State","state(template: State, body: Body) -> State"],"examples":["# Read a body state vector and use position and velocity lengths\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, icrf, no_correction);\nprint st.position().length(), st.velocity().length();"],"arguments":[{"name":"body","type":"Body","required":false,"description":"solar-system body"},{"name":"time","type":"Time","required":false,"description":"time for the state; defaults to current UTC time"},{"name":"location","type":"Location","required":false,"description":"optional observer location"},{"name":"origin","type":"Origin","required":false,"description":"default origin such as barycentric or geocentric"},{"name":"axis","type":"Axis","required":false,"description":"default axis such as icrf, tod, ef, or topographic"},{"name":"correction","type":"Correction","required":false,"description":"default correction model"},{"name":"orbit","type":"Orbit","required":false,"description":"explicit two-body orbit to resolve into a barycentric ICRF state"},{"name":"position","type":"Vector","required":false,"description":"explicit barycentric ICRF position in kilometers"},{"name":"velocity","type":"Vector","required":false,"description":"explicit barycentric ICRF velocity in kilometers per day"},{"name":"mass","type":"Number","required":false,"description":"override body mass in kg for integrated systems"},{"name":"xmu","type":"Number","required":false,"description":"override gravitational parameter in km^3/s^2 for integrated systems"},{"name":"template","type":"State","required":false,"description":"existing state whose time/location/defaults are reused"}],"children":["field:State.body","field:State.time","field:State.location","field:State.origin","field:State.axis","field:State.correction","field:State.ephemeris","field:State.pos_bc_icrf","field:State.vel_bc_icrf","field:State.pos_gc_icrf","field:State.vel_gc_icrf","field:State.pos_gc_tod","field:State.vel_gc_tod","field:State.pos_gc_ef","field:State.vel_gc_ef","member:State.position","member:State.velocity","member:State.ra","member:State.dec","member:State.geocentric","member:State.topographic","member:State.observer","member:State.orbit_around","member:State.shadow","member:State.limb","member:State.profile","member:State.horizon","member:State.children","member:State.fields","member:State.functions"],"resources":[],"doc":"Type: State - orbital state backed by ephemeris data with lazy derived fields\nSyntax:\n  state(body: Body, time: Time, location: Location, origin: Origin, axis: Axis, correction: Correction, orbit: Orbit, position: Vector, velocity: Vector, mass: Number, xmu: Number) -> State\n  state(template: State, body: Body) -> State\nArguments:\n  body: Body [optional] - solar-system body\n  time: Time [optional] - time for the state; defaults to current UTC time\n  location: Location [optional] - optional observer location\n  origin: Origin [optional] - default origin such as barycentric or geocentric\n  axis: Axis [optional] - default axis such as icrf, tod, ef, or topographic\n  correction: Correction [optional] - default correction model\n  orbit: Orbit [optional] - explicit two-body orbit to resolve into a barycentric ICRF state\n  position: Vector [optional] - explicit barycentric ICRF position in kilometers\n  velocity: Vector [optional] - explicit barycentric ICRF velocity in kilometers per day\n  mass: Number [optional] - override body mass in kg for integrated systems\n  xmu: Number [optional] - override gravitational parameter in km^3/s^2 for integrated systems\n  template: State [optional] - existing state whose time/location/defaults are reused\nChildren: body, time, location, origin, axis, correction, ephemeris, pos_bc_icrf, vel_bc_icrf, pos_gc_icrf, vel_gc_icrf, pos_gc_tod, vel_gc_tod, pos_gc_ef, vel_gc_ef, position(), velocity(), ra(), dec(), geocentric(), topographic(), observer(), orbit_around(), shadow(), limb(), profile(), horizon(), children(), fields(), functions()\nExample:\n# Read a body state vector and use position and velocity lengths\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, icrf, no_correction);\n   print st.position().length(), st.velocity().length();","compact":"Type: State - orbital state backed by ephemeris data with lazy derived fields","search_text":"type:State State State type orbital state backed by ephemeris data with lazy derived fields state(body: Body, time: Time, location: Location, origin: Origin, axis: Axis, correction: Correction, orbit: Orbit, position: Vector, velocity: Vector, mass: Number, xmu: Number) -> State state(template: State, body: Body) -> State body Body solar-system body time Time time for the state; defaults to current UTC time location Location optional observer location origin Origin default origin such as barycentric or geocentric axis Axis default axis such as icrf, tod, ef, or topographic correction Correction default correction model orbit Orbit explicit two-body orbit to resolve into a barycentric ICRF state position Vector explicit barycentric ICRF position in kilometers velocity Vector explicit barycentric ICRF velocity in kilometers per day mass Number override body mass in kg for integrated systems xmu Number override gravitational parameter in km^3/s^2 for integrated systems template State existing state whose time/location/defaults are reused"},{"id":"field:State.body","name":"body","path":"State.body","kind":"field","aliases":[],"description":"solar-system body","syntax":["<State>.body -> Body"],"examples":["# Read the body field from a State value\nprint state(sun, time()).body;"],"arguments":[],"children":[],"resources":[],"doc":"Field: State.body - solar-system body\nSyntax:\n  <State>.body -> Body\nExample:\n# Read the body field from a State value\n   print state(sun, time()).body;","compact":"Field: State.body - solar-system body","search_text":"field:State.body body State.body field solar-system body <State>.body -> Body"},{"id":"field:State.time","name":"time","path":"State.time","kind":"field","aliases":[],"description":"time for the state","syntax":["<State>.time -> Time"],"examples":["# Read the time field from a State value\nprint state(sun, time()).time;"],"arguments":[],"children":[],"resources":[],"doc":"Field: State.time - time for the state\nSyntax:\n  <State>.time -> Time\nExample:\n# Read the time field from a State value\n   print state(sun, time()).time;","compact":"Field: State.time - time for the state","search_text":"field:State.time time State.time field time for the state <State>.time -> Time"},{"id":"field:State.location","name":"location","path":"State.location","kind":"field","aliases":[],"description":"optional observer location","syntax":["<State>.location -> Location"],"examples":["# Read the optional location attached to a topographic state\nlet loc = location(latitude: 60.0, longitude: 10.0);\nlet st = state(sun, time(2026,1,1,0,0,0)).topographic(loc);\nprint st.location;"],"arguments":[],"children":[],"resources":[],"doc":"Field: State.location - optional observer location\nSyntax:\n  <State>.location -> Location\nExample:\n# Read the optional location attached to a topographic state\n   let loc = location(latitude: 60.0, longitude: 10.0);\n   let st = state(sun, time(2026,1,1,0,0,0)).topographic(loc);\n   print st.location;","compact":"Field: State.location - optional observer location","search_text":"field:State.location location State.location field optional observer location <State>.location -> Location"},{"id":"field:State.origin","name":"origin","path":"State.origin","kind":"field","aliases":[],"description":"default origin used by retrieval methods","syntax":["<State>.origin -> Origin"],"examples":["# Read the origin field from a State value\nprint state(sun, time()).origin;"],"arguments":[],"children":[],"resources":[],"doc":"Field: State.origin - default origin used by retrieval methods\nSyntax:\n  <State>.origin -> Origin\nExample:\n# Read the origin field from a State value\n   print state(sun, time()).origin;","compact":"Field: State.origin - default origin used by retrieval methods","search_text":"field:State.origin origin State.origin field default origin used by retrieval methods <State>.origin -> Origin"},{"id":"field:State.axis","name":"axis","path":"State.axis","kind":"field","aliases":[],"description":"default axis used by retrieval methods","syntax":["<State>.axis -> Axis"],"examples":["# Read the axis field from a State value\nprint state(sun, time()).axis;"],"arguments":[],"children":[],"resources":[],"doc":"Field: State.axis - default axis used by retrieval methods\nSyntax:\n  <State>.axis -> Axis\nExample:\n# Read the axis field from a State value\n   print state(sun, time()).axis;","compact":"Field: State.axis - default axis used by retrieval methods","search_text":"field:State.axis axis State.axis field default axis used by retrieval methods <State>.axis -> Axis"},{"id":"field:State.correction","name":"correction","path":"State.correction","kind":"field","aliases":[],"description":"default correction model used by retrieval methods","syntax":["<State>.correction -> Correction"],"examples":["# Read the correction field from a State value\nprint state(sun, time()).correction;"],"arguments":[],"children":[],"resources":[],"doc":"Field: State.correction - default correction model used by retrieval methods\nSyntax:\n  <State>.correction -> Correction\nExample:\n# Read the correction field from a State value\n   print state(sun, time()).correction;","compact":"Field: State.correction - default correction model used by retrieval methods","search_text":"field:State.correction correction State.correction field default correction model used by retrieval methods <State>.correction -> Correction"},{"id":"field:State.ephemeris","name":"ephemeris","path":"State.ephemeris","kind":"field","aliases":[],"description":"ephemeris resource path used to create the state","syntax":["<State>.ephemeris -> Text"],"examples":["# Read the ephemeris field from a State value\nprint state(sun, time()).ephemeris;"],"arguments":[],"children":[],"resources":[],"doc":"Field: State.ephemeris - ephemeris resource path used to create the state\nSyntax:\n  <State>.ephemeris -> Text\nExample:\n# Read the ephemeris field from a State value\n   print state(sun, time()).ephemeris;","compact":"Field: State.ephemeris - ephemeris resource path used to create the state","search_text":"field:State.ephemeris ephemeris State.ephemeris field ephemeris resource path used to create the state <State>.ephemeris -> Text"},{"id":"field:State.pos_bc_icrf","name":"pos_bc_icrf","path":"State.pos_bc_icrf","kind":"field","aliases":[],"description":"barycentric ICRF position vector","syntax":["<State>.pos_bc_icrf -> Vector"],"examples":["# Read the pos_bc_icrf field from a State value\nprint state(sun, time()).pos_bc_icrf;"],"arguments":[],"children":[],"resources":[],"doc":"Field: State.pos_bc_icrf - barycentric ICRF position vector\nSyntax:\n  <State>.pos_bc_icrf -> Vector\nExample:\n# Read the pos_bc_icrf field from a State value\n   print state(sun, time()).pos_bc_icrf;","compact":"Field: State.pos_bc_icrf - barycentric ICRF position vector","search_text":"field:State.pos_bc_icrf pos_bc_icrf State.pos_bc_icrf field barycentric ICRF position vector <State>.pos_bc_icrf -> Vector"},{"id":"field:State.vel_bc_icrf","name":"vel_bc_icrf","path":"State.vel_bc_icrf","kind":"field","aliases":[],"description":"barycentric ICRF velocity vector","syntax":["<State>.vel_bc_icrf -> Vector"],"examples":["# Read the vel_bc_icrf field from a State value\nprint state(sun, time()).vel_bc_icrf;"],"arguments":[],"children":[],"resources":[],"doc":"Field: State.vel_bc_icrf - barycentric ICRF velocity vector\nSyntax:\n  <State>.vel_bc_icrf -> Vector\nExample:\n# Read the vel_bc_icrf field from a State value\n   print state(sun, time()).vel_bc_icrf;","compact":"Field: State.vel_bc_icrf - barycentric ICRF velocity vector","search_text":"field:State.vel_bc_icrf vel_bc_icrf State.vel_bc_icrf field barycentric ICRF velocity vector <State>.vel_bc_icrf -> Vector"},{"id":"field:State.pos_gc_icrf","name":"pos_gc_icrf","path":"State.pos_gc_icrf","kind":"field","aliases":[],"description":"geocentric ICRF position vector","syntax":["<State>.pos_gc_icrf -> Vector"],"examples":["# Read the pos_gc_icrf field from a State value\nprint state(sun, time()).pos_gc_icrf;"],"arguments":[],"children":[],"resources":[],"doc":"Field: State.pos_gc_icrf - geocentric ICRF position vector\nSyntax:\n  <State>.pos_gc_icrf -> Vector\nExample:\n# Read the pos_gc_icrf field from a State value\n   print state(sun, time()).pos_gc_icrf;","compact":"Field: State.pos_gc_icrf - geocentric ICRF position vector","search_text":"field:State.pos_gc_icrf pos_gc_icrf State.pos_gc_icrf field geocentric ICRF position vector <State>.pos_gc_icrf -> Vector"},{"id":"field:State.vel_gc_icrf","name":"vel_gc_icrf","path":"State.vel_gc_icrf","kind":"field","aliases":[],"description":"geocentric ICRF velocity vector","syntax":["<State>.vel_gc_icrf -> Vector"],"examples":["# Read the vel_gc_icrf field from a State value\nprint state(sun, time()).vel_gc_icrf;"],"arguments":[],"children":[],"resources":[],"doc":"Field: State.vel_gc_icrf - geocentric ICRF velocity vector\nSyntax:\n  <State>.vel_gc_icrf -> Vector\nExample:\n# Read the vel_gc_icrf field from a State value\n   print state(sun, time()).vel_gc_icrf;","compact":"Field: State.vel_gc_icrf - geocentric ICRF velocity vector","search_text":"field:State.vel_gc_icrf vel_gc_icrf State.vel_gc_icrf field geocentric ICRF velocity vector <State>.vel_gc_icrf -> Vector"},{"id":"field:State.pos_gc_tod","name":"pos_gc_tod","path":"State.pos_gc_tod","kind":"field","aliases":[],"description":"geocentric true-of-date position vector","syntax":["<State>.pos_gc_tod -> Vector"],"examples":["# Read the pos_gc_tod field from a State value\nprint state(sun, time()).pos_gc_tod;"],"arguments":[],"children":[],"resources":[],"doc":"Field: State.pos_gc_tod - geocentric true-of-date position vector\nSyntax:\n  <State>.pos_gc_tod -> Vector\nExample:\n# Read the pos_gc_tod field from a State value\n   print state(sun, time()).pos_gc_tod;","compact":"Field: State.pos_gc_tod - geocentric true-of-date position vector","search_text":"field:State.pos_gc_tod pos_gc_tod State.pos_gc_tod field geocentric true-of-date position vector <State>.pos_gc_tod -> Vector"},{"id":"field:State.vel_gc_tod","name":"vel_gc_tod","path":"State.vel_gc_tod","kind":"field","aliases":[],"description":"geocentric true-of-date velocity vector","syntax":["<State>.vel_gc_tod -> Vector"],"examples":["# Read the vel_gc_tod field from a State value\nprint state(sun, time()).vel_gc_tod;"],"arguments":[],"children":[],"resources":[],"doc":"Field: State.vel_gc_tod - geocentric true-of-date velocity vector\nSyntax:\n  <State>.vel_gc_tod -> Vector\nExample:\n# Read the vel_gc_tod field from a State value\n   print state(sun, time()).vel_gc_tod;","compact":"Field: State.vel_gc_tod - geocentric true-of-date velocity vector","search_text":"field:State.vel_gc_tod vel_gc_tod State.vel_gc_tod field geocentric true-of-date velocity vector <State>.vel_gc_tod -> Vector"},{"id":"field:State.pos_gc_ef","name":"pos_gc_ef","path":"State.pos_gc_ef","kind":"field","aliases":[],"description":"geocentric earth-fixed position vector","syntax":["<State>.pos_gc_ef -> Vector"],"examples":["# Read the pos_gc_ef field from a State value\nprint state(sun, time()).pos_gc_ef;"],"arguments":[],"children":[],"resources":[],"doc":"Field: State.pos_gc_ef - geocentric earth-fixed position vector\nSyntax:\n  <State>.pos_gc_ef -> Vector\nExample:\n# Read the pos_gc_ef field from a State value\n   print state(sun, time()).pos_gc_ef;","compact":"Field: State.pos_gc_ef - geocentric earth-fixed position vector","search_text":"field:State.pos_gc_ef pos_gc_ef State.pos_gc_ef field geocentric earth-fixed position vector <State>.pos_gc_ef -> Vector"},{"id":"field:State.vel_gc_ef","name":"vel_gc_ef","path":"State.vel_gc_ef","kind":"field","aliases":[],"description":"geocentric earth-fixed velocity vector","syntax":["<State>.vel_gc_ef -> Vector"],"examples":["# Read the vel_gc_ef field from a State value\nprint state(sun, time()).vel_gc_ef;"],"arguments":[],"children":[],"resources":[],"doc":"Field: State.vel_gc_ef - geocentric earth-fixed velocity vector\nSyntax:\n  <State>.vel_gc_ef -> Vector\nExample:\n# Read the vel_gc_ef field from a State value\n   print state(sun, time()).vel_gc_ef;","compact":"Field: State.vel_gc_ef - geocentric earth-fixed velocity vector","search_text":"field:State.vel_gc_ef vel_gc_ef State.vel_gc_ef field geocentric earth-fixed velocity vector <State>.vel_gc_ef -> Vector"},{"id":"member:State.position","name":"position","path":"State.position","kind":"method","aliases":[],"description":"returns the position for this state","syntax":["<State>.position(location: Location, origin: Origin, axis: Axis, correction: Correction) -> Vector"],"examples":["# Use State.position on a State value\nlet value = state(sun, time());\nprint value.position();"],"arguments":[{"name":"location","type":"Location","required":false,"description":"optional observer location for topocentric/topographic requests"},{"name":"origin","type":"Origin","required":false,"description":"optional target origin such as barycentric or geocentric"},{"name":"axis","type":"Axis","required":false,"description":"optional target axis such as icrf or earthfixed"},{"name":"correction","type":"Correction","required":false,"description":"optional correction override such as no_correction or all_corrections"}],"children":[],"resources":[],"doc":"Method: State.position - returns the position for this state\nSyntax:\n  <State>.position(location: Location, origin: Origin, axis: Axis, correction: Correction) -> Vector\nArguments:\n  location: Location [optional] - optional observer location for topocentric/topographic requests\n  origin: Origin [optional] - optional target origin such as barycentric or geocentric\n  axis: Axis [optional] - optional target axis such as icrf or earthfixed\n  correction: Correction [optional] - optional correction override such as no_correction or all_corrections\nExample:\n# Use State.position on a State value\n   let value = state(sun, time());\n   print value.position();","compact":"Method: State.position - returns the position for this state","search_text":"member:State.position position State.position method returns the position for this state <State>.position(location: Location, origin: Origin, axis: Axis, correction: Correction) -> Vector location Location optional observer location for topocentric/topographic requests origin Origin optional target origin such as barycentric or geocentric axis Axis optional target axis such as icrf or earthfixed correction Correction optional correction override such as no_correction or all_corrections"},{"id":"member:State.velocity","name":"velocity","path":"State.velocity","kind":"method","aliases":[],"description":"returns the velocity for this state","syntax":["<State>.velocity(location: Location, origin: Origin, axis: Axis, correction: Correction) -> Vector"],"examples":["# Use State.velocity on a State value\nlet value = state(sun, time());\nprint value.velocity();"],"arguments":[{"name":"location","type":"Location","required":false,"description":"optional observer location for topocentric/topographic requests"},{"name":"origin","type":"Origin","required":false,"description":"optional target origin such as barycentric or geocentric"},{"name":"axis","type":"Axis","required":false,"description":"optional target axis such as icrf or earthfixed"},{"name":"correction","type":"Correction","required":false,"description":"optional correction override such as no_correction or all_corrections"}],"children":[],"resources":[],"doc":"Method: State.velocity - returns the velocity for this state\nSyntax:\n  <State>.velocity(location: Location, origin: Origin, axis: Axis, correction: Correction) -> Vector\nArguments:\n  location: Location [optional] - optional observer location for topocentric/topographic requests\n  origin: Origin [optional] - optional target origin such as barycentric or geocentric\n  axis: Axis [optional] - optional target axis such as icrf or earthfixed\n  correction: Correction [optional] - optional correction override such as no_correction or all_corrections\nExample:\n# Use State.velocity on a State value\n   let value = state(sun, time());\n   print value.velocity();","compact":"Method: State.velocity - returns the velocity for this state","search_text":"member:State.velocity velocity State.velocity method returns the velocity for this state <State>.velocity(location: Location, origin: Origin, axis: Axis, correction: Correction) -> Vector location Location optional observer location for topocentric/topographic requests origin Origin optional target origin such as barycentric or geocentric axis Axis optional target axis such as icrf or earthfixed correction Correction optional correction override such as no_correction or all_corrections"},{"id":"member:State.ra","name":"ra","path":"State.ra","kind":"method","aliases":[],"description":"returns right ascension for this state position; right_ascension is an alias","syntax":["<State>.ra(location: Location, origin: Origin, axis: Axis, correction: Correction, unit: Unit) -> Number"],"examples":["# Use State.ra on a State value\nlet value = state(sun, time());\nprint value.ra();"],"arguments":[{"name":"location","type":"Location","required":false,"description":"optional observer location for topocentric/topographic requests"},{"name":"origin","type":"Origin","required":false,"description":"optional target origin such as barycentric or geocentric"},{"name":"axis","type":"Axis","required":false,"description":"optional target axis such as icrf or true-of-date"},{"name":"correction","type":"Correction","required":false,"description":"optional correction override such as no_correction or all_corrections"},{"name":"unit","type":"Unit","required":false,"description":"optional angle unit; degrees by default"}],"children":[],"resources":[],"doc":"Method: State.ra - returns right ascension for this state position; right_ascension is an alias\nSyntax:\n  <State>.ra(location: Location, origin: Origin, axis: Axis, correction: Correction, unit: Unit) -> Number\nArguments:\n  location: Location [optional] - optional observer location for topocentric/topographic requests\n  origin: Origin [optional] - optional target origin such as barycentric or geocentric\n  axis: Axis [optional] - optional target axis such as icrf or true-of-date\n  correction: Correction [optional] - optional correction override such as no_correction or all_corrections\n  unit: Unit [optional] - optional angle unit; degrees by default\nExample:\n# Use State.ra on a State value\n   let value = state(sun, time());\n   print value.ra();","compact":"Method: State.ra - returns right ascension for this state position; right_ascension is an alias","search_text":"member:State.ra ra State.ra method returns right ascension for this state position; right_ascension is an alias <State>.ra(location: Location, origin: Origin, axis: Axis, correction: Correction, unit: Unit) -> Number location Location optional observer location for topocentric/topographic requests origin Origin optional target origin such as barycentric or geocentric axis Axis optional target axis such as icrf or true-of-date correction Correction optional correction override such as no_correction or all_corrections unit Unit optional angle unit; degrees by default"},{"id":"member:State.dec","name":"dec","path":"State.dec","kind":"method","aliases":[],"description":"returns declination for this state position; declination is an alias","syntax":["<State>.dec(location: Location, origin: Origin, axis: Axis, correction: Correction, unit: Unit) -> Number"],"examples":["# Use State.dec on a State value\nlet value = state(sun, time());\nprint value.dec();"],"arguments":[{"name":"location","type":"Location","required":false,"description":"optional observer location for topocentric/topographic requests"},{"name":"origin","type":"Origin","required":false,"description":"optional target origin such as barycentric or geocentric"},{"name":"axis","type":"Axis","required":false,"description":"optional target axis such as icrf or true-of-date"},{"name":"correction","type":"Correction","required":false,"description":"optional correction override such as no_correction or all_corrections"},{"name":"unit","type":"Unit","required":false,"description":"optional angle unit; degrees by default"}],"children":[],"resources":[],"doc":"Method: State.dec - returns declination for this state position; declination is an alias\nSyntax:\n  <State>.dec(location: Location, origin: Origin, axis: Axis, correction: Correction, unit: Unit) -> Number\nArguments:\n  location: Location [optional] - optional observer location for topocentric/topographic requests\n  origin: Origin [optional] - optional target origin such as barycentric or geocentric\n  axis: Axis [optional] - optional target axis such as icrf or true-of-date\n  correction: Correction [optional] - optional correction override such as no_correction or all_corrections\n  unit: Unit [optional] - optional angle unit; degrees by default\nExample:\n# Use State.dec on a State value\n   let value = state(sun, time());\n   print value.dec();","compact":"Method: State.dec - returns declination for this state position; declination is an alias","search_text":"member:State.dec dec State.dec method returns declination for this state position; declination is an alias <State>.dec(location: Location, origin: Origin, axis: Axis, correction: Correction, unit: Unit) -> Number location Location optional observer location for topocentric/topographic requests origin Origin optional target origin such as barycentric or geocentric axis Axis optional target axis such as icrf or true-of-date correction Correction optional correction override such as no_correction or all_corrections unit Unit optional angle unit; degrees by default"},{"id":"member:State.geocentric","name":"geocentric","path":"State.geocentric","kind":"method","aliases":[],"description":"converts this state to a geocentric frame","syntax":["<State>.geocentric() -> State"],"examples":["# Use State.geocentric on a State value\nlet value = state(sun, time());\nprint value.geocentric();"],"arguments":[],"children":[],"resources":[],"doc":"Method: State.geocentric - converts this state to a geocentric frame\nSyntax:\n  <State>.geocentric() -> State\nExample:\n# Use State.geocentric on a State value\n   let value = state(sun, time());\n   print value.geocentric();","compact":"Method: State.geocentric - converts this state to a geocentric frame","search_text":"member:State.geocentric geocentric State.geocentric method converts this state to a geocentric frame <State>.geocentric() -> State"},{"id":"member:State.topographic","name":"topographic","path":"State.topographic","kind":"method","aliases":[],"description":"converts this state to an observer-relative topographic frame","syntax":["<State>.topographic(location: Location) -> State"],"examples":["# Convert a state vector to an explicit location-relative frame\nlet loc = location(latitude: 60.0, longitude: 10.0);\nlet st = state(sun, time(2026,1,1,0,0,0));\nprint st.topographic(loc);"],"arguments":[{"name":"location","type":"Location","required":true,"description":"observer location"}],"children":[],"resources":[],"doc":"Method: State.topographic - converts this state to an observer-relative topographic frame\nSyntax:\n  <State>.topographic(location: Location) -> State\nArguments:\n  location: Location - observer location\nExample:\n# Convert a state vector to an explicit location-relative frame\n   let loc = location(latitude: 60.0, longitude: 10.0);\n   let st = state(sun, time(2026,1,1,0,0,0));\n   print st.topographic(loc);","compact":"Method: State.topographic - converts this state to an observer-relative topographic frame","search_text":"member:State.topographic topographic State.topographic method converts this state to an observer-relative topographic frame <State>.topographic(location: Location) -> State location Location observer location"},{"id":"member:State.observer","name":"observer","path":"State.observer","kind":"method","aliases":[],"description":"creates a body-fixed 3D observer for this state body","syntax":["<State>.observer(position_or_location: Vector|Location, zenith_or_height: Vector|Number) -> Observer"],"examples":["# Build an observer on the same body as a state\nlet loc = location(latitude: 60.0, longitude: 10.0);\nlet st = state(earth, time(2026,1,1,0,0,0));\nprint st.observer(loc).height();"],"arguments":[{"name":"position_or_location","type":"Vector|Location","required":true,"description":"body-fixed observer position vector, or matching body location"},{"name":"zenith_or_height","type":"Vector|Number","required":false,"description":"zenith vector for a position, or height in kilometers for a location"}],"children":[],"resources":[],"doc":"Method: State.observer - creates a body-fixed 3D observer for this state body\nSyntax:\n  <State>.observer(position_or_location: Vector|Location, zenith_or_height: Vector|Number) -> Observer\nArguments:\n  position_or_location: Vector|Location - body-fixed observer position vector, or matching body location\n  zenith_or_height: Vector|Number [optional] - zenith vector for a position, or height in kilometers for a location\nExample:\n# Build an observer on the same body as a state\n   let loc = location(latitude: 60.0, longitude: 10.0);\n   let st = state(earth, time(2026,1,1,0,0,0));\n   print st.observer(loc).height();","compact":"Method: State.observer - creates a body-fixed 3D observer for this state body","search_text":"member:State.observer observer State.observer method creates a body-fixed 3D observer for this state body <State>.observer(position_or_location: Vector|Location, zenith_or_height: Vector|Number) -> Observer position_or_location Vector|Location body-fixed observer position vector, or matching body location zenith_or_height Vector|Number zenith vector for a position, or height in kilometers for a location"},{"id":"member:State.orbit_around","name":"orbit_around","path":"State.orbit_around","kind":"method","aliases":[],"description":"creates an osculating orbit around a central state","syntax":["<State>.orbit_around(central: State, axis: Axis) -> Orbit"],"examples":["# Derive an orbit for one state around another\nlet t = time(2026,1,1,0,0,0);\nlet earth_state = state(earth, t, barycentric, icrf, no_correction);\nlet sun_state = state(sun, t, barycentric, icrf, no_correction);\nprint earth_state.orbit_around(sun_state).elements().e;"],"arguments":[{"name":"central","type":"State","required":true,"description":"central body state at the same epoch"},{"name":"axis","type":"Axis","required":false,"description":"non-rotating element axis, icrf by default; tod is also accepted"}],"children":[],"resources":[],"doc":"Method: State.orbit_around - creates an osculating orbit around a central state\nSyntax:\n  <State>.orbit_around(central: State, axis: Axis) -> Orbit\nArguments:\n  central: State - central body state at the same epoch\n  axis: Axis [optional] - non-rotating element axis, icrf by default; tod is also accepted\nExample:\n# Derive an orbit for one state around another\n   let t = time(2026,1,1,0,0,0);\n   let earth_state = state(earth, t, barycentric, icrf, no_correction);\n   let sun_state = state(sun, t, barycentric, icrf, no_correction);\n   print earth_state.orbit_around(sun_state).elements().e;","compact":"Method: State.orbit_around - creates an osculating orbit around a central state","search_text":"member:State.orbit_around orbit_around State.orbit_around method creates an osculating orbit around a central state <State>.orbit_around(central: State, axis: Axis) -> Orbit central State central body state at the same epoch axis Axis non-rotating element axis, icrf by default; tod is also accepted"},{"id":"member:State.shadow","name":"shadow","path":"State.shadow","kind":"method","aliases":[],"description":"creates an instantaneous shadow geometry value","syntax":["<State>.shadow(blocker: Body) -> Shadow"],"examples":["# Compute the Moon shadow on Earth from an Earth state\nlet earth_state = state(earth, time(2024,4,8,18,40,0));\nprint earth_state.shadow(moon).available();"],"arguments":[{"name":"blocker","type":"Body","required":true,"description":"body casting the sunlight shadow"}],"children":[],"resources":[],"doc":"Method: State.shadow - creates an instantaneous shadow geometry value\nSyntax:\n  <State>.shadow(blocker: Body) -> Shadow\nArguments:\n  blocker: Body - body casting the sunlight shadow\nExample:\n# Compute the Moon shadow on Earth from an Earth state\n   let earth_state = state(earth, time(2024,4,8,18,40,0));\n   print earth_state.shadow(moon).available();","compact":"Method: State.shadow - creates an instantaneous shadow geometry value","search_text":"member:State.shadow shadow State.shadow method creates an instantaneous shadow geometry value <State>.shadow(blocker: Body) -> Shadow blocker Body body casting the sunlight shadow"},{"id":"member:State.limb","name":"limb","path":"State.limb","kind":"method","aliases":[],"description":"computes the apparent limb profile from a body-fixed observer vector","syntax":["<State>.limb(observer: Vector, north: Vector, samples: Number) -> Array"],"examples":["# Compute a sampled apparent limb profile from an outside observer\nlet obs = location(latitude: 0, longitude: 0).observer(0.052);\nlet st = state(moon, time(2026,4,27,8,26,0));\nprint st.limb(obs, 8).length();"],"arguments":[{"name":"observer","type":"Vector","required":true,"description":"body-fixed center-to-observer vector in kilometers"},{"name":"north","type":"Vector","required":false,"description":"direction projected as clock-angle zero; defaults to body north"},{"name":"samples","type":"Number","required":false,"description":"number of limb samples; defaults to 360"}],"children":[],"resources":[],"doc":"Method: State.limb - computes the apparent limb profile from a body-fixed observer vector\nSyntax:\n  <State>.limb(observer: Vector, north: Vector, samples: Number) -> Array\nArguments:\n  observer: Vector - body-fixed center-to-observer vector in kilometers\n  north: Vector [optional] - direction projected as clock-angle zero; defaults to body north\n  samples: Number [optional] - number of limb samples; defaults to 360\nExample:\n# Compute a sampled apparent limb profile from an outside observer\n   let obs = location(latitude: 0, longitude: 0).observer(0.052);\n   let st = state(moon, time(2026,4,27,8,26,0));\n   print st.limb(obs, 8).length();","compact":"Method: State.limb - computes the apparent limb profile from a body-fixed observer vector","search_text":"member:State.limb limb State.limb method computes the apparent limb profile from a body-fixed observer vector <State>.limb(observer: Vector, north: Vector, samples: Number) -> Array observer Vector body-fixed center-to-observer vector in kilometers north Vector direction projected as clock-angle zero; defaults to body north samples Number number of limb samples; defaults to 360"},{"id":"member:State.profile","name":"profile","path":"State.profile","kind":"method","aliases":[],"description":"alias for limb()","syntax":["<State>.profile(observer: Vector, north: Vector, samples: Number) -> Array"],"examples":["# Compute a compact apparent profile from an outside observer\nlet obs = location(latitude: 0, longitude: 0).observer(0.052);\nlet st = state(moon, time(2026,4,27,8,26,0));\nprint st.profile(obs, 8).length();"],"arguments":[{"name":"observer","type":"Vector","required":true,"description":"body-fixed center-to-observer vector in kilometers"},{"name":"north","type":"Vector","required":false,"description":"direction projected as clock-angle zero; defaults to body north"},{"name":"samples","type":"Number","required":false,"description":"number of limb samples; defaults to 360"}],"children":[],"resources":[],"doc":"Method: State.profile - alias for limb()\nSyntax:\n  <State>.profile(observer: Vector, north: Vector, samples: Number) -> Array\nArguments:\n  observer: Vector - body-fixed center-to-observer vector in kilometers\n  north: Vector [optional] - direction projected as clock-angle zero; defaults to body north\n  samples: Number [optional] - number of limb samples; defaults to 360\nExample:\n# Compute a compact apparent profile from an outside observer\n   let obs = location(latitude: 0, longitude: 0).observer(0.052);\n   let st = state(moon, time(2026,4,27,8,26,0));\n   print st.profile(obs, 8).length();","compact":"Method: State.profile - alias for limb()","search_text":"member:State.profile profile State.profile method alias for limb() <State>.profile(observer: Vector, north: Vector, samples: Number) -> Array observer Vector body-fixed center-to-observer vector in kilometers north Vector direction projected as clock-angle zero; defaults to body north samples Number number of limb samples; defaults to 360"},{"id":"member:State.horizon","name":"horizon","path":"State.horizon","kind":"method","aliases":[],"description":"returns local topographic horizon altitude for one heading or all azimuths","syntax":["<State>.horizon(observer: Observer|Location, heading: Heading|Vector, samples: Number) -> Object|Array"],"examples":["# Build a small Earth horizon profile for an explicit observer\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(1.5);\nlet st = state(earth, time(2026,1,1,0,0,0));\nprint st.horizon(obs, 8).available();"],"arguments":[{"name":"observer","type":"Observer|Location","required":true,"description":"Earth observer, or Earth location promoted to zero-height observer"},{"name":"heading","type":"Heading|Vector","required":false,"description":"optional compass heading or local topographic vector; omit for a full profile"},{"name":"samples","type":"Number","required":false,"description":"number of horizon profile samples; defaults to 360 when heading is omitted"}],"children":[],"resources":[],"doc":"Method: State.horizon - returns local topographic horizon altitude for one heading or all azimuths\nSyntax:\n  <State>.horizon(observer: Observer|Location, heading: Heading|Vector, samples: Number) -> Object|Array\nArguments:\n  observer: Observer|Location - Earth observer, or Earth location promoted to zero-height observer\n  heading: Heading|Vector [optional] - optional compass heading or local topographic vector; omit for a full profile\n  samples: Number [optional] - number of horizon profile samples; defaults to 360 when heading is omitted\nExample:\n# Build a small Earth horizon profile for an explicit observer\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(1.5);\n   let st = state(earth, time(2026,1,1,0,0,0));\n   print st.horizon(obs, 8).available();","compact":"Method: State.horizon - returns local topographic horizon altitude for one heading or all azimuths","search_text":"member:State.horizon horizon State.horizon method returns local topographic horizon altitude for one heading or all azimuths <State>.horizon(observer: Observer|Location, heading: Heading|Vector, samples: Number) -> Object|Array observer Observer|Location Earth observer, or Earth location promoted to zero-height observer heading Heading|Vector optional compass heading or local topographic vector; omit for a full profile samples Number number of horizon profile samples; defaults to 360 when heading is omitted"},{"id":"member:State.children","name":"children","path":"State.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<State>.children() -> List"],"examples":["# Use State.children on a State value\nlet value = state(sun, time());\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: State.children - lists child fields and callable members available on this value\nSyntax:\n  <State>.children() -> List\nExample:\n# Use State.children on a State value\n   let value = state(sun, time());\n   print value.children();","compact":"Method: State.children - lists child fields and callable members available on this value","search_text":"member:State.children children State.children method lists child fields and callable members available on this value <State>.children() -> List"},{"id":"member:State.fields","name":"fields","path":"State.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<State>.fields() -> Object"],"examples":["# Use State.fields on a State value\nlet value = state(sun, time());\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: State.fields - returns an object containing the value's plain fields\nSyntax:\n  <State>.fields() -> Object\nExample:\n# Use State.fields on a State value\n   let value = state(sun, time());\n   print value.fields();","compact":"Method: State.fields - returns an object containing the value's plain fields","search_text":"member:State.fields fields State.fields method returns an object containing the value's plain fields <State>.fields() -> Object"},{"id":"member:State.functions","name":"functions","path":"State.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<State>.functions() -> List"],"examples":["# Use State.functions on a State value\nlet value = state(sun, time());\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: State.functions - lists callable members available on this value\nSyntax:\n  <State>.functions() -> List\nExample:\n# Use State.functions on a State value\n   let value = state(sun, time());\n   print value.functions();","compact":"Method: State.functions - lists callable members available on this value","search_text":"member:State.functions functions State.functions method lists callable members available on this value <State>.functions() -> List"},{"id":"type:Places","name":"Places","path":"Places","kind":"type","aliases":[],"description":"GeoNames place lookup database handle","syntax":["places(name: Text|Number, id: Number, country: Text|Country|Place, admin1: Text|Admin1|Admin2|Place, admin2: Text|Admin2|Place, limit: Number) -> Places"],"examples":["# Search the place database and project names and coordinates\nlet hit = places().find(\"Stavanger\");\nprint hit.name, hit.latitude, hit.longitude;"],"arguments":[{"name":"name","type":"Text|Number","required":false,"description":"place name or search text used to narrow this places view"},{"name":"id","type":"Number","required":false,"description":"GeoNames id used to narrow this places view"},{"name":"country","type":"Text|Country|Place","required":false,"description":"country filter for this places view"},{"name":"admin1","type":"Text|Admin1|Admin2|Place","required":false,"description":"admin1 filter for this places view"},{"name":"admin2","type":"Text|Admin2|Place","required":false,"description":"admin2 filter for this places view"},{"name":"limit","type":"Number","required":false,"description":"maximum number of name matches retained by this places view"}],"children":["field:Places.count","field:Places.type_count","member:Places.first","member:Places.all","member:Places.find","member:Places.search","member:Places.nearest","member:Places.nearby","member:Places.index","member:Places.types","member:Places.children","member:Places.fields","member:Places.functions"],"resources":[],"doc":"Type: Places - GeoNames place lookup database handle\nSyntax:\n  places(name: Text|Number, id: Number, country: Text|Country|Place, admin1: Text|Admin1|Admin2|Place, admin2: Text|Admin2|Place, limit: Number) -> Places\nArguments:\n  name: Text|Number [optional] - place name or search text used to narrow this places view\n  id: Number [optional] - GeoNames id used to narrow this places view\n  country: Text|Country|Place [optional] - country filter for this places view\n  admin1: Text|Admin1|Admin2|Place [optional] - admin1 filter for this places view\n  admin2: Text|Admin2|Place [optional] - admin2 filter for this places view\n  limit: Number [optional] - maximum number of name matches retained by this places view\nChildren: count, type_count, first(), all(), find(), search(), nearest(), nearby(), index(), types(), children(), fields(), functions()\nExample:\n# Search the place database and project names and coordinates\n   let hit = places().find(\"Stavanger\");\n   print hit.name, hit.latitude, hit.longitude;","compact":"Type: Places - GeoNames place lookup database handle","search_text":"type:Places Places Places type GeoNames place lookup database handle places(name: Text|Number, id: Number, country: Text|Country|Place, admin1: Text|Admin1|Admin2|Place, admin2: Text|Admin2|Place, limit: Number) -> Places name Text|Number place name or search text used to narrow this places view id Number GeoNames id used to narrow this places view country Text|Country|Place country filter for this places view admin1 Text|Admin1|Admin2|Place admin1 filter for this places view admin2 Text|Admin2|Place admin2 filter for this places view limit Number maximum number of name matches retained by this places view"},{"id":"field:Places.count","name":"count","path":"Places.count","kind":"field","aliases":[],"description":"number of retained GeoNames place records","syntax":["<Places>.count -> Number"],"examples":["# Count records in the configured place database\nlet db = places();\nprint db.count;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Places.count - number of retained GeoNames place records\nSyntax:\n  <Places>.count -> Number\nExample:\n# Count records in the configured place database\n   let db = places();\n   print db.count;","compact":"Field: Places.count - number of retained GeoNames place records","search_text":"field:Places.count count Places.count field number of retained GeoNames place records <Places>.count -> Number"},{"id":"field:Places.type_count","name":"type_count","path":"Places.type_count","kind":"field","aliases":[],"description":"number of retained GeoNames feature-code place types","syntax":["<Places>.type_count -> Number"],"examples":["# Read the type_count field from a Places value\nprint places().type_count;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Places.type_count - number of retained GeoNames feature-code place types\nSyntax:\n  <Places>.type_count -> Number\nExample:\n# Read the type_count field from a Places value\n   print places().type_count;","compact":"Field: Places.type_count - number of retained GeoNames feature-code place types","search_text":"field:Places.type_count type_count Places.type_count field number of retained GeoNames feature-code place types <Places>.type_count -> Number"},{"id":"member:Places.first","name":"first","path":"Places.first","kind":"method","aliases":[],"description":"returns the first place in this places view","syntax":["<Places>.first() -> Place|Unavailable"],"examples":["# Use Places.first on a Places value\nlet value = places();\nprint value.first();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Places.first - returns the first place in this places view\nSyntax:\n  <Places>.first() -> Place|Unavailable\nExample:\n# Use Places.first on a Places value\n   let value = places();\n   print value.first();","compact":"Method: Places.first - returns the first place in this places view","search_text":"member:Places.first first Places.first method returns the first place in this places view <Places>.first() -> Place|Unavailable"},{"id":"member:Places.all","name":"all","path":"Places.all","kind":"method","aliases":[],"description":"lists places from this places view","syntax":["<Places>.all(limit: Number) -> List"],"examples":["# Use Places.all on a Places value\nlet value = places();\nprint value.all();"],"arguments":[{"name":"limit","type":"Number","required":false,"description":"maximum number of places to return; defaults to 10"}],"children":[],"resources":[],"doc":"Method: Places.all - lists places from this places view\nSyntax:\n  <Places>.all(limit: Number) -> List\nArguments:\n  limit: Number [optional] - maximum number of places to return; defaults to 10\nExample:\n# Use Places.all on a Places value\n   let value = places();\n   print value.all();","compact":"Method: Places.all - lists places from this places view","search_text":"member:Places.all all Places.all method lists places from this places view <Places>.all(limit: Number) -> List limit Number maximum number of places to return; defaults to 10"},{"id":"member:Places.find","name":"find","path":"Places.find","kind":"method","aliases":[],"description":"finds the most important exact place-name match","syntax":["<Places>.find(name: Text|Number, country: Text|Country|Admin1|Admin2|Place, admin1: Text|Admin1|Admin2|Place, admin2: Text|Admin2|Place, kind: Text, population: Number, importance: Number) -> Place|Unavailable"],"examples":["# Use Places.find on a Places value\nlet value = places();\nprint value.find(\"value\");"],"arguments":[{"name":"name","type":"Text|Number","required":true,"description":"place name or GeoNames id"},{"name":"country","type":"Text|Country|Admin1|Admin2|Place","required":false,"description":"ISO-3166 alpha-2 code or country name used to narrow matches"},{"name":"admin1","type":"Text|Admin1|Admin2|Place","required":false,"description":"first-level GeoNames admin code used to narrow matches"},{"name":"admin2","type":"Text|Admin2|Place","required":false,"description":"second-level GeoNames admin code used to narrow matches"},{"name":"kind","type":"Text","required":false,"description":"place kind such as city, town, village, country, or a GeoNames feature code"},{"name":"population","type":"Number","required":false,"description":"minimum population used to narrow matches"},{"name":"importance","type":"Number","required":false,"description":"minimum place importance used to narrow matches"}],"children":[],"resources":[],"doc":"Method: Places.find - finds the most important exact place-name match\nSyntax:\n  <Places>.find(name: Text|Number, country: Text|Country|Admin1|Admin2|Place, admin1: Text|Admin1|Admin2|Place, admin2: Text|Admin2|Place, kind: Text, population: Number, importance: Number) -> Place|Unavailable\nArguments:\n  name: Text|Number - place name or GeoNames id\n  country: Text|Country|Admin1|Admin2|Place [optional] - ISO-3166 alpha-2 code or country name used to narrow matches\n  admin1: Text|Admin1|Admin2|Place [optional] - first-level GeoNames admin code used to narrow matches\n  admin2: Text|Admin2|Place [optional] - second-level GeoNames admin code used to narrow matches\n  kind: Text [optional] - place kind such as city, town, village, country, or a GeoNames feature code\n  population: Number [optional] - minimum population used to narrow matches\n  importance: Number [optional] - minimum place importance used to narrow matches\nExample:\n# Use Places.find on a Places value\n   let value = places();\n   print value.find(\"value\");","compact":"Method: Places.find - finds the most important exact place-name match","search_text":"member:Places.find find Places.find method finds the most important exact place-name match <Places>.find(name: Text|Number, country: Text|Country|Admin1|Admin2|Place, admin1: Text|Admin1|Admin2|Place, admin2: Text|Admin2|Place, kind: Text, population: Number, importance: Number) -> Place|Unavailable name Text|Number place name or GeoNames id country Text|Country|Admin1|Admin2|Place ISO-3166 alpha-2 code or country name used to narrow matches admin1 Text|Admin1|Admin2|Place first-level GeoNames admin code used to narrow matches admin2 Text|Admin2|Place second-level GeoNames admin code used to narrow matches kind Text place kind such as city, town, village, country, or a GeoNames feature code population Number minimum population used to narrow matches importance Number minimum place importance used to narrow matches"},{"id":"member:Places.search","name":"search","path":"Places.search","kind":"method","aliases":[],"description":"lists exact and prefix place-name matches by importance","syntax":["<Places>.search(name: Text|Number, country: Text|Country|Admin1|Admin2|Place, admin1: Text|Admin1|Admin2|Place, admin2: Text|Admin2|Place, kind: Text, population: Number, importance: Number, limit: Number) -> List"],"examples":["# Use Places.search on a Places value\nlet value = places();\nprint value.search(\"value\");"],"arguments":[{"name":"name","type":"Text|Number","required":true,"description":"place name or GeoNames id"},{"name":"country","type":"Text|Country|Admin1|Admin2|Place","required":false,"description":"ISO-3166 alpha-2 code or country name used to narrow matches"},{"name":"admin1","type":"Text|Admin1|Admin2|Place","required":false,"description":"first-level GeoNames admin code used to narrow matches"},{"name":"admin2","type":"Text|Admin2|Place","required":false,"description":"second-level GeoNames admin code used to narrow matches"},{"name":"kind","type":"Text","required":false,"description":"place kind such as city, town, village, country, or a GeoNames feature code"},{"name":"population","type":"Number","required":false,"description":"minimum population used to narrow matches"},{"name":"importance","type":"Number","required":false,"description":"minimum place importance used to narrow matches"},{"name":"limit","type":"Number","required":false,"description":"maximum number of places to return"}],"children":[],"resources":[],"doc":"Method: Places.search - lists exact and prefix place-name matches by importance\nSyntax:\n  <Places>.search(name: Text|Number, country: Text|Country|Admin1|Admin2|Place, admin1: Text|Admin1|Admin2|Place, admin2: Text|Admin2|Place, kind: Text, population: Number, importance: Number, limit: Number) -> List\nArguments:\n  name: Text|Number - place name or GeoNames id\n  country: Text|Country|Admin1|Admin2|Place [optional] - ISO-3166 alpha-2 code or country name used to narrow matches\n  admin1: Text|Admin1|Admin2|Place [optional] - first-level GeoNames admin code used to narrow matches\n  admin2: Text|Admin2|Place [optional] - second-level GeoNames admin code used to narrow matches\n  kind: Text [optional] - place kind such as city, town, village, country, or a GeoNames feature code\n  population: Number [optional] - minimum population used to narrow matches\n  importance: Number [optional] - minimum place importance used to narrow matches\n  limit: Number [optional] - maximum number of places to return\nExample:\n# Use Places.search on a Places value\n   let value = places();\n   print value.search(\"value\");","compact":"Method: Places.search - lists exact and prefix place-name matches by importance","search_text":"member:Places.search search Places.search method lists exact and prefix place-name matches by importance <Places>.search(name: Text|Number, country: Text|Country|Admin1|Admin2|Place, admin1: Text|Admin1|Admin2|Place, admin2: Text|Admin2|Place, kind: Text, population: Number, importance: Number, limit: Number) -> List name Text|Number place name or GeoNames id country Text|Country|Admin1|Admin2|Place ISO-3166 alpha-2 code or country name used to narrow matches admin1 Text|Admin1|Admin2|Place first-level GeoNames admin code used to narrow matches admin2 Text|Admin2|Place second-level GeoNames admin code used to narrow matches kind Text place kind such as city, town, village, country, or a GeoNames feature code population Number minimum population used to narrow matches importance Number minimum place importance used to narrow matches limit Number maximum number of places to return"},{"id":"member:Places.nearest","name":"nearest","path":"Places.nearest","kind":"method","aliases":[],"description":"finds the closest important place to an Earth location","syntax":["<Places>.nearest(location: Location, country: Text|Country|Admin1|Admin2|Place, admin1: Text|Admin1|Admin2|Place, admin2: Text|Admin2|Place, kind: Text, population: Number, importance: Number) -> Place|Unavailable"],"examples":["# Use Places.nearest on a Places value\nlet value = places();\nprint value.nearest(location(latitude: 60.0, longitude: 270.0));"],"arguments":[{"name":"location","type":"Location","required":true,"description":"Earth location to search around"},{"name":"country","type":"Text|Country|Admin1|Admin2|Place","required":false,"description":"ISO-3166 alpha-2 code or country name used to narrow matches"},{"name":"admin1","type":"Text|Admin1|Admin2|Place","required":false,"description":"first-level GeoNames admin code used to narrow matches"},{"name":"admin2","type":"Text|Admin2|Place","required":false,"description":"second-level GeoNames admin code used to narrow matches"},{"name":"kind","type":"Text","required":false,"description":"place kind such as city, town, village, country, or a GeoNames feature code"},{"name":"population","type":"Number","required":false,"description":"minimum population used to narrow matches"},{"name":"importance","type":"Number","required":false,"description":"minimum place importance used to narrow matches"}],"children":[],"resources":[],"doc":"Method: Places.nearest - finds the closest important place to an Earth location\nSyntax:\n  <Places>.nearest(location: Location, country: Text|Country|Admin1|Admin2|Place, admin1: Text|Admin1|Admin2|Place, admin2: Text|Admin2|Place, kind: Text, population: Number, importance: Number) -> Place|Unavailable\nArguments:\n  location: Location - Earth location to search around\n  country: Text|Country|Admin1|Admin2|Place [optional] - ISO-3166 alpha-2 code or country name used to narrow matches\n  admin1: Text|Admin1|Admin2|Place [optional] - first-level GeoNames admin code used to narrow matches\n  admin2: Text|Admin2|Place [optional] - second-level GeoNames admin code used to narrow matches\n  kind: Text [optional] - place kind such as city, town, village, country, or a GeoNames feature code\n  population: Number [optional] - minimum population used to narrow matches\n  importance: Number [optional] - minimum place importance used to narrow matches\nExample:\n# Use Places.nearest on a Places value\n   let value = places();\n   print value.nearest(location(latitude: 60.0, longitude: 270.0));","compact":"Method: Places.nearest - finds the closest important place to an Earth location","search_text":"member:Places.nearest nearest Places.nearest method finds the closest important place to an Earth location <Places>.nearest(location: Location, country: Text|Country|Admin1|Admin2|Place, admin1: Text|Admin1|Admin2|Place, admin2: Text|Admin2|Place, kind: Text, population: Number, importance: Number) -> Place|Unavailable location Location Earth location to search around country Text|Country|Admin1|Admin2|Place ISO-3166 alpha-2 code or country name used to narrow matches admin1 Text|Admin1|Admin2|Place first-level GeoNames admin code used to narrow matches admin2 Text|Admin2|Place second-level GeoNames admin code used to narrow matches kind Text place kind such as city, town, village, country, or a GeoNames feature code population Number minimum population used to narrow matches importance Number minimum place importance used to narrow matches"},{"id":"member:Places.nearby","name":"nearby","path":"Places.nearby","kind":"method","aliases":[],"description":"lists nearby places ranked by distance and importance","syntax":["<Places>.nearby(location: Location, country: Text|Country|Admin1|Admin2|Place, admin1: Text|Admin1|Admin2|Place, admin2: Text|Admin2|Place, kind: Text, population: Number, importance: Number, limit: Number) -> List"],"examples":["# Use Places.nearby on a Places value\nlet value = places();\nprint value.nearby(location(latitude: 60.0, longitude: 270.0));"],"arguments":[{"name":"location","type":"Location","required":true,"description":"Earth location to search around"},{"name":"country","type":"Text|Country|Admin1|Admin2|Place","required":false,"description":"ISO-3166 alpha-2 code or country name used to narrow matches"},{"name":"admin1","type":"Text|Admin1|Admin2|Place","required":false,"description":"first-level GeoNames admin code used to narrow matches"},{"name":"admin2","type":"Text|Admin2|Place","required":false,"description":"second-level GeoNames admin code used to narrow matches"},{"name":"kind","type":"Text","required":false,"description":"place kind such as city, town, village, country, or a GeoNames feature code"},{"name":"population","type":"Number","required":false,"description":"minimum population used to narrow matches"},{"name":"importance","type":"Number","required":false,"description":"minimum place importance used to narrow matches"},{"name":"limit","type":"Number","required":false,"description":"maximum number of places to return"}],"children":[],"resources":[],"doc":"Method: Places.nearby - lists nearby places ranked by distance and importance\nSyntax:\n  <Places>.nearby(location: Location, country: Text|Country|Admin1|Admin2|Place, admin1: Text|Admin1|Admin2|Place, admin2: Text|Admin2|Place, kind: Text, population: Number, importance: Number, limit: Number) -> List\nArguments:\n  location: Location - Earth location to search around\n  country: Text|Country|Admin1|Admin2|Place [optional] - ISO-3166 alpha-2 code or country name used to narrow matches\n  admin1: Text|Admin1|Admin2|Place [optional] - first-level GeoNames admin code used to narrow matches\n  admin2: Text|Admin2|Place [optional] - second-level GeoNames admin code used to narrow matches\n  kind: Text [optional] - place kind such as city, town, village, country, or a GeoNames feature code\n  population: Number [optional] - minimum population used to narrow matches\n  importance: Number [optional] - minimum place importance used to narrow matches\n  limit: Number [optional] - maximum number of places to return\nExample:\n# Use Places.nearby on a Places value\n   let value = places();\n   print value.nearby(location(latitude: 60.0, longitude: 270.0));","compact":"Method: Places.nearby - lists nearby places ranked by distance and importance","search_text":"member:Places.nearby nearby Places.nearby method lists nearby places ranked by distance and importance <Places>.nearby(location: Location, country: Text|Country|Admin1|Admin2|Place, admin1: Text|Admin1|Admin2|Place, admin2: Text|Admin2|Place, kind: Text, population: Number, importance: Number, limit: Number) -> List location Location Earth location to search around country Text|Country|Admin1|Admin2|Place ISO-3166 alpha-2 code or country name used to narrow matches admin1 Text|Admin1|Admin2|Place first-level GeoNames admin code used to narrow matches admin2 Text|Admin2|Place second-level GeoNames admin code used to narrow matches kind Text place kind such as city, town, village, country, or a GeoNames feature code population Number minimum population used to narrow matches importance Number minimum place importance used to narrow matches limit Number maximum number of places to return"},{"id":"member:Places.index","name":"index","path":"Places.index","kind":"method","aliases":[],"description":"returns the nth place in this places view by importance","syntax":["<Places>.index(index: Number) -> Place|Unavailable"],"examples":["# Use Places.index on a Places value\nlet value = places();\nprint value.index(42.0);"],"arguments":[{"name":"index","type":"Number","required":true,"description":"1-based place index in this places view"}],"children":[],"resources":[],"doc":"Method: Places.index - returns the nth place in this places view by importance\nSyntax:\n  <Places>.index(index: Number) -> Place|Unavailable\nArguments:\n  index: Number - 1-based place index in this places view\nExample:\n# Use Places.index on a Places value\n   let value = places();\n   print value.index(42.0);","compact":"Method: Places.index - returns the nth place in this places view by importance","search_text":"member:Places.index index Places.index method returns the nth place in this places view by importance <Places>.index(index: Number) -> Place|Unavailable index Number 1-based place index in this places view"},{"id":"member:Places.types","name":"types","path":"Places.types","kind":"method","aliases":[],"description":"lists GeoNames feature-code place types","syntax":["<Places>.types() -> List"],"examples":["# Use Places.types on a Places value\nlet value = places();\nprint value.types();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Places.types - lists GeoNames feature-code place types\nSyntax:\n  <Places>.types() -> List\nExample:\n# Use Places.types on a Places value\n   let value = places();\n   print value.types();","compact":"Method: Places.types - lists GeoNames feature-code place types","search_text":"member:Places.types types Places.types method lists GeoNames feature-code place types <Places>.types() -> List"},{"id":"member:Places.children","name":"children","path":"Places.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Places>.children() -> List"],"examples":["# Use Places.children on a Places value\nlet value = places();\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Places.children - lists child fields and callable members available on this value\nSyntax:\n  <Places>.children() -> List\nExample:\n# Use Places.children on a Places value\n   let value = places();\n   print value.children();","compact":"Method: Places.children - lists child fields and callable members available on this value","search_text":"member:Places.children children Places.children method lists child fields and callable members available on this value <Places>.children() -> List"},{"id":"member:Places.fields","name":"fields","path":"Places.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Places>.fields() -> Object"],"examples":["# Use Places.fields on a Places value\nlet value = places();\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Places.fields - returns an object containing the value's plain fields\nSyntax:\n  <Places>.fields() -> Object\nExample:\n# Use Places.fields on a Places value\n   let value = places();\n   print value.fields();","compact":"Method: Places.fields - returns an object containing the value's plain fields","search_text":"member:Places.fields fields Places.fields method returns an object containing the value's plain fields <Places>.fields() -> Object"},{"id":"member:Places.functions","name":"functions","path":"Places.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Places>.functions() -> List"],"examples":["# Use Places.functions on a Places value\nlet value = places();\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Places.functions - lists callable members available on this value\nSyntax:\n  <Places>.functions() -> List\nExample:\n# Use Places.functions on a Places value\n   let value = places();\n   print value.functions();","compact":"Method: Places.functions - lists callable members available on this value","search_text":"member:Places.functions functions Places.functions method lists callable members available on this value <Places>.functions() -> List"},{"id":"type:Place","name":"Place","path":"Place","kind":"type","aliases":[],"description":"GeoNames place record with location and feature metadata","syntax":["place(id: Number) -> Place|Unavailable","place(name: Text, location: Location, timezone: Timezone|Text) -> Place"],"examples":["# Resolve a place name and use its location for local noon altitude\nlet place = places().find(\"Stavanger\");\nprint place.name, altitude(sun, time(2026,6,21,12,0,0), place.location());"],"arguments":[{"name":"id","type":"Number","required":false,"description":"GeoNames place id"},{"name":"name","type":"Text","required":false,"description":"custom place name"},{"name":"location","type":"Location","required":false,"description":"Earth location"},{"name":"timezone","type":"Timezone|Text","required":false,"description":"timezone; inferred from location when omitted"}],"children":["field:Place.id","field:Place.name","field:Place.ascii_name","field:Place.names","field:Place.latitude","field:Place.longitude","field:Place.feature_class","field:Place.feature_code","field:Place.place_type","field:Place.country_code","field:Place.admin1_code","field:Place.admin2_code","field:Place.population","field:Place.elevation_m","field:Place.dem_m","field:Place.timezone_id","field:Place.modified","field:Place.importance","field:Place.distance_km","member:Place.location","member:Place.timezone","member:Place.country","member:Place.admin1","member:Place.admin2","member:Place.children","member:Place.fields","member:Place.functions"],"resources":[],"doc":"Type: Place - GeoNames place record with location and feature metadata\nSyntax:\n  place(id: Number) -> Place|Unavailable\n  place(name: Text, location: Location, timezone: Timezone|Text) -> Place\nArguments:\n  id: Number [optional] - GeoNames place id\n  name: Text [optional] - custom place name\n  location: Location [optional] - Earth location\n  timezone: Timezone|Text [optional] - timezone; inferred from location when omitted\nChildren: id, name, ascii_name, names, latitude, longitude, feature_class, feature_code, place_type, country_code, admin1_code, admin2_code, population, elevation_m, dem_m, timezone_id, modified, importance, distance_km, location(), timezone(), country(), admin1(), admin2(), children(), fields(), functions()\nExample:\n# Resolve a place name and use its location for local noon altitude\n   let place = places().find(\"Stavanger\");\n   print place.name, altitude(sun, time(2026,6,21,12,0,0), place.location());","compact":"Type: Place - GeoNames place record with location and feature metadata","search_text":"type:Place Place Place type GeoNames place record with location and feature metadata place(id: Number) -> Place|Unavailable place(name: Text, location: Location, timezone: Timezone|Text) -> Place id Number GeoNames place id name Text custom place name location Location Earth location timezone Timezone|Text timezone; inferred from location when omitted"},{"id":"field:Place.id","name":"id","path":"Place.id","kind":"field","aliases":[],"description":"GeoNames integer id","syntax":["<Place>.id -> Number"],"examples":["# Read the id field from a Place value\nprint places().find(\"Oslo\").id;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Place.id - GeoNames integer id\nSyntax:\n  <Place>.id -> Number\nExample:\n# Read the id field from a Place value\n   print places().find(\"Oslo\").id;","compact":"Field: Place.id - GeoNames integer id","search_text":"field:Place.id id Place.id field GeoNames integer id <Place>.id -> Number"},{"id":"field:Place.name","name":"name","path":"Place.name","kind":"field","aliases":[],"description":"primary GeoNames place name","syntax":["<Place>.name -> Text"],"examples":["# Read the name field from a Place value\nprint places().find(\"Oslo\").name;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Place.name - primary GeoNames place name\nSyntax:\n  <Place>.name -> Text\nExample:\n# Read the name field from a Place value\n   print places().find(\"Oslo\").name;","compact":"Field: Place.name - primary GeoNames place name","search_text":"field:Place.name name Place.name field primary GeoNames place name <Place>.name -> Text"},{"id":"field:Place.ascii_name","name":"ascii_name","path":"Place.ascii_name","kind":"field","aliases":[],"description":"plain-ASCII GeoNames name","syntax":["<Place>.ascii_name -> Text|Nil"],"examples":["# Read the ascii_name field from a Place value\nprint places().find(\"Oslo\").ascii_name;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Place.ascii_name - plain-ASCII GeoNames name\nSyntax:\n  <Place>.ascii_name -> Text|Nil\nExample:\n# Read the ascii_name field from a Place value\n   print places().find(\"Oslo\").ascii_name;","compact":"Field: Place.ascii_name - plain-ASCII GeoNames name","search_text":"field:Place.ascii_name ascii_name Place.ascii_name field plain-ASCII GeoNames name <Place>.ascii_name -> Text|Nil"},{"id":"field:Place.names","name":"names","path":"Place.names","kind":"field","aliases":[],"description":"primary, ASCII, and alternate place names","syntax":["<Place>.names -> List"],"examples":["# Read the names field from a Place value\nprint places().find(\"Oslo\").names;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Place.names - primary, ASCII, and alternate place names\nSyntax:\n  <Place>.names -> List\nExample:\n# Read the names field from a Place value\n   print places().find(\"Oslo\").names;","compact":"Field: Place.names - primary, ASCII, and alternate place names","search_text":"field:Place.names names Place.names field primary, ASCII, and alternate place names <Place>.names -> List"},{"id":"field:Place.latitude","name":"latitude","path":"Place.latitude","kind":"field","aliases":[],"description":"WGS84 latitude in degrees","syntax":["<Place>.latitude -> Number"],"examples":["# Read the latitude field from a Place value\nprint places().find(\"Oslo\").latitude;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Place.latitude - WGS84 latitude in degrees\nSyntax:\n  <Place>.latitude -> Number\nExample:\n# Read the latitude field from a Place value\n   print places().find(\"Oslo\").latitude;","compact":"Field: Place.latitude - WGS84 latitude in degrees","search_text":"field:Place.latitude latitude Place.latitude field WGS84 latitude in degrees <Place>.latitude -> Number"},{"id":"field:Place.longitude","name":"longitude","path":"Place.longitude","kind":"field","aliases":[],"description":"WGS84 longitude in degrees","syntax":["<Place>.longitude -> Number"],"examples":["# Read the longitude field from a Place value\nprint places().find(\"Oslo\").longitude;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Place.longitude - WGS84 longitude in degrees\nSyntax:\n  <Place>.longitude -> Number\nExample:\n# Read the longitude field from a Place value\n   print places().find(\"Oslo\").longitude;","compact":"Field: Place.longitude - WGS84 longitude in degrees","search_text":"field:Place.longitude longitude Place.longitude field WGS84 longitude in degrees <Place>.longitude -> Number"},{"id":"field:Place.feature_class","name":"feature_class","path":"Place.feature_class","kind":"field","aliases":[],"description":"GeoNames feature class","syntax":["<Place>.feature_class -> Text"],"examples":["# Read the feature_class field from a Place value\nprint places().find(\"Oslo\").feature_class;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Place.feature_class - GeoNames feature class\nSyntax:\n  <Place>.feature_class -> Text\nExample:\n# Read the feature_class field from a Place value\n   print places().find(\"Oslo\").feature_class;","compact":"Field: Place.feature_class - GeoNames feature class","search_text":"field:Place.feature_class feature_class Place.feature_class field GeoNames feature class <Place>.feature_class -> Text"},{"id":"field:Place.feature_code","name":"feature_code","path":"Place.feature_code","kind":"field","aliases":[],"description":"GeoNames feature code","syntax":["<Place>.feature_code -> Text"],"examples":["# Read the feature_code field from a Place value\nprint places().find(\"Oslo\").feature_code;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Place.feature_code - GeoNames feature code\nSyntax:\n  <Place>.feature_code -> Text\nExample:\n# Read the feature_code field from a Place value\n   print places().find(\"Oslo\").feature_code;","compact":"Field: Place.feature_code - GeoNames feature code","search_text":"field:Place.feature_code feature_code Place.feature_code field GeoNames feature code <Place>.feature_code -> Text"},{"id":"field:Place.place_type","name":"place_type","path":"Place.place_type","kind":"field","aliases":[],"description":"GeoNames feature-code type metadata","syntax":["<Place>.place_type -> Object|Nil"],"examples":["# Read the place_type field from a Place value\nprint places().find(\"Oslo\").place_type;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Place.place_type - GeoNames feature-code type metadata\nSyntax:\n  <Place>.place_type -> Object|Nil\nExample:\n# Read the place_type field from a Place value\n   print places().find(\"Oslo\").place_type;","compact":"Field: Place.place_type - GeoNames feature-code type metadata","search_text":"field:Place.place_type place_type Place.place_type field GeoNames feature-code type metadata <Place>.place_type -> Object|Nil"},{"id":"field:Place.country_code","name":"country_code","path":"Place.country_code","kind":"field","aliases":[],"description":"ISO-3166 alpha-2 country code","syntax":["<Place>.country_code -> Text|Nil"],"examples":["# Read the country_code field from a Place value\nprint places().find(\"Oslo\").country_code;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Place.country_code - ISO-3166 alpha-2 country code\nSyntax:\n  <Place>.country_code -> Text|Nil\nExample:\n# Read the country_code field from a Place value\n   print places().find(\"Oslo\").country_code;","compact":"Field: Place.country_code - ISO-3166 alpha-2 country code","search_text":"field:Place.country_code country_code Place.country_code field ISO-3166 alpha-2 country code <Place>.country_code -> Text|Nil"},{"id":"field:Place.admin1_code","name":"admin1_code","path":"Place.admin1_code","kind":"field","aliases":[],"description":"GeoNames first administrative division code","syntax":["<Place>.admin1_code -> Text|Nil"],"examples":["# Read the admin1_code field from a Place value\nprint places().find(\"Oslo\").admin1_code;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Place.admin1_code - GeoNames first administrative division code\nSyntax:\n  <Place>.admin1_code -> Text|Nil\nExample:\n# Read the admin1_code field from a Place value\n   print places().find(\"Oslo\").admin1_code;","compact":"Field: Place.admin1_code - GeoNames first administrative division code","search_text":"field:Place.admin1_code admin1_code Place.admin1_code field GeoNames first administrative division code <Place>.admin1_code -> Text|Nil"},{"id":"field:Place.admin2_code","name":"admin2_code","path":"Place.admin2_code","kind":"field","aliases":[],"description":"GeoNames second administrative division code","syntax":["<Place>.admin2_code -> Text|Nil"],"examples":["# Read the admin2_code field from a Place value\nprint places().find(\"Oslo\").admin2_code;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Place.admin2_code - GeoNames second administrative division code\nSyntax:\n  <Place>.admin2_code -> Text|Nil\nExample:\n# Read the admin2_code field from a Place value\n   print places().find(\"Oslo\").admin2_code;","compact":"Field: Place.admin2_code - GeoNames second administrative division code","search_text":"field:Place.admin2_code admin2_code Place.admin2_code field GeoNames second administrative division code <Place>.admin2_code -> Text|Nil"},{"id":"field:Place.population","name":"population","path":"Place.population","kind":"field","aliases":[],"description":"GeoNames population value, or zero when unavailable","syntax":["<Place>.population -> Number"],"examples":["# Read the population field from a Place value\nprint places().find(\"Oslo\").population;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Place.population - GeoNames population value, or zero when unavailable\nSyntax:\n  <Place>.population -> Number\nExample:\n# Read the population field from a Place value\n   print places().find(\"Oslo\").population;","compact":"Field: Place.population - GeoNames population value, or zero when unavailable","search_text":"field:Place.population population Place.population field GeoNames population value, or zero when unavailable <Place>.population -> Number"},{"id":"field:Place.elevation_m","name":"elevation_m","path":"Place.elevation_m","kind":"field","aliases":[],"description":"GeoNames elevation in meters","syntax":["<Place>.elevation_m -> Number|Nil"],"examples":["# Read the elevation_m field from a Place value\nprint places().find(\"Oslo\").elevation_m;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Place.elevation_m - GeoNames elevation in meters\nSyntax:\n  <Place>.elevation_m -> Number|Nil\nExample:\n# Read the elevation_m field from a Place value\n   print places().find(\"Oslo\").elevation_m;","compact":"Field: Place.elevation_m - GeoNames elevation in meters","search_text":"field:Place.elevation_m elevation_m Place.elevation_m field GeoNames elevation in meters <Place>.elevation_m -> Number|Nil"},{"id":"field:Place.dem_m","name":"dem_m","path":"Place.dem_m","kind":"field","aliases":[],"description":"GeoNames DEM average elevation in meters","syntax":["<Place>.dem_m -> Number|Nil"],"examples":["# Read the dem_m field from a Place value\nprint places().find(\"Oslo\").dem_m;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Place.dem_m - GeoNames DEM average elevation in meters\nSyntax:\n  <Place>.dem_m -> Number|Nil\nExample:\n# Read the dem_m field from a Place value\n   print places().find(\"Oslo\").dem_m;","compact":"Field: Place.dem_m - GeoNames DEM average elevation in meters","search_text":"field:Place.dem_m dem_m Place.dem_m field GeoNames DEM average elevation in meters <Place>.dem_m -> Number|Nil"},{"id":"field:Place.timezone_id","name":"timezone_id","path":"Place.timezone_id","kind":"field","aliases":[],"description":"IANA timezone id from GeoNames","syntax":["<Place>.timezone_id -> Text|Nil"],"examples":["# Read the timezone_id field from a Place value\nprint places().find(\"Oslo\").timezone_id;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Place.timezone_id - IANA timezone id from GeoNames\nSyntax:\n  <Place>.timezone_id -> Text|Nil\nExample:\n# Read the timezone_id field from a Place value\n   print places().find(\"Oslo\").timezone_id;","compact":"Field: Place.timezone_id - IANA timezone id from GeoNames","search_text":"field:Place.timezone_id timezone_id Place.timezone_id field IANA timezone id from GeoNames <Place>.timezone_id -> Text|Nil"},{"id":"field:Place.modified","name":"modified","path":"Place.modified","kind":"field","aliases":[],"description":"GeoNames modification date","syntax":["<Place>.modified -> Text|Nil"],"examples":["# Read the modified field from a Place value\nprint places().find(\"Oslo\").modified;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Place.modified - GeoNames modification date\nSyntax:\n  <Place>.modified -> Text|Nil\nExample:\n# Read the modified field from a Place value\n   print places().find(\"Oslo\").modified;","compact":"Field: Place.modified - GeoNames modification date","search_text":"field:Place.modified modified Place.modified field GeoNames modification date <Place>.modified -> Text|Nil"},{"id":"field:Place.importance","name":"importance","path":"Place.importance","kind":"field","aliases":[],"description":"Astrologos-computed importance score from feature type and population","syntax":["<Place>.importance -> Number"],"examples":["# Read the importance field from a Place value\nprint places().find(\"Oslo\").importance;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Place.importance - Astrologos-computed importance score from feature type and population\nSyntax:\n  <Place>.importance -> Number\nExample:\n# Read the importance field from a Place value\n   print places().find(\"Oslo\").importance;","compact":"Field: Place.importance - Astrologos-computed importance score from feature type and population","search_text":"field:Place.importance importance Place.importance field Astrologos-computed importance score from feature type and population <Place>.importance -> Number"},{"id":"field:Place.distance_km","name":"distance_km","path":"Place.distance_km","kind":"field","aliases":[],"description":"distance from the query location in kilometers","syntax":["<Place>.distance_km -> Number|Nil"],"examples":["# Read the distance_km field from a Place value\nprint places().find(\"Oslo\").distance_km;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Place.distance_km - distance from the query location in kilometers\nSyntax:\n  <Place>.distance_km -> Number|Nil\nExample:\n# Read the distance_km field from a Place value\n   print places().find(\"Oslo\").distance_km;","compact":"Field: Place.distance_km - distance from the query location in kilometers","search_text":"field:Place.distance_km distance_km Place.distance_km field distance from the query location in kilometers <Place>.distance_km -> Number|Nil"},{"id":"member:Place.location","name":"location","path":"Place.location","kind":"method","aliases":[],"description":"returns this place as an Earth latitude/longitude location","syntax":["<Place>.location() -> Location"],"examples":["# Use Place.location on a Place value\nlet value = places().find(\"Oslo\");\nprint value.location();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Place.location - returns this place as an Earth latitude/longitude location\nSyntax:\n  <Place>.location() -> Location\nExample:\n# Use Place.location on a Place value\n   let value = places().find(\"Oslo\");\n   print value.location();","compact":"Method: Place.location - returns this place as an Earth latitude/longitude location","search_text":"member:Place.location location Place.location method returns this place as an Earth latitude/longitude location <Place>.location() -> Location"},{"id":"member:Place.timezone","name":"timezone","path":"Place.timezone","kind":"method","aliases":[],"description":"returns this place's IANA timezone as a Timezone object","syntax":["<Place>.timezone() -> Timezone|Nil"],"examples":["# Use Place.timezone on a Place value\nlet value = places().find(\"Oslo\");\nprint value.timezone();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Place.timezone - returns this place's IANA timezone as a Timezone object\nSyntax:\n  <Place>.timezone() -> Timezone|Nil\nExample:\n# Use Place.timezone on a Place value\n   let value = places().find(\"Oslo\");\n   print value.timezone();","compact":"Method: Place.timezone - returns this place's IANA timezone as a Timezone object","search_text":"member:Place.timezone timezone Place.timezone method returns this place's IANA timezone as a Timezone object <Place>.timezone() -> Timezone|Nil"},{"id":"member:Place.country","name":"country","path":"Place.country","kind":"method","aliases":[],"description":"returns this place's country as a Country object","syntax":["<Place>.country() -> Country|Nil"],"examples":["# Use Place.country on a Place value\nlet value = places().find(\"Oslo\");\nprint value.country();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Place.country - returns this place's country as a Country object\nSyntax:\n  <Place>.country() -> Country|Nil\nExample:\n# Use Place.country on a Place value\n   let value = places().find(\"Oslo\");\n   print value.country();","compact":"Method: Place.country - returns this place's country as a Country object","search_text":"member:Place.country country Place.country method returns this place's country as a Country object <Place>.country() -> Country|Nil"},{"id":"member:Place.admin1","name":"admin1","path":"Place.admin1","kind":"method","aliases":[],"description":"returns this place's first-level admin region as an Admin1 object","syntax":["<Place>.admin1() -> Admin1|Nil"],"examples":["# Use Place.admin1 on a Place value\nlet value = places().find(\"Oslo\");\nprint value.admin1();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Place.admin1 - returns this place's first-level admin region as an Admin1 object\nSyntax:\n  <Place>.admin1() -> Admin1|Nil\nExample:\n# Use Place.admin1 on a Place value\n   let value = places().find(\"Oslo\");\n   print value.admin1();","compact":"Method: Place.admin1 - returns this place's first-level admin region as an Admin1 object","search_text":"member:Place.admin1 admin1 Place.admin1 method returns this place's first-level admin region as an Admin1 object <Place>.admin1() -> Admin1|Nil"},{"id":"member:Place.admin2","name":"admin2","path":"Place.admin2","kind":"method","aliases":[],"description":"returns this place's second-level admin region as an Admin2 object","syntax":["<Place>.admin2() -> Admin2|Nil"],"examples":["# Use Place.admin2 on a Place value\nlet value = places().find(\"Oslo\");\nprint value.admin2();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Place.admin2 - returns this place's second-level admin region as an Admin2 object\nSyntax:\n  <Place>.admin2() -> Admin2|Nil\nExample:\n# Use Place.admin2 on a Place value\n   let value = places().find(\"Oslo\");\n   print value.admin2();","compact":"Method: Place.admin2 - returns this place's second-level admin region as an Admin2 object","search_text":"member:Place.admin2 admin2 Place.admin2 method returns this place's second-level admin region as an Admin2 object <Place>.admin2() -> Admin2|Nil"},{"id":"member:Place.children","name":"children","path":"Place.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Place>.children() -> List"],"examples":["# Use Place.children on a Place value\nlet value = places().find(\"Oslo\");\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Place.children - lists child fields and callable members available on this value\nSyntax:\n  <Place>.children() -> List\nExample:\n# Use Place.children on a Place value\n   let value = places().find(\"Oslo\");\n   print value.children();","compact":"Method: Place.children - lists child fields and callable members available on this value","search_text":"member:Place.children children Place.children method lists child fields and callable members available on this value <Place>.children() -> List"},{"id":"member:Place.fields","name":"fields","path":"Place.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Place>.fields() -> Object"],"examples":["# Use Place.fields on a Place value\nlet value = places().find(\"Oslo\");\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Place.fields - returns an object containing the value's plain fields\nSyntax:\n  <Place>.fields() -> Object\nExample:\n# Use Place.fields on a Place value\n   let value = places().find(\"Oslo\");\n   print value.fields();","compact":"Method: Place.fields - returns an object containing the value's plain fields","search_text":"member:Place.fields fields Place.fields method returns an object containing the value's plain fields <Place>.fields() -> Object"},{"id":"member:Place.functions","name":"functions","path":"Place.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Place>.functions() -> List"],"examples":["# Use Place.functions on a Place value\nlet value = places().find(\"Oslo\");\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Place.functions - lists callable members available on this value\nSyntax:\n  <Place>.functions() -> List\nExample:\n# Use Place.functions on a Place value\n   let value = places().find(\"Oslo\");\n   print value.functions();","compact":"Method: Place.functions - lists callable members available on this value","search_text":"member:Place.functions functions Place.functions method lists callable members available on this value <Place>.functions() -> List"},{"id":"type:Country","name":"Country","path":"Country","kind":"type","aliases":[],"description":"ISO country used to inspect and filter places","syntax":["country(country: Text|Place|Country) -> Country"],"examples":["# Resolve a country code before narrowing a place search\nlet no = country(\"NO\");\nlet hits = places(no).find(\"Oslo\");\nprint no.name, hits.name;"],"arguments":[{"name":"country","type":"Text|Place|Country","required":true,"description":"country name, ISO alpha-2 code, Place, or Country"}],"children":["field:Country.code","field:Country.name","field:Country.place_id","member:Country.children","member:Country.fields","member:Country.functions"],"resources":[],"doc":"Type: Country - ISO country used to inspect and filter places\nSyntax:\n  country(country: Text|Place|Country) -> Country\nArguments:\n  country: Text|Place|Country - country name, ISO alpha-2 code, Place, or Country\nChildren: code, name, place_id, children(), fields(), functions()\nExample:\n# Resolve a country code before narrowing a place search\n   let no = country(\"NO\");\n   let hits = places(no).find(\"Oslo\");\n   print no.name, hits.name;","compact":"Type: Country - ISO country used to inspect and filter places","search_text":"type:Country Country Country type ISO country used to inspect and filter places country(country: Text|Place|Country) -> Country country Text|Place|Country country name, ISO alpha-2 code, Place, or Country"},{"id":"field:Country.code","name":"code","path":"Country.code","kind":"field","aliases":[],"description":"ISO-3166 alpha-2 country code","syntax":["<Country>.code -> Text"],"examples":["# Read the code field from a Country value\nprint country(\"Norway\").code;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Country.code - ISO-3166 alpha-2 country code\nSyntax:\n  <Country>.code -> Text\nExample:\n# Read the code field from a Country value\n   print country(\"Norway\").code;","compact":"Field: Country.code - ISO-3166 alpha-2 country code","search_text":"field:Country.code code Country.code field ISO-3166 alpha-2 country code <Country>.code -> Text"},{"id":"field:Country.name","name":"name","path":"Country.name","kind":"field","aliases":[],"description":"resolved country name when available from the places store","syntax":["<Country>.name -> Text|Nil"],"examples":["# Read the name field from a Country value\nprint country(\"Norway\").name;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Country.name - resolved country name when available from the places store\nSyntax:\n  <Country>.name -> Text|Nil\nExample:\n# Read the name field from a Country value\n   print country(\"Norway\").name;","compact":"Field: Country.name - resolved country name when available from the places store","search_text":"field:Country.name name Country.name field resolved country name when available from the places store <Country>.name -> Text|Nil"},{"id":"field:Country.place_id","name":"place_id","path":"Country.place_id","kind":"field","aliases":[],"description":"GeoNames id of the country record when available","syntax":["<Country>.place_id -> Number|Nil"],"examples":["# Read the place_id field from a Country value\nprint country(\"Norway\").place_id;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Country.place_id - GeoNames id of the country record when available\nSyntax:\n  <Country>.place_id -> Number|Nil\nExample:\n# Read the place_id field from a Country value\n   print country(\"Norway\").place_id;","compact":"Field: Country.place_id - GeoNames id of the country record when available","search_text":"field:Country.place_id place_id Country.place_id field GeoNames id of the country record when available <Country>.place_id -> Number|Nil"},{"id":"member:Country.children","name":"children","path":"Country.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Country>.children() -> List"],"examples":["# Use Country.children on a Country value\nlet value = country(\"Norway\");\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Country.children - lists child fields and callable members available on this value\nSyntax:\n  <Country>.children() -> List\nExample:\n# Use Country.children on a Country value\n   let value = country(\"Norway\");\n   print value.children();","compact":"Method: Country.children - lists child fields and callable members available on this value","search_text":"member:Country.children children Country.children method lists child fields and callable members available on this value <Country>.children() -> List"},{"id":"member:Country.fields","name":"fields","path":"Country.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Country>.fields() -> Object"],"examples":["# Use Country.fields on a Country value\nlet value = country(\"Norway\");\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Country.fields - returns an object containing the value's plain fields\nSyntax:\n  <Country>.fields() -> Object\nExample:\n# Use Country.fields on a Country value\n   let value = country(\"Norway\");\n   print value.fields();","compact":"Method: Country.fields - returns an object containing the value's plain fields","search_text":"member:Country.fields fields Country.fields method returns an object containing the value's plain fields <Country>.fields() -> Object"},{"id":"member:Country.functions","name":"functions","path":"Country.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Country>.functions() -> List"],"examples":["# Use Country.functions on a Country value\nlet value = country(\"Norway\");\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Country.functions - lists callable members available on this value\nSyntax:\n  <Country>.functions() -> List\nExample:\n# Use Country.functions on a Country value\n   let value = country(\"Norway\");\n   print value.functions();","compact":"Method: Country.functions - lists callable members available on this value","search_text":"member:Country.functions functions Country.functions method lists callable members available on this value <Country>.functions() -> List"},{"id":"type:Admin1","name":"Admin1","path":"Admin1","kind":"type","aliases":[],"description":"first-level GeoNames administrative region used to filter places","syntax":["admin1(admin1: Text|Number|Admin1, country: Text|Country|Place) -> Admin1"],"examples":["# Filter Norwegian places by first-level administrative region\nlet region = admin1(\"Rogaland\", country(\"NO\"));\nlet hits = places(region).find(\"Stavanger\");\nprint region.name, hits.name;"],"arguments":[{"name":"admin1","type":"Text|Number|Admin1","required":true,"description":"admin1 name or GeoNames admin1 code"},{"name":"country","type":"Text|Country|Place","required":true,"description":"country containing the admin1 region"}],"children":["field:Admin1.country_code","field:Admin1.code","field:Admin1.name","field:Admin1.place_id","member:Admin1.children","member:Admin1.fields","member:Admin1.functions"],"resources":[],"doc":"Type: Admin1 - first-level GeoNames administrative region used to filter places\nSyntax:\n  admin1(admin1: Text|Number|Admin1, country: Text|Country|Place) -> Admin1\nArguments:\n  admin1: Text|Number|Admin1 - admin1 name or GeoNames admin1 code\n  country: Text|Country|Place - country containing the admin1 region\nChildren: country_code, code, name, place_id, children(), fields(), functions()\nExample:\n# Filter Norwegian places by first-level administrative region\n   let region = admin1(\"Rogaland\", country(\"NO\"));\n   let hits = places(region).find(\"Stavanger\");\n   print region.name, hits.name;","compact":"Type: Admin1 - first-level GeoNames administrative region used to filter places","search_text":"type:Admin1 Admin1 Admin1 type first-level GeoNames administrative region used to filter places admin1(admin1: Text|Number|Admin1, country: Text|Country|Place) -> Admin1 admin1 Text|Number|Admin1 admin1 name or GeoNames admin1 code country Text|Country|Place country containing the admin1 region"},{"id":"field:Admin1.country_code","name":"country_code","path":"Admin1.country_code","kind":"field","aliases":[],"description":"ISO-3166 alpha-2 country code","syntax":["<Admin1>.country_code -> Text"],"examples":["# Read the country_code field from a Admin1 value\nprint admin1(\"Akershus\", country(\"NO\")).country_code;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Admin1.country_code - ISO-3166 alpha-2 country code\nSyntax:\n  <Admin1>.country_code -> Text\nExample:\n# Read the country_code field from a Admin1 value\n   print admin1(\"Akershus\", country(\"NO\")).country_code;","compact":"Field: Admin1.country_code - ISO-3166 alpha-2 country code","search_text":"field:Admin1.country_code country_code Admin1.country_code field ISO-3166 alpha-2 country code <Admin1>.country_code -> Text"},{"id":"field:Admin1.code","name":"code","path":"Admin1.code","kind":"field","aliases":[],"description":"GeoNames admin1 code","syntax":["<Admin1>.code -> Text"],"examples":["# Read the code field from a Admin1 value\nprint admin1(\"Akershus\", country(\"NO\")).code;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Admin1.code - GeoNames admin1 code\nSyntax:\n  <Admin1>.code -> Text\nExample:\n# Read the code field from a Admin1 value\n   print admin1(\"Akershus\", country(\"NO\")).code;","compact":"Field: Admin1.code - GeoNames admin1 code","search_text":"field:Admin1.code code Admin1.code field GeoNames admin1 code <Admin1>.code -> Text"},{"id":"field:Admin1.name","name":"name","path":"Admin1.name","kind":"field","aliases":[],"description":"resolved admin1 name","syntax":["<Admin1>.name -> Text|Nil"],"examples":["# Read the name field from a Admin1 value\nprint admin1(\"Akershus\", country(\"NO\")).name;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Admin1.name - resolved admin1 name\nSyntax:\n  <Admin1>.name -> Text|Nil\nExample:\n# Read the name field from a Admin1 value\n   print admin1(\"Akershus\", country(\"NO\")).name;","compact":"Field: Admin1.name - resolved admin1 name","search_text":"field:Admin1.name name Admin1.name field resolved admin1 name <Admin1>.name -> Text|Nil"},{"id":"field:Admin1.place_id","name":"place_id","path":"Admin1.place_id","kind":"field","aliases":[],"description":"GeoNames id of the admin1 record","syntax":["<Admin1>.place_id -> Number|Nil"],"examples":["# Read the place_id field from a Admin1 value\nprint admin1(\"Akershus\", country(\"NO\")).place_id;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Admin1.place_id - GeoNames id of the admin1 record\nSyntax:\n  <Admin1>.place_id -> Number|Nil\nExample:\n# Read the place_id field from a Admin1 value\n   print admin1(\"Akershus\", country(\"NO\")).place_id;","compact":"Field: Admin1.place_id - GeoNames id of the admin1 record","search_text":"field:Admin1.place_id place_id Admin1.place_id field GeoNames id of the admin1 record <Admin1>.place_id -> Number|Nil"},{"id":"member:Admin1.children","name":"children","path":"Admin1.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Admin1>.children() -> List"],"examples":["# Use Admin1.children on a Admin1 value\nlet value = admin1(\"Akershus\", country(\"NO\"));\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Admin1.children - lists child fields and callable members available on this value\nSyntax:\n  <Admin1>.children() -> List\nExample:\n# Use Admin1.children on a Admin1 value\n   let value = admin1(\"Akershus\", country(\"NO\"));\n   print value.children();","compact":"Method: Admin1.children - lists child fields and callable members available on this value","search_text":"member:Admin1.children children Admin1.children method lists child fields and callable members available on this value <Admin1>.children() -> List"},{"id":"member:Admin1.fields","name":"fields","path":"Admin1.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Admin1>.fields() -> Object"],"examples":["# Use Admin1.fields on a Admin1 value\nlet value = admin1(\"Akershus\", country(\"NO\"));\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Admin1.fields - returns an object containing the value's plain fields\nSyntax:\n  <Admin1>.fields() -> Object\nExample:\n# Use Admin1.fields on a Admin1 value\n   let value = admin1(\"Akershus\", country(\"NO\"));\n   print value.fields();","compact":"Method: Admin1.fields - returns an object containing the value's plain fields","search_text":"member:Admin1.fields fields Admin1.fields method returns an object containing the value's plain fields <Admin1>.fields() -> Object"},{"id":"member:Admin1.functions","name":"functions","path":"Admin1.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Admin1>.functions() -> List"],"examples":["# Use Admin1.functions on a Admin1 value\nlet value = admin1(\"Akershus\", country(\"NO\"));\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Admin1.functions - lists callable members available on this value\nSyntax:\n  <Admin1>.functions() -> List\nExample:\n# Use Admin1.functions on a Admin1 value\n   let value = admin1(\"Akershus\", country(\"NO\"));\n   print value.functions();","compact":"Method: Admin1.functions - lists callable members available on this value","search_text":"member:Admin1.functions functions Admin1.functions method lists callable members available on this value <Admin1>.functions() -> List"},{"id":"type:Admin2","name":"Admin2","path":"Admin2","kind":"type","aliases":[],"description":"second-level GeoNames administrative region used to filter places","syntax":["admin2(admin2: Text|Number|Admin2, admin1: Admin1|Place) -> Admin2"],"examples":["# Filter places through a second-level administrative area\nlet county = admin1(\"Rogaland\", country(\"NO\"));\nlet area = admin2(\"Stavanger\", county);\nlet hits = places(area).find(\"Stavanger\");\nprint area.name, hits.name;"],"arguments":[{"name":"admin2","type":"Text|Number|Admin2","required":true,"description":"admin2 name or GeoNames admin2 code"},{"name":"admin1","type":"Admin1|Place","required":true,"description":"admin1 region containing the admin2 region"}],"children":["field:Admin2.country_code","field:Admin2.admin1_code","field:Admin2.code","field:Admin2.name","field:Admin2.place_id","member:Admin2.children","member:Admin2.fields","member:Admin2.functions"],"resources":[],"doc":"Type: Admin2 - second-level GeoNames administrative region used to filter places\nSyntax:\n  admin2(admin2: Text|Number|Admin2, admin1: Admin1|Place) -> Admin2\nArguments:\n  admin2: Text|Number|Admin2 - admin2 name or GeoNames admin2 code\n  admin1: Admin1|Place - admin1 region containing the admin2 region\nChildren: country_code, admin1_code, code, name, place_id, children(), fields(), functions()\nExample:\n# Filter places through a second-level administrative area\n   let county = admin1(\"Rogaland\", country(\"NO\"));\n   let area = admin2(\"Stavanger\", county);\n   let hits = places(area).find(\"Stavanger\");\n   print area.name, hits.name;","compact":"Type: Admin2 - second-level GeoNames administrative region used to filter places","search_text":"type:Admin2 Admin2 Admin2 type second-level GeoNames administrative region used to filter places admin2(admin2: Text|Number|Admin2, admin1: Admin1|Place) -> Admin2 admin2 Text|Number|Admin2 admin2 name or GeoNames admin2 code admin1 Admin1|Place admin1 region containing the admin2 region"},{"id":"field:Admin2.country_code","name":"country_code","path":"Admin2.country_code","kind":"field","aliases":[],"description":"ISO-3166 alpha-2 country code","syntax":["<Admin2>.country_code -> Text"],"examples":["# Read the country_code field from a Admin2 value\nprint admin2(\"3201\", admin1(\"01\", norway)).country_code;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Admin2.country_code - ISO-3166 alpha-2 country code\nSyntax:\n  <Admin2>.country_code -> Text\nExample:\n# Read the country_code field from a Admin2 value\n   print admin2(\"3201\", admin1(\"01\", norway)).country_code;","compact":"Field: Admin2.country_code - ISO-3166 alpha-2 country code","search_text":"field:Admin2.country_code country_code Admin2.country_code field ISO-3166 alpha-2 country code <Admin2>.country_code -> Text"},{"id":"field:Admin2.admin1_code","name":"admin1_code","path":"Admin2.admin1_code","kind":"field","aliases":[],"description":"GeoNames admin1 code","syntax":["<Admin2>.admin1_code -> Text"],"examples":["# Read the admin1_code field from a Admin2 value\nprint admin2(\"3201\", admin1(\"01\", norway)).admin1_code;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Admin2.admin1_code - GeoNames admin1 code\nSyntax:\n  <Admin2>.admin1_code -> Text\nExample:\n# Read the admin1_code field from a Admin2 value\n   print admin2(\"3201\", admin1(\"01\", norway)).admin1_code;","compact":"Field: Admin2.admin1_code - GeoNames admin1 code","search_text":"field:Admin2.admin1_code admin1_code Admin2.admin1_code field GeoNames admin1 code <Admin2>.admin1_code -> Text"},{"id":"field:Admin2.code","name":"code","path":"Admin2.code","kind":"field","aliases":[],"description":"GeoNames admin2 code","syntax":["<Admin2>.code -> Text"],"examples":["# Read the code field from a Admin2 value\nprint admin2(\"3201\", admin1(\"01\", norway)).code;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Admin2.code - GeoNames admin2 code\nSyntax:\n  <Admin2>.code -> Text\nExample:\n# Read the code field from a Admin2 value\n   print admin2(\"3201\", admin1(\"01\", norway)).code;","compact":"Field: Admin2.code - GeoNames admin2 code","search_text":"field:Admin2.code code Admin2.code field GeoNames admin2 code <Admin2>.code -> Text"},{"id":"field:Admin2.name","name":"name","path":"Admin2.name","kind":"field","aliases":[],"description":"resolved admin2 name","syntax":["<Admin2>.name -> Text|Nil"],"examples":["# Read the name field from a Admin2 value\nprint admin2(\"3201\", admin1(\"01\", norway)).name;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Admin2.name - resolved admin2 name\nSyntax:\n  <Admin2>.name -> Text|Nil\nExample:\n# Read the name field from a Admin2 value\n   print admin2(\"3201\", admin1(\"01\", norway)).name;","compact":"Field: Admin2.name - resolved admin2 name","search_text":"field:Admin2.name name Admin2.name field resolved admin2 name <Admin2>.name -> Text|Nil"},{"id":"field:Admin2.place_id","name":"place_id","path":"Admin2.place_id","kind":"field","aliases":[],"description":"GeoNames id of the admin2 record","syntax":["<Admin2>.place_id -> Number|Nil"],"examples":["# Read the place_id field from a Admin2 value\nprint admin2(\"3201\", admin1(\"01\", norway)).place_id;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Admin2.place_id - GeoNames id of the admin2 record\nSyntax:\n  <Admin2>.place_id -> Number|Nil\nExample:\n# Read the place_id field from a Admin2 value\n   print admin2(\"3201\", admin1(\"01\", norway)).place_id;","compact":"Field: Admin2.place_id - GeoNames id of the admin2 record","search_text":"field:Admin2.place_id place_id Admin2.place_id field GeoNames id of the admin2 record <Admin2>.place_id -> Number|Nil"},{"id":"member:Admin2.children","name":"children","path":"Admin2.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Admin2>.children() -> List"],"examples":["# Use Admin2.children on a Admin2 value\nlet value = admin2(\"3201\", admin1(\"01\", norway));\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Admin2.children - lists child fields and callable members available on this value\nSyntax:\n  <Admin2>.children() -> List\nExample:\n# Use Admin2.children on a Admin2 value\n   let value = admin2(\"3201\", admin1(\"01\", norway));\n   print value.children();","compact":"Method: Admin2.children - lists child fields and callable members available on this value","search_text":"member:Admin2.children children Admin2.children method lists child fields and callable members available on this value <Admin2>.children() -> List"},{"id":"member:Admin2.fields","name":"fields","path":"Admin2.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Admin2>.fields() -> Object"],"examples":["# Use Admin2.fields on a Admin2 value\nlet value = admin2(\"3201\", admin1(\"01\", norway));\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Admin2.fields - returns an object containing the value's plain fields\nSyntax:\n  <Admin2>.fields() -> Object\nExample:\n# Use Admin2.fields on a Admin2 value\n   let value = admin2(\"3201\", admin1(\"01\", norway));\n   print value.fields();","compact":"Method: Admin2.fields - returns an object containing the value's plain fields","search_text":"member:Admin2.fields fields Admin2.fields method returns an object containing the value's plain fields <Admin2>.fields() -> Object"},{"id":"member:Admin2.functions","name":"functions","path":"Admin2.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Admin2>.functions() -> List"],"examples":["# Use Admin2.functions on a Admin2 value\nlet value = admin2(\"3201\", admin1(\"01\", norway));\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Admin2.functions - lists callable members available on this value\nSyntax:\n  <Admin2>.functions() -> List\nExample:\n# Use Admin2.functions on a Admin2 value\n   let value = admin2(\"3201\", admin1(\"01\", norway));\n   print value.functions();","compact":"Method: Admin2.functions - lists callable members available on this value","search_text":"member:Admin2.functions functions Admin2.functions method lists callable members available on this value <Admin2>.functions() -> List"},{"id":"type:Timezones","name":"Timezones","path":"Timezones","kind":"type","aliases":[],"description":"IANA timezone lookup database handle","syntax":["timezones() -> Timezones"],"examples":["# Search timezone names and print the matched zone\nlet zone = timezones().find(\"Europe/Oslo\");\nprint zone.name;"],"arguments":[],"children":["field:Timezones.count","field:Timezones.release","member:Timezones.find","member:Timezones.at","member:Timezones.ids","member:Timezones.validate_places","member:Timezones.children","member:Timezones.fields","member:Timezones.functions"],"resources":[],"doc":"Type: Timezones - IANA timezone lookup database handle\nSyntax:\n  timezones() -> Timezones\nChildren: count, release, find(), at(), ids(), validate_places(), children(), fields(), functions()\nExample:\n# Search timezone names and print the matched zone\n   let zone = timezones().find(\"Europe/Oslo\");\n   print zone.name;","compact":"Type: Timezones - IANA timezone lookup database handle","search_text":"type:Timezones Timezones Timezones type IANA timezone lookup database handle timezones() -> Timezones"},{"id":"field:Timezones.count","name":"count","path":"Timezones.count","kind":"field","aliases":[],"description":"number of timezone records","syntax":["<Timezones>.count -> Number"],"examples":["# Count records in the timezone database\nlet db = timezones();\nprint db.count;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Timezones.count - number of timezone records\nSyntax:\n  <Timezones>.count -> Number\nExample:\n# Count records in the timezone database\n   let db = timezones();\n   print db.count;","compact":"Field: Timezones.count - number of timezone records","search_text":"field:Timezones.count count Timezones.count field number of timezone records <Timezones>.count -> Number"},{"id":"field:Timezones.release","name":"release","path":"Timezones.release","kind":"field","aliases":[],"description":"IANA/timezone-boundary release identifier","syntax":["<Timezones>.release -> Text|Nil"],"examples":["# Read the release field from a Timezones value\nprint timezones().release;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Timezones.release - IANA/timezone-boundary release identifier\nSyntax:\n  <Timezones>.release -> Text|Nil\nExample:\n# Read the release field from a Timezones value\n   print timezones().release;","compact":"Field: Timezones.release - IANA/timezone-boundary release identifier","search_text":"field:Timezones.release release Timezones.release field IANA/timezone-boundary release identifier <Timezones>.release -> Text|Nil"},{"id":"member:Timezones.find","name":"find","path":"Timezones.find","kind":"method","aliases":[],"description":"finds a timezone by IANA id","syntax":["<Timezones>.find(name: Text) -> Timezone|Unavailable"],"examples":["# Use Timezones.find on a Timezones value\nlet value = timezones();\nprint value.find(\"value\");"],"arguments":[{"name":"name","type":"Text","required":true,"description":"IANA timezone id"}],"children":[],"resources":[],"doc":"Method: Timezones.find - finds a timezone by IANA id\nSyntax:\n  <Timezones>.find(name: Text) -> Timezone|Unavailable\nArguments:\n  name: Text - IANA timezone id\nExample:\n# Use Timezones.find on a Timezones value\n   let value = timezones();\n   print value.find(\"value\");","compact":"Method: Timezones.find - finds a timezone by IANA id","search_text":"member:Timezones.find find Timezones.find method finds a timezone by IANA id <Timezones>.find(name: Text) -> Timezone|Unavailable name Text IANA timezone id"},{"id":"member:Timezones.at","name":"at","path":"Timezones.at","kind":"method","aliases":[],"description":"finds the timezone containing an Earth location","syntax":["<Timezones>.at(location: Location) -> Timezone|Unavailable"],"examples":["# Use Timezones.at on a Timezones value\nlet value = timezones();\nprint value.at(location(latitude: 60.0, longitude: 270.0));"],"arguments":[{"name":"location","type":"Location","required":true,"description":"Earth location to look up"}],"children":[],"resources":[],"doc":"Method: Timezones.at - finds the timezone containing an Earth location\nSyntax:\n  <Timezones>.at(location: Location) -> Timezone|Unavailable\nArguments:\n  location: Location - Earth location to look up\nExample:\n# Use Timezones.at on a Timezones value\n   let value = timezones();\n   print value.at(location(latitude: 60.0, longitude: 270.0));","compact":"Method: Timezones.at - finds the timezone containing an Earth location","search_text":"member:Timezones.at at Timezones.at method finds the timezone containing an Earth location <Timezones>.at(location: Location) -> Timezone|Unavailable location Location Earth location to look up"},{"id":"member:Timezones.ids","name":"ids","path":"Timezones.ids","kind":"method","aliases":[],"description":"lists timezone ids in the database","syntax":["<Timezones>.ids() -> List"],"examples":["# Use Timezones.ids on a Timezones value\nlet value = timezones();\nprint value.ids();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Timezones.ids - lists timezone ids in the database\nSyntax:\n  <Timezones>.ids() -> List\nExample:\n# Use Timezones.ids on a Timezones value\n   let value = timezones();\n   print value.ids();","compact":"Method: Timezones.ids - lists timezone ids in the database","search_text":"member:Timezones.ids ids Timezones.ids method lists timezone ids in the database <Timezones>.ids() -> List"},{"id":"member:Timezones.validate_places","name":"validate_places","path":"Timezones.validate_places","kind":"method","aliases":[],"description":"checks that place timezone ids resolve in this timezone database","syntax":["<Timezones>.validate_places(places: Places) -> Object"],"examples":["# Prepare timezone and place databases for validation\nlet zones = timezones();\nlet subset = places(country(\"VA\"));\nprint zones.find(\"Europe/Oslo\").id, subset.count;"],"arguments":[{"name":"places","type":"Places","required":true,"description":"places database to validate"}],"children":[],"resources":[],"doc":"Method: Timezones.validate_places - checks that place timezone ids resolve in this timezone database\nSyntax:\n  <Timezones>.validate_places(places: Places) -> Object\nArguments:\n  places: Places - places database to validate\nExample:\n# Prepare timezone and place databases for validation\n   let zones = timezones();\n   let subset = places(country(\"VA\"));\n   print zones.find(\"Europe/Oslo\").id, subset.count;","compact":"Method: Timezones.validate_places - checks that place timezone ids resolve in this timezone database","search_text":"member:Timezones.validate_places validate_places Timezones.validate_places method checks that place timezone ids resolve in this timezone database <Timezones>.validate_places(places: Places) -> Object places Places places database to validate"},{"id":"member:Timezones.children","name":"children","path":"Timezones.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Timezones>.children() -> List"],"examples":["# Use Timezones.children on a Timezones value\nlet value = timezones();\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Timezones.children - lists child fields and callable members available on this value\nSyntax:\n  <Timezones>.children() -> List\nExample:\n# Use Timezones.children on a Timezones value\n   let value = timezones();\n   print value.children();","compact":"Method: Timezones.children - lists child fields and callable members available on this value","search_text":"member:Timezones.children children Timezones.children method lists child fields and callable members available on this value <Timezones>.children() -> List"},{"id":"member:Timezones.fields","name":"fields","path":"Timezones.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Timezones>.fields() -> Object"],"examples":["# Use Timezones.fields on a Timezones value\nlet value = timezones();\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Timezones.fields - returns an object containing the value's plain fields\nSyntax:\n  <Timezones>.fields() -> Object\nExample:\n# Use Timezones.fields on a Timezones value\n   let value = timezones();\n   print value.fields();","compact":"Method: Timezones.fields - returns an object containing the value's plain fields","search_text":"member:Timezones.fields fields Timezones.fields method returns an object containing the value's plain fields <Timezones>.fields() -> Object"},{"id":"member:Timezones.functions","name":"functions","path":"Timezones.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Timezones>.functions() -> List"],"examples":["# Use Timezones.functions on a Timezones value\nlet value = timezones();\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Timezones.functions - lists callable members available on this value\nSyntax:\n  <Timezones>.functions() -> List\nExample:\n# Use Timezones.functions on a Timezones value\n   let value = timezones();\n   print value.functions();","compact":"Method: Timezones.functions - lists callable members available on this value","search_text":"member:Timezones.functions functions Timezones.functions method lists callable members available on this value <Timezones>.functions() -> List"},{"id":"type:Timezone","name":"Timezone","path":"Timezone","kind":"type","aliases":[],"description":"IANA timezone with optional boundary and representative-location metadata","syntax":["timezone(timezone: Text|Location|Timezone) -> Timezone"],"examples":["# Resolve the timezone for a location and format a local time\nlet zone = timezone(location(58.9666667, 5.7333333));\nlet local = time(2026,6,21,12,0,0).local(zone);\nprint zone.name, local.iso;"],"arguments":[{"name":"timezone","type":"Text|Location|Timezone","required":true,"description":"IANA timezone id, Location, or existing Timezone"}],"children":["field:Timezone.id","field:Timezone.aliases","field:Timezone.countries","field:Timezone.comment","field:Timezone.latitude","field:Timezone.longitude","field:Timezone.release","member:Timezone.local","member:Timezone.offset","member:Timezone.location","member:Timezone.children","member:Timezone.fields","member:Timezone.functions"],"resources":[],"doc":"Type: Timezone - IANA timezone with optional boundary and representative-location metadata\nSyntax:\n  timezone(timezone: Text|Location|Timezone) -> Timezone\nArguments:\n  timezone: Text|Location|Timezone - IANA timezone id, Location, or existing Timezone\nChildren: id, aliases, countries, comment, latitude, longitude, release, local(), offset(), location(), children(), fields(), functions()\nExample:\n# Resolve the timezone for a location and format a local time\n   let zone = timezone(location(58.9666667, 5.7333333));\n   let local = time(2026,6,21,12,0,0).local(zone);\n   print zone.name, local.iso;","compact":"Type: Timezone - IANA timezone with optional boundary and representative-location metadata","search_text":"type:Timezone Timezone Timezone type IANA timezone with optional boundary and representative-location metadata timezone(timezone: Text|Location|Timezone) -> Timezone timezone Text|Location|Timezone IANA timezone id, Location, or existing Timezone"},{"id":"field:Timezone.id","name":"id","path":"Timezone.id","kind":"field","aliases":[],"description":"IANA timezone identifier","syntax":["<Timezone>.id -> Text"],"examples":["# Read the id field from a Timezone value\nprint timezone(\"Europe/Oslo\").id;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Timezone.id - IANA timezone identifier\nSyntax:\n  <Timezone>.id -> Text\nExample:\n# Read the id field from a Timezone value\n   print timezone(\"Europe/Oslo\").id;","compact":"Field: Timezone.id - IANA timezone identifier","search_text":"field:Timezone.id id Timezone.id field IANA timezone identifier <Timezone>.id -> Text"},{"id":"field:Timezone.aliases","name":"aliases","path":"Timezone.aliases","kind":"field","aliases":[],"description":"IANA Link names that resolve to this timezone","syntax":["<Timezone>.aliases -> List"],"examples":["# Read the aliases field from a Timezone value\nprint timezone(\"Europe/Oslo\").aliases;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Timezone.aliases - IANA Link names that resolve to this timezone\nSyntax:\n  <Timezone>.aliases -> List\nExample:\n# Read the aliases field from a Timezone value\n   print timezone(\"Europe/Oslo\").aliases;","compact":"Field: Timezone.aliases - IANA Link names that resolve to this timezone","search_text":"field:Timezone.aliases aliases Timezone.aliases field IANA Link names that resolve to this timezone <Timezone>.aliases -> List"},{"id":"field:Timezone.countries","name":"countries","path":"Timezone.countries","kind":"field","aliases":[],"description":"ISO country codes listed for this timezone","syntax":["<Timezone>.countries -> List"],"examples":["# Read the countries field from a Timezone value\nprint timezone(\"Europe/Oslo\").countries;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Timezone.countries - ISO country codes listed for this timezone\nSyntax:\n  <Timezone>.countries -> List\nExample:\n# Read the countries field from a Timezone value\n   print timezone(\"Europe/Oslo\").countries;","compact":"Field: Timezone.countries - ISO country codes listed for this timezone","search_text":"field:Timezone.countries countries Timezone.countries field ISO country codes listed for this timezone <Timezone>.countries -> List"},{"id":"field:Timezone.comment","name":"comment","path":"Timezone.comment","kind":"field","aliases":[],"description":"IANA zone table comment","syntax":["<Timezone>.comment -> Text|Nil"],"examples":["# Read the comment field from a Timezone value\nprint timezone(\"Europe/Oslo\").comment;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Timezone.comment - IANA zone table comment\nSyntax:\n  <Timezone>.comment -> Text|Nil\nExample:\n# Read the comment field from a Timezone value\n   print timezone(\"Europe/Oslo\").comment;","compact":"Field: Timezone.comment - IANA zone table comment","search_text":"field:Timezone.comment comment Timezone.comment field IANA zone table comment <Timezone>.comment -> Text|Nil"},{"id":"field:Timezone.latitude","name":"latitude","path":"Timezone.latitude","kind":"field","aliases":[],"description":"representative latitude from IANA zone table","syntax":["<Timezone>.latitude -> Number|Nil"],"examples":["# Check whether a timezone record has representative latitude metadata\nlet zone = timezone(\"Europe/Oslo\");\nprint zone.id, zone.latitude.available();"],"arguments":[],"children":[],"resources":[],"doc":"Field: Timezone.latitude - representative latitude from IANA zone table\nSyntax:\n  <Timezone>.latitude -> Number|Nil\nExample:\n# Check whether a timezone record has representative latitude metadata\n   let zone = timezone(\"Europe/Oslo\");\n   print zone.id, zone.latitude.available();","compact":"Field: Timezone.latitude - representative latitude from IANA zone table","search_text":"field:Timezone.latitude latitude Timezone.latitude field representative latitude from IANA zone table <Timezone>.latitude -> Number|Nil"},{"id":"field:Timezone.longitude","name":"longitude","path":"Timezone.longitude","kind":"field","aliases":[],"description":"representative longitude from IANA zone table","syntax":["<Timezone>.longitude -> Number|Nil"],"examples":["# Check whether a timezone record has representative longitude metadata\nlet zone = timezone(\"Europe/Oslo\");\nprint zone.id, zone.longitude.available();"],"arguments":[],"children":[],"resources":[],"doc":"Field: Timezone.longitude - representative longitude from IANA zone table\nSyntax:\n  <Timezone>.longitude -> Number|Nil\nExample:\n# Check whether a timezone record has representative longitude metadata\n   let zone = timezone(\"Europe/Oslo\");\n   print zone.id, zone.longitude.available();","compact":"Field: Timezone.longitude - representative longitude from IANA zone table","search_text":"field:Timezone.longitude longitude Timezone.longitude field representative longitude from IANA zone table <Timezone>.longitude -> Number|Nil"},{"id":"field:Timezone.release","name":"release","path":"Timezone.release","kind":"field","aliases":[],"description":"IANA/timezone-boundary release identifier","syntax":["<Timezone>.release -> Text|Nil"],"examples":["# Read the release field from a Timezone value\nprint timezone(\"Europe/Oslo\").release;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Timezone.release - IANA/timezone-boundary release identifier\nSyntax:\n  <Timezone>.release -> Text|Nil\nExample:\n# Read the release field from a Timezone value\n   print timezone(\"Europe/Oslo\").release;","compact":"Field: Timezone.release - IANA/timezone-boundary release identifier","search_text":"field:Timezone.release release Timezone.release field IANA/timezone-boundary release identifier <Timezone>.release -> Text|Nil"},{"id":"member:Timezone.local","name":"local","path":"Timezone.local","kind":"method","aliases":[],"description":"converts a UTC Time into this timezone","syntax":["<Timezone>.local(time: Time) -> LocalTime"],"examples":["# Use Timezone.local on a Timezone value\nlet value = timezone(\"Europe/Oslo\");\nprint value.local(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"UTC time to convert"}],"children":[],"resources":[],"doc":"Method: Timezone.local - converts a UTC Time into this timezone\nSyntax:\n  <Timezone>.local(time: Time) -> LocalTime\nArguments:\n  time: Time - UTC time to convert\nExample:\n# Use Timezone.local on a Timezone value\n   let value = timezone(\"Europe/Oslo\");\n   print value.local(time());","compact":"Method: Timezone.local - converts a UTC Time into this timezone","search_text":"member:Timezone.local local Timezone.local method converts a UTC Time into this timezone <Timezone>.local(time: Time) -> LocalTime time Time UTC time to convert"},{"id":"member:Timezone.offset","name":"offset","path":"Timezone.offset","kind":"method","aliases":[],"description":"returns this timezone's UTC offset at a Time","syntax":["<Timezone>.offset(time: Time) -> Object"],"examples":["# Use Timezone.offset on a Timezone value\nlet value = timezone(\"Europe/Oslo\");\nprint value.offset(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"UTC time to convert"}],"children":[],"resources":[],"doc":"Method: Timezone.offset - returns this timezone's UTC offset at a Time\nSyntax:\n  <Timezone>.offset(time: Time) -> Object\nArguments:\n  time: Time - UTC time to convert\nExample:\n# Use Timezone.offset on a Timezone value\n   let value = timezone(\"Europe/Oslo\");\n   print value.offset(time());","compact":"Method: Timezone.offset - returns this timezone's UTC offset at a Time","search_text":"member:Timezone.offset offset Timezone.offset method returns this timezone's UTC offset at a Time <Timezone>.offset(time: Time) -> Object time Time UTC time to convert"},{"id":"member:Timezone.location","name":"location","path":"Timezone.location","kind":"method","aliases":[],"description":"returns the representative IANA location for this timezone","syntax":["<Timezone>.location() -> Location|Nil"],"examples":["# Check whether a timezone record has a representative location\nlet zone = timezone(\"Europe/Oslo\");\nprint zone.id, zone.location().available();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Timezone.location - returns the representative IANA location for this timezone\nSyntax:\n  <Timezone>.location() -> Location|Nil\nExample:\n# Check whether a timezone record has a representative location\n   let zone = timezone(\"Europe/Oslo\");\n   print zone.id, zone.location().available();","compact":"Method: Timezone.location - returns the representative IANA location for this timezone","search_text":"member:Timezone.location location Timezone.location method returns the representative IANA location for this timezone <Timezone>.location() -> Location|Nil"},{"id":"member:Timezone.children","name":"children","path":"Timezone.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Timezone>.children() -> List"],"examples":["# Use Timezone.children on a Timezone value\nlet value = timezone(\"Europe/Oslo\");\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Timezone.children - lists child fields and callable members available on this value\nSyntax:\n  <Timezone>.children() -> List\nExample:\n# Use Timezone.children on a Timezone value\n   let value = timezone(\"Europe/Oslo\");\n   print value.children();","compact":"Method: Timezone.children - lists child fields and callable members available on this value","search_text":"member:Timezone.children children Timezone.children method lists child fields and callable members available on this value <Timezone>.children() -> List"},{"id":"member:Timezone.fields","name":"fields","path":"Timezone.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Timezone>.fields() -> Object"],"examples":["# Use Timezone.fields on a Timezone value\nlet value = timezone(\"Europe/Oslo\");\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Timezone.fields - returns an object containing the value's plain fields\nSyntax:\n  <Timezone>.fields() -> Object\nExample:\n# Use Timezone.fields on a Timezone value\n   let value = timezone(\"Europe/Oslo\");\n   print value.fields();","compact":"Method: Timezone.fields - returns an object containing the value's plain fields","search_text":"member:Timezone.fields fields Timezone.fields method returns an object containing the value's plain fields <Timezone>.fields() -> Object"},{"id":"member:Timezone.functions","name":"functions","path":"Timezone.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Timezone>.functions() -> List"],"examples":["# Use Timezone.functions on a Timezone value\nlet value = timezone(\"Europe/Oslo\");\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Timezone.functions - lists callable members available on this value\nSyntax:\n  <Timezone>.functions() -> List\nExample:\n# Use Timezone.functions on a Timezone value\n   let value = timezone(\"Europe/Oslo\");\n   print value.functions();","compact":"Method: Timezone.functions - lists callable members available on this value","search_text":"member:Timezone.functions functions Timezone.functions method lists callable members available on this value <Timezone>.functions() -> List"},{"id":"type:Stars","name":"Stars","path":"Stars","kind":"type","aliases":[],"description":"Yale Bright Star Catalogue database handle","syntax":["stars() -> Stars"],"examples":["# Search a star catalog and print bright-star directions\nlet hits = stars().find(\"sirius\");\nprint hits.name, hits.ra, hits.dec;"],"arguments":[],"children":["field:Stars.count","member:Stars.find","member:Stars.glob","member:Stars.nearest","member:Stars.all","member:Stars.visible","member:Stars.children","member:Stars.fields","member:Stars.functions"],"resources":[],"doc":"Type: Stars - Yale Bright Star Catalogue database handle\nSyntax:\n  stars() -> Stars\nChildren: count, find(), glob(), nearest(), all(), visible(), children(), fields(), functions()\nExample:\n# Search a star catalog and print bright-star directions\n   let hits = stars().find(\"sirius\");\n   print hits.name, hits.ra, hits.dec;","compact":"Type: Stars - Yale Bright Star Catalogue database handle","search_text":"type:Stars Stars Stars type Yale Bright Star Catalogue database handle stars() -> Stars"},{"id":"field:Stars.count","name":"count","path":"Stars.count","kind":"field","aliases":[],"description":"number of catalog stars","syntax":["<Stars>.count -> Number"],"examples":["# Read the count field from a Stars value\nprint stars().count;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Stars.count - number of catalog stars\nSyntax:\n  <Stars>.count -> Number\nExample:\n# Read the count field from a Stars value\n   print stars().count;","compact":"Field: Stars.count - number of catalog stars","search_text":"field:Stars.count count Stars.count field number of catalog stars <Stars>.count -> Number"},{"id":"member:Stars.find","name":"find","path":"Stars.find","kind":"method","aliases":[],"description":"finds a star by common name, catalog id, or designation","syntax":["<Stars>.find() -> Star"],"examples":["# Find a named bright star\nlet star = stars().find(\"Sirius\");\nprint star.name, star.ra, star.dec;"],"arguments":[],"children":[],"resources":[],"doc":"Method: Stars.find - finds a star by common name, catalog id, or designation\nSyntax:\n  <Stars>.find() -> Star\nExample:\n# Find a named bright star\n   let star = stars().find(\"Sirius\");\n   print star.name, star.ra, star.dec;","compact":"Method: Stars.find - finds a star by common name, catalog id, or designation","search_text":"member:Stars.find find Stars.find method finds a star by common name, catalog id, or designation <Stars>.find() -> Star"},{"id":"member:Stars.glob","name":"glob","path":"Stars.glob","kind":"method","aliases":[],"description":"lists stars whose names or catalogue identifiers match a glob pattern","syntax":["<Stars>.glob() -> List"],"examples":["# Find stars by a name pattern\nlet hits = stars().glob(\"Sir*\");\nprint hits.length(), hits[0].name;"],"arguments":[],"children":[],"resources":[],"doc":"Method: Stars.glob - lists stars whose names or catalogue identifiers match a glob pattern\nSyntax:\n  <Stars>.glob() -> List\nExample:\n# Find stars by a name pattern\n   let hits = stars().glob(\"Sir*\");\n   print hits.length(), hits[0].name;","compact":"Method: Stars.glob - lists stars whose names or catalogue identifiers match a glob pattern","search_text":"member:Stars.glob glob Stars.glob method lists stars whose names or catalogue identifiers match a glob pattern <Stars>.glob() -> List"},{"id":"member:Stars.nearest","name":"nearest","path":"Stars.nearest","kind":"method","aliases":[],"description":"finds the nearest catalog star to a direction or vector","syntax":["<Stars>.nearest() -> Star|Unavailable"],"examples":["# Find the catalog star nearest to a sky direction\nlet d = direction(ra: 88.8, dec: 7.4);\nlet nearest = stars().nearest(d, magnitude: 2.0);\nprint nearest.name, nearest.separation;"],"arguments":[],"children":[],"resources":[],"doc":"Method: Stars.nearest - finds the nearest catalog star to a direction or vector\nSyntax:\n  <Stars>.nearest() -> Star|Unavailable\nExample:\n# Find the catalog star nearest to a sky direction\n   let d = direction(ra: 88.8, dec: 7.4);\n   let nearest = stars().nearest(d, magnitude: 2.0);\n   print nearest.name, nearest.separation;","compact":"Method: Stars.nearest - finds the nearest catalog star to a direction or vector","search_text":"member:Stars.nearest nearest Stars.nearest method finds the nearest catalog star to a direction or vector <Stars>.nearest() -> Star|Unavailable"},{"id":"member:Stars.all","name":"all","path":"Stars.all","kind":"method","aliases":[],"description":"lists catalog stars with optional filters and sorting","syntax":["<Stars>.all() -> List"],"examples":["# Use Stars.all on a Stars value\nlet value = stars();\nprint value.all();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Stars.all - lists catalog stars with optional filters and sorting\nSyntax:\n  <Stars>.all() -> List\nExample:\n# Use Stars.all on a Stars value\n   let value = stars();\n   print value.all();","compact":"Method: Stars.all - lists catalog stars with optional filters and sorting","search_text":"member:Stars.all all Stars.all method lists catalog stars with optional filters and sorting <Stars>.all() -> List"},{"id":"member:Stars.visible","name":"visible","path":"Stars.visible","kind":"method","aliases":[],"description":"lists stars visible from an observer at a time","syntax":["<Stars>.visible() -> List"],"examples":["# List bright stars visible from an explicit observer at a time\nlet obs = location(60,10).observer(0.002);\nlet t = time(2026,1,1,21,0,0);\nprint stars().visible(t, obs, magnitude: 2.0);"],"arguments":[],"children":[],"resources":[],"doc":"Method: Stars.visible - lists stars visible from an observer at a time\nSyntax:\n  <Stars>.visible() -> List\nExample:\n# List bright stars visible from an explicit observer at a time\n   let obs = location(60,10).observer(0.002);\n   let t = time(2026,1,1,21,0,0);\n   print stars().visible(t, obs, magnitude: 2.0);","compact":"Method: Stars.visible - lists stars visible from an observer at a time","search_text":"member:Stars.visible visible Stars.visible method lists stars visible from an observer at a time <Stars>.visible() -> List"},{"id":"member:Stars.children","name":"children","path":"Stars.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Stars>.children() -> List"],"examples":["# Use Stars.children on a Stars value\nlet value = stars();\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Stars.children - lists child fields and callable members available on this value\nSyntax:\n  <Stars>.children() -> List\nExample:\n# Use Stars.children on a Stars value\n   let value = stars();\n   print value.children();","compact":"Method: Stars.children - lists child fields and callable members available on this value","search_text":"member:Stars.children children Stars.children method lists child fields and callable members available on this value <Stars>.children() -> List"},{"id":"member:Stars.fields","name":"fields","path":"Stars.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Stars>.fields() -> Object"],"examples":["# Use Stars.fields on a Stars value\nlet value = stars();\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Stars.fields - returns an object containing the value's plain fields\nSyntax:\n  <Stars>.fields() -> Object\nExample:\n# Use Stars.fields on a Stars value\n   let value = stars();\n   print value.fields();","compact":"Method: Stars.fields - returns an object containing the value's plain fields","search_text":"member:Stars.fields fields Stars.fields method returns an object containing the value's plain fields <Stars>.fields() -> Object"},{"id":"member:Stars.functions","name":"functions","path":"Stars.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Stars>.functions() -> List"],"examples":["# Use Stars.functions on a Stars value\nlet value = stars();\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Stars.functions - lists callable members available on this value\nSyntax:\n  <Stars>.functions() -> List\nExample:\n# Use Stars.functions on a Stars value\n   let value = stars();\n   print value.functions();","compact":"Method: Stars.functions - lists callable members available on this value","search_text":"member:Stars.functions functions Stars.functions method lists callable members available on this value <Stars>.functions() -> List"},{"id":"type:Star","name":"Star","path":"Star","kind":"type","aliases":[],"description":"catalog star with identifiers, astrometry, and sky methods","syntax":[],"examples":["# Find Sirius and measure its separation from the Moon\nlet sirius = stars().find(\"sirius\");\nlet t = time(2026,1,1,0,0,0);\nlet moon_dir = direction(ra(moon, t, all_corrections), dec(moon, t, all_corrections));\nprint sirius.name, moon_dir.angular_distance(sirius.direction());"],"arguments":[],"children":["field:Star.hr","field:Star.name","field:Star.designation","field:Star.names","field:Star.dm","field:Star.hd","field:Star.sao","field:Star.fk5","field:Star.var_id","field:Star.ra","field:Star.dec","field:Star.glon","field:Star.glat","field:Star.magnitude","field:Star.spectral_type","field:Star.pm_ra","field:Star.pm_dec","field:Star.parallax","field:Star.radial_velocity","field:Star.separation","member:Star.direction","member:Star.altaz","member:Star.angular_distance","member:Star.rise","member:Star.set","member:Star.transit","member:Star.constellation","member:Star.children","member:Star.fields","member:Star.functions"],"resources":[],"doc":"Type: Star - catalog star with identifiers, astrometry, and sky methods\nChildren: hr, name, designation, names, dm, hd, sao, fk5, var_id, ra, dec, glon, glat, magnitude, spectral_type, pm_ra, pm_dec, parallax, radial_velocity, separation, direction(), altaz(), angular_distance(), rise(), set(), transit(), constellation(), children(), fields(), functions()\nExample:\n# Find Sirius and measure its separation from the Moon\n   let sirius = stars().find(\"sirius\");\n   let t = time(2026,1,1,0,0,0);\n   let moon_dir = direction(ra(moon, t, all_corrections), dec(moon, t, all_corrections));\n   print sirius.name, moon_dir.angular_distance(sirius.direction());","compact":"Type: Star - catalog star with identifiers, astrometry, and sky methods","search_text":"type:Star Star Star type catalog star with identifiers, astrometry, and sky methods"},{"id":"field:Star.hr","name":"hr","path":"Star.hr","kind":"field","aliases":[],"description":"Harvard Revised catalog number","syntax":["<Star>.hr -> Number"],"examples":["# Read the hr field from a Star value\nprint stars().find(\"sirius\").hr;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Star.hr - Harvard Revised catalog number\nSyntax:\n  <Star>.hr -> Number\nExample:\n# Read the hr field from a Star value\n   print stars().find(\"sirius\").hr;","compact":"Field: Star.hr - Harvard Revised catalog number","search_text":"field:Star.hr hr Star.hr field Harvard Revised catalog number <Star>.hr -> Number"},{"id":"field:Star.name","name":"name","path":"Star.name","kind":"field","aliases":[],"description":"display name","syntax":["<Star>.name -> Text"],"examples":["# Read the name field from a Star value\nprint stars().find(\"sirius\").name;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Star.name - display name\nSyntax:\n  <Star>.name -> Text\nExample:\n# Read the name field from a Star value\n   print stars().find(\"sirius\").name;","compact":"Field: Star.name - display name","search_text":"field:Star.name name Star.name field display name <Star>.name -> Text"},{"id":"field:Star.designation","name":"designation","path":"Star.designation","kind":"field","aliases":[],"description":"Bayer/Flamsteed designation when available","syntax":["<Star>.designation -> Text|Nil"],"examples":["# Read the designation field from a Star value\nprint stars().find(\"sirius\").designation;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Star.designation - Bayer/Flamsteed designation when available\nSyntax:\n  <Star>.designation -> Text|Nil\nExample:\n# Read the designation field from a Star value\n   print stars().find(\"sirius\").designation;","compact":"Field: Star.designation - Bayer/Flamsteed designation when available","search_text":"field:Star.designation designation Star.designation field Bayer/Flamsteed designation when available <Star>.designation -> Text|Nil"},{"id":"field:Star.names","name":"names","path":"Star.names","kind":"field","aliases":[],"description":"catalog aliases and common names","syntax":["<Star>.names -> List"],"examples":["# Read the names field from a Star value\nprint stars().find(\"sirius\").names;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Star.names - catalog aliases and common names\nSyntax:\n  <Star>.names -> List\nExample:\n# Read the names field from a Star value\n   print stars().find(\"sirius\").names;","compact":"Field: Star.names - catalog aliases and common names","search_text":"field:Star.names names Star.names field catalog aliases and common names <Star>.names -> List"},{"id":"field:Star.dm","name":"dm","path":"Star.dm","kind":"field","aliases":[],"description":"Durchmusterung identifier when available","syntax":["<Star>.dm -> Text|Nil"],"examples":["# Read the dm field from a Star value\nprint stars().find(\"sirius\").dm;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Star.dm - Durchmusterung identifier when available\nSyntax:\n  <Star>.dm -> Text|Nil\nExample:\n# Read the dm field from a Star value\n   print stars().find(\"sirius\").dm;","compact":"Field: Star.dm - Durchmusterung identifier when available","search_text":"field:Star.dm dm Star.dm field Durchmusterung identifier when available <Star>.dm -> Text|Nil"},{"id":"field:Star.hd","name":"hd","path":"Star.hd","kind":"field","aliases":[],"description":"Henry Draper catalog number when available","syntax":["<Star>.hd -> Number|Nil"],"examples":["# Read the hd field from a Star value\nprint stars().find(\"sirius\").hd;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Star.hd - Henry Draper catalog number when available\nSyntax:\n  <Star>.hd -> Number|Nil\nExample:\n# Read the hd field from a Star value\n   print stars().find(\"sirius\").hd;","compact":"Field: Star.hd - Henry Draper catalog number when available","search_text":"field:Star.hd hd Star.hd field Henry Draper catalog number when available <Star>.hd -> Number|Nil"},{"id":"field:Star.sao","name":"sao","path":"Star.sao","kind":"field","aliases":[],"description":"SAO catalog number when available","syntax":["<Star>.sao -> Number|Nil"],"examples":["# Read the sao field from a Star value\nprint stars().find(\"sirius\").sao;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Star.sao - SAO catalog number when available\nSyntax:\n  <Star>.sao -> Number|Nil\nExample:\n# Read the sao field from a Star value\n   print stars().find(\"sirius\").sao;","compact":"Field: Star.sao - SAO catalog number when available","search_text":"field:Star.sao sao Star.sao field SAO catalog number when available <Star>.sao -> Number|Nil"},{"id":"field:Star.fk5","name":"fk5","path":"Star.fk5","kind":"field","aliases":[],"description":"FK5 catalog number when available","syntax":["<Star>.fk5 -> Number|Nil"],"examples":["# Read the fk5 field from a Star value\nprint stars().find(\"sirius\").fk5;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Star.fk5 - FK5 catalog number when available\nSyntax:\n  <Star>.fk5 -> Number|Nil\nExample:\n# Read the fk5 field from a Star value\n   print stars().find(\"sirius\").fk5;","compact":"Field: Star.fk5 - FK5 catalog number when available","search_text":"field:Star.fk5 fk5 Star.fk5 field FK5 catalog number when available <Star>.fk5 -> Number|Nil"},{"id":"field:Star.var_id","name":"var_id","path":"Star.var_id","kind":"field","aliases":[],"description":"variable star identifier when available","syntax":["<Star>.var_id -> Text|Nil"],"examples":["# Read the var_id field from a Star value\nprint stars().find(\"sirius\").var_id;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Star.var_id - variable star identifier when available\nSyntax:\n  <Star>.var_id -> Text|Nil\nExample:\n# Read the var_id field from a Star value\n   print stars().find(\"sirius\").var_id;","compact":"Field: Star.var_id - variable star identifier when available","search_text":"field:Star.var_id var_id Star.var_id field variable star identifier when available <Star>.var_id -> Text|Nil"},{"id":"field:Star.ra","name":"ra","path":"Star.ra","kind":"field","aliases":[],"description":"right ascension in degrees","syntax":["<Star>.ra -> Number"],"examples":["# Read the ra field from a Star value\nprint stars().find(\"sirius\").ra;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Star.ra - right ascension in degrees\nSyntax:\n  <Star>.ra -> Number\nExample:\n# Read the ra field from a Star value\n   print stars().find(\"sirius\").ra;","compact":"Field: Star.ra - right ascension in degrees","search_text":"field:Star.ra ra Star.ra field right ascension in degrees <Star>.ra -> Number"},{"id":"field:Star.dec","name":"dec","path":"Star.dec","kind":"field","aliases":[],"description":"declination in degrees","syntax":["<Star>.dec -> Number"],"examples":["# Read the dec field from a Star value\nprint stars().find(\"sirius\").dec;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Star.dec - declination in degrees\nSyntax:\n  <Star>.dec -> Number\nExample:\n# Read the dec field from a Star value\n   print stars().find(\"sirius\").dec;","compact":"Field: Star.dec - declination in degrees","search_text":"field:Star.dec dec Star.dec field declination in degrees <Star>.dec -> Number"},{"id":"field:Star.glon","name":"glon","path":"Star.glon","kind":"field","aliases":[],"description":"galactic longitude in degrees when available","syntax":["<Star>.glon -> Number|Nil"],"examples":["# Read the glon field from a Star value\nprint stars().find(\"sirius\").glon;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Star.glon - galactic longitude in degrees when available\nSyntax:\n  <Star>.glon -> Number|Nil\nExample:\n# Read the glon field from a Star value\n   print stars().find(\"sirius\").glon;","compact":"Field: Star.glon - galactic longitude in degrees when available","search_text":"field:Star.glon glon Star.glon field galactic longitude in degrees when available <Star>.glon -> Number|Nil"},{"id":"field:Star.glat","name":"glat","path":"Star.glat","kind":"field","aliases":[],"description":"galactic latitude in degrees when available","syntax":["<Star>.glat -> Number|Nil"],"examples":["# Read the glat field from a Star value\nprint stars().find(\"sirius\").glat;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Star.glat - galactic latitude in degrees when available\nSyntax:\n  <Star>.glat -> Number|Nil\nExample:\n# Read the glat field from a Star value\n   print stars().find(\"sirius\").glat;","compact":"Field: Star.glat - galactic latitude in degrees when available","search_text":"field:Star.glat glat Star.glat field galactic latitude in degrees when available <Star>.glat -> Number|Nil"},{"id":"field:Star.magnitude","name":"magnitude","path":"Star.magnitude","kind":"field","aliases":[],"description":"visual magnitude when available","syntax":["<Star>.magnitude -> Number|Nil"],"examples":["# Read the magnitude field from a Star value\nprint stars().find(\"sirius\").magnitude;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Star.magnitude - visual magnitude when available\nSyntax:\n  <Star>.magnitude -> Number|Nil\nExample:\n# Read the magnitude field from a Star value\n   print stars().find(\"sirius\").magnitude;","compact":"Field: Star.magnitude - visual magnitude when available","search_text":"field:Star.magnitude magnitude Star.magnitude field visual magnitude when available <Star>.magnitude -> Number|Nil"},{"id":"field:Star.spectral_type","name":"spectral_type","path":"Star.spectral_type","kind":"field","aliases":[],"description":"spectral type when available","syntax":["<Star>.spectral_type -> Text|Nil"],"examples":["# Read the spectral_type field from a Star value\nprint stars().find(\"sirius\").spectral_type;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Star.spectral_type - spectral type when available\nSyntax:\n  <Star>.spectral_type -> Text|Nil\nExample:\n# Read the spectral_type field from a Star value\n   print stars().find(\"sirius\").spectral_type;","compact":"Field: Star.spectral_type - spectral type when available","search_text":"field:Star.spectral_type spectral_type Star.spectral_type field spectral type when available <Star>.spectral_type -> Text|Nil"},{"id":"field:Star.pm_ra","name":"pm_ra","path":"Star.pm_ra","kind":"field","aliases":[],"description":"right ascension proper motion in arcseconds per year","syntax":["<Star>.pm_ra -> Number|Nil"],"examples":["# Read the pm_ra field from a Star value\nprint stars().find(\"sirius\").pm_ra;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Star.pm_ra - right ascension proper motion in arcseconds per year\nSyntax:\n  <Star>.pm_ra -> Number|Nil\nExample:\n# Read the pm_ra field from a Star value\n   print stars().find(\"sirius\").pm_ra;","compact":"Field: Star.pm_ra - right ascension proper motion in arcseconds per year","search_text":"field:Star.pm_ra pm_ra Star.pm_ra field right ascension proper motion in arcseconds per year <Star>.pm_ra -> Number|Nil"},{"id":"field:Star.pm_dec","name":"pm_dec","path":"Star.pm_dec","kind":"field","aliases":[],"description":"declination proper motion in arcseconds per year","syntax":["<Star>.pm_dec -> Number|Nil"],"examples":["# Read the pm_dec field from a Star value\nprint stars().find(\"sirius\").pm_dec;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Star.pm_dec - declination proper motion in arcseconds per year\nSyntax:\n  <Star>.pm_dec -> Number|Nil\nExample:\n# Read the pm_dec field from a Star value\n   print stars().find(\"sirius\").pm_dec;","compact":"Field: Star.pm_dec - declination proper motion in arcseconds per year","search_text":"field:Star.pm_dec pm_dec Star.pm_dec field declination proper motion in arcseconds per year <Star>.pm_dec -> Number|Nil"},{"id":"field:Star.parallax","name":"parallax","path":"Star.parallax","kind":"field","aliases":[],"description":"parallax in arcseconds when available","syntax":["<Star>.parallax -> Number|Nil"],"examples":["# Read the parallax field from a Star value\nprint stars().find(\"sirius\").parallax;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Star.parallax - parallax in arcseconds when available\nSyntax:\n  <Star>.parallax -> Number|Nil\nExample:\n# Read the parallax field from a Star value\n   print stars().find(\"sirius\").parallax;","compact":"Field: Star.parallax - parallax in arcseconds when available","search_text":"field:Star.parallax parallax Star.parallax field parallax in arcseconds when available <Star>.parallax -> Number|Nil"},{"id":"field:Star.radial_velocity","name":"radial_velocity","path":"Star.radial_velocity","kind":"field","aliases":[],"description":"radial velocity in kilometers per second when available","syntax":["<Star>.radial_velocity -> Number|Nil"],"examples":["# Read the radial_velocity field from a Star value\nprint stars().find(\"sirius\").radial_velocity;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Star.radial_velocity - radial velocity in kilometers per second when available\nSyntax:\n  <Star>.radial_velocity -> Number|Nil\nExample:\n# Read the radial_velocity field from a Star value\n   print stars().find(\"sirius\").radial_velocity;","compact":"Field: Star.radial_velocity - radial velocity in kilometers per second when available","search_text":"field:Star.radial_velocity radial_velocity Star.radial_velocity field radial velocity in kilometers per second when available <Star>.radial_velocity -> Number|Nil"},{"id":"field:Star.separation","name":"separation","path":"Star.separation","kind":"field","aliases":[],"description":"angular separation in degrees from the latest nearest-star query","syntax":["<Star>.separation -> Number|Nil"],"examples":["# Read the separation field from a Star value\nprint stars().find(\"sirius\").separation;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Star.separation - angular separation in degrees from the latest nearest-star query\nSyntax:\n  <Star>.separation -> Number|Nil\nExample:\n# Read the separation field from a Star value\n   print stars().find(\"sirius\").separation;","compact":"Field: Star.separation - angular separation in degrees from the latest nearest-star query","search_text":"field:Star.separation separation Star.separation field angular separation in degrees from the latest nearest-star query <Star>.separation -> Number|Nil"},{"id":"member:Star.direction","name":"direction","path":"Star.direction","kind":"method","aliases":[],"description":"returns the ICRF direction to this star","syntax":["<Star>.direction() -> Direction"],"examples":["# Use Star.direction on a Star value\nlet value = stars().find(\"sirius\");\nprint value.direction();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Star.direction - returns the ICRF direction to this star\nSyntax:\n  <Star>.direction() -> Direction\nExample:\n# Use Star.direction on a Star value\n   let value = stars().find(\"sirius\");\n   print value.direction();","compact":"Method: Star.direction - returns the ICRF direction to this star","search_text":"member:Star.direction direction Star.direction method returns the ICRF direction to this star <Star>.direction() -> Direction"},{"id":"member:Star.altaz","name":"altaz","path":"Star.altaz","kind":"method","aliases":[],"description":"returns topographic altitude and azimuth for this star","syntax":["<Star>.altaz() -> Object"],"examples":["# Convert a star position to local altitude and azimuth\nlet value = stars().find(\"Sirius\");\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nprint value.altaz(time(2026,1,1,21,0,0), obs);"],"arguments":[],"children":[],"resources":[],"doc":"Method: Star.altaz - returns topographic altitude and azimuth for this star\nSyntax:\n  <Star>.altaz() -> Object\nExample:\n# Convert a star position to local altitude and azimuth\n   let value = stars().find(\"Sirius\");\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   print value.altaz(time(2026,1,1,21,0,0), obs);","compact":"Method: Star.altaz - returns topographic altitude and azimuth for this star","search_text":"member:Star.altaz altaz Star.altaz method returns topographic altitude and azimuth for this star <Star>.altaz() -> Object"},{"id":"member:Star.angular_distance","name":"angular_distance","path":"Star.angular_distance","kind":"method","aliases":[],"description":"returns angular distance from this star to another target","syntax":["<Star>.angular_distance() -> Number"],"examples":["# Measure angular separation between two named stars\nlet sirius = stars().find(\"Sirius\");\nlet rigel = stars().find(\"Rigel\");\nprint sirius.angular_distance(rigel);"],"arguments":[],"children":[],"resources":[],"doc":"Method: Star.angular_distance - returns angular distance from this star to another target\nSyntax:\n  <Star>.angular_distance() -> Number\nExample:\n# Measure angular separation between two named stars\n   let sirius = stars().find(\"Sirius\");\n   let rigel = stars().find(\"Rigel\");\n   print sirius.angular_distance(rigel);","compact":"Method: Star.angular_distance - returns angular distance from this star to another target","search_text":"member:Star.angular_distance angular_distance Star.angular_distance method returns angular distance from this star to another target <Star>.angular_distance() -> Number"},{"id":"member:Star.rise","name":"rise","path":"Star.rise","kind":"method","aliases":[],"description":"finds rise events for this star","syntax":["<Star>.rise() -> Event|List|Unavailable"],"examples":["# Find when a star rises for an observer\nlet value = stars().find(\"Sirius\");\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\nprint value.rise(span, obs).first();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Star.rise - finds rise events for this star\nSyntax:\n  <Star>.rise() -> Event|List|Unavailable\nExample:\n# Find when a star rises for an observer\n   let value = stars().find(\"Sirius\");\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\n   print value.rise(span, obs).first();","compact":"Method: Star.rise - finds rise events for this star","search_text":"member:Star.rise rise Star.rise method finds rise events for this star <Star>.rise() -> Event|List|Unavailable"},{"id":"member:Star.set","name":"set","path":"Star.set","kind":"method","aliases":[],"description":"finds set events for this star","syntax":["<Star>.set() -> Event|List|Unavailable"],"examples":["# Find when a star sets for an observer\nlet value = stars().find(\"Sirius\");\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\nprint value.set(span, obs).first();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Star.set - finds set events for this star\nSyntax:\n  <Star>.set() -> Event|List|Unavailable\nExample:\n# Find when a star sets for an observer\n   let value = stars().find(\"Sirius\");\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\n   print value.set(span, obs).first();","compact":"Method: Star.set - finds set events for this star","search_text":"member:Star.set set Star.set method finds set events for this star <Star>.set() -> Event|List|Unavailable"},{"id":"member:Star.transit","name":"transit","path":"Star.transit","kind":"method","aliases":[],"description":"finds meridian transit events for this star","syntax":["<Star>.transit() -> Event|List|Unavailable"],"examples":["# Find when a star transits for an observer\nlet value = stars().find(\"Sirius\");\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\nprint value.transit(span, obs).first();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Star.transit - finds meridian transit events for this star\nSyntax:\n  <Star>.transit() -> Event|List|Unavailable\nExample:\n# Find when a star transits for an observer\n   let value = stars().find(\"Sirius\");\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\n   print value.transit(span, obs).first();","compact":"Method: Star.transit - finds meridian transit events for this star","search_text":"member:Star.transit transit Star.transit method finds meridian transit events for this star <Star>.transit() -> Event|List|Unavailable"},{"id":"member:Star.constellation","name":"constellation","path":"Star.constellation","kind":"method","aliases":[],"description":"returns the constellation containing this star","syntax":["<Star>.constellation() -> Constellation|Unavailable"],"examples":["# Use Star.constellation on a Star value\nlet value = stars().find(\"sirius\");\nprint value.constellation();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Star.constellation - returns the constellation containing this star\nSyntax:\n  <Star>.constellation() -> Constellation|Unavailable\nExample:\n# Use Star.constellation on a Star value\n   let value = stars().find(\"sirius\");\n   print value.constellation();","compact":"Method: Star.constellation - returns the constellation containing this star","search_text":"member:Star.constellation constellation Star.constellation method returns the constellation containing this star <Star>.constellation() -> Constellation|Unavailable"},{"id":"member:Star.children","name":"children","path":"Star.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Star>.children() -> List"],"examples":["# Use Star.children on a Star value\nlet value = stars().find(\"sirius\");\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Star.children - lists child fields and callable members available on this value\nSyntax:\n  <Star>.children() -> List\nExample:\n# Use Star.children on a Star value\n   let value = stars().find(\"sirius\");\n   print value.children();","compact":"Method: Star.children - lists child fields and callable members available on this value","search_text":"member:Star.children children Star.children method lists child fields and callable members available on this value <Star>.children() -> List"},{"id":"member:Star.fields","name":"fields","path":"Star.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Star>.fields() -> Object"],"examples":["# Use Star.fields on a Star value\nlet value = stars().find(\"sirius\");\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Star.fields - returns an object containing the value's plain fields\nSyntax:\n  <Star>.fields() -> Object\nExample:\n# Use Star.fields on a Star value\n   let value = stars().find(\"sirius\");\n   print value.fields();","compact":"Method: Star.fields - returns an object containing the value's plain fields","search_text":"member:Star.fields fields Star.fields method returns an object containing the value's plain fields <Star>.fields() -> Object"},{"id":"member:Star.functions","name":"functions","path":"Star.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Star>.functions() -> List"],"examples":["# Use Star.functions on a Star value\nlet value = stars().find(\"sirius\");\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Star.functions - lists callable members available on this value\nSyntax:\n  <Star>.functions() -> List\nExample:\n# Use Star.functions on a Star value\n   let value = stars().find(\"sirius\");\n   print value.functions();","compact":"Method: Star.functions - lists callable members available on this value","search_text":"member:Star.functions functions Star.functions method lists callable members available on this value <Star>.functions() -> List"},{"id":"type:ConstellationDb","name":"ConstellationDb","path":"ConstellationDb","kind":"type","aliases":[],"description":"IAU constellation boundary database handle","syntax":["constellations() -> ConstellationDb"],"examples":["# Load constellation boundaries and classify a sky direction\nlet db = constellations();\nlet dir = direction(ra: 84.0, dec: -1.0);\nprint db.inside(dir).name;"],"arguments":[],"children":["field:ConstellationDb.count","member:ConstellationDb.find","member:ConstellationDb.inside","member:ConstellationDb.children","member:ConstellationDb.fields","member:ConstellationDb.functions"],"resources":[],"doc":"Type: ConstellationDb - IAU constellation boundary database handle\nSyntax:\n  constellations() -> ConstellationDb\nChildren: count, find(), inside(), children(), fields(), functions()\nExample:\n# Load constellation boundaries and classify a sky direction\n   let db = constellations();\n   let dir = direction(ra: 84.0, dec: -1.0);\n   print db.inside(dir).name;","compact":"Type: ConstellationDb - IAU constellation boundary database handle","search_text":"type:ConstellationDb ConstellationDb ConstellationDb type IAU constellation boundary database handle constellations() -> ConstellationDb"},{"id":"field:ConstellationDb.count","name":"count","path":"ConstellationDb.count","kind":"field","aliases":[],"description":"number of boundary records","syntax":["<ConstellationDb>.count -> Number"],"examples":["# Read the count field from a ConstellationDb value\nprint constellations().count;"],"arguments":[],"children":[],"resources":[],"doc":"Field: ConstellationDb.count - number of boundary records\nSyntax:\n  <ConstellationDb>.count -> Number\nExample:\n# Read the count field from a ConstellationDb value\n   print constellations().count;","compact":"Field: ConstellationDb.count - number of boundary records","search_text":"field:ConstellationDb.count count ConstellationDb.count field number of boundary records <ConstellationDb>.count -> Number"},{"id":"member:ConstellationDb.find","name":"find","path":"ConstellationDb.find","kind":"method","aliases":[],"description":"finds a constellation by name or abbreviation","syntax":["<ConstellationDb>.find() -> Constellation|Unavailable"],"examples":["# Find a constellation by name\nlet hit = constellations().find(\"Orion\");\nprint hit.name, hit.abbreviation;"],"arguments":[],"children":[],"resources":[],"doc":"Method: ConstellationDb.find - finds a constellation by name or abbreviation\nSyntax:\n  <ConstellationDb>.find() -> Constellation|Unavailable\nExample:\n# Find a constellation by name\n   let hit = constellations().find(\"Orion\");\n   print hit.name, hit.abbreviation;","compact":"Method: ConstellationDb.find - finds a constellation by name or abbreviation","search_text":"member:ConstellationDb.find find ConstellationDb.find method finds a constellation by name or abbreviation <ConstellationDb>.find() -> Constellation|Unavailable"},{"id":"member:ConstellationDb.inside","name":"inside","path":"ConstellationDb.inside","kind":"method","aliases":[],"description":"finds the constellation containing a direction","syntax":["<ConstellationDb>.inside() -> Constellation|Unavailable"],"examples":["# Classify a sky direction by IAU constellation\nlet dir = direction(ra: 84.0, dec: -1.0);\nprint constellations().inside(dir).name;"],"arguments":[],"children":[],"resources":[],"doc":"Method: ConstellationDb.inside - finds the constellation containing a direction\nSyntax:\n  <ConstellationDb>.inside() -> Constellation|Unavailable\nExample:\n# Classify a sky direction by IAU constellation\n   let dir = direction(ra: 84.0, dec: -1.0);\n   print constellations().inside(dir).name;","compact":"Method: ConstellationDb.inside - finds the constellation containing a direction","search_text":"member:ConstellationDb.inside inside ConstellationDb.inside method finds the constellation containing a direction <ConstellationDb>.inside() -> Constellation|Unavailable"},{"id":"member:ConstellationDb.children","name":"children","path":"ConstellationDb.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<ConstellationDb>.children() -> List"],"examples":["# Use ConstellationDb.children on a ConstellationDb value\nlet value = constellations();\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: ConstellationDb.children - lists child fields and callable members available on this value\nSyntax:\n  <ConstellationDb>.children() -> List\nExample:\n# Use ConstellationDb.children on a ConstellationDb value\n   let value = constellations();\n   print value.children();","compact":"Method: ConstellationDb.children - lists child fields and callable members available on this value","search_text":"member:ConstellationDb.children children ConstellationDb.children method lists child fields and callable members available on this value <ConstellationDb>.children() -> List"},{"id":"member:ConstellationDb.fields","name":"fields","path":"ConstellationDb.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<ConstellationDb>.fields() -> Object"],"examples":["# Use ConstellationDb.fields on a ConstellationDb value\nlet value = constellations();\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: ConstellationDb.fields - returns an object containing the value's plain fields\nSyntax:\n  <ConstellationDb>.fields() -> Object\nExample:\n# Use ConstellationDb.fields on a ConstellationDb value\n   let value = constellations();\n   print value.fields();","compact":"Method: ConstellationDb.fields - returns an object containing the value's plain fields","search_text":"member:ConstellationDb.fields fields ConstellationDb.fields method returns an object containing the value's plain fields <ConstellationDb>.fields() -> Object"},{"id":"member:ConstellationDb.functions","name":"functions","path":"ConstellationDb.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<ConstellationDb>.functions() -> List"],"examples":["# Use ConstellationDb.functions on a ConstellationDb value\nlet value = constellations();\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: ConstellationDb.functions - lists callable members available on this value\nSyntax:\n  <ConstellationDb>.functions() -> List\nExample:\n# Use ConstellationDb.functions on a ConstellationDb value\n   let value = constellations();\n   print value.functions();","compact":"Method: ConstellationDb.functions - lists callable members available on this value","search_text":"member:ConstellationDb.functions functions ConstellationDb.functions method lists callable members available on this value <ConstellationDb>.functions() -> List"},{"id":"type:Constellation","name":"Constellation","path":"Constellation","kind":"type","aliases":[],"description":"IAU constellation boundary record","syntax":[],"examples":["# Find a named constellation and print its area summary\nlet c = constellations().find(\"orion\");\nprint c.name, c.abbreviation;"],"arguments":[],"children":["field:Constellation.id","field:Constellation.abbreviation","field:Constellation.name","member:Constellation.direction","member:Constellation.children","member:Constellation.fields","member:Constellation.functions"],"resources":[],"doc":"Type: Constellation - IAU constellation boundary record\nChildren: id, abbreviation, name, direction(), children(), fields(), functions()\nExample:\n# Find a named constellation and print its area summary\n   let c = constellations().find(\"orion\");\n   print c.name, c.abbreviation;","compact":"Type: Constellation - IAU constellation boundary record","search_text":"type:Constellation Constellation Constellation type IAU constellation boundary record"},{"id":"field:Constellation.id","name":"id","path":"Constellation.id","kind":"field","aliases":[],"description":"constellation identifier","syntax":["<Constellation>.id -> Text"],"examples":["# Read the id field from a Constellation value\nprint constellations().find(\"orion\").id;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Constellation.id - constellation identifier\nSyntax:\n  <Constellation>.id -> Text\nExample:\n# Read the id field from a Constellation value\n   print constellations().find(\"orion\").id;","compact":"Field: Constellation.id - constellation identifier","search_text":"field:Constellation.id id Constellation.id field constellation identifier <Constellation>.id -> Text"},{"id":"field:Constellation.abbreviation","name":"abbreviation","path":"Constellation.abbreviation","kind":"field","aliases":[],"description":"IAU abbreviation","syntax":["<Constellation>.abbreviation -> Text"],"examples":["# Read the abbreviation field from a Constellation value\nprint constellations().find(\"orion\").abbreviation;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Constellation.abbreviation - IAU abbreviation\nSyntax:\n  <Constellation>.abbreviation -> Text\nExample:\n# Read the abbreviation field from a Constellation value\n   print constellations().find(\"orion\").abbreviation;","compact":"Field: Constellation.abbreviation - IAU abbreviation","search_text":"field:Constellation.abbreviation abbreviation Constellation.abbreviation field IAU abbreviation <Constellation>.abbreviation -> Text"},{"id":"field:Constellation.name","name":"name","path":"Constellation.name","kind":"field","aliases":[],"description":"constellation name","syntax":["<Constellation>.name -> Text"],"examples":["# Read the name field from a Constellation value\nprint constellations().find(\"orion\").name;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Constellation.name - constellation name\nSyntax:\n  <Constellation>.name -> Text\nExample:\n# Read the name field from a Constellation value\n   print constellations().find(\"orion\").name;","compact":"Field: Constellation.name - constellation name","search_text":"field:Constellation.name name Constellation.name field constellation name <Constellation>.name -> Text"},{"id":"member:Constellation.direction","name":"direction","path":"Constellation.direction","kind":"method","aliases":[],"description":"returns the center direction of this constellation","syntax":["<Constellation>.direction() -> Direction"],"examples":["# Use Constellation.direction on a Constellation value\nlet value = constellations().find(\"orion\");\nprint value.direction();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Constellation.direction - returns the center direction of this constellation\nSyntax:\n  <Constellation>.direction() -> Direction\nExample:\n# Use Constellation.direction on a Constellation value\n   let value = constellations().find(\"orion\");\n   print value.direction();","compact":"Method: Constellation.direction - returns the center direction of this constellation","search_text":"member:Constellation.direction direction Constellation.direction method returns the center direction of this constellation <Constellation>.direction() -> Direction"},{"id":"member:Constellation.children","name":"children","path":"Constellation.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Constellation>.children() -> List"],"examples":["# Use Constellation.children on a Constellation value\nlet value = constellations().find(\"orion\");\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Constellation.children - lists child fields and callable members available on this value\nSyntax:\n  <Constellation>.children() -> List\nExample:\n# Use Constellation.children on a Constellation value\n   let value = constellations().find(\"orion\");\n   print value.children();","compact":"Method: Constellation.children - lists child fields and callable members available on this value","search_text":"member:Constellation.children children Constellation.children method lists child fields and callable members available on this value <Constellation>.children() -> List"},{"id":"member:Constellation.fields","name":"fields","path":"Constellation.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Constellation>.fields() -> Object"],"examples":["# Use Constellation.fields on a Constellation value\nlet value = constellations().find(\"orion\");\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Constellation.fields - returns an object containing the value's plain fields\nSyntax:\n  <Constellation>.fields() -> Object\nExample:\n# Use Constellation.fields on a Constellation value\n   let value = constellations().find(\"orion\");\n   print value.fields();","compact":"Method: Constellation.fields - returns an object containing the value's plain fields","search_text":"member:Constellation.fields fields Constellation.fields method returns an object containing the value's plain fields <Constellation>.fields() -> Object"},{"id":"member:Constellation.functions","name":"functions","path":"Constellation.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Constellation>.functions() -> List"],"examples":["# Use Constellation.functions on a Constellation value\nlet value = constellations().find(\"orion\");\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Constellation.functions - lists callable members available on this value\nSyntax:\n  <Constellation>.functions() -> List\nExample:\n# Use Constellation.functions on a Constellation value\n   let value = constellations().find(\"orion\");\n   print value.functions();","compact":"Method: Constellation.functions - lists callable members available on this value","search_text":"member:Constellation.functions functions Constellation.functions method lists callable members available on this value <Constellation>.functions() -> List"},{"id":"type:Event","name":"Event","path":"Event","kind":"type","aliases":[],"description":"astronomical event result","syntax":[],"examples":["# Find a sunrise event and print its local time\nlet loc = location(latitude: 58.9666667, longitude: 5.7333333);\nlet start = time(2026,6,21,0,0,0);\nlet event = events(sunrise, range(start, start.add_days(1)), loc).first();\nprint event.time.local(\"Europe/Oslo\").iso, event.type;"],"arguments":[],"children":["field:Event.type","field:Event.time","field:Event.value","field:Event.body","field:Event.location","field:Event.observer","field:Event.start","field:Event.end","field:Event.maximum","field:Event.magnitude","field:Event.obscuration","field:Event.kind","member:Event.shadow","member:Event.children","member:Event.fields","member:Event.functions"],"resources":[],"doc":"Type: Event - astronomical event result\nChildren: type, time, value, body, location, observer, start, end, maximum, magnitude, obscuration, kind, shadow(), children(), fields(), functions()\nExample:\n# Find a sunrise event and print its local time\n   let loc = location(latitude: 58.9666667, longitude: 5.7333333);\n   let start = time(2026,6,21,0,0,0);\n   let event = events(sunrise, range(start, start.add_days(1)), loc).first();\n   print event.time.local(\"Europe/Oslo\").iso, event.type;","compact":"Type: Event - astronomical event result","search_text":"type:Event Event Event type astronomical event result"},{"id":"field:Event.type","name":"type","path":"Event.type","kind":"field","aliases":[],"description":"event type constant","syntax":["<Event>.type -> EventType"],"examples":["# Read the type field from a Event value\nprint events(sunrise, range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0)).first().type;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Event.type - event type constant\nSyntax:\n  <Event>.type -> EventType\nExample:\n# Read the type field from a Event value\n   print events(sunrise, range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0)).first().type;","compact":"Field: Event.type - event type constant","search_text":"field:Event.type type Event.type field event type constant <Event>.type -> EventType"},{"id":"field:Event.time","name":"time","path":"Event.time","kind":"field","aliases":[],"description":"event search time","syntax":["<Event>.time -> Time"],"examples":["# Read the time field from a Event value\nprint events(sunrise, range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0)).first().time;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Event.time - event search time\nSyntax:\n  <Event>.time -> Time\nExample:\n# Read the time field from a Event value\n   print events(sunrise, range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0)).first().time;","compact":"Field: Event.time - event search time","search_text":"field:Event.time time Event.time field event search time <Event>.time -> Time"},{"id":"field:Event.value","name":"value","path":"Event.value","kind":"field","aliases":[],"description":"event scalar value","syntax":["<Event>.value -> Number"],"examples":["# Read the value field from a Event value\nprint events(sunrise, range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0)).first().value;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Event.value - event scalar value\nSyntax:\n  <Event>.value -> Number\nExample:\n# Read the value field from a Event value\n   print events(sunrise, range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0)).first().value;","compact":"Field: Event.value - event scalar value","search_text":"field:Event.value value Event.value field event scalar value <Event>.value -> Number"},{"id":"field:Event.body","name":"body","path":"Event.body","kind":"field","aliases":[],"description":"associated body when available","syntax":["<Event>.body -> Body|Nil"],"examples":["# Read the body field from a Event value\nprint events(sunrise, range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0)).first().body;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Event.body - associated body when available\nSyntax:\n  <Event>.body -> Body|Nil\nExample:\n# Read the body field from a Event value\n   print events(sunrise, range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0)).first().body;","compact":"Field: Event.body - associated body when available","search_text":"field:Event.body body Event.body field associated body when available <Event>.body -> Body|Nil"},{"id":"field:Event.location","name":"location","path":"Event.location","kind":"field","aliases":[],"description":"associated location when available","syntax":["<Event>.location -> Location|Nil"],"examples":["# Read the location field from a Event value\nprint events(sunrise, range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0)).first().location;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Event.location - associated location when available\nSyntax:\n  <Event>.location -> Location|Nil\nExample:\n# Read the location field from a Event value\n   print events(sunrise, range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0)).first().location;","compact":"Field: Event.location - associated location when available","search_text":"field:Event.location location Event.location field associated location when available <Event>.location -> Location|Nil"},{"id":"field:Event.observer","name":"observer","path":"Event.observer","kind":"field","aliases":[],"description":"associated observer when available","syntax":["<Event>.observer -> Observer|Nil"],"examples":["# Read the observer returned with a sunrise event\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\nlet event = events(sunrise, span, obs).first();\nprint event.observer;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Event.observer - associated observer when available\nSyntax:\n  <Event>.observer -> Observer|Nil\nExample:\n# Read the observer returned with a sunrise event\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\n   let event = events(sunrise, span, obs).first();\n   print event.observer;","compact":"Field: Event.observer - associated observer when available","search_text":"field:Event.observer observer Event.observer field associated observer when available <Event>.observer -> Observer|Nil"},{"id":"field:Event.start","name":"start","path":"Event.start","kind":"field","aliases":[],"description":"event start time when available","syntax":["<Event>.start -> Time|Nil"],"examples":["# Read the start field from a Event value\nprint events(sunrise, range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0)).first().start;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Event.start - event start time when available\nSyntax:\n  <Event>.start -> Time|Nil\nExample:\n# Read the start field from a Event value\n   print events(sunrise, range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0)).first().start;","compact":"Field: Event.start - event start time when available","search_text":"field:Event.start start Event.start field event start time when available <Event>.start -> Time|Nil"},{"id":"field:Event.end","name":"end","path":"Event.end","kind":"field","aliases":[],"description":"event end time when available","syntax":["<Event>.end -> Time|Nil"],"examples":["# Read the end field from a Event value\nprint events(sunrise, range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0)).first().end;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Event.end - event end time when available\nSyntax:\n  <Event>.end -> Time|Nil\nExample:\n# Read the end field from a Event value\n   print events(sunrise, range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0)).first().end;","compact":"Field: Event.end - event end time when available","search_text":"field:Event.end end Event.end field event end time when available <Event>.end -> Time|Nil"},{"id":"field:Event.maximum","name":"maximum","path":"Event.maximum","kind":"field","aliases":[],"description":"event maximum time when available, otherwise event time","syntax":["<Event>.maximum -> Time"],"examples":["# Read the maximum field from a Event value\nprint events(sunrise, range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0)).first().maximum;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Event.maximum - event maximum time when available, otherwise event time\nSyntax:\n  <Event>.maximum -> Time\nExample:\n# Read the maximum field from a Event value\n   print events(sunrise, range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0)).first().maximum;","compact":"Field: Event.maximum - event maximum time when available, otherwise event time","search_text":"field:Event.maximum maximum Event.maximum field event maximum time when available, otherwise event time <Event>.maximum -> Time"},{"id":"field:Event.magnitude","name":"magnitude","path":"Event.magnitude","kind":"field","aliases":[],"description":"event magnitude when available","syntax":["<Event>.magnitude -> Number|Nil"],"examples":["# Read the magnitude field from a Event value\nprint events(sunrise, range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0)).first().magnitude;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Event.magnitude - event magnitude when available\nSyntax:\n  <Event>.magnitude -> Number|Nil\nExample:\n# Read the magnitude field from a Event value\n   print events(sunrise, range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0)).first().magnitude;","compact":"Field: Event.magnitude - event magnitude when available","search_text":"field:Event.magnitude magnitude Event.magnitude field event magnitude when available <Event>.magnitude -> Number|Nil"},{"id":"field:Event.obscuration","name":"obscuration","path":"Event.obscuration","kind":"field","aliases":[],"description":"event obscuration when available","syntax":["<Event>.obscuration -> Number|Nil"],"examples":["# Read the obscuration field from a Event value\nprint events(sunrise, range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0)).first().obscuration;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Event.obscuration - event obscuration when available\nSyntax:\n  <Event>.obscuration -> Number|Nil\nExample:\n# Read the obscuration field from a Event value\n   print events(sunrise, range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0)).first().obscuration;","compact":"Field: Event.obscuration - event obscuration when available","search_text":"field:Event.obscuration obscuration Event.obscuration field event obscuration when available <Event>.obscuration -> Number|Nil"},{"id":"field:Event.kind","name":"kind","path":"Event.kind","kind":"field","aliases":[],"description":"event subtype label","syntax":["<Event>.kind -> Text"],"examples":["# Read the kind field from a Event value\nprint events(sunrise, range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0)).first().kind;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Event.kind - event subtype label\nSyntax:\n  <Event>.kind -> Text\nExample:\n# Read the kind field from a Event value\n   print events(sunrise, range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0)).first().kind;","compact":"Field: Event.kind - event subtype label","search_text":"field:Event.kind kind Event.kind field event subtype label <Event>.kind -> Text"},{"id":"member:Event.shadow","name":"shadow","path":"Event.shadow","kind":"method","aliases":[],"description":"returns the solar-eclipse shadow geometry for this event","syntax":["<Event>.shadow(time: Time) -> Shadow"],"examples":["# Compute the shadow associated with a solar-eclipse event\nlet span = range(time(2024,4,8,12,0,0), time(2024,4,9,0,0,0), 0.25);\nlet event = events(eclipse, span, sun).first();\nprint event.shadow().distance();"],"arguments":[{"name":"time","type":"Time","required":false,"description":"optional sampling time; defaults to event maximum or event time"}],"children":[],"resources":[],"doc":"Method: Event.shadow - returns the solar-eclipse shadow geometry for this event\nSyntax:\n  <Event>.shadow(time: Time) -> Shadow\nArguments:\n  time: Time [optional] - optional sampling time; defaults to event maximum or event time\nExample:\n# Compute the shadow associated with a solar-eclipse event\n   let span = range(time(2024,4,8,12,0,0), time(2024,4,9,0,0,0), 0.25);\n   let event = events(eclipse, span, sun).first();\n   print event.shadow().distance();","compact":"Method: Event.shadow - returns the solar-eclipse shadow geometry for this event","search_text":"member:Event.shadow shadow Event.shadow method returns the solar-eclipse shadow geometry for this event <Event>.shadow(time: Time) -> Shadow time Time optional sampling time; defaults to event maximum or event time"},{"id":"member:Event.children","name":"children","path":"Event.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Event>.children() -> List"],"examples":["# Use Event.children on a Event value\nlet value = events(sunrise, range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0)).first();\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Event.children - lists child fields and callable members available on this value\nSyntax:\n  <Event>.children() -> List\nExample:\n# Use Event.children on a Event value\n   let value = events(sunrise, range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0)).first();\n   print value.children();","compact":"Method: Event.children - lists child fields and callable members available on this value","search_text":"member:Event.children children Event.children method lists child fields and callable members available on this value <Event>.children() -> List"},{"id":"member:Event.fields","name":"fields","path":"Event.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Event>.fields() -> Object"],"examples":["# Use Event.fields on a Event value\nlet value = events(sunrise, range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0)).first();\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Event.fields - returns an object containing the value's plain fields\nSyntax:\n  <Event>.fields() -> Object\nExample:\n# Use Event.fields on a Event value\n   let value = events(sunrise, range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0)).first();\n   print value.fields();","compact":"Method: Event.fields - returns an object containing the value's plain fields","search_text":"member:Event.fields fields Event.fields method returns an object containing the value's plain fields <Event>.fields() -> Object"},{"id":"member:Event.functions","name":"functions","path":"Event.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Event>.functions() -> List"],"examples":["# Use Event.functions on a Event value\nlet value = events(sunrise, range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0)).first();\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Event.functions - lists callable members available on this value\nSyntax:\n  <Event>.functions() -> List\nExample:\n# Use Event.functions on a Event value\n   let value = events(sunrise, range(time(), time().add_days(1)), location(latitude: 60.0, longitude: 270.0)).first();\n   print value.functions();","compact":"Method: Event.functions - lists callable members available on this value","search_text":"member:Event.functions functions Event.functions method lists callable members available on this value <Event>.functions() -> List"},{"id":"type:Graphics","name":"Graphics","path":"Graphics","kind":"type","aliases":[],"description":"deferred SVG graphics drawing context","syntax":["graphics(time: Time, location: Location|Observer, center: Direction, theme: Text, center_az: Number, center_alt: Number, fov: Number) -> Graphics"],"examples":["# Write a Sun-altitude SVG chart and report the output path\nlet loc = location(60,10);\nlet obs = loc.observer(0.002);\nlet t0 = time(2026,6,21,0,0,0);\nlet g = graphics().function((h): altitude(sun, t0.add_hours(h), obs), range(0,24,1)).title(\"Sun altitude\");\ng.write_svg(\"sun-altitude.svg\");\nprint \"wrote sun-altitude.svg\";"],"arguments":[{"name":"time","type":"Time","required":false,"description":"default sky-view time"},{"name":"location","type":"Location|Observer","required":false,"description":"default sky-view observer"},{"name":"center","type":"Direction","required":false,"description":"default sky-view center direction"},{"name":"theme","type":"Text","required":false,"description":"graphics theme, either dark or light"},{"name":"center_az","type":"Number","required":false,"description":"default sky-view center azimuth in degrees"},{"name":"center_alt","type":"Number","required":false,"description":"default sky-view center altitude in degrees"},{"name":"fov","type":"Number","required":false,"description":"default sky-view field of view in degrees"}],"children":["member:Graphics.line","member:Graphics.points","member:Graphics.polygon","member:Graphics.text","member:Graphics.function","member:Graphics.title","member:Graphics.xlabel","member:Graphics.ylabel","member:Graphics.xrange","member:Graphics.yrange","member:Graphics.xticks","member:Graphics.yticks","member:Graphics.dark","member:Graphics.light","member:Graphics.sky_view","member:Graphics.sky_grid","member:Graphics.sky_stars","member:Graphics.sky_constellations","member:Graphics.sky_planets","member:Graphics.sky_horizon","member:Graphics.svg","member:Graphics.write_svg","member:Graphics.children","member:Graphics.fields","member:Graphics.functions"],"resources":[],"doc":"Type: Graphics - deferred SVG graphics drawing context\nSyntax:\n  graphics(time: Time, location: Location|Observer, center: Direction, theme: Text, center_az: Number, center_alt: Number, fov: Number) -> Graphics\nArguments:\n  time: Time [optional] - default sky-view time\n  location: Location|Observer [optional] - default sky-view observer\n  center: Direction [optional] - default sky-view center direction\n  theme: Text [optional] - graphics theme, either dark or light\n  center_az: Number [optional] - default sky-view center azimuth in degrees\n  center_alt: Number [optional] - default sky-view center altitude in degrees\n  fov: Number [optional] - default sky-view field of view in degrees\nChildren: line(), points(), polygon(), text(), function(), title(), xlabel(), ylabel(), xrange(), yrange(), xticks(), yticks(), dark(), light(), sky_view(), sky_grid(), sky_stars(), sky_constellations(), sky_planets(), sky_horizon(), svg(), write_svg(), children(), fields(), functions()\nExample:\n# Write a Sun-altitude SVG chart and report the output path\n   let loc = location(60,10);\n   let obs = loc.observer(0.002);\n   let t0 = time(2026,6,21,0,0,0);\n   let g = graphics().function((h): altitude(sun, t0.add_hours(h), obs), range(0,24,1)).title(\"Sun altitude\");\n   g.write_svg(\"sun-altitude.svg\");\n   print \"wrote sun-altitude.svg\";","compact":"Type: Graphics - deferred SVG graphics drawing context","search_text":"type:Graphics Graphics Graphics type deferred SVG graphics drawing context graphics(time: Time, location: Location|Observer, center: Direction, theme: Text, center_az: Number, center_alt: Number, fov: Number) -> Graphics time Time default sky-view time location Location|Observer default sky-view observer center Direction default sky-view center direction theme Text graphics theme, either dark or light center_az Number default sky-view center azimuth in degrees center_alt Number default sky-view center altitude in degrees fov Number default sky-view field of view in degrees"},{"id":"member:Graphics.line","name":"line","path":"Graphics.line","kind":"method","aliases":[],"description":"adds a line layer","syntax":["<Graphics>.line() -> Graphics"],"examples":["# Draw a simple line chart\nlet g = graphics().line([0, 1, 2], [1, 3, 2]);\ng.write_svg(\"line.svg\");\nprint \"wrote line.svg\";"],"arguments":[],"children":[],"resources":[],"doc":"Method: Graphics.line - adds a line layer\nSyntax:\n  <Graphics>.line() -> Graphics\nExample:\n# Draw a simple line chart\n   let g = graphics().line([0, 1, 2], [1, 3, 2]);\n   g.write_svg(\"line.svg\");\n   print \"wrote line.svg\";","compact":"Method: Graphics.line - adds a line layer","search_text":"member:Graphics.line line Graphics.line method adds a line layer <Graphics>.line() -> Graphics"},{"id":"member:Graphics.points","name":"points","path":"Graphics.points","kind":"method","aliases":[],"description":"adds a point layer","syntax":["<Graphics>.points() -> Graphics"],"examples":["# Draw point markers on a simple chart\nlet g = graphics().points([0, 1, 2], [1, 3, 2]);\ng.write_svg(\"points.svg\");\nprint \"wrote points.svg\";"],"arguments":[],"children":[],"resources":[],"doc":"Method: Graphics.points - adds a point layer\nSyntax:\n  <Graphics>.points() -> Graphics\nExample:\n# Draw point markers on a simple chart\n   let g = graphics().points([0, 1, 2], [1, 3, 2]);\n   g.write_svg(\"points.svg\");\n   print \"wrote points.svg\";","compact":"Method: Graphics.points - adds a point layer","search_text":"member:Graphics.points points Graphics.points method adds a point layer <Graphics>.points() -> Graphics"},{"id":"member:Graphics.polygon","name":"polygon","path":"Graphics.polygon","kind":"method","aliases":[],"description":"adds a polygon layer","syntax":["<Graphics>.polygon() -> Graphics"],"examples":["# Draw a filled polygon on a chart\nlet g = graphics().polygon([0, 1, 2], [0, 2, 0]);\ng.write_svg(\"polygon.svg\");\nprint \"wrote polygon.svg\";"],"arguments":[],"children":[],"resources":[],"doc":"Method: Graphics.polygon - adds a polygon layer\nSyntax:\n  <Graphics>.polygon() -> Graphics\nExample:\n# Draw a filled polygon on a chart\n   let g = graphics().polygon([0, 1, 2], [0, 2, 0]);\n   g.write_svg(\"polygon.svg\");\n   print \"wrote polygon.svg\";","compact":"Method: Graphics.polygon - adds a polygon layer","search_text":"member:Graphics.polygon polygon Graphics.polygon method adds a polygon layer <Graphics>.polygon() -> Graphics"},{"id":"member:Graphics.text","name":"text","path":"Graphics.text","kind":"method","aliases":[],"description":"adds a text label layer","syntax":["<Graphics>.text() -> Graphics"],"examples":["# Add a text label to a chart\nlet g = graphics().line([0, 1], [0, 1]).text(0.5, 0.5, \"mid\");\ng.write_svg(\"text.svg\");\nprint \"wrote text.svg\";"],"arguments":[],"children":[],"resources":[],"doc":"Method: Graphics.text - adds a text label layer\nSyntax:\n  <Graphics>.text() -> Graphics\nExample:\n# Add a text label to a chart\n   let g = graphics().line([0, 1], [0, 1]).text(0.5, 0.5, \"mid\");\n   g.write_svg(\"text.svg\");\n   print \"wrote text.svg\";","compact":"Method: Graphics.text - adds a text label layer","search_text":"member:Graphics.text text Graphics.text method adds a text label layer <Graphics>.text() -> Graphics"},{"id":"member:Graphics.function","name":"function","path":"Graphics.function","kind":"method","aliases":[],"description":"samples a numeric function as a line layer","syntax":["<Graphics>.function() -> Graphics"],"examples":["# Sample a Sun-altitude function as a chart line\nlet loc = location(60,10).observer(0.002);\nlet t0 = time(2026,6,21,0,0,0);\nlet g = graphics().function((h): altitude(sun, t0.add_hours(h), loc), range(0,24,1));\ng.write_svg(\"sun-altitude.svg\");\nprint \"wrote sun-altitude.svg\";"],"arguments":[],"children":[],"resources":[],"doc":"Method: Graphics.function - samples a numeric function as a line layer\nSyntax:\n  <Graphics>.function() -> Graphics\nExample:\n# Sample a Sun-altitude function as a chart line\n   let loc = location(60,10).observer(0.002);\n   let t0 = time(2026,6,21,0,0,0);\n   let g = graphics().function((h): altitude(sun, t0.add_hours(h), loc), range(0,24,1));\n   g.write_svg(\"sun-altitude.svg\");\n   print \"wrote sun-altitude.svg\";","compact":"Method: Graphics.function - samples a numeric function as a line layer","search_text":"member:Graphics.function function Graphics.function method samples a numeric function as a line layer <Graphics>.function() -> Graphics"},{"id":"member:Graphics.title","name":"title","path":"Graphics.title","kind":"method","aliases":[],"description":"sets the plot title","syntax":["<Graphics>.title() -> Graphics"],"examples":["# Add a title to a chart\nlet g = graphics().line([0, 1], [0, 1]).title(\"Trend\");\ng.write_svg(\"title.svg\");\nprint \"wrote title.svg\";"],"arguments":[],"children":[],"resources":[],"doc":"Method: Graphics.title - sets the plot title\nSyntax:\n  <Graphics>.title() -> Graphics\nExample:\n# Add a title to a chart\n   let g = graphics().line([0, 1], [0, 1]).title(\"Trend\");\n   g.write_svg(\"title.svg\");\n   print \"wrote title.svg\";","compact":"Method: Graphics.title - sets the plot title","search_text":"member:Graphics.title title Graphics.title method sets the plot title <Graphics>.title() -> Graphics"},{"id":"member:Graphics.xlabel","name":"xlabel","path":"Graphics.xlabel","kind":"method","aliases":[],"description":"sets the x-axis label","syntax":["<Graphics>.xlabel() -> Graphics"],"examples":["# Add an x-axis label to a chart\nlet g = graphics().line([0, 1], [0, 1]).xlabel(\"x\");\ng.write_svg(\"xlabel.svg\");\nprint \"wrote xlabel.svg\";"],"arguments":[],"children":[],"resources":[],"doc":"Method: Graphics.xlabel - sets the x-axis label\nSyntax:\n  <Graphics>.xlabel() -> Graphics\nExample:\n# Add an x-axis label to a chart\n   let g = graphics().line([0, 1], [0, 1]).xlabel(\"x\");\n   g.write_svg(\"xlabel.svg\");\n   print \"wrote xlabel.svg\";","compact":"Method: Graphics.xlabel - sets the x-axis label","search_text":"member:Graphics.xlabel xlabel Graphics.xlabel method sets the x-axis label <Graphics>.xlabel() -> Graphics"},{"id":"member:Graphics.ylabel","name":"ylabel","path":"Graphics.ylabel","kind":"method","aliases":[],"description":"sets the y-axis label","syntax":["<Graphics>.ylabel() -> Graphics"],"examples":["# Add a y-axis label to a chart\nlet g = graphics().line([0, 1], [0, 1]).ylabel(\"y\");\ng.write_svg(\"ylabel.svg\");\nprint \"wrote ylabel.svg\";"],"arguments":[],"children":[],"resources":[],"doc":"Method: Graphics.ylabel - sets the y-axis label\nSyntax:\n  <Graphics>.ylabel() -> Graphics\nExample:\n# Add a y-axis label to a chart\n   let g = graphics().line([0, 1], [0, 1]).ylabel(\"y\");\n   g.write_svg(\"ylabel.svg\");\n   print \"wrote ylabel.svg\";","compact":"Method: Graphics.ylabel - sets the y-axis label","search_text":"member:Graphics.ylabel ylabel Graphics.ylabel method sets the y-axis label <Graphics>.ylabel() -> Graphics"},{"id":"member:Graphics.xrange","name":"xrange","path":"Graphics.xrange","kind":"method","aliases":[],"description":"gets or sets the x-axis range","syntax":["<Graphics>.xrange() -> Object|Graphics"],"examples":["# Read the x range after adding data\nlet g = graphics().line([0, 1, 2], [1, 3, 2]);\nprint g.xrange();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Graphics.xrange - gets or sets the x-axis range\nSyntax:\n  <Graphics>.xrange() -> Object|Graphics\nExample:\n# Read the x range after adding data\n   let g = graphics().line([0, 1, 2], [1, 3, 2]);\n   print g.xrange();","compact":"Method: Graphics.xrange - gets or sets the x-axis range","search_text":"member:Graphics.xrange xrange Graphics.xrange method gets or sets the x-axis range <Graphics>.xrange() -> Object|Graphics"},{"id":"member:Graphics.yrange","name":"yrange","path":"Graphics.yrange","kind":"method","aliases":[],"description":"gets or sets the y-axis range","syntax":["<Graphics>.yrange() -> Object|Graphics"],"examples":["# Read the y range after adding data\nlet g = graphics().line([0, 1, 2], [1, 3, 2]);\nprint g.yrange();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Graphics.yrange - gets or sets the y-axis range\nSyntax:\n  <Graphics>.yrange() -> Object|Graphics\nExample:\n# Read the y range after adding data\n   let g = graphics().line([0, 1, 2], [1, 3, 2]);\n   print g.yrange();","compact":"Method: Graphics.yrange - gets or sets the y-axis range","search_text":"member:Graphics.yrange yrange Graphics.yrange method gets or sets the y-axis range <Graphics>.yrange() -> Object|Graphics"},{"id":"member:Graphics.xticks","name":"xticks","path":"Graphics.xticks","kind":"method","aliases":[],"description":"sets explicit x-axis ticks","syntax":["<Graphics>.xticks() -> Graphics"],"examples":["# Set explicit x-axis ticks\nlet g = graphics().line([0, 1, 2], [1, 3, 2]).xticks([0, 1, 2]);\ng.write_svg(\"xticks.svg\");\nprint \"wrote xticks.svg\";"],"arguments":[],"children":[],"resources":[],"doc":"Method: Graphics.xticks - sets explicit x-axis ticks\nSyntax:\n  <Graphics>.xticks() -> Graphics\nExample:\n# Set explicit x-axis ticks\n   let g = graphics().line([0, 1, 2], [1, 3, 2]).xticks([0, 1, 2]);\n   g.write_svg(\"xticks.svg\");\n   print \"wrote xticks.svg\";","compact":"Method: Graphics.xticks - sets explicit x-axis ticks","search_text":"member:Graphics.xticks xticks Graphics.xticks method sets explicit x-axis ticks <Graphics>.xticks() -> Graphics"},{"id":"member:Graphics.yticks","name":"yticks","path":"Graphics.yticks","kind":"method","aliases":[],"description":"sets explicit y-axis ticks","syntax":["<Graphics>.yticks() -> Graphics"],"examples":["# Set explicit y-axis ticks\nlet g = graphics().line([0, 1, 2], [1, 3, 2]).yticks([1, 2, 3]);\ng.write_svg(\"yticks.svg\");\nprint \"wrote yticks.svg\";"],"arguments":[],"children":[],"resources":[],"doc":"Method: Graphics.yticks - sets explicit y-axis ticks\nSyntax:\n  <Graphics>.yticks() -> Graphics\nExample:\n# Set explicit y-axis ticks\n   let g = graphics().line([0, 1, 2], [1, 3, 2]).yticks([1, 2, 3]);\n   g.write_svg(\"yticks.svg\");\n   print \"wrote yticks.svg\";","compact":"Method: Graphics.yticks - sets explicit y-axis ticks","search_text":"member:Graphics.yticks yticks Graphics.yticks method sets explicit y-axis ticks <Graphics>.yticks() -> Graphics"},{"id":"member:Graphics.dark","name":"dark","path":"Graphics.dark","kind":"method","aliases":[],"description":"switches to the dark graphics theme","syntax":["<Graphics>.dark() -> Graphics"],"examples":["# Use Graphics.dark on a Graphics value\nlet value = graphics();\nprint value.dark();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Graphics.dark - switches to the dark graphics theme\nSyntax:\n  <Graphics>.dark() -> Graphics\nExample:\n# Use Graphics.dark on a Graphics value\n   let value = graphics();\n   print value.dark();","compact":"Method: Graphics.dark - switches to the dark graphics theme","search_text":"member:Graphics.dark dark Graphics.dark method switches to the dark graphics theme <Graphics>.dark() -> Graphics"},{"id":"member:Graphics.light","name":"light","path":"Graphics.light","kind":"method","aliases":[],"description":"switches to the light graphics theme","syntax":["<Graphics>.light() -> Graphics"],"examples":["# Use Graphics.light on a Graphics value\nlet value = graphics();\nprint value.light();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Graphics.light - switches to the light graphics theme\nSyntax:\n  <Graphics>.light() -> Graphics\nExample:\n# Use Graphics.light on a Graphics value\n   let value = graphics();\n   print value.light();","compact":"Method: Graphics.light - switches to the light graphics theme","search_text":"member:Graphics.light light Graphics.light method switches to the light graphics theme <Graphics>.light() -> Graphics"},{"id":"member:Graphics.sky_view","name":"sky_view","path":"Graphics.sky_view","kind":"method","aliases":[],"description":"sets the sky projection view","syntax":["<Graphics>.sky_view() -> Graphics"],"examples":["# Use Graphics.sky_view on a Graphics value\nlet value = graphics();\nprint value.sky_view();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Graphics.sky_view - sets the sky projection view\nSyntax:\n  <Graphics>.sky_view() -> Graphics\nExample:\n# Use Graphics.sky_view on a Graphics value\n   let value = graphics();\n   print value.sky_view();","compact":"Method: Graphics.sky_view - sets the sky projection view","search_text":"member:Graphics.sky_view sky_view Graphics.sky_view method sets the sky projection view <Graphics>.sky_view() -> Graphics"},{"id":"member:Graphics.sky_grid","name":"sky_grid","path":"Graphics.sky_grid","kind":"method","aliases":[],"description":"adds sky grid lines","syntax":["<Graphics>.sky_grid() -> Graphics"],"examples":["# Use Graphics.sky_grid on a Graphics value\nlet value = graphics();\nprint value.sky_grid();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Graphics.sky_grid - adds sky grid lines\nSyntax:\n  <Graphics>.sky_grid() -> Graphics\nExample:\n# Use Graphics.sky_grid on a Graphics value\n   let value = graphics();\n   print value.sky_grid();","compact":"Method: Graphics.sky_grid - adds sky grid lines","search_text":"member:Graphics.sky_grid sky_grid Graphics.sky_grid method adds sky grid lines <Graphics>.sky_grid() -> Graphics"},{"id":"member:Graphics.sky_stars","name":"sky_stars","path":"Graphics.sky_stars","kind":"method","aliases":[],"description":"adds visible star symbols","syntax":["<Graphics>.sky_stars() -> Graphics"],"examples":["# Add star symbols to a sky chart for a specified time and location\nlet t = time(2026,1,1,21,0,0);\nlet loc = location(60,10);\nlet g = graphics(t, loc).dark().sky_grid().sky_stars(magnitude: 4);\ng.write_svg(\"stars.svg\");\nprint \"wrote stars.svg\";"],"arguments":[],"children":[],"resources":[],"doc":"Method: Graphics.sky_stars - adds visible star symbols\nSyntax:\n  <Graphics>.sky_stars() -> Graphics\nExample:\n# Add star symbols to a sky chart for a specified time and location\n   let t = time(2026,1,1,21,0,0);\n   let loc = location(60,10);\n   let g = graphics(t, loc).dark().sky_grid().sky_stars(magnitude: 4);\n   g.write_svg(\"stars.svg\");\n   print \"wrote stars.svg\";","compact":"Method: Graphics.sky_stars - adds visible star symbols","search_text":"member:Graphics.sky_stars sky_stars Graphics.sky_stars method adds visible star symbols <Graphics>.sky_stars() -> Graphics"},{"id":"member:Graphics.sky_constellations","name":"sky_constellations","path":"Graphics.sky_constellations","kind":"method","aliases":[],"description":"adds constellation lines and labels","syntax":["<Graphics>.sky_constellations() -> Graphics"],"examples":["# Add constellation lines to a local sky chart\nlet t = time(2026,1,1,21,0,0);\nlet loc = location(latitude: 60.0, longitude: 10.0);\nlet g = graphics(t, loc).dark().sky_constellations(t);\ng.write_svg(\"sky-constellations.svg\");\nprint \"wrote sky-constellations.svg\";"],"arguments":[],"children":[],"resources":[],"doc":"Method: Graphics.sky_constellations - adds constellation lines and labels\nSyntax:\n  <Graphics>.sky_constellations() -> Graphics\nExample:\n# Add constellation lines to a local sky chart\n   let t = time(2026,1,1,21,0,0);\n   let loc = location(latitude: 60.0, longitude: 10.0);\n   let g = graphics(t, loc).dark().sky_constellations(t);\n   g.write_svg(\"sky-constellations.svg\");\n   print \"wrote sky-constellations.svg\";","compact":"Method: Graphics.sky_constellations - adds constellation lines and labels","search_text":"member:Graphics.sky_constellations sky_constellations Graphics.sky_constellations method adds constellation lines and labels <Graphics>.sky_constellations() -> Graphics"},{"id":"member:Graphics.sky_planets","name":"sky_planets","path":"Graphics.sky_planets","kind":"method","aliases":[],"description":"adds planet and Moon symbols","syntax":["<Graphics>.sky_planets() -> Graphics"],"examples":["# Add planets to a local sky chart\nlet t = time(2026,1,1,21,0,0);\nlet loc = location(latitude: 60.0, longitude: 10.0);\nlet g = graphics(t, loc).dark().sky_planets(t);\ng.write_svg(\"sky-planets.svg\");\nprint \"wrote sky-planets.svg\";"],"arguments":[],"children":[],"resources":[],"doc":"Method: Graphics.sky_planets - adds planet and Moon symbols\nSyntax:\n  <Graphics>.sky_planets() -> Graphics\nExample:\n# Add planets to a local sky chart\n   let t = time(2026,1,1,21,0,0);\n   let loc = location(latitude: 60.0, longitude: 10.0);\n   let g = graphics(t, loc).dark().sky_planets(t);\n   g.write_svg(\"sky-planets.svg\");\n   print \"wrote sky-planets.svg\";","compact":"Method: Graphics.sky_planets - adds planet and Moon symbols","search_text":"member:Graphics.sky_planets sky_planets Graphics.sky_planets method adds planet and Moon symbols <Graphics>.sky_planets() -> Graphics"},{"id":"member:Graphics.sky_horizon","name":"sky_horizon","path":"Graphics.sky_horizon","kind":"method","aliases":[],"description":"adds a local horizon line","syntax":["<Graphics>.sky_horizon() -> Graphics"],"examples":["# Add a horizon line to a local sky chart\nlet loc = location(latitude: 60.0, longitude: 10.0);\nlet g = graphics(time(2026,1,1,21,0,0), loc).sky_horizon(loc);\ng.write_svg(\"sky-horizon.svg\");\nprint \"wrote sky-horizon.svg\";"],"arguments":[],"children":[],"resources":[],"doc":"Method: Graphics.sky_horizon - adds a local horizon line\nSyntax:\n  <Graphics>.sky_horizon() -> Graphics\nExample:\n# Add a horizon line to a local sky chart\n   let loc = location(latitude: 60.0, longitude: 10.0);\n   let g = graphics(time(2026,1,1,21,0,0), loc).sky_horizon(loc);\n   g.write_svg(\"sky-horizon.svg\");\n   print \"wrote sky-horizon.svg\";","compact":"Method: Graphics.sky_horizon - adds a local horizon line","search_text":"member:Graphics.sky_horizon sky_horizon Graphics.sky_horizon method adds a local horizon line <Graphics>.sky_horizon() -> Graphics"},{"id":"member:Graphics.svg","name":"svg","path":"Graphics.svg","kind":"method","aliases":[],"description":"renders the graphics as SVG text","syntax":["<Graphics>.svg() -> Text"],"examples":["# Use Graphics.svg on a Graphics value\nlet value = graphics();\nprint value.svg();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Graphics.svg - renders the graphics as SVG text\nSyntax:\n  <Graphics>.svg() -> Text\nExample:\n# Use Graphics.svg on a Graphics value\n   let value = graphics();\n   print value.svg();","compact":"Method: Graphics.svg - renders the graphics as SVG text","search_text":"member:Graphics.svg svg Graphics.svg method renders the graphics as SVG text <Graphics>.svg() -> Text"},{"id":"member:Graphics.write_svg","name":"write_svg","path":"Graphics.write_svg","kind":"method","aliases":[],"description":"writes the graphics as an SVG file","syntax":["<Graphics>.write_svg() -> Text"],"examples":["# Write a chart to an SVG file\nlet g = graphics().line([0, 1], [0, 1]);\ng.write_svg(\"chart.svg\");\nprint \"wrote chart.svg\";"],"arguments":[],"children":[],"resources":[],"doc":"Method: Graphics.write_svg - writes the graphics as an SVG file\nSyntax:\n  <Graphics>.write_svg() -> Text\nExample:\n# Write a chart to an SVG file\n   let g = graphics().line([0, 1], [0, 1]);\n   g.write_svg(\"chart.svg\");\n   print \"wrote chart.svg\";","compact":"Method: Graphics.write_svg - writes the graphics as an SVG file","search_text":"member:Graphics.write_svg write_svg Graphics.write_svg method writes the graphics as an SVG file <Graphics>.write_svg() -> Text"},{"id":"member:Graphics.children","name":"children","path":"Graphics.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Graphics>.children() -> List"],"examples":["# Use Graphics.children on a Graphics value\nlet value = graphics();\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Graphics.children - lists child fields and callable members available on this value\nSyntax:\n  <Graphics>.children() -> List\nExample:\n# Use Graphics.children on a Graphics value\n   let value = graphics();\n   print value.children();","compact":"Method: Graphics.children - lists child fields and callable members available on this value","search_text":"member:Graphics.children children Graphics.children method lists child fields and callable members available on this value <Graphics>.children() -> List"},{"id":"member:Graphics.fields","name":"fields","path":"Graphics.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Graphics>.fields() -> Object"],"examples":["# Use Graphics.fields on a Graphics value\nlet value = graphics();\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Graphics.fields - returns an object containing the value's plain fields\nSyntax:\n  <Graphics>.fields() -> Object\nExample:\n# Use Graphics.fields on a Graphics value\n   let value = graphics();\n   print value.fields();","compact":"Method: Graphics.fields - returns an object containing the value's plain fields","search_text":"member:Graphics.fields fields Graphics.fields method returns an object containing the value's plain fields <Graphics>.fields() -> Object"},{"id":"member:Graphics.functions","name":"functions","path":"Graphics.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Graphics>.functions() -> List"],"examples":["# Use Graphics.functions on a Graphics value\nlet value = graphics();\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Graphics.functions - lists callable members available on this value\nSyntax:\n  <Graphics>.functions() -> List\nExample:\n# Use Graphics.functions on a Graphics value\n   let value = graphics();\n   print value.functions();","compact":"Method: Graphics.functions - lists callable members available on this value","search_text":"member:Graphics.functions functions Graphics.functions method lists callable members available on this value <Graphics>.functions() -> List"},{"id":"type:Target","name":"Target","path":"Target","kind":"type","aliases":[],"description":"search target value and crossing direction","syntax":["target(value: Number|SearchGoal, direction: SearchDirection) -> Target|SearchGoal"],"examples":["# Build a target goal for an increasing daylight crossing\nlet loc = location(58.9666667, 5.7333333);\nlet day = time(2026,6,21,0,0,0);\nlet sun_height = (h): altitude(sun, day.add_hours(h), loc);\nlet goal = target(10, increasing);\nprint search(sun_height, range(0, 24, 0.25), goal).next();"],"arguments":[{"name":"value","type":"Number|SearchGoal","required":true,"description":"numeric crossing value, minimum, or maximum"},{"name":"direction","type":"SearchDirection","required":false,"description":"any, increasing, or decreasing"}],"children":["field:Target.value","field:Target.direction","member:Target.children","member:Target.fields","member:Target.functions"],"resources":[],"doc":"Type: Target - search target value and crossing direction\nSyntax:\n  target(value: Number|SearchGoal, direction: SearchDirection) -> Target|SearchGoal\nArguments:\n  value: Number|SearchGoal - numeric crossing value, minimum, or maximum\n  direction: SearchDirection [optional] - any, increasing, or decreasing\nChildren: value, direction, children(), fields(), functions()\nExample:\n# Build a target goal for an increasing daylight crossing\n   let loc = location(58.9666667, 5.7333333);\n   let day = time(2026,6,21,0,0,0);\n   let sun_height = (h): altitude(sun, day.add_hours(h), loc);\n   let goal = target(10, increasing);\n   print search(sun_height, range(0, 24, 0.25), goal).next();","compact":"Type: Target - search target value and crossing direction","search_text":"type:Target Target Target type search target value and crossing direction target(value: Number|SearchGoal, direction: SearchDirection) -> Target|SearchGoal value Number|SearchGoal numeric crossing value, minimum, or maximum direction SearchDirection any, increasing, or decreasing"},{"id":"field:Target.value","name":"value","path":"Target.value","kind":"field","aliases":[],"description":"numeric target value","syntax":["<Target>.value -> Number"],"examples":["# Read the value field from a Target value\nprint target(2.0).value;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Target.value - numeric target value\nSyntax:\n  <Target>.value -> Number\nExample:\n# Read the value field from a Target value\n   print target(2.0).value;","compact":"Field: Target.value - numeric target value","search_text":"field:Target.value value Target.value field numeric target value <Target>.value -> Number"},{"id":"field:Target.direction","name":"direction","path":"Target.direction","kind":"field","aliases":[],"description":"crossing direction to accept","syntax":["<Target>.direction -> SearchDirection"],"examples":["# Read the direction field from a Target value\nprint target(2.0).direction;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Target.direction - crossing direction to accept\nSyntax:\n  <Target>.direction -> SearchDirection\nExample:\n# Read the direction field from a Target value\n   print target(2.0).direction;","compact":"Field: Target.direction - crossing direction to accept","search_text":"field:Target.direction direction Target.direction field crossing direction to accept <Target>.direction -> SearchDirection"},{"id":"member:Target.children","name":"children","path":"Target.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Target>.children() -> List"],"examples":["# Use Target.children on a Target value\nlet value = target(2.0);\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Target.children - lists child fields and callable members available on this value\nSyntax:\n  <Target>.children() -> List\nExample:\n# Use Target.children on a Target value\n   let value = target(2.0);\n   print value.children();","compact":"Method: Target.children - lists child fields and callable members available on this value","search_text":"member:Target.children children Target.children method lists child fields and callable members available on this value <Target>.children() -> List"},{"id":"member:Target.fields","name":"fields","path":"Target.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Target>.fields() -> Object"],"examples":["# Use Target.fields on a Target value\nlet value = target(2.0);\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Target.fields - returns an object containing the value's plain fields\nSyntax:\n  <Target>.fields() -> Object\nExample:\n# Use Target.fields on a Target value\n   let value = target(2.0);\n   print value.fields();","compact":"Method: Target.fields - returns an object containing the value's plain fields","search_text":"member:Target.fields fields Target.fields method returns an object containing the value's plain fields <Target>.fields() -> Object"},{"id":"member:Target.functions","name":"functions","path":"Target.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Target>.functions() -> List"],"examples":["# Use Target.functions on a Target value\nlet value = target(2.0);\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Target.functions - lists callable members available on this value\nSyntax:\n  <Target>.functions() -> List\nExample:\n# Use Target.functions on a Target value\n   let value = target(2.0);\n   print value.functions();","compact":"Method: Target.functions - lists callable members available on this value","search_text":"member:Target.functions functions Target.functions method lists callable members available on this value <Target>.functions() -> List"},{"id":"type:Range","name":"Range","path":"Range","kind":"type","aliases":[],"description":"numeric or time scan range","syntax":["range(start: Number|Time, stop: Number, step: Number) -> Range","range(start: Number|Time, stop: Number|Time, step: Number) -> Range"],"examples":["# Use a range to sample every six hours in a day\nlet start = time(2026,6,21,0,0,0);\nlet hours = range(0, 24, 6);\nfor h=hours.start,hours.stop,hours.step {\n  print start.add_hours(h).utc();\n}"],"arguments":[{"name":"start","type":"Number|Time","required":true,"description":"start of the range"},{"name":"stop","type":"Number","required":true,"description":"infinity or -infinity"},{"name":"step","type":"Number","required":false,"description":"signed sampling step; time ranges use UTC days"}],"children":["field:Range.kind","field:Range.bounded","field:Range.start","field:Range.stop","field:Range.step","member:Range.children","member:Range.fields","member:Range.functions"],"resources":[],"doc":"Type: Range - numeric or time scan range\nSyntax:\n  range(start: Number|Time, stop: Number, step: Number) -> Range\n  range(start: Number|Time, stop: Number|Time, step: Number) -> Range\nArguments:\n  start: Number|Time - start of the range\n  stop: Number - infinity or -infinity\n  step: Number [optional] - signed sampling step; time ranges use UTC days\nChildren: kind, bounded, start, stop, step, children(), fields(), functions()\nExample:\n# Use a range to sample every six hours in a day\n   let start = time(2026,6,21,0,0,0);\n   let hours = range(0, 24, 6);\n   for h=hours.start,hours.stop,hours.step {\n   print start.add_hours(h).utc();\n   }","compact":"Type: Range - numeric or time scan range","search_text":"type:Range Range Range type numeric or time scan range range(start: Number|Time, stop: Number, step: Number) -> Range range(start: Number|Time, stop: Number|Time, step: Number) -> Range start Number|Time start of the range stop Number infinity or -infinity step Number signed sampling step; time ranges use UTC days"},{"id":"field:Range.kind","name":"kind","path":"Range.kind","kind":"field","aliases":[],"description":"range domain kind","syntax":["<Range>.kind -> Text"],"examples":["# Read the kind field from a Range value\nprint range(1.0, 3.0).kind;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Range.kind - range domain kind\nSyntax:\n  <Range>.kind -> Text\nExample:\n# Read the kind field from a Range value\n   print range(1.0, 3.0).kind;","compact":"Field: Range.kind - range domain kind","search_text":"field:Range.kind kind Range.kind field range domain kind <Range>.kind -> Text"},{"id":"field:Range.bounded","name":"bounded","path":"Range.bounded","kind":"field","aliases":[],"description":"whether this range has a finite stop","syntax":["<Range>.bounded -> Bool"],"examples":["# Read the bounded field from a Range value\nprint range(1.0, 3.0).bounded;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Range.bounded - whether this range has a finite stop\nSyntax:\n  <Range>.bounded -> Bool\nExample:\n# Read the bounded field from a Range value\n   print range(1.0, 3.0).bounded;","compact":"Field: Range.bounded - whether this range has a finite stop","search_text":"field:Range.bounded bounded Range.bounded field whether this range has a finite stop <Range>.bounded -> Bool"},{"id":"field:Range.start","name":"start","path":"Range.start","kind":"field","aliases":[],"description":"numeric start or UTC Julian date for time ranges","syntax":["<Range>.start -> Number"],"examples":["# Read the start field from a Range value\nprint range(1.0, 3.0).start;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Range.start - numeric start or UTC Julian date for time ranges\nSyntax:\n  <Range>.start -> Number\nExample:\n# Read the start field from a Range value\n   print range(1.0, 3.0).start;","compact":"Field: Range.start - numeric start or UTC Julian date for time ranges","search_text":"field:Range.start start Range.start field numeric start or UTC Julian date for time ranges <Range>.start -> Number"},{"id":"field:Range.stop","name":"stop","path":"Range.stop","kind":"field","aliases":[],"description":"numeric stop or UTC Julian date for bounded time ranges","syntax":["<Range>.stop -> Number|Nil"],"examples":["# Read the stop field from a Range value\nprint range(1.0, 3.0).stop;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Range.stop - numeric stop or UTC Julian date for bounded time ranges\nSyntax:\n  <Range>.stop -> Number|Nil\nExample:\n# Read the stop field from a Range value\n   print range(1.0, 3.0).stop;","compact":"Field: Range.stop - numeric stop or UTC Julian date for bounded time ranges","search_text":"field:Range.stop stop Range.stop field numeric stop or UTC Julian date for bounded time ranges <Range>.stop -> Number|Nil"},{"id":"field:Range.step","name":"step","path":"Range.step","kind":"field","aliases":[],"description":"explicit scan step when supplied","syntax":["<Range>.step -> Number|Nil"],"examples":["# Read the step field from a Range value\nprint range(1.0, 3.0).step;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Range.step - explicit scan step when supplied\nSyntax:\n  <Range>.step -> Number|Nil\nExample:\n# Read the step field from a Range value\n   print range(1.0, 3.0).step;","compact":"Field: Range.step - explicit scan step when supplied","search_text":"field:Range.step step Range.step field explicit scan step when supplied <Range>.step -> Number|Nil"},{"id":"member:Range.children","name":"children","path":"Range.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Range>.children() -> List"],"examples":["# Use Range.children on a Range value\nlet value = range(1.0, 3.0);\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Range.children - lists child fields and callable members available on this value\nSyntax:\n  <Range>.children() -> List\nExample:\n# Use Range.children on a Range value\n   let value = range(1.0, 3.0);\n   print value.children();","compact":"Method: Range.children - lists child fields and callable members available on this value","search_text":"member:Range.children children Range.children method lists child fields and callable members available on this value <Range>.children() -> List"},{"id":"member:Range.fields","name":"fields","path":"Range.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Range>.fields() -> Object"],"examples":["# Use Range.fields on a Range value\nlet value = range(1.0, 3.0);\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Range.fields - returns an object containing the value's plain fields\nSyntax:\n  <Range>.fields() -> Object\nExample:\n# Use Range.fields on a Range value\n   let value = range(1.0, 3.0);\n   print value.fields();","compact":"Method: Range.fields - returns an object containing the value's plain fields","search_text":"member:Range.fields fields Range.fields method returns an object containing the value's plain fields <Range>.fields() -> Object"},{"id":"member:Range.functions","name":"functions","path":"Range.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Range>.functions() -> List"],"examples":["# Use Range.functions on a Range value\nlet value = range(1.0, 3.0);\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Range.functions - lists callable members available on this value\nSyntax:\n  <Range>.functions() -> List\nExample:\n# Use Range.functions on a Range value\n   let value = range(1.0, 3.0);\n   print value.functions();","compact":"Method: Range.functions - lists callable members available on this value","search_text":"member:Range.functions functions Range.functions method lists callable members available on this value <Range>.functions() -> List"},{"id":"type:Search","name":"Search","path":"Search","kind":"type","aliases":[],"description":"configured scalar search value","syntax":["search(function: Callable, range: Range, goal: Target|SearchGoal) -> Search"],"examples":["# Search a numeric curve and inspect the first crossing\nlet curve = (x): x * x - 9;\nlet result = search(curve, range(0, 6, 0.25), target(0, increasing));\nprint result.next();"],"arguments":[{"name":"function","type":"Callable","required":true,"description":"function of one Number or Time argument returning a Number"},{"name":"range","type":"Range","required":true,"description":"range(start, stop), range(start, stop, step), or range(start, infinity, step)"},{"name":"goal","type":"Target|SearchGoal","required":false,"description":"target value and direction, minimum, or maximum; defaults to target(0, any)"}],"children":["field:Search.range","field:Search.target","field:Search.direction","member:Search.next","member:Search.all","member:Search.children","member:Search.fields","member:Search.functions"],"resources":[],"doc":"Type: Search - configured scalar search value\nSyntax:\n  search(function: Callable, range: Range, goal: Target|SearchGoal) -> Search\nArguments:\n  function: Callable - function of one Number or Time argument returning a Number\n  range: Range - range(start, stop), range(start, stop, step), or range(start, infinity, step)\n  goal: Target|SearchGoal [optional] - target value and direction, minimum, or maximum; defaults to target(0, any)\nChildren: range, target, direction, next(), all(), children(), fields(), functions()\nExample:\n# Search a numeric curve and inspect the first crossing\n   let curve = (x): x * x - 9;\n   let result = search(curve, range(0, 6, 0.25), target(0, increasing));\n   print result.next();","compact":"Type: Search - configured scalar search value","search_text":"type:Search Search Search type configured scalar search value search(function: Callable, range: Range, goal: Target|SearchGoal) -> Search function Callable function of one Number or Time argument returning a Number range Range range(start, stop), range(start, stop, step), or range(start, infinity, step) goal Target|SearchGoal target value and direction, minimum, or maximum; defaults to target(0, any)"},{"id":"field:Search.range","name":"range","path":"Search.range","kind":"field","aliases":[],"description":"range scanned by this search","syntax":["<Search>.range -> Range"],"examples":["# Read the range field from a Search value\nprint search((x): x, range(1.0, 3.0), target(2.0)).range;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Search.range - range scanned by this search\nSyntax:\n  <Search>.range -> Range\nExample:\n# Read the range field from a Search value\n   print search((x): x, range(1.0, 3.0), target(2.0)).range;","compact":"Field: Search.range - range scanned by this search","search_text":"field:Search.range range Search.range field range scanned by this search <Search>.range -> Range"},{"id":"field:Search.target","name":"target","path":"Search.target","kind":"field","aliases":[],"description":"target value or extreme goal","syntax":["<Search>.target -> Target|SearchGoal"],"examples":["# Read the target field from a Search value\nprint search((x): x, range(1.0, 3.0), target(2.0)).target;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Search.target - target value or extreme goal\nSyntax:\n  <Search>.target -> Target|SearchGoal\nExample:\n# Read the target field from a Search value\n   print search((x): x, range(1.0, 3.0), target(2.0)).target;","compact":"Field: Search.target - target value or extreme goal","search_text":"field:Search.target target Search.target field target value or extreme goal <Search>.target -> Target|SearchGoal"},{"id":"field:Search.direction","name":"direction","path":"Search.direction","kind":"field","aliases":[],"description":"target crossing direction when this search has a numeric target","syntax":["<Search>.direction -> SearchDirection|Nil"],"examples":["# Read the direction field from a Search value\nprint search((x): x, range(1.0, 3.0), target(2.0)).direction;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Search.direction - target crossing direction when this search has a numeric target\nSyntax:\n  <Search>.direction -> SearchDirection|Nil\nExample:\n# Read the direction field from a Search value\n   print search((x): x, range(1.0, 3.0), target(2.0)).direction;","compact":"Field: Search.direction - target crossing direction when this search has a numeric target","search_text":"field:Search.direction direction Search.direction field target crossing direction when this search has a numeric target <Search>.direction -> SearchDirection|Nil"},{"id":"member:Search.next","name":"next","path":"Search.next","kind":"method","aliases":[],"description":"returns the next search solution, or the next count solutions","syntax":["<Search>.next() -> Any|Nil","<Search>.next(count: Number) -> List"],"examples":["# Use Search.next on a Search value\nlet value = search((x): x, range(1.0, 3.0), target(2.0));\nprint value.next();"],"arguments":[{"name":"count","type":"Number","required":false,"description":"number of solutions to return"}],"children":[],"resources":[],"doc":"Method: Search.next - returns the next search solution, or the next count solutions\nSyntax:\n  <Search>.next() -> Any|Nil\n  <Search>.next(count: Number) -> List\nArguments:\n  count: Number [optional] - number of solutions to return\nExample:\n# Use Search.next on a Search value\n   let value = search((x): x, range(1.0, 3.0), target(2.0));\n   print value.next();","compact":"Method: Search.next - returns the next search solution, or the next count solutions","search_text":"member:Search.next next Search.next method returns the next search solution, or the next count solutions <Search>.next() -> Any|Nil <Search>.next(count: Number) -> List count Number number of solutions to return"},{"id":"member:Search.all","name":"all","path":"Search.all","kind":"method","aliases":[],"description":"returns all search solutions in a bounded range","syntax":["<Search>.all() -> List"],"examples":["# Use Search.all on a Search value\nlet value = search((x): x, range(1.0, 3.0), target(2.0));\nprint value.all();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Search.all - returns all search solutions in a bounded range\nSyntax:\n  <Search>.all() -> List\nExample:\n# Use Search.all on a Search value\n   let value = search((x): x, range(1.0, 3.0), target(2.0));\n   print value.all();","compact":"Method: Search.all - returns all search solutions in a bounded range","search_text":"member:Search.all all Search.all method returns all search solutions in a bounded range <Search>.all() -> List"},{"id":"member:Search.children","name":"children","path":"Search.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Search>.children() -> List"],"examples":["# Use Search.children on a Search value\nlet value = search((x): x, range(1.0, 3.0), target(2.0));\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Search.children - lists child fields and callable members available on this value\nSyntax:\n  <Search>.children() -> List\nExample:\n# Use Search.children on a Search value\n   let value = search((x): x, range(1.0, 3.0), target(2.0));\n   print value.children();","compact":"Method: Search.children - lists child fields and callable members available on this value","search_text":"member:Search.children children Search.children method lists child fields and callable members available on this value <Search>.children() -> List"},{"id":"member:Search.fields","name":"fields","path":"Search.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Search>.fields() -> Object"],"examples":["# Use Search.fields on a Search value\nlet value = search((x): x, range(1.0, 3.0), target(2.0));\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Search.fields - returns an object containing the value's plain fields\nSyntax:\n  <Search>.fields() -> Object\nExample:\n# Use Search.fields on a Search value\n   let value = search((x): x, range(1.0, 3.0), target(2.0));\n   print value.fields();","compact":"Method: Search.fields - returns an object containing the value's plain fields","search_text":"member:Search.fields fields Search.fields method returns an object containing the value's plain fields <Search>.fields() -> Object"},{"id":"member:Search.functions","name":"functions","path":"Search.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Search>.functions() -> List"],"examples":["# Use Search.functions on a Search value\nlet value = search((x): x, range(1.0, 3.0), target(2.0));\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Search.functions - lists callable members available on this value\nSyntax:\n  <Search>.functions() -> List\nExample:\n# Use Search.functions on a Search value\n   let value = search((x): x, range(1.0, 3.0), target(2.0));\n   print value.functions();","compact":"Method: Search.functions - lists callable members available on this value","search_text":"member:Search.functions functions Search.functions method lists callable members available on this value <Search>.functions() -> List"},{"id":"type:Forecast","name":"Forecast","path":"Forecast","kind":"type","aliases":[],"description":"published GFS forecast cycle from the retained stack","syntax":["forecast(index: Number, format: Text) -> Forecast"],"examples":["# Open the forecast index and print available product names\nlet fc = forecast();\nprint fc.available(), keys(fc.toc());"],"arguments":[{"name":"index","type":"Number","required":false,"description":"forecast cycle stack index; 0 is the latest cycle"},{"name":"format","type":"Text","required":false,"description":"optional storage format: \"netcdf\" (default when available), \"grib\", or \"auto\""}],"children":["field:Forecast.source","field:Forecast.format","field:Forecast.path","field:Forecast.reason","field:Forecast.index","field:Forecast.hour","field:Forecast.run","field:Forecast.run_name","field:Forecast.reference_time","field:Forecast.valid_time","field:Forecast.message_count","member:Forecast.available","member:Forecast.count","member:Forecast.cycle","member:Forecast.cycle_step","member:Forecast.max_time","member:Forecast.spans","member:Forecast.times","member:Forecast.sample","member:Forecast.toc","member:Forecast.messages","member:Forecast.children","member:Forecast.fields","member:Forecast.functions"],"resources":[],"doc":"Type: Forecast - published GFS forecast cycle from the retained stack\nSyntax:\n  forecast(index: Number, format: Text) -> Forecast\nArguments:\n  index: Number [optional] - forecast cycle stack index; 0 is the latest cycle\n  format: Text [optional] - optional storage format: \"netcdf\" (default when available), \"grib\", or \"auto\"\nChildren: source, format, path, reason, index, hour, run, run_name, reference_time, valid_time, message_count, available(), count(), cycle(), cycle_step(), max_time(), spans(), times(), sample(), toc(), messages(), children(), fields(), functions()\nExample:\n# Open the forecast index and print available product names\n   let fc = forecast();\n   print fc.available(), keys(fc.toc());","compact":"Type: Forecast - published GFS forecast cycle from the retained stack","search_text":"type:Forecast Forecast Forecast type published GFS forecast cycle from the retained stack forecast(index: Number, format: Text) -> Forecast index Number forecast cycle stack index; 0 is the latest cycle format Text optional storage format: \"netcdf\" (default when available), \"grib\", or \"auto\""},{"id":"field:Forecast.source","name":"source","path":"Forecast.source","kind":"field","aliases":[],"description":"forecast source provider","syntax":["<Forecast>.source -> Text"],"examples":["# Read the source field from a Forecast value\nprint forecast().source;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Forecast.source - forecast source provider\nSyntax:\n  <Forecast>.source -> Text\nExample:\n# Read the source field from a Forecast value\n   print forecast().source;","compact":"Field: Forecast.source - forecast source provider","search_text":"field:Forecast.source source Forecast.source field forecast source provider <Forecast>.source -> Text"},{"id":"field:Forecast.format","name":"format","path":"Forecast.format","kind":"field","aliases":[],"description":"storage format used by this forecast","syntax":["<Forecast>.format -> Text"],"examples":["# Read the format field from a Forecast value\nprint forecast().format;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Forecast.format - storage format used by this forecast\nSyntax:\n  <Forecast>.format -> Text\nExample:\n# Read the format field from a Forecast value\n   print forecast().format;","compact":"Field: Forecast.format - storage format used by this forecast","search_text":"field:Forecast.format format Forecast.format field storage format used by this forecast <Forecast>.format -> Text"},{"id":"field:Forecast.path","name":"path","path":"Forecast.path","kind":"field","aliases":[],"description":"forecast data path","syntax":["<Forecast>.path -> Text"],"examples":["# Read the path field from a Forecast value\nprint forecast().path;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Forecast.path - forecast data path\nSyntax:\n  <Forecast>.path -> Text\nExample:\n# Read the path field from a Forecast value\n   print forecast().path;","compact":"Field: Forecast.path - forecast data path","search_text":"field:Forecast.path path Forecast.path field forecast data path <Forecast>.path -> Text"},{"id":"field:Forecast.reason","name":"reason","path":"Forecast.reason","kind":"field","aliases":[],"description":"unavailable reason when the cycle could not be opened","syntax":["<Forecast>.reason -> Text|Nil"],"examples":["# Read the reason field from a Forecast value\nprint forecast().reason;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Forecast.reason - unavailable reason when the cycle could not be opened\nSyntax:\n  <Forecast>.reason -> Text|Nil\nExample:\n# Read the reason field from a Forecast value\n   print forecast().reason;","compact":"Field: Forecast.reason - unavailable reason when the cycle could not be opened","search_text":"field:Forecast.reason reason Forecast.reason field unavailable reason when the cycle could not be opened <Forecast>.reason -> Text|Nil"},{"id":"field:Forecast.index","name":"index","path":"Forecast.index","kind":"field","aliases":[],"description":"forecast cycle stack index","syntax":["<Forecast>.index -> Number"],"examples":["# Read the index field from a Forecast value\nprint forecast().index;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Forecast.index - forecast cycle stack index\nSyntax:\n  <Forecast>.index -> Number\nExample:\n# Read the index field from a Forecast value\n   print forecast().index;","compact":"Field: Forecast.index - forecast cycle stack index","search_text":"field:Forecast.index index Forecast.index field forecast cycle stack index <Forecast>.index -> Number"},{"id":"field:Forecast.hour","name":"hour","path":"Forecast.hour","kind":"field","aliases":[],"description":"forecast lead hour for this opened cycle","syntax":["<Forecast>.hour -> Number"],"examples":["# Read the hour field from a Forecast value\nprint forecast().hour;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Forecast.hour - forecast lead hour for this opened cycle\nSyntax:\n  <Forecast>.hour -> Number\nExample:\n# Read the hour field from a Forecast value\n   print forecast().hour;","compact":"Field: Forecast.hour - forecast lead hour for this opened cycle","search_text":"field:Forecast.hour hour Forecast.hour field forecast lead hour for this opened cycle <Forecast>.hour -> Number"},{"id":"field:Forecast.run","name":"run","path":"Forecast.run","kind":"field","aliases":[],"description":"run metadata object","syntax":["<Forecast>.run -> Object"],"examples":["# Read the run field from a Forecast value\nprint forecast().run;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Forecast.run - run metadata object\nSyntax:\n  <Forecast>.run -> Object\nExample:\n# Read the run field from a Forecast value\n   print forecast().run;","compact":"Field: Forecast.run - run metadata object","search_text":"field:Forecast.run run Forecast.run field run metadata object <Forecast>.run -> Object"},{"id":"field:Forecast.run_name","name":"run_name","path":"Forecast.run_name","kind":"field","aliases":[],"description":"human-readable run label","syntax":["<Forecast>.run_name -> Text"],"examples":["# Read the run_name field from a Forecast value\nprint forecast().run_name;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Forecast.run_name - human-readable run label\nSyntax:\n  <Forecast>.run_name -> Text\nExample:\n# Read the run_name field from a Forecast value\n   print forecast().run_name;","compact":"Field: Forecast.run_name - human-readable run label","search_text":"field:Forecast.run_name run_name Forecast.run_name field human-readable run label <Forecast>.run_name -> Text"},{"id":"field:Forecast.reference_time","name":"reference_time","path":"Forecast.reference_time","kind":"field","aliases":[],"description":"forecast reference time label","syntax":["<Forecast>.reference_time -> Text"],"examples":["# Read the reference_time field from a Forecast value\nprint forecast().reference_time;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Forecast.reference_time - forecast reference time label\nSyntax:\n  <Forecast>.reference_time -> Text\nExample:\n# Read the reference_time field from a Forecast value\n   print forecast().reference_time;","compact":"Field: Forecast.reference_time - forecast reference time label","search_text":"field:Forecast.reference_time reference_time Forecast.reference_time field forecast reference time label <Forecast>.reference_time -> Text"},{"id":"field:Forecast.valid_time","name":"valid_time","path":"Forecast.valid_time","kind":"field","aliases":[],"description":"valid time label for this opened forecast","syntax":["<Forecast>.valid_time -> Text"],"examples":["# Read the valid_time field from a Forecast value\nprint forecast().valid_time;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Forecast.valid_time - valid time label for this opened forecast\nSyntax:\n  <Forecast>.valid_time -> Text\nExample:\n# Read the valid_time field from a Forecast value\n   print forecast().valid_time;","compact":"Field: Forecast.valid_time - valid time label for this opened forecast","search_text":"field:Forecast.valid_time valid_time Forecast.valid_time field valid time label for this opened forecast <Forecast>.valid_time -> Text"},{"id":"field:Forecast.message_count","name":"message_count","path":"Forecast.message_count","kind":"field","aliases":[],"description":"number of forecast messages","syntax":["<Forecast>.message_count -> Number"],"examples":["# Read the message_count field from a Forecast value\nprint forecast().message_count;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Forecast.message_count - number of forecast messages\nSyntax:\n  <Forecast>.message_count -> Number\nExample:\n# Read the message_count field from a Forecast value\n   print forecast().message_count;","compact":"Field: Forecast.message_count - number of forecast messages","search_text":"field:Forecast.message_count message_count Forecast.message_count field number of forecast messages <Forecast>.message_count -> Number"},{"id":"member:Forecast.available","name":"available","path":"Forecast.available","kind":"method","aliases":[],"description":"reports whether this forecast cycle is available","syntax":["<Forecast>.available() -> Bool"],"examples":["# Use Forecast.available on a Forecast value\nlet value = forecast();\nprint value.available();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Forecast.available - reports whether this forecast cycle is available\nSyntax:\n  <Forecast>.available() -> Bool\nExample:\n# Use Forecast.available on a Forecast value\n   let value = forecast();\n   print value.available();","compact":"Method: Forecast.available - reports whether this forecast cycle is available","search_text":"member:Forecast.available available Forecast.available method reports whether this forecast cycle is available <Forecast>.available() -> Bool"},{"id":"member:Forecast.count","name":"count","path":"Forecast.count","kind":"method","aliases":[],"description":"returns the retained forecast cycle count","syntax":["<Forecast>.count() -> Number"],"examples":["# Use Forecast.count on a Forecast value\nlet value = forecast();\nprint value.count();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Forecast.count - returns the retained forecast cycle count\nSyntax:\n  <Forecast>.count() -> Number\nExample:\n# Use Forecast.count on a Forecast value\n   let value = forecast();\n   print value.count();","compact":"Method: Forecast.count - returns the retained forecast cycle count","search_text":"member:Forecast.count count Forecast.count method returns the retained forecast cycle count <Forecast>.count() -> Number"},{"id":"member:Forecast.cycle","name":"cycle","path":"Forecast.cycle","kind":"method","aliases":[],"description":"returns the forecast cycle reference time","syntax":["<Forecast>.cycle() -> Time|Nil"],"examples":["# Use Forecast.cycle on a Forecast value\nlet value = forecast();\nprint value.cycle();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Forecast.cycle - returns the forecast cycle reference time\nSyntax:\n  <Forecast>.cycle() -> Time|Nil\nExample:\n# Use Forecast.cycle on a Forecast value\n   let value = forecast();\n   print value.cycle();","compact":"Method: Forecast.cycle - returns the forecast cycle reference time","search_text":"member:Forecast.cycle cycle Forecast.cycle method returns the forecast cycle reference time <Forecast>.cycle() -> Time|Nil"},{"id":"member:Forecast.cycle_step","name":"cycle_step","path":"Forecast.cycle_step","kind":"method","aliases":[],"description":"returns the retained cycle spacing in hours","syntax":["<Forecast>.cycle_step() -> Number"],"examples":["# Use Forecast.cycle_step on a Forecast value\nlet value = forecast();\nprint value.cycle_step();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Forecast.cycle_step - returns the retained cycle spacing in hours\nSyntax:\n  <Forecast>.cycle_step() -> Number\nExample:\n# Use Forecast.cycle_step on a Forecast value\n   let value = forecast();\n   print value.cycle_step();","compact":"Method: Forecast.cycle_step - returns the retained cycle spacing in hours","search_text":"member:Forecast.cycle_step cycle_step Forecast.cycle_step method returns the retained cycle spacing in hours <Forecast>.cycle_step() -> Number"},{"id":"member:Forecast.max_time","name":"max_time","path":"Forecast.max_time","kind":"method","aliases":[],"description":"returns the latest valid forecast time","syntax":["<Forecast>.max_time() -> Time|Nil"],"examples":["# Use Forecast.max_time on a Forecast value\nlet value = forecast();\nprint value.max_time();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Forecast.max_time - returns the latest valid forecast time\nSyntax:\n  <Forecast>.max_time() -> Time|Nil\nExample:\n# Use Forecast.max_time on a Forecast value\n   let value = forecast();\n   print value.max_time();","compact":"Method: Forecast.max_time - returns the latest valid forecast time","search_text":"member:Forecast.max_time max_time Forecast.max_time method returns the latest valid forecast time <Forecast>.max_time() -> Time|Nil"},{"id":"member:Forecast.spans","name":"spans","path":"Forecast.spans","kind":"method","aliases":[],"description":"reports whether this forecast spans a time","syntax":["<Forecast>.spans(time: Time) -> Bool"],"examples":["# Use Forecast.spans on a Forecast value\nlet value = forecast();\nprint value.spans(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time to test against the forecast span"}],"children":[],"resources":[],"doc":"Method: Forecast.spans - reports whether this forecast spans a time\nSyntax:\n  <Forecast>.spans(time: Time) -> Bool\nArguments:\n  time: Time - time to test against the forecast span\nExample:\n# Use Forecast.spans on a Forecast value\n   let value = forecast();\n   print value.spans(time());","compact":"Method: Forecast.spans - reports whether this forecast spans a time","search_text":"member:Forecast.spans spans Forecast.spans method reports whether this forecast spans a time <Forecast>.spans(time: Time) -> Bool time Time time to test against the forecast span"},{"id":"member:Forecast.times","name":"times","path":"Forecast.times","kind":"method","aliases":[],"description":"returns all forecast valid times","syntax":["<Forecast>.times() -> List"],"examples":["# Use Forecast.times on a Forecast value\nlet value = forecast();\nprint value.times();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Forecast.times - returns all forecast valid times\nSyntax:\n  <Forecast>.times() -> List\nExample:\n# Use Forecast.times on a Forecast value\n   let value = forecast();\n   print value.times();","compact":"Method: Forecast.times - returns all forecast valid times","search_text":"member:Forecast.times times Forecast.times method returns all forecast valid times <Forecast>.times() -> List"},{"id":"member:Forecast.sample","name":"sample","path":"Forecast.sample","kind":"method","aliases":[],"description":"samples forecast products at an Earth location","syntax":["<Forecast>.sample(location: Location, time: Time, product: Text|Reference|List) -> List"],"examples":["# Use Forecast.sample on a Forecast value\nlet value = forecast();\nprint value.sample(location(latitude: 60.0, longitude: 270.0));"],"arguments":[{"name":"location","type":"Location","required":true,"description":"Earth location to sample"},{"name":"time","type":"Time","required":false,"description":"optional valid time; omitted samples all forecast times"},{"name":"product","type":"Text|Reference|List","required":false,"description":"optional forecast product selector or selectors"}],"children":[],"resources":[],"doc":"Method: Forecast.sample - samples forecast products at an Earth location\nSyntax:\n  <Forecast>.sample(location: Location, time: Time, product: Text|Reference|List) -> List\nArguments:\n  location: Location - Earth location to sample\n  time: Time [optional] - optional valid time; omitted samples all forecast times\n  product: Text|Reference|List [optional] - optional forecast product selector or selectors\nExample:\n# Use Forecast.sample on a Forecast value\n   let value = forecast();\n   print value.sample(location(latitude: 60.0, longitude: 270.0));","compact":"Method: Forecast.sample - samples forecast products at an Earth location","search_text":"member:Forecast.sample sample Forecast.sample method samples forecast products at an Earth location <Forecast>.sample(location: Location, time: Time, product: Text|Reference|List) -> List location Location Earth location to sample time Time optional valid time; omitted samples all forecast times product Text|Reference|List optional forecast product selector or selectors"},{"id":"member:Forecast.toc","name":"toc","path":"Forecast.toc","kind":"method","aliases":[],"description":"returns available products, levels, and times","syntax":["<Forecast>.toc() -> Object"],"examples":["# Use Forecast.toc on a Forecast value\nlet value = forecast();\nprint value.toc();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Forecast.toc - returns available products, levels, and times\nSyntax:\n  <Forecast>.toc() -> Object\nExample:\n# Use Forecast.toc on a Forecast value\n   let value = forecast();\n   print value.toc();","compact":"Method: Forecast.toc - returns available products, levels, and times","search_text":"member:Forecast.toc toc Forecast.toc method returns available products, levels, and times <Forecast>.toc() -> Object"},{"id":"member:Forecast.messages","name":"messages","path":"Forecast.messages","kind":"method","aliases":[],"description":"returns raw forecast message metadata","syntax":["<Forecast>.messages() -> List"],"examples":["# Use Forecast.messages on a Forecast value\nlet value = forecast();\nprint value.messages();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Forecast.messages - returns raw forecast message metadata\nSyntax:\n  <Forecast>.messages() -> List\nExample:\n# Use Forecast.messages on a Forecast value\n   let value = forecast();\n   print value.messages();","compact":"Method: Forecast.messages - returns raw forecast message metadata","search_text":"member:Forecast.messages messages Forecast.messages method returns raw forecast message metadata <Forecast>.messages() -> List"},{"id":"member:Forecast.children","name":"children","path":"Forecast.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Forecast>.children() -> List"],"examples":["# Use Forecast.children on a Forecast value\nlet value = forecast();\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Forecast.children - lists child fields and callable members available on this value\nSyntax:\n  <Forecast>.children() -> List\nExample:\n# Use Forecast.children on a Forecast value\n   let value = forecast();\n   print value.children();","compact":"Method: Forecast.children - lists child fields and callable members available on this value","search_text":"member:Forecast.children children Forecast.children method lists child fields and callable members available on this value <Forecast>.children() -> List"},{"id":"member:Forecast.fields","name":"fields","path":"Forecast.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Forecast>.fields() -> Object"],"examples":["# Use Forecast.fields on a Forecast value\nlet value = forecast();\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Forecast.fields - returns an object containing the value's plain fields\nSyntax:\n  <Forecast>.fields() -> Object\nExample:\n# Use Forecast.fields on a Forecast value\n   let value = forecast();\n   print value.fields();","compact":"Method: Forecast.fields - returns an object containing the value's plain fields","search_text":"member:Forecast.fields fields Forecast.fields method returns an object containing the value's plain fields <Forecast>.fields() -> Object"},{"id":"member:Forecast.functions","name":"functions","path":"Forecast.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Forecast>.functions() -> List"],"examples":["# Use Forecast.functions on a Forecast value\nlet value = forecast();\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Forecast.functions - lists callable members available on this value\nSyntax:\n  <Forecast>.functions() -> List\nExample:\n# Use Forecast.functions on a Forecast value\n   let value = forecast();\n   print value.functions();","compact":"Method: Forecast.functions - lists callable members available on this value","search_text":"member:Forecast.functions functions Forecast.functions method lists callable members available on this value <Forecast>.functions() -> List"},{"id":"type:ForecastProduct","name":"ForecastProduct","path":"ForecastProduct","kind":"type","aliases":[],"description":"forecast product selector bound to a forecast","syntax":[],"examples":["# Select a forecast temperature field through the product selector\nlet temp = forecast().temperature();\nprint temp.product, temp.name;"],"arguments":[],"children":["field:ForecastProduct.product","field:ForecastProduct.name","member:ForecastProduct.select","member:ForecastProduct.children","member:ForecastProduct.fields","member:ForecastProduct.functions"],"resources":[],"doc":"Type: ForecastProduct - forecast product selector bound to a forecast\nChildren: product, name, select(), children(), fields(), functions()\nExample:\n# Select a forecast temperature field through the product selector\n   let temp = forecast().temperature();\n   print temp.product, temp.name;","compact":"Type: ForecastProduct - forecast product selector bound to a forecast","search_text":"type:ForecastProduct ForecastProduct ForecastProduct type forecast product selector bound to a forecast"},{"id":"field:ForecastProduct.product","name":"product","path":"ForecastProduct.product","kind":"field","aliases":[],"description":"canonical forecast product name","syntax":["<ForecastProduct>.product -> Text"],"examples":["# Read the product field from a ForecastProduct value\nprint forecast().temperature().product;"],"arguments":[],"children":[],"resources":[],"doc":"Field: ForecastProduct.product - canonical forecast product name\nSyntax:\n  <ForecastProduct>.product -> Text\nExample:\n# Read the product field from a ForecastProduct value\n   print forecast().temperature().product;","compact":"Field: ForecastProduct.product - canonical forecast product name","search_text":"field:ForecastProduct.product product ForecastProduct.product field canonical forecast product name <ForecastProduct>.product -> Text"},{"id":"field:ForecastProduct.name","name":"name","path":"ForecastProduct.name","kind":"field","aliases":[],"description":"alias for product","syntax":["<ForecastProduct>.name -> Text"],"examples":["# Read the name field from a ForecastProduct value\nprint forecast().temperature().name;"],"arguments":[],"children":[],"resources":[],"doc":"Field: ForecastProduct.name - alias for product\nSyntax:\n  <ForecastProduct>.name -> Text\nExample:\n# Read the name field from a ForecastProduct value\n   print forecast().temperature().name;","compact":"Field: ForecastProduct.name - alias for product","search_text":"field:ForecastProduct.name name ForecastProduct.name field alias for product <ForecastProduct>.name -> Text"},{"id":"member:ForecastProduct.select","name":"select","path":"ForecastProduct.select","kind":"method","aliases":[],"description":"selects a scalar or vector field for this product","syntax":["<ForecastProduct>.select(level: Text) -> ScalarField|VectorField"],"examples":["# Select a forecast product through the forecast object\nlet temp = forecast().temperature();\nprint temp.product, temp.name, temp.available();"],"arguments":[{"name":"level","type":"Text","required":false,"description":"optional product level selector"}],"children":[],"resources":[],"doc":"Method: ForecastProduct.select - selects a scalar or vector field for this product\nSyntax:\n  <ForecastProduct>.select(level: Text) -> ScalarField|VectorField\nArguments:\n  level: Text [optional] - optional product level selector\nExample:\n# Select a forecast product through the forecast object\n   let temp = forecast().temperature();\n   print temp.product, temp.name, temp.available();","compact":"Method: ForecastProduct.select - selects a scalar or vector field for this product","search_text":"member:ForecastProduct.select select ForecastProduct.select method selects a scalar or vector field for this product <ForecastProduct>.select(level: Text) -> ScalarField|VectorField level Text optional product level selector"},{"id":"member:ForecastProduct.children","name":"children","path":"ForecastProduct.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<ForecastProduct>.children() -> List"],"examples":["# List child help topics for a forecast product\nlet temp = forecast().temperature();\nprint temp.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: ForecastProduct.children - lists child fields and callable members available on this value\nSyntax:\n  <ForecastProduct>.children() -> List\nExample:\n# List child help topics for a forecast product\n   let temp = forecast().temperature();\n   print temp.children();","compact":"Method: ForecastProduct.children - lists child fields and callable members available on this value","search_text":"member:ForecastProduct.children children ForecastProduct.children method lists child fields and callable members available on this value <ForecastProduct>.children() -> List"},{"id":"member:ForecastProduct.fields","name":"fields","path":"ForecastProduct.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<ForecastProduct>.fields() -> Object"],"examples":["# List fields exposed by a forecast product\nlet temp = forecast().temperature();\nprint temp.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: ForecastProduct.fields - returns an object containing the value's plain fields\nSyntax:\n  <ForecastProduct>.fields() -> Object\nExample:\n# List fields exposed by a forecast product\n   let temp = forecast().temperature();\n   print temp.fields();","compact":"Method: ForecastProduct.fields - returns an object containing the value's plain fields","search_text":"member:ForecastProduct.fields fields ForecastProduct.fields method returns an object containing the value's plain fields <ForecastProduct>.fields() -> Object"},{"id":"member:ForecastProduct.functions","name":"functions","path":"ForecastProduct.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<ForecastProduct>.functions() -> List"],"examples":["# List functions exposed by a forecast product\nlet temp = forecast().temperature();\nprint temp.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: ForecastProduct.functions - lists callable members available on this value\nSyntax:\n  <ForecastProduct>.functions() -> List\nExample:\n# List functions exposed by a forecast product\n   let temp = forecast().temperature();\n   print temp.functions();","compact":"Method: ForecastProduct.functions - lists callable members available on this value","search_text":"member:ForecastProduct.functions functions ForecastProduct.functions method lists callable members available on this value <ForecastProduct>.functions() -> List"},{"id":"type:ScalarField","name":"ScalarField","path":"ScalarField","kind":"type","aliases":[],"description":"forecast scalar field selected from a product","syntax":[],"examples":["# Select a scalar forecast field and sample it at a location\nlet loc = location(latitude: 58.9666667, longitude: 5.7333333);\nlet temp = forecast().temperature();\nprint temp.sample(loc);"],"arguments":[],"children":["field:ScalarField.product","field:ScalarField.name","field:ScalarField.level","field:ScalarField.path","member:ScalarField.sample","member:ScalarField.children","member:ScalarField.fields","member:ScalarField.functions"],"resources":[],"doc":"Type: ScalarField - forecast scalar field selected from a product\nChildren: product, name, level, path, sample(), children(), fields(), functions()\nExample:\n# Select a scalar forecast field and sample it at a location\n   let loc = location(latitude: 58.9666667, longitude: 5.7333333);\n   let temp = forecast().temperature();\n   print temp.sample(loc);","compact":"Type: ScalarField - forecast scalar field selected from a product","search_text":"type:ScalarField ScalarField ScalarField type forecast scalar field selected from a product"},{"id":"field:ScalarField.product","name":"product","path":"ScalarField.product","kind":"field","aliases":[],"description":"forecast product name","syntax":["<ScalarField>.product -> Text"],"examples":["# Read the product field from a ScalarField value\nprint forecast().temperature().product;"],"arguments":[],"children":[],"resources":[],"doc":"Field: ScalarField.product - forecast product name\nSyntax:\n  <ScalarField>.product -> Text\nExample:\n# Read the product field from a ScalarField value\n   print forecast().temperature().product;","compact":"Field: ScalarField.product - forecast product name","search_text":"field:ScalarField.product product ScalarField.product field forecast product name <ScalarField>.product -> Text"},{"id":"field:ScalarField.name","name":"name","path":"ScalarField.name","kind":"field","aliases":[],"description":"alias for product","syntax":["<ScalarField>.name -> Text"],"examples":["# Read the name field from a ScalarField value\nprint forecast().temperature().name;"],"arguments":[],"children":[],"resources":[],"doc":"Field: ScalarField.name - alias for product\nSyntax:\n  <ScalarField>.name -> Text\nExample:\n# Read the name field from a ScalarField value\n   print forecast().temperature().name;","compact":"Field: ScalarField.name - alias for product","search_text":"field:ScalarField.name name ScalarField.name field alias for product <ScalarField>.name -> Text"},{"id":"field:ScalarField.level","name":"level","path":"ScalarField.level","kind":"field","aliases":[],"description":"selected vertical or surface level","syntax":["<ScalarField>.level -> Text|Nil"],"examples":["# Read the level field from a ScalarField value\nprint forecast().temperature().level;"],"arguments":[],"children":[],"resources":[],"doc":"Field: ScalarField.level - selected vertical or surface level\nSyntax:\n  <ScalarField>.level -> Text|Nil\nExample:\n# Read the level field from a ScalarField value\n   print forecast().temperature().level;","compact":"Field: ScalarField.level - selected vertical or surface level","search_text":"field:ScalarField.level level ScalarField.level field selected vertical or surface level <ScalarField>.level -> Text|Nil"},{"id":"field:ScalarField.path","name":"path","path":"ScalarField.path","kind":"field","aliases":[],"description":"forecast data path","syntax":["<ScalarField>.path -> Text"],"examples":["# Read the path field from a ScalarField value\nprint forecast().temperature().path;"],"arguments":[],"children":[],"resources":[],"doc":"Field: ScalarField.path - forecast data path\nSyntax:\n  <ScalarField>.path -> Text\nExample:\n# Read the path field from a ScalarField value\n   print forecast().temperature().path;","compact":"Field: ScalarField.path - forecast data path","search_text":"field:ScalarField.path path ScalarField.path field forecast data path <ScalarField>.path -> Text"},{"id":"member:ScalarField.sample","name":"sample","path":"ScalarField.sample","kind":"method","aliases":[],"description":"samples this scalar field at an Earth location","syntax":["<ScalarField>.sample(location: Location) -> Number|Nil"],"examples":["# Use ScalarField.sample on a ScalarField value\nlet value = forecast().temperature();\nprint value.sample(location(latitude: 60.0, longitude: 270.0));"],"arguments":[{"name":"location","type":"Location","required":true,"description":"Earth location to sample"}],"children":[],"resources":[],"doc":"Method: ScalarField.sample - samples this scalar field at an Earth location\nSyntax:\n  <ScalarField>.sample(location: Location) -> Number|Nil\nArguments:\n  location: Location - Earth location to sample\nExample:\n# Use ScalarField.sample on a ScalarField value\n   let value = forecast().temperature();\n   print value.sample(location(latitude: 60.0, longitude: 270.0));","compact":"Method: ScalarField.sample - samples this scalar field at an Earth location","search_text":"member:ScalarField.sample sample ScalarField.sample method samples this scalar field at an Earth location <ScalarField>.sample(location: Location) -> Number|Nil location Location Earth location to sample"},{"id":"member:ScalarField.children","name":"children","path":"ScalarField.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<ScalarField>.children() -> List"],"examples":["# List child help topics for a selected scalar forecast field\nlet field = forecast().temperature();\nprint field.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: ScalarField.children - lists child fields and callable members available on this value\nSyntax:\n  <ScalarField>.children() -> List\nExample:\n# List child help topics for a selected scalar forecast field\n   let field = forecast().temperature();\n   print field.children();","compact":"Method: ScalarField.children - lists child fields and callable members available on this value","search_text":"member:ScalarField.children children ScalarField.children method lists child fields and callable members available on this value <ScalarField>.children() -> List"},{"id":"member:ScalarField.fields","name":"fields","path":"ScalarField.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<ScalarField>.fields() -> Object"],"examples":["# List fields exposed by a selected scalar forecast field\nlet field = forecast().temperature();\nprint field.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: ScalarField.fields - returns an object containing the value's plain fields\nSyntax:\n  <ScalarField>.fields() -> Object\nExample:\n# List fields exposed by a selected scalar forecast field\n   let field = forecast().temperature();\n   print field.fields();","compact":"Method: ScalarField.fields - returns an object containing the value's plain fields","search_text":"member:ScalarField.fields fields ScalarField.fields method returns an object containing the value's plain fields <ScalarField>.fields() -> Object"},{"id":"member:ScalarField.functions","name":"functions","path":"ScalarField.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<ScalarField>.functions() -> List"],"examples":["# List functions exposed by a selected scalar forecast field\nlet field = forecast().temperature();\nprint field.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: ScalarField.functions - lists callable members available on this value\nSyntax:\n  <ScalarField>.functions() -> List\nExample:\n# List functions exposed by a selected scalar forecast field\n   let field = forecast().temperature();\n   print field.functions();","compact":"Method: ScalarField.functions - lists callable members available on this value","search_text":"member:ScalarField.functions functions ScalarField.functions method lists callable members available on this value <ScalarField>.functions() -> List"},{"id":"type:VectorField","name":"VectorField","path":"VectorField","kind":"type","aliases":[],"description":"forecast vector field selected from a product","syntax":[],"examples":["# Select a wind forecast field and sample speed at a location\nlet loc = location(latitude: 58.9666667, longitude: 5.7333333);\nlet wind_field = forecast().wind();\nprint wind_field.sample(loc).speed;"],"arguments":[],"children":["field:VectorField.product","field:VectorField.name","field:VectorField.level","field:VectorField.path","field:VectorField.components","member:VectorField.sample","member:VectorField.children","member:VectorField.fields","member:VectorField.functions"],"resources":[],"doc":"Type: VectorField - forecast vector field selected from a product\nChildren: product, name, level, path, components, sample(), children(), fields(), functions()\nExample:\n# Select a wind forecast field and sample speed at a location\n   let loc = location(latitude: 58.9666667, longitude: 5.7333333);\n   let wind_field = forecast().wind();\n   print wind_field.sample(loc).speed;","compact":"Type: VectorField - forecast vector field selected from a product","search_text":"type:VectorField VectorField VectorField type forecast vector field selected from a product"},{"id":"field:VectorField.product","name":"product","path":"VectorField.product","kind":"field","aliases":[],"description":"forecast product name","syntax":["<VectorField>.product -> Text"],"examples":["# Read the product field from a VectorField value\nprint forecast().wind().product;"],"arguments":[],"children":[],"resources":[],"doc":"Field: VectorField.product - forecast product name\nSyntax:\n  <VectorField>.product -> Text\nExample:\n# Read the product field from a VectorField value\n   print forecast().wind().product;","compact":"Field: VectorField.product - forecast product name","search_text":"field:VectorField.product product VectorField.product field forecast product name <VectorField>.product -> Text"},{"id":"field:VectorField.name","name":"name","path":"VectorField.name","kind":"field","aliases":[],"description":"alias for product","syntax":["<VectorField>.name -> Text"],"examples":["# Read the name field from a VectorField value\nprint forecast().wind().name;"],"arguments":[],"children":[],"resources":[],"doc":"Field: VectorField.name - alias for product\nSyntax:\n  <VectorField>.name -> Text\nExample:\n# Read the name field from a VectorField value\n   print forecast().wind().name;","compact":"Field: VectorField.name - alias for product","search_text":"field:VectorField.name name VectorField.name field alias for product <VectorField>.name -> Text"},{"id":"field:VectorField.level","name":"level","path":"VectorField.level","kind":"field","aliases":[],"description":"selected vertical or surface level","syntax":["<VectorField>.level -> Text|Nil"],"examples":["# Read the level field from a VectorField value\nprint forecast().wind().level;"],"arguments":[],"children":[],"resources":[],"doc":"Field: VectorField.level - selected vertical or surface level\nSyntax:\n  <VectorField>.level -> Text|Nil\nExample:\n# Read the level field from a VectorField value\n   print forecast().wind().level;","compact":"Field: VectorField.level - selected vertical or surface level","search_text":"field:VectorField.level level VectorField.level field selected vertical or surface level <VectorField>.level -> Text|Nil"},{"id":"field:VectorField.path","name":"path","path":"VectorField.path","kind":"field","aliases":[],"description":"forecast data path","syntax":["<VectorField>.path -> Text"],"examples":["# Read the path field from a VectorField value\nprint forecast().wind().path;"],"arguments":[],"children":[],"resources":[],"doc":"Field: VectorField.path - forecast data path\nSyntax:\n  <VectorField>.path -> Text\nExample:\n# Read the path field from a VectorField value\n   print forecast().wind().path;","compact":"Field: VectorField.path - forecast data path","search_text":"field:VectorField.path path VectorField.path field forecast data path <VectorField>.path -> Text"},{"id":"field:VectorField.components","name":"components","path":"VectorField.components","kind":"field","aliases":[],"description":"component names included in the vector field","syntax":["<VectorField>.components -> List"],"examples":["# Read the components field from a VectorField value\nprint forecast().wind().components;"],"arguments":[],"children":[],"resources":[],"doc":"Field: VectorField.components - component names included in the vector field\nSyntax:\n  <VectorField>.components -> List\nExample:\n# Read the components field from a VectorField value\n   print forecast().wind().components;","compact":"Field: VectorField.components - component names included in the vector field","search_text":"field:VectorField.components components VectorField.components field component names included in the vector field <VectorField>.components -> List"},{"id":"member:VectorField.sample","name":"sample","path":"VectorField.sample","kind":"method","aliases":[],"description":"samples this vector field at an Earth location","syntax":["<VectorField>.sample(location: Location) -> Object|Nil"],"examples":["# Use VectorField.sample on a VectorField value\nlet value = forecast().wind();\nprint value.sample(location(latitude: 60.0, longitude: 270.0));"],"arguments":[{"name":"location","type":"Location","required":true,"description":"Earth location to sample"}],"children":[],"resources":[],"doc":"Method: VectorField.sample - samples this vector field at an Earth location\nSyntax:\n  <VectorField>.sample(location: Location) -> Object|Nil\nArguments:\n  location: Location - Earth location to sample\nExample:\n# Use VectorField.sample on a VectorField value\n   let value = forecast().wind();\n   print value.sample(location(latitude: 60.0, longitude: 270.0));","compact":"Method: VectorField.sample - samples this vector field at an Earth location","search_text":"member:VectorField.sample sample VectorField.sample method samples this vector field at an Earth location <VectorField>.sample(location: Location) -> Object|Nil location Location Earth location to sample"},{"id":"member:VectorField.children","name":"children","path":"VectorField.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<VectorField>.children() -> List"],"examples":["# List child help topics for a selected vector forecast field\nlet field = forecast().wind();\nprint field.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: VectorField.children - lists child fields and callable members available on this value\nSyntax:\n  <VectorField>.children() -> List\nExample:\n# List child help topics for a selected vector forecast field\n   let field = forecast().wind();\n   print field.children();","compact":"Method: VectorField.children - lists child fields and callable members available on this value","search_text":"member:VectorField.children children VectorField.children method lists child fields and callable members available on this value <VectorField>.children() -> List"},{"id":"member:VectorField.fields","name":"fields","path":"VectorField.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<VectorField>.fields() -> Object"],"examples":["# List fields exposed by a selected vector forecast field\nlet field = forecast().wind();\nprint field.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: VectorField.fields - returns an object containing the value's plain fields\nSyntax:\n  <VectorField>.fields() -> Object\nExample:\n# List fields exposed by a selected vector forecast field\n   let field = forecast().wind();\n   print field.fields();","compact":"Method: VectorField.fields - returns an object containing the value's plain fields","search_text":"member:VectorField.fields fields VectorField.fields method returns an object containing the value's plain fields <VectorField>.fields() -> Object"},{"id":"member:VectorField.functions","name":"functions","path":"VectorField.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<VectorField>.functions() -> List"],"examples":["# List functions exposed by a selected vector forecast field\nlet field = forecast().wind();\nprint field.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: VectorField.functions - lists callable members available on this value\nSyntax:\n  <VectorField>.functions() -> List\nExample:\n# List functions exposed by a selected vector forecast field\n   let field = forecast().wind();\n   print field.functions();","compact":"Method: VectorField.functions - lists callable members available on this value","search_text":"member:VectorField.functions functions VectorField.functions method lists callable members available on this value <VectorField>.functions() -> List"},{"id":"type:FieldSource","name":"FieldSource","path":"FieldSource","kind":"type","aliases":[],"description":"approved external field dataset source","syntax":[],"examples":["# Inspect the configured Earth topography source\nlet src = earth_topography;\nprint src.name, src.filename, src.variable;"],"arguments":[],"children":["field:FieldSource.name","field:FieldSource.filename","field:FieldSource.description","field:FieldSource.body","field:FieldSource.variable","field:FieldSource.lat","field:FieldSource.lon","member:FieldSource.children","member:FieldSource.fields","member:FieldSource.functions"],"resources":[],"doc":"Type: FieldSource - approved external field dataset source\nChildren: name, filename, description, body, variable, lat, lon, children(), fields(), functions()\nExample:\n# Inspect the configured Earth topography source\n   let src = earth_topography;\n   print src.name, src.filename, src.variable;","compact":"Type: FieldSource - approved external field dataset source","search_text":"type:FieldSource FieldSource FieldSource type approved external field dataset source"},{"id":"field:FieldSource.name","name":"name","path":"FieldSource.name","kind":"field","aliases":[],"description":"source name","syntax":["<FieldSource>.name -> Text"],"examples":["# Read the name field from a FieldSource value\nprint earth_topography.name;"],"arguments":[],"children":[],"resources":[],"doc":"Field: FieldSource.name - source name\nSyntax:\n  <FieldSource>.name -> Text\nExample:\n# Read the name field from a FieldSource value\n   print earth_topography.name;","compact":"Field: FieldSource.name - source name","search_text":"field:FieldSource.name name FieldSource.name field source name <FieldSource>.name -> Text"},{"id":"field:FieldSource.filename","name":"filename","path":"FieldSource.filename","kind":"field","aliases":[],"description":"required data filename","syntax":["<FieldSource>.filename -> Text"],"examples":["# Read the filename field from a FieldSource value\nprint earth_topography.filename;"],"arguments":[],"children":[],"resources":[],"doc":"Field: FieldSource.filename - required data filename\nSyntax:\n  <FieldSource>.filename -> Text\nExample:\n# Read the filename field from a FieldSource value\n   print earth_topography.filename;","compact":"Field: FieldSource.filename - required data filename","search_text":"field:FieldSource.filename filename FieldSource.filename field required data filename <FieldSource>.filename -> Text"},{"id":"field:FieldSource.description","name":"description","path":"FieldSource.description","kind":"field","aliases":[],"description":"source description","syntax":["<FieldSource>.description -> Text"],"examples":["# Read the description field from a FieldSource value\nprint earth_topography.description;"],"arguments":[],"children":[],"resources":[],"doc":"Field: FieldSource.description - source description\nSyntax:\n  <FieldSource>.description -> Text\nExample:\n# Read the description field from a FieldSource value\n   print earth_topography.description;","compact":"Field: FieldSource.description - source description","search_text":"field:FieldSource.description description FieldSource.description field source description <FieldSource>.description -> Text"},{"id":"field:FieldSource.body","name":"body","path":"FieldSource.body","kind":"field","aliases":[],"description":"body this source describes","syntax":["<FieldSource>.body -> Text"],"examples":["# Read the body field from a FieldSource value\nprint earth_topography.body;"],"arguments":[],"children":[],"resources":[],"doc":"Field: FieldSource.body - body this source describes\nSyntax:\n  <FieldSource>.body -> Text\nExample:\n# Read the body field from a FieldSource value\n   print earth_topography.body;","compact":"Field: FieldSource.body - body this source describes","search_text":"field:FieldSource.body body FieldSource.body field body this source describes <FieldSource>.body -> Text"},{"id":"field:FieldSource.variable","name":"variable","path":"FieldSource.variable","kind":"field","aliases":[],"description":"default NetCDF variable name","syntax":["<FieldSource>.variable -> Text"],"examples":["# Read the variable field from a FieldSource value\nprint earth_topography.variable;"],"arguments":[],"children":[],"resources":[],"doc":"Field: FieldSource.variable - default NetCDF variable name\nSyntax:\n  <FieldSource>.variable -> Text\nExample:\n# Read the variable field from a FieldSource value\n   print earth_topography.variable;","compact":"Field: FieldSource.variable - default NetCDF variable name","search_text":"field:FieldSource.variable variable FieldSource.variable field default NetCDF variable name <FieldSource>.variable -> Text"},{"id":"field:FieldSource.lat","name":"lat","path":"FieldSource.lat","kind":"field","aliases":[],"description":"default latitude variable name","syntax":["<FieldSource>.lat -> Text|Nil"],"examples":["# Read the lat field from a FieldSource value\nprint earth_topography.lat;"],"arguments":[],"children":[],"resources":[],"doc":"Field: FieldSource.lat - default latitude variable name\nSyntax:\n  <FieldSource>.lat -> Text|Nil\nExample:\n# Read the lat field from a FieldSource value\n   print earth_topography.lat;","compact":"Field: FieldSource.lat - default latitude variable name","search_text":"field:FieldSource.lat lat FieldSource.lat field default latitude variable name <FieldSource>.lat -> Text|Nil"},{"id":"field:FieldSource.lon","name":"lon","path":"FieldSource.lon","kind":"field","aliases":[],"description":"default longitude variable name","syntax":["<FieldSource>.lon -> Text|Nil"],"examples":["# Read the lon field from a FieldSource value\nprint earth_topography.lon;"],"arguments":[],"children":[],"resources":[],"doc":"Field: FieldSource.lon - default longitude variable name\nSyntax:\n  <FieldSource>.lon -> Text|Nil\nExample:\n# Read the lon field from a FieldSource value\n   print earth_topography.lon;","compact":"Field: FieldSource.lon - default longitude variable name","search_text":"field:FieldSource.lon lon FieldSource.lon field default longitude variable name <FieldSource>.lon -> Text|Nil"},{"id":"member:FieldSource.children","name":"children","path":"FieldSource.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<FieldSource>.children() -> List"],"examples":["# Use FieldSource.children on a FieldSource value\nlet value = earth_topography;\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: FieldSource.children - lists child fields and callable members available on this value\nSyntax:\n  <FieldSource>.children() -> List\nExample:\n# Use FieldSource.children on a FieldSource value\n   let value = earth_topography;\n   print value.children();","compact":"Method: FieldSource.children - lists child fields and callable members available on this value","search_text":"member:FieldSource.children children FieldSource.children method lists child fields and callable members available on this value <FieldSource>.children() -> List"},{"id":"member:FieldSource.fields","name":"fields","path":"FieldSource.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<FieldSource>.fields() -> Object"],"examples":["# Use FieldSource.fields on a FieldSource value\nlet value = earth_topography;\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: FieldSource.fields - returns an object containing the value's plain fields\nSyntax:\n  <FieldSource>.fields() -> Object\nExample:\n# Use FieldSource.fields on a FieldSource value\n   let value = earth_topography;\n   print value.fields();","compact":"Method: FieldSource.fields - returns an object containing the value's plain fields","search_text":"member:FieldSource.fields fields FieldSource.fields method returns an object containing the value's plain fields <FieldSource>.fields() -> Object"},{"id":"member:FieldSource.functions","name":"functions","path":"FieldSource.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<FieldSource>.functions() -> List"],"examples":["# Use FieldSource.functions on a FieldSource value\nlet value = earth_topography;\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: FieldSource.functions - lists callable members available on this value\nSyntax:\n  <FieldSource>.functions() -> List\nExample:\n# Use FieldSource.functions on a FieldSource value\n   let value = earth_topography;\n   print value.functions();","compact":"Method: FieldSource.functions - lists callable members available on this value","search_text":"member:FieldSource.functions functions FieldSource.functions method lists callable members available on this value <FieldSource>.functions() -> List"},{"id":"type:NetCDF","name":"NetCDF","path":"NetCDF","kind":"type","aliases":[],"description":"opened NetCDF dataset metadata","syntax":["netcdf(source: FieldSource) -> NetCDF"],"examples":["# Inspect the NetCDF source behind Earth topography\nlet nc = netcdf(earth_topography);\nprint nc.path, nc.variables.length();"],"arguments":[{"name":"source","type":"FieldSource","required":true,"description":"approved field source constant such as earth_topography or moon_topography"}],"children":["field:NetCDF.source","field:NetCDF.path","field:NetCDF.dimensions","field:NetCDF.variables","member:NetCDF.variable","member:NetCDF.children","member:NetCDF.fields","member:NetCDF.functions"],"resources":[],"doc":"Type: NetCDF - opened NetCDF dataset metadata\nSyntax:\n  netcdf(source: FieldSource) -> NetCDF\nArguments:\n  source: FieldSource - approved field source constant such as earth_topography or moon_topography\nChildren: source, path, dimensions, variables, variable(), children(), fields(), functions()\nExample:\n# Inspect the NetCDF source behind Earth topography\n   let nc = netcdf(earth_topography);\n   print nc.path, nc.variables.length();","compact":"Type: NetCDF - opened NetCDF dataset metadata","search_text":"type:NetCDF NetCDF NetCDF type opened NetCDF dataset metadata netcdf(source: FieldSource) -> NetCDF source FieldSource approved field source constant such as earth_topography or moon_topography"},{"id":"field:NetCDF.source","name":"source","path":"NetCDF.source","kind":"field","aliases":[],"description":"field source used to open the dataset","syntax":["<NetCDF>.source -> FieldSource"],"examples":["# Read the source field from a NetCDF value\nprint netcdf(earth_topography).source;"],"arguments":[],"children":[],"resources":[],"doc":"Field: NetCDF.source - field source used to open the dataset\nSyntax:\n  <NetCDF>.source -> FieldSource\nExample:\n# Read the source field from a NetCDF value\n   print netcdf(earth_topography).source;","compact":"Field: NetCDF.source - field source used to open the dataset","search_text":"field:NetCDF.source source NetCDF.source field field source used to open the dataset <NetCDF>.source -> FieldSource"},{"id":"field:NetCDF.path","name":"path","path":"NetCDF.path","kind":"field","aliases":[],"description":"opened NetCDF file path","syntax":["<NetCDF>.path -> Text"],"examples":["# Read the path field from a NetCDF value\nprint netcdf(earth_topography).path;"],"arguments":[],"children":[],"resources":[],"doc":"Field: NetCDF.path - opened NetCDF file path\nSyntax:\n  <NetCDF>.path -> Text\nExample:\n# Read the path field from a NetCDF value\n   print netcdf(earth_topography).path;","compact":"Field: NetCDF.path - opened NetCDF file path","search_text":"field:NetCDF.path path NetCDF.path field opened NetCDF file path <NetCDF>.path -> Text"},{"id":"field:NetCDF.dimensions","name":"dimensions","path":"NetCDF.dimensions","kind":"field","aliases":[],"description":"NetCDF dimensions","syntax":["<NetCDF>.dimensions -> List"],"examples":["# Read the dimensions field from a NetCDF value\nprint netcdf(earth_topography).dimensions;"],"arguments":[],"children":[],"resources":[],"doc":"Field: NetCDF.dimensions - NetCDF dimensions\nSyntax:\n  <NetCDF>.dimensions -> List\nExample:\n# Read the dimensions field from a NetCDF value\n   print netcdf(earth_topography).dimensions;","compact":"Field: NetCDF.dimensions - NetCDF dimensions","search_text":"field:NetCDF.dimensions dimensions NetCDF.dimensions field NetCDF dimensions <NetCDF>.dimensions -> List"},{"id":"field:NetCDF.variables","name":"variables","path":"NetCDF.variables","kind":"field","aliases":[],"description":"NetCDF variables","syntax":["<NetCDF>.variables -> List"],"examples":["# Read the variables field from a NetCDF value\nprint netcdf(earth_topography).variables;"],"arguments":[],"children":[],"resources":[],"doc":"Field: NetCDF.variables - NetCDF variables\nSyntax:\n  <NetCDF>.variables -> List\nExample:\n# Read the variables field from a NetCDF value\n   print netcdf(earth_topography).variables;","compact":"Field: NetCDF.variables - NetCDF variables","search_text":"field:NetCDF.variables variables NetCDF.variables field NetCDF variables <NetCDF>.variables -> List"},{"id":"member:NetCDF.variable","name":"variable","path":"NetCDF.variable","kind":"method","aliases":[],"description":"returns metadata for one NetCDF variable","syntax":["<NetCDF>.variable() -> Object"],"examples":["# Inspect a named NetCDF variable\nlet nc = netcdf(earth_topography);\nprint nc.variable(\"z\");"],"arguments":[],"children":[],"resources":[],"doc":"Method: NetCDF.variable - returns metadata for one NetCDF variable\nSyntax:\n  <NetCDF>.variable() -> Object\nExample:\n# Inspect a named NetCDF variable\n   let nc = netcdf(earth_topography);\n   print nc.variable(\"z\");","compact":"Method: NetCDF.variable - returns metadata for one NetCDF variable","search_text":"member:NetCDF.variable variable NetCDF.variable method returns metadata for one NetCDF variable <NetCDF>.variable() -> Object"},{"id":"member:NetCDF.children","name":"children","path":"NetCDF.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<NetCDF>.children() -> List"],"examples":["# Use NetCDF.children on a NetCDF value\nlet value = netcdf(earth_topography);\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: NetCDF.children - lists child fields and callable members available on this value\nSyntax:\n  <NetCDF>.children() -> List\nExample:\n# Use NetCDF.children on a NetCDF value\n   let value = netcdf(earth_topography);\n   print value.children();","compact":"Method: NetCDF.children - lists child fields and callable members available on this value","search_text":"member:NetCDF.children children NetCDF.children method lists child fields and callable members available on this value <NetCDF>.children() -> List"},{"id":"member:NetCDF.fields","name":"fields","path":"NetCDF.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<NetCDF>.fields() -> Object"],"examples":["# Use NetCDF.fields on a NetCDF value\nlet value = netcdf(earth_topography);\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: NetCDF.fields - returns an object containing the value's plain fields\nSyntax:\n  <NetCDF>.fields() -> Object\nExample:\n# Use NetCDF.fields on a NetCDF value\n   let value = netcdf(earth_topography);\n   print value.fields();","compact":"Method: NetCDF.fields - returns an object containing the value's plain fields","search_text":"member:NetCDF.fields fields NetCDF.fields method returns an object containing the value's plain fields <NetCDF>.fields() -> Object"},{"id":"member:NetCDF.functions","name":"functions","path":"NetCDF.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<NetCDF>.functions() -> List"],"examples":["# Use NetCDF.functions on a NetCDF value\nlet value = netcdf(earth_topography);\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: NetCDF.functions - lists callable members available on this value\nSyntax:\n  <NetCDF>.functions() -> List\nExample:\n# Use NetCDF.functions on a NetCDF value\n   let value = netcdf(earth_topography);\n   print value.functions();","compact":"Method: NetCDF.functions - lists callable members available on this value","search_text":"member:NetCDF.functions functions NetCDF.functions method lists callable members available on this value <NetCDF>.functions() -> List"},{"id":"type:Field","name":"Field","path":"Field","kind":"type","aliases":[],"description":"sampleable global scalar field","syntax":["field(source: FieldSource|NetCDF, variable: Text, body: Text|Body, lat: Text, lon: Text, indices: Object) -> Field"],"examples":["# Inspect a terrain field before sampling it\nlet terrain = topography(earth);\nprint terrain.source.name, terrain.variable, terrain.body;"],"arguments":[{"name":"source","type":"FieldSource|NetCDF","required":true,"description":"approved field source constant or opened NetCDF dataset"},{"name":"variable","type":"Text","required":false,"description":"variable containing the scalar field; defaults from the source constant"},{"name":"body","type":"Text|Body","required":false,"description":"body this field is attached to"},{"name":"lat","type":"Text","required":false,"description":"latitude coordinate variable name"},{"name":"lon","type":"Text","required":false,"description":"longitude coordinate variable name"},{"name":"indices","type":"Object","required":false,"description":"fixed indices for non-lat/lon dimensions"}],"children":["field:Field.source","field:Field.path","field:Field.variable","field:Field.body","field:Field.lat","field:Field.lon","field:Field.dimensions","field:Field.indices","member:Field.sample","member:Field.children","member:Field.fields","member:Field.functions"],"resources":[],"doc":"Type: Field - sampleable global scalar field\nSyntax:\n  field(source: FieldSource|NetCDF, variable: Text, body: Text|Body, lat: Text, lon: Text, indices: Object) -> Field\nArguments:\n  source: FieldSource|NetCDF - approved field source constant or opened NetCDF dataset\n  variable: Text [optional] - variable containing the scalar field; defaults from the source constant\n  body: Text|Body [optional] - body this field is attached to\n  lat: Text [optional] - latitude coordinate variable name\n  lon: Text [optional] - longitude coordinate variable name\n  indices: Object [optional] - fixed indices for non-lat/lon dimensions\nChildren: source, path, variable, body, lat, lon, dimensions, indices, sample(), children(), fields(), functions()\nExample:\n# Inspect a terrain field before sampling it\n   let terrain = topography(earth);\n   print terrain.source.name, terrain.variable, terrain.body;","compact":"Type: Field - sampleable global scalar field","search_text":"type:Field Field Field type sampleable global scalar field field(source: FieldSource|NetCDF, variable: Text, body: Text|Body, lat: Text, lon: Text, indices: Object) -> Field source FieldSource|NetCDF approved field source constant or opened NetCDF dataset variable Text variable containing the scalar field; defaults from the source constant body Text|Body body this field is attached to lat Text latitude coordinate variable name lon Text longitude coordinate variable name indices Object fixed indices for non-lat/lon dimensions"},{"id":"field:Field.source","name":"source","path":"Field.source","kind":"field","aliases":[],"description":"field source used to open this field","syntax":["<Field>.source -> FieldSource"],"examples":["# Read the source field from a Field value\nprint topography(earth).source;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Field.source - field source used to open this field\nSyntax:\n  <Field>.source -> FieldSource\nExample:\n# Read the source field from a Field value\n   print topography(earth).source;","compact":"Field: Field.source - field source used to open this field","search_text":"field:Field.source source Field.source field field source used to open this field <Field>.source -> FieldSource"},{"id":"field:Field.path","name":"path","path":"Field.path","kind":"field","aliases":[],"description":"NetCDF file path","syntax":["<Field>.path -> Text"],"examples":["# Read the path field from a Field value\nprint topography(earth).path;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Field.path - NetCDF file path\nSyntax:\n  <Field>.path -> Text\nExample:\n# Read the path field from a Field value\n   print topography(earth).path;","compact":"Field: Field.path - NetCDF file path","search_text":"field:Field.path path Field.path field NetCDF file path <Field>.path -> Text"},{"id":"field:Field.variable","name":"variable","path":"Field.variable","kind":"field","aliases":[],"description":"sampled NetCDF variable name","syntax":["<Field>.variable -> Text"],"examples":["# Read the variable field from a Field value\nprint topography(earth).variable;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Field.variable - sampled NetCDF variable name\nSyntax:\n  <Field>.variable -> Text\nExample:\n# Read the variable field from a Field value\n   print topography(earth).variable;","compact":"Field: Field.variable - sampled NetCDF variable name","search_text":"field:Field.variable variable Field.variable field sampled NetCDF variable name <Field>.variable -> Text"},{"id":"field:Field.body","name":"body","path":"Field.body","kind":"field","aliases":[],"description":"body this field is attached to","syntax":["<Field>.body -> Text"],"examples":["# Read the body field from a Field value\nprint topography(earth).body;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Field.body - body this field is attached to\nSyntax:\n  <Field>.body -> Text\nExample:\n# Read the body field from a Field value\n   print topography(earth).body;","compact":"Field: Field.body - body this field is attached to","search_text":"field:Field.body body Field.body field body this field is attached to <Field>.body -> Text"},{"id":"field:Field.lat","name":"lat","path":"Field.lat","kind":"field","aliases":[],"description":"latitude coordinate variable name","syntax":["<Field>.lat -> Text"],"examples":["# Read the lat field from a Field value\nprint topography(earth).lat;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Field.lat - latitude coordinate variable name\nSyntax:\n  <Field>.lat -> Text\nExample:\n# Read the lat field from a Field value\n   print topography(earth).lat;","compact":"Field: Field.lat - latitude coordinate variable name","search_text":"field:Field.lat lat Field.lat field latitude coordinate variable name <Field>.lat -> Text"},{"id":"field:Field.lon","name":"lon","path":"Field.lon","kind":"field","aliases":[],"description":"longitude coordinate variable name","syntax":["<Field>.lon -> Text"],"examples":["# Read the lon field from a Field value\nprint topography(earth).lon;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Field.lon - longitude coordinate variable name\nSyntax:\n  <Field>.lon -> Text\nExample:\n# Read the lon field from a Field value\n   print topography(earth).lon;","compact":"Field: Field.lon - longitude coordinate variable name","search_text":"field:Field.lon lon Field.lon field longitude coordinate variable name <Field>.lon -> Text"},{"id":"field:Field.dimensions","name":"dimensions","path":"Field.dimensions","kind":"field","aliases":[],"description":"field dimensions and fixed indices","syntax":["<Field>.dimensions -> List"],"examples":["# Read the dimensions field from a Field value\nprint topography(earth).dimensions;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Field.dimensions - field dimensions and fixed indices\nSyntax:\n  <Field>.dimensions -> List\nExample:\n# Read the dimensions field from a Field value\n   print topography(earth).dimensions;","compact":"Field: Field.dimensions - field dimensions and fixed indices","search_text":"field:Field.dimensions dimensions Field.dimensions field field dimensions and fixed indices <Field>.dimensions -> List"},{"id":"field:Field.indices","name":"indices","path":"Field.indices","kind":"field","aliases":[],"description":"fixed non-lat/lon dimension indices","syntax":["<Field>.indices -> Object"],"examples":["# Read the indices field from a Field value\nprint topography(earth).indices;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Field.indices - fixed non-lat/lon dimension indices\nSyntax:\n  <Field>.indices -> Object\nExample:\n# Read the indices field from a Field value\n   print topography(earth).indices;","compact":"Field: Field.indices - fixed non-lat/lon dimension indices","search_text":"field:Field.indices indices Field.indices field fixed non-lat/lon dimension indices <Field>.indices -> Object"},{"id":"member:Field.sample","name":"sample","path":"Field.sample","kind":"method","aliases":[],"description":"samples this field at a latitude/longitude location","syntax":["<Field>.sample(location: Location) -> Number|Nil"],"examples":["# Use Field.sample on a Field value\nlet value = topography(earth);\nprint value.sample(location(latitude: 60.0, longitude: 270.0));"],"arguments":[{"name":"location","type":"Location","required":true,"description":"latitude/longitude location to sample"}],"children":[],"resources":[],"doc":"Method: Field.sample - samples this field at a latitude/longitude location\nSyntax:\n  <Field>.sample(location: Location) -> Number|Nil\nArguments:\n  location: Location - latitude/longitude location to sample\nExample:\n# Use Field.sample on a Field value\n   let value = topography(earth);\n   print value.sample(location(latitude: 60.0, longitude: 270.0));","compact":"Method: Field.sample - samples this field at a latitude/longitude location","search_text":"member:Field.sample sample Field.sample method samples this field at a latitude/longitude location <Field>.sample(location: Location) -> Number|Nil location Location latitude/longitude location to sample"},{"id":"member:Field.children","name":"children","path":"Field.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Field>.children() -> List"],"examples":["# Use Field.children on a Field value\nlet value = topography(earth);\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Field.children - lists child fields and callable members available on this value\nSyntax:\n  <Field>.children() -> List\nExample:\n# Use Field.children on a Field value\n   let value = topography(earth);\n   print value.children();","compact":"Method: Field.children - lists child fields and callable members available on this value","search_text":"member:Field.children children Field.children method lists child fields and callable members available on this value <Field>.children() -> List"},{"id":"member:Field.fields","name":"fields","path":"Field.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Field>.fields() -> Object"],"examples":["# Use Field.fields on a Field value\nlet value = topography(earth);\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Field.fields - returns an object containing the value's plain fields\nSyntax:\n  <Field>.fields() -> Object\nExample:\n# Use Field.fields on a Field value\n   let value = topography(earth);\n   print value.fields();","compact":"Method: Field.fields - returns an object containing the value's plain fields","search_text":"member:Field.fields fields Field.fields method returns an object containing the value's plain fields <Field>.fields() -> Object"},{"id":"member:Field.functions","name":"functions","path":"Field.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Field>.functions() -> List"],"examples":["# Use Field.functions on a Field value\nlet value = topography(earth);\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Field.functions - lists callable members available on this value\nSyntax:\n  <Field>.functions() -> List\nExample:\n# Use Field.functions on a Field value\n   let value = topography(earth);\n   print value.functions();","compact":"Method: Field.functions - lists callable members available on this value","search_text":"member:Field.functions functions Field.functions method lists callable members available on this value <Field>.functions() -> List"},{"id":"type:Magnetic","name":"Magnetic","path":"Magnetic","kind":"type","aliases":[],"description":"body-scoped magnetic field model","syntax":["magnetic(body: Body, time: Time, observer: Observer) -> Magnetic"],"examples":["# Sample the magnetic field vector at an observer\nlet obs = location(60.0, 10.0).observer(0.002);\nlet model = magnetic(earth, time(2026,1,1,0,0,0), obs);\nprint model.field();"],"arguments":[{"name":"body","type":"Body","required":false,"description":"body to model; Earth uses WMMHR, other bodies use crude dipoles"},{"name":"time","type":"Time","required":false,"description":"default sample time"},{"name":"observer","type":"Observer","required":false,"description":"default observer location"}],"children":["field:Magnetic.body","field:Magnetic.time","field:Magnetic.observer","member:Magnetic.field","member:Magnetic.children","member:Magnetic.fields","member:Magnetic.functions"],"resources":[],"doc":"Type: Magnetic - body-scoped magnetic field model\nSyntax:\n  magnetic(body: Body, time: Time, observer: Observer) -> Magnetic\nArguments:\n  body: Body [optional] - body to model; Earth uses WMMHR, other bodies use crude dipoles\n  time: Time [optional] - default sample time\n  observer: Observer [optional] - default observer location\nChildren: body, time, observer, field(), children(), fields(), functions()\nExample:\n# Sample the magnetic field vector at an observer\n   let obs = location(60.0, 10.0).observer(0.002);\n   let model = magnetic(earth, time(2026,1,1,0,0,0), obs);\n   print model.field();","compact":"Type: Magnetic - body-scoped magnetic field model","search_text":"type:Magnetic Magnetic Magnetic type body-scoped magnetic field model magnetic(body: Body, time: Time, observer: Observer) -> Magnetic body Body body to model; Earth uses WMMHR, other bodies use crude dipoles time Time default sample time observer Observer default observer location"},{"id":"field:Magnetic.body","name":"body","path":"Magnetic.body","kind":"field","aliases":[],"description":"body whose magnetic model is selected","syntax":["<Magnetic>.body -> Body"],"examples":["# Read the body field from a Magnetic value\nprint magnetic(earth, time(2026,1,1,0,0,0), location(latitude:60,longitude:10).observer(0.002)).body;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Magnetic.body - body whose magnetic model is selected\nSyntax:\n  <Magnetic>.body -> Body\nExample:\n# Read the body field from a Magnetic value\n   print magnetic(earth, time(2026,1,1,0,0,0), location(latitude:60,longitude:10).observer(0.002)).body;","compact":"Field: Magnetic.body - body whose magnetic model is selected","search_text":"field:Magnetic.body body Magnetic.body field body whose magnetic model is selected <Magnetic>.body -> Body"},{"id":"field:Magnetic.time","name":"time","path":"Magnetic.time","kind":"field","aliases":[],"description":"default sample time","syntax":["<Magnetic>.time -> Time"],"examples":["# Read the time field from a Magnetic value\nprint magnetic(earth, time(2026,1,1,0,0,0), location(latitude:60,longitude:10).observer(0.002)).time;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Magnetic.time - default sample time\nSyntax:\n  <Magnetic>.time -> Time\nExample:\n# Read the time field from a Magnetic value\n   print magnetic(earth, time(2026,1,1,0,0,0), location(latitude:60,longitude:10).observer(0.002)).time;","compact":"Field: Magnetic.time - default sample time","search_text":"field:Magnetic.time time Magnetic.time field default sample time <Magnetic>.time -> Time"},{"id":"field:Magnetic.observer","name":"observer","path":"Magnetic.observer","kind":"field","aliases":[],"description":"default observer location","syntax":["<Magnetic>.observer -> Observer"],"examples":["# Read the observer field from a Magnetic value\nprint magnetic(earth, time(2026,1,1,0,0,0), location(latitude:60,longitude:10).observer(0.002)).observer;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Magnetic.observer - default observer location\nSyntax:\n  <Magnetic>.observer -> Observer\nExample:\n# Read the observer field from a Magnetic value\n   print magnetic(earth, time(2026,1,1,0,0,0), location(latitude:60,longitude:10).observer(0.002)).observer;","compact":"Field: Magnetic.observer - default observer location","search_text":"field:Magnetic.observer observer Magnetic.observer field default observer location <Magnetic>.observer -> Observer"},{"id":"member:Magnetic.field","name":"field","path":"Magnetic.field","kind":"method","aliases":[],"description":"samples the magnetic field at an observer and time","syntax":["<Magnetic>.field(time: Time, observer: Observer) -> Object"],"examples":["# Sample a magnetic field model at its configured observer\nlet model = magnetic(earth, time(2026,1,1,0,0,0), location(latitude:60,longitude:10).observer(0.002));\nprint model.field();"],"arguments":[{"name":"time","type":"Time","required":false,"description":"sample time; defaults to the constructor time or current UTC"},{"name":"observer","type":"Observer","required":false,"description":"observer location; defaults to the constructor observer"}],"children":[],"resources":[],"doc":"Method: Magnetic.field - samples the magnetic field at an observer and time\nSyntax:\n  <Magnetic>.field(time: Time, observer: Observer) -> Object\nArguments:\n  time: Time [optional] - sample time; defaults to the constructor time or current UTC\n  observer: Observer [optional] - observer location; defaults to the constructor observer\nExample:\n# Sample a magnetic field model at its configured observer\n   let model = magnetic(earth, time(2026,1,1,0,0,0), location(latitude:60,longitude:10).observer(0.002));\n   print model.field();","compact":"Method: Magnetic.field - samples the magnetic field at an observer and time","search_text":"member:Magnetic.field field Magnetic.field method samples the magnetic field at an observer and time <Magnetic>.field(time: Time, observer: Observer) -> Object time Time sample time; defaults to the constructor time or current UTC observer Observer observer location; defaults to the constructor observer"},{"id":"member:Magnetic.children","name":"children","path":"Magnetic.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Magnetic>.children() -> List"],"examples":["# List child help topics for a configured magnetic field model\nlet model = magnetic(earth, time(2026,1,1,0,0,0), location(latitude:60,longitude:10).observer(0.002));\nprint model.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Magnetic.children - lists child fields and callable members available on this value\nSyntax:\n  <Magnetic>.children() -> List\nExample:\n# List child help topics for a configured magnetic field model\n   let model = magnetic(earth, time(2026,1,1,0,0,0), location(latitude:60,longitude:10).observer(0.002));\n   print model.children();","compact":"Method: Magnetic.children - lists child fields and callable members available on this value","search_text":"member:Magnetic.children children Magnetic.children method lists child fields and callable members available on this value <Magnetic>.children() -> List"},{"id":"member:Magnetic.fields","name":"fields","path":"Magnetic.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Magnetic>.fields() -> Object"],"examples":["# List fields exposed by a configured magnetic field model\nlet model = magnetic(earth, time(2026,1,1,0,0,0), location(latitude:60,longitude:10).observer(0.002));\nprint model.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Magnetic.fields - returns an object containing the value's plain fields\nSyntax:\n  <Magnetic>.fields() -> Object\nExample:\n# List fields exposed by a configured magnetic field model\n   let model = magnetic(earth, time(2026,1,1,0,0,0), location(latitude:60,longitude:10).observer(0.002));\n   print model.fields();","compact":"Method: Magnetic.fields - returns an object containing the value's plain fields","search_text":"member:Magnetic.fields fields Magnetic.fields method returns an object containing the value's plain fields <Magnetic>.fields() -> Object"},{"id":"member:Magnetic.functions","name":"functions","path":"Magnetic.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Magnetic>.functions() -> List"],"examples":["# List functions exposed by a configured magnetic field model\nlet model = magnetic(earth, time(2026,1,1,0,0,0), location(latitude:60,longitude:10).observer(0.002));\nprint model.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Magnetic.functions - lists callable members available on this value\nSyntax:\n  <Magnetic>.functions() -> List\nExample:\n# List functions exposed by a configured magnetic field model\n   let model = magnetic(earth, time(2026,1,1,0,0,0), location(latitude:60,longitude:10).observer(0.002));\n   print model.functions();","compact":"Method: Magnetic.functions - lists callable members available on this value","search_text":"member:Magnetic.functions functions Magnetic.functions method lists callable members available on this value <Magnetic>.functions() -> List"},{"id":"type:Pages","name":"Pages","path":"Pages","kind":"type","aliases":[],"description":"curated data-page builder with optional default body, time, and observer","syntax":["pages(body: Body, time: Time, observer: Location|Observer) -> Pages"],"examples":["# Build a local sky page and print useful Sun and Moon values\nlet page = pages(location(60.0, 10.0), time(2026,1,1,0,0,0)).sky();\nprint page.sun.altitude, page.moon.phase;"],"arguments":[{"name":"body","type":"Body","required":false,"description":"default body for body-oriented pages"},{"name":"time","type":"Time","required":false,"description":"default time for page methods"},{"name":"observer","type":"Location|Observer","required":false,"description":"default observer or surface location for local pages"}],"children":["field:Pages.body","field:Pages.time","field:Pages.observer","member:Pages.sky","member:Pages.chart","member:Pages.summary","member:Pages.sun","member:Pages.moon","member:Pages.almanac","member:Pages.short","member:Pages.small","member:Pages.state","member:Pages.states","member:Pages.table","member:Pages.children","member:Pages.fields","member:Pages.functions"],"resources":[],"doc":"Type: Pages - curated data-page builder with optional default body, time, and observer\nSyntax:\n  pages(body: Body, time: Time, observer: Location|Observer) -> Pages\nArguments:\n  body: Body [optional] - default body for body-oriented pages\n  time: Time [optional] - default time for page methods\n  observer: Location|Observer [optional] - default observer or surface location for local pages\nChildren: body, time, observer, sky(), chart(), summary(), sun(), moon(), almanac(), short(), small(), state(), states(), table(), children(), fields(), functions()\nExample:\n# Build a local sky page and print useful Sun and Moon values\n   let page = pages(location(60.0, 10.0), time(2026,1,1,0,0,0)).sky();\n   print page.sun.altitude, page.moon.phase;","compact":"Type: Pages - curated data-page builder with optional default body, time, and observer","search_text":"type:Pages Pages Pages type curated data-page builder with optional default body, time, and observer pages(body: Body, time: Time, observer: Location|Observer) -> Pages body Body default body for body-oriented pages time Time default time for page methods observer Location|Observer default observer or surface location for local pages"},{"id":"field:Pages.body","name":"body","path":"Pages.body","kind":"field","aliases":[],"description":"default body for body-oriented page methods","syntax":["<Pages>.body -> Body|Nil"],"examples":["# Read the body field from a Pages value\nprint pages(location(60.0, 10.0), moon).body;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Pages.body - default body for body-oriented page methods\nSyntax:\n  <Pages>.body -> Body|Nil\nExample:\n# Read the body field from a Pages value\n   print pages(location(60.0, 10.0), moon).body;","compact":"Field: Pages.body - default body for body-oriented page methods","search_text":"field:Pages.body body Pages.body field default body for body-oriented page methods <Pages>.body -> Body|Nil"},{"id":"field:Pages.time","name":"time","path":"Pages.time","kind":"field","aliases":[],"description":"default time for page methods","syntax":["<Pages>.time -> Time|Nil"],"examples":["# Read the time field from a Pages value\nprint pages(location(60.0, 10.0), moon).time;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Pages.time - default time for page methods\nSyntax:\n  <Pages>.time -> Time|Nil\nExample:\n# Read the time field from a Pages value\n   print pages(location(60.0, 10.0), moon).time;","compact":"Field: Pages.time - default time for page methods","search_text":"field:Pages.time time Pages.time field default time for page methods <Pages>.time -> Time|Nil"},{"id":"field:Pages.observer","name":"observer","path":"Pages.observer","kind":"field","aliases":[],"description":"default local observer for page methods","syntax":["<Pages>.observer -> Observer|Nil"],"examples":["# Read the observer stored in a local pages value\nlet obs = location(60.0, 10.0).observer(0.002);\nlet page = pages(obs, moon);\nprint page.observer;"],"arguments":[],"children":[],"resources":[],"doc":"Field: Pages.observer - default local observer for page methods\nSyntax:\n  <Pages>.observer -> Observer|Nil\nExample:\n# Read the observer stored in a local pages value\n   let obs = location(60.0, 10.0).observer(0.002);\n   let page = pages(obs, moon);\n   print page.observer;","compact":"Field: Pages.observer - default local observer for page methods","search_text":"field:Pages.observer observer Pages.observer field default local observer for page methods <Pages>.observer -> Observer|Nil"},{"id":"member:Pages.sky","name":"sky","path":"Pages.sky","kind":"method","aliases":[],"description":"returns local Sun, Moon, planet, twilight, and next-event sky data","syntax":["<Pages>.sky(time: Time, observer: Location|Observer) -> Object"],"examples":["# Use Pages.sky on a Pages value\nlet value = pages(location(60.0, 10.0), moon);\nprint value.sky();"],"arguments":[{"name":"time","type":"Time","required":false,"description":"page time; defaults to pages(...) time or current UTC"},{"name":"observer","type":"Location|Observer","required":false,"description":"local observer; defaults to pages(...) observer when present"}],"children":[],"resources":[],"doc":"Method: Pages.sky - returns local Sun, Moon, planet, twilight, and next-event sky data\nSyntax:\n  <Pages>.sky(time: Time, observer: Location|Observer) -> Object\nArguments:\n  time: Time [optional] - page time; defaults to pages(...) time or current UTC\n  observer: Location|Observer [optional] - local observer; defaults to pages(...) observer when present\nExample:\n# Use Pages.sky on a Pages value\n   let value = pages(location(60.0, 10.0), moon);\n   print value.sky();","compact":"Method: Pages.sky - returns local Sun, Moon, planet, twilight, and next-event sky data","search_text":"member:Pages.sky sky Pages.sky method returns local Sun, Moon, planet, twilight, and next-event sky data <Pages>.sky(time: Time, observer: Location|Observer) -> Object time Time page time; defaults to pages(...) time or current UTC observer Location|Observer local observer; defaults to pages(...) observer when present"},{"id":"member:Pages.chart","name":"chart","path":"Pages.chart","kind":"method","aliases":[],"description":"returns apparent geocentric ecliptic body positions for a chart time","syntax":["<Pages>.chart(time: Time, observer: Location|Observer) -> Object"],"examples":["# Build apparent geocentric chart positions for an explicit time\nlet t = time(2026,1,1,0,0,0);\nlet chart = pages(t).chart();\nprint chart.bodies.sun.geocentric.longitude, chart.bodies.moon.chart.sign;"],"arguments":[{"name":"time","type":"Time","required":false,"description":"page time; defaults to pages(...) time or current UTC"},{"name":"observer","type":"Location|Observer","required":false,"description":"local observer; defaults to pages(...) observer when present"}],"children":[],"resources":[],"doc":"Method: Pages.chart - returns apparent geocentric ecliptic body positions for a chart time\nSyntax:\n  <Pages>.chart(time: Time, observer: Location|Observer) -> Object\nArguments:\n  time: Time [optional] - page time; defaults to pages(...) time or current UTC\n  observer: Location|Observer [optional] - local observer; defaults to pages(...) observer when present\nExample:\n# Build apparent geocentric chart positions for an explicit time\n   let t = time(2026,1,1,0,0,0);\n   let chart = pages(t).chart();\n   print chart.bodies.sun.geocentric.longitude, chart.bodies.moon.chart.sign;","compact":"Method: Pages.chart - returns apparent geocentric ecliptic body positions for a chart time","search_text":"member:Pages.chart chart Pages.chart method returns apparent geocentric ecliptic body positions for a chart time <Pages>.chart(time: Time, observer: Location|Observer) -> Object time Time page time; defaults to pages(...) time or current UTC observer Location|Observer local observer; defaults to pages(...) observer when present"},{"id":"member:Pages.summary","name":"summary","path":"Pages.summary","kind":"method","aliases":[],"description":"returns a compact useful data object for one body","syntax":["<Pages>.summary(body: Body, time: Time, observer: Location|Observer) -> Object"],"examples":["# Use Pages.summary on a Pages value\nlet value = pages(location(60.0, 10.0), moon);\nprint value.summary();"],"arguments":[{"name":"body","type":"Body","required":false,"description":"body to summarize; defaults to pages(...) body"},{"name":"time","type":"Time","required":false,"description":"summary time; defaults to pages(...) time or current UTC"},{"name":"observer","type":"Location|Observer","required":false,"description":"optional local observer; defaults to pages(...) observer"}],"children":[],"resources":[],"doc":"Method: Pages.summary - returns a compact useful data object for one body\nSyntax:\n  <Pages>.summary(body: Body, time: Time, observer: Location|Observer) -> Object\nArguments:\n  body: Body [optional] - body to summarize; defaults to pages(...) body\n  time: Time [optional] - summary time; defaults to pages(...) time or current UTC\n  observer: Location|Observer [optional] - optional local observer; defaults to pages(...) observer\nExample:\n# Use Pages.summary on a Pages value\n   let value = pages(location(60.0, 10.0), moon);\n   print value.summary();","compact":"Method: Pages.summary - returns a compact useful data object for one body","search_text":"member:Pages.summary summary Pages.summary method returns a compact useful data object for one body <Pages>.summary(body: Body, time: Time, observer: Location|Observer) -> Object body Body body to summarize; defaults to pages(...) body time Time summary time; defaults to pages(...) time or current UTC observer Location|Observer optional local observer; defaults to pages(...) observer"},{"id":"member:Pages.sun","name":"sun","path":"Pages.sun","kind":"method","aliases":[],"description":"returns a compact Sun data object","syntax":["<Pages>.sun(time: Time, observer: Location|Observer) -> Object"],"examples":["# Use Pages.sun on a Pages value\nlet value = pages(location(60.0, 10.0), moon);\nprint value.sun();"],"arguments":[{"name":"time","type":"Time","required":false,"description":"page time; defaults to pages(...) time or current UTC"},{"name":"observer","type":"Location|Observer","required":false,"description":"local observer; defaults to pages(...) observer when present"}],"children":[],"resources":[],"doc":"Method: Pages.sun - returns a compact Sun data object\nSyntax:\n  <Pages>.sun(time: Time, observer: Location|Observer) -> Object\nArguments:\n  time: Time [optional] - page time; defaults to pages(...) time or current UTC\n  observer: Location|Observer [optional] - local observer; defaults to pages(...) observer when present\nExample:\n# Use Pages.sun on a Pages value\n   let value = pages(location(60.0, 10.0), moon);\n   print value.sun();","compact":"Method: Pages.sun - returns a compact Sun data object","search_text":"member:Pages.sun sun Pages.sun method returns a compact Sun data object <Pages>.sun(time: Time, observer: Location|Observer) -> Object time Time page time; defaults to pages(...) time or current UTC observer Location|Observer local observer; defaults to pages(...) observer when present"},{"id":"member:Pages.moon","name":"moon","path":"Pages.moon","kind":"method","aliases":[],"description":"returns a compact Moon data object","syntax":["<Pages>.moon(time: Time, observer: Location|Observer) -> Object"],"examples":["# Use Pages.moon on a Pages value\nlet value = pages(location(60.0, 10.0), moon);\nprint value.moon();"],"arguments":[{"name":"time","type":"Time","required":false,"description":"page time; defaults to pages(...) time or current UTC"},{"name":"observer","type":"Location|Observer","required":false,"description":"local observer; defaults to pages(...) observer when present"}],"children":[],"resources":[],"doc":"Method: Pages.moon - returns a compact Moon data object\nSyntax:\n  <Pages>.moon(time: Time, observer: Location|Observer) -> Object\nArguments:\n  time: Time [optional] - page time; defaults to pages(...) time or current UTC\n  observer: Location|Observer [optional] - local observer; defaults to pages(...) observer when present\nExample:\n# Use Pages.moon on a Pages value\n   let value = pages(location(60.0, 10.0), moon);\n   print value.moon();","compact":"Method: Pages.moon - returns a compact Moon data object","search_text":"member:Pages.moon moon Pages.moon method returns a compact Moon data object <Pages>.moon(time: Time, observer: Location|Observer) -> Object time Time page time; defaults to pages(...) time or current UTC observer Location|Observer local observer; defaults to pages(...) observer when present"},{"id":"member:Pages.almanac","name":"almanac","path":"Pages.almanac","kind":"method","aliases":[],"description":"returns almanac event data using Pages defaults","syntax":["<Pages>.almanac(time: Time, observer: Location|Observer) -> Object"],"examples":["# Use Pages.almanac on a Pages value\nlet value = pages(location(60.0, 10.0), moon);\nprint value.almanac();"],"arguments":[{"name":"time","type":"Time","required":false,"description":"page time; defaults to pages(...) time or current UTC"},{"name":"observer","type":"Location|Observer","required":false,"description":"local observer; defaults to pages(...) observer when present"}],"children":[],"resources":[],"doc":"Method: Pages.almanac - returns almanac event data using Pages defaults\nSyntax:\n  <Pages>.almanac(time: Time, observer: Location|Observer) -> Object\nArguments:\n  time: Time [optional] - page time; defaults to pages(...) time or current UTC\n  observer: Location|Observer [optional] - local observer; defaults to pages(...) observer when present\nExample:\n# Use Pages.almanac on a Pages value\n   let value = pages(location(60.0, 10.0), moon);\n   print value.almanac();","compact":"Method: Pages.almanac - returns almanac event data using Pages defaults","search_text":"member:Pages.almanac almanac Pages.almanac method returns almanac event data using Pages defaults <Pages>.almanac(time: Time, observer: Location|Observer) -> Object time Time page time; defaults to pages(...) time or current UTC observer Location|Observer local observer; defaults to pages(...) observer when present"},{"id":"member:Pages.short","name":"short","path":"Pages.short","kind":"method","aliases":[],"description":"returns compact one-day local Sun and Moon data","syntax":["<Pages>.short(time: Time, observer: Location|Observer) -> Object"],"examples":["# Use Pages.short on a Pages value\nlet value = pages(location(60.0, 10.0), moon);\nprint value.short();"],"arguments":[{"name":"time","type":"Time","required":false,"description":"page time; defaults to pages(...) time or current UTC"},{"name":"observer","type":"Location|Observer","required":false,"description":"local observer; defaults to pages(...) observer when present"}],"children":[],"resources":[],"doc":"Method: Pages.short - returns compact one-day local Sun and Moon data\nSyntax:\n  <Pages>.short(time: Time, observer: Location|Observer) -> Object\nArguments:\n  time: Time [optional] - page time; defaults to pages(...) time or current UTC\n  observer: Location|Observer [optional] - local observer; defaults to pages(...) observer when present\nExample:\n# Use Pages.short on a Pages value\n   let value = pages(location(60.0, 10.0), moon);\n   print value.short();","compact":"Method: Pages.short - returns compact one-day local Sun and Moon data","search_text":"member:Pages.short short Pages.short method returns compact one-day local Sun and Moon data <Pages>.short(time: Time, observer: Location|Observer) -> Object time Time page time; defaults to pages(...) time or current UTC observer Location|Observer local observer; defaults to pages(...) observer when present"},{"id":"member:Pages.small","name":"small","path":"Pages.small","kind":"method","aliases":[],"description":"returns fuller one-day local sky, chart, and almanac data","syntax":["<Pages>.small(time: Time, observer: Location|Observer) -> Object"],"examples":["# Use Pages.small on a Pages value\nlet value = pages(location(60.0, 10.0), moon);\nprint value.small();"],"arguments":[{"name":"time","type":"Time","required":false,"description":"page time; defaults to pages(...) time or current UTC"},{"name":"observer","type":"Location|Observer","required":false,"description":"local observer; defaults to pages(...) observer when present"}],"children":[],"resources":[],"doc":"Method: Pages.small - returns fuller one-day local sky, chart, and almanac data\nSyntax:\n  <Pages>.small(time: Time, observer: Location|Observer) -> Object\nArguments:\n  time: Time [optional] - page time; defaults to pages(...) time or current UTC\n  observer: Location|Observer [optional] - local observer; defaults to pages(...) observer when present\nExample:\n# Use Pages.small on a Pages value\n   let value = pages(location(60.0, 10.0), moon);\n   print value.small();","compact":"Method: Pages.small - returns fuller one-day local sky, chart, and almanac data","search_text":"member:Pages.small small Pages.small method returns fuller one-day local sky, chart, and almanac data <Pages>.small(time: Time, observer: Location|Observer) -> Object time Time page time; defaults to pages(...) time or current UTC observer Location|Observer local observer; defaults to pages(...) observer when present"},{"id":"member:Pages.state","name":"state","path":"Pages.state","kind":"method","aliases":[],"description":"returns solar-system state vectors for one time","syntax":["<Pages>.state(time: Time, observer: Location|Observer) -> Object"],"examples":["# Use Pages.state on a Pages value\nlet value = pages(location(60.0, 10.0), moon);\nprint value.state();"],"arguments":[{"name":"time","type":"Time","required":false,"description":"page time; defaults to pages(...) time or current UTC"},{"name":"observer","type":"Location|Observer","required":false,"description":"local observer; defaults to pages(...) observer when present"}],"children":[],"resources":[],"doc":"Method: Pages.state - returns solar-system state vectors for one time\nSyntax:\n  <Pages>.state(time: Time, observer: Location|Observer) -> Object\nArguments:\n  time: Time [optional] - page time; defaults to pages(...) time or current UTC\n  observer: Location|Observer [optional] - local observer; defaults to pages(...) observer when present\nExample:\n# Use Pages.state on a Pages value\n   let value = pages(location(60.0, 10.0), moon);\n   print value.state();","compact":"Method: Pages.state - returns solar-system state vectors for one time","search_text":"member:Pages.state state Pages.state method returns solar-system state vectors for one time <Pages>.state(time: Time, observer: Location|Observer) -> Object time Time page time; defaults to pages(...) time or current UTC observer Location|Observer local observer; defaults to pages(...) observer when present"},{"id":"member:Pages.states","name":"states","path":"Pages.states","kind":"method","aliases":[],"description":"returns solar-system state vectors sampled over a period","syntax":["<Pages>.states(time: Time|Range, observer: Location|Observer, days: Number, step: Number) -> List"],"examples":["# Sample solar-system state vectors over a time range\nlet start = time(2026,1,1,0,0,0);\nlet p = pages(start).states(range(start, start.add_days(1), 6));\nprint p.bodies.earth.position_bc_icrf.length();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time or bounded time range; defaults to pages(...) time or current UTC"},{"name":"observer","type":"Location|Observer","required":false,"description":"local observer; defaults to pages(...) observer when present"},{"name":"days","type":"Number","required":false,"description":"number of days to include; defaults to 30"},{"name":"step","type":"Number","required":false,"description":"sampling step in days for states; defaults to 1"}],"children":[],"resources":[],"doc":"Method: Pages.states - returns solar-system state vectors sampled over a period\nSyntax:\n  <Pages>.states(time: Time|Range, observer: Location|Observer, days: Number, step: Number) -> List\nArguments:\n  time: Time|Range [optional] - start time or bounded time range; defaults to pages(...) time or current UTC\n  observer: Location|Observer [optional] - local observer; defaults to pages(...) observer when present\n  days: Number [optional] - number of days to include; defaults to 30\n  step: Number [optional] - sampling step in days for states; defaults to 1\nExample:\n# Sample solar-system state vectors over a time range\n   let start = time(2026,1,1,0,0,0);\n   let p = pages(start).states(range(start, start.add_days(1), 6));\n   print p.bodies.earth.position_bc_icrf.length();","compact":"Method: Pages.states - returns solar-system state vectors sampled over a period","search_text":"member:Pages.states states Pages.states method returns solar-system state vectors sampled over a period <Pages>.states(time: Time|Range, observer: Location|Observer, days: Number, step: Number) -> List time Time|Range start time or bounded time range; defaults to pages(...) time or current UTC observer Location|Observer local observer; defaults to pages(...) observer when present days Number number of days to include; defaults to 30 step Number sampling step in days for states; defaults to 1"},{"id":"member:Pages.table","name":"table","path":"Pages.table","kind":"method","aliases":[],"description":"returns daily local Sun and Moon event rows over a period","syntax":["<Pages>.table(time: Time|Range, observer: Location|Observer, days: Number, step: Number) -> List"],"examples":["# Use Pages.table on a Pages value\nlet value = pages(location(60.0, 10.0), moon);\nprint value.table();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time or bounded time range; defaults to pages(...) time or current UTC"},{"name":"observer","type":"Location|Observer","required":false,"description":"local observer; defaults to pages(...) observer when present"},{"name":"days","type":"Number","required":false,"description":"number of days to include; defaults to 30"},{"name":"step","type":"Number","required":false,"description":"sampling step in days for states; defaults to 1"}],"children":[],"resources":[],"doc":"Method: Pages.table - returns daily local Sun and Moon event rows over a period\nSyntax:\n  <Pages>.table(time: Time|Range, observer: Location|Observer, days: Number, step: Number) -> List\nArguments:\n  time: Time|Range [optional] - start time or bounded time range; defaults to pages(...) time or current UTC\n  observer: Location|Observer [optional] - local observer; defaults to pages(...) observer when present\n  days: Number [optional] - number of days to include; defaults to 30\n  step: Number [optional] - sampling step in days for states; defaults to 1\nExample:\n# Use Pages.table on a Pages value\n   let value = pages(location(60.0, 10.0), moon);\n   print value.table();","compact":"Method: Pages.table - returns daily local Sun and Moon event rows over a period","search_text":"member:Pages.table table Pages.table method returns daily local Sun and Moon event rows over a period <Pages>.table(time: Time|Range, observer: Location|Observer, days: Number, step: Number) -> List time Time|Range start time or bounded time range; defaults to pages(...) time or current UTC observer Location|Observer local observer; defaults to pages(...) observer when present days Number number of days to include; defaults to 30 step Number sampling step in days for states; defaults to 1"},{"id":"member:Pages.children","name":"children","path":"Pages.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["<Pages>.children() -> List"],"examples":["# Use Pages.children on a Pages value\nlet value = pages(location(60.0, 10.0), moon);\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Pages.children - lists child fields and callable members available on this value\nSyntax:\n  <Pages>.children() -> List\nExample:\n# Use Pages.children on a Pages value\n   let value = pages(location(60.0, 10.0), moon);\n   print value.children();","compact":"Method: Pages.children - lists child fields and callable members available on this value","search_text":"member:Pages.children children Pages.children method lists child fields and callable members available on this value <Pages>.children() -> List"},{"id":"member:Pages.fields","name":"fields","path":"Pages.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["<Pages>.fields() -> Object"],"examples":["# Use Pages.fields on a Pages value\nlet value = pages(location(60.0, 10.0), moon);\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Pages.fields - returns an object containing the value's plain fields\nSyntax:\n  <Pages>.fields() -> Object\nExample:\n# Use Pages.fields on a Pages value\n   let value = pages(location(60.0, 10.0), moon);\n   print value.fields();","compact":"Method: Pages.fields - returns an object containing the value's plain fields","search_text":"member:Pages.fields fields Pages.fields method returns an object containing the value's plain fields <Pages>.fields() -> Object"},{"id":"member:Pages.functions","name":"functions","path":"Pages.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["<Pages>.functions() -> List"],"examples":["# Use Pages.functions on a Pages value\nlet value = pages(location(60.0, 10.0), moon);\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Pages.functions - lists callable members available on this value\nSyntax:\n  <Pages>.functions() -> List\nExample:\n# Use Pages.functions on a Pages value\n   let value = pages(location(60.0, 10.0), moon);\n   print value.functions();","compact":"Method: Pages.functions - lists callable members available on this value","search_text":"member:Pages.functions functions Pages.functions method lists callable members available on this value <Pages>.functions() -> List"},{"id":"constant:sun","name":"sun","path":"sun","kind":"constant","aliases":[],"description":"built-in Body constant","syntax":["sun -> Body"],"examples":["# Use sun as a body reference and print its physical row\nprint sun.name, sun.radius, sun.mass;"],"arguments":[],"children":["constant_member:sun.name","constant_member:sun.kind","constant_member:sun.xmu","constant_member:sun.radius","constant_member:sun.mass","constant_member:sun.H","constant_member:sun.n","constant_member:sun.k","constant_member:sun.known","constant_member:sun.rotational_axis","constant_member:sun.rotational_axis_ra","constant_member:sun.rotational_axis_dec","constant_member:sun.state","constant_member:sun.rise","constant_member:sun.set","constant_member:sun.conjunction","constant_member:sun.opposition","constant_member:sun.eastern_quadrature","constant_member:sun.western_quadrature","constant_member:sun.quadrature","constant_member:sun.greatest_eastern_elongation","constant_member:sun.greatest_western_elongation","constant_member:sun.greatest_elongation","constant_member:sun.periapsis","constant_member:sun.apoapsis","constant_member:sun.children","constant_member:sun.fields","constant_member:sun.functions"],"resources":[],"doc":"Constant: sun - built-in Body constant\nSyntax:\n  sun -> Body\nChildren: name, kind, xmu, radius, mass, H, n, k, known, rotational_axis(), rotational_axis_ra(), rotational_axis_dec(), state(), rise(), set(), conjunction(), opposition(), eastern_quadrature(), western_quadrature(), quadrature(), greatest_eastern_elongation(), greatest_western_elongation(), greatest_elongation(), periapsis(), apoapsis(), children(), fields(), functions()\nExample:\n# Use sun as a body reference and print its physical row\n   print sun.name, sun.radius, sun.mass;","compact":"Constant: sun - built-in Body constant","search_text":"constant:sun sun sun constant built-in Body constant sun -> Body"},{"id":"constant:mercury","name":"mercury","path":"mercury","kind":"constant","aliases":[],"description":"built-in Body constant","syntax":["mercury -> Body"],"examples":["# Use mercury as a body reference and print its physical row\nprint mercury.name, mercury.radius, mercury.mass;"],"arguments":[],"children":["constant_member:mercury.name","constant_member:mercury.kind","constant_member:mercury.xmu","constant_member:mercury.radius","constant_member:mercury.mass","constant_member:mercury.H","constant_member:mercury.n","constant_member:mercury.k","constant_member:mercury.known","constant_member:mercury.rotational_axis","constant_member:mercury.rotational_axis_ra","constant_member:mercury.rotational_axis_dec","constant_member:mercury.state","constant_member:mercury.rise","constant_member:mercury.set","constant_member:mercury.conjunction","constant_member:mercury.inferior_conjunction","constant_member:mercury.superior_conjunction","constant_member:mercury.greatest_eastern_elongation","constant_member:mercury.greatest_western_elongation","constant_member:mercury.greatest_elongation","constant_member:mercury.periapsis","constant_member:mercury.apoapsis","constant_member:mercury.transit","constant_member:mercury.children","constant_member:mercury.fields","constant_member:mercury.functions"],"resources":[],"doc":"Constant: mercury - built-in Body constant\nSyntax:\n  mercury -> Body\nChildren: name, kind, xmu, radius, mass, H, n, k, known, rotational_axis(), rotational_axis_ra(), rotational_axis_dec(), state(), rise(), set(), conjunction(), inferior_conjunction(), superior_conjunction(), greatest_eastern_elongation(), greatest_western_elongation(), greatest_elongation(), periapsis(), apoapsis(), transit(), children(), fields(), functions()\nExample:\n# Use mercury as a body reference and print its physical row\n   print mercury.name, mercury.radius, mercury.mass;","compact":"Constant: mercury - built-in Body constant","search_text":"constant:mercury mercury mercury constant built-in Body constant mercury -> Body"},{"id":"constant:venus","name":"venus","path":"venus","kind":"constant","aliases":[],"description":"built-in Body constant","syntax":["venus -> Body"],"examples":["# Use venus as a body reference and print its physical row\nprint venus.name, venus.radius, venus.mass;"],"arguments":[],"children":["constant_member:venus.name","constant_member:venus.kind","constant_member:venus.xmu","constant_member:venus.radius","constant_member:venus.mass","constant_member:venus.H","constant_member:venus.n","constant_member:venus.k","constant_member:venus.known","constant_member:venus.rotational_axis","constant_member:venus.rotational_axis_ra","constant_member:venus.rotational_axis_dec","constant_member:venus.state","constant_member:venus.rise","constant_member:venus.set","constant_member:venus.conjunction","constant_member:venus.inferior_conjunction","constant_member:venus.superior_conjunction","constant_member:venus.greatest_eastern_elongation","constant_member:venus.greatest_western_elongation","constant_member:venus.greatest_elongation","constant_member:venus.periapsis","constant_member:venus.apoapsis","constant_member:venus.transit","constant_member:venus.children","constant_member:venus.fields","constant_member:venus.functions"],"resources":[],"doc":"Constant: venus - built-in Body constant\nSyntax:\n  venus -> Body\nChildren: name, kind, xmu, radius, mass, H, n, k, known, rotational_axis(), rotational_axis_ra(), rotational_axis_dec(), state(), rise(), set(), conjunction(), inferior_conjunction(), superior_conjunction(), greatest_eastern_elongation(), greatest_western_elongation(), greatest_elongation(), periapsis(), apoapsis(), transit(), children(), fields(), functions()\nExample:\n# Use venus as a body reference and print its physical row\n   print venus.name, venus.radius, venus.mass;","compact":"Constant: venus - built-in Body constant","search_text":"constant:venus venus venus constant built-in Body constant venus -> Body"},{"id":"constant:moon","name":"moon","path":"moon","kind":"constant","aliases":[],"description":"built-in Body constant","syntax":["moon -> Body"],"examples":["# Use moon as a body reference and print its physical row\nprint moon.name, moon.radius, moon.mass;"],"arguments":[],"children":["constant_member:moon.name","constant_member:moon.kind","constant_member:moon.xmu","constant_member:moon.radius","constant_member:moon.mass","constant_member:moon.H","constant_member:moon.n","constant_member:moon.k","constant_member:moon.known","constant_member:moon.rotational_axis","constant_member:moon.rotational_axis_ra","constant_member:moon.rotational_axis_dec","constant_member:moon.state","constant_member:moon.rise","constant_member:moon.set","constant_member:moon.conjunction","constant_member:moon.opposition","constant_member:moon.eastern_quadrature","constant_member:moon.western_quadrature","constant_member:moon.quadrature","constant_member:moon.periapsis","constant_member:moon.apoapsis","constant_member:moon.children","constant_member:moon.fields","constant_member:moon.functions"],"resources":[],"doc":"Constant: moon - built-in Body constant\nSyntax:\n  moon -> Body\nChildren: name, kind, xmu, radius, mass, H, n, k, known, rotational_axis(), rotational_axis_ra(), rotational_axis_dec(), state(), rise(), set(), conjunction(), opposition(), eastern_quadrature(), western_quadrature(), quadrature(), periapsis(), apoapsis(), children(), fields(), functions()\nExample:\n# Use moon as a body reference and print its physical row\n   print moon.name, moon.radius, moon.mass;","compact":"Constant: moon - built-in Body constant","search_text":"constant:moon moon moon constant built-in Body constant moon -> Body"},{"id":"constant:earth","name":"earth","path":"earth","kind":"constant","aliases":[],"description":"built-in Body constant","syntax":["earth -> Body"],"examples":["# Use earth as a body reference and print its physical row\nprint earth.name, earth.radius, earth.mass;"],"arguments":[],"children":["constant_member:earth.name","constant_member:earth.kind","constant_member:earth.xmu","constant_member:earth.radius","constant_member:earth.mass","constant_member:earth.H","constant_member:earth.n","constant_member:earth.k","constant_member:earth.known","constant_member:earth.rotational_axis","constant_member:earth.rotational_axis_ra","constant_member:earth.rotational_axis_dec","constant_member:earth.state","constant_member:earth.periapsis","constant_member:earth.apoapsis","constant_member:earth.children","constant_member:earth.fields","constant_member:earth.functions"],"resources":[],"doc":"Constant: earth - built-in Body constant\nSyntax:\n  earth -> Body\nChildren: name, kind, xmu, radius, mass, H, n, k, known, rotational_axis(), rotational_axis_ra(), rotational_axis_dec(), state(), periapsis(), apoapsis(), children(), fields(), functions()\nExample:\n# Use earth as a body reference and print its physical row\n   print earth.name, earth.radius, earth.mass;","compact":"Constant: earth - built-in Body constant","search_text":"constant:earth earth earth constant built-in Body constant earth -> Body"},{"id":"constant:mars","name":"mars","path":"mars","kind":"constant","aliases":[],"description":"built-in Body constant","syntax":["mars -> Body"],"examples":["# Use mars as a body reference and print its physical row\nprint mars.name, mars.radius, mars.mass;"],"arguments":[],"children":["constant_member:mars.name","constant_member:mars.kind","constant_member:mars.xmu","constant_member:mars.radius","constant_member:mars.mass","constant_member:mars.H","constant_member:mars.n","constant_member:mars.k","constant_member:mars.known","constant_member:mars.rotational_axis","constant_member:mars.rotational_axis_ra","constant_member:mars.rotational_axis_dec","constant_member:mars.state","constant_member:mars.rise","constant_member:mars.set","constant_member:mars.conjunction","constant_member:mars.opposition","constant_member:mars.eastern_quadrature","constant_member:mars.western_quadrature","constant_member:mars.quadrature","constant_member:mars.periapsis","constant_member:mars.apoapsis","constant_member:mars.children","constant_member:mars.fields","constant_member:mars.functions"],"resources":[],"doc":"Constant: mars - built-in Body constant\nSyntax:\n  mars -> Body\nChildren: name, kind, xmu, radius, mass, H, n, k, known, rotational_axis(), rotational_axis_ra(), rotational_axis_dec(), state(), rise(), set(), conjunction(), opposition(), eastern_quadrature(), western_quadrature(), quadrature(), periapsis(), apoapsis(), children(), fields(), functions()\nExample:\n# Use mars as a body reference and print its physical row\n   print mars.name, mars.radius, mars.mass;","compact":"Constant: mars - built-in Body constant","search_text":"constant:mars mars mars constant built-in Body constant mars -> Body"},{"id":"constant:jupiter","name":"jupiter","path":"jupiter","kind":"constant","aliases":[],"description":"built-in Body constant","syntax":["jupiter -> Body"],"examples":["# Use jupiter as a body reference and print its physical row\nprint jupiter.name, jupiter.radius, jupiter.mass;"],"arguments":[],"children":["constant_member:jupiter.name","constant_member:jupiter.kind","constant_member:jupiter.xmu","constant_member:jupiter.radius","constant_member:jupiter.mass","constant_member:jupiter.H","constant_member:jupiter.n","constant_member:jupiter.k","constant_member:jupiter.known","constant_member:jupiter.rotational_axis","constant_member:jupiter.rotational_axis_ra","constant_member:jupiter.rotational_axis_dec","constant_member:jupiter.state","constant_member:jupiter.rise","constant_member:jupiter.set","constant_member:jupiter.conjunction","constant_member:jupiter.opposition","constant_member:jupiter.eastern_quadrature","constant_member:jupiter.western_quadrature","constant_member:jupiter.quadrature","constant_member:jupiter.periapsis","constant_member:jupiter.apoapsis","constant_member:jupiter.children","constant_member:jupiter.fields","constant_member:jupiter.functions"],"resources":[],"doc":"Constant: jupiter - built-in Body constant\nSyntax:\n  jupiter -> Body\nChildren: name, kind, xmu, radius, mass, H, n, k, known, rotational_axis(), rotational_axis_ra(), rotational_axis_dec(), state(), rise(), set(), conjunction(), opposition(), eastern_quadrature(), western_quadrature(), quadrature(), periapsis(), apoapsis(), children(), fields(), functions()\nExample:\n# Use jupiter as a body reference and print its physical row\n   print jupiter.name, jupiter.radius, jupiter.mass;","compact":"Constant: jupiter - built-in Body constant","search_text":"constant:jupiter jupiter jupiter constant built-in Body constant jupiter -> Body"},{"id":"constant:saturn","name":"saturn","path":"saturn","kind":"constant","aliases":[],"description":"built-in Body constant","syntax":["saturn -> Body"],"examples":["# Use saturn as a body reference and print its physical row\nprint saturn.name, saturn.radius, saturn.mass;"],"arguments":[],"children":["constant_member:saturn.name","constant_member:saturn.kind","constant_member:saturn.xmu","constant_member:saturn.radius","constant_member:saturn.mass","constant_member:saturn.H","constant_member:saturn.n","constant_member:saturn.k","constant_member:saturn.known","constant_member:saturn.rotational_axis","constant_member:saturn.rotational_axis_ra","constant_member:saturn.rotational_axis_dec","constant_member:saturn.state","constant_member:saturn.rise","constant_member:saturn.set","constant_member:saturn.conjunction","constant_member:saturn.opposition","constant_member:saturn.eastern_quadrature","constant_member:saturn.western_quadrature","constant_member:saturn.quadrature","constant_member:saturn.periapsis","constant_member:saturn.apoapsis","constant_member:saturn.children","constant_member:saturn.fields","constant_member:saturn.functions"],"resources":[],"doc":"Constant: saturn - built-in Body constant\nSyntax:\n  saturn -> Body\nChildren: name, kind, xmu, radius, mass, H, n, k, known, rotational_axis(), rotational_axis_ra(), rotational_axis_dec(), state(), rise(), set(), conjunction(), opposition(), eastern_quadrature(), western_quadrature(), quadrature(), periapsis(), apoapsis(), children(), fields(), functions()\nExample:\n# Use saturn as a body reference and print its physical row\n   print saturn.name, saturn.radius, saturn.mass;","compact":"Constant: saturn - built-in Body constant","search_text":"constant:saturn saturn saturn constant built-in Body constant saturn -> Body"},{"id":"constant:uranus","name":"uranus","path":"uranus","kind":"constant","aliases":[],"description":"built-in Body constant","syntax":["uranus -> Body"],"examples":["# Use uranus as a body reference and print its physical row\nprint uranus.name, uranus.radius, uranus.mass;"],"arguments":[],"children":["constant_member:uranus.name","constant_member:uranus.kind","constant_member:uranus.xmu","constant_member:uranus.radius","constant_member:uranus.mass","constant_member:uranus.H","constant_member:uranus.n","constant_member:uranus.k","constant_member:uranus.known","constant_member:uranus.rotational_axis","constant_member:uranus.rotational_axis_ra","constant_member:uranus.rotational_axis_dec","constant_member:uranus.state","constant_member:uranus.rise","constant_member:uranus.set","constant_member:uranus.conjunction","constant_member:uranus.opposition","constant_member:uranus.eastern_quadrature","constant_member:uranus.western_quadrature","constant_member:uranus.quadrature","constant_member:uranus.periapsis","constant_member:uranus.apoapsis","constant_member:uranus.children","constant_member:uranus.fields","constant_member:uranus.functions"],"resources":[],"doc":"Constant: uranus - built-in Body constant\nSyntax:\n  uranus -> Body\nChildren: name, kind, xmu, radius, mass, H, n, k, known, rotational_axis(), rotational_axis_ra(), rotational_axis_dec(), state(), rise(), set(), conjunction(), opposition(), eastern_quadrature(), western_quadrature(), quadrature(), periapsis(), apoapsis(), children(), fields(), functions()\nExample:\n# Use uranus as a body reference and print its physical row\n   print uranus.name, uranus.radius, uranus.mass;","compact":"Constant: uranus - built-in Body constant","search_text":"constant:uranus uranus uranus constant built-in Body constant uranus -> Body"},{"id":"constant:neptune","name":"neptune","path":"neptune","kind":"constant","aliases":[],"description":"built-in Body constant","syntax":["neptune -> Body"],"examples":["# Use neptune as a body reference and print its physical row\nprint neptune.name, neptune.radius, neptune.mass;"],"arguments":[],"children":["constant_member:neptune.name","constant_member:neptune.kind","constant_member:neptune.xmu","constant_member:neptune.radius","constant_member:neptune.mass","constant_member:neptune.H","constant_member:neptune.n","constant_member:neptune.k","constant_member:neptune.known","constant_member:neptune.rotational_axis","constant_member:neptune.rotational_axis_ra","constant_member:neptune.rotational_axis_dec","constant_member:neptune.state","constant_member:neptune.rise","constant_member:neptune.set","constant_member:neptune.conjunction","constant_member:neptune.opposition","constant_member:neptune.eastern_quadrature","constant_member:neptune.western_quadrature","constant_member:neptune.quadrature","constant_member:neptune.periapsis","constant_member:neptune.apoapsis","constant_member:neptune.children","constant_member:neptune.fields","constant_member:neptune.functions"],"resources":[],"doc":"Constant: neptune - built-in Body constant\nSyntax:\n  neptune -> Body\nChildren: name, kind, xmu, radius, mass, H, n, k, known, rotational_axis(), rotational_axis_ra(), rotational_axis_dec(), state(), rise(), set(), conjunction(), opposition(), eastern_quadrature(), western_quadrature(), quadrature(), periapsis(), apoapsis(), children(), fields(), functions()\nExample:\n# Use neptune as a body reference and print its physical row\n   print neptune.name, neptune.radius, neptune.mass;","compact":"Constant: neptune - built-in Body constant","search_text":"constant:neptune neptune neptune constant built-in Body constant neptune -> Body"},{"id":"constant:pluto","name":"pluto","path":"pluto","kind":"constant","aliases":[],"description":"built-in Body constant","syntax":["pluto -> Body"],"examples":["# Use pluto as a body reference and print its physical row\nprint pluto.name, pluto.radius, pluto.mass;"],"arguments":[],"children":["constant_member:pluto.name","constant_member:pluto.kind","constant_member:pluto.xmu","constant_member:pluto.radius","constant_member:pluto.mass","constant_member:pluto.H","constant_member:pluto.n","constant_member:pluto.k","constant_member:pluto.known","constant_member:pluto.rotational_axis","constant_member:pluto.rotational_axis_ra","constant_member:pluto.rotational_axis_dec","constant_member:pluto.state","constant_member:pluto.rise","constant_member:pluto.set","constant_member:pluto.conjunction","constant_member:pluto.opposition","constant_member:pluto.eastern_quadrature","constant_member:pluto.western_quadrature","constant_member:pluto.quadrature","constant_member:pluto.periapsis","constant_member:pluto.apoapsis","constant_member:pluto.children","constant_member:pluto.fields","constant_member:pluto.functions"],"resources":[],"doc":"Constant: pluto - built-in Body constant\nSyntax:\n  pluto -> Body\nChildren: name, kind, xmu, radius, mass, H, n, k, known, rotational_axis(), rotational_axis_ra(), rotational_axis_dec(), state(), rise(), set(), conjunction(), opposition(), eastern_quadrature(), western_quadrature(), quadrature(), periapsis(), apoapsis(), children(), fields(), functions()\nExample:\n# Use pluto as a body reference and print its physical row\n   print pluto.name, pluto.radius, pluto.mass;","compact":"Constant: pluto - built-in Body constant","search_text":"constant:pluto pluto pluto constant built-in Body constant pluto -> Body"},{"id":"constant_member:sun.name","name":"name","path":"sun.name","kind":"field","aliases":[],"description":"canonical body name","syntax":["sun.name -> Text"],"examples":["# Use sun.name as the label in a body catalog row\nlet row = {label: sun.name, radius: sun.radius};\nprint row.label, row.radius;"],"arguments":[],"children":[],"resources":[],"doc":"Field: sun.name - canonical body name\nSyntax:\n  sun.name -> Text\nExample:\n# Use sun.name as the label in a body catalog row\n   let row = {label: sun.name, radius: sun.radius};\n   print row.label, row.radius;","compact":"Field: sun.name - canonical body name","search_text":"constant_member:sun.name name sun.name field canonical body name sun.name -> Text"},{"id":"constant_member:sun.kind","name":"kind","path":"sun.kind","kind":"field","aliases":[],"description":"reference body kind","syntax":["sun.kind -> Text"],"examples":["# Use sun.kind to group a body catalog row\nlet row = {name: sun.name, group: sun.kind};\nprint row.group, row.name;"],"arguments":[],"children":[],"resources":[],"doc":"Field: sun.kind - reference body kind\nSyntax:\n  sun.kind -> Text\nExample:\n# Use sun.kind to group a body catalog row\n   let row = {name: sun.name, group: sun.kind};\n   print row.group, row.name;","compact":"Field: sun.kind - reference body kind","search_text":"constant_member:sun.kind kind sun.kind field reference body kind sun.kind -> Text"},{"id":"constant_member:sun.xmu","name":"xmu","path":"sun.xmu","kind":"field","aliases":[],"description":"gravitational parameter in km^3/s^2","syntax":["sun.xmu -> Number"],"examples":["# Compare sun gravitational parameter with Earth\nprint sun.name, sun.xmu, sun.xmu / earth.xmu;"],"arguments":[],"children":[],"resources":[],"doc":"Field: sun.xmu - gravitational parameter in km^3/s^2\nSyntax:\n  sun.xmu -> Number\nExample:\n# Compare sun gravitational parameter with Earth\n   print sun.name, sun.xmu, sun.xmu / earth.xmu;","compact":"Field: sun.xmu - gravitational parameter in km^3/s^2","search_text":"constant_member:sun.xmu xmu sun.xmu field gravitational parameter in km^3/s^2 sun.xmu -> Number"},{"id":"constant_member:sun.radius","name":"radius","path":"sun.radius","kind":"field","aliases":[],"description":"body radius in km","syntax":["sun.radius -> Number"],"examples":["# Compare sun radius with Earth for scale estimates\nprint sun.name, sun.radius, sun.radius / earth.radius;"],"arguments":[],"children":[],"resources":[],"doc":"Field: sun.radius - body radius in km\nSyntax:\n  sun.radius -> Number\nExample:\n# Compare sun radius with Earth for scale estimates\n   print sun.name, sun.radius, sun.radius / earth.radius;","compact":"Field: sun.radius - body radius in km","search_text":"constant_member:sun.radius radius sun.radius field body radius in km sun.radius -> Number"},{"id":"constant_member:sun.mass","name":"mass","path":"sun.mass","kind":"field","aliases":[],"description":"body mass in kg","syntax":["sun.mass -> Number"],"examples":["# Compare sun mass with Earth for scale estimates\nprint sun.name, sun.mass, sun.mass / earth.mass;"],"arguments":[],"children":[],"resources":[],"doc":"Field: sun.mass - body mass in kg\nSyntax:\n  sun.mass -> Number\nExample:\n# Compare sun mass with Earth for scale estimates\n   print sun.name, sun.mass, sun.mass / earth.mass;","compact":"Field: sun.mass - body mass in kg","search_text":"constant_member:sun.mass mass sun.mass field body mass in kg sun.mass -> Number"},{"id":"constant_member:sun.H","name":"H","path":"sun.H","kind":"field","aliases":[],"description":"reference absolute magnitude parameter","syntax":["sun.H -> Number"],"examples":["# Use sun.H as the absolute magnitude term in a report\nprint sun.name, sun.H;"],"arguments":[],"children":[],"resources":[],"doc":"Field: sun.H - reference absolute magnitude parameter\nSyntax:\n  sun.H -> Number\nExample:\n# Use sun.H as the absolute magnitude term in a report\n   print sun.name, sun.H;","compact":"Field: sun.H - reference absolute magnitude parameter","search_text":"constant_member:sun.H H sun.H field reference absolute magnitude parameter sun.H -> Number"},{"id":"constant_member:sun.n","name":"n","path":"sun.n","kind":"field","aliases":[],"description":"reference illumination exponent","syntax":["sun.n -> Number"],"examples":["# Use sun.n as the photometric phase slope term\nprint sun.name, sun.n, sun.H + sun.n;"],"arguments":[],"children":[],"resources":[],"doc":"Field: sun.n - reference illumination exponent\nSyntax:\n  sun.n -> Number\nExample:\n# Use sun.n as the photometric phase slope term\n   print sun.name, sun.n, sun.H + sun.n;","compact":"Field: sun.n - reference illumination exponent","search_text":"constant_member:sun.n n sun.n field reference illumination exponent sun.n -> Number"},{"id":"constant_member:sun.k","name":"k","path":"sun.k","kind":"field","aliases":[],"description":"reference G Muller constant","syntax":["sun.k -> Number"],"examples":["# Use sun.k as the photometric curvature term\nprint sun.name, sun.k, sun.H + sun.k;"],"arguments":[],"children":[],"resources":[],"doc":"Field: sun.k - reference G Muller constant\nSyntax:\n  sun.k -> Number\nExample:\n# Use sun.k as the photometric curvature term\n   print sun.name, sun.k, sun.H + sun.k;","compact":"Field: sun.k - reference G Muller constant","search_text":"constant_member:sun.k k sun.k field reference G Muller constant sun.k -> Number"},{"id":"constant_member:sun.known","name":"known","path":"sun.known","kind":"field","aliases":[],"description":"whether the body name matched the built-in table","syntax":["sun.known -> Bool"],"examples":["# Verify whether sun has built-in physical metadata\nprint sun.name, sun.known;"],"arguments":[],"children":[],"resources":[],"doc":"Field: sun.known - whether the body name matched the built-in table\nSyntax:\n  sun.known -> Bool\nExample:\n# Verify whether sun has built-in physical metadata\n   print sun.name, sun.known;","compact":"Field: sun.known - whether the body name matched the built-in table","search_text":"constant_member:sun.known known sun.known field whether the body name matched the built-in table sun.known -> Bool"},{"id":"constant_member:sun.rotational_axis","name":"rotational_axis","path":"sun.rotational_axis","kind":"method","aliases":[],"description":"returns this body's rotational north pole at a time","syntax":["sun.rotational_axis(time: Time) -> Object"],"examples":["# Use the sun constant with its rotational_axis member\nlet value = sun;\nprint value.rotational_axis(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: sun.rotational_axis - returns this body's rotational north pole at a time\nSyntax:\n  sun.rotational_axis(time: Time) -> Object\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the sun constant with its rotational_axis member\n   let value = sun;\n   print value.rotational_axis(time());","compact":"Method: sun.rotational_axis - returns this body's rotational north pole at a time","search_text":"constant_member:sun.rotational_axis rotational_axis sun.rotational_axis method returns this body's rotational north pole at a time sun.rotational_axis(time: Time) -> Object time Time time at which to evaluate the rotational pole"},{"id":"constant_member:sun.rotational_axis_ra","name":"rotational_axis_ra","path":"sun.rotational_axis_ra","kind":"method","aliases":[],"description":"returns the rotational north-pole right ascension in degrees","syntax":["sun.rotational_axis_ra(time: Time) -> Number"],"examples":["# Use the sun constant with its rotational_axis_ra member\nlet value = sun;\nprint value.rotational_axis_ra(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: sun.rotational_axis_ra - returns the rotational north-pole right ascension in degrees\nSyntax:\n  sun.rotational_axis_ra(time: Time) -> Number\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the sun constant with its rotational_axis_ra member\n   let value = sun;\n   print value.rotational_axis_ra(time());","compact":"Method: sun.rotational_axis_ra - returns the rotational north-pole right ascension in degrees","search_text":"constant_member:sun.rotational_axis_ra rotational_axis_ra sun.rotational_axis_ra method returns the rotational north-pole right ascension in degrees sun.rotational_axis_ra(time: Time) -> Number time Time time at which to evaluate the rotational pole"},{"id":"constant_member:sun.rotational_axis_dec","name":"rotational_axis_dec","path":"sun.rotational_axis_dec","kind":"method","aliases":[],"description":"returns the rotational north-pole declination in degrees","syntax":["sun.rotational_axis_dec(time: Time) -> Number"],"examples":["# Use the sun constant with its rotational_axis_dec member\nlet value = sun;\nprint value.rotational_axis_dec(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: sun.rotational_axis_dec - returns the rotational north-pole declination in degrees\nSyntax:\n  sun.rotational_axis_dec(time: Time) -> Number\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the sun constant with its rotational_axis_dec member\n   let value = sun;\n   print value.rotational_axis_dec(time());","compact":"Method: sun.rotational_axis_dec - returns the rotational north-pole declination in degrees","search_text":"constant_member:sun.rotational_axis_dec rotational_axis_dec sun.rotational_axis_dec method returns the rotational north-pole declination in degrees sun.rotational_axis_dec(time: Time) -> Number time Time time at which to evaluate the rotational pole"},{"id":"constant_member:sun.state","name":"state","path":"sun.state","kind":"method","aliases":[],"description":"returns the orbital state for this body at a time","syntax":["sun.state(time: Time) -> State"],"examples":["# Use the sun constant with its state member\nlet value = sun;\nprint value.state(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: sun.state - returns the orbital state for this body at a time\nSyntax:\n  sun.state(time: Time) -> State\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the sun constant with its state member\n   let value = sun;\n   print value.state(time());","compact":"Method: sun.state - returns the orbital state for this body at a time","search_text":"constant_member:sun.state state sun.state method returns the orbital state for this body at a time sun.state(time: Time) -> State time Time time at which to evaluate the rotational pole"},{"id":"constant_member:sun.rise","name":"rise","path":"sun.rise","kind":"method","aliases":[],"description":"returns sunrise or moonrise events for an observer","syntax":["sun.rise(observer: Location|Observer, range: Range) -> List|Event|Nil"],"examples":["# Find sun rise events from an explicit observer\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\nprint sun.rise(obs, span).first();"],"arguments":[{"name":"observer","type":"Location|Observer","required":true,"description":"Earth location or observer for the local horizon event"},{"name":"range","type":"Range","required":true,"description":"time range to search; open ranges return the next event"}],"children":[],"resources":[],"doc":"Method: sun.rise - returns sunrise or moonrise events for an observer\nSyntax:\n  sun.rise(observer: Location|Observer, range: Range) -> List|Event|Nil\nArguments:\n  observer: Location|Observer - Earth location or observer for the local horizon event\n  range: Range - time range to search; open ranges return the next event\nExample:\n# Find sun rise events from an explicit observer\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\n   print sun.rise(obs, span).first();","compact":"Method: sun.rise - returns sunrise or moonrise events for an observer","search_text":"constant_member:sun.rise rise sun.rise method returns sunrise or moonrise events for an observer sun.rise(observer: Location|Observer, range: Range) -> List|Event|Nil observer Location|Observer Earth location or observer for the local horizon event range Range time range to search; open ranges return the next event"},{"id":"constant_member:sun.set","name":"set","path":"sun.set","kind":"method","aliases":[],"description":"returns sunset or moonset events for an observer","syntax":["sun.set(observer: Location|Observer, range: Range) -> List|Event|Nil"],"examples":["# Find sun set events from an explicit observer\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\nprint sun.set(obs, span).first();"],"arguments":[{"name":"observer","type":"Location|Observer","required":true,"description":"Earth location or observer for the local horizon event"},{"name":"range","type":"Range","required":true,"description":"time range to search; open ranges return the next event"}],"children":[],"resources":[],"doc":"Method: sun.set - returns sunset or moonset events for an observer\nSyntax:\n  sun.set(observer: Location|Observer, range: Range) -> List|Event|Nil\nArguments:\n  observer: Location|Observer - Earth location or observer for the local horizon event\n  range: Range - time range to search; open ranges return the next event\nExample:\n# Find sun set events from an explicit observer\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\n   print sun.set(obs, span).first();","compact":"Method: sun.set - returns sunset or moonset events for an observer","search_text":"constant_member:sun.set set sun.set method returns sunset or moonset events for an observer sun.set(observer: Location|Observer, range: Range) -> List|Event|Nil observer Location|Observer Earth location or observer for the local horizon event range Range time range to search; open ranges return the next event"},{"id":"constant_member:sun.conjunction","name":"conjunction","path":"sun.conjunction","kind":"method","aliases":[],"description":"returns events when the Sun and Earth are on the same side of the solar-system barycenter","syntax":["sun.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find when the Sun and Earth are on the same side of the solar-system barycenter\nlet span = range(time(2026,9,20,0,0,0), time(2027,9,20,0,0,0), 5);\nprint sun.conjunction(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: sun.conjunction - returns events when the Sun and Earth are on the same side of the solar-system barycenter\nSyntax:\n  sun.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find when the Sun and Earth are on the same side of the solar-system barycenter\n   let span = range(time(2026,9,20,0,0,0), time(2027,9,20,0,0,0), 5);\n   print sun.conjunction(span).first();","compact":"Method: sun.conjunction - returns events when the Sun and Earth are on the same side of the solar-system barycenter","search_text":"constant_member:sun.conjunction conjunction sun.conjunction method returns events when the Sun and Earth are on the same side of the solar-system barycenter sun.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:sun.opposition","name":"opposition","path":"sun.opposition","kind":"method","aliases":[],"description":"returns events when the Sun and Earth are on opposite sides of the solar-system barycenter","syntax":["sun.opposition(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find when the Sun and Earth are on opposite sides of the solar-system barycenter\nlet span = range(time(2026,9,20,0,0,0), time(2027,9,20,0,0,0), 5);\nprint sun.opposition(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: sun.opposition - returns events when the Sun and Earth are on opposite sides of the solar-system barycenter\nSyntax:\n  sun.opposition(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find when the Sun and Earth are on opposite sides of the solar-system barycenter\n   let span = range(time(2026,9,20,0,0,0), time(2027,9,20,0,0,0), 5);\n   print sun.opposition(span).first();","compact":"Method: sun.opposition - returns events when the Sun and Earth are on opposite sides of the solar-system barycenter","search_text":"constant_member:sun.opposition opposition sun.opposition method returns events when the Sun and Earth are on opposite sides of the solar-system barycenter sun.opposition(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:sun.eastern_quadrature","name":"eastern_quadrature","path":"sun.eastern_quadrature","kind":"method","aliases":[],"description":"returns eastern quadrature events for this body","syntax":["sun.eastern_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Demonstrate eastern_quadrature using an outer planet time range\nlet value = mars;\nlet span = range(time(2025,1,1,0,0,0), time(2026,1,1,0,0,0), 1);\nprint \"sun help\", value.eastern_quadrature(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: sun.eastern_quadrature - returns eastern quadrature events for this body\nSyntax:\n  sun.eastern_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Demonstrate eastern_quadrature using an outer planet time range\n   let value = mars;\n   let span = range(time(2025,1,1,0,0,0), time(2026,1,1,0,0,0), 1);\n   print \"sun help\", value.eastern_quadrature(span).first();","compact":"Method: sun.eastern_quadrature - returns eastern quadrature events for this body","search_text":"constant_member:sun.eastern_quadrature eastern_quadrature sun.eastern_quadrature method returns eastern quadrature events for this body sun.eastern_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:sun.western_quadrature","name":"western_quadrature","path":"sun.western_quadrature","kind":"method","aliases":[],"description":"returns western quadrature events for this body","syntax":["sun.western_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Demonstrate western_quadrature using an outer planet time range\nlet value = mars;\nlet span = range(time(2025,1,1,0,0,0), time(2026,1,1,0,0,0), 1);\nprint \"sun help\", value.western_quadrature(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: sun.western_quadrature - returns western quadrature events for this body\nSyntax:\n  sun.western_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Demonstrate western_quadrature using an outer planet time range\n   let value = mars;\n   let span = range(time(2025,1,1,0,0,0), time(2026,1,1,0,0,0), 1);\n   print \"sun help\", value.western_quadrature(span).first();","compact":"Method: sun.western_quadrature - returns western quadrature events for this body","search_text":"constant_member:sun.western_quadrature western_quadrature sun.western_quadrature method returns western quadrature events for this body sun.western_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:sun.quadrature","name":"quadrature","path":"sun.quadrature","kind":"method","aliases":[],"description":"returns eastern and western quadrature events for this body","syntax":["sun.quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Demonstrate quadrature using an outer planet time range\nlet value = mars;\nlet span = range(time(2025,1,1,0,0,0), time(2026,1,1,0,0,0), 1);\nprint \"sun help\", value.quadrature(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: sun.quadrature - returns eastern and western quadrature events for this body\nSyntax:\n  sun.quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Demonstrate quadrature using an outer planet time range\n   let value = mars;\n   let span = range(time(2025,1,1,0,0,0), time(2026,1,1,0,0,0), 1);\n   print \"sun help\", value.quadrature(span).first();","compact":"Method: sun.quadrature - returns eastern and western quadrature events for this body","search_text":"constant_member:sun.quadrature quadrature sun.quadrature method returns eastern and western quadrature events for this body sun.quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:sun.greatest_eastern_elongation","name":"greatest_eastern_elongation","path":"sun.greatest_eastern_elongation","kind":"method","aliases":[],"description":"returns Sun greatest eastern elongation events relative to the solar-system barycenter","syntax":["sun.greatest_eastern_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find Sun greatest eastern elongation relative to the solar-system barycenter\nlet span = range(time(2027,1,1,0,0,0), time(2028,1,1,0,0,0), 5);\nprint sun.greatest_eastern_elongation(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: sun.greatest_eastern_elongation - returns Sun greatest eastern elongation events relative to the solar-system barycenter\nSyntax:\n  sun.greatest_eastern_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find Sun greatest eastern elongation relative to the solar-system barycenter\n   let span = range(time(2027,1,1,0,0,0), time(2028,1,1,0,0,0), 5);\n   print sun.greatest_eastern_elongation(span).first();","compact":"Method: sun.greatest_eastern_elongation - returns Sun greatest eastern elongation events relative to the solar-system barycenter","search_text":"constant_member:sun.greatest_eastern_elongation greatest_eastern_elongation sun.greatest_eastern_elongation method returns Sun greatest eastern elongation events relative to the solar-system barycenter sun.greatest_eastern_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:sun.greatest_western_elongation","name":"greatest_western_elongation","path":"sun.greatest_western_elongation","kind":"method","aliases":[],"description":"returns Sun greatest western elongation events relative to the solar-system barycenter","syntax":["sun.greatest_western_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find Sun greatest western elongation relative to the solar-system barycenter\nlet span = range(time(2027,1,1,0,0,0), time(2028,1,1,0,0,0), 5);\nprint sun.greatest_western_elongation(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: sun.greatest_western_elongation - returns Sun greatest western elongation events relative to the solar-system barycenter\nSyntax:\n  sun.greatest_western_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find Sun greatest western elongation relative to the solar-system barycenter\n   let span = range(time(2027,1,1,0,0,0), time(2028,1,1,0,0,0), 5);\n   print sun.greatest_western_elongation(span).first();","compact":"Method: sun.greatest_western_elongation - returns Sun greatest western elongation events relative to the solar-system barycenter","search_text":"constant_member:sun.greatest_western_elongation greatest_western_elongation sun.greatest_western_elongation method returns Sun greatest western elongation events relative to the solar-system barycenter sun.greatest_western_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:sun.greatest_elongation","name":"greatest_elongation","path":"sun.greatest_elongation","kind":"method","aliases":[],"description":"returns Sun greatest eastern and western elongation events relative to the solar-system barycenter","syntax":["sun.greatest_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find Sun greatest elongation events relative to the solar-system barycenter\nlet span = range(time(2027,1,1,0,0,0), time(2028,1,1,0,0,0), 5);\nprint sun.greatest_elongation(span);"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: sun.greatest_elongation - returns Sun greatest eastern and western elongation events relative to the solar-system barycenter\nSyntax:\n  sun.greatest_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find Sun greatest elongation events relative to the solar-system barycenter\n   let span = range(time(2027,1,1,0,0,0), time(2028,1,1,0,0,0), 5);\n   print sun.greatest_elongation(span);","compact":"Method: sun.greatest_elongation - returns Sun greatest eastern and western elongation events relative to the solar-system barycenter","search_text":"constant_member:sun.greatest_elongation greatest_elongation sun.greatest_elongation method returns Sun greatest eastern and western elongation events relative to the solar-system barycenter sun.greatest_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:sun.periapsis","name":"periapsis","path":"sun.periapsis","kind":"method","aliases":[],"description":"returns Sun periapsis events relative to the solar-system barycenter","syntax":["sun.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find Sun periapsis events relative to the solar-system barycenter\nlet span = range(time(2020,1,1,0,0,0), time(2040,1,1,0,0,0), 5);\nprint sun.periapsis(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: sun.periapsis - returns Sun periapsis events relative to the solar-system barycenter\nSyntax:\n  sun.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find Sun periapsis events relative to the solar-system barycenter\n   let span = range(time(2020,1,1,0,0,0), time(2040,1,1,0,0,0), 5);\n   print sun.periapsis(span).first();","compact":"Method: sun.periapsis - returns Sun periapsis events relative to the solar-system barycenter","search_text":"constant_member:sun.periapsis periapsis sun.periapsis method returns Sun periapsis events relative to the solar-system barycenter sun.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:sun.apoapsis","name":"apoapsis","path":"sun.apoapsis","kind":"method","aliases":[],"description":"returns Sun apoapsis events relative to the solar-system barycenter","syntax":["sun.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find Sun apoapsis events relative to the solar-system barycenter\nlet span = range(time(2020,1,1,0,0,0), time(2040,1,1,0,0,0), 5);\nprint sun.apoapsis(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: sun.apoapsis - returns Sun apoapsis events relative to the solar-system barycenter\nSyntax:\n  sun.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find Sun apoapsis events relative to the solar-system barycenter\n   let span = range(time(2020,1,1,0,0,0), time(2040,1,1,0,0,0), 5);\n   print sun.apoapsis(span).first();","compact":"Method: sun.apoapsis - returns Sun apoapsis events relative to the solar-system barycenter","search_text":"constant_member:sun.apoapsis apoapsis sun.apoapsis method returns Sun apoapsis events relative to the solar-system barycenter sun.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:sun.children","name":"children","path":"sun.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["sun.children() -> List"],"examples":["# Inspect child entries available from the sun constant\nlet value = sun;\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: sun.children - lists child fields and callable members available on this value\nSyntax:\n  sun.children() -> List\nExample:\n# Inspect child entries available from the sun constant\n   let value = sun;\n   print value.children();","compact":"Method: sun.children - lists child fields and callable members available on this value","search_text":"constant_member:sun.children children sun.children method lists child fields and callable members available on this value sun.children() -> List"},{"id":"constant_member:sun.fields","name":"fields","path":"sun.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["sun.fields() -> Object"],"examples":["# Inspect plain fields on the sun constant\nlet value = sun;\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: sun.fields - returns an object containing the value's plain fields\nSyntax:\n  sun.fields() -> Object\nExample:\n# Inspect plain fields on the sun constant\n   let value = sun;\n   print value.fields();","compact":"Method: sun.fields - returns an object containing the value's plain fields","search_text":"constant_member:sun.fields fields sun.fields method returns an object containing the value's plain fields sun.fields() -> Object"},{"id":"constant_member:sun.functions","name":"functions","path":"sun.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["sun.functions() -> List"],"examples":["# Inspect callable members on the sun constant\nlet value = sun;\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: sun.functions - lists callable members available on this value\nSyntax:\n  sun.functions() -> List\nExample:\n# Inspect callable members on the sun constant\n   let value = sun;\n   print value.functions();","compact":"Method: sun.functions - lists callable members available on this value","search_text":"constant_member:sun.functions functions sun.functions method lists callable members available on this value sun.functions() -> List"},{"id":"constant_member:mercury.name","name":"name","path":"mercury.name","kind":"field","aliases":[],"description":"canonical body name","syntax":["mercury.name -> Text"],"examples":["# Use mercury.name as the label in a body catalog row\nlet row = {label: mercury.name, radius: mercury.radius};\nprint row.label, row.radius;"],"arguments":[],"children":[],"resources":[],"doc":"Field: mercury.name - canonical body name\nSyntax:\n  mercury.name -> Text\nExample:\n# Use mercury.name as the label in a body catalog row\n   let row = {label: mercury.name, radius: mercury.radius};\n   print row.label, row.radius;","compact":"Field: mercury.name - canonical body name","search_text":"constant_member:mercury.name name mercury.name field canonical body name mercury.name -> Text"},{"id":"constant_member:mercury.kind","name":"kind","path":"mercury.kind","kind":"field","aliases":[],"description":"reference body kind","syntax":["mercury.kind -> Text"],"examples":["# Use mercury.kind to group a body catalog row\nlet row = {name: mercury.name, group: mercury.kind};\nprint row.group, row.name;"],"arguments":[],"children":[],"resources":[],"doc":"Field: mercury.kind - reference body kind\nSyntax:\n  mercury.kind -> Text\nExample:\n# Use mercury.kind to group a body catalog row\n   let row = {name: mercury.name, group: mercury.kind};\n   print row.group, row.name;","compact":"Field: mercury.kind - reference body kind","search_text":"constant_member:mercury.kind kind mercury.kind field reference body kind mercury.kind -> Text"},{"id":"constant_member:mercury.xmu","name":"xmu","path":"mercury.xmu","kind":"field","aliases":[],"description":"gravitational parameter in km^3/s^2","syntax":["mercury.xmu -> Number"],"examples":["# Compare mercury gravitational parameter with Earth\nprint mercury.name, mercury.xmu, mercury.xmu / earth.xmu;"],"arguments":[],"children":[],"resources":[],"doc":"Field: mercury.xmu - gravitational parameter in km^3/s^2\nSyntax:\n  mercury.xmu -> Number\nExample:\n# Compare mercury gravitational parameter with Earth\n   print mercury.name, mercury.xmu, mercury.xmu / earth.xmu;","compact":"Field: mercury.xmu - gravitational parameter in km^3/s^2","search_text":"constant_member:mercury.xmu xmu mercury.xmu field gravitational parameter in km^3/s^2 mercury.xmu -> Number"},{"id":"constant_member:mercury.radius","name":"radius","path":"mercury.radius","kind":"field","aliases":[],"description":"body radius in km","syntax":["mercury.radius -> Number"],"examples":["# Compare mercury radius with Earth for scale estimates\nprint mercury.name, mercury.radius, mercury.radius / earth.radius;"],"arguments":[],"children":[],"resources":[],"doc":"Field: mercury.radius - body radius in km\nSyntax:\n  mercury.radius -> Number\nExample:\n# Compare mercury radius with Earth for scale estimates\n   print mercury.name, mercury.radius, mercury.radius / earth.radius;","compact":"Field: mercury.radius - body radius in km","search_text":"constant_member:mercury.radius radius mercury.radius field body radius in km mercury.radius -> Number"},{"id":"constant_member:mercury.mass","name":"mass","path":"mercury.mass","kind":"field","aliases":[],"description":"body mass in kg","syntax":["mercury.mass -> Number"],"examples":["# Compare mercury mass with Earth for scale estimates\nprint mercury.name, mercury.mass, mercury.mass / earth.mass;"],"arguments":[],"children":[],"resources":[],"doc":"Field: mercury.mass - body mass in kg\nSyntax:\n  mercury.mass -> Number\nExample:\n# Compare mercury mass with Earth for scale estimates\n   print mercury.name, mercury.mass, mercury.mass / earth.mass;","compact":"Field: mercury.mass - body mass in kg","search_text":"constant_member:mercury.mass mass mercury.mass field body mass in kg mercury.mass -> Number"},{"id":"constant_member:mercury.H","name":"H","path":"mercury.H","kind":"field","aliases":[],"description":"reference absolute magnitude parameter","syntax":["mercury.H -> Number"],"examples":["# Use mercury.H as the absolute magnitude term in a report\nprint mercury.name, mercury.H;"],"arguments":[],"children":[],"resources":[],"doc":"Field: mercury.H - reference absolute magnitude parameter\nSyntax:\n  mercury.H -> Number\nExample:\n# Use mercury.H as the absolute magnitude term in a report\n   print mercury.name, mercury.H;","compact":"Field: mercury.H - reference absolute magnitude parameter","search_text":"constant_member:mercury.H H mercury.H field reference absolute magnitude parameter mercury.H -> Number"},{"id":"constant_member:mercury.n","name":"n","path":"mercury.n","kind":"field","aliases":[],"description":"reference illumination exponent","syntax":["mercury.n -> Number"],"examples":["# Use mercury.n as the photometric phase slope term\nprint mercury.name, mercury.n, mercury.H + mercury.n;"],"arguments":[],"children":[],"resources":[],"doc":"Field: mercury.n - reference illumination exponent\nSyntax:\n  mercury.n -> Number\nExample:\n# Use mercury.n as the photometric phase slope term\n   print mercury.name, mercury.n, mercury.H + mercury.n;","compact":"Field: mercury.n - reference illumination exponent","search_text":"constant_member:mercury.n n mercury.n field reference illumination exponent mercury.n -> Number"},{"id":"constant_member:mercury.k","name":"k","path":"mercury.k","kind":"field","aliases":[],"description":"reference G Muller constant","syntax":["mercury.k -> Number"],"examples":["# Use mercury.k as the photometric curvature term\nprint mercury.name, mercury.k, mercury.H + mercury.k;"],"arguments":[],"children":[],"resources":[],"doc":"Field: mercury.k - reference G Muller constant\nSyntax:\n  mercury.k -> Number\nExample:\n# Use mercury.k as the photometric curvature term\n   print mercury.name, mercury.k, mercury.H + mercury.k;","compact":"Field: mercury.k - reference G Muller constant","search_text":"constant_member:mercury.k k mercury.k field reference G Muller constant mercury.k -> Number"},{"id":"constant_member:mercury.known","name":"known","path":"mercury.known","kind":"field","aliases":[],"description":"whether the body name matched the built-in table","syntax":["mercury.known -> Bool"],"examples":["# Verify whether mercury has built-in physical metadata\nprint mercury.name, mercury.known;"],"arguments":[],"children":[],"resources":[],"doc":"Field: mercury.known - whether the body name matched the built-in table\nSyntax:\n  mercury.known -> Bool\nExample:\n# Verify whether mercury has built-in physical metadata\n   print mercury.name, mercury.known;","compact":"Field: mercury.known - whether the body name matched the built-in table","search_text":"constant_member:mercury.known known mercury.known field whether the body name matched the built-in table mercury.known -> Bool"},{"id":"constant_member:mercury.rotational_axis","name":"rotational_axis","path":"mercury.rotational_axis","kind":"method","aliases":[],"description":"returns this body's rotational north pole at a time","syntax":["mercury.rotational_axis(time: Time) -> Object"],"examples":["# Use the mercury constant with its rotational_axis member\nlet value = mercury;\nprint value.rotational_axis(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: mercury.rotational_axis - returns this body's rotational north pole at a time\nSyntax:\n  mercury.rotational_axis(time: Time) -> Object\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the mercury constant with its rotational_axis member\n   let value = mercury;\n   print value.rotational_axis(time());","compact":"Method: mercury.rotational_axis - returns this body's rotational north pole at a time","search_text":"constant_member:mercury.rotational_axis rotational_axis mercury.rotational_axis method returns this body's rotational north pole at a time mercury.rotational_axis(time: Time) -> Object time Time time at which to evaluate the rotational pole"},{"id":"constant_member:mercury.rotational_axis_ra","name":"rotational_axis_ra","path":"mercury.rotational_axis_ra","kind":"method","aliases":[],"description":"returns the rotational north-pole right ascension in degrees","syntax":["mercury.rotational_axis_ra(time: Time) -> Number"],"examples":["# Use the mercury constant with its rotational_axis_ra member\nlet value = mercury;\nprint value.rotational_axis_ra(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: mercury.rotational_axis_ra - returns the rotational north-pole right ascension in degrees\nSyntax:\n  mercury.rotational_axis_ra(time: Time) -> Number\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the mercury constant with its rotational_axis_ra member\n   let value = mercury;\n   print value.rotational_axis_ra(time());","compact":"Method: mercury.rotational_axis_ra - returns the rotational north-pole right ascension in degrees","search_text":"constant_member:mercury.rotational_axis_ra rotational_axis_ra mercury.rotational_axis_ra method returns the rotational north-pole right ascension in degrees mercury.rotational_axis_ra(time: Time) -> Number time Time time at which to evaluate the rotational pole"},{"id":"constant_member:mercury.rotational_axis_dec","name":"rotational_axis_dec","path":"mercury.rotational_axis_dec","kind":"method","aliases":[],"description":"returns the rotational north-pole declination in degrees","syntax":["mercury.rotational_axis_dec(time: Time) -> Number"],"examples":["# Use the mercury constant with its rotational_axis_dec member\nlet value = mercury;\nprint value.rotational_axis_dec(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: mercury.rotational_axis_dec - returns the rotational north-pole declination in degrees\nSyntax:\n  mercury.rotational_axis_dec(time: Time) -> Number\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the mercury constant with its rotational_axis_dec member\n   let value = mercury;\n   print value.rotational_axis_dec(time());","compact":"Method: mercury.rotational_axis_dec - returns the rotational north-pole declination in degrees","search_text":"constant_member:mercury.rotational_axis_dec rotational_axis_dec mercury.rotational_axis_dec method returns the rotational north-pole declination in degrees mercury.rotational_axis_dec(time: Time) -> Number time Time time at which to evaluate the rotational pole"},{"id":"constant_member:mercury.state","name":"state","path":"mercury.state","kind":"method","aliases":[],"description":"returns the orbital state for this body at a time","syntax":["mercury.state(time: Time) -> State"],"examples":["# Use the mercury constant with its state member\nlet value = mercury;\nprint value.state(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: mercury.state - returns the orbital state for this body at a time\nSyntax:\n  mercury.state(time: Time) -> State\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the mercury constant with its state member\n   let value = mercury;\n   print value.state(time());","compact":"Method: mercury.state - returns the orbital state for this body at a time","search_text":"constant_member:mercury.state state mercury.state method returns the orbital state for this body at a time mercury.state(time: Time) -> State time Time time at which to evaluate the rotational pole"},{"id":"constant_member:mercury.rise","name":"rise","path":"mercury.rise","kind":"method","aliases":[],"description":"returns sunrise or moonrise events for an observer","syntax":["mercury.rise(observer: Location|Observer, range: Range) -> List|Event|Nil"],"examples":["# Find mercury rise events from an explicit observer\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\nprint mercury.rise(obs, span).first();"],"arguments":[{"name":"observer","type":"Location|Observer","required":true,"description":"Earth location or observer for the local horizon event"},{"name":"range","type":"Range","required":true,"description":"time range to search; open ranges return the next event"}],"children":[],"resources":[],"doc":"Method: mercury.rise - returns sunrise or moonrise events for an observer\nSyntax:\n  mercury.rise(observer: Location|Observer, range: Range) -> List|Event|Nil\nArguments:\n  observer: Location|Observer - Earth location or observer for the local horizon event\n  range: Range - time range to search; open ranges return the next event\nExample:\n# Find mercury rise events from an explicit observer\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\n   print mercury.rise(obs, span).first();","compact":"Method: mercury.rise - returns sunrise or moonrise events for an observer","search_text":"constant_member:mercury.rise rise mercury.rise method returns sunrise or moonrise events for an observer mercury.rise(observer: Location|Observer, range: Range) -> List|Event|Nil observer Location|Observer Earth location or observer for the local horizon event range Range time range to search; open ranges return the next event"},{"id":"constant_member:mercury.set","name":"set","path":"mercury.set","kind":"method","aliases":[],"description":"returns sunset or moonset events for an observer","syntax":["mercury.set(observer: Location|Observer, range: Range) -> List|Event|Nil"],"examples":["# Find mercury set events from an explicit observer\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\nprint mercury.set(obs, span).first();"],"arguments":[{"name":"observer","type":"Location|Observer","required":true,"description":"Earth location or observer for the local horizon event"},{"name":"range","type":"Range","required":true,"description":"time range to search; open ranges return the next event"}],"children":[],"resources":[],"doc":"Method: mercury.set - returns sunset or moonset events for an observer\nSyntax:\n  mercury.set(observer: Location|Observer, range: Range) -> List|Event|Nil\nArguments:\n  observer: Location|Observer - Earth location or observer for the local horizon event\n  range: Range - time range to search; open ranges return the next event\nExample:\n# Find mercury set events from an explicit observer\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\n   print mercury.set(obs, span).first();","compact":"Method: mercury.set - returns sunset or moonset events for an observer","search_text":"constant_member:mercury.set set mercury.set method returns sunset or moonset events for an observer mercury.set(observer: Location|Observer, range: Range) -> List|Event|Nil observer Location|Observer Earth location or observer for the local horizon event range Range time range to search; open ranges return the next event"},{"id":"constant_member:mercury.conjunction","name":"conjunction","path":"mercury.conjunction","kind":"method","aliases":[],"description":"returns conjunction events for this body","syntax":["mercury.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the mercury constant with its conjunction member\nlet value = mercury;\nprint value.conjunction();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: mercury.conjunction - returns conjunction events for this body\nSyntax:\n  mercury.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the mercury constant with its conjunction member\n   let value = mercury;\n   print value.conjunction();","compact":"Method: mercury.conjunction - returns conjunction events for this body","search_text":"constant_member:mercury.conjunction conjunction mercury.conjunction method returns conjunction events for this body mercury.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:mercury.inferior_conjunction","name":"inferior_conjunction","path":"mercury.inferior_conjunction","kind":"method","aliases":[],"description":"returns inferior conjunction events for this body","syntax":["mercury.inferior_conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the mercury constant with its inferior_conjunction member\nlet value = mercury;\nprint value.inferior_conjunction();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: mercury.inferior_conjunction - returns inferior conjunction events for this body\nSyntax:\n  mercury.inferior_conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the mercury constant with its inferior_conjunction member\n   let value = mercury;\n   print value.inferior_conjunction();","compact":"Method: mercury.inferior_conjunction - returns inferior conjunction events for this body","search_text":"constant_member:mercury.inferior_conjunction inferior_conjunction mercury.inferior_conjunction method returns inferior conjunction events for this body mercury.inferior_conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:mercury.superior_conjunction","name":"superior_conjunction","path":"mercury.superior_conjunction","kind":"method","aliases":[],"description":"returns superior conjunction events for this body","syntax":["mercury.superior_conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the mercury constant with its superior_conjunction member\nlet value = mercury;\nprint value.superior_conjunction();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: mercury.superior_conjunction - returns superior conjunction events for this body\nSyntax:\n  mercury.superior_conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the mercury constant with its superior_conjunction member\n   let value = mercury;\n   print value.superior_conjunction();","compact":"Method: mercury.superior_conjunction - returns superior conjunction events for this body","search_text":"constant_member:mercury.superior_conjunction superior_conjunction mercury.superior_conjunction method returns superior conjunction events for this body mercury.superior_conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:mercury.greatest_eastern_elongation","name":"greatest_eastern_elongation","path":"mercury.greatest_eastern_elongation","kind":"method","aliases":[],"description":"returns greatest eastern elongation events for this body","syntax":["mercury.greatest_eastern_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the mercury constant with its greatest_eastern_elongation member\nlet value = mercury;\nprint value.greatest_eastern_elongation();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: mercury.greatest_eastern_elongation - returns greatest eastern elongation events for this body\nSyntax:\n  mercury.greatest_eastern_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the mercury constant with its greatest_eastern_elongation member\n   let value = mercury;\n   print value.greatest_eastern_elongation();","compact":"Method: mercury.greatest_eastern_elongation - returns greatest eastern elongation events for this body","search_text":"constant_member:mercury.greatest_eastern_elongation greatest_eastern_elongation mercury.greatest_eastern_elongation method returns greatest eastern elongation events for this body mercury.greatest_eastern_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:mercury.greatest_western_elongation","name":"greatest_western_elongation","path":"mercury.greatest_western_elongation","kind":"method","aliases":[],"description":"returns greatest western elongation events for this body","syntax":["mercury.greatest_western_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the mercury constant with its greatest_western_elongation member\nlet value = mercury;\nprint value.greatest_western_elongation();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: mercury.greatest_western_elongation - returns greatest western elongation events for this body\nSyntax:\n  mercury.greatest_western_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the mercury constant with its greatest_western_elongation member\n   let value = mercury;\n   print value.greatest_western_elongation();","compact":"Method: mercury.greatest_western_elongation - returns greatest western elongation events for this body","search_text":"constant_member:mercury.greatest_western_elongation greatest_western_elongation mercury.greatest_western_elongation method returns greatest western elongation events for this body mercury.greatest_western_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:mercury.greatest_elongation","name":"greatest_elongation","path":"mercury.greatest_elongation","kind":"method","aliases":[],"description":"returns greatest eastern and western elongation events for this body","syntax":["mercury.greatest_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the mercury constant with its greatest_elongation member\nlet value = mercury;\nprint value.greatest_elongation();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: mercury.greatest_elongation - returns greatest eastern and western elongation events for this body\nSyntax:\n  mercury.greatest_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the mercury constant with its greatest_elongation member\n   let value = mercury;\n   print value.greatest_elongation();","compact":"Method: mercury.greatest_elongation - returns greatest eastern and western elongation events for this body","search_text":"constant_member:mercury.greatest_elongation greatest_elongation mercury.greatest_elongation method returns greatest eastern and western elongation events for this body mercury.greatest_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:mercury.periapsis","name":"periapsis","path":"mercury.periapsis","kind":"method","aliases":[],"description":"returns periapsis events for this body","syntax":["mercury.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find periapsis events for the mercury help entry\nlet value = mercury;\nlet span = range(time(2024,1,1,0,0,0), time(2024,1,10,0,0,0), 1);\nprint \"mercury\", value.periapsis(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: mercury.periapsis - returns periapsis events for this body\nSyntax:\n  mercury.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find periapsis events for the mercury help entry\n   let value = mercury;\n   let span = range(time(2024,1,1,0,0,0), time(2024,1,10,0,0,0), 1);\n   print \"mercury\", value.periapsis(span).first();","compact":"Method: mercury.periapsis - returns periapsis events for this body","search_text":"constant_member:mercury.periapsis periapsis mercury.periapsis method returns periapsis events for this body mercury.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:mercury.apoapsis","name":"apoapsis","path":"mercury.apoapsis","kind":"method","aliases":[],"description":"returns apoapsis events for this body","syntax":["mercury.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find apoapsis events for the mercury help entry\nlet value = mercury;\nlet span = range(time(2024,7,1,0,0,0), time(2024,7,10,0,0,0), 1);\nprint \"mercury\", value.apoapsis(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: mercury.apoapsis - returns apoapsis events for this body\nSyntax:\n  mercury.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find apoapsis events for the mercury help entry\n   let value = mercury;\n   let span = range(time(2024,7,1,0,0,0), time(2024,7,10,0,0,0), 1);\n   print \"mercury\", value.apoapsis(span).first();","compact":"Method: mercury.apoapsis - returns apoapsis events for this body","search_text":"constant_member:mercury.apoapsis apoapsis mercury.apoapsis method returns apoapsis events for this body mercury.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:mercury.transit","name":"transit","path":"mercury.transit","kind":"method","aliases":[],"description":"returns solar transit events for Mercury or Venus","syntax":["mercury.transit(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the mercury constant with its transit member\nlet value = mercury;\nprint value.transit();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: mercury.transit - returns solar transit events for Mercury or Venus\nSyntax:\n  mercury.transit(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the mercury constant with its transit member\n   let value = mercury;\n   print value.transit();","compact":"Method: mercury.transit - returns solar transit events for Mercury or Venus","search_text":"constant_member:mercury.transit transit mercury.transit method returns solar transit events for Mercury or Venus mercury.transit(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:mercury.children","name":"children","path":"mercury.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["mercury.children() -> List"],"examples":["# Inspect child entries available from the mercury constant\nlet value = mercury;\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: mercury.children - lists child fields and callable members available on this value\nSyntax:\n  mercury.children() -> List\nExample:\n# Inspect child entries available from the mercury constant\n   let value = mercury;\n   print value.children();","compact":"Method: mercury.children - lists child fields and callable members available on this value","search_text":"constant_member:mercury.children children mercury.children method lists child fields and callable members available on this value mercury.children() -> List"},{"id":"constant_member:mercury.fields","name":"fields","path":"mercury.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["mercury.fields() -> Object"],"examples":["# Inspect plain fields on the mercury constant\nlet value = mercury;\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: mercury.fields - returns an object containing the value's plain fields\nSyntax:\n  mercury.fields() -> Object\nExample:\n# Inspect plain fields on the mercury constant\n   let value = mercury;\n   print value.fields();","compact":"Method: mercury.fields - returns an object containing the value's plain fields","search_text":"constant_member:mercury.fields fields mercury.fields method returns an object containing the value's plain fields mercury.fields() -> Object"},{"id":"constant_member:mercury.functions","name":"functions","path":"mercury.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["mercury.functions() -> List"],"examples":["# Inspect callable members on the mercury constant\nlet value = mercury;\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: mercury.functions - lists callable members available on this value\nSyntax:\n  mercury.functions() -> List\nExample:\n# Inspect callable members on the mercury constant\n   let value = mercury;\n   print value.functions();","compact":"Method: mercury.functions - lists callable members available on this value","search_text":"constant_member:mercury.functions functions mercury.functions method lists callable members available on this value mercury.functions() -> List"},{"id":"constant_member:venus.name","name":"name","path":"venus.name","kind":"field","aliases":[],"description":"canonical body name","syntax":["venus.name -> Text"],"examples":["# Use venus.name as the label in a body catalog row\nlet row = {label: venus.name, radius: venus.radius};\nprint row.label, row.radius;"],"arguments":[],"children":[],"resources":[],"doc":"Field: venus.name - canonical body name\nSyntax:\n  venus.name -> Text\nExample:\n# Use venus.name as the label in a body catalog row\n   let row = {label: venus.name, radius: venus.radius};\n   print row.label, row.radius;","compact":"Field: venus.name - canonical body name","search_text":"constant_member:venus.name name venus.name field canonical body name venus.name -> Text"},{"id":"constant_member:venus.kind","name":"kind","path":"venus.kind","kind":"field","aliases":[],"description":"reference body kind","syntax":["venus.kind -> Text"],"examples":["# Use venus.kind to group a body catalog row\nlet row = {name: venus.name, group: venus.kind};\nprint row.group, row.name;"],"arguments":[],"children":[],"resources":[],"doc":"Field: venus.kind - reference body kind\nSyntax:\n  venus.kind -> Text\nExample:\n# Use venus.kind to group a body catalog row\n   let row = {name: venus.name, group: venus.kind};\n   print row.group, row.name;","compact":"Field: venus.kind - reference body kind","search_text":"constant_member:venus.kind kind venus.kind field reference body kind venus.kind -> Text"},{"id":"constant_member:venus.xmu","name":"xmu","path":"venus.xmu","kind":"field","aliases":[],"description":"gravitational parameter in km^3/s^2","syntax":["venus.xmu -> Number"],"examples":["# Compare venus gravitational parameter with Earth\nprint venus.name, venus.xmu, venus.xmu / earth.xmu;"],"arguments":[],"children":[],"resources":[],"doc":"Field: venus.xmu - gravitational parameter in km^3/s^2\nSyntax:\n  venus.xmu -> Number\nExample:\n# Compare venus gravitational parameter with Earth\n   print venus.name, venus.xmu, venus.xmu / earth.xmu;","compact":"Field: venus.xmu - gravitational parameter in km^3/s^2","search_text":"constant_member:venus.xmu xmu venus.xmu field gravitational parameter in km^3/s^2 venus.xmu -> Number"},{"id":"constant_member:venus.radius","name":"radius","path":"venus.radius","kind":"field","aliases":[],"description":"body radius in km","syntax":["venus.radius -> Number"],"examples":["# Compare venus radius with Earth for scale estimates\nprint venus.name, venus.radius, venus.radius / earth.radius;"],"arguments":[],"children":[],"resources":[],"doc":"Field: venus.radius - body radius in km\nSyntax:\n  venus.radius -> Number\nExample:\n# Compare venus radius with Earth for scale estimates\n   print venus.name, venus.radius, venus.radius / earth.radius;","compact":"Field: venus.radius - body radius in km","search_text":"constant_member:venus.radius radius venus.radius field body radius in km venus.radius -> Number"},{"id":"constant_member:venus.mass","name":"mass","path":"venus.mass","kind":"field","aliases":[],"description":"body mass in kg","syntax":["venus.mass -> Number"],"examples":["# Compare venus mass with Earth for scale estimates\nprint venus.name, venus.mass, venus.mass / earth.mass;"],"arguments":[],"children":[],"resources":[],"doc":"Field: venus.mass - body mass in kg\nSyntax:\n  venus.mass -> Number\nExample:\n# Compare venus mass with Earth for scale estimates\n   print venus.name, venus.mass, venus.mass / earth.mass;","compact":"Field: venus.mass - body mass in kg","search_text":"constant_member:venus.mass mass venus.mass field body mass in kg venus.mass -> Number"},{"id":"constant_member:venus.H","name":"H","path":"venus.H","kind":"field","aliases":[],"description":"reference absolute magnitude parameter","syntax":["venus.H -> Number"],"examples":["# Use venus.H as the absolute magnitude term in a report\nprint venus.name, venus.H;"],"arguments":[],"children":[],"resources":[],"doc":"Field: venus.H - reference absolute magnitude parameter\nSyntax:\n  venus.H -> Number\nExample:\n# Use venus.H as the absolute magnitude term in a report\n   print venus.name, venus.H;","compact":"Field: venus.H - reference absolute magnitude parameter","search_text":"constant_member:venus.H H venus.H field reference absolute magnitude parameter venus.H -> Number"},{"id":"constant_member:venus.n","name":"n","path":"venus.n","kind":"field","aliases":[],"description":"reference illumination exponent","syntax":["venus.n -> Number"],"examples":["# Use venus.n as the photometric phase slope term\nprint venus.name, venus.n, venus.H + venus.n;"],"arguments":[],"children":[],"resources":[],"doc":"Field: venus.n - reference illumination exponent\nSyntax:\n  venus.n -> Number\nExample:\n# Use venus.n as the photometric phase slope term\n   print venus.name, venus.n, venus.H + venus.n;","compact":"Field: venus.n - reference illumination exponent","search_text":"constant_member:venus.n n venus.n field reference illumination exponent venus.n -> Number"},{"id":"constant_member:venus.k","name":"k","path":"venus.k","kind":"field","aliases":[],"description":"reference G Muller constant","syntax":["venus.k -> Number"],"examples":["# Use venus.k as the photometric curvature term\nprint venus.name, venus.k, venus.H + venus.k;"],"arguments":[],"children":[],"resources":[],"doc":"Field: venus.k - reference G Muller constant\nSyntax:\n  venus.k -> Number\nExample:\n# Use venus.k as the photometric curvature term\n   print venus.name, venus.k, venus.H + venus.k;","compact":"Field: venus.k - reference G Muller constant","search_text":"constant_member:venus.k k venus.k field reference G Muller constant venus.k -> Number"},{"id":"constant_member:venus.known","name":"known","path":"venus.known","kind":"field","aliases":[],"description":"whether the body name matched the built-in table","syntax":["venus.known -> Bool"],"examples":["# Verify whether venus has built-in physical metadata\nprint venus.name, venus.known;"],"arguments":[],"children":[],"resources":[],"doc":"Field: venus.known - whether the body name matched the built-in table\nSyntax:\n  venus.known -> Bool\nExample:\n# Verify whether venus has built-in physical metadata\n   print venus.name, venus.known;","compact":"Field: venus.known - whether the body name matched the built-in table","search_text":"constant_member:venus.known known venus.known field whether the body name matched the built-in table venus.known -> Bool"},{"id":"constant_member:venus.rotational_axis","name":"rotational_axis","path":"venus.rotational_axis","kind":"method","aliases":[],"description":"returns this body's rotational north pole at a time","syntax":["venus.rotational_axis(time: Time) -> Object"],"examples":["# Use the venus constant with its rotational_axis member\nlet value = venus;\nprint value.rotational_axis(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: venus.rotational_axis - returns this body's rotational north pole at a time\nSyntax:\n  venus.rotational_axis(time: Time) -> Object\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the venus constant with its rotational_axis member\n   let value = venus;\n   print value.rotational_axis(time());","compact":"Method: venus.rotational_axis - returns this body's rotational north pole at a time","search_text":"constant_member:venus.rotational_axis rotational_axis venus.rotational_axis method returns this body's rotational north pole at a time venus.rotational_axis(time: Time) -> Object time Time time at which to evaluate the rotational pole"},{"id":"constant_member:venus.rotational_axis_ra","name":"rotational_axis_ra","path":"venus.rotational_axis_ra","kind":"method","aliases":[],"description":"returns the rotational north-pole right ascension in degrees","syntax":["venus.rotational_axis_ra(time: Time) -> Number"],"examples":["# Use the venus constant with its rotational_axis_ra member\nlet value = venus;\nprint value.rotational_axis_ra(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: venus.rotational_axis_ra - returns the rotational north-pole right ascension in degrees\nSyntax:\n  venus.rotational_axis_ra(time: Time) -> Number\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the venus constant with its rotational_axis_ra member\n   let value = venus;\n   print value.rotational_axis_ra(time());","compact":"Method: venus.rotational_axis_ra - returns the rotational north-pole right ascension in degrees","search_text":"constant_member:venus.rotational_axis_ra rotational_axis_ra venus.rotational_axis_ra method returns the rotational north-pole right ascension in degrees venus.rotational_axis_ra(time: Time) -> Number time Time time at which to evaluate the rotational pole"},{"id":"constant_member:venus.rotational_axis_dec","name":"rotational_axis_dec","path":"venus.rotational_axis_dec","kind":"method","aliases":[],"description":"returns the rotational north-pole declination in degrees","syntax":["venus.rotational_axis_dec(time: Time) -> Number"],"examples":["# Use the venus constant with its rotational_axis_dec member\nlet value = venus;\nprint value.rotational_axis_dec(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: venus.rotational_axis_dec - returns the rotational north-pole declination in degrees\nSyntax:\n  venus.rotational_axis_dec(time: Time) -> Number\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the venus constant with its rotational_axis_dec member\n   let value = venus;\n   print value.rotational_axis_dec(time());","compact":"Method: venus.rotational_axis_dec - returns the rotational north-pole declination in degrees","search_text":"constant_member:venus.rotational_axis_dec rotational_axis_dec venus.rotational_axis_dec method returns the rotational north-pole declination in degrees venus.rotational_axis_dec(time: Time) -> Number time Time time at which to evaluate the rotational pole"},{"id":"constant_member:venus.state","name":"state","path":"venus.state","kind":"method","aliases":[],"description":"returns the orbital state for this body at a time","syntax":["venus.state(time: Time) -> State"],"examples":["# Use the venus constant with its state member\nlet value = venus;\nprint value.state(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: venus.state - returns the orbital state for this body at a time\nSyntax:\n  venus.state(time: Time) -> State\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the venus constant with its state member\n   let value = venus;\n   print value.state(time());","compact":"Method: venus.state - returns the orbital state for this body at a time","search_text":"constant_member:venus.state state venus.state method returns the orbital state for this body at a time venus.state(time: Time) -> State time Time time at which to evaluate the rotational pole"},{"id":"constant_member:venus.rise","name":"rise","path":"venus.rise","kind":"method","aliases":[],"description":"returns sunrise or moonrise events for an observer","syntax":["venus.rise(observer: Location|Observer, range: Range) -> List|Event|Nil"],"examples":["# Find venus rise events from an explicit observer\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\nprint venus.rise(obs, span).first();"],"arguments":[{"name":"observer","type":"Location|Observer","required":true,"description":"Earth location or observer for the local horizon event"},{"name":"range","type":"Range","required":true,"description":"time range to search; open ranges return the next event"}],"children":[],"resources":[],"doc":"Method: venus.rise - returns sunrise or moonrise events for an observer\nSyntax:\n  venus.rise(observer: Location|Observer, range: Range) -> List|Event|Nil\nArguments:\n  observer: Location|Observer - Earth location or observer for the local horizon event\n  range: Range - time range to search; open ranges return the next event\nExample:\n# Find venus rise events from an explicit observer\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\n   print venus.rise(obs, span).first();","compact":"Method: venus.rise - returns sunrise or moonrise events for an observer","search_text":"constant_member:venus.rise rise venus.rise method returns sunrise or moonrise events for an observer venus.rise(observer: Location|Observer, range: Range) -> List|Event|Nil observer Location|Observer Earth location or observer for the local horizon event range Range time range to search; open ranges return the next event"},{"id":"constant_member:venus.set","name":"set","path":"venus.set","kind":"method","aliases":[],"description":"returns sunset or moonset events for an observer","syntax":["venus.set(observer: Location|Observer, range: Range) -> List|Event|Nil"],"examples":["# Find venus set events from an explicit observer\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\nprint venus.set(obs, span).first();"],"arguments":[{"name":"observer","type":"Location|Observer","required":true,"description":"Earth location or observer for the local horizon event"},{"name":"range","type":"Range","required":true,"description":"time range to search; open ranges return the next event"}],"children":[],"resources":[],"doc":"Method: venus.set - returns sunset or moonset events for an observer\nSyntax:\n  venus.set(observer: Location|Observer, range: Range) -> List|Event|Nil\nArguments:\n  observer: Location|Observer - Earth location or observer for the local horizon event\n  range: Range - time range to search; open ranges return the next event\nExample:\n# Find venus set events from an explicit observer\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\n   print venus.set(obs, span).first();","compact":"Method: venus.set - returns sunset or moonset events for an observer","search_text":"constant_member:venus.set set venus.set method returns sunset or moonset events for an observer venus.set(observer: Location|Observer, range: Range) -> List|Event|Nil observer Location|Observer Earth location or observer for the local horizon event range Range time range to search; open ranges return the next event"},{"id":"constant_member:venus.conjunction","name":"conjunction","path":"venus.conjunction","kind":"method","aliases":[],"description":"returns conjunction events for this body","syntax":["venus.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the venus constant with its conjunction member\nlet value = venus;\nprint value.conjunction();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: venus.conjunction - returns conjunction events for this body\nSyntax:\n  venus.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the venus constant with its conjunction member\n   let value = venus;\n   print value.conjunction();","compact":"Method: venus.conjunction - returns conjunction events for this body","search_text":"constant_member:venus.conjunction conjunction venus.conjunction method returns conjunction events for this body venus.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:venus.inferior_conjunction","name":"inferior_conjunction","path":"venus.inferior_conjunction","kind":"method","aliases":[],"description":"returns inferior conjunction events for this body","syntax":["venus.inferior_conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the venus constant with its inferior_conjunction member\nlet value = venus;\nprint value.inferior_conjunction();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: venus.inferior_conjunction - returns inferior conjunction events for this body\nSyntax:\n  venus.inferior_conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the venus constant with its inferior_conjunction member\n   let value = venus;\n   print value.inferior_conjunction();","compact":"Method: venus.inferior_conjunction - returns inferior conjunction events for this body","search_text":"constant_member:venus.inferior_conjunction inferior_conjunction venus.inferior_conjunction method returns inferior conjunction events for this body venus.inferior_conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:venus.superior_conjunction","name":"superior_conjunction","path":"venus.superior_conjunction","kind":"method","aliases":[],"description":"returns superior conjunction events for this body","syntax":["venus.superior_conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the venus constant with its superior_conjunction member\nlet value = venus;\nprint value.superior_conjunction();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: venus.superior_conjunction - returns superior conjunction events for this body\nSyntax:\n  venus.superior_conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the venus constant with its superior_conjunction member\n   let value = venus;\n   print value.superior_conjunction();","compact":"Method: venus.superior_conjunction - returns superior conjunction events for this body","search_text":"constant_member:venus.superior_conjunction superior_conjunction venus.superior_conjunction method returns superior conjunction events for this body venus.superior_conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:venus.greatest_eastern_elongation","name":"greatest_eastern_elongation","path":"venus.greatest_eastern_elongation","kind":"method","aliases":[],"description":"returns greatest eastern elongation events for this body","syntax":["venus.greatest_eastern_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the venus constant with its greatest_eastern_elongation member\nlet value = venus;\nprint value.greatest_eastern_elongation();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: venus.greatest_eastern_elongation - returns greatest eastern elongation events for this body\nSyntax:\n  venus.greatest_eastern_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the venus constant with its greatest_eastern_elongation member\n   let value = venus;\n   print value.greatest_eastern_elongation();","compact":"Method: venus.greatest_eastern_elongation - returns greatest eastern elongation events for this body","search_text":"constant_member:venus.greatest_eastern_elongation greatest_eastern_elongation venus.greatest_eastern_elongation method returns greatest eastern elongation events for this body venus.greatest_eastern_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:venus.greatest_western_elongation","name":"greatest_western_elongation","path":"venus.greatest_western_elongation","kind":"method","aliases":[],"description":"returns greatest western elongation events for this body","syntax":["venus.greatest_western_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the venus constant with its greatest_western_elongation member\nlet value = venus;\nprint value.greatest_western_elongation();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: venus.greatest_western_elongation - returns greatest western elongation events for this body\nSyntax:\n  venus.greatest_western_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the venus constant with its greatest_western_elongation member\n   let value = venus;\n   print value.greatest_western_elongation();","compact":"Method: venus.greatest_western_elongation - returns greatest western elongation events for this body","search_text":"constant_member:venus.greatest_western_elongation greatest_western_elongation venus.greatest_western_elongation method returns greatest western elongation events for this body venus.greatest_western_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:venus.greatest_elongation","name":"greatest_elongation","path":"venus.greatest_elongation","kind":"method","aliases":[],"description":"returns greatest eastern and western elongation events for this body","syntax":["venus.greatest_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the venus constant with its greatest_elongation member\nlet value = venus;\nprint value.greatest_elongation();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: venus.greatest_elongation - returns greatest eastern and western elongation events for this body\nSyntax:\n  venus.greatest_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the venus constant with its greatest_elongation member\n   let value = venus;\n   print value.greatest_elongation();","compact":"Method: venus.greatest_elongation - returns greatest eastern and western elongation events for this body","search_text":"constant_member:venus.greatest_elongation greatest_elongation venus.greatest_elongation method returns greatest eastern and western elongation events for this body venus.greatest_elongation(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:venus.periapsis","name":"periapsis","path":"venus.periapsis","kind":"method","aliases":[],"description":"returns periapsis events for this body","syntax":["venus.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find periapsis events for the venus help entry\nlet value = venus;\nlet span = range(time(2024,1,1,0,0,0), time(2024,1,10,0,0,0), 1);\nprint \"venus\", value.periapsis(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: venus.periapsis - returns periapsis events for this body\nSyntax:\n  venus.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find periapsis events for the venus help entry\n   let value = venus;\n   let span = range(time(2024,1,1,0,0,0), time(2024,1,10,0,0,0), 1);\n   print \"venus\", value.periapsis(span).first();","compact":"Method: venus.periapsis - returns periapsis events for this body","search_text":"constant_member:venus.periapsis periapsis venus.periapsis method returns periapsis events for this body venus.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:venus.apoapsis","name":"apoapsis","path":"venus.apoapsis","kind":"method","aliases":[],"description":"returns apoapsis events for this body","syntax":["venus.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find apoapsis events for the venus help entry\nlet value = venus;\nlet span = range(time(2024,7,1,0,0,0), time(2024,7,10,0,0,0), 1);\nprint \"venus\", value.apoapsis(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: venus.apoapsis - returns apoapsis events for this body\nSyntax:\n  venus.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find apoapsis events for the venus help entry\n   let value = venus;\n   let span = range(time(2024,7,1,0,0,0), time(2024,7,10,0,0,0), 1);\n   print \"venus\", value.apoapsis(span).first();","compact":"Method: venus.apoapsis - returns apoapsis events for this body","search_text":"constant_member:venus.apoapsis apoapsis venus.apoapsis method returns apoapsis events for this body venus.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:venus.transit","name":"transit","path":"venus.transit","kind":"method","aliases":[],"description":"returns solar transit events for Mercury or Venus","syntax":["venus.transit(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the venus constant with its transit member\nlet value = venus;\nprint value.transit();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: venus.transit - returns solar transit events for Mercury or Venus\nSyntax:\n  venus.transit(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the venus constant with its transit member\n   let value = venus;\n   print value.transit();","compact":"Method: venus.transit - returns solar transit events for Mercury or Venus","search_text":"constant_member:venus.transit transit venus.transit method returns solar transit events for Mercury or Venus venus.transit(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:venus.children","name":"children","path":"venus.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["venus.children() -> List"],"examples":["# Inspect child entries available from the venus constant\nlet value = venus;\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: venus.children - lists child fields and callable members available on this value\nSyntax:\n  venus.children() -> List\nExample:\n# Inspect child entries available from the venus constant\n   let value = venus;\n   print value.children();","compact":"Method: venus.children - lists child fields and callable members available on this value","search_text":"constant_member:venus.children children venus.children method lists child fields and callable members available on this value venus.children() -> List"},{"id":"constant_member:venus.fields","name":"fields","path":"venus.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["venus.fields() -> Object"],"examples":["# Inspect plain fields on the venus constant\nlet value = venus;\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: venus.fields - returns an object containing the value's plain fields\nSyntax:\n  venus.fields() -> Object\nExample:\n# Inspect plain fields on the venus constant\n   let value = venus;\n   print value.fields();","compact":"Method: venus.fields - returns an object containing the value's plain fields","search_text":"constant_member:venus.fields fields venus.fields method returns an object containing the value's plain fields venus.fields() -> Object"},{"id":"constant_member:venus.functions","name":"functions","path":"venus.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["venus.functions() -> List"],"examples":["# Inspect callable members on the venus constant\nlet value = venus;\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: venus.functions - lists callable members available on this value\nSyntax:\n  venus.functions() -> List\nExample:\n# Inspect callable members on the venus constant\n   let value = venus;\n   print value.functions();","compact":"Method: venus.functions - lists callable members available on this value","search_text":"constant_member:venus.functions functions venus.functions method lists callable members available on this value venus.functions() -> List"},{"id":"constant_member:moon.name","name":"name","path":"moon.name","kind":"field","aliases":[],"description":"canonical body name","syntax":["moon.name -> Text"],"examples":["# Use moon.name as the label in a body catalog row\nlet row = {label: moon.name, radius: moon.radius};\nprint row.label, row.radius;"],"arguments":[],"children":[],"resources":[],"doc":"Field: moon.name - canonical body name\nSyntax:\n  moon.name -> Text\nExample:\n# Use moon.name as the label in a body catalog row\n   let row = {label: moon.name, radius: moon.radius};\n   print row.label, row.radius;","compact":"Field: moon.name - canonical body name","search_text":"constant_member:moon.name name moon.name field canonical body name moon.name -> Text"},{"id":"constant_member:moon.kind","name":"kind","path":"moon.kind","kind":"field","aliases":[],"description":"reference body kind","syntax":["moon.kind -> Text"],"examples":["# Use moon.kind to group a body catalog row\nlet row = {name: moon.name, group: moon.kind};\nprint row.group, row.name;"],"arguments":[],"children":[],"resources":[],"doc":"Field: moon.kind - reference body kind\nSyntax:\n  moon.kind -> Text\nExample:\n# Use moon.kind to group a body catalog row\n   let row = {name: moon.name, group: moon.kind};\n   print row.group, row.name;","compact":"Field: moon.kind - reference body kind","search_text":"constant_member:moon.kind kind moon.kind field reference body kind moon.kind -> Text"},{"id":"constant_member:moon.xmu","name":"xmu","path":"moon.xmu","kind":"field","aliases":[],"description":"gravitational parameter in km^3/s^2","syntax":["moon.xmu -> Number"],"examples":["# Compare moon gravitational parameter with Earth\nprint moon.name, moon.xmu, moon.xmu / earth.xmu;"],"arguments":[],"children":[],"resources":[],"doc":"Field: moon.xmu - gravitational parameter in km^3/s^2\nSyntax:\n  moon.xmu -> Number\nExample:\n# Compare moon gravitational parameter with Earth\n   print moon.name, moon.xmu, moon.xmu / earth.xmu;","compact":"Field: moon.xmu - gravitational parameter in km^3/s^2","search_text":"constant_member:moon.xmu xmu moon.xmu field gravitational parameter in km^3/s^2 moon.xmu -> Number"},{"id":"constant_member:moon.radius","name":"radius","path":"moon.radius","kind":"field","aliases":[],"description":"body radius in km","syntax":["moon.radius -> Number"],"examples":["# Compare moon radius with Earth for scale estimates\nprint moon.name, moon.radius, moon.radius / earth.radius;"],"arguments":[],"children":[],"resources":[],"doc":"Field: moon.radius - body radius in km\nSyntax:\n  moon.radius -> Number\nExample:\n# Compare moon radius with Earth for scale estimates\n   print moon.name, moon.radius, moon.radius / earth.radius;","compact":"Field: moon.radius - body radius in km","search_text":"constant_member:moon.radius radius moon.radius field body radius in km moon.radius -> Number"},{"id":"constant_member:moon.mass","name":"mass","path":"moon.mass","kind":"field","aliases":[],"description":"body mass in kg","syntax":["moon.mass -> Number"],"examples":["# Compare moon mass with Earth for scale estimates\nprint moon.name, moon.mass, moon.mass / earth.mass;"],"arguments":[],"children":[],"resources":[],"doc":"Field: moon.mass - body mass in kg\nSyntax:\n  moon.mass -> Number\nExample:\n# Compare moon mass with Earth for scale estimates\n   print moon.name, moon.mass, moon.mass / earth.mass;","compact":"Field: moon.mass - body mass in kg","search_text":"constant_member:moon.mass mass moon.mass field body mass in kg moon.mass -> Number"},{"id":"constant_member:moon.H","name":"H","path":"moon.H","kind":"field","aliases":[],"description":"reference absolute magnitude parameter","syntax":["moon.H -> Number"],"examples":["# Use moon.H as the absolute magnitude term in a report\nprint moon.name, moon.H;"],"arguments":[],"children":[],"resources":[],"doc":"Field: moon.H - reference absolute magnitude parameter\nSyntax:\n  moon.H -> Number\nExample:\n# Use moon.H as the absolute magnitude term in a report\n   print moon.name, moon.H;","compact":"Field: moon.H - reference absolute magnitude parameter","search_text":"constant_member:moon.H H moon.H field reference absolute magnitude parameter moon.H -> Number"},{"id":"constant_member:moon.n","name":"n","path":"moon.n","kind":"field","aliases":[],"description":"reference illumination exponent","syntax":["moon.n -> Number"],"examples":["# Use moon.n as the photometric phase slope term\nprint moon.name, moon.n, moon.H + moon.n;"],"arguments":[],"children":[],"resources":[],"doc":"Field: moon.n - reference illumination exponent\nSyntax:\n  moon.n -> Number\nExample:\n# Use moon.n as the photometric phase slope term\n   print moon.name, moon.n, moon.H + moon.n;","compact":"Field: moon.n - reference illumination exponent","search_text":"constant_member:moon.n n moon.n field reference illumination exponent moon.n -> Number"},{"id":"constant_member:moon.k","name":"k","path":"moon.k","kind":"field","aliases":[],"description":"reference G Muller constant","syntax":["moon.k -> Number"],"examples":["# Use moon.k as the photometric curvature term\nprint moon.name, moon.k, moon.H + moon.k;"],"arguments":[],"children":[],"resources":[],"doc":"Field: moon.k - reference G Muller constant\nSyntax:\n  moon.k -> Number\nExample:\n# Use moon.k as the photometric curvature term\n   print moon.name, moon.k, moon.H + moon.k;","compact":"Field: moon.k - reference G Muller constant","search_text":"constant_member:moon.k k moon.k field reference G Muller constant moon.k -> Number"},{"id":"constant_member:moon.known","name":"known","path":"moon.known","kind":"field","aliases":[],"description":"whether the body name matched the built-in table","syntax":["moon.known -> Bool"],"examples":["# Verify whether moon has built-in physical metadata\nprint moon.name, moon.known;"],"arguments":[],"children":[],"resources":[],"doc":"Field: moon.known - whether the body name matched the built-in table\nSyntax:\n  moon.known -> Bool\nExample:\n# Verify whether moon has built-in physical metadata\n   print moon.name, moon.known;","compact":"Field: moon.known - whether the body name matched the built-in table","search_text":"constant_member:moon.known known moon.known field whether the body name matched the built-in table moon.known -> Bool"},{"id":"constant_member:moon.rotational_axis","name":"rotational_axis","path":"moon.rotational_axis","kind":"method","aliases":[],"description":"returns this body's rotational north pole at a time","syntax":["moon.rotational_axis(time: Time) -> Object"],"examples":["# Use the moon constant with its rotational_axis member\nlet value = moon;\nprint value.rotational_axis(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: moon.rotational_axis - returns this body's rotational north pole at a time\nSyntax:\n  moon.rotational_axis(time: Time) -> Object\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the moon constant with its rotational_axis member\n   let value = moon;\n   print value.rotational_axis(time());","compact":"Method: moon.rotational_axis - returns this body's rotational north pole at a time","search_text":"constant_member:moon.rotational_axis rotational_axis moon.rotational_axis method returns this body's rotational north pole at a time moon.rotational_axis(time: Time) -> Object time Time time at which to evaluate the rotational pole"},{"id":"constant_member:moon.rotational_axis_ra","name":"rotational_axis_ra","path":"moon.rotational_axis_ra","kind":"method","aliases":[],"description":"returns the rotational north-pole right ascension in degrees","syntax":["moon.rotational_axis_ra(time: Time) -> Number"],"examples":["# Use the moon constant with its rotational_axis_ra member\nlet value = moon;\nprint value.rotational_axis_ra(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: moon.rotational_axis_ra - returns the rotational north-pole right ascension in degrees\nSyntax:\n  moon.rotational_axis_ra(time: Time) -> Number\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the moon constant with its rotational_axis_ra member\n   let value = moon;\n   print value.rotational_axis_ra(time());","compact":"Method: moon.rotational_axis_ra - returns the rotational north-pole right ascension in degrees","search_text":"constant_member:moon.rotational_axis_ra rotational_axis_ra moon.rotational_axis_ra method returns the rotational north-pole right ascension in degrees moon.rotational_axis_ra(time: Time) -> Number time Time time at which to evaluate the rotational pole"},{"id":"constant_member:moon.rotational_axis_dec","name":"rotational_axis_dec","path":"moon.rotational_axis_dec","kind":"method","aliases":[],"description":"returns the rotational north-pole declination in degrees","syntax":["moon.rotational_axis_dec(time: Time) -> Number"],"examples":["# Use the moon constant with its rotational_axis_dec member\nlet value = moon;\nprint value.rotational_axis_dec(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: moon.rotational_axis_dec - returns the rotational north-pole declination in degrees\nSyntax:\n  moon.rotational_axis_dec(time: Time) -> Number\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the moon constant with its rotational_axis_dec member\n   let value = moon;\n   print value.rotational_axis_dec(time());","compact":"Method: moon.rotational_axis_dec - returns the rotational north-pole declination in degrees","search_text":"constant_member:moon.rotational_axis_dec rotational_axis_dec moon.rotational_axis_dec method returns the rotational north-pole declination in degrees moon.rotational_axis_dec(time: Time) -> Number time Time time at which to evaluate the rotational pole"},{"id":"constant_member:moon.state","name":"state","path":"moon.state","kind":"method","aliases":[],"description":"returns the orbital state for this body at a time","syntax":["moon.state(time: Time) -> State"],"examples":["# Use the moon constant with its state member\nlet value = moon;\nprint value.state(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: moon.state - returns the orbital state for this body at a time\nSyntax:\n  moon.state(time: Time) -> State\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the moon constant with its state member\n   let value = moon;\n   print value.state(time());","compact":"Method: moon.state - returns the orbital state for this body at a time","search_text":"constant_member:moon.state state moon.state method returns the orbital state for this body at a time moon.state(time: Time) -> State time Time time at which to evaluate the rotational pole"},{"id":"constant_member:moon.rise","name":"rise","path":"moon.rise","kind":"method","aliases":[],"description":"returns sunrise or moonrise events for an observer","syntax":["moon.rise(observer: Location|Observer, range: Range) -> List|Event|Nil"],"examples":["# Find moon rise events from an explicit observer\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\nprint moon.rise(obs, span).first();"],"arguments":[{"name":"observer","type":"Location|Observer","required":true,"description":"Earth location or observer for the local horizon event"},{"name":"range","type":"Range","required":true,"description":"time range to search; open ranges return the next event"}],"children":[],"resources":[],"doc":"Method: moon.rise - returns sunrise or moonrise events for an observer\nSyntax:\n  moon.rise(observer: Location|Observer, range: Range) -> List|Event|Nil\nArguments:\n  observer: Location|Observer - Earth location or observer for the local horizon event\n  range: Range - time range to search; open ranges return the next event\nExample:\n# Find moon rise events from an explicit observer\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\n   print moon.rise(obs, span).first();","compact":"Method: moon.rise - returns sunrise or moonrise events for an observer","search_text":"constant_member:moon.rise rise moon.rise method returns sunrise or moonrise events for an observer moon.rise(observer: Location|Observer, range: Range) -> List|Event|Nil observer Location|Observer Earth location or observer for the local horizon event range Range time range to search; open ranges return the next event"},{"id":"constant_member:moon.set","name":"set","path":"moon.set","kind":"method","aliases":[],"description":"returns sunset or moonset events for an observer","syntax":["moon.set(observer: Location|Observer, range: Range) -> List|Event|Nil"],"examples":["# Find moon set events from an explicit observer\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\nprint moon.set(obs, span).first();"],"arguments":[{"name":"observer","type":"Location|Observer","required":true,"description":"Earth location or observer for the local horizon event"},{"name":"range","type":"Range","required":true,"description":"time range to search; open ranges return the next event"}],"children":[],"resources":[],"doc":"Method: moon.set - returns sunset or moonset events for an observer\nSyntax:\n  moon.set(observer: Location|Observer, range: Range) -> List|Event|Nil\nArguments:\n  observer: Location|Observer - Earth location or observer for the local horizon event\n  range: Range - time range to search; open ranges return the next event\nExample:\n# Find moon set events from an explicit observer\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\n   print moon.set(obs, span).first();","compact":"Method: moon.set - returns sunset or moonset events for an observer","search_text":"constant_member:moon.set set moon.set method returns sunset or moonset events for an observer moon.set(observer: Location|Observer, range: Range) -> List|Event|Nil observer Location|Observer Earth location or observer for the local horizon event range Range time range to search; open ranges return the next event"},{"id":"constant_member:moon.conjunction","name":"conjunction","path":"moon.conjunction","kind":"method","aliases":[],"description":"returns conjunction events for this body","syntax":["moon.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the moon constant with its conjunction member\nlet value = moon;\nprint value.conjunction();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: moon.conjunction - returns conjunction events for this body\nSyntax:\n  moon.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the moon constant with its conjunction member\n   let value = moon;\n   print value.conjunction();","compact":"Method: moon.conjunction - returns conjunction events for this body","search_text":"constant_member:moon.conjunction conjunction moon.conjunction method returns conjunction events for this body moon.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:moon.opposition","name":"opposition","path":"moon.opposition","kind":"method","aliases":[],"description":"returns opposition events for this body","syntax":["moon.opposition(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the moon constant with its opposition member\nlet value = moon;\nprint value.opposition();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: moon.opposition - returns opposition events for this body\nSyntax:\n  moon.opposition(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the moon constant with its opposition member\n   let value = moon;\n   print value.opposition();","compact":"Method: moon.opposition - returns opposition events for this body","search_text":"constant_member:moon.opposition opposition moon.opposition method returns opposition events for this body moon.opposition(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:moon.eastern_quadrature","name":"eastern_quadrature","path":"moon.eastern_quadrature","kind":"method","aliases":[],"description":"returns eastern quadrature events for this body","syntax":["moon.eastern_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the moon constant with its eastern_quadrature member\nlet value = moon;\nprint value.eastern_quadrature();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: moon.eastern_quadrature - returns eastern quadrature events for this body\nSyntax:\n  moon.eastern_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the moon constant with its eastern_quadrature member\n   let value = moon;\n   print value.eastern_quadrature();","compact":"Method: moon.eastern_quadrature - returns eastern quadrature events for this body","search_text":"constant_member:moon.eastern_quadrature eastern_quadrature moon.eastern_quadrature method returns eastern quadrature events for this body moon.eastern_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:moon.western_quadrature","name":"western_quadrature","path":"moon.western_quadrature","kind":"method","aliases":[],"description":"returns western quadrature events for this body","syntax":["moon.western_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the moon constant with its western_quadrature member\nlet value = moon;\nprint value.western_quadrature();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: moon.western_quadrature - returns western quadrature events for this body\nSyntax:\n  moon.western_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the moon constant with its western_quadrature member\n   let value = moon;\n   print value.western_quadrature();","compact":"Method: moon.western_quadrature - returns western quadrature events for this body","search_text":"constant_member:moon.western_quadrature western_quadrature moon.western_quadrature method returns western quadrature events for this body moon.western_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:moon.quadrature","name":"quadrature","path":"moon.quadrature","kind":"method","aliases":[],"description":"returns eastern and western quadrature events for this body","syntax":["moon.quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the moon constant with its quadrature member\nlet value = moon;\nprint value.quadrature();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: moon.quadrature - returns eastern and western quadrature events for this body\nSyntax:\n  moon.quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the moon constant with its quadrature member\n   let value = moon;\n   print value.quadrature();","compact":"Method: moon.quadrature - returns eastern and western quadrature events for this body","search_text":"constant_member:moon.quadrature quadrature moon.quadrature method returns eastern and western quadrature events for this body moon.quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:moon.periapsis","name":"periapsis","path":"moon.periapsis","kind":"method","aliases":[],"description":"returns periapsis events for this body","syntax":["moon.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find periapsis events for the moon help entry\nlet value = moon;\nlet span = range(time(2024,1,1,0,0,0), time(2024,1,10,0,0,0), 1);\nprint \"moon\", value.periapsis(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: moon.periapsis - returns periapsis events for this body\nSyntax:\n  moon.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find periapsis events for the moon help entry\n   let value = moon;\n   let span = range(time(2024,1,1,0,0,0), time(2024,1,10,0,0,0), 1);\n   print \"moon\", value.periapsis(span).first();","compact":"Method: moon.periapsis - returns periapsis events for this body","search_text":"constant_member:moon.periapsis periapsis moon.periapsis method returns periapsis events for this body moon.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:moon.apoapsis","name":"apoapsis","path":"moon.apoapsis","kind":"method","aliases":[],"description":"returns apoapsis events for this body","syntax":["moon.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find apoapsis events for the moon help entry\nlet value = moon;\nlet span = range(time(2024,7,1,0,0,0), time(2024,7,10,0,0,0), 1);\nprint \"moon\", value.apoapsis(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: moon.apoapsis - returns apoapsis events for this body\nSyntax:\n  moon.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find apoapsis events for the moon help entry\n   let value = moon;\n   let span = range(time(2024,7,1,0,0,0), time(2024,7,10,0,0,0), 1);\n   print \"moon\", value.apoapsis(span).first();","compact":"Method: moon.apoapsis - returns apoapsis events for this body","search_text":"constant_member:moon.apoapsis apoapsis moon.apoapsis method returns apoapsis events for this body moon.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:moon.children","name":"children","path":"moon.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["moon.children() -> List"],"examples":["# Inspect child entries available from the moon constant\nlet value = moon;\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: moon.children - lists child fields and callable members available on this value\nSyntax:\n  moon.children() -> List\nExample:\n# Inspect child entries available from the moon constant\n   let value = moon;\n   print value.children();","compact":"Method: moon.children - lists child fields and callable members available on this value","search_text":"constant_member:moon.children children moon.children method lists child fields and callable members available on this value moon.children() -> List"},{"id":"constant_member:moon.fields","name":"fields","path":"moon.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["moon.fields() -> Object"],"examples":["# Inspect plain fields on the moon constant\nlet value = moon;\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: moon.fields - returns an object containing the value's plain fields\nSyntax:\n  moon.fields() -> Object\nExample:\n# Inspect plain fields on the moon constant\n   let value = moon;\n   print value.fields();","compact":"Method: moon.fields - returns an object containing the value's plain fields","search_text":"constant_member:moon.fields fields moon.fields method returns an object containing the value's plain fields moon.fields() -> Object"},{"id":"constant_member:moon.functions","name":"functions","path":"moon.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["moon.functions() -> List"],"examples":["# Inspect callable members on the moon constant\nlet value = moon;\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: moon.functions - lists callable members available on this value\nSyntax:\n  moon.functions() -> List\nExample:\n# Inspect callable members on the moon constant\n   let value = moon;\n   print value.functions();","compact":"Method: moon.functions - lists callable members available on this value","search_text":"constant_member:moon.functions functions moon.functions method lists callable members available on this value moon.functions() -> List"},{"id":"constant_member:earth.name","name":"name","path":"earth.name","kind":"field","aliases":[],"description":"canonical body name","syntax":["earth.name -> Text"],"examples":["# Use earth.name as the label in a body catalog row\nlet row = {label: earth.name, radius: earth.radius};\nprint row.label, row.radius;"],"arguments":[],"children":[],"resources":[],"doc":"Field: earth.name - canonical body name\nSyntax:\n  earth.name -> Text\nExample:\n# Use earth.name as the label in a body catalog row\n   let row = {label: earth.name, radius: earth.radius};\n   print row.label, row.radius;","compact":"Field: earth.name - canonical body name","search_text":"constant_member:earth.name name earth.name field canonical body name earth.name -> Text"},{"id":"constant_member:earth.kind","name":"kind","path":"earth.kind","kind":"field","aliases":[],"description":"reference body kind","syntax":["earth.kind -> Text"],"examples":["# Use earth.kind to group a body catalog row\nlet row = {name: earth.name, group: earth.kind};\nprint row.group, row.name;"],"arguments":[],"children":[],"resources":[],"doc":"Field: earth.kind - reference body kind\nSyntax:\n  earth.kind -> Text\nExample:\n# Use earth.kind to group a body catalog row\n   let row = {name: earth.name, group: earth.kind};\n   print row.group, row.name;","compact":"Field: earth.kind - reference body kind","search_text":"constant_member:earth.kind kind earth.kind field reference body kind earth.kind -> Text"},{"id":"constant_member:earth.xmu","name":"xmu","path":"earth.xmu","kind":"field","aliases":[],"description":"gravitational parameter in km^3/s^2","syntax":["earth.xmu -> Number"],"examples":["# Compare earth gravitational parameter with Earth\nprint earth.name, earth.xmu, earth.xmu / earth.xmu;"],"arguments":[],"children":[],"resources":[],"doc":"Field: earth.xmu - gravitational parameter in km^3/s^2\nSyntax:\n  earth.xmu -> Number\nExample:\n# Compare earth gravitational parameter with Earth\n   print earth.name, earth.xmu, earth.xmu / earth.xmu;","compact":"Field: earth.xmu - gravitational parameter in km^3/s^2","search_text":"constant_member:earth.xmu xmu earth.xmu field gravitational parameter in km^3/s^2 earth.xmu -> Number"},{"id":"constant_member:earth.radius","name":"radius","path":"earth.radius","kind":"field","aliases":[],"description":"body radius in km","syntax":["earth.radius -> Number"],"examples":["# Compare earth radius with Earth for scale estimates\nprint earth.name, earth.radius, earth.radius / earth.radius;"],"arguments":[],"children":[],"resources":[],"doc":"Field: earth.radius - body radius in km\nSyntax:\n  earth.radius -> Number\nExample:\n# Compare earth radius with Earth for scale estimates\n   print earth.name, earth.radius, earth.radius / earth.radius;","compact":"Field: earth.radius - body radius in km","search_text":"constant_member:earth.radius radius earth.radius field body radius in km earth.radius -> Number"},{"id":"constant_member:earth.mass","name":"mass","path":"earth.mass","kind":"field","aliases":[],"description":"body mass in kg","syntax":["earth.mass -> Number"],"examples":["# Compare earth mass with Earth for scale estimates\nprint earth.name, earth.mass, earth.mass / earth.mass;"],"arguments":[],"children":[],"resources":[],"doc":"Field: earth.mass - body mass in kg\nSyntax:\n  earth.mass -> Number\nExample:\n# Compare earth mass with Earth for scale estimates\n   print earth.name, earth.mass, earth.mass / earth.mass;","compact":"Field: earth.mass - body mass in kg","search_text":"constant_member:earth.mass mass earth.mass field body mass in kg earth.mass -> Number"},{"id":"constant_member:earth.H","name":"H","path":"earth.H","kind":"field","aliases":[],"description":"reference absolute magnitude parameter","syntax":["earth.H -> Number"],"examples":["# Use earth.H as the absolute magnitude term in a report\nprint earth.name, earth.H;"],"arguments":[],"children":[],"resources":[],"doc":"Field: earth.H - reference absolute magnitude parameter\nSyntax:\n  earth.H -> Number\nExample:\n# Use earth.H as the absolute magnitude term in a report\n   print earth.name, earth.H;","compact":"Field: earth.H - reference absolute magnitude parameter","search_text":"constant_member:earth.H H earth.H field reference absolute magnitude parameter earth.H -> Number"},{"id":"constant_member:earth.n","name":"n","path":"earth.n","kind":"field","aliases":[],"description":"reference illumination exponent","syntax":["earth.n -> Number"],"examples":["# Use earth.n as the photometric phase slope term\nprint earth.name, earth.n, earth.H + earth.n;"],"arguments":[],"children":[],"resources":[],"doc":"Field: earth.n - reference illumination exponent\nSyntax:\n  earth.n -> Number\nExample:\n# Use earth.n as the photometric phase slope term\n   print earth.name, earth.n, earth.H + earth.n;","compact":"Field: earth.n - reference illumination exponent","search_text":"constant_member:earth.n n earth.n field reference illumination exponent earth.n -> Number"},{"id":"constant_member:earth.k","name":"k","path":"earth.k","kind":"field","aliases":[],"description":"reference G Muller constant","syntax":["earth.k -> Number"],"examples":["# Use earth.k as the photometric curvature term\nprint earth.name, earth.k, earth.H + earth.k;"],"arguments":[],"children":[],"resources":[],"doc":"Field: earth.k - reference G Muller constant\nSyntax:\n  earth.k -> Number\nExample:\n# Use earth.k as the photometric curvature term\n   print earth.name, earth.k, earth.H + earth.k;","compact":"Field: earth.k - reference G Muller constant","search_text":"constant_member:earth.k k earth.k field reference G Muller constant earth.k -> Number"},{"id":"constant_member:earth.known","name":"known","path":"earth.known","kind":"field","aliases":[],"description":"whether the body name matched the built-in table","syntax":["earth.known -> Bool"],"examples":["# Verify whether earth has built-in physical metadata\nprint earth.name, earth.known;"],"arguments":[],"children":[],"resources":[],"doc":"Field: earth.known - whether the body name matched the built-in table\nSyntax:\n  earth.known -> Bool\nExample:\n# Verify whether earth has built-in physical metadata\n   print earth.name, earth.known;","compact":"Field: earth.known - whether the body name matched the built-in table","search_text":"constant_member:earth.known known earth.known field whether the body name matched the built-in table earth.known -> Bool"},{"id":"constant_member:earth.rotational_axis","name":"rotational_axis","path":"earth.rotational_axis","kind":"method","aliases":[],"description":"returns this body's rotational north pole at a time","syntax":["earth.rotational_axis(time: Time) -> Object"],"examples":["# Use the earth constant with its rotational_axis member\nlet value = earth;\nprint value.rotational_axis(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: earth.rotational_axis - returns this body's rotational north pole at a time\nSyntax:\n  earth.rotational_axis(time: Time) -> Object\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the earth constant with its rotational_axis member\n   let value = earth;\n   print value.rotational_axis(time());","compact":"Method: earth.rotational_axis - returns this body's rotational north pole at a time","search_text":"constant_member:earth.rotational_axis rotational_axis earth.rotational_axis method returns this body's rotational north pole at a time earth.rotational_axis(time: Time) -> Object time Time time at which to evaluate the rotational pole"},{"id":"constant_member:earth.rotational_axis_ra","name":"rotational_axis_ra","path":"earth.rotational_axis_ra","kind":"method","aliases":[],"description":"returns the rotational north-pole right ascension in degrees","syntax":["earth.rotational_axis_ra(time: Time) -> Number"],"examples":["# Use the earth constant with its rotational_axis_ra member\nlet value = earth;\nprint value.rotational_axis_ra(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: earth.rotational_axis_ra - returns the rotational north-pole right ascension in degrees\nSyntax:\n  earth.rotational_axis_ra(time: Time) -> Number\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the earth constant with its rotational_axis_ra member\n   let value = earth;\n   print value.rotational_axis_ra(time());","compact":"Method: earth.rotational_axis_ra - returns the rotational north-pole right ascension in degrees","search_text":"constant_member:earth.rotational_axis_ra rotational_axis_ra earth.rotational_axis_ra method returns the rotational north-pole right ascension in degrees earth.rotational_axis_ra(time: Time) -> Number time Time time at which to evaluate the rotational pole"},{"id":"constant_member:earth.rotational_axis_dec","name":"rotational_axis_dec","path":"earth.rotational_axis_dec","kind":"method","aliases":[],"description":"returns the rotational north-pole declination in degrees","syntax":["earth.rotational_axis_dec(time: Time) -> Number"],"examples":["# Use the earth constant with its rotational_axis_dec member\nlet value = earth;\nprint value.rotational_axis_dec(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: earth.rotational_axis_dec - returns the rotational north-pole declination in degrees\nSyntax:\n  earth.rotational_axis_dec(time: Time) -> Number\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the earth constant with its rotational_axis_dec member\n   let value = earth;\n   print value.rotational_axis_dec(time());","compact":"Method: earth.rotational_axis_dec - returns the rotational north-pole declination in degrees","search_text":"constant_member:earth.rotational_axis_dec rotational_axis_dec earth.rotational_axis_dec method returns the rotational north-pole declination in degrees earth.rotational_axis_dec(time: Time) -> Number time Time time at which to evaluate the rotational pole"},{"id":"constant_member:earth.state","name":"state","path":"earth.state","kind":"method","aliases":[],"description":"returns the orbital state for this body at a time","syntax":["earth.state(time: Time) -> State"],"examples":["# Use the earth constant with its state member\nlet value = earth;\nprint value.state(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: earth.state - returns the orbital state for this body at a time\nSyntax:\n  earth.state(time: Time) -> State\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the earth constant with its state member\n   let value = earth;\n   print value.state(time());","compact":"Method: earth.state - returns the orbital state for this body at a time","search_text":"constant_member:earth.state state earth.state method returns the orbital state for this body at a time earth.state(time: Time) -> State time Time time at which to evaluate the rotational pole"},{"id":"constant_member:earth.periapsis","name":"periapsis","path":"earth.periapsis","kind":"method","aliases":[],"description":"returns periapsis events for this body","syntax":["earth.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find periapsis events for the earth help entry\nlet value = earth;\nlet span = range(time(2024,1,1,0,0,0), time(2024,1,10,0,0,0), 1);\nprint \"earth\", value.periapsis(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: earth.periapsis - returns periapsis events for this body\nSyntax:\n  earth.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find periapsis events for the earth help entry\n   let value = earth;\n   let span = range(time(2024,1,1,0,0,0), time(2024,1,10,0,0,0), 1);\n   print \"earth\", value.periapsis(span).first();","compact":"Method: earth.periapsis - returns periapsis events for this body","search_text":"constant_member:earth.periapsis periapsis earth.periapsis method returns periapsis events for this body earth.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:earth.apoapsis","name":"apoapsis","path":"earth.apoapsis","kind":"method","aliases":[],"description":"returns apoapsis events for this body","syntax":["earth.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find apoapsis events for the earth help entry\nlet value = earth;\nlet span = range(time(2024,7,1,0,0,0), time(2024,7,10,0,0,0), 1);\nprint \"earth\", value.apoapsis(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: earth.apoapsis - returns apoapsis events for this body\nSyntax:\n  earth.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find apoapsis events for the earth help entry\n   let value = earth;\n   let span = range(time(2024,7,1,0,0,0), time(2024,7,10,0,0,0), 1);\n   print \"earth\", value.apoapsis(span).first();","compact":"Method: earth.apoapsis - returns apoapsis events for this body","search_text":"constant_member:earth.apoapsis apoapsis earth.apoapsis method returns apoapsis events for this body earth.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:earth.children","name":"children","path":"earth.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["earth.children() -> List"],"examples":["# Inspect child entries available from the earth constant\nlet value = earth;\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: earth.children - lists child fields and callable members available on this value\nSyntax:\n  earth.children() -> List\nExample:\n# Inspect child entries available from the earth constant\n   let value = earth;\n   print value.children();","compact":"Method: earth.children - lists child fields and callable members available on this value","search_text":"constant_member:earth.children children earth.children method lists child fields and callable members available on this value earth.children() -> List"},{"id":"constant_member:earth.fields","name":"fields","path":"earth.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["earth.fields() -> Object"],"examples":["# Inspect plain fields on the earth constant\nlet value = earth;\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: earth.fields - returns an object containing the value's plain fields\nSyntax:\n  earth.fields() -> Object\nExample:\n# Inspect plain fields on the earth constant\n   let value = earth;\n   print value.fields();","compact":"Method: earth.fields - returns an object containing the value's plain fields","search_text":"constant_member:earth.fields fields earth.fields method returns an object containing the value's plain fields earth.fields() -> Object"},{"id":"constant_member:earth.functions","name":"functions","path":"earth.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["earth.functions() -> List"],"examples":["# Inspect callable members on the earth constant\nlet value = earth;\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: earth.functions - lists callable members available on this value\nSyntax:\n  earth.functions() -> List\nExample:\n# Inspect callable members on the earth constant\n   let value = earth;\n   print value.functions();","compact":"Method: earth.functions - lists callable members available on this value","search_text":"constant_member:earth.functions functions earth.functions method lists callable members available on this value earth.functions() -> List"},{"id":"constant_member:mars.name","name":"name","path":"mars.name","kind":"field","aliases":[],"description":"canonical body name","syntax":["mars.name -> Text"],"examples":["# Use mars.name as the label in a body catalog row\nlet row = {label: mars.name, radius: mars.radius};\nprint row.label, row.radius;"],"arguments":[],"children":[],"resources":[],"doc":"Field: mars.name - canonical body name\nSyntax:\n  mars.name -> Text\nExample:\n# Use mars.name as the label in a body catalog row\n   let row = {label: mars.name, radius: mars.radius};\n   print row.label, row.radius;","compact":"Field: mars.name - canonical body name","search_text":"constant_member:mars.name name mars.name field canonical body name mars.name -> Text"},{"id":"constant_member:mars.kind","name":"kind","path":"mars.kind","kind":"field","aliases":[],"description":"reference body kind","syntax":["mars.kind -> Text"],"examples":["# Use mars.kind to group a body catalog row\nlet row = {name: mars.name, group: mars.kind};\nprint row.group, row.name;"],"arguments":[],"children":[],"resources":[],"doc":"Field: mars.kind - reference body kind\nSyntax:\n  mars.kind -> Text\nExample:\n# Use mars.kind to group a body catalog row\n   let row = {name: mars.name, group: mars.kind};\n   print row.group, row.name;","compact":"Field: mars.kind - reference body kind","search_text":"constant_member:mars.kind kind mars.kind field reference body kind mars.kind -> Text"},{"id":"constant_member:mars.xmu","name":"xmu","path":"mars.xmu","kind":"field","aliases":[],"description":"gravitational parameter in km^3/s^2","syntax":["mars.xmu -> Number"],"examples":["# Compare mars gravitational parameter with Earth\nprint mars.name, mars.xmu, mars.xmu / earth.xmu;"],"arguments":[],"children":[],"resources":[],"doc":"Field: mars.xmu - gravitational parameter in km^3/s^2\nSyntax:\n  mars.xmu -> Number\nExample:\n# Compare mars gravitational parameter with Earth\n   print mars.name, mars.xmu, mars.xmu / earth.xmu;","compact":"Field: mars.xmu - gravitational parameter in km^3/s^2","search_text":"constant_member:mars.xmu xmu mars.xmu field gravitational parameter in km^3/s^2 mars.xmu -> Number"},{"id":"constant_member:mars.radius","name":"radius","path":"mars.radius","kind":"field","aliases":[],"description":"body radius in km","syntax":["mars.radius -> Number"],"examples":["# Compare mars radius with Earth for scale estimates\nprint mars.name, mars.radius, mars.radius / earth.radius;"],"arguments":[],"children":[],"resources":[],"doc":"Field: mars.radius - body radius in km\nSyntax:\n  mars.radius -> Number\nExample:\n# Compare mars radius with Earth for scale estimates\n   print mars.name, mars.radius, mars.radius / earth.radius;","compact":"Field: mars.radius - body radius in km","search_text":"constant_member:mars.radius radius mars.radius field body radius in km mars.radius -> Number"},{"id":"constant_member:mars.mass","name":"mass","path":"mars.mass","kind":"field","aliases":[],"description":"body mass in kg","syntax":["mars.mass -> Number"],"examples":["# Compare mars mass with Earth for scale estimates\nprint mars.name, mars.mass, mars.mass / earth.mass;"],"arguments":[],"children":[],"resources":[],"doc":"Field: mars.mass - body mass in kg\nSyntax:\n  mars.mass -> Number\nExample:\n# Compare mars mass with Earth for scale estimates\n   print mars.name, mars.mass, mars.mass / earth.mass;","compact":"Field: mars.mass - body mass in kg","search_text":"constant_member:mars.mass mass mars.mass field body mass in kg mars.mass -> Number"},{"id":"constant_member:mars.H","name":"H","path":"mars.H","kind":"field","aliases":[],"description":"reference absolute magnitude parameter","syntax":["mars.H -> Number"],"examples":["# Use mars.H as the absolute magnitude term in a report\nprint mars.name, mars.H;"],"arguments":[],"children":[],"resources":[],"doc":"Field: mars.H - reference absolute magnitude parameter\nSyntax:\n  mars.H -> Number\nExample:\n# Use mars.H as the absolute magnitude term in a report\n   print mars.name, mars.H;","compact":"Field: mars.H - reference absolute magnitude parameter","search_text":"constant_member:mars.H H mars.H field reference absolute magnitude parameter mars.H -> Number"},{"id":"constant_member:mars.n","name":"n","path":"mars.n","kind":"field","aliases":[],"description":"reference illumination exponent","syntax":["mars.n -> Number"],"examples":["# Use mars.n as the photometric phase slope term\nprint mars.name, mars.n, mars.H + mars.n;"],"arguments":[],"children":[],"resources":[],"doc":"Field: mars.n - reference illumination exponent\nSyntax:\n  mars.n -> Number\nExample:\n# Use mars.n as the photometric phase slope term\n   print mars.name, mars.n, mars.H + mars.n;","compact":"Field: mars.n - reference illumination exponent","search_text":"constant_member:mars.n n mars.n field reference illumination exponent mars.n -> Number"},{"id":"constant_member:mars.k","name":"k","path":"mars.k","kind":"field","aliases":[],"description":"reference G Muller constant","syntax":["mars.k -> Number"],"examples":["# Use mars.k as the photometric curvature term\nprint mars.name, mars.k, mars.H + mars.k;"],"arguments":[],"children":[],"resources":[],"doc":"Field: mars.k - reference G Muller constant\nSyntax:\n  mars.k -> Number\nExample:\n# Use mars.k as the photometric curvature term\n   print mars.name, mars.k, mars.H + mars.k;","compact":"Field: mars.k - reference G Muller constant","search_text":"constant_member:mars.k k mars.k field reference G Muller constant mars.k -> Number"},{"id":"constant_member:mars.known","name":"known","path":"mars.known","kind":"field","aliases":[],"description":"whether the body name matched the built-in table","syntax":["mars.known -> Bool"],"examples":["# Verify whether mars has built-in physical metadata\nprint mars.name, mars.known;"],"arguments":[],"children":[],"resources":[],"doc":"Field: mars.known - whether the body name matched the built-in table\nSyntax:\n  mars.known -> Bool\nExample:\n# Verify whether mars has built-in physical metadata\n   print mars.name, mars.known;","compact":"Field: mars.known - whether the body name matched the built-in table","search_text":"constant_member:mars.known known mars.known field whether the body name matched the built-in table mars.known -> Bool"},{"id":"constant_member:mars.rotational_axis","name":"rotational_axis","path":"mars.rotational_axis","kind":"method","aliases":[],"description":"returns this body's rotational north pole at a time","syntax":["mars.rotational_axis(time: Time) -> Object"],"examples":["# Use the mars constant with its rotational_axis member\nlet value = mars;\nprint value.rotational_axis(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: mars.rotational_axis - returns this body's rotational north pole at a time\nSyntax:\n  mars.rotational_axis(time: Time) -> Object\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the mars constant with its rotational_axis member\n   let value = mars;\n   print value.rotational_axis(time());","compact":"Method: mars.rotational_axis - returns this body's rotational north pole at a time","search_text":"constant_member:mars.rotational_axis rotational_axis mars.rotational_axis method returns this body's rotational north pole at a time mars.rotational_axis(time: Time) -> Object time Time time at which to evaluate the rotational pole"},{"id":"constant_member:mars.rotational_axis_ra","name":"rotational_axis_ra","path":"mars.rotational_axis_ra","kind":"method","aliases":[],"description":"returns the rotational north-pole right ascension in degrees","syntax":["mars.rotational_axis_ra(time: Time) -> Number"],"examples":["# Use the mars constant with its rotational_axis_ra member\nlet value = mars;\nprint value.rotational_axis_ra(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: mars.rotational_axis_ra - returns the rotational north-pole right ascension in degrees\nSyntax:\n  mars.rotational_axis_ra(time: Time) -> Number\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the mars constant with its rotational_axis_ra member\n   let value = mars;\n   print value.rotational_axis_ra(time());","compact":"Method: mars.rotational_axis_ra - returns the rotational north-pole right ascension in degrees","search_text":"constant_member:mars.rotational_axis_ra rotational_axis_ra mars.rotational_axis_ra method returns the rotational north-pole right ascension in degrees mars.rotational_axis_ra(time: Time) -> Number time Time time at which to evaluate the rotational pole"},{"id":"constant_member:mars.rotational_axis_dec","name":"rotational_axis_dec","path":"mars.rotational_axis_dec","kind":"method","aliases":[],"description":"returns the rotational north-pole declination in degrees","syntax":["mars.rotational_axis_dec(time: Time) -> Number"],"examples":["# Use the mars constant with its rotational_axis_dec member\nlet value = mars;\nprint value.rotational_axis_dec(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: mars.rotational_axis_dec - returns the rotational north-pole declination in degrees\nSyntax:\n  mars.rotational_axis_dec(time: Time) -> Number\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the mars constant with its rotational_axis_dec member\n   let value = mars;\n   print value.rotational_axis_dec(time());","compact":"Method: mars.rotational_axis_dec - returns the rotational north-pole declination in degrees","search_text":"constant_member:mars.rotational_axis_dec rotational_axis_dec mars.rotational_axis_dec method returns the rotational north-pole declination in degrees mars.rotational_axis_dec(time: Time) -> Number time Time time at which to evaluate the rotational pole"},{"id":"constant_member:mars.state","name":"state","path":"mars.state","kind":"method","aliases":[],"description":"returns the orbital state for this body at a time","syntax":["mars.state(time: Time) -> State"],"examples":["# Use the mars constant with its state member\nlet value = mars;\nprint value.state(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: mars.state - returns the orbital state for this body at a time\nSyntax:\n  mars.state(time: Time) -> State\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the mars constant with its state member\n   let value = mars;\n   print value.state(time());","compact":"Method: mars.state - returns the orbital state for this body at a time","search_text":"constant_member:mars.state state mars.state method returns the orbital state for this body at a time mars.state(time: Time) -> State time Time time at which to evaluate the rotational pole"},{"id":"constant_member:mars.rise","name":"rise","path":"mars.rise","kind":"method","aliases":[],"description":"returns sunrise or moonrise events for an observer","syntax":["mars.rise(observer: Location|Observer, range: Range) -> List|Event|Nil"],"examples":["# Find mars rise events from an explicit observer\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\nprint mars.rise(obs, span).first();"],"arguments":[{"name":"observer","type":"Location|Observer","required":true,"description":"Earth location or observer for the local horizon event"},{"name":"range","type":"Range","required":true,"description":"time range to search; open ranges return the next event"}],"children":[],"resources":[],"doc":"Method: mars.rise - returns sunrise or moonrise events for an observer\nSyntax:\n  mars.rise(observer: Location|Observer, range: Range) -> List|Event|Nil\nArguments:\n  observer: Location|Observer - Earth location or observer for the local horizon event\n  range: Range - time range to search; open ranges return the next event\nExample:\n# Find mars rise events from an explicit observer\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\n   print mars.rise(obs, span).first();","compact":"Method: mars.rise - returns sunrise or moonrise events for an observer","search_text":"constant_member:mars.rise rise mars.rise method returns sunrise or moonrise events for an observer mars.rise(observer: Location|Observer, range: Range) -> List|Event|Nil observer Location|Observer Earth location or observer for the local horizon event range Range time range to search; open ranges return the next event"},{"id":"constant_member:mars.set","name":"set","path":"mars.set","kind":"method","aliases":[],"description":"returns sunset or moonset events for an observer","syntax":["mars.set(observer: Location|Observer, range: Range) -> List|Event|Nil"],"examples":["# Find mars set events from an explicit observer\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\nprint mars.set(obs, span).first();"],"arguments":[{"name":"observer","type":"Location|Observer","required":true,"description":"Earth location or observer for the local horizon event"},{"name":"range","type":"Range","required":true,"description":"time range to search; open ranges return the next event"}],"children":[],"resources":[],"doc":"Method: mars.set - returns sunset or moonset events for an observer\nSyntax:\n  mars.set(observer: Location|Observer, range: Range) -> List|Event|Nil\nArguments:\n  observer: Location|Observer - Earth location or observer for the local horizon event\n  range: Range - time range to search; open ranges return the next event\nExample:\n# Find mars set events from an explicit observer\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\n   print mars.set(obs, span).first();","compact":"Method: mars.set - returns sunset or moonset events for an observer","search_text":"constant_member:mars.set set mars.set method returns sunset or moonset events for an observer mars.set(observer: Location|Observer, range: Range) -> List|Event|Nil observer Location|Observer Earth location or observer for the local horizon event range Range time range to search; open ranges return the next event"},{"id":"constant_member:mars.conjunction","name":"conjunction","path":"mars.conjunction","kind":"method","aliases":[],"description":"returns conjunction events for this body","syntax":["mars.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the mars constant with its conjunction member\nlet value = mars;\nprint value.conjunction();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: mars.conjunction - returns conjunction events for this body\nSyntax:\n  mars.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the mars constant with its conjunction member\n   let value = mars;\n   print value.conjunction();","compact":"Method: mars.conjunction - returns conjunction events for this body","search_text":"constant_member:mars.conjunction conjunction mars.conjunction method returns conjunction events for this body mars.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:mars.opposition","name":"opposition","path":"mars.opposition","kind":"method","aliases":[],"description":"returns opposition events for this body","syntax":["mars.opposition(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the mars constant with its opposition member\nlet value = mars;\nprint value.opposition();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: mars.opposition - returns opposition events for this body\nSyntax:\n  mars.opposition(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the mars constant with its opposition member\n   let value = mars;\n   print value.opposition();","compact":"Method: mars.opposition - returns opposition events for this body","search_text":"constant_member:mars.opposition opposition mars.opposition method returns opposition events for this body mars.opposition(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:mars.eastern_quadrature","name":"eastern_quadrature","path":"mars.eastern_quadrature","kind":"method","aliases":[],"description":"returns eastern quadrature events for this body","syntax":["mars.eastern_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the mars constant with its eastern_quadrature member\nlet value = mars;\nprint value.eastern_quadrature();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: mars.eastern_quadrature - returns eastern quadrature events for this body\nSyntax:\n  mars.eastern_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the mars constant with its eastern_quadrature member\n   let value = mars;\n   print value.eastern_quadrature();","compact":"Method: mars.eastern_quadrature - returns eastern quadrature events for this body","search_text":"constant_member:mars.eastern_quadrature eastern_quadrature mars.eastern_quadrature method returns eastern quadrature events for this body mars.eastern_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:mars.western_quadrature","name":"western_quadrature","path":"mars.western_quadrature","kind":"method","aliases":[],"description":"returns western quadrature events for this body","syntax":["mars.western_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the mars constant with its western_quadrature member\nlet value = mars;\nprint value.western_quadrature();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: mars.western_quadrature - returns western quadrature events for this body\nSyntax:\n  mars.western_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the mars constant with its western_quadrature member\n   let value = mars;\n   print value.western_quadrature();","compact":"Method: mars.western_quadrature - returns western quadrature events for this body","search_text":"constant_member:mars.western_quadrature western_quadrature mars.western_quadrature method returns western quadrature events for this body mars.western_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:mars.quadrature","name":"quadrature","path":"mars.quadrature","kind":"method","aliases":[],"description":"returns eastern and western quadrature events for this body","syntax":["mars.quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the mars constant with its quadrature member\nlet value = mars;\nprint value.quadrature();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: mars.quadrature - returns eastern and western quadrature events for this body\nSyntax:\n  mars.quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the mars constant with its quadrature member\n   let value = mars;\n   print value.quadrature();","compact":"Method: mars.quadrature - returns eastern and western quadrature events for this body","search_text":"constant_member:mars.quadrature quadrature mars.quadrature method returns eastern and western quadrature events for this body mars.quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:mars.periapsis","name":"periapsis","path":"mars.periapsis","kind":"method","aliases":[],"description":"returns periapsis events for this body","syntax":["mars.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find periapsis events for the mars help entry\nlet value = mars;\nlet span = range(time(2024,1,1,0,0,0), time(2024,1,10,0,0,0), 1);\nprint \"mars\", value.periapsis(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: mars.periapsis - returns periapsis events for this body\nSyntax:\n  mars.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find periapsis events for the mars help entry\n   let value = mars;\n   let span = range(time(2024,1,1,0,0,0), time(2024,1,10,0,0,0), 1);\n   print \"mars\", value.periapsis(span).first();","compact":"Method: mars.periapsis - returns periapsis events for this body","search_text":"constant_member:mars.periapsis periapsis mars.periapsis method returns periapsis events for this body mars.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:mars.apoapsis","name":"apoapsis","path":"mars.apoapsis","kind":"method","aliases":[],"description":"returns apoapsis events for this body","syntax":["mars.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find apoapsis events for the mars help entry\nlet value = mars;\nlet span = range(time(2024,7,1,0,0,0), time(2024,7,10,0,0,0), 1);\nprint \"mars\", value.apoapsis(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: mars.apoapsis - returns apoapsis events for this body\nSyntax:\n  mars.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find apoapsis events for the mars help entry\n   let value = mars;\n   let span = range(time(2024,7,1,0,0,0), time(2024,7,10,0,0,0), 1);\n   print \"mars\", value.apoapsis(span).first();","compact":"Method: mars.apoapsis - returns apoapsis events for this body","search_text":"constant_member:mars.apoapsis apoapsis mars.apoapsis method returns apoapsis events for this body mars.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:mars.children","name":"children","path":"mars.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["mars.children() -> List"],"examples":["# Inspect child entries available from the mars constant\nlet value = mars;\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: mars.children - lists child fields and callable members available on this value\nSyntax:\n  mars.children() -> List\nExample:\n# Inspect child entries available from the mars constant\n   let value = mars;\n   print value.children();","compact":"Method: mars.children - lists child fields and callable members available on this value","search_text":"constant_member:mars.children children mars.children method lists child fields and callable members available on this value mars.children() -> List"},{"id":"constant_member:mars.fields","name":"fields","path":"mars.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["mars.fields() -> Object"],"examples":["# Inspect plain fields on the mars constant\nlet value = mars;\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: mars.fields - returns an object containing the value's plain fields\nSyntax:\n  mars.fields() -> Object\nExample:\n# Inspect plain fields on the mars constant\n   let value = mars;\n   print value.fields();","compact":"Method: mars.fields - returns an object containing the value's plain fields","search_text":"constant_member:mars.fields fields mars.fields method returns an object containing the value's plain fields mars.fields() -> Object"},{"id":"constant_member:mars.functions","name":"functions","path":"mars.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["mars.functions() -> List"],"examples":["# Inspect callable members on the mars constant\nlet value = mars;\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: mars.functions - lists callable members available on this value\nSyntax:\n  mars.functions() -> List\nExample:\n# Inspect callable members on the mars constant\n   let value = mars;\n   print value.functions();","compact":"Method: mars.functions - lists callable members available on this value","search_text":"constant_member:mars.functions functions mars.functions method lists callable members available on this value mars.functions() -> List"},{"id":"constant_member:jupiter.name","name":"name","path":"jupiter.name","kind":"field","aliases":[],"description":"canonical body name","syntax":["jupiter.name -> Text"],"examples":["# Use jupiter.name as the label in a body catalog row\nlet row = {label: jupiter.name, radius: jupiter.radius};\nprint row.label, row.radius;"],"arguments":[],"children":[],"resources":[],"doc":"Field: jupiter.name - canonical body name\nSyntax:\n  jupiter.name -> Text\nExample:\n# Use jupiter.name as the label in a body catalog row\n   let row = {label: jupiter.name, radius: jupiter.radius};\n   print row.label, row.radius;","compact":"Field: jupiter.name - canonical body name","search_text":"constant_member:jupiter.name name jupiter.name field canonical body name jupiter.name -> Text"},{"id":"constant_member:jupiter.kind","name":"kind","path":"jupiter.kind","kind":"field","aliases":[],"description":"reference body kind","syntax":["jupiter.kind -> Text"],"examples":["# Use jupiter.kind to group a body catalog row\nlet row = {name: jupiter.name, group: jupiter.kind};\nprint row.group, row.name;"],"arguments":[],"children":[],"resources":[],"doc":"Field: jupiter.kind - reference body kind\nSyntax:\n  jupiter.kind -> Text\nExample:\n# Use jupiter.kind to group a body catalog row\n   let row = {name: jupiter.name, group: jupiter.kind};\n   print row.group, row.name;","compact":"Field: jupiter.kind - reference body kind","search_text":"constant_member:jupiter.kind kind jupiter.kind field reference body kind jupiter.kind -> Text"},{"id":"constant_member:jupiter.xmu","name":"xmu","path":"jupiter.xmu","kind":"field","aliases":[],"description":"gravitational parameter in km^3/s^2","syntax":["jupiter.xmu -> Number"],"examples":["# Compare jupiter gravitational parameter with Earth\nprint jupiter.name, jupiter.xmu, jupiter.xmu / earth.xmu;"],"arguments":[],"children":[],"resources":[],"doc":"Field: jupiter.xmu - gravitational parameter in km^3/s^2\nSyntax:\n  jupiter.xmu -> Number\nExample:\n# Compare jupiter gravitational parameter with Earth\n   print jupiter.name, jupiter.xmu, jupiter.xmu / earth.xmu;","compact":"Field: jupiter.xmu - gravitational parameter in km^3/s^2","search_text":"constant_member:jupiter.xmu xmu jupiter.xmu field gravitational parameter in km^3/s^2 jupiter.xmu -> Number"},{"id":"constant_member:jupiter.radius","name":"radius","path":"jupiter.radius","kind":"field","aliases":[],"description":"body radius in km","syntax":["jupiter.radius -> Number"],"examples":["# Compare jupiter radius with Earth for scale estimates\nprint jupiter.name, jupiter.radius, jupiter.radius / earth.radius;"],"arguments":[],"children":[],"resources":[],"doc":"Field: jupiter.radius - body radius in km\nSyntax:\n  jupiter.radius -> Number\nExample:\n# Compare jupiter radius with Earth for scale estimates\n   print jupiter.name, jupiter.radius, jupiter.radius / earth.radius;","compact":"Field: jupiter.radius - body radius in km","search_text":"constant_member:jupiter.radius radius jupiter.radius field body radius in km jupiter.radius -> Number"},{"id":"constant_member:jupiter.mass","name":"mass","path":"jupiter.mass","kind":"field","aliases":[],"description":"body mass in kg","syntax":["jupiter.mass -> Number"],"examples":["# Compare jupiter mass with Earth for scale estimates\nprint jupiter.name, jupiter.mass, jupiter.mass / earth.mass;"],"arguments":[],"children":[],"resources":[],"doc":"Field: jupiter.mass - body mass in kg\nSyntax:\n  jupiter.mass -> Number\nExample:\n# Compare jupiter mass with Earth for scale estimates\n   print jupiter.name, jupiter.mass, jupiter.mass / earth.mass;","compact":"Field: jupiter.mass - body mass in kg","search_text":"constant_member:jupiter.mass mass jupiter.mass field body mass in kg jupiter.mass -> Number"},{"id":"constant_member:jupiter.H","name":"H","path":"jupiter.H","kind":"field","aliases":[],"description":"reference absolute magnitude parameter","syntax":["jupiter.H -> Number"],"examples":["# Use jupiter.H as the absolute magnitude term in a report\nprint jupiter.name, jupiter.H;"],"arguments":[],"children":[],"resources":[],"doc":"Field: jupiter.H - reference absolute magnitude parameter\nSyntax:\n  jupiter.H -> Number\nExample:\n# Use jupiter.H as the absolute magnitude term in a report\n   print jupiter.name, jupiter.H;","compact":"Field: jupiter.H - reference absolute magnitude parameter","search_text":"constant_member:jupiter.H H jupiter.H field reference absolute magnitude parameter jupiter.H -> Number"},{"id":"constant_member:jupiter.n","name":"n","path":"jupiter.n","kind":"field","aliases":[],"description":"reference illumination exponent","syntax":["jupiter.n -> Number"],"examples":["# Use jupiter.n as the photometric phase slope term\nprint jupiter.name, jupiter.n, jupiter.H + jupiter.n;"],"arguments":[],"children":[],"resources":[],"doc":"Field: jupiter.n - reference illumination exponent\nSyntax:\n  jupiter.n -> Number\nExample:\n# Use jupiter.n as the photometric phase slope term\n   print jupiter.name, jupiter.n, jupiter.H + jupiter.n;","compact":"Field: jupiter.n - reference illumination exponent","search_text":"constant_member:jupiter.n n jupiter.n field reference illumination exponent jupiter.n -> Number"},{"id":"constant_member:jupiter.k","name":"k","path":"jupiter.k","kind":"field","aliases":[],"description":"reference G Muller constant","syntax":["jupiter.k -> Number"],"examples":["# Use jupiter.k as the photometric curvature term\nprint jupiter.name, jupiter.k, jupiter.H + jupiter.k;"],"arguments":[],"children":[],"resources":[],"doc":"Field: jupiter.k - reference G Muller constant\nSyntax:\n  jupiter.k -> Number\nExample:\n# Use jupiter.k as the photometric curvature term\n   print jupiter.name, jupiter.k, jupiter.H + jupiter.k;","compact":"Field: jupiter.k - reference G Muller constant","search_text":"constant_member:jupiter.k k jupiter.k field reference G Muller constant jupiter.k -> Number"},{"id":"constant_member:jupiter.known","name":"known","path":"jupiter.known","kind":"field","aliases":[],"description":"whether the body name matched the built-in table","syntax":["jupiter.known -> Bool"],"examples":["# Verify whether jupiter has built-in physical metadata\nprint jupiter.name, jupiter.known;"],"arguments":[],"children":[],"resources":[],"doc":"Field: jupiter.known - whether the body name matched the built-in table\nSyntax:\n  jupiter.known -> Bool\nExample:\n# Verify whether jupiter has built-in physical metadata\n   print jupiter.name, jupiter.known;","compact":"Field: jupiter.known - whether the body name matched the built-in table","search_text":"constant_member:jupiter.known known jupiter.known field whether the body name matched the built-in table jupiter.known -> Bool"},{"id":"constant_member:jupiter.rotational_axis","name":"rotational_axis","path":"jupiter.rotational_axis","kind":"method","aliases":[],"description":"returns this body's rotational north pole at a time","syntax":["jupiter.rotational_axis(time: Time) -> Object"],"examples":["# Use the jupiter constant with its rotational_axis member\nlet value = jupiter;\nprint value.rotational_axis(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: jupiter.rotational_axis - returns this body's rotational north pole at a time\nSyntax:\n  jupiter.rotational_axis(time: Time) -> Object\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the jupiter constant with its rotational_axis member\n   let value = jupiter;\n   print value.rotational_axis(time());","compact":"Method: jupiter.rotational_axis - returns this body's rotational north pole at a time","search_text":"constant_member:jupiter.rotational_axis rotational_axis jupiter.rotational_axis method returns this body's rotational north pole at a time jupiter.rotational_axis(time: Time) -> Object time Time time at which to evaluate the rotational pole"},{"id":"constant_member:jupiter.rotational_axis_ra","name":"rotational_axis_ra","path":"jupiter.rotational_axis_ra","kind":"method","aliases":[],"description":"returns the rotational north-pole right ascension in degrees","syntax":["jupiter.rotational_axis_ra(time: Time) -> Number"],"examples":["# Use the jupiter constant with its rotational_axis_ra member\nlet value = jupiter;\nprint value.rotational_axis_ra(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: jupiter.rotational_axis_ra - returns the rotational north-pole right ascension in degrees\nSyntax:\n  jupiter.rotational_axis_ra(time: Time) -> Number\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the jupiter constant with its rotational_axis_ra member\n   let value = jupiter;\n   print value.rotational_axis_ra(time());","compact":"Method: jupiter.rotational_axis_ra - returns the rotational north-pole right ascension in degrees","search_text":"constant_member:jupiter.rotational_axis_ra rotational_axis_ra jupiter.rotational_axis_ra method returns the rotational north-pole right ascension in degrees jupiter.rotational_axis_ra(time: Time) -> Number time Time time at which to evaluate the rotational pole"},{"id":"constant_member:jupiter.rotational_axis_dec","name":"rotational_axis_dec","path":"jupiter.rotational_axis_dec","kind":"method","aliases":[],"description":"returns the rotational north-pole declination in degrees","syntax":["jupiter.rotational_axis_dec(time: Time) -> Number"],"examples":["# Use the jupiter constant with its rotational_axis_dec member\nlet value = jupiter;\nprint value.rotational_axis_dec(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: jupiter.rotational_axis_dec - returns the rotational north-pole declination in degrees\nSyntax:\n  jupiter.rotational_axis_dec(time: Time) -> Number\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the jupiter constant with its rotational_axis_dec member\n   let value = jupiter;\n   print value.rotational_axis_dec(time());","compact":"Method: jupiter.rotational_axis_dec - returns the rotational north-pole declination in degrees","search_text":"constant_member:jupiter.rotational_axis_dec rotational_axis_dec jupiter.rotational_axis_dec method returns the rotational north-pole declination in degrees jupiter.rotational_axis_dec(time: Time) -> Number time Time time at which to evaluate the rotational pole"},{"id":"constant_member:jupiter.state","name":"state","path":"jupiter.state","kind":"method","aliases":[],"description":"returns the orbital state for this body at a time","syntax":["jupiter.state(time: Time) -> State"],"examples":["# Use the jupiter constant with its state member\nlet value = jupiter;\nprint value.state(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: jupiter.state - returns the orbital state for this body at a time\nSyntax:\n  jupiter.state(time: Time) -> State\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the jupiter constant with its state member\n   let value = jupiter;\n   print value.state(time());","compact":"Method: jupiter.state - returns the orbital state for this body at a time","search_text":"constant_member:jupiter.state state jupiter.state method returns the orbital state for this body at a time jupiter.state(time: Time) -> State time Time time at which to evaluate the rotational pole"},{"id":"constant_member:jupiter.rise","name":"rise","path":"jupiter.rise","kind":"method","aliases":[],"description":"returns sunrise or moonrise events for an observer","syntax":["jupiter.rise(observer: Location|Observer, range: Range) -> List|Event|Nil"],"examples":["# Find jupiter rise events from an explicit observer\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\nprint jupiter.rise(obs, span).first();"],"arguments":[{"name":"observer","type":"Location|Observer","required":true,"description":"Earth location or observer for the local horizon event"},{"name":"range","type":"Range","required":true,"description":"time range to search; open ranges return the next event"}],"children":[],"resources":[],"doc":"Method: jupiter.rise - returns sunrise or moonrise events for an observer\nSyntax:\n  jupiter.rise(observer: Location|Observer, range: Range) -> List|Event|Nil\nArguments:\n  observer: Location|Observer - Earth location or observer for the local horizon event\n  range: Range - time range to search; open ranges return the next event\nExample:\n# Find jupiter rise events from an explicit observer\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\n   print jupiter.rise(obs, span).first();","compact":"Method: jupiter.rise - returns sunrise or moonrise events for an observer","search_text":"constant_member:jupiter.rise rise jupiter.rise method returns sunrise or moonrise events for an observer jupiter.rise(observer: Location|Observer, range: Range) -> List|Event|Nil observer Location|Observer Earth location or observer for the local horizon event range Range time range to search; open ranges return the next event"},{"id":"constant_member:jupiter.set","name":"set","path":"jupiter.set","kind":"method","aliases":[],"description":"returns sunset or moonset events for an observer","syntax":["jupiter.set(observer: Location|Observer, range: Range) -> List|Event|Nil"],"examples":["# Find jupiter set events from an explicit observer\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\nprint jupiter.set(obs, span).first();"],"arguments":[{"name":"observer","type":"Location|Observer","required":true,"description":"Earth location or observer for the local horizon event"},{"name":"range","type":"Range","required":true,"description":"time range to search; open ranges return the next event"}],"children":[],"resources":[],"doc":"Method: jupiter.set - returns sunset or moonset events for an observer\nSyntax:\n  jupiter.set(observer: Location|Observer, range: Range) -> List|Event|Nil\nArguments:\n  observer: Location|Observer - Earth location or observer for the local horizon event\n  range: Range - time range to search; open ranges return the next event\nExample:\n# Find jupiter set events from an explicit observer\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\n   print jupiter.set(obs, span).first();","compact":"Method: jupiter.set - returns sunset or moonset events for an observer","search_text":"constant_member:jupiter.set set jupiter.set method returns sunset or moonset events for an observer jupiter.set(observer: Location|Observer, range: Range) -> List|Event|Nil observer Location|Observer Earth location or observer for the local horizon event range Range time range to search; open ranges return the next event"},{"id":"constant_member:jupiter.conjunction","name":"conjunction","path":"jupiter.conjunction","kind":"method","aliases":[],"description":"returns conjunction events for this body","syntax":["jupiter.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the jupiter constant with its conjunction member\nlet value = jupiter;\nprint value.conjunction();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: jupiter.conjunction - returns conjunction events for this body\nSyntax:\n  jupiter.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the jupiter constant with its conjunction member\n   let value = jupiter;\n   print value.conjunction();","compact":"Method: jupiter.conjunction - returns conjunction events for this body","search_text":"constant_member:jupiter.conjunction conjunction jupiter.conjunction method returns conjunction events for this body jupiter.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:jupiter.opposition","name":"opposition","path":"jupiter.opposition","kind":"method","aliases":[],"description":"returns opposition events for this body","syntax":["jupiter.opposition(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the jupiter constant with its opposition member\nlet value = jupiter;\nprint value.opposition();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: jupiter.opposition - returns opposition events for this body\nSyntax:\n  jupiter.opposition(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the jupiter constant with its opposition member\n   let value = jupiter;\n   print value.opposition();","compact":"Method: jupiter.opposition - returns opposition events for this body","search_text":"constant_member:jupiter.opposition opposition jupiter.opposition method returns opposition events for this body jupiter.opposition(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:jupiter.eastern_quadrature","name":"eastern_quadrature","path":"jupiter.eastern_quadrature","kind":"method","aliases":[],"description":"returns eastern quadrature events for this body","syntax":["jupiter.eastern_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the jupiter constant with its eastern_quadrature member\nlet value = jupiter;\nprint value.eastern_quadrature();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: jupiter.eastern_quadrature - returns eastern quadrature events for this body\nSyntax:\n  jupiter.eastern_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the jupiter constant with its eastern_quadrature member\n   let value = jupiter;\n   print value.eastern_quadrature();","compact":"Method: jupiter.eastern_quadrature - returns eastern quadrature events for this body","search_text":"constant_member:jupiter.eastern_quadrature eastern_quadrature jupiter.eastern_quadrature method returns eastern quadrature events for this body jupiter.eastern_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:jupiter.western_quadrature","name":"western_quadrature","path":"jupiter.western_quadrature","kind":"method","aliases":[],"description":"returns western quadrature events for this body","syntax":["jupiter.western_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the jupiter constant with its western_quadrature member\nlet value = jupiter;\nprint value.western_quadrature();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: jupiter.western_quadrature - returns western quadrature events for this body\nSyntax:\n  jupiter.western_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the jupiter constant with its western_quadrature member\n   let value = jupiter;\n   print value.western_quadrature();","compact":"Method: jupiter.western_quadrature - returns western quadrature events for this body","search_text":"constant_member:jupiter.western_quadrature western_quadrature jupiter.western_quadrature method returns western quadrature events for this body jupiter.western_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:jupiter.quadrature","name":"quadrature","path":"jupiter.quadrature","kind":"method","aliases":[],"description":"returns eastern and western quadrature events for this body","syntax":["jupiter.quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the jupiter constant with its quadrature member\nlet value = jupiter;\nprint value.quadrature();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: jupiter.quadrature - returns eastern and western quadrature events for this body\nSyntax:\n  jupiter.quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the jupiter constant with its quadrature member\n   let value = jupiter;\n   print value.quadrature();","compact":"Method: jupiter.quadrature - returns eastern and western quadrature events for this body","search_text":"constant_member:jupiter.quadrature quadrature jupiter.quadrature method returns eastern and western quadrature events for this body jupiter.quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:jupiter.periapsis","name":"periapsis","path":"jupiter.periapsis","kind":"method","aliases":[],"description":"returns periapsis events for this body","syntax":["jupiter.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find periapsis events for the jupiter help entry\nlet value = jupiter;\nlet span = range(time(2024,1,1,0,0,0), time(2024,1,10,0,0,0), 1);\nprint \"jupiter\", value.periapsis(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: jupiter.periapsis - returns periapsis events for this body\nSyntax:\n  jupiter.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find periapsis events for the jupiter help entry\n   let value = jupiter;\n   let span = range(time(2024,1,1,0,0,0), time(2024,1,10,0,0,0), 1);\n   print \"jupiter\", value.periapsis(span).first();","compact":"Method: jupiter.periapsis - returns periapsis events for this body","search_text":"constant_member:jupiter.periapsis periapsis jupiter.periapsis method returns periapsis events for this body jupiter.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:jupiter.apoapsis","name":"apoapsis","path":"jupiter.apoapsis","kind":"method","aliases":[],"description":"returns apoapsis events for this body","syntax":["jupiter.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find apoapsis events for the jupiter help entry\nlet value = jupiter;\nlet span = range(time(2024,7,1,0,0,0), time(2024,7,10,0,0,0), 1);\nprint \"jupiter\", value.apoapsis(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: jupiter.apoapsis - returns apoapsis events for this body\nSyntax:\n  jupiter.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find apoapsis events for the jupiter help entry\n   let value = jupiter;\n   let span = range(time(2024,7,1,0,0,0), time(2024,7,10,0,0,0), 1);\n   print \"jupiter\", value.apoapsis(span).first();","compact":"Method: jupiter.apoapsis - returns apoapsis events for this body","search_text":"constant_member:jupiter.apoapsis apoapsis jupiter.apoapsis method returns apoapsis events for this body jupiter.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:jupiter.children","name":"children","path":"jupiter.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["jupiter.children() -> List"],"examples":["# Inspect child entries available from the jupiter constant\nlet value = jupiter;\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: jupiter.children - lists child fields and callable members available on this value\nSyntax:\n  jupiter.children() -> List\nExample:\n# Inspect child entries available from the jupiter constant\n   let value = jupiter;\n   print value.children();","compact":"Method: jupiter.children - lists child fields and callable members available on this value","search_text":"constant_member:jupiter.children children jupiter.children method lists child fields and callable members available on this value jupiter.children() -> List"},{"id":"constant_member:jupiter.fields","name":"fields","path":"jupiter.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["jupiter.fields() -> Object"],"examples":["# Inspect plain fields on the jupiter constant\nlet value = jupiter;\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: jupiter.fields - returns an object containing the value's plain fields\nSyntax:\n  jupiter.fields() -> Object\nExample:\n# Inspect plain fields on the jupiter constant\n   let value = jupiter;\n   print value.fields();","compact":"Method: jupiter.fields - returns an object containing the value's plain fields","search_text":"constant_member:jupiter.fields fields jupiter.fields method returns an object containing the value's plain fields jupiter.fields() -> Object"},{"id":"constant_member:jupiter.functions","name":"functions","path":"jupiter.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["jupiter.functions() -> List"],"examples":["# Inspect callable members on the jupiter constant\nlet value = jupiter;\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: jupiter.functions - lists callable members available on this value\nSyntax:\n  jupiter.functions() -> List\nExample:\n# Inspect callable members on the jupiter constant\n   let value = jupiter;\n   print value.functions();","compact":"Method: jupiter.functions - lists callable members available on this value","search_text":"constant_member:jupiter.functions functions jupiter.functions method lists callable members available on this value jupiter.functions() -> List"},{"id":"constant_member:saturn.name","name":"name","path":"saturn.name","kind":"field","aliases":[],"description":"canonical body name","syntax":["saturn.name -> Text"],"examples":["# Use saturn.name as the label in a body catalog row\nlet row = {label: saturn.name, radius: saturn.radius};\nprint row.label, row.radius;"],"arguments":[],"children":[],"resources":[],"doc":"Field: saturn.name - canonical body name\nSyntax:\n  saturn.name -> Text\nExample:\n# Use saturn.name as the label in a body catalog row\n   let row = {label: saturn.name, radius: saturn.radius};\n   print row.label, row.radius;","compact":"Field: saturn.name - canonical body name","search_text":"constant_member:saturn.name name saturn.name field canonical body name saturn.name -> Text"},{"id":"constant_member:saturn.kind","name":"kind","path":"saturn.kind","kind":"field","aliases":[],"description":"reference body kind","syntax":["saturn.kind -> Text"],"examples":["# Use saturn.kind to group a body catalog row\nlet row = {name: saturn.name, group: saturn.kind};\nprint row.group, row.name;"],"arguments":[],"children":[],"resources":[],"doc":"Field: saturn.kind - reference body kind\nSyntax:\n  saturn.kind -> Text\nExample:\n# Use saturn.kind to group a body catalog row\n   let row = {name: saturn.name, group: saturn.kind};\n   print row.group, row.name;","compact":"Field: saturn.kind - reference body kind","search_text":"constant_member:saturn.kind kind saturn.kind field reference body kind saturn.kind -> Text"},{"id":"constant_member:saturn.xmu","name":"xmu","path":"saturn.xmu","kind":"field","aliases":[],"description":"gravitational parameter in km^3/s^2","syntax":["saturn.xmu -> Number"],"examples":["# Compare saturn gravitational parameter with Earth\nprint saturn.name, saturn.xmu, saturn.xmu / earth.xmu;"],"arguments":[],"children":[],"resources":[],"doc":"Field: saturn.xmu - gravitational parameter in km^3/s^2\nSyntax:\n  saturn.xmu -> Number\nExample:\n# Compare saturn gravitational parameter with Earth\n   print saturn.name, saturn.xmu, saturn.xmu / earth.xmu;","compact":"Field: saturn.xmu - gravitational parameter in km^3/s^2","search_text":"constant_member:saturn.xmu xmu saturn.xmu field gravitational parameter in km^3/s^2 saturn.xmu -> Number"},{"id":"constant_member:saturn.radius","name":"radius","path":"saturn.radius","kind":"field","aliases":[],"description":"body radius in km","syntax":["saturn.radius -> Number"],"examples":["# Compare saturn radius with Earth for scale estimates\nprint saturn.name, saturn.radius, saturn.radius / earth.radius;"],"arguments":[],"children":[],"resources":[],"doc":"Field: saturn.radius - body radius in km\nSyntax:\n  saturn.radius -> Number\nExample:\n# Compare saturn radius with Earth for scale estimates\n   print saturn.name, saturn.radius, saturn.radius / earth.radius;","compact":"Field: saturn.radius - body radius in km","search_text":"constant_member:saturn.radius radius saturn.radius field body radius in km saturn.radius -> Number"},{"id":"constant_member:saturn.mass","name":"mass","path":"saturn.mass","kind":"field","aliases":[],"description":"body mass in kg","syntax":["saturn.mass -> Number"],"examples":["# Compare saturn mass with Earth for scale estimates\nprint saturn.name, saturn.mass, saturn.mass / earth.mass;"],"arguments":[],"children":[],"resources":[],"doc":"Field: saturn.mass - body mass in kg\nSyntax:\n  saturn.mass -> Number\nExample:\n# Compare saturn mass with Earth for scale estimates\n   print saturn.name, saturn.mass, saturn.mass / earth.mass;","compact":"Field: saturn.mass - body mass in kg","search_text":"constant_member:saturn.mass mass saturn.mass field body mass in kg saturn.mass -> Number"},{"id":"constant_member:saturn.H","name":"H","path":"saturn.H","kind":"field","aliases":[],"description":"reference absolute magnitude parameter","syntax":["saturn.H -> Number"],"examples":["# Use saturn.H as the absolute magnitude term in a report\nprint saturn.name, saturn.H;"],"arguments":[],"children":[],"resources":[],"doc":"Field: saturn.H - reference absolute magnitude parameter\nSyntax:\n  saturn.H -> Number\nExample:\n# Use saturn.H as the absolute magnitude term in a report\n   print saturn.name, saturn.H;","compact":"Field: saturn.H - reference absolute magnitude parameter","search_text":"constant_member:saturn.H H saturn.H field reference absolute magnitude parameter saturn.H -> Number"},{"id":"constant_member:saturn.n","name":"n","path":"saturn.n","kind":"field","aliases":[],"description":"reference illumination exponent","syntax":["saturn.n -> Number"],"examples":["# Use saturn.n as the photometric phase slope term\nprint saturn.name, saturn.n, saturn.H + saturn.n;"],"arguments":[],"children":[],"resources":[],"doc":"Field: saturn.n - reference illumination exponent\nSyntax:\n  saturn.n -> Number\nExample:\n# Use saturn.n as the photometric phase slope term\n   print saturn.name, saturn.n, saturn.H + saturn.n;","compact":"Field: saturn.n - reference illumination exponent","search_text":"constant_member:saturn.n n saturn.n field reference illumination exponent saturn.n -> Number"},{"id":"constant_member:saturn.k","name":"k","path":"saturn.k","kind":"field","aliases":[],"description":"reference G Muller constant","syntax":["saturn.k -> Number"],"examples":["# Use saturn.k as the photometric curvature term\nprint saturn.name, saturn.k, saturn.H + saturn.k;"],"arguments":[],"children":[],"resources":[],"doc":"Field: saturn.k - reference G Muller constant\nSyntax:\n  saturn.k -> Number\nExample:\n# Use saturn.k as the photometric curvature term\n   print saturn.name, saturn.k, saturn.H + saturn.k;","compact":"Field: saturn.k - reference G Muller constant","search_text":"constant_member:saturn.k k saturn.k field reference G Muller constant saturn.k -> Number"},{"id":"constant_member:saturn.known","name":"known","path":"saturn.known","kind":"field","aliases":[],"description":"whether the body name matched the built-in table","syntax":["saturn.known -> Bool"],"examples":["# Verify whether saturn has built-in physical metadata\nprint saturn.name, saturn.known;"],"arguments":[],"children":[],"resources":[],"doc":"Field: saturn.known - whether the body name matched the built-in table\nSyntax:\n  saturn.known -> Bool\nExample:\n# Verify whether saturn has built-in physical metadata\n   print saturn.name, saturn.known;","compact":"Field: saturn.known - whether the body name matched the built-in table","search_text":"constant_member:saturn.known known saturn.known field whether the body name matched the built-in table saturn.known -> Bool"},{"id":"constant_member:saturn.rotational_axis","name":"rotational_axis","path":"saturn.rotational_axis","kind":"method","aliases":[],"description":"returns this body's rotational north pole at a time","syntax":["saturn.rotational_axis(time: Time) -> Object"],"examples":["# Use the saturn constant with its rotational_axis member\nlet value = saturn;\nprint value.rotational_axis(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: saturn.rotational_axis - returns this body's rotational north pole at a time\nSyntax:\n  saturn.rotational_axis(time: Time) -> Object\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the saturn constant with its rotational_axis member\n   let value = saturn;\n   print value.rotational_axis(time());","compact":"Method: saturn.rotational_axis - returns this body's rotational north pole at a time","search_text":"constant_member:saturn.rotational_axis rotational_axis saturn.rotational_axis method returns this body's rotational north pole at a time saturn.rotational_axis(time: Time) -> Object time Time time at which to evaluate the rotational pole"},{"id":"constant_member:saturn.rotational_axis_ra","name":"rotational_axis_ra","path":"saturn.rotational_axis_ra","kind":"method","aliases":[],"description":"returns the rotational north-pole right ascension in degrees","syntax":["saturn.rotational_axis_ra(time: Time) -> Number"],"examples":["# Use the saturn constant with its rotational_axis_ra member\nlet value = saturn;\nprint value.rotational_axis_ra(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: saturn.rotational_axis_ra - returns the rotational north-pole right ascension in degrees\nSyntax:\n  saturn.rotational_axis_ra(time: Time) -> Number\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the saturn constant with its rotational_axis_ra member\n   let value = saturn;\n   print value.rotational_axis_ra(time());","compact":"Method: saturn.rotational_axis_ra - returns the rotational north-pole right ascension in degrees","search_text":"constant_member:saturn.rotational_axis_ra rotational_axis_ra saturn.rotational_axis_ra method returns the rotational north-pole right ascension in degrees saturn.rotational_axis_ra(time: Time) -> Number time Time time at which to evaluate the rotational pole"},{"id":"constant_member:saturn.rotational_axis_dec","name":"rotational_axis_dec","path":"saturn.rotational_axis_dec","kind":"method","aliases":[],"description":"returns the rotational north-pole declination in degrees","syntax":["saturn.rotational_axis_dec(time: Time) -> Number"],"examples":["# Use the saturn constant with its rotational_axis_dec member\nlet value = saturn;\nprint value.rotational_axis_dec(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: saturn.rotational_axis_dec - returns the rotational north-pole declination in degrees\nSyntax:\n  saturn.rotational_axis_dec(time: Time) -> Number\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the saturn constant with its rotational_axis_dec member\n   let value = saturn;\n   print value.rotational_axis_dec(time());","compact":"Method: saturn.rotational_axis_dec - returns the rotational north-pole declination in degrees","search_text":"constant_member:saturn.rotational_axis_dec rotational_axis_dec saturn.rotational_axis_dec method returns the rotational north-pole declination in degrees saturn.rotational_axis_dec(time: Time) -> Number time Time time at which to evaluate the rotational pole"},{"id":"constant_member:saturn.state","name":"state","path":"saturn.state","kind":"method","aliases":[],"description":"returns the orbital state for this body at a time","syntax":["saturn.state(time: Time) -> State"],"examples":["# Use the saturn constant with its state member\nlet value = saturn;\nprint value.state(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: saturn.state - returns the orbital state for this body at a time\nSyntax:\n  saturn.state(time: Time) -> State\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the saturn constant with its state member\n   let value = saturn;\n   print value.state(time());","compact":"Method: saturn.state - returns the orbital state for this body at a time","search_text":"constant_member:saturn.state state saturn.state method returns the orbital state for this body at a time saturn.state(time: Time) -> State time Time time at which to evaluate the rotational pole"},{"id":"constant_member:saturn.rise","name":"rise","path":"saturn.rise","kind":"method","aliases":[],"description":"returns sunrise or moonrise events for an observer","syntax":["saturn.rise(observer: Location|Observer, range: Range) -> List|Event|Nil"],"examples":["# Find saturn rise events from an explicit observer\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\nprint saturn.rise(obs, span).first();"],"arguments":[{"name":"observer","type":"Location|Observer","required":true,"description":"Earth location or observer for the local horizon event"},{"name":"range","type":"Range","required":true,"description":"time range to search; open ranges return the next event"}],"children":[],"resources":[],"doc":"Method: saturn.rise - returns sunrise or moonrise events for an observer\nSyntax:\n  saturn.rise(observer: Location|Observer, range: Range) -> List|Event|Nil\nArguments:\n  observer: Location|Observer - Earth location or observer for the local horizon event\n  range: Range - time range to search; open ranges return the next event\nExample:\n# Find saturn rise events from an explicit observer\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\n   print saturn.rise(obs, span).first();","compact":"Method: saturn.rise - returns sunrise or moonrise events for an observer","search_text":"constant_member:saturn.rise rise saturn.rise method returns sunrise or moonrise events for an observer saturn.rise(observer: Location|Observer, range: Range) -> List|Event|Nil observer Location|Observer Earth location or observer for the local horizon event range Range time range to search; open ranges return the next event"},{"id":"constant_member:saturn.set","name":"set","path":"saturn.set","kind":"method","aliases":[],"description":"returns sunset or moonset events for an observer","syntax":["saturn.set(observer: Location|Observer, range: Range) -> List|Event|Nil"],"examples":["# Find saturn set events from an explicit observer\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\nprint saturn.set(obs, span).first();"],"arguments":[{"name":"observer","type":"Location|Observer","required":true,"description":"Earth location or observer for the local horizon event"},{"name":"range","type":"Range","required":true,"description":"time range to search; open ranges return the next event"}],"children":[],"resources":[],"doc":"Method: saturn.set - returns sunset or moonset events for an observer\nSyntax:\n  saturn.set(observer: Location|Observer, range: Range) -> List|Event|Nil\nArguments:\n  observer: Location|Observer - Earth location or observer for the local horizon event\n  range: Range - time range to search; open ranges return the next event\nExample:\n# Find saturn set events from an explicit observer\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\n   print saturn.set(obs, span).first();","compact":"Method: saturn.set - returns sunset or moonset events for an observer","search_text":"constant_member:saturn.set set saturn.set method returns sunset or moonset events for an observer saturn.set(observer: Location|Observer, range: Range) -> List|Event|Nil observer Location|Observer Earth location or observer for the local horizon event range Range time range to search; open ranges return the next event"},{"id":"constant_member:saturn.conjunction","name":"conjunction","path":"saturn.conjunction","kind":"method","aliases":[],"description":"returns conjunction events for this body","syntax":["saturn.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the saturn constant with its conjunction member\nlet value = saturn;\nprint value.conjunction();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: saturn.conjunction - returns conjunction events for this body\nSyntax:\n  saturn.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the saturn constant with its conjunction member\n   let value = saturn;\n   print value.conjunction();","compact":"Method: saturn.conjunction - returns conjunction events for this body","search_text":"constant_member:saturn.conjunction conjunction saturn.conjunction method returns conjunction events for this body saturn.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:saturn.opposition","name":"opposition","path":"saturn.opposition","kind":"method","aliases":[],"description":"returns opposition events for this body","syntax":["saturn.opposition(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the saturn constant with its opposition member\nlet value = saturn;\nprint value.opposition();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: saturn.opposition - returns opposition events for this body\nSyntax:\n  saturn.opposition(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the saturn constant with its opposition member\n   let value = saturn;\n   print value.opposition();","compact":"Method: saturn.opposition - returns opposition events for this body","search_text":"constant_member:saturn.opposition opposition saturn.opposition method returns opposition events for this body saturn.opposition(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:saturn.eastern_quadrature","name":"eastern_quadrature","path":"saturn.eastern_quadrature","kind":"method","aliases":[],"description":"returns eastern quadrature events for this body","syntax":["saturn.eastern_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the saturn constant with its eastern_quadrature member\nlet value = saturn;\nprint value.eastern_quadrature();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: saturn.eastern_quadrature - returns eastern quadrature events for this body\nSyntax:\n  saturn.eastern_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the saturn constant with its eastern_quadrature member\n   let value = saturn;\n   print value.eastern_quadrature();","compact":"Method: saturn.eastern_quadrature - returns eastern quadrature events for this body","search_text":"constant_member:saturn.eastern_quadrature eastern_quadrature saturn.eastern_quadrature method returns eastern quadrature events for this body saturn.eastern_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:saturn.western_quadrature","name":"western_quadrature","path":"saturn.western_quadrature","kind":"method","aliases":[],"description":"returns western quadrature events for this body","syntax":["saturn.western_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the saturn constant with its western_quadrature member\nlet value = saturn;\nprint value.western_quadrature();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: saturn.western_quadrature - returns western quadrature events for this body\nSyntax:\n  saturn.western_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the saturn constant with its western_quadrature member\n   let value = saturn;\n   print value.western_quadrature();","compact":"Method: saturn.western_quadrature - returns western quadrature events for this body","search_text":"constant_member:saturn.western_quadrature western_quadrature saturn.western_quadrature method returns western quadrature events for this body saturn.western_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:saturn.quadrature","name":"quadrature","path":"saturn.quadrature","kind":"method","aliases":[],"description":"returns eastern and western quadrature events for this body","syntax":["saturn.quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the saturn constant with its quadrature member\nlet value = saturn;\nprint value.quadrature();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: saturn.quadrature - returns eastern and western quadrature events for this body\nSyntax:\n  saturn.quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the saturn constant with its quadrature member\n   let value = saturn;\n   print value.quadrature();","compact":"Method: saturn.quadrature - returns eastern and western quadrature events for this body","search_text":"constant_member:saturn.quadrature quadrature saturn.quadrature method returns eastern and western quadrature events for this body saturn.quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:saturn.periapsis","name":"periapsis","path":"saturn.periapsis","kind":"method","aliases":[],"description":"returns periapsis events for this body","syntax":["saturn.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find periapsis events for the saturn help entry\nlet value = saturn;\nlet span = range(time(2024,1,1,0,0,0), time(2024,1,10,0,0,0), 1);\nprint \"saturn\", value.periapsis(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: saturn.periapsis - returns periapsis events for this body\nSyntax:\n  saturn.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find periapsis events for the saturn help entry\n   let value = saturn;\n   let span = range(time(2024,1,1,0,0,0), time(2024,1,10,0,0,0), 1);\n   print \"saturn\", value.periapsis(span).first();","compact":"Method: saturn.periapsis - returns periapsis events for this body","search_text":"constant_member:saturn.periapsis periapsis saturn.periapsis method returns periapsis events for this body saturn.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:saturn.apoapsis","name":"apoapsis","path":"saturn.apoapsis","kind":"method","aliases":[],"description":"returns apoapsis events for this body","syntax":["saturn.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find apoapsis events for the saturn help entry\nlet value = saturn;\nlet span = range(time(2024,7,1,0,0,0), time(2024,7,10,0,0,0), 1);\nprint \"saturn\", value.apoapsis(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: saturn.apoapsis - returns apoapsis events for this body\nSyntax:\n  saturn.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find apoapsis events for the saturn help entry\n   let value = saturn;\n   let span = range(time(2024,7,1,0,0,0), time(2024,7,10,0,0,0), 1);\n   print \"saturn\", value.apoapsis(span).first();","compact":"Method: saturn.apoapsis - returns apoapsis events for this body","search_text":"constant_member:saturn.apoapsis apoapsis saturn.apoapsis method returns apoapsis events for this body saturn.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:saturn.children","name":"children","path":"saturn.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["saturn.children() -> List"],"examples":["# Inspect child entries available from the saturn constant\nlet value = saturn;\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: saturn.children - lists child fields and callable members available on this value\nSyntax:\n  saturn.children() -> List\nExample:\n# Inspect child entries available from the saturn constant\n   let value = saturn;\n   print value.children();","compact":"Method: saturn.children - lists child fields and callable members available on this value","search_text":"constant_member:saturn.children children saturn.children method lists child fields and callable members available on this value saturn.children() -> List"},{"id":"constant_member:saturn.fields","name":"fields","path":"saturn.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["saturn.fields() -> Object"],"examples":["# Inspect plain fields on the saturn constant\nlet value = saturn;\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: saturn.fields - returns an object containing the value's plain fields\nSyntax:\n  saturn.fields() -> Object\nExample:\n# Inspect plain fields on the saturn constant\n   let value = saturn;\n   print value.fields();","compact":"Method: saturn.fields - returns an object containing the value's plain fields","search_text":"constant_member:saturn.fields fields saturn.fields method returns an object containing the value's plain fields saturn.fields() -> Object"},{"id":"constant_member:saturn.functions","name":"functions","path":"saturn.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["saturn.functions() -> List"],"examples":["# Inspect callable members on the saturn constant\nlet value = saturn;\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: saturn.functions - lists callable members available on this value\nSyntax:\n  saturn.functions() -> List\nExample:\n# Inspect callable members on the saturn constant\n   let value = saturn;\n   print value.functions();","compact":"Method: saturn.functions - lists callable members available on this value","search_text":"constant_member:saturn.functions functions saturn.functions method lists callable members available on this value saturn.functions() -> List"},{"id":"constant_member:uranus.name","name":"name","path":"uranus.name","kind":"field","aliases":[],"description":"canonical body name","syntax":["uranus.name -> Text"],"examples":["# Use uranus.name as the label in a body catalog row\nlet row = {label: uranus.name, radius: uranus.radius};\nprint row.label, row.radius;"],"arguments":[],"children":[],"resources":[],"doc":"Field: uranus.name - canonical body name\nSyntax:\n  uranus.name -> Text\nExample:\n# Use uranus.name as the label in a body catalog row\n   let row = {label: uranus.name, radius: uranus.radius};\n   print row.label, row.radius;","compact":"Field: uranus.name - canonical body name","search_text":"constant_member:uranus.name name uranus.name field canonical body name uranus.name -> Text"},{"id":"constant_member:uranus.kind","name":"kind","path":"uranus.kind","kind":"field","aliases":[],"description":"reference body kind","syntax":["uranus.kind -> Text"],"examples":["# Use uranus.kind to group a body catalog row\nlet row = {name: uranus.name, group: uranus.kind};\nprint row.group, row.name;"],"arguments":[],"children":[],"resources":[],"doc":"Field: uranus.kind - reference body kind\nSyntax:\n  uranus.kind -> Text\nExample:\n# Use uranus.kind to group a body catalog row\n   let row = {name: uranus.name, group: uranus.kind};\n   print row.group, row.name;","compact":"Field: uranus.kind - reference body kind","search_text":"constant_member:uranus.kind kind uranus.kind field reference body kind uranus.kind -> Text"},{"id":"constant_member:uranus.xmu","name":"xmu","path":"uranus.xmu","kind":"field","aliases":[],"description":"gravitational parameter in km^3/s^2","syntax":["uranus.xmu -> Number"],"examples":["# Compare uranus gravitational parameter with Earth\nprint uranus.name, uranus.xmu, uranus.xmu / earth.xmu;"],"arguments":[],"children":[],"resources":[],"doc":"Field: uranus.xmu - gravitational parameter in km^3/s^2\nSyntax:\n  uranus.xmu -> Number\nExample:\n# Compare uranus gravitational parameter with Earth\n   print uranus.name, uranus.xmu, uranus.xmu / earth.xmu;","compact":"Field: uranus.xmu - gravitational parameter in km^3/s^2","search_text":"constant_member:uranus.xmu xmu uranus.xmu field gravitational parameter in km^3/s^2 uranus.xmu -> Number"},{"id":"constant_member:uranus.radius","name":"radius","path":"uranus.radius","kind":"field","aliases":[],"description":"body radius in km","syntax":["uranus.radius -> Number"],"examples":["# Compare uranus radius with Earth for scale estimates\nprint uranus.name, uranus.radius, uranus.radius / earth.radius;"],"arguments":[],"children":[],"resources":[],"doc":"Field: uranus.radius - body radius in km\nSyntax:\n  uranus.radius -> Number\nExample:\n# Compare uranus radius with Earth for scale estimates\n   print uranus.name, uranus.radius, uranus.radius / earth.radius;","compact":"Field: uranus.radius - body radius in km","search_text":"constant_member:uranus.radius radius uranus.radius field body radius in km uranus.radius -> Number"},{"id":"constant_member:uranus.mass","name":"mass","path":"uranus.mass","kind":"field","aliases":[],"description":"body mass in kg","syntax":["uranus.mass -> Number"],"examples":["# Compare uranus mass with Earth for scale estimates\nprint uranus.name, uranus.mass, uranus.mass / earth.mass;"],"arguments":[],"children":[],"resources":[],"doc":"Field: uranus.mass - body mass in kg\nSyntax:\n  uranus.mass -> Number\nExample:\n# Compare uranus mass with Earth for scale estimates\n   print uranus.name, uranus.mass, uranus.mass / earth.mass;","compact":"Field: uranus.mass - body mass in kg","search_text":"constant_member:uranus.mass mass uranus.mass field body mass in kg uranus.mass -> Number"},{"id":"constant_member:uranus.H","name":"H","path":"uranus.H","kind":"field","aliases":[],"description":"reference absolute magnitude parameter","syntax":["uranus.H -> Number"],"examples":["# Use uranus.H as the absolute magnitude term in a report\nprint uranus.name, uranus.H;"],"arguments":[],"children":[],"resources":[],"doc":"Field: uranus.H - reference absolute magnitude parameter\nSyntax:\n  uranus.H -> Number\nExample:\n# Use uranus.H as the absolute magnitude term in a report\n   print uranus.name, uranus.H;","compact":"Field: uranus.H - reference absolute magnitude parameter","search_text":"constant_member:uranus.H H uranus.H field reference absolute magnitude parameter uranus.H -> Number"},{"id":"constant_member:uranus.n","name":"n","path":"uranus.n","kind":"field","aliases":[],"description":"reference illumination exponent","syntax":["uranus.n -> Number"],"examples":["# Use uranus.n as the photometric phase slope term\nprint uranus.name, uranus.n, uranus.H + uranus.n;"],"arguments":[],"children":[],"resources":[],"doc":"Field: uranus.n - reference illumination exponent\nSyntax:\n  uranus.n -> Number\nExample:\n# Use uranus.n as the photometric phase slope term\n   print uranus.name, uranus.n, uranus.H + uranus.n;","compact":"Field: uranus.n - reference illumination exponent","search_text":"constant_member:uranus.n n uranus.n field reference illumination exponent uranus.n -> Number"},{"id":"constant_member:uranus.k","name":"k","path":"uranus.k","kind":"field","aliases":[],"description":"reference G Muller constant","syntax":["uranus.k -> Number"],"examples":["# Use uranus.k as the photometric curvature term\nprint uranus.name, uranus.k, uranus.H + uranus.k;"],"arguments":[],"children":[],"resources":[],"doc":"Field: uranus.k - reference G Muller constant\nSyntax:\n  uranus.k -> Number\nExample:\n# Use uranus.k as the photometric curvature term\n   print uranus.name, uranus.k, uranus.H + uranus.k;","compact":"Field: uranus.k - reference G Muller constant","search_text":"constant_member:uranus.k k uranus.k field reference G Muller constant uranus.k -> Number"},{"id":"constant_member:uranus.known","name":"known","path":"uranus.known","kind":"field","aliases":[],"description":"whether the body name matched the built-in table","syntax":["uranus.known -> Bool"],"examples":["# Verify whether uranus has built-in physical metadata\nprint uranus.name, uranus.known;"],"arguments":[],"children":[],"resources":[],"doc":"Field: uranus.known - whether the body name matched the built-in table\nSyntax:\n  uranus.known -> Bool\nExample:\n# Verify whether uranus has built-in physical metadata\n   print uranus.name, uranus.known;","compact":"Field: uranus.known - whether the body name matched the built-in table","search_text":"constant_member:uranus.known known uranus.known field whether the body name matched the built-in table uranus.known -> Bool"},{"id":"constant_member:uranus.rotational_axis","name":"rotational_axis","path":"uranus.rotational_axis","kind":"method","aliases":[],"description":"returns this body's rotational north pole at a time","syntax":["uranus.rotational_axis(time: Time) -> Object"],"examples":["# Use the uranus constant with its rotational_axis member\nlet value = uranus;\nprint value.rotational_axis(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: uranus.rotational_axis - returns this body's rotational north pole at a time\nSyntax:\n  uranus.rotational_axis(time: Time) -> Object\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the uranus constant with its rotational_axis member\n   let value = uranus;\n   print value.rotational_axis(time());","compact":"Method: uranus.rotational_axis - returns this body's rotational north pole at a time","search_text":"constant_member:uranus.rotational_axis rotational_axis uranus.rotational_axis method returns this body's rotational north pole at a time uranus.rotational_axis(time: Time) -> Object time Time time at which to evaluate the rotational pole"},{"id":"constant_member:uranus.rotational_axis_ra","name":"rotational_axis_ra","path":"uranus.rotational_axis_ra","kind":"method","aliases":[],"description":"returns the rotational north-pole right ascension in degrees","syntax":["uranus.rotational_axis_ra(time: Time) -> Number"],"examples":["# Use the uranus constant with its rotational_axis_ra member\nlet value = uranus;\nprint value.rotational_axis_ra(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: uranus.rotational_axis_ra - returns the rotational north-pole right ascension in degrees\nSyntax:\n  uranus.rotational_axis_ra(time: Time) -> Number\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the uranus constant with its rotational_axis_ra member\n   let value = uranus;\n   print value.rotational_axis_ra(time());","compact":"Method: uranus.rotational_axis_ra - returns the rotational north-pole right ascension in degrees","search_text":"constant_member:uranus.rotational_axis_ra rotational_axis_ra uranus.rotational_axis_ra method returns the rotational north-pole right ascension in degrees uranus.rotational_axis_ra(time: Time) -> Number time Time time at which to evaluate the rotational pole"},{"id":"constant_member:uranus.rotational_axis_dec","name":"rotational_axis_dec","path":"uranus.rotational_axis_dec","kind":"method","aliases":[],"description":"returns the rotational north-pole declination in degrees","syntax":["uranus.rotational_axis_dec(time: Time) -> Number"],"examples":["# Use the uranus constant with its rotational_axis_dec member\nlet value = uranus;\nprint value.rotational_axis_dec(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: uranus.rotational_axis_dec - returns the rotational north-pole declination in degrees\nSyntax:\n  uranus.rotational_axis_dec(time: Time) -> Number\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the uranus constant with its rotational_axis_dec member\n   let value = uranus;\n   print value.rotational_axis_dec(time());","compact":"Method: uranus.rotational_axis_dec - returns the rotational north-pole declination in degrees","search_text":"constant_member:uranus.rotational_axis_dec rotational_axis_dec uranus.rotational_axis_dec method returns the rotational north-pole declination in degrees uranus.rotational_axis_dec(time: Time) -> Number time Time time at which to evaluate the rotational pole"},{"id":"constant_member:uranus.state","name":"state","path":"uranus.state","kind":"method","aliases":[],"description":"returns the orbital state for this body at a time","syntax":["uranus.state(time: Time) -> State"],"examples":["# Use the uranus constant with its state member\nlet value = uranus;\nprint value.state(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: uranus.state - returns the orbital state for this body at a time\nSyntax:\n  uranus.state(time: Time) -> State\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the uranus constant with its state member\n   let value = uranus;\n   print value.state(time());","compact":"Method: uranus.state - returns the orbital state for this body at a time","search_text":"constant_member:uranus.state state uranus.state method returns the orbital state for this body at a time uranus.state(time: Time) -> State time Time time at which to evaluate the rotational pole"},{"id":"constant_member:uranus.rise","name":"rise","path":"uranus.rise","kind":"method","aliases":[],"description":"returns sunrise or moonrise events for an observer","syntax":["uranus.rise(observer: Location|Observer, range: Range) -> List|Event|Nil"],"examples":["# Find uranus rise events from an explicit observer\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\nprint uranus.rise(obs, span).first();"],"arguments":[{"name":"observer","type":"Location|Observer","required":true,"description":"Earth location or observer for the local horizon event"},{"name":"range","type":"Range","required":true,"description":"time range to search; open ranges return the next event"}],"children":[],"resources":[],"doc":"Method: uranus.rise - returns sunrise or moonrise events for an observer\nSyntax:\n  uranus.rise(observer: Location|Observer, range: Range) -> List|Event|Nil\nArguments:\n  observer: Location|Observer - Earth location or observer for the local horizon event\n  range: Range - time range to search; open ranges return the next event\nExample:\n# Find uranus rise events from an explicit observer\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\n   print uranus.rise(obs, span).first();","compact":"Method: uranus.rise - returns sunrise or moonrise events for an observer","search_text":"constant_member:uranus.rise rise uranus.rise method returns sunrise or moonrise events for an observer uranus.rise(observer: Location|Observer, range: Range) -> List|Event|Nil observer Location|Observer Earth location or observer for the local horizon event range Range time range to search; open ranges return the next event"},{"id":"constant_member:uranus.set","name":"set","path":"uranus.set","kind":"method","aliases":[],"description":"returns sunset or moonset events for an observer","syntax":["uranus.set(observer: Location|Observer, range: Range) -> List|Event|Nil"],"examples":["# Find uranus set events from an explicit observer\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\nprint uranus.set(obs, span).first();"],"arguments":[{"name":"observer","type":"Location|Observer","required":true,"description":"Earth location or observer for the local horizon event"},{"name":"range","type":"Range","required":true,"description":"time range to search; open ranges return the next event"}],"children":[],"resources":[],"doc":"Method: uranus.set - returns sunset or moonset events for an observer\nSyntax:\n  uranus.set(observer: Location|Observer, range: Range) -> List|Event|Nil\nArguments:\n  observer: Location|Observer - Earth location or observer for the local horizon event\n  range: Range - time range to search; open ranges return the next event\nExample:\n# Find uranus set events from an explicit observer\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\n   print uranus.set(obs, span).first();","compact":"Method: uranus.set - returns sunset or moonset events for an observer","search_text":"constant_member:uranus.set set uranus.set method returns sunset or moonset events for an observer uranus.set(observer: Location|Observer, range: Range) -> List|Event|Nil observer Location|Observer Earth location or observer for the local horizon event range Range time range to search; open ranges return the next event"},{"id":"constant_member:uranus.conjunction","name":"conjunction","path":"uranus.conjunction","kind":"method","aliases":[],"description":"returns conjunction events for this body","syntax":["uranus.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the uranus constant with its conjunction member\nlet value = uranus;\nprint value.conjunction();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: uranus.conjunction - returns conjunction events for this body\nSyntax:\n  uranus.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the uranus constant with its conjunction member\n   let value = uranus;\n   print value.conjunction();","compact":"Method: uranus.conjunction - returns conjunction events for this body","search_text":"constant_member:uranus.conjunction conjunction uranus.conjunction method returns conjunction events for this body uranus.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:uranus.opposition","name":"opposition","path":"uranus.opposition","kind":"method","aliases":[],"description":"returns opposition events for this body","syntax":["uranus.opposition(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the uranus constant with its opposition member\nlet value = uranus;\nprint value.opposition();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: uranus.opposition - returns opposition events for this body\nSyntax:\n  uranus.opposition(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the uranus constant with its opposition member\n   let value = uranus;\n   print value.opposition();","compact":"Method: uranus.opposition - returns opposition events for this body","search_text":"constant_member:uranus.opposition opposition uranus.opposition method returns opposition events for this body uranus.opposition(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:uranus.eastern_quadrature","name":"eastern_quadrature","path":"uranus.eastern_quadrature","kind":"method","aliases":[],"description":"returns eastern quadrature events for this body","syntax":["uranus.eastern_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the uranus constant with its eastern_quadrature member\nlet value = uranus;\nprint value.eastern_quadrature();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: uranus.eastern_quadrature - returns eastern quadrature events for this body\nSyntax:\n  uranus.eastern_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the uranus constant with its eastern_quadrature member\n   let value = uranus;\n   print value.eastern_quadrature();","compact":"Method: uranus.eastern_quadrature - returns eastern quadrature events for this body","search_text":"constant_member:uranus.eastern_quadrature eastern_quadrature uranus.eastern_quadrature method returns eastern quadrature events for this body uranus.eastern_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:uranus.western_quadrature","name":"western_quadrature","path":"uranus.western_quadrature","kind":"method","aliases":[],"description":"returns western quadrature events for this body","syntax":["uranus.western_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the uranus constant with its western_quadrature member\nlet value = uranus;\nprint value.western_quadrature();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: uranus.western_quadrature - returns western quadrature events for this body\nSyntax:\n  uranus.western_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the uranus constant with its western_quadrature member\n   let value = uranus;\n   print value.western_quadrature();","compact":"Method: uranus.western_quadrature - returns western quadrature events for this body","search_text":"constant_member:uranus.western_quadrature western_quadrature uranus.western_quadrature method returns western quadrature events for this body uranus.western_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:uranus.quadrature","name":"quadrature","path":"uranus.quadrature","kind":"method","aliases":[],"description":"returns eastern and western quadrature events for this body","syntax":["uranus.quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the uranus constant with its quadrature member\nlet value = uranus;\nprint value.quadrature();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: uranus.quadrature - returns eastern and western quadrature events for this body\nSyntax:\n  uranus.quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the uranus constant with its quadrature member\n   let value = uranus;\n   print value.quadrature();","compact":"Method: uranus.quadrature - returns eastern and western quadrature events for this body","search_text":"constant_member:uranus.quadrature quadrature uranus.quadrature method returns eastern and western quadrature events for this body uranus.quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:uranus.periapsis","name":"periapsis","path":"uranus.periapsis","kind":"method","aliases":[],"description":"returns periapsis events for this body","syntax":["uranus.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find periapsis events for the uranus help entry\nlet value = uranus;\nlet span = range(time(2024,1,1,0,0,0), time(2024,1,10,0,0,0), 1);\nprint \"uranus\", value.periapsis(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: uranus.periapsis - returns periapsis events for this body\nSyntax:\n  uranus.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find periapsis events for the uranus help entry\n   let value = uranus;\n   let span = range(time(2024,1,1,0,0,0), time(2024,1,10,0,0,0), 1);\n   print \"uranus\", value.periapsis(span).first();","compact":"Method: uranus.periapsis - returns periapsis events for this body","search_text":"constant_member:uranus.periapsis periapsis uranus.periapsis method returns periapsis events for this body uranus.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:uranus.apoapsis","name":"apoapsis","path":"uranus.apoapsis","kind":"method","aliases":[],"description":"returns apoapsis events for this body","syntax":["uranus.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find apoapsis events for the uranus help entry\nlet value = uranus;\nlet span = range(time(2024,7,1,0,0,0), time(2024,7,10,0,0,0), 1);\nprint \"uranus\", value.apoapsis(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: uranus.apoapsis - returns apoapsis events for this body\nSyntax:\n  uranus.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find apoapsis events for the uranus help entry\n   let value = uranus;\n   let span = range(time(2024,7,1,0,0,0), time(2024,7,10,0,0,0), 1);\n   print \"uranus\", value.apoapsis(span).first();","compact":"Method: uranus.apoapsis - returns apoapsis events for this body","search_text":"constant_member:uranus.apoapsis apoapsis uranus.apoapsis method returns apoapsis events for this body uranus.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:uranus.children","name":"children","path":"uranus.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["uranus.children() -> List"],"examples":["# Inspect child entries available from the uranus constant\nlet value = uranus;\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: uranus.children - lists child fields and callable members available on this value\nSyntax:\n  uranus.children() -> List\nExample:\n# Inspect child entries available from the uranus constant\n   let value = uranus;\n   print value.children();","compact":"Method: uranus.children - lists child fields and callable members available on this value","search_text":"constant_member:uranus.children children uranus.children method lists child fields and callable members available on this value uranus.children() -> List"},{"id":"constant_member:uranus.fields","name":"fields","path":"uranus.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["uranus.fields() -> Object"],"examples":["# Inspect plain fields on the uranus constant\nlet value = uranus;\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: uranus.fields - returns an object containing the value's plain fields\nSyntax:\n  uranus.fields() -> Object\nExample:\n# Inspect plain fields on the uranus constant\n   let value = uranus;\n   print value.fields();","compact":"Method: uranus.fields - returns an object containing the value's plain fields","search_text":"constant_member:uranus.fields fields uranus.fields method returns an object containing the value's plain fields uranus.fields() -> Object"},{"id":"constant_member:uranus.functions","name":"functions","path":"uranus.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["uranus.functions() -> List"],"examples":["# Inspect callable members on the uranus constant\nlet value = uranus;\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: uranus.functions - lists callable members available on this value\nSyntax:\n  uranus.functions() -> List\nExample:\n# Inspect callable members on the uranus constant\n   let value = uranus;\n   print value.functions();","compact":"Method: uranus.functions - lists callable members available on this value","search_text":"constant_member:uranus.functions functions uranus.functions method lists callable members available on this value uranus.functions() -> List"},{"id":"constant_member:neptune.name","name":"name","path":"neptune.name","kind":"field","aliases":[],"description":"canonical body name","syntax":["neptune.name -> Text"],"examples":["# Use neptune.name as the label in a body catalog row\nlet row = {label: neptune.name, radius: neptune.radius};\nprint row.label, row.radius;"],"arguments":[],"children":[],"resources":[],"doc":"Field: neptune.name - canonical body name\nSyntax:\n  neptune.name -> Text\nExample:\n# Use neptune.name as the label in a body catalog row\n   let row = {label: neptune.name, radius: neptune.radius};\n   print row.label, row.radius;","compact":"Field: neptune.name - canonical body name","search_text":"constant_member:neptune.name name neptune.name field canonical body name neptune.name -> Text"},{"id":"constant_member:neptune.kind","name":"kind","path":"neptune.kind","kind":"field","aliases":[],"description":"reference body kind","syntax":["neptune.kind -> Text"],"examples":["# Use neptune.kind to group a body catalog row\nlet row = {name: neptune.name, group: neptune.kind};\nprint row.group, row.name;"],"arguments":[],"children":[],"resources":[],"doc":"Field: neptune.kind - reference body kind\nSyntax:\n  neptune.kind -> Text\nExample:\n# Use neptune.kind to group a body catalog row\n   let row = {name: neptune.name, group: neptune.kind};\n   print row.group, row.name;","compact":"Field: neptune.kind - reference body kind","search_text":"constant_member:neptune.kind kind neptune.kind field reference body kind neptune.kind -> Text"},{"id":"constant_member:neptune.xmu","name":"xmu","path":"neptune.xmu","kind":"field","aliases":[],"description":"gravitational parameter in km^3/s^2","syntax":["neptune.xmu -> Number"],"examples":["# Compare neptune gravitational parameter with Earth\nprint neptune.name, neptune.xmu, neptune.xmu / earth.xmu;"],"arguments":[],"children":[],"resources":[],"doc":"Field: neptune.xmu - gravitational parameter in km^3/s^2\nSyntax:\n  neptune.xmu -> Number\nExample:\n# Compare neptune gravitational parameter with Earth\n   print neptune.name, neptune.xmu, neptune.xmu / earth.xmu;","compact":"Field: neptune.xmu - gravitational parameter in km^3/s^2","search_text":"constant_member:neptune.xmu xmu neptune.xmu field gravitational parameter in km^3/s^2 neptune.xmu -> Number"},{"id":"constant_member:neptune.radius","name":"radius","path":"neptune.radius","kind":"field","aliases":[],"description":"body radius in km","syntax":["neptune.radius -> Number"],"examples":["# Compare neptune radius with Earth for scale estimates\nprint neptune.name, neptune.radius, neptune.radius / earth.radius;"],"arguments":[],"children":[],"resources":[],"doc":"Field: neptune.radius - body radius in km\nSyntax:\n  neptune.radius -> Number\nExample:\n# Compare neptune radius with Earth for scale estimates\n   print neptune.name, neptune.radius, neptune.radius / earth.radius;","compact":"Field: neptune.radius - body radius in km","search_text":"constant_member:neptune.radius radius neptune.radius field body radius in km neptune.radius -> Number"},{"id":"constant_member:neptune.mass","name":"mass","path":"neptune.mass","kind":"field","aliases":[],"description":"body mass in kg","syntax":["neptune.mass -> Number"],"examples":["# Compare neptune mass with Earth for scale estimates\nprint neptune.name, neptune.mass, neptune.mass / earth.mass;"],"arguments":[],"children":[],"resources":[],"doc":"Field: neptune.mass - body mass in kg\nSyntax:\n  neptune.mass -> Number\nExample:\n# Compare neptune mass with Earth for scale estimates\n   print neptune.name, neptune.mass, neptune.mass / earth.mass;","compact":"Field: neptune.mass - body mass in kg","search_text":"constant_member:neptune.mass mass neptune.mass field body mass in kg neptune.mass -> Number"},{"id":"constant_member:neptune.H","name":"H","path":"neptune.H","kind":"field","aliases":[],"description":"reference absolute magnitude parameter","syntax":["neptune.H -> Number"],"examples":["# Use neptune.H as the absolute magnitude term in a report\nprint neptune.name, neptune.H;"],"arguments":[],"children":[],"resources":[],"doc":"Field: neptune.H - reference absolute magnitude parameter\nSyntax:\n  neptune.H -> Number\nExample:\n# Use neptune.H as the absolute magnitude term in a report\n   print neptune.name, neptune.H;","compact":"Field: neptune.H - reference absolute magnitude parameter","search_text":"constant_member:neptune.H H neptune.H field reference absolute magnitude parameter neptune.H -> Number"},{"id":"constant_member:neptune.n","name":"n","path":"neptune.n","kind":"field","aliases":[],"description":"reference illumination exponent","syntax":["neptune.n -> Number"],"examples":["# Use neptune.n as the photometric phase slope term\nprint neptune.name, neptune.n, neptune.H + neptune.n;"],"arguments":[],"children":[],"resources":[],"doc":"Field: neptune.n - reference illumination exponent\nSyntax:\n  neptune.n -> Number\nExample:\n# Use neptune.n as the photometric phase slope term\n   print neptune.name, neptune.n, neptune.H + neptune.n;","compact":"Field: neptune.n - reference illumination exponent","search_text":"constant_member:neptune.n n neptune.n field reference illumination exponent neptune.n -> Number"},{"id":"constant_member:neptune.k","name":"k","path":"neptune.k","kind":"field","aliases":[],"description":"reference G Muller constant","syntax":["neptune.k -> Number"],"examples":["# Use neptune.k as the photometric curvature term\nprint neptune.name, neptune.k, neptune.H + neptune.k;"],"arguments":[],"children":[],"resources":[],"doc":"Field: neptune.k - reference G Muller constant\nSyntax:\n  neptune.k -> Number\nExample:\n# Use neptune.k as the photometric curvature term\n   print neptune.name, neptune.k, neptune.H + neptune.k;","compact":"Field: neptune.k - reference G Muller constant","search_text":"constant_member:neptune.k k neptune.k field reference G Muller constant neptune.k -> Number"},{"id":"constant_member:neptune.known","name":"known","path":"neptune.known","kind":"field","aliases":[],"description":"whether the body name matched the built-in table","syntax":["neptune.known -> Bool"],"examples":["# Verify whether neptune has built-in physical metadata\nprint neptune.name, neptune.known;"],"arguments":[],"children":[],"resources":[],"doc":"Field: neptune.known - whether the body name matched the built-in table\nSyntax:\n  neptune.known -> Bool\nExample:\n# Verify whether neptune has built-in physical metadata\n   print neptune.name, neptune.known;","compact":"Field: neptune.known - whether the body name matched the built-in table","search_text":"constant_member:neptune.known known neptune.known field whether the body name matched the built-in table neptune.known -> Bool"},{"id":"constant_member:neptune.rotational_axis","name":"rotational_axis","path":"neptune.rotational_axis","kind":"method","aliases":[],"description":"returns this body's rotational north pole at a time","syntax":["neptune.rotational_axis(time: Time) -> Object"],"examples":["# Use the neptune constant with its rotational_axis member\nlet value = neptune;\nprint value.rotational_axis(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: neptune.rotational_axis - returns this body's rotational north pole at a time\nSyntax:\n  neptune.rotational_axis(time: Time) -> Object\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the neptune constant with its rotational_axis member\n   let value = neptune;\n   print value.rotational_axis(time());","compact":"Method: neptune.rotational_axis - returns this body's rotational north pole at a time","search_text":"constant_member:neptune.rotational_axis rotational_axis neptune.rotational_axis method returns this body's rotational north pole at a time neptune.rotational_axis(time: Time) -> Object time Time time at which to evaluate the rotational pole"},{"id":"constant_member:neptune.rotational_axis_ra","name":"rotational_axis_ra","path":"neptune.rotational_axis_ra","kind":"method","aliases":[],"description":"returns the rotational north-pole right ascension in degrees","syntax":["neptune.rotational_axis_ra(time: Time) -> Number"],"examples":["# Use the neptune constant with its rotational_axis_ra member\nlet value = neptune;\nprint value.rotational_axis_ra(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: neptune.rotational_axis_ra - returns the rotational north-pole right ascension in degrees\nSyntax:\n  neptune.rotational_axis_ra(time: Time) -> Number\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the neptune constant with its rotational_axis_ra member\n   let value = neptune;\n   print value.rotational_axis_ra(time());","compact":"Method: neptune.rotational_axis_ra - returns the rotational north-pole right ascension in degrees","search_text":"constant_member:neptune.rotational_axis_ra rotational_axis_ra neptune.rotational_axis_ra method returns the rotational north-pole right ascension in degrees neptune.rotational_axis_ra(time: Time) -> Number time Time time at which to evaluate the rotational pole"},{"id":"constant_member:neptune.rotational_axis_dec","name":"rotational_axis_dec","path":"neptune.rotational_axis_dec","kind":"method","aliases":[],"description":"returns the rotational north-pole declination in degrees","syntax":["neptune.rotational_axis_dec(time: Time) -> Number"],"examples":["# Use the neptune constant with its rotational_axis_dec member\nlet value = neptune;\nprint value.rotational_axis_dec(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: neptune.rotational_axis_dec - returns the rotational north-pole declination in degrees\nSyntax:\n  neptune.rotational_axis_dec(time: Time) -> Number\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the neptune constant with its rotational_axis_dec member\n   let value = neptune;\n   print value.rotational_axis_dec(time());","compact":"Method: neptune.rotational_axis_dec - returns the rotational north-pole declination in degrees","search_text":"constant_member:neptune.rotational_axis_dec rotational_axis_dec neptune.rotational_axis_dec method returns the rotational north-pole declination in degrees neptune.rotational_axis_dec(time: Time) -> Number time Time time at which to evaluate the rotational pole"},{"id":"constant_member:neptune.state","name":"state","path":"neptune.state","kind":"method","aliases":[],"description":"returns the orbital state for this body at a time","syntax":["neptune.state(time: Time) -> State"],"examples":["# Use the neptune constant with its state member\nlet value = neptune;\nprint value.state(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: neptune.state - returns the orbital state for this body at a time\nSyntax:\n  neptune.state(time: Time) -> State\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the neptune constant with its state member\n   let value = neptune;\n   print value.state(time());","compact":"Method: neptune.state - returns the orbital state for this body at a time","search_text":"constant_member:neptune.state state neptune.state method returns the orbital state for this body at a time neptune.state(time: Time) -> State time Time time at which to evaluate the rotational pole"},{"id":"constant_member:neptune.rise","name":"rise","path":"neptune.rise","kind":"method","aliases":[],"description":"returns sunrise or moonrise events for an observer","syntax":["neptune.rise(observer: Location|Observer, range: Range) -> List|Event|Nil"],"examples":["# Find neptune rise events from an explicit observer\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\nprint neptune.rise(obs, span).first();"],"arguments":[{"name":"observer","type":"Location|Observer","required":true,"description":"Earth location or observer for the local horizon event"},{"name":"range","type":"Range","required":true,"description":"time range to search; open ranges return the next event"}],"children":[],"resources":[],"doc":"Method: neptune.rise - returns sunrise or moonrise events for an observer\nSyntax:\n  neptune.rise(observer: Location|Observer, range: Range) -> List|Event|Nil\nArguments:\n  observer: Location|Observer - Earth location or observer for the local horizon event\n  range: Range - time range to search; open ranges return the next event\nExample:\n# Find neptune rise events from an explicit observer\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\n   print neptune.rise(obs, span).first();","compact":"Method: neptune.rise - returns sunrise or moonrise events for an observer","search_text":"constant_member:neptune.rise rise neptune.rise method returns sunrise or moonrise events for an observer neptune.rise(observer: Location|Observer, range: Range) -> List|Event|Nil observer Location|Observer Earth location or observer for the local horizon event range Range time range to search; open ranges return the next event"},{"id":"constant_member:neptune.set","name":"set","path":"neptune.set","kind":"method","aliases":[],"description":"returns sunset or moonset events for an observer","syntax":["neptune.set(observer: Location|Observer, range: Range) -> List|Event|Nil"],"examples":["# Find neptune set events from an explicit observer\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\nprint neptune.set(obs, span).first();"],"arguments":[{"name":"observer","type":"Location|Observer","required":true,"description":"Earth location or observer for the local horizon event"},{"name":"range","type":"Range","required":true,"description":"time range to search; open ranges return the next event"}],"children":[],"resources":[],"doc":"Method: neptune.set - returns sunset or moonset events for an observer\nSyntax:\n  neptune.set(observer: Location|Observer, range: Range) -> List|Event|Nil\nArguments:\n  observer: Location|Observer - Earth location or observer for the local horizon event\n  range: Range - time range to search; open ranges return the next event\nExample:\n# Find neptune set events from an explicit observer\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\n   print neptune.set(obs, span).first();","compact":"Method: neptune.set - returns sunset or moonset events for an observer","search_text":"constant_member:neptune.set set neptune.set method returns sunset or moonset events for an observer neptune.set(observer: Location|Observer, range: Range) -> List|Event|Nil observer Location|Observer Earth location or observer for the local horizon event range Range time range to search; open ranges return the next event"},{"id":"constant_member:neptune.conjunction","name":"conjunction","path":"neptune.conjunction","kind":"method","aliases":[],"description":"returns conjunction events for this body","syntax":["neptune.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the neptune constant with its conjunction member\nlet value = neptune;\nprint value.conjunction();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: neptune.conjunction - returns conjunction events for this body\nSyntax:\n  neptune.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the neptune constant with its conjunction member\n   let value = neptune;\n   print value.conjunction();","compact":"Method: neptune.conjunction - returns conjunction events for this body","search_text":"constant_member:neptune.conjunction conjunction neptune.conjunction method returns conjunction events for this body neptune.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:neptune.opposition","name":"opposition","path":"neptune.opposition","kind":"method","aliases":[],"description":"returns opposition events for this body","syntax":["neptune.opposition(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the neptune constant with its opposition member\nlet value = neptune;\nprint value.opposition();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: neptune.opposition - returns opposition events for this body\nSyntax:\n  neptune.opposition(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the neptune constant with its opposition member\n   let value = neptune;\n   print value.opposition();","compact":"Method: neptune.opposition - returns opposition events for this body","search_text":"constant_member:neptune.opposition opposition neptune.opposition method returns opposition events for this body neptune.opposition(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:neptune.eastern_quadrature","name":"eastern_quadrature","path":"neptune.eastern_quadrature","kind":"method","aliases":[],"description":"returns eastern quadrature events for this body","syntax":["neptune.eastern_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the neptune constant with its eastern_quadrature member\nlet value = neptune;\nprint value.eastern_quadrature();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: neptune.eastern_quadrature - returns eastern quadrature events for this body\nSyntax:\n  neptune.eastern_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the neptune constant with its eastern_quadrature member\n   let value = neptune;\n   print value.eastern_quadrature();","compact":"Method: neptune.eastern_quadrature - returns eastern quadrature events for this body","search_text":"constant_member:neptune.eastern_quadrature eastern_quadrature neptune.eastern_quadrature method returns eastern quadrature events for this body neptune.eastern_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:neptune.western_quadrature","name":"western_quadrature","path":"neptune.western_quadrature","kind":"method","aliases":[],"description":"returns western quadrature events for this body","syntax":["neptune.western_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the neptune constant with its western_quadrature member\nlet value = neptune;\nprint value.western_quadrature();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: neptune.western_quadrature - returns western quadrature events for this body\nSyntax:\n  neptune.western_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the neptune constant with its western_quadrature member\n   let value = neptune;\n   print value.western_quadrature();","compact":"Method: neptune.western_quadrature - returns western quadrature events for this body","search_text":"constant_member:neptune.western_quadrature western_quadrature neptune.western_quadrature method returns western quadrature events for this body neptune.western_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:neptune.quadrature","name":"quadrature","path":"neptune.quadrature","kind":"method","aliases":[],"description":"returns eastern and western quadrature events for this body","syntax":["neptune.quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the neptune constant with its quadrature member\nlet value = neptune;\nprint value.quadrature();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: neptune.quadrature - returns eastern and western quadrature events for this body\nSyntax:\n  neptune.quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the neptune constant with its quadrature member\n   let value = neptune;\n   print value.quadrature();","compact":"Method: neptune.quadrature - returns eastern and western quadrature events for this body","search_text":"constant_member:neptune.quadrature quadrature neptune.quadrature method returns eastern and western quadrature events for this body neptune.quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:neptune.periapsis","name":"periapsis","path":"neptune.periapsis","kind":"method","aliases":[],"description":"returns periapsis events for this body","syntax":["neptune.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find periapsis events for the neptune help entry\nlet value = neptune;\nlet span = range(time(2024,1,1,0,0,0), time(2024,1,10,0,0,0), 1);\nprint \"neptune\", value.periapsis(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: neptune.periapsis - returns periapsis events for this body\nSyntax:\n  neptune.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find periapsis events for the neptune help entry\n   let value = neptune;\n   let span = range(time(2024,1,1,0,0,0), time(2024,1,10,0,0,0), 1);\n   print \"neptune\", value.periapsis(span).first();","compact":"Method: neptune.periapsis - returns periapsis events for this body","search_text":"constant_member:neptune.periapsis periapsis neptune.periapsis method returns periapsis events for this body neptune.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:neptune.apoapsis","name":"apoapsis","path":"neptune.apoapsis","kind":"method","aliases":[],"description":"returns apoapsis events for this body","syntax":["neptune.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find apoapsis events for the neptune help entry\nlet value = neptune;\nlet span = range(time(2024,7,1,0,0,0), time(2024,7,10,0,0,0), 1);\nprint \"neptune\", value.apoapsis(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: neptune.apoapsis - returns apoapsis events for this body\nSyntax:\n  neptune.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find apoapsis events for the neptune help entry\n   let value = neptune;\n   let span = range(time(2024,7,1,0,0,0), time(2024,7,10,0,0,0), 1);\n   print \"neptune\", value.apoapsis(span).first();","compact":"Method: neptune.apoapsis - returns apoapsis events for this body","search_text":"constant_member:neptune.apoapsis apoapsis neptune.apoapsis method returns apoapsis events for this body neptune.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:neptune.children","name":"children","path":"neptune.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["neptune.children() -> List"],"examples":["# Inspect child entries available from the neptune constant\nlet value = neptune;\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: neptune.children - lists child fields and callable members available on this value\nSyntax:\n  neptune.children() -> List\nExample:\n# Inspect child entries available from the neptune constant\n   let value = neptune;\n   print value.children();","compact":"Method: neptune.children - lists child fields and callable members available on this value","search_text":"constant_member:neptune.children children neptune.children method lists child fields and callable members available on this value neptune.children() -> List"},{"id":"constant_member:neptune.fields","name":"fields","path":"neptune.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["neptune.fields() -> Object"],"examples":["# Inspect plain fields on the neptune constant\nlet value = neptune;\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: neptune.fields - returns an object containing the value's plain fields\nSyntax:\n  neptune.fields() -> Object\nExample:\n# Inspect plain fields on the neptune constant\n   let value = neptune;\n   print value.fields();","compact":"Method: neptune.fields - returns an object containing the value's plain fields","search_text":"constant_member:neptune.fields fields neptune.fields method returns an object containing the value's plain fields neptune.fields() -> Object"},{"id":"constant_member:neptune.functions","name":"functions","path":"neptune.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["neptune.functions() -> List"],"examples":["# Inspect callable members on the neptune constant\nlet value = neptune;\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: neptune.functions - lists callable members available on this value\nSyntax:\n  neptune.functions() -> List\nExample:\n# Inspect callable members on the neptune constant\n   let value = neptune;\n   print value.functions();","compact":"Method: neptune.functions - lists callable members available on this value","search_text":"constant_member:neptune.functions functions neptune.functions method lists callable members available on this value neptune.functions() -> List"},{"id":"constant_member:pluto.name","name":"name","path":"pluto.name","kind":"field","aliases":[],"description":"canonical body name","syntax":["pluto.name -> Text"],"examples":["# Use pluto.name as the label in a body catalog row\nlet row = {label: pluto.name, radius: pluto.radius};\nprint row.label, row.radius;"],"arguments":[],"children":[],"resources":[],"doc":"Field: pluto.name - canonical body name\nSyntax:\n  pluto.name -> Text\nExample:\n# Use pluto.name as the label in a body catalog row\n   let row = {label: pluto.name, radius: pluto.radius};\n   print row.label, row.radius;","compact":"Field: pluto.name - canonical body name","search_text":"constant_member:pluto.name name pluto.name field canonical body name pluto.name -> Text"},{"id":"constant_member:pluto.kind","name":"kind","path":"pluto.kind","kind":"field","aliases":[],"description":"reference body kind","syntax":["pluto.kind -> Text"],"examples":["# Use pluto.kind to group a body catalog row\nlet row = {name: pluto.name, group: pluto.kind};\nprint row.group, row.name;"],"arguments":[],"children":[],"resources":[],"doc":"Field: pluto.kind - reference body kind\nSyntax:\n  pluto.kind -> Text\nExample:\n# Use pluto.kind to group a body catalog row\n   let row = {name: pluto.name, group: pluto.kind};\n   print row.group, row.name;","compact":"Field: pluto.kind - reference body kind","search_text":"constant_member:pluto.kind kind pluto.kind field reference body kind pluto.kind -> Text"},{"id":"constant_member:pluto.xmu","name":"xmu","path":"pluto.xmu","kind":"field","aliases":[],"description":"gravitational parameter in km^3/s^2","syntax":["pluto.xmu -> Number"],"examples":["# Compare pluto gravitational parameter with Earth\nprint pluto.name, pluto.xmu, pluto.xmu / earth.xmu;"],"arguments":[],"children":[],"resources":[],"doc":"Field: pluto.xmu - gravitational parameter in km^3/s^2\nSyntax:\n  pluto.xmu -> Number\nExample:\n# Compare pluto gravitational parameter with Earth\n   print pluto.name, pluto.xmu, pluto.xmu / earth.xmu;","compact":"Field: pluto.xmu - gravitational parameter in km^3/s^2","search_text":"constant_member:pluto.xmu xmu pluto.xmu field gravitational parameter in km^3/s^2 pluto.xmu -> Number"},{"id":"constant_member:pluto.radius","name":"radius","path":"pluto.radius","kind":"field","aliases":[],"description":"body radius in km","syntax":["pluto.radius -> Number"],"examples":["# Compare pluto radius with Earth for scale estimates\nprint pluto.name, pluto.radius, pluto.radius / earth.radius;"],"arguments":[],"children":[],"resources":[],"doc":"Field: pluto.radius - body radius in km\nSyntax:\n  pluto.radius -> Number\nExample:\n# Compare pluto radius with Earth for scale estimates\n   print pluto.name, pluto.radius, pluto.radius / earth.radius;","compact":"Field: pluto.radius - body radius in km","search_text":"constant_member:pluto.radius radius pluto.radius field body radius in km pluto.radius -> Number"},{"id":"constant_member:pluto.mass","name":"mass","path":"pluto.mass","kind":"field","aliases":[],"description":"body mass in kg","syntax":["pluto.mass -> Number"],"examples":["# Compare pluto mass with Earth for scale estimates\nprint pluto.name, pluto.mass, pluto.mass / earth.mass;"],"arguments":[],"children":[],"resources":[],"doc":"Field: pluto.mass - body mass in kg\nSyntax:\n  pluto.mass -> Number\nExample:\n# Compare pluto mass with Earth for scale estimates\n   print pluto.name, pluto.mass, pluto.mass / earth.mass;","compact":"Field: pluto.mass - body mass in kg","search_text":"constant_member:pluto.mass mass pluto.mass field body mass in kg pluto.mass -> Number"},{"id":"constant_member:pluto.H","name":"H","path":"pluto.H","kind":"field","aliases":[],"description":"reference absolute magnitude parameter","syntax":["pluto.H -> Number"],"examples":["# Use pluto.H as the absolute magnitude term in a report\nprint pluto.name, pluto.H;"],"arguments":[],"children":[],"resources":[],"doc":"Field: pluto.H - reference absolute magnitude parameter\nSyntax:\n  pluto.H -> Number\nExample:\n# Use pluto.H as the absolute magnitude term in a report\n   print pluto.name, pluto.H;","compact":"Field: pluto.H - reference absolute magnitude parameter","search_text":"constant_member:pluto.H H pluto.H field reference absolute magnitude parameter pluto.H -> Number"},{"id":"constant_member:pluto.n","name":"n","path":"pluto.n","kind":"field","aliases":[],"description":"reference illumination exponent","syntax":["pluto.n -> Number"],"examples":["# Use pluto.n as the photometric phase slope term\nprint pluto.name, pluto.n, pluto.H + pluto.n;"],"arguments":[],"children":[],"resources":[],"doc":"Field: pluto.n - reference illumination exponent\nSyntax:\n  pluto.n -> Number\nExample:\n# Use pluto.n as the photometric phase slope term\n   print pluto.name, pluto.n, pluto.H + pluto.n;","compact":"Field: pluto.n - reference illumination exponent","search_text":"constant_member:pluto.n n pluto.n field reference illumination exponent pluto.n -> Number"},{"id":"constant_member:pluto.k","name":"k","path":"pluto.k","kind":"field","aliases":[],"description":"reference G Muller constant","syntax":["pluto.k -> Number"],"examples":["# Use pluto.k as the photometric curvature term\nprint pluto.name, pluto.k, pluto.H + pluto.k;"],"arguments":[],"children":[],"resources":[],"doc":"Field: pluto.k - reference G Muller constant\nSyntax:\n  pluto.k -> Number\nExample:\n# Use pluto.k as the photometric curvature term\n   print pluto.name, pluto.k, pluto.H + pluto.k;","compact":"Field: pluto.k - reference G Muller constant","search_text":"constant_member:pluto.k k pluto.k field reference G Muller constant pluto.k -> Number"},{"id":"constant_member:pluto.known","name":"known","path":"pluto.known","kind":"field","aliases":[],"description":"whether the body name matched the built-in table","syntax":["pluto.known -> Bool"],"examples":["# Verify whether pluto has built-in physical metadata\nprint pluto.name, pluto.known;"],"arguments":[],"children":[],"resources":[],"doc":"Field: pluto.known - whether the body name matched the built-in table\nSyntax:\n  pluto.known -> Bool\nExample:\n# Verify whether pluto has built-in physical metadata\n   print pluto.name, pluto.known;","compact":"Field: pluto.known - whether the body name matched the built-in table","search_text":"constant_member:pluto.known known pluto.known field whether the body name matched the built-in table pluto.known -> Bool"},{"id":"constant_member:pluto.rotational_axis","name":"rotational_axis","path":"pluto.rotational_axis","kind":"method","aliases":[],"description":"returns this body's rotational north pole at a time","syntax":["pluto.rotational_axis(time: Time) -> Object"],"examples":["# Use the pluto constant with its rotational_axis member\nlet value = pluto;\nprint value.rotational_axis(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: pluto.rotational_axis - returns this body's rotational north pole at a time\nSyntax:\n  pluto.rotational_axis(time: Time) -> Object\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the pluto constant with its rotational_axis member\n   let value = pluto;\n   print value.rotational_axis(time());","compact":"Method: pluto.rotational_axis - returns this body's rotational north pole at a time","search_text":"constant_member:pluto.rotational_axis rotational_axis pluto.rotational_axis method returns this body's rotational north pole at a time pluto.rotational_axis(time: Time) -> Object time Time time at which to evaluate the rotational pole"},{"id":"constant_member:pluto.rotational_axis_ra","name":"rotational_axis_ra","path":"pluto.rotational_axis_ra","kind":"method","aliases":[],"description":"returns the rotational north-pole right ascension in degrees","syntax":["pluto.rotational_axis_ra(time: Time) -> Number"],"examples":["# Use the pluto constant with its rotational_axis_ra member\nlet value = pluto;\nprint value.rotational_axis_ra(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: pluto.rotational_axis_ra - returns the rotational north-pole right ascension in degrees\nSyntax:\n  pluto.rotational_axis_ra(time: Time) -> Number\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the pluto constant with its rotational_axis_ra member\n   let value = pluto;\n   print value.rotational_axis_ra(time());","compact":"Method: pluto.rotational_axis_ra - returns the rotational north-pole right ascension in degrees","search_text":"constant_member:pluto.rotational_axis_ra rotational_axis_ra pluto.rotational_axis_ra method returns the rotational north-pole right ascension in degrees pluto.rotational_axis_ra(time: Time) -> Number time Time time at which to evaluate the rotational pole"},{"id":"constant_member:pluto.rotational_axis_dec","name":"rotational_axis_dec","path":"pluto.rotational_axis_dec","kind":"method","aliases":[],"description":"returns the rotational north-pole declination in degrees","syntax":["pluto.rotational_axis_dec(time: Time) -> Number"],"examples":["# Use the pluto constant with its rotational_axis_dec member\nlet value = pluto;\nprint value.rotational_axis_dec(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: pluto.rotational_axis_dec - returns the rotational north-pole declination in degrees\nSyntax:\n  pluto.rotational_axis_dec(time: Time) -> Number\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the pluto constant with its rotational_axis_dec member\n   let value = pluto;\n   print value.rotational_axis_dec(time());","compact":"Method: pluto.rotational_axis_dec - returns the rotational north-pole declination in degrees","search_text":"constant_member:pluto.rotational_axis_dec rotational_axis_dec pluto.rotational_axis_dec method returns the rotational north-pole declination in degrees pluto.rotational_axis_dec(time: Time) -> Number time Time time at which to evaluate the rotational pole"},{"id":"constant_member:pluto.state","name":"state","path":"pluto.state","kind":"method","aliases":[],"description":"returns the orbital state for this body at a time","syntax":["pluto.state(time: Time) -> State"],"examples":["# Use the pluto constant with its state member\nlet value = pluto;\nprint value.state(time());"],"arguments":[{"name":"time","type":"Time","required":true,"description":"time at which to evaluate the rotational pole"}],"children":[],"resources":[],"doc":"Method: pluto.state - returns the orbital state for this body at a time\nSyntax:\n  pluto.state(time: Time) -> State\nArguments:\n  time: Time - time at which to evaluate the rotational pole\nExample:\n# Use the pluto constant with its state member\n   let value = pluto;\n   print value.state(time());","compact":"Method: pluto.state - returns the orbital state for this body at a time","search_text":"constant_member:pluto.state state pluto.state method returns the orbital state for this body at a time pluto.state(time: Time) -> State time Time time at which to evaluate the rotational pole"},{"id":"constant_member:pluto.rise","name":"rise","path":"pluto.rise","kind":"method","aliases":[],"description":"returns sunrise or moonrise events for an observer","syntax":["pluto.rise(observer: Location|Observer, range: Range) -> List|Event|Nil"],"examples":["# Find pluto rise events from an explicit observer\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\nprint pluto.rise(obs, span).first();"],"arguments":[{"name":"observer","type":"Location|Observer","required":true,"description":"Earth location or observer for the local horizon event"},{"name":"range","type":"Range","required":true,"description":"time range to search; open ranges return the next event"}],"children":[],"resources":[],"doc":"Method: pluto.rise - returns sunrise or moonrise events for an observer\nSyntax:\n  pluto.rise(observer: Location|Observer, range: Range) -> List|Event|Nil\nArguments:\n  observer: Location|Observer - Earth location or observer for the local horizon event\n  range: Range - time range to search; open ranges return the next event\nExample:\n# Find pluto rise events from an explicit observer\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\n   print pluto.rise(obs, span).first();","compact":"Method: pluto.rise - returns sunrise or moonrise events for an observer","search_text":"constant_member:pluto.rise rise pluto.rise method returns sunrise or moonrise events for an observer pluto.rise(observer: Location|Observer, range: Range) -> List|Event|Nil observer Location|Observer Earth location or observer for the local horizon event range Range time range to search; open ranges return the next event"},{"id":"constant_member:pluto.set","name":"set","path":"pluto.set","kind":"method","aliases":[],"description":"returns sunset or moonset events for an observer","syntax":["pluto.set(observer: Location|Observer, range: Range) -> List|Event|Nil"],"examples":["# Find pluto set events from an explicit observer\nlet obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\nlet span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\nprint pluto.set(obs, span).first();"],"arguments":[{"name":"observer","type":"Location|Observer","required":true,"description":"Earth location or observer for the local horizon event"},{"name":"range","type":"Range","required":true,"description":"time range to search; open ranges return the next event"}],"children":[],"resources":[],"doc":"Method: pluto.set - returns sunset or moonset events for an observer\nSyntax:\n  pluto.set(observer: Location|Observer, range: Range) -> List|Event|Nil\nArguments:\n  observer: Location|Observer - Earth location or observer for the local horizon event\n  range: Range - time range to search; open ranges return the next event\nExample:\n# Find pluto set events from an explicit observer\n   let obs = location(latitude: 60.0, longitude: 10.0).observer(0.002);\n   let span = range(time(2026,1,1,0,0,0), time(2026,1,2,0,0,0));\n   print pluto.set(obs, span).first();","compact":"Method: pluto.set - returns sunset or moonset events for an observer","search_text":"constant_member:pluto.set set pluto.set method returns sunset or moonset events for an observer pluto.set(observer: Location|Observer, range: Range) -> List|Event|Nil observer Location|Observer Earth location or observer for the local horizon event range Range time range to search; open ranges return the next event"},{"id":"constant_member:pluto.conjunction","name":"conjunction","path":"pluto.conjunction","kind":"method","aliases":[],"description":"returns conjunction events for this body","syntax":["pluto.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the pluto constant with its conjunction member\nlet value = pluto;\nprint value.conjunction();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: pluto.conjunction - returns conjunction events for this body\nSyntax:\n  pluto.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the pluto constant with its conjunction member\n   let value = pluto;\n   print value.conjunction();","compact":"Method: pluto.conjunction - returns conjunction events for this body","search_text":"constant_member:pluto.conjunction conjunction pluto.conjunction method returns conjunction events for this body pluto.conjunction(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:pluto.opposition","name":"opposition","path":"pluto.opposition","kind":"method","aliases":[],"description":"returns opposition events for this body","syntax":["pluto.opposition(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the pluto constant with its opposition member\nlet value = pluto;\nprint value.opposition();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: pluto.opposition - returns opposition events for this body\nSyntax:\n  pluto.opposition(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the pluto constant with its opposition member\n   let value = pluto;\n   print value.opposition();","compact":"Method: pluto.opposition - returns opposition events for this body","search_text":"constant_member:pluto.opposition opposition pluto.opposition method returns opposition events for this body pluto.opposition(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:pluto.eastern_quadrature","name":"eastern_quadrature","path":"pluto.eastern_quadrature","kind":"method","aliases":[],"description":"returns eastern quadrature events for this body","syntax":["pluto.eastern_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the pluto constant with its eastern_quadrature member\nlet value = pluto;\nprint value.eastern_quadrature();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: pluto.eastern_quadrature - returns eastern quadrature events for this body\nSyntax:\n  pluto.eastern_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the pluto constant with its eastern_quadrature member\n   let value = pluto;\n   print value.eastern_quadrature();","compact":"Method: pluto.eastern_quadrature - returns eastern quadrature events for this body","search_text":"constant_member:pluto.eastern_quadrature eastern_quadrature pluto.eastern_quadrature method returns eastern quadrature events for this body pluto.eastern_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:pluto.western_quadrature","name":"western_quadrature","path":"pluto.western_quadrature","kind":"method","aliases":[],"description":"returns western quadrature events for this body","syntax":["pluto.western_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the pluto constant with its western_quadrature member\nlet value = pluto;\nprint value.western_quadrature();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: pluto.western_quadrature - returns western quadrature events for this body\nSyntax:\n  pluto.western_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the pluto constant with its western_quadrature member\n   let value = pluto;\n   print value.western_quadrature();","compact":"Method: pluto.western_quadrature - returns western quadrature events for this body","search_text":"constant_member:pluto.western_quadrature western_quadrature pluto.western_quadrature method returns western quadrature events for this body pluto.western_quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:pluto.quadrature","name":"quadrature","path":"pluto.quadrature","kind":"method","aliases":[],"description":"returns eastern and western quadrature events for this body","syntax":["pluto.quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Use the pluto constant with its quadrature member\nlet value = pluto;\nprint value.quadrature();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: pluto.quadrature - returns eastern and western quadrature events for this body\nSyntax:\n  pluto.quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Use the pluto constant with its quadrature member\n   let value = pluto;\n   print value.quadrature();","compact":"Method: pluto.quadrature - returns eastern and western quadrature events for this body","search_text":"constant_member:pluto.quadrature quadrature pluto.quadrature method returns eastern and western quadrature events for this body pluto.quadrature(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:pluto.periapsis","name":"periapsis","path":"pluto.periapsis","kind":"method","aliases":[],"description":"returns periapsis events for this body","syntax":["pluto.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find periapsis events for the pluto help entry\nlet value = pluto;\nlet span = range(time(2024,1,1,0,0,0), time(2024,1,10,0,0,0), 1);\nprint \"pluto\", value.periapsis(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: pluto.periapsis - returns periapsis events for this body\nSyntax:\n  pluto.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find periapsis events for the pluto help entry\n   let value = pluto;\n   let span = range(time(2024,1,1,0,0,0), time(2024,1,10,0,0,0), 1);\n   print \"pluto\", value.periapsis(span).first();","compact":"Method: pluto.periapsis - returns periapsis events for this body","search_text":"constant_member:pluto.periapsis periapsis pluto.periapsis method returns periapsis events for this body pluto.periapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:pluto.apoapsis","name":"apoapsis","path":"pluto.apoapsis","kind":"method","aliases":[],"description":"returns apoapsis events for this body","syntax":["pluto.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil"],"examples":["# Find apoapsis events for the pluto help entry\nlet value = pluto;\nlet span = range(time(2024,7,1,0,0,0), time(2024,7,10,0,0,0), 1);\nprint \"pluto\", value.apoapsis(span).first();"],"arguments":[{"name":"time","type":"Time|Range","required":false,"description":"start time for the next event, start/stop times, or time range to search"},{"name":"stop","type":"Time","required":false,"description":"optional stop time when passing start and stop times separately"},{"name":"count","type":"Number","required":false,"description":"maximum number of events to return"}],"children":[],"resources":[],"doc":"Method: pluto.apoapsis - returns apoapsis events for this body\nSyntax:\n  pluto.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil\nArguments:\n  time: Time|Range [optional] - start time for the next event, start/stop times, or time range to search\n  stop: Time [optional] - optional stop time when passing start and stop times separately\n  count: Number [optional] - maximum number of events to return\nExample:\n# Find apoapsis events for the pluto help entry\n   let value = pluto;\n   let span = range(time(2024,7,1,0,0,0), time(2024,7,10,0,0,0), 1);\n   print \"pluto\", value.apoapsis(span).first();","compact":"Method: pluto.apoapsis - returns apoapsis events for this body","search_text":"constant_member:pluto.apoapsis apoapsis pluto.apoapsis method returns apoapsis events for this body pluto.apoapsis(time: Time|Range, stop: Time, count: Number) -> List|Event|Nil time Time|Range start time for the next event, start/stop times, or time range to search stop Time optional stop time when passing start and stop times separately count Number maximum number of events to return"},{"id":"constant_member:pluto.children","name":"children","path":"pluto.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["pluto.children() -> List"],"examples":["# Inspect child entries available from the pluto constant\nlet value = pluto;\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: pluto.children - lists child fields and callable members available on this value\nSyntax:\n  pluto.children() -> List\nExample:\n# Inspect child entries available from the pluto constant\n   let value = pluto;\n   print value.children();","compact":"Method: pluto.children - lists child fields and callable members available on this value","search_text":"constant_member:pluto.children children pluto.children method lists child fields and callable members available on this value pluto.children() -> List"},{"id":"constant_member:pluto.fields","name":"fields","path":"pluto.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["pluto.fields() -> Object"],"examples":["# Inspect plain fields on the pluto constant\nlet value = pluto;\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: pluto.fields - returns an object containing the value's plain fields\nSyntax:\n  pluto.fields() -> Object\nExample:\n# Inspect plain fields on the pluto constant\n   let value = pluto;\n   print value.fields();","compact":"Method: pluto.fields - returns an object containing the value's plain fields","search_text":"constant_member:pluto.fields fields pluto.fields method returns an object containing the value's plain fields pluto.fields() -> Object"},{"id":"constant_member:pluto.functions","name":"functions","path":"pluto.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["pluto.functions() -> List"],"examples":["# Inspect callable members on the pluto constant\nlet value = pluto;\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: pluto.functions - lists callable members available on this value\nSyntax:\n  pluto.functions() -> List\nExample:\n# Inspect callable members on the pluto constant\n   let value = pluto;\n   print value.functions();","compact":"Method: pluto.functions - lists callable members available on this value","search_text":"constant_member:pluto.functions functions pluto.functions method lists callable members available on this value pluto.functions() -> List"},{"id":"constant:monday","name":"monday","path":"monday","kind":"constant","aliases":[],"description":"ISO weekday Monday with Monday as 1 and Sunday as 7","syntax":["monday -> Weekday"],"examples":["# Use monday in a weekday report\nprint time(2026,7,1,12,0,0).weekday.name(), monday.name();"],"arguments":[],"children":["constant_member:monday.name","constant_member:monday.short","constant_member:monday.letter","constant_member:monday.index","constant_member:monday.children","constant_member:monday.fields","constant_member:monday.functions"],"resources":[],"doc":"Constant: monday - ISO weekday Monday with Monday as 1 and Sunday as 7\nSyntax:\n  monday -> Weekday\nChildren: name(), short(), letter(), index(), children(), fields(), functions()\nExample:\n# Use monday in a weekday report\n   print time(2026,7,1,12,0,0).weekday.name(), monday.name();","compact":"Constant: monday - ISO weekday Monday with Monday as 1 and Sunday as 7","search_text":"constant:monday monday monday constant ISO weekday Monday with Monday as 1 and Sunday as 7 monday -> Weekday"},{"id":"constant:tuesday","name":"tuesday","path":"tuesday","kind":"constant","aliases":[],"description":"ISO weekday Tuesday with Monday as 1 and Sunday as 7","syntax":["tuesday -> Weekday"],"examples":["# Use tuesday in a weekday report\nprint time(2026,7,1,12,0,0).weekday.name(), tuesday.name();"],"arguments":[],"children":["constant_member:tuesday.name","constant_member:tuesday.short","constant_member:tuesday.letter","constant_member:tuesday.index","constant_member:tuesday.children","constant_member:tuesday.fields","constant_member:tuesday.functions"],"resources":[],"doc":"Constant: tuesday - ISO weekday Tuesday with Monday as 1 and Sunday as 7\nSyntax:\n  tuesday -> Weekday\nChildren: name(), short(), letter(), index(), children(), fields(), functions()\nExample:\n# Use tuesday in a weekday report\n   print time(2026,7,1,12,0,0).weekday.name(), tuesday.name();","compact":"Constant: tuesday - ISO weekday Tuesday with Monday as 1 and Sunday as 7","search_text":"constant:tuesday tuesday tuesday constant ISO weekday Tuesday with Monday as 1 and Sunday as 7 tuesday -> Weekday"},{"id":"constant:wednesday","name":"wednesday","path":"wednesday","kind":"constant","aliases":[],"description":"ISO weekday Wednesday with Monday as 1 and Sunday as 7","syntax":["wednesday -> Weekday"],"examples":["# Use wednesday in a weekday report\nprint time(2026,7,1,12,0,0).weekday.name(), wednesday.name();"],"arguments":[],"children":["constant_member:wednesday.name","constant_member:wednesday.short","constant_member:wednesday.letter","constant_member:wednesday.index","constant_member:wednesday.children","constant_member:wednesday.fields","constant_member:wednesday.functions"],"resources":[],"doc":"Constant: wednesday - ISO weekday Wednesday with Monday as 1 and Sunday as 7\nSyntax:\n  wednesday -> Weekday\nChildren: name(), short(), letter(), index(), children(), fields(), functions()\nExample:\n# Use wednesday in a weekday report\n   print time(2026,7,1,12,0,0).weekday.name(), wednesday.name();","compact":"Constant: wednesday - ISO weekday Wednesday with Monday as 1 and Sunday as 7","search_text":"constant:wednesday wednesday wednesday constant ISO weekday Wednesday with Monday as 1 and Sunday as 7 wednesday -> Weekday"},{"id":"constant:thursday","name":"thursday","path":"thursday","kind":"constant","aliases":[],"description":"ISO weekday Thursday with Monday as 1 and Sunday as 7","syntax":["thursday -> Weekday"],"examples":["# Use thursday in a weekday report\nprint time(2026,7,1,12,0,0).weekday.name(), thursday.name();"],"arguments":[],"children":["constant_member:thursday.name","constant_member:thursday.short","constant_member:thursday.letter","constant_member:thursday.index","constant_member:thursday.children","constant_member:thursday.fields","constant_member:thursday.functions"],"resources":[],"doc":"Constant: thursday - ISO weekday Thursday with Monday as 1 and Sunday as 7\nSyntax:\n  thursday -> Weekday\nChildren: name(), short(), letter(), index(), children(), fields(), functions()\nExample:\n# Use thursday in a weekday report\n   print time(2026,7,1,12,0,0).weekday.name(), thursday.name();","compact":"Constant: thursday - ISO weekday Thursday with Monday as 1 and Sunday as 7","search_text":"constant:thursday thursday thursday constant ISO weekday Thursday with Monday as 1 and Sunday as 7 thursday -> Weekday"},{"id":"constant:friday","name":"friday","path":"friday","kind":"constant","aliases":[],"description":"ISO weekday Friday with Monday as 1 and Sunday as 7","syntax":["friday -> Weekday"],"examples":["# Use friday in a weekday report\nprint time(2026,7,1,12,0,0).weekday.name(), friday.name();"],"arguments":[],"children":["constant_member:friday.name","constant_member:friday.short","constant_member:friday.letter","constant_member:friday.index","constant_member:friday.children","constant_member:friday.fields","constant_member:friday.functions"],"resources":[],"doc":"Constant: friday - ISO weekday Friday with Monday as 1 and Sunday as 7\nSyntax:\n  friday -> Weekday\nChildren: name(), short(), letter(), index(), children(), fields(), functions()\nExample:\n# Use friday in a weekday report\n   print time(2026,7,1,12,0,0).weekday.name(), friday.name();","compact":"Constant: friday - ISO weekday Friday with Monday as 1 and Sunday as 7","search_text":"constant:friday friday friday constant ISO weekday Friday with Monday as 1 and Sunday as 7 friday -> Weekday"},{"id":"constant:saturday","name":"saturday","path":"saturday","kind":"constant","aliases":[],"description":"ISO weekday Saturday with Monday as 1 and Sunday as 7","syntax":["saturday -> Weekday"],"examples":["# Use saturday in a weekday report\nprint time(2026,7,1,12,0,0).weekday.name(), saturday.name();"],"arguments":[],"children":["constant_member:saturday.name","constant_member:saturday.short","constant_member:saturday.letter","constant_member:saturday.index","constant_member:saturday.children","constant_member:saturday.fields","constant_member:saturday.functions"],"resources":[],"doc":"Constant: saturday - ISO weekday Saturday with Monday as 1 and Sunday as 7\nSyntax:\n  saturday -> Weekday\nChildren: name(), short(), letter(), index(), children(), fields(), functions()\nExample:\n# Use saturday in a weekday report\n   print time(2026,7,1,12,0,0).weekday.name(), saturday.name();","compact":"Constant: saturday - ISO weekday Saturday with Monday as 1 and Sunday as 7","search_text":"constant:saturday saturday saturday constant ISO weekday Saturday with Monday as 1 and Sunday as 7 saturday -> Weekday"},{"id":"constant:sunday","name":"sunday","path":"sunday","kind":"constant","aliases":[],"description":"ISO weekday Sunday with Monday as 1 and Sunday as 7","syntax":["sunday -> Weekday"],"examples":["# Use sunday in a weekday report\nprint time(2026,7,1,12,0,0).weekday.name(), sunday.name();"],"arguments":[],"children":["constant_member:sunday.name","constant_member:sunday.short","constant_member:sunday.letter","constant_member:sunday.index","constant_member:sunday.children","constant_member:sunday.fields","constant_member:sunday.functions"],"resources":[],"doc":"Constant: sunday - ISO weekday Sunday with Monday as 1 and Sunday as 7\nSyntax:\n  sunday -> Weekday\nChildren: name(), short(), letter(), index(), children(), fields(), functions()\nExample:\n# Use sunday in a weekday report\n   print time(2026,7,1,12,0,0).weekday.name(), sunday.name();","compact":"Constant: sunday - ISO weekday Sunday with Monday as 1 and Sunday as 7","search_text":"constant:sunday sunday sunday constant ISO weekday Sunday with Monday as 1 and Sunday as 7 sunday -> Weekday"},{"id":"constant_member:monday.name","name":"name","path":"monday.name","kind":"method","aliases":[],"description":"returns the full weekday name","syntax":["monday.name() -> Text"],"examples":["# Use monday.name as a report label\nlet value = monday;\nprint value.name();"],"arguments":[],"children":[],"resources":[],"doc":"Method: monday.name - returns the full weekday name\nSyntax:\n  monday.name() -> Text\nExample:\n# Use monday.name as a report label\n   let value = monday;\n   print value.name();","compact":"Method: monday.name - returns the full weekday name","search_text":"constant_member:monday.name name monday.name method returns the full weekday name monday.name() -> Text"},{"id":"constant_member:monday.short","name":"short","path":"monday.short","kind":"method","aliases":[],"description":"returns the short weekday name","syntax":["monday.short() -> Text"],"examples":["# Use monday.short for a compact calendar label\nlet value = monday;\nprint value.short();"],"arguments":[],"children":[],"resources":[],"doc":"Method: monday.short - returns the short weekday name\nSyntax:\n  monday.short() -> Text\nExample:\n# Use monday.short for a compact calendar label\n   let value = monday;\n   print value.short();","compact":"Method: monday.short - returns the short weekday name","search_text":"constant_member:monday.short short monday.short method returns the short weekday name monday.short() -> Text"},{"id":"constant_member:monday.letter","name":"letter","path":"monday.letter","kind":"method","aliases":[],"description":"returns the one-letter weekday label","syntax":["monday.letter() -> Text"],"examples":["# Use monday.letter in a narrow weekday table\nlet value = monday;\nprint value.letter();"],"arguments":[],"children":[],"resources":[],"doc":"Method: monday.letter - returns the one-letter weekday label\nSyntax:\n  monday.letter() -> Text\nExample:\n# Use monday.letter in a narrow weekday table\n   let value = monday;\n   print value.letter();","compact":"Method: monday.letter - returns the one-letter weekday label","search_text":"constant_member:monday.letter letter monday.letter method returns the one-letter weekday label monday.letter() -> Text"},{"id":"constant_member:monday.index","name":"index","path":"monday.index","kind":"method","aliases":[],"description":"returns the ISO weekday index","syntax":["monday.index() -> Integer"],"examples":["# Use monday.index for weekday sorting\nlet value = monday;\nprint value.index();"],"arguments":[],"children":[],"resources":[],"doc":"Method: monday.index - returns the ISO weekday index\nSyntax:\n  monday.index() -> Integer\nExample:\n# Use monday.index for weekday sorting\n   let value = monday;\n   print value.index();","compact":"Method: monday.index - returns the ISO weekday index","search_text":"constant_member:monday.index index monday.index method returns the ISO weekday index monday.index() -> Integer"},{"id":"constant_member:monday.children","name":"children","path":"monday.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["monday.children() -> List"],"examples":["# Inspect child entries available from the monday constant\nlet value = monday;\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: monday.children - lists child fields and callable members available on this value\nSyntax:\n  monday.children() -> List\nExample:\n# Inspect child entries available from the monday constant\n   let value = monday;\n   print value.children();","compact":"Method: monday.children - lists child fields and callable members available on this value","search_text":"constant_member:monday.children children monday.children method lists child fields and callable members available on this value monday.children() -> List"},{"id":"constant_member:monday.fields","name":"fields","path":"monday.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["monday.fields() -> Object"],"examples":["# Inspect plain fields on the monday constant\nlet value = monday;\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: monday.fields - returns an object containing the value's plain fields\nSyntax:\n  monday.fields() -> Object\nExample:\n# Inspect plain fields on the monday constant\n   let value = monday;\n   print value.fields();","compact":"Method: monday.fields - returns an object containing the value's plain fields","search_text":"constant_member:monday.fields fields monday.fields method returns an object containing the value's plain fields monday.fields() -> Object"},{"id":"constant_member:monday.functions","name":"functions","path":"monday.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["monday.functions() -> List"],"examples":["# Inspect callable members on the monday constant\nlet value = monday;\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: monday.functions - lists callable members available on this value\nSyntax:\n  monday.functions() -> List\nExample:\n# Inspect callable members on the monday constant\n   let value = monday;\n   print value.functions();","compact":"Method: monday.functions - lists callable members available on this value","search_text":"constant_member:monday.functions functions monday.functions method lists callable members available on this value monday.functions() -> List"},{"id":"constant_member:tuesday.name","name":"name","path":"tuesday.name","kind":"method","aliases":[],"description":"returns the full weekday name","syntax":["tuesday.name() -> Text"],"examples":["# Use tuesday.name as a report label\nlet value = tuesday;\nprint value.name();"],"arguments":[],"children":[],"resources":[],"doc":"Method: tuesday.name - returns the full weekday name\nSyntax:\n  tuesday.name() -> Text\nExample:\n# Use tuesday.name as a report label\n   let value = tuesday;\n   print value.name();","compact":"Method: tuesday.name - returns the full weekday name","search_text":"constant_member:tuesday.name name tuesday.name method returns the full weekday name tuesday.name() -> Text"},{"id":"constant_member:tuesday.short","name":"short","path":"tuesday.short","kind":"method","aliases":[],"description":"returns the short weekday name","syntax":["tuesday.short() -> Text"],"examples":["# Use tuesday.short for a compact calendar label\nlet value = tuesday;\nprint value.short();"],"arguments":[],"children":[],"resources":[],"doc":"Method: tuesday.short - returns the short weekday name\nSyntax:\n  tuesday.short() -> Text\nExample:\n# Use tuesday.short for a compact calendar label\n   let value = tuesday;\n   print value.short();","compact":"Method: tuesday.short - returns the short weekday name","search_text":"constant_member:tuesday.short short tuesday.short method returns the short weekday name tuesday.short() -> Text"},{"id":"constant_member:tuesday.letter","name":"letter","path":"tuesday.letter","kind":"method","aliases":[],"description":"returns the one-letter weekday label","syntax":["tuesday.letter() -> Text"],"examples":["# Use tuesday.letter in a narrow weekday table\nlet value = tuesday;\nprint value.letter();"],"arguments":[],"children":[],"resources":[],"doc":"Method: tuesday.letter - returns the one-letter weekday label\nSyntax:\n  tuesday.letter() -> Text\nExample:\n# Use tuesday.letter in a narrow weekday table\n   let value = tuesday;\n   print value.letter();","compact":"Method: tuesday.letter - returns the one-letter weekday label","search_text":"constant_member:tuesday.letter letter tuesday.letter method returns the one-letter weekday label tuesday.letter() -> Text"},{"id":"constant_member:tuesday.index","name":"index","path":"tuesday.index","kind":"method","aliases":[],"description":"returns the ISO weekday index","syntax":["tuesday.index() -> Integer"],"examples":["# Use tuesday.index for weekday sorting\nlet value = tuesday;\nprint value.index();"],"arguments":[],"children":[],"resources":[],"doc":"Method: tuesday.index - returns the ISO weekday index\nSyntax:\n  tuesday.index() -> Integer\nExample:\n# Use tuesday.index for weekday sorting\n   let value = tuesday;\n   print value.index();","compact":"Method: tuesday.index - returns the ISO weekday index","search_text":"constant_member:tuesday.index index tuesday.index method returns the ISO weekday index tuesday.index() -> Integer"},{"id":"constant_member:tuesday.children","name":"children","path":"tuesday.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["tuesday.children() -> List"],"examples":["# Inspect child entries available from the tuesday constant\nlet value = tuesday;\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: tuesday.children - lists child fields and callable members available on this value\nSyntax:\n  tuesday.children() -> List\nExample:\n# Inspect child entries available from the tuesday constant\n   let value = tuesday;\n   print value.children();","compact":"Method: tuesday.children - lists child fields and callable members available on this value","search_text":"constant_member:tuesday.children children tuesday.children method lists child fields and callable members available on this value tuesday.children() -> List"},{"id":"constant_member:tuesday.fields","name":"fields","path":"tuesday.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["tuesday.fields() -> Object"],"examples":["# Inspect plain fields on the tuesday constant\nlet value = tuesday;\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: tuesday.fields - returns an object containing the value's plain fields\nSyntax:\n  tuesday.fields() -> Object\nExample:\n# Inspect plain fields on the tuesday constant\n   let value = tuesday;\n   print value.fields();","compact":"Method: tuesday.fields - returns an object containing the value's plain fields","search_text":"constant_member:tuesday.fields fields tuesday.fields method returns an object containing the value's plain fields tuesday.fields() -> Object"},{"id":"constant_member:tuesday.functions","name":"functions","path":"tuesday.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["tuesday.functions() -> List"],"examples":["# Inspect callable members on the tuesday constant\nlet value = tuesday;\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: tuesday.functions - lists callable members available on this value\nSyntax:\n  tuesday.functions() -> List\nExample:\n# Inspect callable members on the tuesday constant\n   let value = tuesday;\n   print value.functions();","compact":"Method: tuesday.functions - lists callable members available on this value","search_text":"constant_member:tuesday.functions functions tuesday.functions method lists callable members available on this value tuesday.functions() -> List"},{"id":"constant_member:wednesday.name","name":"name","path":"wednesday.name","kind":"method","aliases":[],"description":"returns the full weekday name","syntax":["wednesday.name() -> Text"],"examples":["# Use wednesday.name as a report label\nlet value = wednesday;\nprint value.name();"],"arguments":[],"children":[],"resources":[],"doc":"Method: wednesday.name - returns the full weekday name\nSyntax:\n  wednesday.name() -> Text\nExample:\n# Use wednesday.name as a report label\n   let value = wednesday;\n   print value.name();","compact":"Method: wednesday.name - returns the full weekday name","search_text":"constant_member:wednesday.name name wednesday.name method returns the full weekday name wednesday.name() -> Text"},{"id":"constant_member:wednesday.short","name":"short","path":"wednesday.short","kind":"method","aliases":[],"description":"returns the short weekday name","syntax":["wednesday.short() -> Text"],"examples":["# Use wednesday.short for a compact calendar label\nlet value = wednesday;\nprint value.short();"],"arguments":[],"children":[],"resources":[],"doc":"Method: wednesday.short - returns the short weekday name\nSyntax:\n  wednesday.short() -> Text\nExample:\n# Use wednesday.short for a compact calendar label\n   let value = wednesday;\n   print value.short();","compact":"Method: wednesday.short - returns the short weekday name","search_text":"constant_member:wednesday.short short wednesday.short method returns the short weekday name wednesday.short() -> Text"},{"id":"constant_member:wednesday.letter","name":"letter","path":"wednesday.letter","kind":"method","aliases":[],"description":"returns the one-letter weekday label","syntax":["wednesday.letter() -> Text"],"examples":["# Use wednesday.letter in a narrow weekday table\nlet value = wednesday;\nprint value.letter();"],"arguments":[],"children":[],"resources":[],"doc":"Method: wednesday.letter - returns the one-letter weekday label\nSyntax:\n  wednesday.letter() -> Text\nExample:\n# Use wednesday.letter in a narrow weekday table\n   let value = wednesday;\n   print value.letter();","compact":"Method: wednesday.letter - returns the one-letter weekday label","search_text":"constant_member:wednesday.letter letter wednesday.letter method returns the one-letter weekday label wednesday.letter() -> Text"},{"id":"constant_member:wednesday.index","name":"index","path":"wednesday.index","kind":"method","aliases":[],"description":"returns the ISO weekday index","syntax":["wednesday.index() -> Integer"],"examples":["# Use wednesday.index for weekday sorting\nlet value = wednesday;\nprint value.index();"],"arguments":[],"children":[],"resources":[],"doc":"Method: wednesday.index - returns the ISO weekday index\nSyntax:\n  wednesday.index() -> Integer\nExample:\n# Use wednesday.index for weekday sorting\n   let value = wednesday;\n   print value.index();","compact":"Method: wednesday.index - returns the ISO weekday index","search_text":"constant_member:wednesday.index index wednesday.index method returns the ISO weekday index wednesday.index() -> Integer"},{"id":"constant_member:wednesday.children","name":"children","path":"wednesday.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["wednesday.children() -> List"],"examples":["# Inspect child entries available from the wednesday constant\nlet value = wednesday;\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: wednesday.children - lists child fields and callable members available on this value\nSyntax:\n  wednesday.children() -> List\nExample:\n# Inspect child entries available from the wednesday constant\n   let value = wednesday;\n   print value.children();","compact":"Method: wednesday.children - lists child fields and callable members available on this value","search_text":"constant_member:wednesday.children children wednesday.children method lists child fields and callable members available on this value wednesday.children() -> List"},{"id":"constant_member:wednesday.fields","name":"fields","path":"wednesday.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["wednesday.fields() -> Object"],"examples":["# Inspect plain fields on the wednesday constant\nlet value = wednesday;\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: wednesday.fields - returns an object containing the value's plain fields\nSyntax:\n  wednesday.fields() -> Object\nExample:\n# Inspect plain fields on the wednesday constant\n   let value = wednesday;\n   print value.fields();","compact":"Method: wednesday.fields - returns an object containing the value's plain fields","search_text":"constant_member:wednesday.fields fields wednesday.fields method returns an object containing the value's plain fields wednesday.fields() -> Object"},{"id":"constant_member:wednesday.functions","name":"functions","path":"wednesday.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["wednesday.functions() -> List"],"examples":["# Inspect callable members on the wednesday constant\nlet value = wednesday;\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: wednesday.functions - lists callable members available on this value\nSyntax:\n  wednesday.functions() -> List\nExample:\n# Inspect callable members on the wednesday constant\n   let value = wednesday;\n   print value.functions();","compact":"Method: wednesday.functions - lists callable members available on this value","search_text":"constant_member:wednesday.functions functions wednesday.functions method lists callable members available on this value wednesday.functions() -> List"},{"id":"constant_member:thursday.name","name":"name","path":"thursday.name","kind":"method","aliases":[],"description":"returns the full weekday name","syntax":["thursday.name() -> Text"],"examples":["# Use thursday.name as a report label\nlet value = thursday;\nprint value.name();"],"arguments":[],"children":[],"resources":[],"doc":"Method: thursday.name - returns the full weekday name\nSyntax:\n  thursday.name() -> Text\nExample:\n# Use thursday.name as a report label\n   let value = thursday;\n   print value.name();","compact":"Method: thursday.name - returns the full weekday name","search_text":"constant_member:thursday.name name thursday.name method returns the full weekday name thursday.name() -> Text"},{"id":"constant_member:thursday.short","name":"short","path":"thursday.short","kind":"method","aliases":[],"description":"returns the short weekday name","syntax":["thursday.short() -> Text"],"examples":["# Use thursday.short for a compact calendar label\nlet value = thursday;\nprint value.short();"],"arguments":[],"children":[],"resources":[],"doc":"Method: thursday.short - returns the short weekday name\nSyntax:\n  thursday.short() -> Text\nExample:\n# Use thursday.short for a compact calendar label\n   let value = thursday;\n   print value.short();","compact":"Method: thursday.short - returns the short weekday name","search_text":"constant_member:thursday.short short thursday.short method returns the short weekday name thursday.short() -> Text"},{"id":"constant_member:thursday.letter","name":"letter","path":"thursday.letter","kind":"method","aliases":[],"description":"returns the one-letter weekday label","syntax":["thursday.letter() -> Text"],"examples":["# Use thursday.letter in a narrow weekday table\nlet value = thursday;\nprint value.letter();"],"arguments":[],"children":[],"resources":[],"doc":"Method: thursday.letter - returns the one-letter weekday label\nSyntax:\n  thursday.letter() -> Text\nExample:\n# Use thursday.letter in a narrow weekday table\n   let value = thursday;\n   print value.letter();","compact":"Method: thursday.letter - returns the one-letter weekday label","search_text":"constant_member:thursday.letter letter thursday.letter method returns the one-letter weekday label thursday.letter() -> Text"},{"id":"constant_member:thursday.index","name":"index","path":"thursday.index","kind":"method","aliases":[],"description":"returns the ISO weekday index","syntax":["thursday.index() -> Integer"],"examples":["# Use thursday.index for weekday sorting\nlet value = thursday;\nprint value.index();"],"arguments":[],"children":[],"resources":[],"doc":"Method: thursday.index - returns the ISO weekday index\nSyntax:\n  thursday.index() -> Integer\nExample:\n# Use thursday.index for weekday sorting\n   let value = thursday;\n   print value.index();","compact":"Method: thursday.index - returns the ISO weekday index","search_text":"constant_member:thursday.index index thursday.index method returns the ISO weekday index thursday.index() -> Integer"},{"id":"constant_member:thursday.children","name":"children","path":"thursday.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["thursday.children() -> List"],"examples":["# Inspect child entries available from the thursday constant\nlet value = thursday;\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: thursday.children - lists child fields and callable members available on this value\nSyntax:\n  thursday.children() -> List\nExample:\n# Inspect child entries available from the thursday constant\n   let value = thursday;\n   print value.children();","compact":"Method: thursday.children - lists child fields and callable members available on this value","search_text":"constant_member:thursday.children children thursday.children method lists child fields and callable members available on this value thursday.children() -> List"},{"id":"constant_member:thursday.fields","name":"fields","path":"thursday.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["thursday.fields() -> Object"],"examples":["# Inspect plain fields on the thursday constant\nlet value = thursday;\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: thursday.fields - returns an object containing the value's plain fields\nSyntax:\n  thursday.fields() -> Object\nExample:\n# Inspect plain fields on the thursday constant\n   let value = thursday;\n   print value.fields();","compact":"Method: thursday.fields - returns an object containing the value's plain fields","search_text":"constant_member:thursday.fields fields thursday.fields method returns an object containing the value's plain fields thursday.fields() -> Object"},{"id":"constant_member:thursday.functions","name":"functions","path":"thursday.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["thursday.functions() -> List"],"examples":["# Inspect callable members on the thursday constant\nlet value = thursday;\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: thursday.functions - lists callable members available on this value\nSyntax:\n  thursday.functions() -> List\nExample:\n# Inspect callable members on the thursday constant\n   let value = thursday;\n   print value.functions();","compact":"Method: thursday.functions - lists callable members available on this value","search_text":"constant_member:thursday.functions functions thursday.functions method lists callable members available on this value thursday.functions() -> List"},{"id":"constant_member:friday.name","name":"name","path":"friday.name","kind":"method","aliases":[],"description":"returns the full weekday name","syntax":["friday.name() -> Text"],"examples":["# Use friday.name as a report label\nlet value = friday;\nprint value.name();"],"arguments":[],"children":[],"resources":[],"doc":"Method: friday.name - returns the full weekday name\nSyntax:\n  friday.name() -> Text\nExample:\n# Use friday.name as a report label\n   let value = friday;\n   print value.name();","compact":"Method: friday.name - returns the full weekday name","search_text":"constant_member:friday.name name friday.name method returns the full weekday name friday.name() -> Text"},{"id":"constant_member:friday.short","name":"short","path":"friday.short","kind":"method","aliases":[],"description":"returns the short weekday name","syntax":["friday.short() -> Text"],"examples":["# Use friday.short for a compact calendar label\nlet value = friday;\nprint value.short();"],"arguments":[],"children":[],"resources":[],"doc":"Method: friday.short - returns the short weekday name\nSyntax:\n  friday.short() -> Text\nExample:\n# Use friday.short for a compact calendar label\n   let value = friday;\n   print value.short();","compact":"Method: friday.short - returns the short weekday name","search_text":"constant_member:friday.short short friday.short method returns the short weekday name friday.short() -> Text"},{"id":"constant_member:friday.letter","name":"letter","path":"friday.letter","kind":"method","aliases":[],"description":"returns the one-letter weekday label","syntax":["friday.letter() -> Text"],"examples":["# Use friday.letter in a narrow weekday table\nlet value = friday;\nprint value.letter();"],"arguments":[],"children":[],"resources":[],"doc":"Method: friday.letter - returns the one-letter weekday label\nSyntax:\n  friday.letter() -> Text\nExample:\n# Use friday.letter in a narrow weekday table\n   let value = friday;\n   print value.letter();","compact":"Method: friday.letter - returns the one-letter weekday label","search_text":"constant_member:friday.letter letter friday.letter method returns the one-letter weekday label friday.letter() -> Text"},{"id":"constant_member:friday.index","name":"index","path":"friday.index","kind":"method","aliases":[],"description":"returns the ISO weekday index","syntax":["friday.index() -> Integer"],"examples":["# Use friday.index for weekday sorting\nlet value = friday;\nprint value.index();"],"arguments":[],"children":[],"resources":[],"doc":"Method: friday.index - returns the ISO weekday index\nSyntax:\n  friday.index() -> Integer\nExample:\n# Use friday.index for weekday sorting\n   let value = friday;\n   print value.index();","compact":"Method: friday.index - returns the ISO weekday index","search_text":"constant_member:friday.index index friday.index method returns the ISO weekday index friday.index() -> Integer"},{"id":"constant_member:friday.children","name":"children","path":"friday.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["friday.children() -> List"],"examples":["# Inspect child entries available from the friday constant\nlet value = friday;\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: friday.children - lists child fields and callable members available on this value\nSyntax:\n  friday.children() -> List\nExample:\n# Inspect child entries available from the friday constant\n   let value = friday;\n   print value.children();","compact":"Method: friday.children - lists child fields and callable members available on this value","search_text":"constant_member:friday.children children friday.children method lists child fields and callable members available on this value friday.children() -> List"},{"id":"constant_member:friday.fields","name":"fields","path":"friday.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["friday.fields() -> Object"],"examples":["# Inspect plain fields on the friday constant\nlet value = friday;\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: friday.fields - returns an object containing the value's plain fields\nSyntax:\n  friday.fields() -> Object\nExample:\n# Inspect plain fields on the friday constant\n   let value = friday;\n   print value.fields();","compact":"Method: friday.fields - returns an object containing the value's plain fields","search_text":"constant_member:friday.fields fields friday.fields method returns an object containing the value's plain fields friday.fields() -> Object"},{"id":"constant_member:friday.functions","name":"functions","path":"friday.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["friday.functions() -> List"],"examples":["# Inspect callable members on the friday constant\nlet value = friday;\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: friday.functions - lists callable members available on this value\nSyntax:\n  friday.functions() -> List\nExample:\n# Inspect callable members on the friday constant\n   let value = friday;\n   print value.functions();","compact":"Method: friday.functions - lists callable members available on this value","search_text":"constant_member:friday.functions functions friday.functions method lists callable members available on this value friday.functions() -> List"},{"id":"constant_member:saturday.name","name":"name","path":"saturday.name","kind":"method","aliases":[],"description":"returns the full weekday name","syntax":["saturday.name() -> Text"],"examples":["# Use saturday.name as a report label\nlet value = saturday;\nprint value.name();"],"arguments":[],"children":[],"resources":[],"doc":"Method: saturday.name - returns the full weekday name\nSyntax:\n  saturday.name() -> Text\nExample:\n# Use saturday.name as a report label\n   let value = saturday;\n   print value.name();","compact":"Method: saturday.name - returns the full weekday name","search_text":"constant_member:saturday.name name saturday.name method returns the full weekday name saturday.name() -> Text"},{"id":"constant_member:saturday.short","name":"short","path":"saturday.short","kind":"method","aliases":[],"description":"returns the short weekday name","syntax":["saturday.short() -> Text"],"examples":["# Use saturday.short for a compact calendar label\nlet value = saturday;\nprint value.short();"],"arguments":[],"children":[],"resources":[],"doc":"Method: saturday.short - returns the short weekday name\nSyntax:\n  saturday.short() -> Text\nExample:\n# Use saturday.short for a compact calendar label\n   let value = saturday;\n   print value.short();","compact":"Method: saturday.short - returns the short weekday name","search_text":"constant_member:saturday.short short saturday.short method returns the short weekday name saturday.short() -> Text"},{"id":"constant_member:saturday.letter","name":"letter","path":"saturday.letter","kind":"method","aliases":[],"description":"returns the one-letter weekday label","syntax":["saturday.letter() -> Text"],"examples":["# Use saturday.letter in a narrow weekday table\nlet value = saturday;\nprint value.letter();"],"arguments":[],"children":[],"resources":[],"doc":"Method: saturday.letter - returns the one-letter weekday label\nSyntax:\n  saturday.letter() -> Text\nExample:\n# Use saturday.letter in a narrow weekday table\n   let value = saturday;\n   print value.letter();","compact":"Method: saturday.letter - returns the one-letter weekday label","search_text":"constant_member:saturday.letter letter saturday.letter method returns the one-letter weekday label saturday.letter() -> Text"},{"id":"constant_member:saturday.index","name":"index","path":"saturday.index","kind":"method","aliases":[],"description":"returns the ISO weekday index","syntax":["saturday.index() -> Integer"],"examples":["# Use saturday.index for weekday sorting\nlet value = saturday;\nprint value.index();"],"arguments":[],"children":[],"resources":[],"doc":"Method: saturday.index - returns the ISO weekday index\nSyntax:\n  saturday.index() -> Integer\nExample:\n# Use saturday.index for weekday sorting\n   let value = saturday;\n   print value.index();","compact":"Method: saturday.index - returns the ISO weekday index","search_text":"constant_member:saturday.index index saturday.index method returns the ISO weekday index saturday.index() -> Integer"},{"id":"constant_member:saturday.children","name":"children","path":"saturday.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["saturday.children() -> List"],"examples":["# Inspect child entries available from the saturday constant\nlet value = saturday;\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: saturday.children - lists child fields and callable members available on this value\nSyntax:\n  saturday.children() -> List\nExample:\n# Inspect child entries available from the saturday constant\n   let value = saturday;\n   print value.children();","compact":"Method: saturday.children - lists child fields and callable members available on this value","search_text":"constant_member:saturday.children children saturday.children method lists child fields and callable members available on this value saturday.children() -> List"},{"id":"constant_member:saturday.fields","name":"fields","path":"saturday.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["saturday.fields() -> Object"],"examples":["# Inspect plain fields on the saturday constant\nlet value = saturday;\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: saturday.fields - returns an object containing the value's plain fields\nSyntax:\n  saturday.fields() -> Object\nExample:\n# Inspect plain fields on the saturday constant\n   let value = saturday;\n   print value.fields();","compact":"Method: saturday.fields - returns an object containing the value's plain fields","search_text":"constant_member:saturday.fields fields saturday.fields method returns an object containing the value's plain fields saturday.fields() -> Object"},{"id":"constant_member:saturday.functions","name":"functions","path":"saturday.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["saturday.functions() -> List"],"examples":["# Inspect callable members on the saturday constant\nlet value = saturday;\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: saturday.functions - lists callable members available on this value\nSyntax:\n  saturday.functions() -> List\nExample:\n# Inspect callable members on the saturday constant\n   let value = saturday;\n   print value.functions();","compact":"Method: saturday.functions - lists callable members available on this value","search_text":"constant_member:saturday.functions functions saturday.functions method lists callable members available on this value saturday.functions() -> List"},{"id":"constant_member:sunday.name","name":"name","path":"sunday.name","kind":"method","aliases":[],"description":"returns the full weekday name","syntax":["sunday.name() -> Text"],"examples":["# Use sunday.name as a report label\nlet value = sunday;\nprint value.name();"],"arguments":[],"children":[],"resources":[],"doc":"Method: sunday.name - returns the full weekday name\nSyntax:\n  sunday.name() -> Text\nExample:\n# Use sunday.name as a report label\n   let value = sunday;\n   print value.name();","compact":"Method: sunday.name - returns the full weekday name","search_text":"constant_member:sunday.name name sunday.name method returns the full weekday name sunday.name() -> Text"},{"id":"constant_member:sunday.short","name":"short","path":"sunday.short","kind":"method","aliases":[],"description":"returns the short weekday name","syntax":["sunday.short() -> Text"],"examples":["# Use sunday.short for a compact calendar label\nlet value = sunday;\nprint value.short();"],"arguments":[],"children":[],"resources":[],"doc":"Method: sunday.short - returns the short weekday name\nSyntax:\n  sunday.short() -> Text\nExample:\n# Use sunday.short for a compact calendar label\n   let value = sunday;\n   print value.short();","compact":"Method: sunday.short - returns the short weekday name","search_text":"constant_member:sunday.short short sunday.short method returns the short weekday name sunday.short() -> Text"},{"id":"constant_member:sunday.letter","name":"letter","path":"sunday.letter","kind":"method","aliases":[],"description":"returns the one-letter weekday label","syntax":["sunday.letter() -> Text"],"examples":["# Use sunday.letter in a narrow weekday table\nlet value = sunday;\nprint value.letter();"],"arguments":[],"children":[],"resources":[],"doc":"Method: sunday.letter - returns the one-letter weekday label\nSyntax:\n  sunday.letter() -> Text\nExample:\n# Use sunday.letter in a narrow weekday table\n   let value = sunday;\n   print value.letter();","compact":"Method: sunday.letter - returns the one-letter weekday label","search_text":"constant_member:sunday.letter letter sunday.letter method returns the one-letter weekday label sunday.letter() -> Text"},{"id":"constant_member:sunday.index","name":"index","path":"sunday.index","kind":"method","aliases":[],"description":"returns the ISO weekday index","syntax":["sunday.index() -> Integer"],"examples":["# Use sunday.index for weekday sorting\nlet value = sunday;\nprint value.index();"],"arguments":[],"children":[],"resources":[],"doc":"Method: sunday.index - returns the ISO weekday index\nSyntax:\n  sunday.index() -> Integer\nExample:\n# Use sunday.index for weekday sorting\n   let value = sunday;\n   print value.index();","compact":"Method: sunday.index - returns the ISO weekday index","search_text":"constant_member:sunday.index index sunday.index method returns the ISO weekday index sunday.index() -> Integer"},{"id":"constant_member:sunday.children","name":"children","path":"sunday.children","kind":"method","aliases":[],"description":"lists child fields and callable members available on this value","syntax":["sunday.children() -> List"],"examples":["# Inspect child entries available from the sunday constant\nlet value = sunday;\nprint value.children();"],"arguments":[],"children":[],"resources":[],"doc":"Method: sunday.children - lists child fields and callable members available on this value\nSyntax:\n  sunday.children() -> List\nExample:\n# Inspect child entries available from the sunday constant\n   let value = sunday;\n   print value.children();","compact":"Method: sunday.children - lists child fields and callable members available on this value","search_text":"constant_member:sunday.children children sunday.children method lists child fields and callable members available on this value sunday.children() -> List"},{"id":"constant_member:sunday.fields","name":"fields","path":"sunday.fields","kind":"method","aliases":[],"description":"returns an object containing the value's plain fields","syntax":["sunday.fields() -> Object"],"examples":["# Inspect plain fields on the sunday constant\nlet value = sunday;\nprint value.fields();"],"arguments":[],"children":[],"resources":[],"doc":"Method: sunday.fields - returns an object containing the value's plain fields\nSyntax:\n  sunday.fields() -> Object\nExample:\n# Inspect plain fields on the sunday constant\n   let value = sunday;\n   print value.fields();","compact":"Method: sunday.fields - returns an object containing the value's plain fields","search_text":"constant_member:sunday.fields fields sunday.fields method returns an object containing the value's plain fields sunday.fields() -> Object"},{"id":"constant_member:sunday.functions","name":"functions","path":"sunday.functions","kind":"method","aliases":[],"description":"lists callable members available on this value","syntax":["sunday.functions() -> List"],"examples":["# Inspect callable members on the sunday constant\nlet value = sunday;\nprint value.functions();"],"arguments":[],"children":[],"resources":[],"doc":"Method: sunday.functions - lists callable members available on this value\nSyntax:\n  sunday.functions() -> List\nExample:\n# Inspect callable members on the sunday constant\n   let value = sunday;\n   print value.functions();","compact":"Method: sunday.functions - lists callable members available on this value","search_text":"constant_member:sunday.functions functions sunday.functions method lists callable members available on this value sunday.functions() -> List"},{"id":"constant:barycentric","name":"barycentric","path":"barycentric","kind":"constant","aliases":[],"description":"barycentric: origin at the solar-system barycenter; corrections are ignored\nalternatives: barycentric, heliocentric, geocentric, topocentric","syntax":["barycentric -> StateOrigin"],"examples":["# Use barycentric as the origin for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, barycentric, icrf, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: barycentric - barycentric: origin at the solar-system barycenter; corrections are ignored\nalternatives: barycentric, heliocentric, geocentric, topocentric\nSyntax:\n  barycentric -> StateOrigin\nExample:\n# Use barycentric as the origin for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, barycentric, icrf, no_correction);\n   print st.position().length();","compact":"Constant: barycentric - barycentric: origin at the solar-system barycenter; corrections are ignored\nalternatives: barycentric, heliocentric, geocentric, topocentric","search_text":"constant:barycentric barycentric barycentric constant barycentric: origin at the solar-system barycenter; corrections are ignored\nalternatives: barycentric, heliocentric, geocentric, topocentric barycentric -> StateOrigin"},{"id":"constant:bc","name":"bc","path":"bc","kind":"constant","aliases":[],"description":"barycentric: origin at the solar-system barycenter; corrections are ignored\nalternatives: barycentric, heliocentric, geocentric, topocentric","syntax":["bc -> StateOrigin"],"examples":["# Use bc as the origin for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, bc, icrf, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: bc - barycentric: origin at the solar-system barycenter; corrections are ignored\nalternatives: barycentric, heliocentric, geocentric, topocentric\nSyntax:\n  bc -> StateOrigin\nExample:\n# Use bc as the origin for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, bc, icrf, no_correction);\n   print st.position().length();","compact":"Constant: bc - barycentric: origin at the solar-system barycenter; corrections are ignored\nalternatives: barycentric, heliocentric, geocentric, topocentric","search_text":"constant:bc bc bc constant barycentric: origin at the solar-system barycenter; corrections are ignored\nalternatives: barycentric, heliocentric, geocentric, topocentric bc -> StateOrigin"},{"id":"constant:heliocentric","name":"heliocentric","path":"heliocentric","kind":"constant","aliases":[],"description":"heliocentric: origin at the Sun's center\nalternatives: barycentric, heliocentric, geocentric, topocentric","syntax":["heliocentric -> StateOrigin"],"examples":["# Use heliocentric as the origin for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, icrf, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: heliocentric - heliocentric: origin at the Sun's center\nalternatives: barycentric, heliocentric, geocentric, topocentric\nSyntax:\n  heliocentric -> StateOrigin\nExample:\n# Use heliocentric as the origin for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, icrf, no_correction);\n   print st.position().length();","compact":"Constant: heliocentric - heliocentric: origin at the Sun's center\nalternatives: barycentric, heliocentric, geocentric, topocentric","search_text":"constant:heliocentric heliocentric heliocentric constant heliocentric: origin at the Sun's center\nalternatives: barycentric, heliocentric, geocentric, topocentric heliocentric -> StateOrigin"},{"id":"constant:hc","name":"hc","path":"hc","kind":"constant","aliases":[],"description":"heliocentric: origin at the Sun's center\nalternatives: barycentric, heliocentric, geocentric, topocentric","syntax":["hc -> StateOrigin"],"examples":["# Use hc as the origin for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, hc, icrf, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: hc - heliocentric: origin at the Sun's center\nalternatives: barycentric, heliocentric, geocentric, topocentric\nSyntax:\n  hc -> StateOrigin\nExample:\n# Use hc as the origin for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, hc, icrf, no_correction);\n   print st.position().length();","compact":"Constant: hc - heliocentric: origin at the Sun's center\nalternatives: barycentric, heliocentric, geocentric, topocentric","search_text":"constant:hc hc hc constant heliocentric: origin at the Sun's center\nalternatives: barycentric, heliocentric, geocentric, topocentric hc -> StateOrigin"},{"id":"constant:geocentric","name":"geocentric","path":"geocentric","kind":"constant","aliases":[],"description":"geocentric: origin at Earth's center; conventional inferred axis is tod\nalternatives: barycentric, heliocentric, geocentric, topocentric","syntax":["geocentric -> StateOrigin"],"examples":["# Use geocentric as the origin for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, geocentric, icrf, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: geocentric - geocentric: origin at Earth's center; conventional inferred axis is tod\nalternatives: barycentric, heliocentric, geocentric, topocentric\nSyntax:\n  geocentric -> StateOrigin\nExample:\n# Use geocentric as the origin for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, geocentric, icrf, no_correction);\n   print st.position().length();","compact":"Constant: geocentric - geocentric: origin at Earth's center; conventional inferred axis is tod\nalternatives: barycentric, heliocentric, geocentric, topocentric","search_text":"constant:geocentric geocentric geocentric constant geocentric: origin at Earth's center; conventional inferred axis is tod\nalternatives: barycentric, heliocentric, geocentric, topocentric geocentric -> StateOrigin"},{"id":"constant:gc","name":"gc","path":"gc","kind":"constant","aliases":[],"description":"geocentric: origin at Earth's center; conventional inferred axis is tod\nalternatives: barycentric, heliocentric, geocentric, topocentric","syntax":["gc -> StateOrigin"],"examples":["# Use gc as the origin for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, gc, icrf, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: gc - geocentric: origin at Earth's center; conventional inferred axis is tod\nalternatives: barycentric, heliocentric, geocentric, topocentric\nSyntax:\n  gc -> StateOrigin\nExample:\n# Use gc as the origin for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, gc, icrf, no_correction);\n   print st.position().length();","compact":"Constant: gc - geocentric: origin at Earth's center; conventional inferred axis is tod\nalternatives: barycentric, heliocentric, geocentric, topocentric","search_text":"constant:gc gc gc constant geocentric: origin at Earth's center; conventional inferred axis is tod\nalternatives: barycentric, heliocentric, geocentric, topocentric gc -> StateOrigin"},{"id":"constant:topocentric","name":"topocentric","path":"topocentric","kind":"constant","aliases":[],"description":"topocentric: origin at the observer location; requires location and conventionally uses topographic axes\nalternatives: barycentric, heliocentric, geocentric, topocentric","syntax":["topocentric -> StateOrigin"],"examples":["# Use topocentric as the origin for a local state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet loc = location(latitude: 60.0, longitude: 10.0);\nlet st = state(mars, t, loc, topocentric, icrf, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: topocentric - topocentric: origin at the observer location; requires location and conventionally uses topographic axes\nalternatives: barycentric, heliocentric, geocentric, topocentric\nSyntax:\n  topocentric -> StateOrigin\nExample:\n# Use topocentric as the origin for a local state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let loc = location(latitude: 60.0, longitude: 10.0);\n   let st = state(mars, t, loc, topocentric, icrf, no_correction);\n   print st.position().length();","compact":"Constant: topocentric - topocentric: origin at the observer location; requires location and conventionally uses topographic axes\nalternatives: barycentric, heliocentric, geocentric, topocentric","search_text":"constant:topocentric topocentric topocentric constant topocentric: origin at the observer location; requires location and conventionally uses topographic axes\nalternatives: barycentric, heliocentric, geocentric, topocentric topocentric -> StateOrigin"},{"id":"constant:topo","name":"topo","path":"topo","kind":"constant","aliases":[],"description":"topocentric: origin at the observer location; requires location and conventionally uses topographic axes\nalternatives: barycentric, heliocentric, geocentric, topocentric","syntax":["topo -> StateOrigin"],"examples":["# Use topo as the origin for a local state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet loc = location(latitude: 60.0, longitude: 10.0);\nlet st = state(mars, t, loc, topo, icrf, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: topo - topocentric: origin at the observer location; requires location and conventionally uses topographic axes\nalternatives: barycentric, heliocentric, geocentric, topocentric\nSyntax:\n  topo -> StateOrigin\nExample:\n# Use topo as the origin for a local state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let loc = location(latitude: 60.0, longitude: 10.0);\n   let st = state(mars, t, loc, topo, icrf, no_correction);\n   print st.position().length();","compact":"Constant: topo - topocentric: origin at the observer location; requires location and conventionally uses topographic axes\nalternatives: barycentric, heliocentric, geocentric, topocentric","search_text":"constant:topo topo topo constant topocentric: origin at the observer location; requires location and conventionally uses topographic axes\nalternatives: barycentric, heliocentric, geocentric, topocentric topo -> StateOrigin"},{"id":"constant:icrf","name":"icrf","path":"icrf","kind":"constant","aliases":[],"description":"icrf: International Celestial Reference Frame axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["icrf -> StateAxis"],"examples":["# Use icrf as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, icrf, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: icrf - icrf: International Celestial Reference Frame axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  icrf -> StateAxis\nExample:\n# Use icrf as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, icrf, no_correction);\n   print st.position().length();","compact":"Constant: icrf - icrf: International Celestial Reference Frame axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:icrf icrf icrf constant icrf: International Celestial Reference Frame axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic icrf -> StateAxis"},{"id":"constant:icrs","name":"icrs","path":"icrs","kind":"constant","aliases":[],"description":"icrf: International Celestial Reference Frame axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["icrs -> StateAxis"],"examples":["# Use icrs as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, icrs, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: icrs - icrf: International Celestial Reference Frame axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  icrs -> StateAxis\nExample:\n# Use icrs as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, icrs, no_correction);\n   print st.position().length();","compact":"Constant: icrs - icrf: International Celestial Reference Frame axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:icrs icrs icrs constant icrf: International Celestial Reference Frame axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic icrs -> StateAxis"},{"id":"constant:tod","name":"tod","path":"tod","kind":"constant","aliases":[],"description":"tod: true-of-date equatorial axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["tod -> StateAxis"],"examples":["# Use tod as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, tod, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: tod - tod: true-of-date equatorial axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  tod -> StateAxis\nExample:\n# Use tod as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, tod, no_correction);\n   print st.position().length();","compact":"Constant: tod - tod: true-of-date equatorial axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:tod tod tod constant tod: true-of-date equatorial axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic tod -> StateAxis"},{"id":"constant:true_of_date","name":"true_of_date","path":"true_of_date","kind":"constant","aliases":[],"description":"tod: true-of-date equatorial axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["true_of_date -> StateAxis"],"examples":["# Use true_of_date as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, true_of_date, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: true_of_date - tod: true-of-date equatorial axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  true_of_date -> StateAxis\nExample:\n# Use true_of_date as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, true_of_date, no_correction);\n   print st.position().length();","compact":"Constant: true_of_date - tod: true-of-date equatorial axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:true_of_date true_of_date true_of_date constant tod: true-of-date equatorial axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic true_of_date -> StateAxis"},{"id":"constant:trueofdate","name":"trueofdate","path":"trueofdate","kind":"constant","aliases":[],"description":"tod: true-of-date equatorial axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["trueofdate -> StateAxis"],"examples":["# Use trueofdate as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, trueofdate, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: trueofdate - tod: true-of-date equatorial axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  trueofdate -> StateAxis\nExample:\n# Use trueofdate as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, trueofdate, no_correction);\n   print st.position().length();","compact":"Constant: trueofdate - tod: true-of-date equatorial axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:trueofdate trueofdate trueofdate constant tod: true-of-date equatorial axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic trueofdate -> StateAxis"},{"id":"constant:ecliptic","name":"ecliptic","path":"ecliptic","kind":"constant","aliases":[],"description":"ecliptic: true ecliptic and equinox of date axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["ecliptic -> StateAxis"],"examples":["# Use ecliptic as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, ecliptic, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: ecliptic - ecliptic: true ecliptic and equinox of date axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  ecliptic -> StateAxis\nExample:\n# Use ecliptic as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, ecliptic, no_correction);\n   print st.position().length();","compact":"Constant: ecliptic - ecliptic: true ecliptic and equinox of date axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:ecliptic ecliptic ecliptic constant ecliptic: true ecliptic and equinox of date axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic ecliptic -> StateAxis"},{"id":"constant:ecliptic_of_date","name":"ecliptic_of_date","path":"ecliptic_of_date","kind":"constant","aliases":[],"description":"ecliptic: true ecliptic and equinox of date axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["ecliptic_of_date -> StateAxis"],"examples":["# Use ecliptic_of_date as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, ecliptic_of_date, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: ecliptic_of_date - ecliptic: true ecliptic and equinox of date axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  ecliptic_of_date -> StateAxis\nExample:\n# Use ecliptic_of_date as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, ecliptic_of_date, no_correction);\n   print st.position().length();","compact":"Constant: ecliptic_of_date - ecliptic: true ecliptic and equinox of date axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:ecliptic_of_date ecliptic_of_date ecliptic_of_date constant ecliptic: true ecliptic and equinox of date axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic ecliptic_of_date -> StateAxis"},{"id":"constant:earthfixed","name":"earthfixed","path":"earthfixed","kind":"constant","aliases":[],"description":"ef: Earth-fixed rotating axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["earthfixed -> StateAxis"],"examples":["# Use earthfixed as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, earthfixed, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: earthfixed - ef: Earth-fixed rotating axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  earthfixed -> StateAxis\nExample:\n# Use earthfixed as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, earthfixed, no_correction);\n   print st.position().length();","compact":"Constant: earthfixed - ef: Earth-fixed rotating axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:earthfixed earthfixed earthfixed constant ef: Earth-fixed rotating axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic earthfixed -> StateAxis"},{"id":"constant:earth_fixed","name":"earth_fixed","path":"earth_fixed","kind":"constant","aliases":[],"description":"ef: Earth-fixed rotating axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["earth_fixed -> StateAxis"],"examples":["# Use earth_fixed as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, earth_fixed, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: earth_fixed - ef: Earth-fixed rotating axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  earth_fixed -> StateAxis\nExample:\n# Use earth_fixed as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, earth_fixed, no_correction);\n   print st.position().length();","compact":"Constant: earth_fixed - ef: Earth-fixed rotating axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:earth_fixed earth_fixed earth_fixed constant ef: Earth-fixed rotating axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic earth_fixed -> StateAxis"},{"id":"constant:ef","name":"ef","path":"ef","kind":"constant","aliases":[],"description":"ef: Earth-fixed rotating axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["ef -> StateAxis"],"examples":["# Use ef as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, ef, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: ef - ef: Earth-fixed rotating axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  ef -> StateAxis\nExample:\n# Use ef as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, ef, no_correction);\n   print st.position().length();","compact":"Constant: ef - ef: Earth-fixed rotating axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:ef ef ef constant ef: Earth-fixed rotating axes\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic ef -> StateAxis"},{"id":"constant:sunfixed","name":"sunfixed","path":"sunfixed","kind":"constant","aliases":[],"description":"sunfixed: Sun-fixed axes using the IAU solar pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["sunfixed -> StateAxis"],"examples":["# Use sunfixed as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, sunfixed, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: sunfixed - sunfixed: Sun-fixed axes using the IAU solar pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  sunfixed -> StateAxis\nExample:\n# Use sunfixed as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, sunfixed, no_correction);\n   print st.position().length();","compact":"Constant: sunfixed - sunfixed: Sun-fixed axes using the IAU solar pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:sunfixed sunfixed sunfixed constant sunfixed: Sun-fixed axes using the IAU solar pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic sunfixed -> StateAxis"},{"id":"constant:sun_fixed","name":"sun_fixed","path":"sun_fixed","kind":"constant","aliases":[],"description":"sunfixed: Sun-fixed axes using the IAU solar pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["sun_fixed -> StateAxis"],"examples":["# Use sun_fixed as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, sun_fixed, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: sun_fixed - sunfixed: Sun-fixed axes using the IAU solar pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  sun_fixed -> StateAxis\nExample:\n# Use sun_fixed as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, sun_fixed, no_correction);\n   print st.position().length();","compact":"Constant: sun_fixed - sunfixed: Sun-fixed axes using the IAU solar pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:sun_fixed sun_fixed sun_fixed constant sunfixed: Sun-fixed axes using the IAU solar pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic sun_fixed -> StateAxis"},{"id":"constant:mercuryfixed","name":"mercuryfixed","path":"mercuryfixed","kind":"constant","aliases":[],"description":"mercuryfixed: Mercury-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["mercuryfixed -> StateAxis"],"examples":["# Use mercuryfixed as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, mercuryfixed, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: mercuryfixed - mercuryfixed: Mercury-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  mercuryfixed -> StateAxis\nExample:\n# Use mercuryfixed as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, mercuryfixed, no_correction);\n   print st.position().length();","compact":"Constant: mercuryfixed - mercuryfixed: Mercury-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:mercuryfixed mercuryfixed mercuryfixed constant mercuryfixed: Mercury-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic mercuryfixed -> StateAxis"},{"id":"constant:mercury_fixed","name":"mercury_fixed","path":"mercury_fixed","kind":"constant","aliases":[],"description":"mercuryfixed: Mercury-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["mercury_fixed -> StateAxis"],"examples":["# Use mercury_fixed as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, mercury_fixed, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: mercury_fixed - mercuryfixed: Mercury-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  mercury_fixed -> StateAxis\nExample:\n# Use mercury_fixed as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, mercury_fixed, no_correction);\n   print st.position().length();","compact":"Constant: mercury_fixed - mercuryfixed: Mercury-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:mercury_fixed mercury_fixed mercury_fixed constant mercuryfixed: Mercury-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic mercury_fixed -> StateAxis"},{"id":"constant:venusfixed","name":"venusfixed","path":"venusfixed","kind":"constant","aliases":[],"description":"venusfixed: Venus-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["venusfixed -> StateAxis"],"examples":["# Use venusfixed as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, venusfixed, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: venusfixed - venusfixed: Venus-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  venusfixed -> StateAxis\nExample:\n# Use venusfixed as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, venusfixed, no_correction);\n   print st.position().length();","compact":"Constant: venusfixed - venusfixed: Venus-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:venusfixed venusfixed venusfixed constant venusfixed: Venus-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic venusfixed -> StateAxis"},{"id":"constant:venus_fixed","name":"venus_fixed","path":"venus_fixed","kind":"constant","aliases":[],"description":"venusfixed: Venus-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["venus_fixed -> StateAxis"],"examples":["# Use venus_fixed as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, venus_fixed, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: venus_fixed - venusfixed: Venus-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  venus_fixed -> StateAxis\nExample:\n# Use venus_fixed as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, venus_fixed, no_correction);\n   print st.position().length();","compact":"Constant: venus_fixed - venusfixed: Venus-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:venus_fixed venus_fixed venus_fixed constant venusfixed: Venus-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic venus_fixed -> StateAxis"},{"id":"constant:moonfixed","name":"moonfixed","path":"moonfixed","kind":"constant","aliases":[],"description":"moonfixed: Moon-fixed axes from the lunar physical-libration model where available\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["moonfixed -> StateAxis"],"examples":["# Use moonfixed as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, moonfixed, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: moonfixed - moonfixed: Moon-fixed axes from the lunar physical-libration model where available\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  moonfixed -> StateAxis\nExample:\n# Use moonfixed as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, moonfixed, no_correction);\n   print st.position().length();","compact":"Constant: moonfixed - moonfixed: Moon-fixed axes from the lunar physical-libration model where available\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:moonfixed moonfixed moonfixed constant moonfixed: Moon-fixed axes from the lunar physical-libration model where available\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic moonfixed -> StateAxis"},{"id":"constant:moon_fixed","name":"moon_fixed","path":"moon_fixed","kind":"constant","aliases":[],"description":"moonfixed: Moon-fixed axes from the lunar physical-libration model where available\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["moon_fixed -> StateAxis"],"examples":["# Use moon_fixed as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, moon_fixed, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: moon_fixed - moonfixed: Moon-fixed axes from the lunar physical-libration model where available\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  moon_fixed -> StateAxis\nExample:\n# Use moon_fixed as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, moon_fixed, no_correction);\n   print st.position().length();","compact":"Constant: moon_fixed - moonfixed: Moon-fixed axes from the lunar physical-libration model where available\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:moon_fixed moon_fixed moon_fixed constant moonfixed: Moon-fixed axes from the lunar physical-libration model where available\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic moon_fixed -> StateAxis"},{"id":"constant:marsfixed","name":"marsfixed","path":"marsfixed","kind":"constant","aliases":[],"description":"marsfixed: Mars-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["marsfixed -> StateAxis"],"examples":["# Use marsfixed as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, marsfixed, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: marsfixed - marsfixed: Mars-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  marsfixed -> StateAxis\nExample:\n# Use marsfixed as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, marsfixed, no_correction);\n   print st.position().length();","compact":"Constant: marsfixed - marsfixed: Mars-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:marsfixed marsfixed marsfixed constant marsfixed: Mars-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic marsfixed -> StateAxis"},{"id":"constant:mars_fixed","name":"mars_fixed","path":"mars_fixed","kind":"constant","aliases":[],"description":"marsfixed: Mars-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["mars_fixed -> StateAxis"],"examples":["# Use mars_fixed as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, mars_fixed, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: mars_fixed - marsfixed: Mars-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  mars_fixed -> StateAxis\nExample:\n# Use mars_fixed as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, mars_fixed, no_correction);\n   print st.position().length();","compact":"Constant: mars_fixed - marsfixed: Mars-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:mars_fixed mars_fixed mars_fixed constant marsfixed: Mars-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic mars_fixed -> StateAxis"},{"id":"constant:jupiterfixed","name":"jupiterfixed","path":"jupiterfixed","kind":"constant","aliases":[],"description":"jupiterfixed: Jupiter-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["jupiterfixed -> StateAxis"],"examples":["# Use jupiterfixed as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, jupiterfixed, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: jupiterfixed - jupiterfixed: Jupiter-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  jupiterfixed -> StateAxis\nExample:\n# Use jupiterfixed as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, jupiterfixed, no_correction);\n   print st.position().length();","compact":"Constant: jupiterfixed - jupiterfixed: Jupiter-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:jupiterfixed jupiterfixed jupiterfixed constant jupiterfixed: Jupiter-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic jupiterfixed -> StateAxis"},{"id":"constant:jupiter_fixed","name":"jupiter_fixed","path":"jupiter_fixed","kind":"constant","aliases":[],"description":"jupiterfixed: Jupiter-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["jupiter_fixed -> StateAxis"],"examples":["# Use jupiter_fixed as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, jupiter_fixed, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: jupiter_fixed - jupiterfixed: Jupiter-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  jupiter_fixed -> StateAxis\nExample:\n# Use jupiter_fixed as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, jupiter_fixed, no_correction);\n   print st.position().length();","compact":"Constant: jupiter_fixed - jupiterfixed: Jupiter-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:jupiter_fixed jupiter_fixed jupiter_fixed constant jupiterfixed: Jupiter-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic jupiter_fixed -> StateAxis"},{"id":"constant:saturnfixed","name":"saturnfixed","path":"saturnfixed","kind":"constant","aliases":[],"description":"saturnfixed: Saturn-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["saturnfixed -> StateAxis"],"examples":["# Use saturnfixed as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, saturnfixed, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: saturnfixed - saturnfixed: Saturn-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  saturnfixed -> StateAxis\nExample:\n# Use saturnfixed as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, saturnfixed, no_correction);\n   print st.position().length();","compact":"Constant: saturnfixed - saturnfixed: Saturn-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:saturnfixed saturnfixed saturnfixed constant saturnfixed: Saturn-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic saturnfixed -> StateAxis"},{"id":"constant:saturn_fixed","name":"saturn_fixed","path":"saturn_fixed","kind":"constant","aliases":[],"description":"saturnfixed: Saturn-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["saturn_fixed -> StateAxis"],"examples":["# Use saturn_fixed as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, saturn_fixed, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: saturn_fixed - saturnfixed: Saturn-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  saturn_fixed -> StateAxis\nExample:\n# Use saturn_fixed as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, saturn_fixed, no_correction);\n   print st.position().length();","compact":"Constant: saturn_fixed - saturnfixed: Saturn-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:saturn_fixed saturn_fixed saturn_fixed constant saturnfixed: Saturn-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic saturn_fixed -> StateAxis"},{"id":"constant:uranusfixed","name":"uranusfixed","path":"uranusfixed","kind":"constant","aliases":[],"description":"uranusfixed: Uranus-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["uranusfixed -> StateAxis"],"examples":["# Use uranusfixed as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, uranusfixed, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: uranusfixed - uranusfixed: Uranus-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  uranusfixed -> StateAxis\nExample:\n# Use uranusfixed as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, uranusfixed, no_correction);\n   print st.position().length();","compact":"Constant: uranusfixed - uranusfixed: Uranus-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:uranusfixed uranusfixed uranusfixed constant uranusfixed: Uranus-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic uranusfixed -> StateAxis"},{"id":"constant:uranus_fixed","name":"uranus_fixed","path":"uranus_fixed","kind":"constant","aliases":[],"description":"uranusfixed: Uranus-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["uranus_fixed -> StateAxis"],"examples":["# Use uranus_fixed as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, uranus_fixed, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: uranus_fixed - uranusfixed: Uranus-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  uranus_fixed -> StateAxis\nExample:\n# Use uranus_fixed as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, uranus_fixed, no_correction);\n   print st.position().length();","compact":"Constant: uranus_fixed - uranusfixed: Uranus-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:uranus_fixed uranus_fixed uranus_fixed constant uranusfixed: Uranus-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic uranus_fixed -> StateAxis"},{"id":"constant:neptunefixed","name":"neptunefixed","path":"neptunefixed","kind":"constant","aliases":[],"description":"neptunefixed: Neptune-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["neptunefixed -> StateAxis"],"examples":["# Use neptunefixed as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, neptunefixed, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: neptunefixed - neptunefixed: Neptune-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  neptunefixed -> StateAxis\nExample:\n# Use neptunefixed as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, neptunefixed, no_correction);\n   print st.position().length();","compact":"Constant: neptunefixed - neptunefixed: Neptune-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:neptunefixed neptunefixed neptunefixed constant neptunefixed: Neptune-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic neptunefixed -> StateAxis"},{"id":"constant:neptune_fixed","name":"neptune_fixed","path":"neptune_fixed","kind":"constant","aliases":[],"description":"neptunefixed: Neptune-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["neptune_fixed -> StateAxis"],"examples":["# Use neptune_fixed as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, neptune_fixed, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: neptune_fixed - neptunefixed: Neptune-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  neptune_fixed -> StateAxis\nExample:\n# Use neptune_fixed as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, neptune_fixed, no_correction);\n   print st.position().length();","compact":"Constant: neptune_fixed - neptunefixed: Neptune-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:neptune_fixed neptune_fixed neptune_fixed constant neptunefixed: Neptune-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic neptune_fixed -> StateAxis"},{"id":"constant:plutofixed","name":"plutofixed","path":"plutofixed","kind":"constant","aliases":[],"description":"plutofixed: Pluto-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["plutofixed -> StateAxis"],"examples":["# Use plutofixed as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, plutofixed, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: plutofixed - plutofixed: Pluto-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  plutofixed -> StateAxis\nExample:\n# Use plutofixed as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, plutofixed, no_correction);\n   print st.position().length();","compact":"Constant: plutofixed - plutofixed: Pluto-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:plutofixed plutofixed plutofixed constant plutofixed: Pluto-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic plutofixed -> StateAxis"},{"id":"constant:pluto_fixed","name":"pluto_fixed","path":"pluto_fixed","kind":"constant","aliases":[],"description":"plutofixed: Pluto-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["pluto_fixed -> StateAxis"],"examples":["# Use pluto_fixed as the frame for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, heliocentric, pluto_fixed, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: pluto_fixed - plutofixed: Pluto-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  pluto_fixed -> StateAxis\nExample:\n# Use pluto_fixed as the frame for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, heliocentric, pluto_fixed, no_correction);\n   print st.position().length();","compact":"Constant: pluto_fixed - plutofixed: Pluto-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:pluto_fixed pluto_fixed pluto_fixed constant plutofixed: Pluto-fixed axes using the IAU pole and prime meridian\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic pluto_fixed -> StateAxis"},{"id":"constant:topographic","name":"topographic","path":"topographic","kind":"constant","aliases":[],"description":"topographic: local observer horizon axes; requires location\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["topographic -> StateAxis"],"examples":["# Use topographic as the frame for a local state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet loc = location(latitude: 60.0, longitude: 10.0);\nlet st = state(mars, t, loc, topocentric, topographic, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: topographic - topographic: local observer horizon axes; requires location\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  topographic -> StateAxis\nExample:\n# Use topographic as the frame for a local state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let loc = location(latitude: 60.0, longitude: 10.0);\n   let st = state(mars, t, loc, topocentric, topographic, no_correction);\n   print st.position().length();","compact":"Constant: topographic - topographic: local observer horizon axes; requires location\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:topographic topographic topographic constant topographic: local observer horizon axes; requires location\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic topographic -> StateAxis"},{"id":"constant:horizon","name":"horizon","path":"horizon","kind":"constant","aliases":[],"description":"topographic: local observer horizon axes; requires location\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","syntax":["horizon -> StateAxis"],"examples":["# Use horizon as the frame for a local state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet loc = location(latitude: 60.0, longitude: 10.0);\nlet st = state(mars, t, loc, topocentric, horizon, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: horizon - topographic: local observer horizon axes; requires location\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic\nSyntax:\n  horizon -> StateAxis\nExample:\n# Use horizon as the frame for a local state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let loc = location(latitude: 60.0, longitude: 10.0);\n   let st = state(mars, t, loc, topocentric, horizon, no_correction);\n   print st.position().length();","compact":"Constant: horizon - topographic: local observer horizon axes; requires location\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic","search_text":"constant:horizon horizon horizon constant topographic: local observer horizon axes; requires location\nalternatives: icrf, tod, ecliptic, ef, sunfixed, mercuryfixed, venusfixed, moonfixed, marsfixed, jupiterfixed, saturnfixed, uranusfixed, neptunefixed, plutofixed, topographic horizon -> StateAxis"},{"id":"constant:no_correction","name":"no_correction","path":"no_correction","kind":"constant","aliases":[],"description":"no_correction: geometric position at the requested time\nalternatives: no_correction, light_time, apparent, all_corrections","syntax":["no_correction -> StateCorrection"],"examples":["# Use no_correction as the correction model for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, geocentric, icrf, no_correction);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: no_correction - no_correction: geometric position at the requested time\nalternatives: no_correction, light_time, apparent, all_corrections\nSyntax:\n  no_correction -> StateCorrection\nExample:\n# Use no_correction as the correction model for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, geocentric, icrf, no_correction);\n   print st.position().length();","compact":"Constant: no_correction - no_correction: geometric position at the requested time\nalternatives: no_correction, light_time, apparent, all_corrections","search_text":"constant:no_correction no_correction no_correction constant no_correction: geometric position at the requested time\nalternatives: no_correction, light_time, apparent, all_corrections no_correction -> StateCorrection"},{"id":"constant:light_time","name":"light_time","path":"light_time","kind":"constant","aliases":[],"description":"light_time: uses the body's retarded position from iterative light travel time\nalternatives: no_correction, light_time, apparent, all_corrections","syntax":["light_time -> StateCorrection"],"examples":["# Use light_time as the correction model for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, geocentric, icrf, light_time);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: light_time - light_time: uses the body's retarded position from iterative light travel time\nalternatives: no_correction, light_time, apparent, all_corrections\nSyntax:\n  light_time -> StateCorrection\nExample:\n# Use light_time as the correction model for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, geocentric, icrf, light_time);\n   print st.position().length();","compact":"Constant: light_time - light_time: uses the body's retarded position from iterative light travel time\nalternatives: no_correction, light_time, apparent, all_corrections","search_text":"constant:light_time light_time light_time constant light_time: uses the body's retarded position from iterative light travel time\nalternatives: no_correction, light_time, apparent, all_corrections light_time -> StateCorrection"},{"id":"constant:apparent","name":"apparent","path":"apparent","kind":"constant","aliases":[],"description":"apparent: applies stellar aberration from observer barycentric velocity\nalternatives: no_correction, light_time, apparent, all_corrections","syntax":["apparent -> StateCorrection"],"examples":["# Use apparent as the correction model for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, geocentric, icrf, apparent);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: apparent - apparent: applies stellar aberration from observer barycentric velocity\nalternatives: no_correction, light_time, apparent, all_corrections\nSyntax:\n  apparent -> StateCorrection\nExample:\n# Use apparent as the correction model for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, geocentric, icrf, apparent);\n   print st.position().length();","compact":"Constant: apparent - apparent: applies stellar aberration from observer barycentric velocity\nalternatives: no_correction, light_time, apparent, all_corrections","search_text":"constant:apparent apparent apparent constant apparent: applies stellar aberration from observer barycentric velocity\nalternatives: no_correction, light_time, apparent, all_corrections apparent -> StateCorrection"},{"id":"constant:all_corrections","name":"all_corrections","path":"all_corrections","kind":"constant","aliases":[],"description":"all_corrections: applies light-time and stellar aberration; this is the state default\nalternatives: no_correction, light_time, apparent, all_corrections","syntax":["all_corrections -> StateCorrection"],"examples":["# Use all_corrections as the correction model for a state-vector query\nlet t = time(2026,1,1,0,0,0);\nlet st = state(mars, t, geocentric, icrf, all_corrections);\nprint st.position().length();"],"arguments":[],"children":[],"resources":[],"doc":"Constant: all_corrections - all_corrections: applies light-time and stellar aberration; this is the state default\nalternatives: no_correction, light_time, apparent, all_corrections\nSyntax:\n  all_corrections -> StateCorrection\nExample:\n# Use all_corrections as the correction model for a state-vector query\n   let t = time(2026,1,1,0,0,0);\n   let st = state(mars, t, geocentric, icrf, all_corrections);\n   print st.position().length();","compact":"Constant: all_corrections - all_corrections: applies light-time and stellar aberration; this is the state default\nalternatives: no_correction, light_time, apparent, all_corrections","search_text":"constant:all_corrections all_corrections all_corrections constant all_corrections: applies light-time and stellar aberration; this is the state default\nalternatives: no_correction, light_time, apparent, all_corrections all_corrections -> StateCorrection"},{"id":"value:List","name":"List","path":"List","kind":"value","aliases":[],"description":"ordered array value","syntax":["[a, b, c]"],"examples":["# Project a field from every row in an array of objects\nlet rows = [{x: 1, name: \"sun\"}, {x: 3, name: \"moon\"}];\nprint rows.x, rows.name;"],"arguments":[],"children":["value_member:List.length","value_member:List.first","value_member:List.last","value_member:List.index","value_member:List.push","value_member:List.slice","value_member:List.flatten","value_member:List.help","value_member:List.available"],"resources":[],"doc":"Value: List - ordered array value\nSyntax:\n  [a, b, c]\nChildren: length(), first(), last(), index(), push(), slice(), flatten(), help(), available()\nExample:\n# Project a field from every row in an array of objects\n   let rows = [{x: 1, name: \"sun\"}, {x: 3, name: \"moon\"}];\n   print rows.x, rows.name;","compact":"Value: List - ordered array value","search_text":"value:List List List value ordered array value [a, b, c]"},{"id":"value_member:List.length","name":"length","path":"List.length","kind":"method","aliases":[],"description":"returns the number of array elements","syntax":["<List>.length() -> Number","<List>.len() -> Number"],"examples":["# Inspect List.length on a List value\nlet value = [1, 2, 3];\nprint value.length();"],"arguments":[],"children":[],"resources":[],"doc":"Method: List.length - returns the number of array elements\nSyntax:\n  <List>.length() -> Number\n  <List>.len() -> Number\nExample:\n# Inspect List.length on a List value\n   let value = [1, 2, 3];\n   print value.length();","compact":"Method: List.length - returns the number of array elements","search_text":"value_member:List.length length List.length method returns the number of array elements <List>.length() -> Number <List>.len() -> Number"},{"id":"value_member:List.first","name":"first","path":"List.first","kind":"method","aliases":[],"description":"returns the first element or first count elements","syntax":["<List>.first() -> Any","<List>.first(count: Integer) -> List"],"examples":["# Inspect List.first on a List value\nlet value = [1, 2, 3];\nprint value.first();"],"arguments":[],"children":[],"resources":[],"doc":"Method: List.first - returns the first element or first count elements\nSyntax:\n  <List>.first() -> Any\n  <List>.first(count: Integer) -> List\nExample:\n# Inspect List.first on a List value\n   let value = [1, 2, 3];\n   print value.first();","compact":"Method: List.first - returns the first element or first count elements","search_text":"value_member:List.first first List.first method returns the first element or first count elements <List>.first() -> Any <List>.first(count: Integer) -> List"},{"id":"value_member:List.last","name":"last","path":"List.last","kind":"method","aliases":[],"description":"returns the last element or last count elements","syntax":["<List>.last() -> Any","<List>.last(count: Integer) -> List"],"examples":["# Inspect List.last on a List value\nlet value = [1, 2, 3];\nprint value.last();"],"arguments":[],"children":[],"resources":[],"doc":"Method: List.last - returns the last element or last count elements\nSyntax:\n  <List>.last() -> Any\n  <List>.last(count: Integer) -> List\nExample:\n# Inspect List.last on a List value\n   let value = [1, 2, 3];\n   print value.last();","compact":"Method: List.last - returns the last element or last count elements","search_text":"value_member:List.last last List.last method returns the last element or last count elements <List>.last() -> Any <List>.last(count: Integer) -> List"},{"id":"value_member:List.index","name":"index","path":"List.index","kind":"method","aliases":[],"description":"returns one or more indexed elements","syntax":["<List>.index(index: Integer) -> Any","<List>.index(indexes: List) -> List"],"examples":["# Read an item from a list by index\nlet value = [1, 2, 3];\nprint value.index(1);"],"arguments":[],"children":[],"resources":[],"doc":"Method: List.index - returns one or more indexed elements\nSyntax:\n  <List>.index(index: Integer) -> Any\n  <List>.index(indexes: List) -> List\nExample:\n# Read an item from a list by index\n   let value = [1, 2, 3];\n   print value.index(1);","compact":"Method: List.index - returns one or more indexed elements","search_text":"value_member:List.index index List.index method returns one or more indexed elements <List>.index(index: Integer) -> Any <List>.index(indexes: List) -> List"},{"id":"value_member:List.push","name":"push","path":"List.push","kind":"method","aliases":[],"description":"returns a new array with one value appended","syntax":["<List>.push(value: Any) -> List"],"examples":["# Inspect List.push on a List value\nlet value = [1, 2, 3];\nprint value.push(42.0);"],"arguments":[],"children":[],"resources":[],"doc":"Method: List.push - returns a new array with one value appended\nSyntax:\n  <List>.push(value: Any) -> List\nExample:\n# Inspect List.push on a List value\n   let value = [1, 2, 3];\n   print value.push(42.0);","compact":"Method: List.push - returns a new array with one value appended","search_text":"value_member:List.push push List.push method returns a new array with one value appended <List>.push(value: Any) -> List"},{"id":"value_member:List.slice","name":"slice","path":"List.slice","kind":"method","aliases":[],"description":"returns a sub-array","syntax":["<List>.slice(start: Integer) -> List","<List>.slice(start: Integer, stop: Integer) -> List"],"examples":["# Read a slice from a list\nlet value = [1, 2, 3];\nprint value.slice(1);"],"arguments":[],"children":[],"resources":[],"doc":"Method: List.slice - returns a sub-array\nSyntax:\n  <List>.slice(start: Integer) -> List\n  <List>.slice(start: Integer, stop: Integer) -> List\nExample:\n# Read a slice from a list\n   let value = [1, 2, 3];\n   print value.slice(1);","compact":"Method: List.slice - returns a sub-array","search_text":"value_member:List.slice slice List.slice method returns a sub-array <List>.slice(start: Integer) -> List <List>.slice(start: Integer, stop: Integer) -> List"},{"id":"value_member:List.flatten","name":"flatten","path":"List.flatten","kind":"method","aliases":[],"description":"returns a recursively flattened array","syntax":["<List>.flatten() -> List"],"examples":["# Inspect List.flatten on a List value\nlet value = [1, 2, 3];\nprint value.flatten();"],"arguments":[],"children":[],"resources":[],"doc":"Method: List.flatten - returns a recursively flattened array\nSyntax:\n  <List>.flatten() -> List\nExample:\n# Inspect List.flatten on a List value\n   let value = [1, 2, 3];\n   print value.flatten();","compact":"Method: List.flatten - returns a recursively flattened array","search_text":"value_member:List.flatten flatten List.flatten method returns a recursively flattened array <List>.flatten() -> List"},{"id":"value_member:List.help","name":"help","path":"List.help","kind":"method","aliases":[],"description":"returns contextual documentation for this array","syntax":["<List>.help() -> Help","<List>.help(name: Text) -> Help|HelpResult|Nil"],"examples":["# Inspect List.help on a List value\nlet value = [1, 2, 3];\nprint value.help();"],"arguments":[],"children":[],"resources":[],"doc":"Method: List.help - returns contextual documentation for this array\nSyntax:\n  <List>.help() -> Help\n  <List>.help(name: Text) -> Help|HelpResult|Nil\nExample:\n# Inspect List.help on a List value\n   let value = [1, 2, 3];\n   print value.help();","compact":"Method: List.help - returns contextual documentation for this array","search_text":"value_member:List.help help List.help method returns contextual documentation for this array <List>.help() -> Help <List>.help(name: Text) -> Help|HelpResult|Nil"},{"id":"value_member:List.available","name":"available","path":"List.available","kind":"method","aliases":[],"description":"reports whether this array is available","syntax":["<List>.available() -> Bool"],"examples":["# Inspect List.available on a List value\nlet value = [1, 2, 3];\nprint value.available();"],"arguments":[],"children":[],"resources":[],"doc":"Method: List.available - reports whether this array is available\nSyntax:\n  <List>.available() -> Bool\nExample:\n# Inspect List.available on a List value\n   let value = [1, 2, 3];\n   print value.available();","compact":"Method: List.available - reports whether this array is available","search_text":"value_member:List.available available List.available method reports whether this array is available <List>.available() -> Bool"},{"id":"value:Object","name":"Object","path":"Object","kind":"value","aliases":[],"description":"ordered mutable field collection","syntax":["{name: value, other: 2}"],"examples":["# Store a small observation row and read its fields\nlet row = {body: sun.name, time: time(2026,1,1,0,0,0), altitude: 12.5};\nprint row.body, row.time.utc(), row.altitude;"],"arguments":[],"children":["value_member:Object.help","value_member:Object.available"],"resources":[],"doc":"Value: Object - ordered mutable field collection\nSyntax:\n  {name: value, other: 2}\nChildren: help(), available()\nExample:\n# Store a small observation row and read its fields\n   let row = {body: sun.name, time: time(2026,1,1,0,0,0), altitude: 12.5};\n   print row.body, row.time.utc(), row.altitude;","compact":"Value: Object - ordered mutable field collection","search_text":"value:Object Object Object value ordered mutable field collection {name: value, other: 2}"},{"id":"value_member:Object.help","name":"help","path":"Object.help","kind":"method","aliases":[],"description":"returns contextual documentation for this value","syntax":["<Object>.help() -> Help","<Object>.help(name: Text) -> Help|HelpResult|Nil"],"examples":["# Inspect Object.help on a Object value\nlet value = {name: \"value\", count: 2};\nprint value.help();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Object.help - returns contextual documentation for this value\nSyntax:\n  <Object>.help() -> Help\n  <Object>.help(name: Text) -> Help|HelpResult|Nil\nExample:\n# Inspect Object.help on a Object value\n   let value = {name: \"value\", count: 2};\n   print value.help();","compact":"Method: Object.help - returns contextual documentation for this value","search_text":"value_member:Object.help help Object.help method returns contextual documentation for this value <Object>.help() -> Help <Object>.help(name: Text) -> Help|HelpResult|Nil"},{"id":"value_member:Object.available","name":"available","path":"Object.available","kind":"method","aliases":[],"description":"reports whether this value is available","syntax":["<Object>.available() -> Bool"],"examples":["# Inspect Object.available on a Object value\nlet value = {name: \"value\", count: 2};\nprint value.available();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Object.available - reports whether this value is available\nSyntax:\n  <Object>.available() -> Bool\nExample:\n# Inspect Object.available on a Object value\n   let value = {name: \"value\", count: 2};\n   print value.available();","compact":"Method: Object.available - reports whether this value is available","search_text":"value_member:Object.available available Object.available method reports whether this value is available <Object>.available() -> Bool"},{"id":"value:Arguments","name":"Arguments","path":"Arguments","kind":"value","aliases":[],"description":"captured call argument list","syntax":["args(...)"],"examples":["# Reuse and extend named arguments before constructing a location\nlet base = args(latitude: 60.0);\nlet full = base.with(longitude: 10.0);\nprint location(**full);"],"arguments":[],"children":["value_member:Arguments.help","value_member:Arguments.available"],"resources":[],"doc":"Value: Arguments - captured call argument list\nSyntax:\n  args(...)\nChildren: help(), available()\nExample:\n# Reuse and extend named arguments before constructing a location\n   let base = args(latitude: 60.0);\n   let full = base.with(longitude: 10.0);\n   print location(**full);","compact":"Value: Arguments - captured call argument list","search_text":"value:Arguments Arguments Arguments value captured call argument list args(...)"},{"id":"value_member:Arguments.help","name":"help","path":"Arguments.help","kind":"method","aliases":[],"description":"returns contextual documentation for this value","syntax":["<Arguments>.help() -> Help","<Arguments>.help(name: Text) -> Help|HelpResult|Nil"],"examples":["# Inspect Arguments.help on a Arguments value\nlet value = args(1, 2);\nprint value.help();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Arguments.help - returns contextual documentation for this value\nSyntax:\n  <Arguments>.help() -> Help\n  <Arguments>.help(name: Text) -> Help|HelpResult|Nil\nExample:\n# Inspect Arguments.help on a Arguments value\n   let value = args(1, 2);\n   print value.help();","compact":"Method: Arguments.help - returns contextual documentation for this value","search_text":"value_member:Arguments.help help Arguments.help method returns contextual documentation for this value <Arguments>.help() -> Help <Arguments>.help(name: Text) -> Help|HelpResult|Nil"},{"id":"value_member:Arguments.available","name":"available","path":"Arguments.available","kind":"method","aliases":[],"description":"reports whether this value is available","syntax":["<Arguments>.available() -> Bool"],"examples":["# Inspect Arguments.available on a Arguments value\nlet value = args(1, 2);\nprint value.available();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Arguments.available - reports whether this value is available\nSyntax:\n  <Arguments>.available() -> Bool\nExample:\n# Inspect Arguments.available on a Arguments value\n   let value = args(1, 2);\n   print value.available();","compact":"Method: Arguments.available - reports whether this value is available","search_text":"value_member:Arguments.available available Arguments.available method reports whether this value is available <Arguments>.available() -> Bool"},{"id":"value:Callable","name":"Callable","path":"Callable","kind":"value","aliases":[],"description":"callable function, method, closure, or definition","syntax":["function(...)"],"examples":["# Store callable formulas in a namespace and choose one\nlet formulas = {square: (x): x * x, cube: (x): x * x * x};\nlet chosen = \"cube\";\nprint formulas[chosen](4);"],"arguments":[],"children":["value_member:Callable.help","value_member:Callable.available"],"resources":[],"doc":"Value: Callable - callable function, method, closure, or definition\nSyntax:\n  function(...)\nChildren: help(), available()\nExample:\n# Store callable formulas in a namespace and choose one\n   let formulas = {square: (x): x * x, cube: (x): x * x * x};\n   let chosen = \"cube\";\n   print formulas[chosen](4);","compact":"Value: Callable - callable function, method, closure, or definition","search_text":"value:Callable Callable Callable value callable function, method, closure, or definition function(...)"},{"id":"value_member:Callable.help","name":"help","path":"Callable.help","kind":"method","aliases":[],"description":"returns contextual documentation for this value","syntax":["<Callable>.help() -> Help","<Callable>.help(name: Text) -> Help|HelpResult|Nil"],"examples":["# Inspect Callable.help on a Callable value\nlet value = ((x): x);\nprint value.help();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Callable.help - returns contextual documentation for this value\nSyntax:\n  <Callable>.help() -> Help\n  <Callable>.help(name: Text) -> Help|HelpResult|Nil\nExample:\n# Inspect Callable.help on a Callable value\n   let value = ((x): x);\n   print value.help();","compact":"Method: Callable.help - returns contextual documentation for this value","search_text":"value_member:Callable.help help Callable.help method returns contextual documentation for this value <Callable>.help() -> Help <Callable>.help(name: Text) -> Help|HelpResult|Nil"},{"id":"value_member:Callable.available","name":"available","path":"Callable.available","kind":"method","aliases":[],"description":"reports whether this value is available","syntax":["<Callable>.available() -> Bool"],"examples":["# Inspect Callable.available on a Callable value\nlet value = ((x): x);\nprint value.available();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Callable.available - reports whether this value is available\nSyntax:\n  <Callable>.available() -> Bool\nExample:\n# Inspect Callable.available on a Callable value\n   let value = ((x): x);\n   print value.available();","compact":"Method: Callable.available - reports whether this value is available","search_text":"value_member:Callable.available available Callable.available method reports whether this value is available <Callable>.available() -> Bool"},{"id":"value:Help","name":"Help","path":"Help","kind":"value","aliases":[],"description":"structured documentation value","syntax":["help()","value.help()"],"examples":["# Show a compact help summary inside a script\nprint help().compact();"],"arguments":[],"children":["value_member:Help.doc","value_member:Help.compact","value_member:Help.search","value_member:Help.help","value_member:Help.examples"],"resources":[],"doc":"Value: Help - structured documentation value\nSyntax:\n  help()\n  value.help()\nChildren: doc(), compact(), search(), help(), examples()\nExample:\n# Show a compact help summary inside a script\n   print help().compact();","compact":"Value: Help - structured documentation value","search_text":"value:Help Help Help value structured documentation value help() value.help()"},{"id":"value_member:Help.doc","name":"doc","path":"Help.doc","kind":"method","aliases":[],"description":"renders the full documentation page","syntax":["<Help>.doc() -> Text"],"examples":["# Inspect Help.doc on a Help value\nlet value = help();\nprint value.doc();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Help.doc - renders the full documentation page\nSyntax:\n  <Help>.doc() -> Text\nExample:\n# Inspect Help.doc on a Help value\n   let value = help();\n   print value.doc();","compact":"Method: Help.doc - renders the full documentation page","search_text":"value_member:Help.doc doc Help.doc method renders the full documentation page <Help>.doc() -> Text"},{"id":"value_member:Help.compact","name":"compact","path":"Help.compact","kind":"method","aliases":[],"description":"renders a compact one-line summary","syntax":["<Help>.compact() -> Text"],"examples":["# Inspect Help.compact on a Help value\nlet value = help();\nprint value.compact();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Help.compact - renders a compact one-line summary\nSyntax:\n  <Help>.compact() -> Text\nExample:\n# Inspect Help.compact on a Help value\n   let value = help();\n   print value.compact();","compact":"Method: Help.compact - renders a compact one-line summary","search_text":"value_member:Help.compact compact Help.compact method renders a compact one-line summary <Help>.compact() -> Text"},{"id":"value_member:Help.search","name":"search","path":"Help.search","kind":"method","aliases":[],"description":"searches recursively under this help value","syntax":["<Help>.search(text: Text) -> HelpResult"],"examples":["# Search help and print compact match metadata\nlet hits = help.search(\"moon_phase\");\nprint hits.length, hits[0].path;"],"arguments":[],"children":[],"resources":[],"doc":"Method: Help.search - searches recursively under this help value\nSyntax:\n  <Help>.search(text: Text) -> HelpResult\nExample:\n# Search help and print compact match metadata\n   let hits = help.search(\"moon_phase\");\n   print hits.length, hits[0].path;","compact":"Method: Help.search - searches recursively under this help value","search_text":"value_member:Help.search search Help.search method searches recursively under this help value <Help>.search(text: Text) -> HelpResult"},{"id":"value_member:Help.help","name":"help","path":"Help.help","kind":"method","aliases":[],"description":"looks up a named child or related help value","syntax":["<Help>.help(name: Text) -> Help|HelpResult|Nil"],"examples":["# Inspect Help.help on a Help value\nlet value = help();\nprint value.help(\"value\");"],"arguments":[],"children":[],"resources":[],"doc":"Method: Help.help - looks up a named child or related help value\nSyntax:\n  <Help>.help(name: Text) -> Help|HelpResult|Nil\nExample:\n# Inspect Help.help on a Help value\n   let value = help();\n   print value.help(\"value\");","compact":"Method: Help.help - looks up a named child or related help value","search_text":"value_member:Help.help help Help.help method looks up a named child or related help value <Help>.help(name: Text) -> Help|HelpResult|Nil"},{"id":"value_member:Help.examples","name":"examples","path":"Help.examples","kind":"method","aliases":[],"description":"returns common astronomy examples from the root help value","syntax":["<Help>.examples() -> Help"],"examples":["# Inspect Help.examples on a Help value\nlet value = help();\nprint value.examples();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Help.examples - returns common astronomy examples from the root help value\nSyntax:\n  <Help>.examples() -> Help\nExample:\n# Inspect Help.examples on a Help value\n   let value = help();\n   print value.examples();","compact":"Method: Help.examples - returns common astronomy examples from the root help value","search_text":"value_member:Help.examples examples Help.examples method returns common astronomy examples from the root help value <Help>.examples() -> Help"},{"id":"value:HelpResult","name":"HelpResult","path":"HelpResult","kind":"value","aliases":[],"description":"list-like collection of help search or lookup results","syntax":["help().search(\"text\")","result[0] -> Help","result.name -> List"],"examples":["# Search help and print matching documentation paths\nlet hits = help.search(\"time\");\nprint hits.path;"],"arguments":[],"children":["value_member:HelpResult.first","value_member:HelpResult.count","value_member:HelpResult.doc","value_member:HelpResult.compact","value_member:HelpResult.search","value_member:HelpResult.help","value_member:HelpResult.name","value_member:HelpResult.path"],"resources":[],"doc":"Value: HelpResult - list-like collection of help search or lookup results\nSyntax:\n  help().search(\"text\")\n  result[0] -> Help\n  result.name -> List\nChildren: first(), count, doc(), compact(), search(), help(), name, path\nExample:\n# Search help and print matching documentation paths\n   let hits = help.search(\"time\");\n   print hits.path;","compact":"Value: HelpResult - list-like collection of help search or lookup results","search_text":"value:HelpResult HelpResult HelpResult value list-like collection of help search or lookup results help().search(\"text\") result[0] -> Help result.name -> List"},{"id":"value_member:HelpResult.first","name":"first","path":"HelpResult.first","kind":"method","aliases":[],"description":"returns the first help result or Nil","syntax":["<HelpResult>.first() -> Help|Nil"],"examples":["# Inspect HelpResult.first on a HelpResult value\nlet value = help.search(\"time\");\nprint value.first();"],"arguments":[],"children":[],"resources":[],"doc":"Method: HelpResult.first - returns the first help result or Nil\nSyntax:\n  <HelpResult>.first() -> Help|Nil\nExample:\n# Inspect HelpResult.first on a HelpResult value\n   let value = help.search(\"time\");\n   print value.first();","compact":"Method: HelpResult.first - returns the first help result or Nil","search_text":"value_member:HelpResult.first first HelpResult.first method returns the first help result or Nil <HelpResult>.first() -> Help|Nil"},{"id":"value_member:HelpResult.count","name":"count","path":"HelpResult.count","kind":"method","aliases":[],"description":"returns the number of help results","syntax":["<HelpResult>.count -> Number","<HelpResult>.length -> Number","<HelpResult>.len -> Number"],"examples":["# Inspect HelpResult.count on a HelpResult value\nlet value = help.search(\"time\");\nprint value.count;"],"arguments":[],"children":[],"resources":[],"doc":"Method: HelpResult.count - returns the number of help results\nSyntax:\n  <HelpResult>.count -> Number\n  <HelpResult>.length -> Number\n  <HelpResult>.len -> Number\nExample:\n# Inspect HelpResult.count on a HelpResult value\n   let value = help.search(\"time\");\n   print value.count;","compact":"Method: HelpResult.count - returns the number of help results","search_text":"value_member:HelpResult.count count HelpResult.count method returns the number of help results <HelpResult>.count -> Number <HelpResult>.length -> Number <HelpResult>.len -> Number"},{"id":"value_member:HelpResult.doc","name":"doc","path":"HelpResult.doc","kind":"method","aliases":[],"description":"renders all result documentation pages","syntax":["<HelpResult>.doc() -> Text"],"examples":["# Render one compact help document from a search result\nlet hits = help.search(\"moon_phase\");\nprint hits[0].doc();"],"arguments":[],"children":[],"resources":[],"doc":"Method: HelpResult.doc - renders all result documentation pages\nSyntax:\n  <HelpResult>.doc() -> Text\nExample:\n# Render one compact help document from a search result\n   let hits = help.search(\"moon_phase\");\n   print hits[0].doc();","compact":"Method: HelpResult.doc - renders all result documentation pages","search_text":"value_member:HelpResult.doc doc HelpResult.doc method renders all result documentation pages <HelpResult>.doc() -> Text"},{"id":"value_member:HelpResult.compact","name":"compact","path":"HelpResult.compact","kind":"method","aliases":[],"description":"renders a compact result list","syntax":["<HelpResult>.compact() -> Text"],"examples":["# Inspect HelpResult.compact on a HelpResult value\nlet value = help.search(\"time\");\nprint value.compact();"],"arguments":[],"children":[],"resources":[],"doc":"Method: HelpResult.compact - renders a compact result list\nSyntax:\n  <HelpResult>.compact() -> Text\nExample:\n# Inspect HelpResult.compact on a HelpResult value\n   let value = help.search(\"time\");\n   print value.compact();","compact":"Method: HelpResult.compact - renders a compact result list","search_text":"value_member:HelpResult.compact compact HelpResult.compact method renders a compact result list <HelpResult>.compact() -> Text"},{"id":"value_member:HelpResult.search","name":"search","path":"HelpResult.search","kind":"method","aliases":[],"description":"searches recursively inside each result","syntax":["<HelpResult>.search(text: Text) -> HelpResult"],"examples":["# Inspect HelpResult.search on a HelpResult value\nlet value = help.search(\"time\");\nprint value.search(\"value\");"],"arguments":[],"children":[],"resources":[],"doc":"Method: HelpResult.search - searches recursively inside each result\nSyntax:\n  <HelpResult>.search(text: Text) -> HelpResult\nExample:\n# Inspect HelpResult.search on a HelpResult value\n   let value = help.search(\"time\");\n   print value.search(\"value\");","compact":"Method: HelpResult.search - searches recursively inside each result","search_text":"value_member:HelpResult.search search HelpResult.search method searches recursively inside each result <HelpResult>.search(text: Text) -> HelpResult"},{"id":"value_member:HelpResult.help","name":"help","path":"HelpResult.help","kind":"method","aliases":[],"description":"looks up a named child inside each result","syntax":["<HelpResult>.help(name: Text) -> Help|HelpResult|Nil"],"examples":["# Inspect HelpResult.help on a HelpResult value\nlet value = help.search(\"time\");\nprint value.help(\"value\");"],"arguments":[],"children":[],"resources":[],"doc":"Method: HelpResult.help - looks up a named child inside each result\nSyntax:\n  <HelpResult>.help(name: Text) -> Help|HelpResult|Nil\nExample:\n# Inspect HelpResult.help on a HelpResult value\n   let value = help.search(\"time\");\n   print value.help(\"value\");","compact":"Method: HelpResult.help - looks up a named child inside each result","search_text":"value_member:HelpResult.help help HelpResult.help method looks up a named child inside each result <HelpResult>.help(name: Text) -> Help|HelpResult|Nil"},{"id":"value_member:HelpResult.name","name":"name","path":"HelpResult.name","kind":"method","aliases":[],"description":"projects result names as an array","syntax":["<HelpResult>.name -> List"],"examples":["# Inspect HelpResult.name on a HelpResult value\nlet value = help.search(\"time\");\nprint value.name;"],"arguments":[],"children":[],"resources":[],"doc":"Method: HelpResult.name - projects result names as an array\nSyntax:\n  <HelpResult>.name -> List\nExample:\n# Inspect HelpResult.name on a HelpResult value\n   let value = help.search(\"time\");\n   print value.name;","compact":"Method: HelpResult.name - projects result names as an array","search_text":"value_member:HelpResult.name name HelpResult.name method projects result names as an array <HelpResult>.name -> List"},{"id":"value_member:HelpResult.path","name":"path","path":"HelpResult.path","kind":"method","aliases":[],"description":"projects result paths as an array","syntax":["<HelpResult>.path -> List"],"examples":["# Inspect HelpResult.path on a HelpResult value\nlet value = help.search(\"time\");\nprint value.path;"],"arguments":[],"children":[],"resources":[],"doc":"Method: HelpResult.path - projects result paths as an array\nSyntax:\n  <HelpResult>.path -> List\nExample:\n# Inspect HelpResult.path on a HelpResult value\n   let value = help.search(\"time\");\n   print value.path;","compact":"Method: HelpResult.path - projects result paths as an array","search_text":"value_member:HelpResult.path path HelpResult.path method projects result paths as an array <HelpResult>.path -> List"},{"id":"value:Nil","name":"Nil","path":"Nil","kind":"value","aliases":[],"description":"absence of a value","syntax":["Nil"],"examples":["# Inspect the result of a missing help lookup\nlet value = help(\"missing\");\nprint value;"],"arguments":[],"children":["value_member:Nil.help","value_member:Nil.available"],"resources":[],"doc":"Value: Nil - absence of a value\nSyntax:\n  Nil\nChildren: help(), available()\nExample:\n# Inspect the result of a missing help lookup\n   let value = help(\"missing\");\n   print value;","compact":"Value: Nil - absence of a value","search_text":"value:Nil Nil Nil value absence of a value Nil"},{"id":"value_member:Nil.help","name":"help","path":"Nil.help","kind":"method","aliases":[],"description":"returns contextual documentation for this value","syntax":["<Nil>.help() -> Help","<Nil>.help(name: Text) -> Help|HelpResult|Nil"],"examples":["# Inspect Nil.help on a Nil value\nlet value = help(\"missing\");\nprint value.help();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Nil.help - returns contextual documentation for this value\nSyntax:\n  <Nil>.help() -> Help\n  <Nil>.help(name: Text) -> Help|HelpResult|Nil\nExample:\n# Inspect Nil.help on a Nil value\n   let value = help(\"missing\");\n   print value.help();","compact":"Method: Nil.help - returns contextual documentation for this value","search_text":"value_member:Nil.help help Nil.help method returns contextual documentation for this value <Nil>.help() -> Help <Nil>.help(name: Text) -> Help|HelpResult|Nil"},{"id":"value_member:Nil.available","name":"available","path":"Nil.available","kind":"method","aliases":[],"description":"reports whether this value is available","syntax":["<Nil>.available() -> Bool"],"examples":["# Check availability on Nil\nlet value = nil;\nprint value.available();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Nil.available - reports whether this value is available\nSyntax:\n  <Nil>.available() -> Bool\nExample:\n# Check availability on Nil\n   let value = nil;\n   print value.available();","compact":"Method: Nil.available - reports whether this value is available","search_text":"value_member:Nil.available available Nil.available method reports whether this value is available <Nil>.available() -> Bool"},{"id":"value:Unavailable","name":"Unavailable","path":"Unavailable","kind":"value","aliases":[],"description":"value that could not be computed but may be carried","syntax":["not available"],"examples":["# Show how unavailable values propagate through output\nlet value = 1 / undefined;\nprint value;"],"arguments":[],"children":["value_member:Unavailable.help","value_member:Unavailable.available"],"resources":[],"doc":"Value: Unavailable - value that could not be computed but may be carried\nSyntax:\n  not available\nChildren: help(), available()\nExample:\n# Show how unavailable values propagate through output\n   let value = 1 / undefined;\n   print value;","compact":"Value: Unavailable - value that could not be computed but may be carried","search_text":"value:Unavailable Unavailable Unavailable value value that could not be computed but may be carried not available"},{"id":"value_member:Unavailable.help","name":"help","path":"Unavailable.help","kind":"method","aliases":[],"description":"returns contextual documentation for this value","syntax":["<Unavailable>.help() -> Help","<Unavailable>.help(name: Text) -> Help|HelpResult|Nil"],"examples":["# Inspect Unavailable.help on a Unavailable value\nlet value = 1 / undefined;\nprint value.help();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Unavailable.help - returns contextual documentation for this value\nSyntax:\n  <Unavailable>.help() -> Help\n  <Unavailable>.help(name: Text) -> Help|HelpResult|Nil\nExample:\n# Inspect Unavailable.help on a Unavailable value\n   let value = 1 / undefined;\n   print value.help();","compact":"Method: Unavailable.help - returns contextual documentation for this value","search_text":"value_member:Unavailable.help help Unavailable.help method returns contextual documentation for this value <Unavailable>.help() -> Help <Unavailable>.help(name: Text) -> Help|HelpResult|Nil"},{"id":"value_member:Unavailable.available","name":"available","path":"Unavailable.available","kind":"method","aliases":[],"description":"reports whether this value is available","syntax":["<Unavailable>.available() -> Bool"],"examples":["# Inspect Unavailable.available on a Unavailable value\nlet value = 1 / undefined;\nprint value.available();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Unavailable.available - reports whether this value is available\nSyntax:\n  <Unavailable>.available() -> Bool\nExample:\n# Inspect Unavailable.available on a Unavailable value\n   let value = 1 / undefined;\n   print value.available();","compact":"Method: Unavailable.available - reports whether this value is available","search_text":"value_member:Unavailable.available available Unavailable.available method reports whether this value is available <Unavailable>.available() -> Bool"},{"id":"value:Bool","name":"Bool","path":"Bool","kind":"value","aliases":[],"description":"boolean true or false value","syntax":["true","false"],"examples":["# Check whether the Sun is above the horizon at a site\nlet loc = location(58.9666667, 5.7333333);\nlet t = time(2026,6,21,12,0,0);\nlet above_horizon = altitude(sun, t, loc) > 0;\nprint above_horizon;"],"arguments":[],"children":["value_member:Bool.help","value_member:Bool.available"],"resources":[],"doc":"Value: Bool - boolean true or false value\nSyntax:\n  true\n  false\nChildren: help(), available()\nExample:\n# Check whether the Sun is above the horizon at a site\n   let loc = location(58.9666667, 5.7333333);\n   let t = time(2026,6,21,12,0,0);\n   let above_horizon = altitude(sun, t, loc) > 0;\n   print above_horizon;","compact":"Value: Bool - boolean true or false value","search_text":"value:Bool Bool Bool value boolean true or false value true false"},{"id":"value_member:Bool.help","name":"help","path":"Bool.help","kind":"method","aliases":[],"description":"returns contextual documentation for this value","syntax":["<Bool>.help() -> Help","<Bool>.help(name: Text) -> Help|HelpResult|Nil"],"examples":["# Inspect Bool.help on a Bool value\nlet value = true;\nprint value.help();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Bool.help - returns contextual documentation for this value\nSyntax:\n  <Bool>.help() -> Help\n  <Bool>.help(name: Text) -> Help|HelpResult|Nil\nExample:\n# Inspect Bool.help on a Bool value\n   let value = true;\n   print value.help();","compact":"Method: Bool.help - returns contextual documentation for this value","search_text":"value_member:Bool.help help Bool.help method returns contextual documentation for this value <Bool>.help() -> Help <Bool>.help(name: Text) -> Help|HelpResult|Nil"},{"id":"value_member:Bool.available","name":"available","path":"Bool.available","kind":"method","aliases":[],"description":"reports whether this value is available","syntax":["<Bool>.available() -> Bool"],"examples":["# Inspect Bool.available on a Bool value\nlet value = true;\nprint value.available();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Bool.available - reports whether this value is available\nSyntax:\n  <Bool>.available() -> Bool\nExample:\n# Inspect Bool.available on a Bool value\n   let value = true;\n   print value.available();","compact":"Method: Bool.available - reports whether this value is available","search_text":"value_member:Bool.available available Bool.available method reports whether this value is available <Bool>.available() -> Bool"},{"id":"value:Number","name":"Number","path":"Number","kind":"value","aliases":[],"description":"numeric scalar value","syntax":["1","3.14","infinity","undefined"],"examples":["# Compute approximate daylight duration from sunrise and sunset\nlet loc = location(latitude: 58.9666667, longitude: 5.7333333);\nlet span = range(time(2026,6,21,0,0,0), time(2026,6,22,0,0,0));\nlet a = events(sunrise, span, loc).first().time;\nlet b = events(sunset, span, loc).first().time;\nlet hours = (b - a) * 24;\nprint hours;"],"arguments":[],"children":["value_member:Number.help","value_member:Number.available"],"resources":[],"doc":"Value: Number - numeric scalar value\nSyntax:\n  1\n  3.14\n  infinity\n  undefined\nChildren: help(), available()\nExample:\n# Compute approximate daylight duration from sunrise and sunset\n   let loc = location(latitude: 58.9666667, longitude: 5.7333333);\n   let span = range(time(2026,6,21,0,0,0), time(2026,6,22,0,0,0));\n   let a = events(sunrise, span, loc).first().time;\n   let b = events(sunset, span, loc).first().time;\n   let hours = (b - a) * 24;\n   print hours;","compact":"Value: Number - numeric scalar value","search_text":"value:Number Number Number value numeric scalar value 1 3.14 infinity undefined"},{"id":"value_member:Number.help","name":"help","path":"Number.help","kind":"method","aliases":[],"description":"returns contextual documentation for this value","syntax":["<Number>.help() -> Help","<Number>.help(name: Text) -> Help|HelpResult|Nil"],"examples":["# Inspect Number.help on a Number value\nlet value = 1;\nprint value.help();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Number.help - returns contextual documentation for this value\nSyntax:\n  <Number>.help() -> Help\n  <Number>.help(name: Text) -> Help|HelpResult|Nil\nExample:\n# Inspect Number.help on a Number value\n   let value = 1;\n   print value.help();","compact":"Method: Number.help - returns contextual documentation for this value","search_text":"value_member:Number.help help Number.help method returns contextual documentation for this value <Number>.help() -> Help <Number>.help(name: Text) -> Help|HelpResult|Nil"},{"id":"value_member:Number.available","name":"available","path":"Number.available","kind":"method","aliases":[],"description":"reports whether this value is available","syntax":["<Number>.available() -> Bool"],"examples":["# Inspect Number.available on a Number value\nlet value = 1;\nprint value.available();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Number.available - reports whether this value is available\nSyntax:\n  <Number>.available() -> Bool\nExample:\n# Inspect Number.available on a Number value\n   let value = 1;\n   print value.available();","compact":"Method: Number.available - reports whether this value is available","search_text":"value_member:Number.available available Number.available method reports whether this value is available <Number>.available() -> Bool"},{"id":"value:Text","name":"Text","path":"Text","kind":"value","aliases":[],"description":"text string value","syntax":["\"text\""],"examples":["# Format a local observation time as text\nlet t = time(2026,6,21,12,0,0);\nlet local = t.local(\"Europe/Oslo\").iso;\nprint local;"],"arguments":[],"children":["value_member:Text.help","value_member:Text.available"],"resources":[],"doc":"Value: Text - text string value\nSyntax:\n  \"text\"\nChildren: help(), available()\nExample:\n# Format a local observation time as text\n   let t = time(2026,6,21,12,0,0);\n   let local = t.local(\"Europe/Oslo\").iso;\n   print local;","compact":"Value: Text - text string value","search_text":"value:Text Text Text value text string value \"text\""},{"id":"value_member:Text.help","name":"help","path":"Text.help","kind":"method","aliases":[],"description":"returns contextual documentation for this value","syntax":["<Text>.help() -> Help","<Text>.help(name: Text) -> Help|HelpResult|Nil"],"examples":["# Inspect Text.help on a Text value\nlet value = \"text\";\nprint value.help();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Text.help - returns contextual documentation for this value\nSyntax:\n  <Text>.help() -> Help\n  <Text>.help(name: Text) -> Help|HelpResult|Nil\nExample:\n# Inspect Text.help on a Text value\n   let value = \"text\";\n   print value.help();","compact":"Method: Text.help - returns contextual documentation for this value","search_text":"value_member:Text.help help Text.help method returns contextual documentation for this value <Text>.help() -> Help <Text>.help(name: Text) -> Help|HelpResult|Nil"},{"id":"value_member:Text.available","name":"available","path":"Text.available","kind":"method","aliases":[],"description":"reports whether this value is available","syntax":["<Text>.available() -> Bool"],"examples":["# Inspect Text.available on a Text value\nlet value = \"text\";\nprint value.available();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Text.available - reports whether this value is available\nSyntax:\n  <Text>.available() -> Bool\nExample:\n# Inspect Text.available on a Text value\n   let value = \"text\";\n   print value.available();","compact":"Method: Text.available - reports whether this value is available","search_text":"value_member:Text.available available Text.available method reports whether this value is available <Text>.available() -> Bool"},{"id":"value:EventType","name":"EventType","path":"EventType","kind":"value","aliases":[],"description":"astronomical event kind","syntax":["conjunction","opposition","rise"],"examples":["# Use an event type to find the next sunrise\nlet loc = location(latitude: 58.9666667, longitude: 5.7333333);\nlet span = range(time(2026,6,21,0,0,0), time(2026,6,22,0,0,0));\nlet event = events(sunrise, span, loc).first();\nprint event.time.local(\"Europe/Oslo\").iso;"],"arguments":[],"children":["value_member:EventType.help","value_member:EventType.available"],"resources":[],"doc":"Value: EventType - astronomical event kind\nSyntax:\n  conjunction\n  opposition\n  rise\nChildren: help(), available()\nExample:\n# Use an event type to find the next sunrise\n   let loc = location(latitude: 58.9666667, longitude: 5.7333333);\n   let span = range(time(2026,6,21,0,0,0), time(2026,6,22,0,0,0));\n   let event = events(sunrise, span, loc).first();\n   print event.time.local(\"Europe/Oslo\").iso;","compact":"Value: EventType - astronomical event kind","search_text":"value:EventType EventType EventType value astronomical event kind conjunction opposition rise"},{"id":"value_member:EventType.help","name":"help","path":"EventType.help","kind":"method","aliases":[],"description":"returns contextual documentation for this value","syntax":["<EventType>.help() -> Help","<EventType>.help(name: Text) -> Help|HelpResult|Nil"],"examples":["# Inspect EventType.help on a EventType value\nlet value = sunrise;\nprint value.help();"],"arguments":[],"children":[],"resources":[],"doc":"Method: EventType.help - returns contextual documentation for this value\nSyntax:\n  <EventType>.help() -> Help\n  <EventType>.help(name: Text) -> Help|HelpResult|Nil\nExample:\n# Inspect EventType.help on a EventType value\n   let value = sunrise;\n   print value.help();","compact":"Method: EventType.help - returns contextual documentation for this value","search_text":"value_member:EventType.help help EventType.help method returns contextual documentation for this value <EventType>.help() -> Help <EventType>.help(name: Text) -> Help|HelpResult|Nil"},{"id":"value_member:EventType.available","name":"available","path":"EventType.available","kind":"method","aliases":[],"description":"reports whether this value is available","syntax":["<EventType>.available() -> Bool"],"examples":["# Inspect EventType.available on a EventType value\nlet value = sunrise;\nprint value.available();"],"arguments":[],"children":[],"resources":[],"doc":"Method: EventType.available - reports whether this value is available\nSyntax:\n  <EventType>.available() -> Bool\nExample:\n# Inspect EventType.available on a EventType value\n   let value = sunrise;\n   print value.available();","compact":"Method: EventType.available - reports whether this value is available","search_text":"value_member:EventType.available available EventType.available method reports whether this value is available <EventType>.available() -> Bool"},{"id":"value:SearchDirection","name":"SearchDirection","path":"SearchDirection","kind":"value","aliases":[],"description":"search direction","syntax":["any","increasing","decreasing"],"examples":["# Use a search direction in a crossing search\nlet value = any;\nprint value;"],"arguments":[],"children":["value_member:SearchDirection.help","value_member:SearchDirection.available"],"resources":[],"doc":"Value: SearchDirection - search direction\nSyntax:\n  any\n  increasing\n  decreasing\nChildren: help(), available()\nExample:\n# Use a search direction in a crossing search\n   let value = any;\n   print value;","compact":"Value: SearchDirection - search direction","search_text":"value:SearchDirection SearchDirection SearchDirection value search direction any increasing decreasing"},{"id":"value_member:SearchDirection.help","name":"help","path":"SearchDirection.help","kind":"method","aliases":[],"description":"returns contextual documentation for this value","syntax":["<SearchDirection>.help() -> Help","<SearchDirection>.help(name: Text) -> Help|HelpResult|Nil"],"examples":["# Inspect SearchDirection.help on a SearchDirection value\nlet value = any;\nprint value.help();"],"arguments":[],"children":[],"resources":[],"doc":"Method: SearchDirection.help - returns contextual documentation for this value\nSyntax:\n  <SearchDirection>.help() -> Help\n  <SearchDirection>.help(name: Text) -> Help|HelpResult|Nil\nExample:\n# Inspect SearchDirection.help on a SearchDirection value\n   let value = any;\n   print value.help();","compact":"Method: SearchDirection.help - returns contextual documentation for this value","search_text":"value_member:SearchDirection.help help SearchDirection.help method returns contextual documentation for this value <SearchDirection>.help() -> Help <SearchDirection>.help(name: Text) -> Help|HelpResult|Nil"},{"id":"value_member:SearchDirection.available","name":"available","path":"SearchDirection.available","kind":"method","aliases":[],"description":"reports whether this value is available","syntax":["<SearchDirection>.available() -> Bool"],"examples":["# Inspect SearchDirection.available on a SearchDirection value\nlet value = any;\nprint value.available();"],"arguments":[],"children":[],"resources":[],"doc":"Method: SearchDirection.available - reports whether this value is available\nSyntax:\n  <SearchDirection>.available() -> Bool\nExample:\n# Inspect SearchDirection.available on a SearchDirection value\n   let value = any;\n   print value.available();","compact":"Method: SearchDirection.available - reports whether this value is available","search_text":"value_member:SearchDirection.available available SearchDirection.available method reports whether this value is available <SearchDirection>.available() -> Bool"},{"id":"value:FieldSource","name":"FieldSource","path":"FieldSource","kind":"value","aliases":[],"description":"NetCDF field source","syntax":["field source"],"examples":["# Name the Earth topography dataset and sample it at a location\nlet loc = location(60.0, 10.0);\nlet terrain = field(earth_topography);\nprint sample(terrain, loc);"],"arguments":[],"children":["value_member:FieldSource.help","value_member:FieldSource.available"],"resources":[],"doc":"Value: FieldSource - NetCDF field source\nSyntax:\n  field source\nChildren: help(), available()\nExample:\n# Name the Earth topography dataset and sample it at a location\n   let loc = location(60.0, 10.0);\n   let terrain = field(earth_topography);\n   print sample(terrain, loc);","compact":"Value: FieldSource - NetCDF field source","search_text":"value:FieldSource FieldSource FieldSource value NetCDF field source field source"},{"id":"value_member:FieldSource.help","name":"help","path":"FieldSource.help","kind":"method","aliases":[],"description":"returns contextual documentation for this value","syntax":["<FieldSource>.help() -> Help","<FieldSource>.help(name: Text) -> Help|HelpResult|Nil"],"examples":["# Inspect FieldSource.help on a FieldSource value\nlet value = earth_topography;\nprint value.help();"],"arguments":[],"children":[],"resources":[],"doc":"Method: FieldSource.help - returns contextual documentation for this value\nSyntax:\n  <FieldSource>.help() -> Help\n  <FieldSource>.help(name: Text) -> Help|HelpResult|Nil\nExample:\n# Inspect FieldSource.help on a FieldSource value\n   let value = earth_topography;\n   print value.help();","compact":"Method: FieldSource.help - returns contextual documentation for this value","search_text":"value_member:FieldSource.help help FieldSource.help method returns contextual documentation for this value <FieldSource>.help() -> Help <FieldSource>.help(name: Text) -> Help|HelpResult|Nil"},{"id":"value_member:FieldSource.available","name":"available","path":"FieldSource.available","kind":"method","aliases":[],"description":"reports whether this value is available","syntax":["<FieldSource>.available() -> Bool"],"examples":["# Inspect FieldSource.available on a FieldSource value\nlet value = earth_topography;\nprint value.available();"],"arguments":[],"children":[],"resources":[],"doc":"Method: FieldSource.available - reports whether this value is available\nSyntax:\n  <FieldSource>.available() -> Bool\nExample:\n# Inspect FieldSource.available on a FieldSource value\n   let value = earth_topography;\n   print value.available();","compact":"Method: FieldSource.available - reports whether this value is available","search_text":"value_member:FieldSource.available available FieldSource.available method reports whether this value is available <FieldSource>.available() -> Bool"},{"id":"value:NetCDF","name":"NetCDF","path":"NetCDF","kind":"value","aliases":[],"description":"opened NetCDF dataset","syntax":["netcdf(...)"],"examples":["# Inspect a NetCDF-backed resource\nlet nc = netcdf(earth_topography);\nprint nc.path, nc.variables.length();"],"arguments":[],"children":["value_member:NetCDF.help","value_member:NetCDF.available"],"resources":[],"doc":"Value: NetCDF - opened NetCDF dataset\nSyntax:\n  netcdf(...)\nChildren: help(), available()\nExample:\n# Inspect a NetCDF-backed resource\n   let nc = netcdf(earth_topography);\n   print nc.path, nc.variables.length();","compact":"Value: NetCDF - opened NetCDF dataset","search_text":"value:NetCDF NetCDF NetCDF value opened NetCDF dataset netcdf(...)"},{"id":"value_member:NetCDF.help","name":"help","path":"NetCDF.help","kind":"method","aliases":[],"description":"returns contextual documentation for this value","syntax":["<NetCDF>.help() -> Help","<NetCDF>.help(name: Text) -> Help|HelpResult|Nil"],"examples":["# Inspect NetCDF.help on a NetCDF value\nlet value = netcdf(earth_topography);\nprint value.help();"],"arguments":[],"children":[],"resources":[],"doc":"Method: NetCDF.help - returns contextual documentation for this value\nSyntax:\n  <NetCDF>.help() -> Help\n  <NetCDF>.help(name: Text) -> Help|HelpResult|Nil\nExample:\n# Inspect NetCDF.help on a NetCDF value\n   let value = netcdf(earth_topography);\n   print value.help();","compact":"Method: NetCDF.help - returns contextual documentation for this value","search_text":"value_member:NetCDF.help help NetCDF.help method returns contextual documentation for this value <NetCDF>.help() -> Help <NetCDF>.help(name: Text) -> Help|HelpResult|Nil"},{"id":"value_member:NetCDF.available","name":"available","path":"NetCDF.available","kind":"method","aliases":[],"description":"reports whether this value is available","syntax":["<NetCDF>.available() -> Bool"],"examples":["# Inspect NetCDF.available on a NetCDF value\nlet value = netcdf(earth_topography);\nprint value.available();"],"arguments":[],"children":[],"resources":[],"doc":"Method: NetCDF.available - reports whether this value is available\nSyntax:\n  <NetCDF>.available() -> Bool\nExample:\n# Inspect NetCDF.available on a NetCDF value\n   let value = netcdf(earth_topography);\n   print value.available();","compact":"Method: NetCDF.available - reports whether this value is available","search_text":"value_member:NetCDF.available available NetCDF.available method reports whether this value is available <NetCDF>.available() -> Bool"},{"id":"value:Field","name":"Field","path":"Field","kind":"value","aliases":[],"description":"sampleable gridded field","syntax":["field(...)"],"examples":["# Sample a field value at a location\nlet loc = location(60.0, 10.0);\nprint sample(topography(earth), loc);"],"arguments":[],"children":["value_member:Field.help","value_member:Field.available"],"resources":[],"doc":"Value: Field - sampleable gridded field\nSyntax:\n  field(...)\nChildren: help(), available()\nExample:\n# Sample a field value at a location\n   let loc = location(60.0, 10.0);\n   print sample(topography(earth), loc);","compact":"Value: Field - sampleable gridded field","search_text":"value:Field Field Field value sampleable gridded field field(...)"},{"id":"value_member:Field.help","name":"help","path":"Field.help","kind":"method","aliases":[],"description":"returns contextual documentation for this value","syntax":["<Field>.help() -> Help","<Field>.help(name: Text) -> Help|HelpResult|Nil"],"examples":["# Inspect Field.help on a Field value\nlet value = topography(earth);\nprint value.help();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Field.help - returns contextual documentation for this value\nSyntax:\n  <Field>.help() -> Help\n  <Field>.help(name: Text) -> Help|HelpResult|Nil\nExample:\n# Inspect Field.help on a Field value\n   let value = topography(earth);\n   print value.help();","compact":"Method: Field.help - returns contextual documentation for this value","search_text":"value_member:Field.help help Field.help method returns contextual documentation for this value <Field>.help() -> Help <Field>.help(name: Text) -> Help|HelpResult|Nil"},{"id":"value_member:Field.available","name":"available","path":"Field.available","kind":"method","aliases":[],"description":"reports whether this value is available","syntax":["<Field>.available() -> Bool"],"examples":["# Inspect Field.available on a Field value\nlet value = topography(earth);\nprint value.available();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Field.available - reports whether this value is available\nSyntax:\n  <Field>.available() -> Bool\nExample:\n# Inspect Field.available on a Field value\n   let value = topography(earth);\n   print value.available();","compact":"Method: Field.available - reports whether this value is available","search_text":"value_member:Field.available available Field.available method reports whether this value is available <Field>.available() -> Bool"},{"id":"value:SearchGoal","name":"SearchGoal","path":"SearchGoal","kind":"value","aliases":[],"description":"search goal such as target, minimum, or maximum","syntax":["minimum","maximum","target(...)"],"examples":["# Use a target goal to find a numeric crossing\nlet root = search((x): x - 2, range(0, 4, 0.25), target(0)).next();\nprint root;"],"arguments":[],"children":["value_member:SearchGoal.help","value_member:SearchGoal.available"],"resources":[],"doc":"Value: SearchGoal - search goal such as target, minimum, or maximum\nSyntax:\n  minimum\n  maximum\n  target(...)\nChildren: help(), available()\nExample:\n# Use a target goal to find a numeric crossing\n   let root = search((x): x - 2, range(0, 4, 0.25), target(0)).next();\n   print root;","compact":"Value: SearchGoal - search goal such as target, minimum, or maximum","search_text":"value:SearchGoal SearchGoal SearchGoal value search goal such as target, minimum, or maximum minimum maximum target(...)"},{"id":"value_member:SearchGoal.help","name":"help","path":"SearchGoal.help","kind":"method","aliases":[],"description":"returns contextual documentation for this value","syntax":["<SearchGoal>.help() -> Help","<SearchGoal>.help(name: Text) -> Help|HelpResult|Nil"],"examples":["# Inspect SearchGoal.help on a SearchGoal value\nlet value = target(2.0);\nprint value.help();"],"arguments":[],"children":[],"resources":[],"doc":"Method: SearchGoal.help - returns contextual documentation for this value\nSyntax:\n  <SearchGoal>.help() -> Help\n  <SearchGoal>.help(name: Text) -> Help|HelpResult|Nil\nExample:\n# Inspect SearchGoal.help on a SearchGoal value\n   let value = target(2.0);\n   print value.help();","compact":"Method: SearchGoal.help - returns contextual documentation for this value","search_text":"value_member:SearchGoal.help help SearchGoal.help method returns contextual documentation for this value <SearchGoal>.help() -> Help <SearchGoal>.help(name: Text) -> Help|HelpResult|Nil"},{"id":"value_member:SearchGoal.available","name":"available","path":"SearchGoal.available","kind":"method","aliases":[],"description":"reports whether this value is available","syntax":["<SearchGoal>.available() -> Bool"],"examples":["# Inspect SearchGoal.available on a SearchGoal value\nlet value = target(2.0);\nprint value.available();"],"arguments":[],"children":[],"resources":[],"doc":"Method: SearchGoal.available - reports whether this value is available\nSyntax:\n  <SearchGoal>.available() -> Bool\nExample:\n# Inspect SearchGoal.available on a SearchGoal value\n   let value = target(2.0);\n   print value.available();","compact":"Method: SearchGoal.available - reports whether this value is available","search_text":"value_member:SearchGoal.available available SearchGoal.available method reports whether this value is available <SearchGoal>.available() -> Bool"},{"id":"value:Reference","name":"Reference","path":"Reference","kind":"value","aliases":[],"description":"runtime reference value","syntax":["reference(name)"],"examples":["# Use an intrinsic reference value in a forecast sample\nlet value = temperature;\nprint value, value.help().name;"],"arguments":[],"children":["value_member:Reference.help","value_member:Reference.available"],"resources":[],"doc":"Value: Reference - runtime reference value\nSyntax:\n  reference(name)\nChildren: help(), available()\nExample:\n# Use an intrinsic reference value in a forecast sample\n   let value = temperature;\n   print value, value.help().name;","compact":"Value: Reference - runtime reference value","search_text":"value:Reference Reference Reference value runtime reference value reference(name)"},{"id":"value_member:Reference.help","name":"help","path":"Reference.help","kind":"method","aliases":[],"description":"returns contextual documentation for this value","syntax":["<Reference>.help() -> Help","<Reference>.help(name: Text) -> Help|HelpResult|Nil"],"examples":["# Inspect help for an intrinsic reference\nlet value = temperature;\nprint value.help().name;"],"arguments":[],"children":[],"resources":[],"doc":"Method: Reference.help - returns contextual documentation for this value\nSyntax:\n  <Reference>.help() -> Help\n  <Reference>.help(name: Text) -> Help|HelpResult|Nil\nExample:\n# Inspect help for an intrinsic reference\n   let value = temperature;\n   print value.help().name;","compact":"Method: Reference.help - returns contextual documentation for this value","search_text":"value_member:Reference.help help Reference.help method returns contextual documentation for this value <Reference>.help() -> Help <Reference>.help(name: Text) -> Help|HelpResult|Nil"},{"id":"value_member:Reference.available","name":"available","path":"Reference.available","kind":"method","aliases":[],"description":"reports whether this value is available","syntax":["<Reference>.available() -> Bool"],"examples":["# Check that an intrinsic reference is available\nlet value = temperature;\nprint value.available();"],"arguments":[],"children":[],"resources":[],"doc":"Method: Reference.available - reports whether this value is available\nSyntax:\n  <Reference>.available() -> Bool\nExample:\n# Check that an intrinsic reference is available\n   let value = temperature;\n   print value.available();","compact":"Method: Reference.available - reports whether this value is available","search_text":"value_member:Reference.available available Reference.available method reports whether this value is available <Reference>.available() -> Bool"}]}