Last Updated: 06/21/2023

Examples of JSON data files for the SEP Scoreboard

Guiding Principles

Well, before we get to the examples, here are some guiding principles you should be aware of.

We can only have one forecast for each energy channel in a single JSON file (but you can have multiple energy channels in one file). If you need more, then talk to us* about how to break your forecast into multiple files.

The "mode" value is typically "forecast", however, it can also be "historical", "nowcast", or "simulated_realtime_forecast". Please talk to us* if you are unsure about which one to use.

Each model has different data they include in their JSON data file. There are many optional fields. For details regarding required and optional fields, please consult our visual schema.

Simple JSON data file examples

Here's what the basic structure of the JSON file should look like.

{
  "sep_forecast_submission": {
    "model": { "short_name": "SEPMOD", "spase_id": "spase://CCMC/SimulationModel/SEPMOD/v2.20181114" },
    "issue_time": "2020-11-24T19:42:00Z",
    "mode": "historical",
    "triggers": [ ...more details on the triggers section below... ],
    "input": [ ...more details on the model input section below... ],
    "forecasts": [ ...more details on the forecast section below... ],
  }
}

Here are details for the different sections

Triggers

There are four types of triggers currently defined. If you had a different kind of trigger for your model run, please tell us* about it.

  • The four types are
    • CME
    • Flare
    • CME Simulation
    • Particle Intensity

NOTE: you can have more than one type of trigger in your triggers list.

Here is what a CME trigger section might look like. NOTE: you can have more than one 'cme' section in the triggers list.

{
  "cme": {
    "start_time": "2020-11-24T13:24:00Z",
    "lat": "-10",
    "lon": "-148",
    "half_width": "42",
    "speed": "878",
    "time_at_height": {
      "time": "2020-11-24T17:19Z",
      "height": "21.5"
    },
    "coordinates": "HEEQ",
    "catalog": "DONKI",
    "catalog_id": "2020-11-24T13:24:00-CME-001"
  }
}

Here is what a Flare trigger section might look like. NOTE: you can have more than one 'flare' section in the triggers list.

{
  "flare": {
    "last_data_time": "2017-09-10T16:31Z",
    "start_time": "2017-09-10T15:35Z",
    "peak_time": "2017-09-10T16:06Z",
    "end_time": "2017-09-10T16:31Z",
    "location": "S08W88",
    "intensity": "8.2e-4",
    "noaa_region": 12673,
    "urls": [
      "ftp://ftp.swpc.noaa.gov/pub/indices/events/events.txt",
"https://kauai.ccmc.gsfc.nasa.gov/DONKI/view/FLR/13098/4"
    ]
  }
}

Here is what a CME Simulation trigger section might look like. NOTE: you can have more than one 'cme_simulation' section in the triggers list.

{
  "cme_simulation": {
    "model": "WSA-ENLIL+Cone",
    "simulation_completion_time": "2020-11-24T19:42:00Z",
    "urls": [
"https://kauai.ccmc.gsfc.nasa.gov/DONKI/view/WSA-ENLIL/16129/1"
    ]
  }
}

Here is what a Particle Intensity trigger section might look like. NOTE: you can have more than one 'particle_intensity' section in the triggers list.

{
  "particle_intensity": {
    "observatory": "GOES-15",
    "instrument": "HEPAD",
    "last_data_time": "2017-09-05T02:09:00Z"
  }
}

Model Inputs

There are three types of model inputs currently defined. If you had a different kind of input for your model run, please tell us* about it.

  • The three types are
  • Magnetic Connectivity
  • Magnetogram
  • Coronagraph

NOTE: you can have more than one type of model input in your inputs list.

Here is what a Magnetic Connectivity model input section might look like. NOTE: you can have more than one 'magnetic_connectivity' section in the inputs list.

{
  "magnetic_connectivity": {
    "method": "PFSS",
    "lat": -32.4,
    "lon": 64.7,
    "connection_angle": {
      "lat": 34.4,
      "lon": 114.3,
      "great_circle": 111.5
    },
    "solar_wind": {
      "observatory": "DSCOVR",
      "speed": 374
    }
  }
}

Here is what a Magnetogram model input section might look like. NOTE: you can have more than one 'magnetogram' section in the inputs list.

{
  "magnetogram": {
    "observatory": "SDO",
    "instrument": "HMI",
    "products": [
      {
        "product": "hmi.M_45s_nrt",
        "last_data_time": "2021-04-19T14:59Z"
      },
      {
        "product": "hmi.sharp_720s_nrt",
        "last_data_time": "2021-04-19T14:58Z"
      }
    ]
  }
}

Here is what a Coronagraph model input section might look like. NOTE: you can have more than one 'coronagraph' section in the inputs list.

{
  "coronagraph": {
    "observatory": "MLSO",
    "instrument": "K-Cor",
    "products": [
      {
        "product": "White Light",
        "last_data_time": "2021-06-28T20:04:37Z"
      }
    ]
  }
}

Forecasts

NOTE: you can have more than one forecast in your Forecasts list. However, each forecast must be for a different energy channel.

{
  "energy_channel": {
    "min": 10,
    "max": -1,
    "units": "MeV"
  },
  "species": "proton",
  "location": "earth",
  "prediction_window": {
    "start_time": "2021-04-13T11:53Z",
    "end_time": "2021-04-13T23:25Z"
  },
  "peak_intensity": {
    "intensity": 3.369e-02,
    "units": "s^-1*cm^-2*sr^-1",
    "uncertainty_low": 1.966e-02,
    "uncertainty_high": 4.719e-02
  },
  "fluences": [{
    "fluence": 3.920e+03,
    "uncertainty_low": 2.313e+03,
    "uncertainty_high": 5.640e+03,
    "units": "cm^-2*sr^-1"
  }],
  "all_clear": {
    "all_clear_boolean": true,
    "threshold": 10,
    "threshold_units": "s^-1*cm^-2*sr^-1"
  }
}

Contact

For a complete listing of all the allowed fields and value types, please look at our visual schema.

If that still doesn't make sense, or cover your situation, please email us to get more information about how to get your data into our format.*

If you want to use the 'observations' section, please contact us.*

Who is 'us'? You can email Dr. M. Leila Mays (CCMC Assistant Director and SEP Scientist) and Joycelyn Jones (SEP Scoreboard system developer) at m.leila.mays@nasa.gov and joycelyn.t.jones@nasa.gov, respectively.