Configuration Files#
This page describes each runtime configuration file of Acres/Content/Simulation: the purpose, the reader and the top-level keys.
It also gives the sequence in which the menu, the session folder and the command line change the values.
| Group | Contents |
|---|---|
| How Configuration Reaches the Simulation | The sources, the session folder copies and the precedence. |
| Vehicle Files | tractor.json, polaris.json and the agents file. |
| Sensor Files | sensors.json, sensors_polaris.json and polaris_lidar_self.f32. |
| Environment and Farm Files | environment.json, farm.json and soil_library.json. |
| Implement and Rig Files | implements/*.json and rigs/*.json. |
| Other Files | npc_cars.json, grass_mask.json, road_mask.bin and the map files. |
| Menu Presets and Session Copies | Saved/Configs, session-config.json and field-setup.json. |
| Validation in the Menu | The checks before a session starts. |
The packaged game contains the folder Simulation as loose files in Packaged/Linux/Acres/Content/Simulation.
You can thus read and change the files without a build of the game.
How Configuration Reaches the Simulation#
Each model has default values in the source code. A file changes the defaults. An option changes the value of a file.
| Priority | Source | Example |
|---|---|---|
| 1, highest | A key of the agents file (-Agents=) |
"implement": "chisel_plow" |
| 2 | A command-line option for one value | -EnvHour=8, -PolarisSet=mass.occupants=2 |
| 3 | The sensor overlay of a vehicle | sensors_polaris.json on sensors.json |
| 4 | The file that an option selects | -VehicleConfig=<session folder>/tractor.json |
| 5 | The shipped file in Acres/Content/Simulation |
tractor.json |
| 6, lowest | The default in the source code | FVehicleParameters |
A session from the menu uses the same path as a session from the command line.
- The menu reads its default values from the shipped
environment.json,sensors.jsonandtractor.json. - You change values in the menu or load a preset.
- The menu examines the values. Validation in the Menu lists the checks.
- The menu writes the session folder with copies of the three files and the values of the menu.
- The menu adds options to the command line and loads the map again.
- The vehicle and the models read the copies.
The menu does not copy polaris.json, sensors_polaris.json, farm.json and the implement files.
A session reads these from Acres/Content/Simulation, unless an option selects a different file.
Options That Select Files#
| Name | Type | Unit | Default | Description |
|---|---|---|---|---|
-VehicleConfig= |
path | tractor.json |
The Maxxum, the soil and the surfaces. | |
-PolarisConfig= |
path | polaris.json |
The Polaris. | |
-PolarisSet= |
list | Single values of polaris.json by their dotted key. |
||
-SensorConfig= |
path | sensors.json |
The sensors of the session. | |
-PolarisSensorConfig= |
path | sensors_polaris.json |
The sensor overlay of the Polaris. | |
-EnvConfig= |
path | environment.json |
The clock and the weather. | |
-FieldSetup= |
path | The folder with field-setup.json. |
||
-ImplementSet= |
list | Single values of the implement file by their dotted key. | ||
-Agents= |
path | The agents file. | ||
-DriveScript= |
path | The drive script. Replay gives the format. |
Command-Line Options describes these options and the options for single values.
Command line of a menu session
-VehicleDemo -FromMenu -SessionMode=simulation
-EnvConfig="<session>/environment.json"
-VehicleConfig="<session>/tractor.json"
-VehicleOutput="<session>" -FieldSetup="<session>"
-SpawnAt=spawn-icsc-garage -CropSeason=2026
-SensorConfig="<session>/sensors.json" -SessionLog
-SensorRecord -SensorOutput="<session>/sensors"
# The same session again, with a different start time
S=Packaged/Linux/Acres/Saved/Sessions/20261002-101500-simulation
Packaged/Linux/Acres.sh -VehicleDemo \
-EnvConfig=$S/environment.json \
-VehicleConfig=$S/tractor.json \
-SensorConfig=$S/sensors.json -FieldSetup=$S \
-EnvHour=16 -VehicleOutput=/data/rerun
Vehicle Files#
tractor.json#
The parameters of the Maxxum, the ground and the surfaces. The Polaris uses the blocks soil and surfaces of this file also.
Readers: the vehicle pawn (AcresVehicle.cpp), the menu (AcresSession.cpp), the optimizer (AcresOptimizer.cpp) and ACRES Core (AcresCoreWorld.cpp).
| Name | Type | Unit | Default | Description |
|---|---|---|---|---|
version |
text | 0.2-farm-tractor |
The version of the file. | |
provenance |
text | The origin of the values. | ||
vehicle |
object | The mass, the geometry, the tyres, the steering, the engine, the gears and the PTO. Maxxum 150 Dynamics gives each key. | ||
vehicle.model |
choice | maxxum_150 |
maxxum_150 or legacy. |
|
soil |
object | The soil class and the Bekker parameters of the ground. Tyre and Soil gives each key. | ||
soil.class |
text | auto |
A class of the soil library, or auto for the soil unit below each wheel. |
|
implement |
object | The draft implement of the legacy tractor. | ||
implement_model |
object | The implement of the Maxxum and its operator settings. The keys are below. | ||
surfaces |
object | 9 entries | One entry for each surface name: friction, rolling, theta, wetness, water_depth_m, deformable. |
|
surface_map_notes |
text | A note on the three sod surfaces. | ||
farm_specifications |
object | The data sheet values of the manufacturer. The game does not read them. | ||
estimated_parameters |
object | Notes on the estimated values. The game does not read them. | ||
source_records |
list | 6 entries | The sources of the data. The game does not read them. |
Key of implement_model |
Type | Unit | Default | Description |
|---|---|---|---|---|
id |
choice | none |
The implement identifier. The option is -Implement=. |
|
working_depth_m |
number | m | 0.15 | The working depth. The option is -ImplementDepth=. |
hitch_mode |
choice | auto |
auto, position, draft or float. |
|
draft_setpoint_n |
number | N | 15000 | The set-point of the draft control. |
spray_rate_l_ha |
number | L/ha | 150 | The application rate of the sprayer. |
seed_rate_kg_ha |
number | kg/ha | 150 | The seed rate of the drill. |
windrow_kg_m |
number | kg/m | 3 | The mass of hay in one metre of windrow. |
bale_mass_kg |
number | kg | 450 | The mass of the round bale for the loader. |
boom_lift_m |
number | m | 0.5 | The lift of the sprayer boom. |
The surface names are asphalt, concrete, gravel, dry_soil, wet_soil, mud, sod_lane, sod and dirt_track.
The three sod surfaces have the optional keys traffic_compaction and root_cohesion_pa.
Part of the file
{
"version": "0.2-farm-tractor",
"vehicle": {
"model": "maxxum_150",
"mass_kg": 5820,
"wheelbase_m": 2.6416,
"track_m": 1.9,
"idle_rpm": 800,
"max_rpm": 2300,
"initial_gear": 10
},
"soil": {
"class": "auto",
"density_mg_m3": 0,
"compaction_layer_m": 0.3
},
"implement_model": {
"id": "none",
"working_depth_m": 0.15,
"hitch_mode": "auto",
"draft_setpoint_n": 15000
},
"surfaces": {
"sod": {"friction": 0.7, "rolling": 0.05,
"theta": 0.2, "wetness": 0,
"water_depth_m": 0, "deformable": true,
"traffic_compaction": 0.2,
"root_cohesion_pa": 6000}
}
}
polaris.json#
The parameters of the Polaris and of its drive-by-wire. Each parameter is an object with the keys value, basis, source and a note.
The model reads the value by its dotted path, for example engine.idle_rpm.
-PolarisSet= uses the same paths.
Readers: the vehicle pawn (AcresPolaris.cpp), ACRES Core (AcresCorePolaris.cpp) and the tools of Tools/PolarisModel.
| Name | Type | Unit | Default | Description |
|---|---|---|---|---|
vehicle, status, units, schema |
text | The description of the vehicle and of the file format. | ||
sources |
object | 14 entries | The source documents that the parameters refer to. | |
geometry |
object | m | The wheelbase and the track widths. | |
mass |
object | kg, m | The dry mass, the fluids, the equipment, the occupants and their positions. | |
suspension |
object | The travel, the wheel rates, the damping and the bump stops. | ||
tyres |
object | The radius, the widths, the inflation and the tyre coefficients. | ||
steering |
object | The centre angle and the steering ratio. | ||
engine |
object | The speed limits, the torque curve, the inertia and the fuel map. | ||
fuel |
object | The heating value, the density and the tank volume. | ||
cvt |
object | The ratios, the clutch speeds and the engine brake of the CVT. | ||
gearbox |
object | The ratios of the ranges and the park lock. | ||
brakes |
object | N m/bar | The brake torque for each bar of line pressure. | |
aero |
object | The drag area and the air density. | ||
dbw |
object | The timeouts, the speed scale, the steering, the throttle, the brake, the gear and the ULC. |
Polaris Ranger Dynamics and Drive-by-Wire and ULC give each parameter.
{
"geometry": {
"wheelbase_m": {
"value": 2.8702,
"basis": "oem",
"source": "owner_manual; product_page",
"sd": 0.01,
"note": "113 in (287 cm) for every CREW XP 1000 trim. ..."
}
},
"dbw": {
"command_timeout_s": {
"value": 0.1,
"basis": "fitted",
"source": "dbw_log",
"sd": 0.004
}
}
}
Log line of the read
Agents File#
The file of -Agents= gives each agent its own settings. You write this file. The repository ships no default.
Command-Line Options lists the keys. Run Several Vehicles shows the procedure.
| Name | Type | Unit | Default | Description |
|---|---|---|---|---|
agents |
list | One object for each agent. The maximum is 8. Each object has the key vehicle. |
Sensor Files#
sensors.json#
The sensor configuration of the session and the sensor rig of the Maxxum. The positions are in the FLU frame of the chassis, in metres.
Readers: the sensor recorder (AcresSensors.cpp), the menu (AcresSession.cpp) and the node acres_core_sim.
| Name | Type | Unit | Default | Description |
|---|---|---|---|---|
version, provenance |
text | The version and the origin of the values. | ||
profile |
text | tractor-default |
The name of the sensor profile. An episode records it. | |
profile_validated |
boolean | false | True when recorded data of the real sensors validated the profile. | |
mount_frame |
choice | chassis |
The frame of the positions: chassis or base_footprint. |
|
seed |
integer | 42 | The seed of the sensor noise. | |
delay_s |
number | s | 0.05 | The delivery delay of each sample. |
gnss |
object | The receiver: enabled, hz (10), antenna_flu_m and the receiver model. INS and GNSS gives each key. |
||
imu |
object | enabled, hz (120), the noise, the bias and position_flu_m. |
||
lidar |
object | enabled, hz (10), rings (8), columns (180), range_m (60), the pose and the beam model. LiDAR gives each key. |
||
camera |
object | enabled, hz (10), width (896), height (512), hfov_deg (90), the pose and the camera model. Camera gives each key. |
||
can |
object | enabled and hz (20). Wheel and CAN Signals gives the frames. |
||
ins |
object | disabled | The INS: enabled, hz, the position and the error model. The shipped file has no INS. |
sensors_polaris.json#
The sensor rig of the Polaris. The game puts this file on sensors.json: a key of this file replaces the same key of sensors.json.
The positions are relative to base_footprint. The agent key sensor_overlay uses the same method for one agent.
| Name | Type | Unit | Default | Description |
|---|---|---|---|---|
version, provenance |
text | The version and the origin of the values. | ||
profile |
text | polaris |
The name of the sensor profile. | |
profile_validated |
boolean | true | The camera and the LiDAR agree with recorded data of the real vehicle. | |
mount_frame |
choice | base_footprint |
The frame of the positions. | |
gnss, imu |
object | The positions of the antenna and of the IMU. | ||
lidar |
object | The 32-beam LiDAR: 1800 columns, the beam table, output (pcd), the radiometry and self_returns. |
||
camera |
object | The front camera: the pose, hfov_deg (73.54), the lens and the rolling shutter. |
||
ins |
object | enabled | The INS at 100 Hz with its error model, frame (nad83) and utm_zone (16). |
|
can |
object | disabled | The Polaris has no CAN log in the sensor recorder. |
polaris_lidar_self.f32 is the table of the returns from the body of the vehicle. The key lidar.self_returns names it.
Calibration/Polaris/lidar_stats.py writes the table from recorded scans.
{
"profile": "polaris",
"profile_validated": true,
"mount_frame": "base_footprint",
"camera": {"hz": 10, "width": 896, "height": 512,
"hfov_deg": 73.54,
"position_flu_m": [2.745, 0.606, 1.887],
"rpy_deg": [-3.49, 16.52, -2.63]},
"ins": {"enabled": true, "hz": 100,
"frame": "nad83", "utm_zone": 16},
"can": {"enabled": false}
}
Overlay that disables the camera of one agent
Environment and Farm Files#
environment.json#
The clock and the weather at the start of the session. Weather gives the model. When a value is outside its range, the game rejects the file and uses the defaults of the source code.
Readers: the environment (AcresEnvironment.cpp) and the menu.
| Name | Type | Unit | Default | Description |
|---|---|---|---|---|
version, provenance |
text | The version and the origin of the values. | ||
clock.date |
text | 2026-07-15 |
The start date. | |
clock.start_hour_local |
number | h | 10 | The local start time. |
clock.utc_offset_h |
number | h | -4 | The offset of the local time from UTC. |
clock.seconds_per_game_minute |
number | s | 60 | The real seconds for one minute of game time. The range is 0.01 to 600. |
site.latitude_deg, site.longitude_deg |
number | deg | 40.47, -86.9925 | The position for the sun model. |
temperature.low_c, temperature.high_c |
number | °C | 16, 28 | The low and the high temperature of the day. |
temperature.day_to_day_sigma_c |
number | °C | 1.2 | The random change between days. |
wind.speed_mps, wind.from_deg |
number | m/s, deg | 3.5, 225 | The mean wind at 10 m and its direction. |
wind.turbulence_intensity, wind.roughness_m |
number | , m | 0.2, 0.03 | The parameters of the gust model. |
clouds |
choice | fair |
clear, fair, partly or overcast. |
|
rain.enabled |
boolean | false | Enables the rain event. | |
rain.start_hour, rain.end_hour |
number | h | 15, 16 | The start and the end of the rain event. |
rain.total_mm |
number | mm | 10 | The total depth of the rain event. |
rain.prior_mm, rain.prior_hours |
number | mm, h | 0, 12 | Rain before the start of the session. The range of prior_mm is 0 to 500. |
fog.mode |
choice | auto |
auto, off or fixed. |
|
fog.visibility_m |
number | m | 800 | The visibility for the mode fixed. |
seed |
integer | 42 | The seed of the weather noise. |
{
"clock": {"date": "2026-07-15",
"start_hour_local": 10.0,
"utc_offset_h": -4.0,
"seconds_per_game_minute": 60.0},
"site": {"latitude_deg": 40.47,
"longitude_deg": -86.9925},
"temperature": {"low_c": 16.0, "high_c": 28.0,
"day_to_day_sigma_c": 1.2},
"wind": {"speed_mps": 3.5, "from_deg": 225.0,
"turbulence_intensity": 0.2,
"roughness_m": 0.03},
"clouds": "fair",
"rain": {"enabled": false, "start_hour": 15.0,
"end_hour": 16.0, "total_mm": 10.0,
"prior_mm": 0.0, "prior_hours": 12.0},
"fog": {"mode": "auto", "visibility_m": 800.0},
"seed": 42
}
farm.json#
The crops, the harvest cutter and the soil water. The game stops when the file has a value outside its range.
A session copies the file to farm-config.json in the session folder.
Readers: the farm (AcresFarmRuntime.cpp), the menu, the optimizer and ACRES Core.
| Name | Type | Unit | Default | Description |
|---|---|---|---|---|
version, calibration |
text | The version and the calibration state of the values. | ||
weather |
object | rain_mm_h (0), minimum_c (16), maximum_c (28), evaporation_mm_day (2) and time_scale (1). The environment replaces these values in a session. |
||
crops |
object | 3 entries | corn, soybean and potato: base_c, cap_c, maturity_gdd_c and yield_kg_m2. Crops and Ground Classes gives the model. |
|
harvester |
object | The harvest cutter: width_m (3), the offsets, pto_kw (35) and bunker_capacity_kg (600). The block potato_digger gives the digger. |
||
hydrology |
object | The water grid: the start water content, ksat_scale, the tile drainage, the covers and the percolation. Soil Water gives each key. |
||
sources, source_notes |
list, text | The publications of the models. |
{
"weather": {"rain_mm_h": 0, "minimum_c": 16,
"maximum_c": 28, "evaporation_mm_day": 2,
"time_scale": 1},
"crops": {
"corn": {"base_c": 10, "cap_c": 30,
"maturity_gdd_c": 1400, "yield_kg_m2": 1.1}
},
"harvester": {"width_m": 3, "offset_x_m": -3.2,
"offset_y_m": 2.5, "pto_kw": 35,
"bunker_capacity_kg": 600},
"hydrology": {
"initial_fraction_between_wilting_and_field_capacity": 0.5,
"ksat_scale": 1.0,
"tile_drainage_mm_day": 9.525
}
}
soil_library.json#
The soil library as data: 7 soil classes with their strength at four saturation levels.
The game does not read this file. The table in AcresSoilModel.cpp is the source, and the file is a copy for other programs.
Tools/Terramechanics/physics_tests --export-soils writes the file. A test compares the file with the table.
| Name | Type | Unit | Default | Description |
|---|---|---|---|---|
schema |
text | acres-soil-library-1 |
The format of the file. | |
generated_by, units |
text | The generator and the units. | ||
classes |
list | 7 entries | sand, loamy_sand, sandy_loam, loam, silt_loam, silty_clay_loam and clay. Tyre and Soil gives each key. |
|
hard_surfaces |
object | The ratio of wet friction to dry friction for asphalt, concrete and gravel. |
One state of the silt loam class
Implement and Rig Files#
implements/<id>.json#
One file for each implement of the Maxxum. The game reads the file of the selected implement at the start.
The game makes one dotted key from each nested key, for example hitch.lower_link_m. -ImplementSet= uses these keys.
The game stops when the implement model rejects a key or a value.
Readers: the vehicle pawn (AcresVehicle.cpp, SetupImplement) and the tools of Tools/ImplementModel.
| Name | Type | Unit | Default | Description |
|---|---|---|---|---|
id |
text | The implement identifier. It agrees with the file name. | ||
units, frame, source, model |
text | Notes. The game ignores text values. | ||
mass_kg |
number | kg | The mass of the empty implement. | |
com_x_m, com_y_m, com_z_m |
number | m | The centre of mass in the implement frame. | |
inertia_x_kg_m2, inertia_y_kg_m2, inertia_z_kg_m2 |
number | kg m² | The principal moments of inertia. | |
design_depth_m |
number | m | The design working depth. 0 for an implement that does not work the soil. | |
working_width_m |
number | m | The working width. | |
design_speed_mps |
number | m/s | The design speed. | |
hitch, control |
object | The three-point geometry, the lift rams and the hitch control. Only mounted implements have them. | ||
tines, discs, roller, drill, sprayer, baler, loader, backhoe, tractor |
object | The machine blocks. Each implement has the blocks of its type. |
The files are cultivator, chisel_plow, disc_harrow, seed_drill, mounted_sprayer, loader_bale_fork, backhoe_attachment and square_baler.
Implement Catalog gives the values of each implement.
implements/soils.json contains three reference soils for the tests of the implement model: dry_loam, wet_silty_clay_loam and sand.
The game does not read it.
{
"id": "chisel_plow",
"mass_kg": 1100,
"com_x_m": -0.6258, "com_y_m": 0, "com_z_m": 0.6151,
"inertia_x_kg_m2": 820.4,
"inertia_y_kg_m2": 322.8,
"inertia_z_kg_m2": 836.3,
"design_depth_m": 0.2,
"working_width_m": 2.7,
"design_speed_mps": 2.222,
"hitch": {"lower_link_m": ..., "lift_max_deg": ...},
"control": {"draft_gain_deg": ...},
"tines": {"count": ..., "width_m": ...}
}
rigs/<asset>.json#
One rig map for each equipment rig: the Maxxum, the Polaris and the eight implements.
A rig map gives the bones, the controls and the test poses of the skeletal mesh.
Tools/ACRE/Vehicles/export_rig_map.py writes the files from the Blender sources. Do not edit them by hand.
Reader: the rig code of the game (AcresRig.cpp).
| Name | Type | Unit | Default | Description |
|---|---|---|---|---|
format, version |
text, integer | acres-rig-map, 1 |
The format of the file. | |
asset, title |
text | The name of the asset and its title. | ||
generator, source_blend, source_sha256, source_fbx, rig_object |
text | The origin of the file. | ||
mesh |
text | The Unreal path of the skeletal mesh. | ||
frame |
text | The frame convention: metres, x forward, y left, z up. | ||
mount |
text | The type of the attachment, for example category_II_three_point. |
||
mass_kg |
number | kg | The mass of the asset in the Blender source. | |
attachment_bone |
text | The bone that carries an implement. | ||
controls |
list | The controls with name, unit, min, max and default. |
||
bones |
list | The bones with their parent, their rest pose and their drivers. | ||
sockets_m |
object | m | The named points, for example the hitch pins. | |
hydraulics, linkages |
list | The cylinders and the linkages that the rig solves. | ||
visual_bounds_m |
list | m | The bounding box of the mesh. | |
test_poses |
list | 7 entries | The poses for -RigSelfTest. |
|
hitch |
object | The category and the dimensions of the hitch. Only maxxum_150.json has it. |
||
variants, default_variant |
object, text | The paints of the Polaris. Only polaris.json has them. |
{
"format": "acres-rig-map",
"version": 1,
"asset": "chisel_plow",
"title": "Spring trip chisel plow",
"generator": "Tools/ACRE/Vehicles/export_rig_map.py",
"mesh": "/Game/FarmEquipment/chisel_plow/SK_chisel_plow.SK_chisel_plow",
"mount": "category_II_three_point",
"mass_kg": 1100,
"controls": [
{"name": "trip_00_deg", "unit": "deg",
"min": 0.0, "max": 18.0, "default": 0.0}
]
}
Other Files#
Traffic, Masks and Map Files#
| File | Reader | Contents |
|---|---|---|
npc_cars.json |
AcresNpc.cpp |
The list cars: the meshes, the dimensions, the wheel positions and the paint materials of 9 car models. Tools/ACRE/Tools/import_npc_cars.py writes it. |
grass_mask.json |
AcresVehicle.cpp |
The grid of road_mask.bin: x0, y0, step, width and height. Only a map that is not the ACRE tile uses it. |
road_mask.bin |
AcresVehicle.cpp |
One byte for each cell of the grid. A value that is not 0 is a road. |
polaris_lidar_self.f32 |
AcresSensors.cpp |
The self-return table of the Polaris LiDAR. |
ACRE/* |
Many | The map of the tile: the heights, the surfaces, the fields, the soils, the crops and the places. Map Products describes these files. |
One car, without the wheel positions
{"name": "cortina",
"body": "/Game/ACRE/NPC/Cars/cortina/SM_cortina_Body.SM_cortina_Body",
"wheel": "/Game/ACRE/NPC/Cars/cortina/SM_cortina_Wheel.SM_cortina_Wheel",
"length_m": 4.27, "width_m": 1.652, "height_m": 1.212,
"wheel_radius_m": 0.275, "wheel_width_m": 0.18,
"paint_material_indices": [12, 13]}
Menu Presets and Session Copies#
Presets in Saved/Configs#
The menu can save its values with a name. The file is Saved/Configs/<name>.json.
A preset with terrain edits also has the file <name>.terrain.f32.
| Name | Type | Unit | Default | Description |
|---|---|---|---|---|
schema |
text | acres-session-config-1 |
The format of the file. | |
values |
object | One entry for each menu setting. The key is the identifier of Menu Settings. The value is in the display unit of the menu. | ||
fields |
object | The field setup. The format is that of field-setup.json. |
When the menu loads a preset, it limits each number to the range of its setting.
The menu ignores an unknown identifier and an unknown choice value.
In the example, the wind speed is 12.6 km/h, the display unit. The file environment.json has 3.5 m/s.
Copies in the Session Folder#
The menu writes these files before the session starts. Session Log describes the other files of the folder.
| File | Contents |
|---|---|
environment.json, sensors.json, tractor.json |
The shipped file with each value of the menu in the unit of the file. |
session-config.json |
The same format as a preset. The replay page of the menu can load the settings of a session from it. |
field-setup.json |
The list fields with one entry for each changed field, and the flag terrain_edits. |
terrain-edits.f32 |
1001 × 1001 float32 height offsets on the nodes of the survey grid, in metres. |
| Key of a Field Entry | Type | Unit | Default | Description |
|---|---|---|---|---|
field |
integer | The field number, 1 to 59. | ||
crop |
text | The crop of the field, for example corn, soybean, potato or empty. |
||
soil |
text | The soil preset, or custom. |
||
ks_mm_h, ks_sealed_mm_h |
number | mm/h | The saturated conductivity of the profile and of the sealed surface. | |
suction_m |
number | m | The suction at the wetting front. | |
saturated, field_capacity, wilting |
number | m³/m³ | The water contents of the soil. | |
wetness |
number | The start wetness of the field. |
When you change the top speed in the menu, the menu scales all gear ratios of the copy of tractor.json.
Validation in the Menu#
The menu examines the values in each frame and shows the messages. An error prevents the start of the session.
A warning does not prevent the start. The source is FAcresSession::Validate in AcresSession.cpp.
| Area | Error | Warning |
|---|---|---|
| All numbers | A value is outside the range of its setting. | |
| Weather | The high temperature is less than 1 °C above the low temperature. | The range of the day is more than 28 °C. |
| Rain | The rain ends before it starts. The mean rate is more than 150 mm/h. | The mean rate is more than 50 mm/h. The rain ends before the session starts. |
| Clock | The day does not exist in the month. | One game hour is less than 30 s of real time. |
| Engine | The maximum power is below the rated power. The rated power is more than the torque can give. The maximum speed is less than 600 rev/min above idle. | The torque is high for the power rating. The power for each tonne is below 8 kW or above 45 kW. |
| Stability | The static stability factor is below 0.6. The centre of gravity is not between the axles. | The static stability factor is below 0.75. The front tyres are larger than the rear tyres. The top speed is above 50 km/h. |
| Implement | The depth is more than the implement can reach. The front axle has less than 12 % of the weight. The bale is heavier than the loader rating. The spray rate is more than the pump flow. The harvest cutter and an implement are on at the same time. | The front axle has less than 20 % or more than 60 % of the weight. The gross mass is above 9525 kg. The draft or the draft set-point is more than the grip of the tyres. The depth is 1.5 times the design depth. |
| Machines | The nozzle pressure is outside 1 bar to 5 bar at 8 km/h. The seed rate is above 300 kg/ha. The windrow is more than the pickup of the baler can take. | |
| Sensors | The lowest beam is not below the highest beam. The LiDAR gives more than 1.4 million points in one second. | The LiDAR gives more than 300000 points in one second. The camera load is above the budget. All sensors are off. |
| Replay | The replay has no file. The file is not readable. The mode path has no path columns. |
The file has no path columns. |
| Fields | A custom soil has water contents in the incorrect sequence. | |
| Optimizer | The minimum slip is not below the maximum slip. The work ends before it starts. |
A session from the command line does not use these checks. The models have their own range checks. The game stops with a message when a file or an option has a value outside the range of a model.