Configuration File


"flow_se" reads the value of a global variable from the configuration file. The configuration file format is Lua configuration format. In the configuration file, all Lua standard function such as string processing are available. File path can be written in both of absolute and relative path. If a relative path is used, it is the relative path from the current working directory.


1. Basic SPICE kernels


spice_kernels: array
Specify an array of SPICE kernels that is read in furnsh_c.
Example:
generic_kernel_dir = "/spice/pub/generic_kernels/"
spice_kernels = {
  generic_kernel_dir.. "lsk/naif0010.tls",
  generic_kernel_dir.. "pck/pck0010.tpc",
  generic_kernel_dir.. "spk/planets/de421.bsp"
}

2. Satellite SPK kernels


satellite_kernels: array
Specify an array of satellite spk kernels.
Example:
satellite_kernel_dir = generic_kernel_dir.."spk/satellites/"
satellite_kernels = {
  satellite_kernel_dir.."mar085.bsp",
  satellite_kernel_dir.."jup230-rocks.bsp",
  satellite_kernel_dir.."jup230l.bsp",
}

3. Star


star_kernels: array
Specify the data kernel star(E-Kernel). It's loaded with eknopn_c.
star_magnitude_limit: float
Specify the display limit of star magnitude.
Example:
star_kernel = generic_kernel_dir.."stars/hipparcos.bdb"
star_magnitude_limit = 4.0

4.Title


title: STRING
Specify the title of the simulation.
Example:
title = "Hayabusa AMICA shoot ITOKAWA"

5. Observing conditions


basis_object: string
Specify the observing body. Technically, it is used as a observing body name in spkezr_c.
basis_instrument_id: int
Specify the NAIF ID of an instrument. Technically, it is used as a NAIF ID of an instrument in getfov_c.
aberration_correction: string
Specify the aberration correction flag to pass to the spkezr_c.

Example:
basis_object = "HAYABUSA"
basis_instrument_id = -130102
aberration_correction = "LT+S"

6. Time

Specify one or more of time to simulate the observation. If you specify more than one time, "flow_se" outputs XML output including multiple nodes. "flow_ig" recognizes the image-generation mode is pushbloom method if the input XML has multiple nodes. The details of time specification are in the followings:

(1) Single time
time: string
Specify the single time. The time is specified in the format that can be interpreted by str2et_c.
Example:
time = "2010-12-05T22:30:00"
(2) Time period and steps
time_start: string
time_end: string
time_step: float

Specify the time of every time_step from time_start to time_end. time_start and time_end are specified in a format that can be interpreted by str2et_c. time_step is a numeric value in seconds.

Example:
time_start = "2010-12-05T22:30:00"
time_end = "2010-12-05T22:30:00"
time_step = 0.05
Warning

(For advanced users):time_start, time_end, time_step options are normally intended to use the Push broom camera. These options are not intended for a movie or a video making.

(3) Enumeration time
time<X>: string

The expression is used to enumerate more than one time. In the < X > specifies the sequence number starting at 1. The time is specified in the format that can be interpreted by str2et_c.

Example:
time1 = "2010-12-05T22:30:00"
time2 = "2010-12-05T22:31:00"
time3 = "2010-12-05T22:32:00"

important If the time is specified by the "flow_se" option -t, "flow_se" ignores the time in the configuration file.

7. Object Table


object_table: table
or
object_table[Object ID][Number][Key] = Value

object_table is used to apply texture images or shape models to objects. The table is a multi-dimensional associative array. The detail is in below:

(1) Object ID
Object ID describes the unique identifier of objects used in "FLOW". Specify the following values:
Object ID Object
SUN Sun
PLANET.<name> Planet (including PLUTO)
<name> : MERCURY, VENUS, EARTH,MARS, JUPITER, SATRUN, URANUS, NEPTUNE, PLUTO
SATELLITE.<name> Satellite
<name> : MOON, PHOBOS, IO ,or sattelite number such as 55062
the others Body name defined in SPICE kernels such as VESTA, ITOKAWA
(2) Number

Specify the sequence number starting at 1. You can apply multiple textures to an object.

You can omit to specify this number using Lua's table constructor. For example, the following two expressions are the same in Lua:
Example 1.
object_table["PLANET.SATURN"][1]["type"] = "texture-body"
object_table["PLANET.SATURN"][1]["file"] = "saturn-body.jpg"
object_table["PLANET.SATURN"][2]["type"] = "texture-ring"
object_table["PLANET.SATURN"][2]["file"] = "saturn-ring.jpg"
object_table["PLANET.SATURN"][2]["radius"] = "2.31"
Example 2.
object_table["PLANET.SATURN"] = {
  {type="texture-body",file="saturn.jpg"},
  {type="texture-ring",file="saturn-ring.jpg",radius="2.31"},
}
(3) Key
Specify the type of images and their attributes to assign to the object.
Key MEANINGS
type File type to be applied
Specify the following values:
texture-body

The file (or URL) is a texture image applied to the object body. Either of 'file' or 'wms_url' must be specified together with this key. Example is in below:

{
  type="texture-body",
  file="earth.jpg",
}
texture-ring

The file is a texture image applied to planetary rings
Both file and radius must be specified. Example is in below:

{
  type="texture-ring",
  file="saturn-ring.jpg",
  radius="2.31",
}
model

The file is a shape model to construct the object body.
The following keys: file, scale, color, and format are essential. Example is in below:

{
  type="model",
  file="itokawa_f0049152.stl",
  scale=1.0,
  color="204,204,204",
  format="STL",
}
file File path of a texture or a shape model.
wms_url If you want to get the texture from the wms server, use this instead of file. If you choose this key, you must also specify wms_title, region and resolution. Example is in below:
{
  type="texture-body",
  wms_url="http://onmoon.jpl.nasa.gov/wms.cgi",
  wms_title="Full resolution grayscale",
  region="170.0,70.0,190.0,90.0",
  resolution=50,
}
wms_title If you use 'wms_url' option to fetch the texture from the wms server, you must specify the title.
resolution If you use 'wms_url' option to fetch the texture from the wms server, you must specify the image resolution by pixel/degree.
region If the type of texture-body is specified, you can specify the region to put a texture image in the following format: <Longitude1>,<Latitude1>,<Longitude2>,<Latitude2>. If you do not specify a region, the texture covers the entire map.
radius If the type of texture-ring is specified, you must specify the ratio of the diameter of Saturn to the outer diameter of the rings.
scale Specify the metric conversion factor from the unit of the shape model to km.
color Specify the (R, G, B) of the vertex color to paint a shape model.
format Specify STL or DSK as a shape model format.
(4) Value

Specifiy the value in a string, which is corresponding to the attribute specified by Object ID, number, and key.
object_table["PLANET.SATURN"][1]["type"] = "texture-ring"
object_table["PLANET.SATURN"][1]["file"] = "saturn_ring.fts"
object_table["PLANET.SATURN"][1]["radius"] = "2.31"
object_table["PLANET.MARS"][1]["type"] = "texture-body"
object_table["PLANET.MARS"][1]["file"] = "mars.png"
object_table["PLANET.MARS"][2]["type"] = "texture_body"
object_table["PLANET.MARS"][2]["file"] = "mars.detail.png"
object_table["PLANET.MARS"][2]["region"] = "135,35,140,40"
You can also express using Lua's table constructor in below:
object_table["PLANET.SATURN"] = {
  {type="texture-ring",file="saturn_ring.fts",radius="2.31"}
}
object_table["PLANET.MARS"] = {
  {
    type="texture-body",
    file="mars.png"
  },
  {
    type="texture_body",
    file="mars.detail.png",
    region="135,35,140,40"
  }
}

8. Output Objects


output_objects: array

List the objects in an array of Object ID to display. The listed objects are included in the output XML file, and rendered by "flow_ig" if the objects are in the instrument FOV.

ID OBJECT
PLANETS The whole planet and pluto
SATELLITES All satellites contained in the kernel has been loaded.
STARS The star brighter than the grade specified by star_magnitude_limit.

∗ If you want to specify any objects defined in the kernel, you write the name defined in the kernel as described in the preceding object_table. At this time, you will need the frame of the object is defined in FRAME_ < name > _NAME in the kernel.

Example 1:
output_objects = {
  "SUN",
  "PLANETS",
  "SATELLITES",
  "STARS",
}
Example 2:
output_objects = {
  "PLANET.EARTH",
  "PLANET.MARS",
  "SATELLITE.MOON",
  "SATELLITE.PHOBOS",
  "SATELLITE.DEIMOS",
  "ITOKAWA",
}

9. Image Size


image_width: int
image_height: int

Specify the width and the height of the output image in integer. "flow_ig", you can enlarge or shrink the image drawn to include all the field of view. In this case, the aspect ratio of the image is saved, the area outside the shooting range will be filled in black.


license and policy

darts c-soda isas jaxa