Last Updated: 10/31/2024

CAMEL

CAMEL Validation Skill Scores Library Code on NASA GitHub
Public CAMEL Data Git Repo

About

The Comprehensive Assessment of Models and Events using Library Tools (CAMEL) framework is an integrated and flexible framework allowing users to seamlessly compare space weather and space science model outputs with observational data sets.

The backend of the CAMEL framework takes advantage of Community Coordinated Modeling Center (CCMC) existing services.

The front-end interactive visualization tool (i.e. CAMEL Web App) powered by the backend infrastructure allows users to plot model outputs and observation data sets together while providing options to calculate various skill scores from our library of skill scores.

In addition to using the CAMEL interactive visualization tool, the CAMEL framework provides a webservice interface or an Application Programming Interface (API) allowing users to download "approved data sets/output" available on the CAMEL backend database into their own environment. **Note: approved data sets/output = the original owner/curator of the data sets/output gives full permission to the CCMC to share and redistribute the data sets/output.

List of Validation Campaigns on CAMEL

Public Code/Data Repository

As of August 2023, the CAMEL Validation Skill Scores Library code is approved to be an official NASA Open-Source project.

To download and/or contribute to the code, please visit the NASA official code repository for the project: https://github.com/nasa/camel.

In addition, "approved data and output files" ingested into CAMEL are publicly accessible via this public GitLab repo.

Instructions to Provide Data to CAMEL

Before providing your data files to us, please review the following information:

In order to ingest data for your validation study into the CAMEL framework, metadata about your study as well as your data sets are needed.

Currently, CAMEL can only ingest 1-D time-series data. The expected format for data files are ASCII/TEXT files with date/time and parameters in separate columns (see example file [TEXT File]).

Note: It will be helpful to go to the CAMEL Web App to see other validation studies that are available on our system now. Let us know if your data sets should go under an existing validation study or a new one should be created for you.

Required Metadata Information

Please send an email request to the CAMEL team with the following information:

  1. Which Domain does your validation study fit in? (e.g. Solar, Heliosphere, Magnetosphere, Ionosphere, Thermosphere, Space Radiation and Plasma Effects, etc.)
  2. What Topic does your validation study fit in? (Surfacing Charging in near-earth region, Solar Wind Parameters, Total Electron Content, etc.)
  3. What is the location for your study? (e.g. L1) Note: your validation study name would be the combination of topic and location (ex: TEC at Boulder)
  4. Is this a specific event study? If so, please provide your event name, start date in UTC, end date in UTC, and Description.
  5. What are the parameters for your validation study? For each parameter, please provide the parameter name, description, and units.

Data Files Upload Instructions

Please contact the CAMEL team if you are interested in providing/uploading data files to be ingested into CAMEL for a validation study.

All "approved data and output files" ingested into CAMEL are publicly accessible via this public GitLab repo.

Expected/Recommended File Format: ASCII/text file with date, time, parameters, and location/instrument in separate columns (see example file [TEXT File]).

Publications

  • L. Rastaetter, C. Wiegand, R. Mullinix (2019), Comprehensive Assessment of Models and Events using Library Tools (CAMEL) framework: Time series comparisons, Space Weather, DOI: 10.1029/2018SW002043.

Publication Policy

For tracking purposes for our government sponsors, we ask that you notify the CCMC whenever you use any CCMC tools/software systems in any scientific publications and/or presentations. Follow the steps on the publication submission page

See our full publication policy for a sample 'acknowledgement statement' to be included in your publication.

Please also follow and acknowledge the owner/generator/curator of the original data sets/output by adhering to their rules of the road, licenses, and/or data policy whenever applicable.

Web Service/API Documentation

OpenAPI Documentation provided by Swagger

EndPoint: info

https://ccmc.gsfc.nasa.gov/camel-api/info?

https://ccmc.gsfc.nasa.gov/camel-api/info?study=STUDYNAME

Example: https://ccmc.gsfc.nasa.gov/camel-api/info?study=AmbientSolarWind

Optional Argument

study (string): Name of the study

Note: if no study name is used, the call would return all studies info

Returns (JSON)

studyID, studyName, description, studyPage, publicRepoUR

Sample Output

[
  {
    "studyID": "AmbientSolarWind",
    "studyName": "Ambient Solar Wind Validation Study",
    "description": "Ambient Solar Wind Validation Study under the COSPAR ISWAT Team ID, H1-01",
    "studyPage": "https://ccmc.gsfc.nasa.gov/iswat/H1-01/",
    "publicRepoURL": "https://git.smce.nasa.gov/ccmc-share/camel-data/-/tree/master/Ambient-Solar-Wind?ref_type=heads"
  }
]

EndPoint: timeperiods

https://ccmc.gsfc.nasa.gov/camel-api/timeperiods?study=STUDNAME

Example: https://ccmc.gsfc.nasa.gov/camel-api/timeperiods?study=AmbientSolarWind

Argument (Query String)

study (string): Name of the study

Returns (JSON)

timeperiodID, timeperiodName, startDate, endDate, timeperiodType

Sample Output

[
  {
    "timeperiodID": "1963-01-TP-01",
    "timeperiodName": "1963-01-TP-01",
    "startDate": "1963-01-01T00:00:00Z",
    "endDate": "2023-01-01T00:00:00Z",
    "timeperiodType": null
  },
  {
    "timeperiodID": "1992-05-TP-01",
    "timeperiodName": "1992-05-TP-01",
    "startDate": "1992-05-24T00:00:00Z",
    "endDate": "2017-01-01T00:00:00Z",
    "timeperiodType": null
  },
  {
    "timeperiodID": "2008-01-TP-01",
    "timeperiodName": "2008-01-TP-01",
    "startDate": "2008-01-01T00:00:00Z",
    "endDate": "2009-01-01T00:00:00Z",
    "timeperiodType": null
  },
  {
    "timeperiodID": "2012-01-TP-01",
    "timeperiodName": "2012-01-TP-01",
    "startDate": "2012-01-01T00:00:00Z",
    "endDate": "2013-01-01T00:00:00Z",
    "timeperiodType": null
  },
  {
    "timeperiodID": "2017-01-TP-01",
    "timeperiodName": "2017-01-TP-01",
    "startDate": "2017-01-01T00:00:00Z",
    "endDate": "2018-01-01T00:00:00Z",
    "timeperiodType": null
  },
  {
    "timeperiodID": "2024-01-TP-01",
    "timeperiodName": "2024-01-TP-01",
    "startDate": "2024-01-01T00:00:00Z",
    "endDate": "2024-06-01T00:00:00Z",
    "timeperiodType": null
  }
]

EndPoint: locations

https://ccmc.gsfc.nasa.gov/camel-api/locations?study=STUDYNAME

Example: https://ccmc.gsfc.nasa.gov/camel-api/locations?study=AmbientSolarWind

Argument (Query String)

study (string): Name of the study

Returns (JSON)

locationID, locationName, description, magLong, magLat, geoLat, geoLon, region

Sample Output

[
  {
    "locationID": "L1",
    "locationName": "L1",
    "description": "The Lagrangian point 1 (L1) of the Sun-Earth system",
    "magLon": 0,
    "magLat": 0,
    "geoLat": 0,
    "geoLon": 0,
    "region": null
  }
]

EndPoint: sources

https://ccmc.gsfc.nasa.gov/camel-api/sources?study=STUDYNAME

Example: https://ccmc.gsfc.nasa.gov/camel-api/sources?study=AmbientSolarWind

Argument (Query String)

study (string): Name of the study

Returns (JSON)

sourceID, sourceName, description, isObservation, isProtected

Sample Output

[
  {
    "sourceID": "Bailey-ML",
    "sourceName": "BAILEY ML",
    "description": "Bailey-ML model output",
    "isObservation": false,
    "isProtected": false
  },
  {
    "sourceID": "BRaVDA",
    "sourceName": "BRaVDA",
    "description": "BRaVDA model output",
    "isObservation": false,
    "isProtected": false
  },
  {
    "sourceID": "EUHFORIA",
    "sourceName": "Euhforia ",
    "description": "EUHFORIA model output",
    "isObservation": false,
    "isProtected": false
  },
  {
    "sourceID": "OMNI_PT1H",
    "sourceName": "OMNI Hourly Data Set",
    "description": "Hourly averaged, multi-source, near-Earth solar wind magnetic field, plasma and energetic proton flux data from OMNI, https://hpde.io/NASA/NumericalData/OMNI/HighResolutionObservations/Version1/PT1M",
    "isObservation": true,
    "isProtected": false
  }
]

EndPoint: parameters

https://ccmc.gsfc.nasa.gov/camel-api/parameters?study=STUDYNAME

Example: https://ccmc.gsfc.nasa.gov/camel-api/parameters?study=AmbientSolarWind

Argument (Query String)

study (string): Name of the study

Returns (JSON)

parameterID, parameterName, description, unit

Sample Output

[
  {
    "parameterID": "Flow_Speed",
    "parameterName": "Flow_Speed",
    "description": "Plasma (proton) flow speed",
    "unit": "km/s"
  },
  {
    "parameterID": "Proton_Density",
    "parameterName": "Proton_Density",
    "description": "Plasma proton density",
    "unit": "N/cm^3"
  }
]

EndPoint: data

data?study=“studyID”& source=“sourceID”&location=“locationID”&start=“timestamp”&end=“timestamp”&parameters=“P0,P1”&type=“json/csv/traces”

data?study=“studyID”&source=“sourceID”&location=“locationID”&timeperiod=“timeperiodID”

Argument (Query String)

study (string) is required: studyID

source (string) is required: sourceID

location (string) is required: locationID

Either start+end OR timeperiod is required. Note: start and end must be in format YYYY-MM-DDTHH:mm:ssZ

parameter is optional and is default to return ALL parameters if not used: parameterID,parameterID,…

type is default to json while we also provide csv and traces as the other option on return type format

Sample Output (JSON)

https://ccmc.gsfc.nasa.gov/camel-api/data?study=AmbientSolarWind&source=Euhforia&location=L1&start=2008-01-01T00:00:00Z&end=2008-01-01T01:00:00Z&parameters=Flow_Speed&format=json

{
  "parameters": ["Flow_Speed"],
  "data": [
    ["2008-01-01T00:13:30Z", 426.362],
    ["2008-01-01T00:23:30Z", 426.18701],
    ["2008-01-01T00:33:30Z", 426.01001],
    ["2008-01-01T00:43:30Z", 425.82901],
    ["2008-01-01T00:53:30Z", 425.64499]
  ]
}

Sample Output (TRACES)

https://ccmc.gsfc.nasa.gov/camel-api/data?study=AmbientSolarWind&source=Euhforia&location=L1&start=2008-01-01T00:00:00Z&end=2008-01-01T01:00:00Z&parameters=Flow_Speed&format=traces

{
  "parameters": ["Flow_Speed"],
  "timestamps": [
    "2008-01-01T00:13:30Z",
    "2008-01-01T00:23:30Z",
    "2008-01-01T00:33:30Z",
    "2008-01-01T00:43:30Z",
    "2008-01-01T00:53:30Z"
  ],
  "values": [[426.362], [426.18701], [426.01001], [425.82901], [425.64499]]
}

Sample Output (CVS)

https://ccmc.gsfc.nasa.gov/camel-api/data?study=AmbientSolarWind&source=Euhforia&location=L1&start=2008-01-01T00:00:00Z&end=2008-01-01T01:00:00Z&parameters=Flow_Speed&format=csv

# timestamp Flow_Speed
2008-01-01T00:13:30Z 426.362
2008-01-01T00:23:30Z 426.18701
2008-01-01T00:33:30Z 426.01001
2008-01-01T00:43:30Z 425.82901
2008-01-01T00:53:30Z 425.64499