outputbundle JSON files¶
inputs.json¶
This file contains a dictionary mapping input names (e.g. t2m
, u
,
v
) to usage statistics for each input:
{
"t2m": {
"used_by": ["rh2m"]
"computation": [
[1000000000, "processing step description"],
]
}
}
Note
This may be changed to contain a single inputs
entry containing the
actual dictionary
Usage statistics are a dictionary containing:
used_by
: list of recipe names that used this input to generate productscomputation
: list of pairs(int, str)
with each computation step and the time in nanoseconds that it took to compute
log.json¶
This file contains the processing log:
{
"entries": [
{
"ts": 1703171046.9032948,
"level": 20,
"msg": "emro.shp resolved as /media/arkimaps/recipes/static/emro.shp",
"name": "postprocess"
},
{
"ts": 1703171047.2248235,
"level": 10,
"msg": "flavour emro_web: recipe cp12h uses inputs: {'cpdec12h'}",
"name": "arkimaps.flavours"
},
…
}
It contains a single key entry
which maps to a list of log entries.
Each log entry is a dictionary with 4 keys:
ts: float
: timestamp in secondslevel: int
: log levelmsg: str
: log messagename: str
: logger name
products.json¶
This file contains metadata for each product in the output bundle.
At the top level it contains 3 keys:
flavour
: details about the flavour used in product generationrecipes
: details about all recipes that generated productsproducts
: details about all products generated
flavour¶
Information about the flavour used to generate products. It contains:
name
: flavour namedefined_in
: filename of the.yaml
file that defines the flavour
Example:
"flavour": {
"name": "emro_tiles",
"defined_in": "flavours/tiles.yaml",
},
recipes¶
Dictionary of information indexed by recipe name:
reftimes
: dictionary, indexed by reference time, with statistics for products produced by a recipe at a given reference time. It contains:inputs
: names of inputs usedsteps
: dictionary mapping each step name to the number of products produced for that steprender_stats
: dictionary with rendering statistics. At the moment it only contains:time_ts
: time spent rendering all the steps for this reference time
legend_info
:add_contour
step parameters used to generate products for this recipe. This information can be used to render a legend for all the products generated by this recipe
Example:
"rh2m": {
"reftimes": {
"2023-12-19 14:00:00": {
"inputs": ["rh2m"],
"steps": {"0h": 1},
"render_stats": {
"time_ns": 911183162
}
},
"2023-12-19 00:00:00": {
"inputs": ["rh2m"],
"steps": {"0h": 1},
"render_stats": {
"time_ns": 1093373956
}
},
…
},
"legend_info": {
"contour_shade": true,
"contour_shade_method": "area_fill",
…
}
}
products¶
Dictionary of product information, indexed by the path of each product in the output bundle:
recipe
: recipe namereftime
: product reference timestep
: product stepgeoref
: (optional) dictionary with georeferencing information for this product:projection
: currently, always"EPSG"
epsg
: EPSG number for the projection usedbbox
: 4-tuple of floats defining a bounding box, with minimum longitude, minimum latitude and maximum longitude maximum latitude.
Example:
"2023-12-19T14:00:00/rh2m_emro_web/rh2m+000.png": {
"recipe": "rh2m",
"reftime": "2023-12-19 14:00:00",
"step": "0h",
"georef": {
"projection": "EPSG",
"epsg": 3857,
"bbox": [
9.19514626509458,
43.714193665380236,
12.828319549646094,
45.14257501046363
]
}
},
"2023-12-19T00:00:00/rh2m_emro_web/rh2m+000.png": {
"recipe": "rh2m",
"reftime": "2023-12-19 00:00:00",
"step": "0h",
"georef": {
"projection": "EPSG",
"epsg": 3857,
"bbox": [
9.19514626509458,
43.714193665380236,
12.828319549646094,
45.14257501046363
]
}
},