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.yamlfile 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_contourstep 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
]
}
},