EvoBee log files
As shown in the General parameters section of the run configuration page, there are various types of logging data that may be requested from a run. The log-flags
parameter specifies zero, one or more flags for different kinds of output. The output from all requested flags is recording in a single log file (with filename ending “-log.txt”). Each logging event appears as a separate line in the log file, and each line is a list of comma separated values (so the log file is in .csv format). The first item of every line in a single letter showing the corresponding log-flag associated with the line (e.g. ‘Q’, ‘P’, ‘F’, ‘G’, ‘p’, ‘f’, ‘g’, ‘m’, ‘n’) — uppercase letters refer to full reporting formats, and lowercase letters to summary reporting formats.
To fully understand the specific format of each line, consult the corresponding methods in the Logger
class.
A summary of some of the formats is shown below.
log-flags=f (Logger::logFlowersInterPhaseSummary)
- “f”
- generation number
- step number
- flower species ID
- flower species name
- number of plants of this species in this generation
- number of pollinated plants of this species at end of foraging phase in this generation
log-flags=F (Logger::logFlowersInterPhaseFull)
For each plant in the environment, emit a line with the following format at the end of each generation:
- “F”
- generation number
- plant unique ID
- plant species ID
- plant x position
- plant y position
- patch locality ID
These are followed by entries for each flower on the plant (NB the current implementation only allows a single flower on each plant):
- ”:”
- flower unique ID
- flower pollination status (“P”=pollinated, “N”=not pollinated)
- flower marker point
This is followed by entries for each pollen grain in the flower’s stigma:
- ”~”
- pollen source flower species (marker point)
- number of pollen grains on stigma from this source species
- pollen source flower unique ID (only useful if there is only a single grain of pollen from this source species, as multiple grains may have come from multiple flowers)
- ”~”
log-flags=G (Logger::logFlowersIntraPhaseFull)
For each plant in the environment, emit a line with the following format at regular intervals throughout a generation (determined by m_iLogUpdatePeriod):
- “G”
- generation number
- step number
- flower unique ID
- flower species ID
- flower x position
- flower y position
- flower marker point
- flower pollination status (“P”=pollinated, “N”=not pollinated)
- amount of pollen available on anther
- amount of pollen deposited on stigma
- amount of nectar available
log-flags=m (Logger::logFlowerMPsInterPhaseSummary)
- “m”
- generation number
- step number
- marker point
- number of plants with this flower marker point in this generation
- number of pollinated plants with this flower marker point at end of foraging phase in this generation
- number of plants in communal regions (non-refuges) with this flower marker point in this generation
- number of pollinated plants in communal regions (non-refuges) with this flower marker point at end of foraging phase in this generation
log-flags=n (Logger::logFlowerInfoInterPhaseSummary)
- “n”
- generation number
- step number
- stimulus ID (as defined by the first field of the corresponding entry in the vis-data array)
- number of plants of this flower stimulus type (colour) in this generation
- number of pollinated plants of this flower stimulus type (colour) at end of foraging phase in this generation
- number of plants in communal regions (non-refuges) of this flower stimulus type (colour) in this generation
- number of pollinated plants in communal regions (non-refuges) of this flower stimulus type (colour) at end of foraging phase in this generation
- auxiliary ID associated with this stimulus (as defined by ninth field in vis-data entry)
- dominant wavelength of this stimulus (as defined by second field in vis-data entry)
- number of landings on flowers of this type during the current generation
log-flags=P (Logger::logPollinatorsInterPhaseFull)
(The output format with log-flags=P is the same as for log-flags=Q, except just a single line is logged for each pollinator at the end of each foraging phase rather than at every step of the foraging phase)
- “P”
- generation number
- step number
- pollinator species name
- pollinator ID
- pollinator x position
- pollinator y position
- pollinator heading
- number of flowers visited
- step number of most recent action
- flower marker point (if action=ON_FLOWER or DECLINED_FLOWER) or 0 (if action=NO_FLOWER_SEEN)
- reward received (if action=ON_FLOWER) or -1 (if action=DECLINED_FLOWER) or -2 (if action=NO_FLOWER_SEEN)
- “T” if pollinator judged flower to match its current target, otherwise “F”
- ”//”
- pollinator’s current target marker point
- ”::”
- fields 17 onward record the pollinator’s current visual preference data, in groups of three fields. The first field gives the marker point for which the following two fields apply, the second gives the probability of the pollinator landing on that marker point if it is the current target MP, and the third gives the probability of the pollinator landing on that marking point if it is not the current target MP. After these triplets have been recorded for every marker point that the pollinator knows about, the final field of the line in the log file is another “::”
log-flags=p (Logger::logPollinatorsInterPhaseSummary)
The first 3 fields are:
- “p”
- generation number
- pollinator ID
These are followed by entries for each plant species, each one comprising 4 further fields:
- flower species ID
- number of landings
- number of pollinations
- number of pollen grains of this species carried by the pollinator at end of foraging phase
log-flags=Q (Logger::logPollinatorsIntraPhaseFull)
- “Q”
- generation number
- step number
- pollinator species name
- pollinator ID
- pollinator x position
- pollinator y position
- pollinator heading
- number of flowers visited
- step number of most recent action
- flower marker point (if action=ON_FLOWER or DECLINED_FLOWER) or 0 (if action=NO_FLOWER_SEEN)
- reward received (if action=ON_FLOWER) or -1 (if action=DECLINED_FLOWER) or -2 (if action=NO_FLOWER_SEEN)
- “T” if pollinator judged flower to match its current target, otherwise “F”
- ”//”
- pollinator’s current target marker point
- ”::”
- fields 17 onward record the pollinator’s current visual preference data, in groups of three fields. The first field gives the marker point for which the following two fields apply, the second gives the probability of the pollinator landing on that marker point if it is the current target MP, and the third gives the probability of the pollinator landing on that marking point if it is not the current target MP. After these triplets have been recorded for every marker point that the pollinator knows about, the final field of the line in the log file is another “::”