Skip to end of metadata
Go to start of metadata

JSON objects

Data are transferred into and out of the ACE and ACMO databases through the API using JSON objects, which consist of key:value pairs. Each key in a key:value pair corresponds to a variable in the ICASA Data Dictionary 

The JSON objects can be very unstructured and are ideally suited to our experimental data, which can vary considerably from one experiment to another. However, some structure in the objects is enforced as described in this section.The JSON object has the following sections:

  •  experiments
    • Top-level data (metadata, site description, location data)
    • initial_conditions
    • management
    • observed
  • weathers
  • soils

None of the data are considered to be required.  Each crop model may have model-specific minimum required data, and the data stored in the database are not guaranteed to run on every model.  In many cases, the data translators must make assumptions about how to deal with incomplete data.

For sample JSON files, please visit:

Compression of data (ACE Binary format)

The ACE Binary (*.aceb) format has been implemented to store the serialized JSON object.

  • The ACE Binary format is used for the internet data transmission between ACE database and UI applications.
  • It is a GZIP representation of the original JSON object with a descriptive file header.
  • This compression reduces the size of the object by as much as 80%.
  • The file header allows for versioning, which means the file will work correctly even we make changes to the internal structure in the future.
  • QuadUI v1.2.1 and later will use this format.


Dates are always sent in the following format: YYYYMMDD


This is interpreted as May 17, 1978.

Sample top level data (metadata, site description, location data)

These data describe the experiment, researchers involved, field location and name, and general site-specific information.  Only data which are supplied to the database are included in the JSON object.

"data_source": "DSSAT",
"crop_model_version": "v4.5",
"exname": "UFGA8201MZ_1",
"local_name": "NIT X IRR, GAINESVILLE 2N*3I",
"in": "UF",
"site": "IRR.PARK,UF.CAMPUS 29.63;-82.37;40.;FLA",
"id_field": "UFGA0002",
"wst_id": "UFGA",
"soil_id": "IBMZ910014",
"fl_lat": "29.63",
"fl_long": "-82.37",
"flele": "40",                          

Sample initial conditions data

Initial soil conditions are set for the soil profile (above the data array) and for the soil layers (within the data array).  Data include the previous crop (soybean), date for initial conditions (1978-06-15), root residue (100 kg/ha), and surface residues (1000 kg/ha).  Soil layer data include depth to bottom of layer, initial soil water content, initial ammonium and nitrate in ppm.

"initial_condition": {
    "icpcr": "MAZ",      /* previous crop = maize */
    "icdat": "19820225",
    "icrt": "100",
    "icrzno": "1",
    "icrze": "1",
    "icrag": "1000",
    "icrn": ".8",
    "icrip": "100",
    "icrdp": "15",
    "soilLayer": [
    {"icbl": "5","ich2o": ".086","icnh4": ".5","icno3": ".1"},
    {"icbl": "15","ich2o": ".086","icnh4": ".5","icno3": ".1"},
    {"icbl": "30","ich2o": ".086","icnh4": ".5","icno3": ".1"},
    {"icbl": "60","ich2o": ".086","icnh4": ".5","icno3": ".1"},
    {"icbl": "90","ich2o": ".076","icnh4": ".6","icno3": ".1"},
    {"icbl": "120","ich2o": ".076","icnh4": ".5","icno3": ".1"},
    {"icbl": "150","ich2o": ".13","icnh4": ".5","icno3": ".1"},
    {"icbl": "180","ich2o": ".258","icnh4": ".5","icno3": ".1"}

Sample weather data

In this sample weather data object, the entire weather station data is one structure, with a nested data structure for the daily weather records. 

  "wst_id": "UFGA",

Sample soil data object

In this sample soil data object, the entire soil profile data is one structure, with a nested data structure for the soil layer records.

      "soil_name":"Millhopper Fine Sand",
      "sl_notes":"AgMIP soil file",
      "classification":"Loamy,silic,hyperth Arenic Paleudult",


Sample management events object

The management section of the JSON object consists of a series of events.  Each event has a date and an event name, such as "planting" or "fertilizer".  Additional data supplied depend on the type of event.

            "ti_name":"Moldboard plow"
            "cul_name":"McCurdy 84aa",


Sample observed data object

"observed": {
    "summary": {
        "hwam": "2929.",
        "hwum": "0.218",
        "h#am": "917.",
        "h#um": "229.",
        "laix": "2.26",
        "cwam": "5532.",
        "bwah": "3530.",
        "adat": "19820512",
        "mdat": "19820704",
        "gn%m": "1.80",
        "cnam": "69.5",
        "snam": "37.8",
        "gnam": "31.7"
    "timeSeries": {
        "data": [
        {"date": "19820226","cwad": "0","laid": "0.00","gwad": "0"},
        {"date": "19820330","cwad": "88","laid": "0.17","lwad": "48","swad": "39","vn%d": "3.63"},
        {"date": "19820413","cwad": "341","laid": "0.56","gwad": "0","lwad": "215","swad": "126"},
        {"date": "19820426","cwad": "1070","laid": "1.43","gwad": "0","lwad": "597","swad": "473"}


  • No labels