CDAWeb

Documentation for CDAWeb.

Installation

using Pkg
Pkg.add("https://github.com/JuliaSpacePhysics/CDAWeb.jl")

Quick Example

using CDAWeb
using Dates

# Fetch solar wind velocity data from OMNI dataset
dataset = "OMNI_COHO1HR_MERGED_MAG_PLASMA"
t0 = DateTime(2020, 1, 1) # Start time
t1 = DateTime(2020, 1, 2) # End time
data = get_data(dataset,"V",t0,t1)
# Data is automatically cached for faster subsequent access
V (25)
  Datatype:    Float32
  Dimensions:  Epoch
  Attributes:
   FILLVAL              = Float32[-1.0f31]
   FIELDNAM             = Bulk Flow Speed
   VALIDMAX             = Float32[1200.0]
   CATDESC              = Bulk Flow Speed
   VALIDMIN             = Float32[0.0]
   DISPLAY_TYPE         = time_series
   UNITS                = km/s
   DEPEND_0             = Epoch
   FORMAT               = F5.0
   VAR_TYPE             = data
   LABLAXIS             = Bulk Flow Speed
   DIM_SIZES            = Int32[0]

Retrieve the original monthly data files and clip to the exact requested time range.

data = get_data(dataset,"V",t0,t1; orig = true, clip=true)
View:  1:25
 V  (744)
   Datatype:    Float32
   Dimensions:  Epoch
   Attributes:
    FILLVAL              = Float32[-1.0f31]
    FIELDNAM             = Bulk Flow Speed
    VALIDMAX             = Float32[1200.0]
    CATDESC              = Bulk Flow Speed
    VALIDMIN             = Float32[0.0]
    DISPLAY_TYPE         = time_series
    UNITS                = km/s
    DEPEND_0             = Epoch
    FORMAT               = F5.0
    VAR_TYPE             = data
    LABLAXIS             = Bulk Flow Speed

Additional Features

Accessing Master CDF Metadata

Retrieve metadata without specifying a time range to access the master CDF file:

# Update/download the master CDF files
CDAWeb.update_master_cdf()
# Returns metadata from the master CDF for the ACE magnetic field dataset
get_data("AC_H0_MFI", "BGSEc")
BGSEc (3 × 0)
  Datatype:    Float32
  Dimensions:  cartesian × Epoch
  Attributes:
   FILLVAL              = Float32[-1.0f31]
   FIELDNAM             = Mag Field vector, GSE coord
   VALIDMAX             = Float32[65534.0, 65534.0, 65534.0]
   SCALEMAX             = Float32[25.0, 25.0, 25.0]
   DEPEND_1             = cartesian
   CATDESC              = Magnetic Field Vector in GSE Cartesian coordinates (16 sec)
   AVG_TYPE             =  
   VALIDMIN             = Float32[-65534.0, -65534.0, -65534.0]
   DISPLAY_TYPE         = time_series
   UNITS                = nT
   VAR_NOTES            =  
   DEPEND_0             = Epoch
   LABL_PTR_1           = StaticStrings.StaticString{6}["Bx GSE", "By GSE", "Bz GSE"]
   FORMAT               = F9.3
   VAR_TYPE             = data
   SCALEMIN             = Float32[-25.0, -25.0, -25.0]
   DICT_KEY             = magnetic_field

Finding Available Datasets

Search for datasets matching a pattern:

# Find all ACE H0 (high resolution) datasets
find_datasets("AC_H0")
2-element Vector{CDFDatasets.CDFDataset{CommonDataFormat.CDFDataset{CommonDataFormat.NoCompression, Int64}}}:
 Dataset: 
Group: /

Variables
  Epoch   (0)
    Datatype:    CommonDataFormat.Epoch
    Dimensions:  
    Attributes:
     FILLVAL              = [-1.0e31]
     FIELDNAM             = Time
     VALIDMAX             = CommonDataFormat.Epoch[2020-01-01T00:00:00]
     SCALEMAX             = CommonDataFormat.Epoch[2020-01-01T00:00:00]
     CATDESC              = Time, beginning of interval
     AVG_TYPE             =  
     VALIDMIN             = CommonDataFormat.Epoch[1996-01-01T00:00:00]
     DISPLAY_TYPE         =  
     UNITS                = ms
     VAR_NOTES            =  
     SCALETYP             = LINEAR
     MONOTON              = INCREASE
     FORMAT               = E14.8
     VAR_TYPE             = support_data
     SCALEMIN             = CommonDataFormat.Epoch[1996-01-01T00:00:00]
     LABLAXIS             = Epoch
     DICT_KEY             = time>epoch

  Time_PB5   (3 × 0)
    Datatype:    Int32
    Dimensions:  
    Attributes:
     FILLVAL              = Int32[-2147483648]
     FIELDNAM             = Time PB5
     VALIDMAX             = Int32[2020, 366, 0]
     SCALEMAX             = Int32[2020, 366, 0]
     DEPEND_1             = unit_time
     CATDESC              = Time of observation in Year, Day, & milliseconds (16 sec)
     VALIDMIN             = Int32[1997, 237, 0]
     FORM_PTR             = format_time
     SCALETYP             = LINEAR
     DEPEND_0             = Epoch
     UNIT_PTR             = unit_time
     LABL_PTR_1           = StaticStrings.StaticString{27}["Year                       ", "Day of Year (Jan 1 = Day 1)", "Elapsed milliseconds of day"]
     MONOTON              = INCREASE
     VAR_TYPE             = support_data
     SCALEMIN             = Int32[1997, 237, 0]
     DICT_KEY             = time>pb5

  Magnitude   (0)
    Datatype:    Float32
    Dimensions:  Epoch
    Attributes:
     FILLVAL              = Float32[-1.0f31]
     FIELDNAM             = B-field magnitude
     VALIDMAX             = Float32[500.0]
     SCALEMAX             = Float32[10.0]
     CATDESC              = B-field magnitude
     AVG_TYPE             =  
     VALIDMIN             = Float32[0.0]
     DISPLAY_TYPE         = time_series
     UNITS                = nT
     VAR_NOTES            =  
     DEPEND_0             = Epoch
     FORMAT               = F8.3
     VAR_TYPE             = data
     SCALEMIN             = Float32[0.0]
     LABLAXIS             = <|B|>
     DICT_KEY             = magnetic_field>magnitude

  BGSEc   (3 × 0)
    Datatype:    Float32
    Dimensions:  cartesian × Epoch
    Attributes:
     FILLVAL              = Float32[-1.0f31]
     FIELDNAM             = Mag Field vector, GSE coord
     VALIDMAX             = Float32[65534.0, 65534.0, 65534.0]
     SCALEMAX             = Float32[25.0, 25.0, 25.0]
     DEPEND_1             = cartesian
     CATDESC              = Magnetic Field Vector in GSE Cartesian coordinates (16 sec)
     AVG_TYPE             =  
     VALIDMIN             = Float32[-65534.0, -65534.0, -65534.0]
     DISPLAY_TYPE         = time_series
     UNITS                = nT
     VAR_NOTES            =  
     DEPEND_0             = Epoch
     LABL_PTR_1           = StaticStrings.StaticString{6}["Bx GSE", "By GSE", "Bz GSE"]
     FORMAT               = F9.3
     VAR_TYPE             = data
     SCALEMIN             = Float32[-25.0, -25.0, -25.0]
     DICT_KEY             = magnetic_field

  label_BGSE   (3 × 1)
    Datatype:    StaticStrings.StaticString{6}
    Dimensions:  
    Attributes:
     VAR_NOTES            =  
     FORMAT               = a7
     VAR_TYPE             = metadata
     CATDESC              = Label for B in Cartesian GSE
     FIELDNAM             = Label for B in Cartesian GSE
     AVG_TYPE             =  
     DICT_KEY             = label
     DISPLAY_TYPE         =  

  BGSM   (3 × 0)
    Datatype:    Float32
    Dimensions:  cartesian × Epoch
    Attributes:
     FILLVAL              = Float32[-1.0f31]
     FIELDNAM             = Mag field vector, GSM coord
     VALIDMAX             = Float32[65534.0, 65534.0, 65534.0]
     SCALEMAX             = Float32[25.0, 25.0, 25.0]
     DEPEND_1             = cartesian
     CATDESC              = Magnetic field vector in GSM coordinates (16 sec)
     VALIDMIN             = Float32[-65534.0, -65534.0, -65534.0]
     DISPLAY_TYPE         = time_series
     UNITS                = nT
     SCALETYP             = LINEAR
     DEPEND_0             = Epoch
     LABL_PTR_1           = StaticStrings.StaticString{8}["Bx (GSM)", "By (GSM)", "Bz (GSM)"]
     MONOTON              = FALSE
     FORMAT               = E9.3
     VAR_TYPE             = data
     SCALEMIN             = Float32[-25.0, -25.0, -25.0]

  label_bgsm   (3 × 1)
    Datatype:    StaticStrings.StaticString{8}
    Dimensions:  
    Attributes:
     FORMAT               = a9
     VAR_TYPE             = metadata
     CATDESC              = Label for B in GMS coordinates
     FIELDNAM             = Label for B in GMS coordinates

  dBrms   (0)
    Datatype:    Float32
    Dimensions:  Epoch
    Attributes:
     FILLVAL              = Float32[-1.0f31]
     FIELDNAM             = RMS of B (16 sec)
     VALIDMAX             = Float32[10.0]
     SCALEMAX             = Float32[5.0]
     CATDESC              = RMS of Magnetic Field (16 sec period)
     AVG_TYPE             = RMS
     VALIDMIN             = Float32[0.0]
     DISPLAY_TYPE         = time_series
     UNITS                = nT
     VAR_NOTES            =  
     DEPEND_0             = Epoch
     FORMAT               = F8.3
     VAR_TYPE             = data
     SCALEMIN             = Float32[0.0]
     LABLAXIS             = dBrms
     DICT_KEY             = magnetic_field>rms

  Q_FLAG   (0)
    Datatype:    Int32
    Dimensions:  
    Attributes:
     FILLVAL              = Int32[-2147483648]
     FIELDNAM             = Quality Flag: Data
     VALIDMAX             = Int32[2]
     SCALEMAX             = Int32[2]
     CATDESC              = Data Quality Flag
     AVG_TYPE             =  
     VALIDMIN             = Int32[0]
     DISPLAY_TYPE         = time_series
     UNITS                =  (0=good)
     VAR_NOTES            = Data Quality Flag: 0 = good; 1 = S/C Maneuver & subsequent high-nutation period (~4 hr) 2 = Bad data/missing data
     DEPEND_0             = Epoch
     FORMAT               = I1
     VAR_TYPE             = support_data
     SCALEMIN             = Int32[0]
     LABLAXIS             = Quality Flag
     DICT_KEY             = flag>quality

  SC_pos_GSE   (3 × 0)
    Datatype:    Float32
    Dimensions:  cartesian × Epoch
    Attributes:
     FILLVAL              = Float32[-1.0f31]
     FIELDNAM             = S/C position in GSE
     VALIDMAX             = Float32[2.0f6, 2.0f6, 2.0f6]
     SCALEMAX             = Float32[2.0f6, 2.0f6, 2.0f6]
     DEPEND_1             = cartesian
     CATDESC              = ACE s/c position, 3 comp. in GSE coord.
     AVG_TYPE             = standard
     VALIDMIN             = Float32[-2.0f6, -2.0f6, -2.0f6]
     DISPLAY_TYPE         = time_series
     UNITS                = km
     VAR_NOTES            =  
     DEPEND_0             = Epoch
     LABL_PTR_1           = StaticStrings.StaticString{10}["ACE X-GSE ", "ACE Y-GSE ", "ACE Z-GSE "]
     FORMAT               = f9.1
     VAR_TYPE             = data
     SCALEMIN             = Float32[-2.0f6, -2.0f6, -2.0f6]
     DICT_KEY             = position>gse_cartesian

  label_pos_GSE   (3 × 1)
    Datatype:    StaticStrings.StaticString{10}
    Dimensions:  
    Attributes:
     VAR_NOTES            =  
     FORMAT               = a11
     VAR_TYPE             = metadata
     CATDESC              = Label for ACE Position (GSE)
     FIELDNAM             = Label for POS (GSE)
     DICT_KEY             = label
     DISPLAY_TYPE         =  

  SC_pos_GSM   (3 × 0)
    Datatype:    Float32
    Dimensions:  cartesian × Epoch
    Attributes:
     FILLVAL              = Float32[-1.0f31]
     FIELDNAM             = S/C position in GSM
     VALIDMAX             = Float32[2.0f6, 2.0f6, 2.0f6]
     SCALEMAX             = Float32[2.0f6, 2.0f6, 2.0f6]
     DEPEND_1             = cartesian
     CATDESC              = ACE s/c position, 3 comp. in GSM coord.
     AVG_TYPE             = standard
     VALIDMIN             = Float32[-2.0f6, -2.0f6, -2.0f6]
     DISPLAY_TYPE         = time_series
     UNITS                = km
     VAR_NOTES            =  
     DEPEND_0             = Epoch
     LABL_PTR_1           = StaticStrings.StaticString{10}["ACE X-GSM ", "ACE Y-GSM ", "ACE Z-GSM "]
     FORMAT               = f9.1
     VAR_TYPE             = data
     SCALEMIN             = Float32[-2.0f6, -2.0f6, -2.0f6]
     DICT_KEY             = position>gsm_cartesian

  label_pos_GSM   (3 × 1)
    Datatype:    StaticStrings.StaticString{10}
    Dimensions:  
    Attributes:
     VAR_NOTES            =  
     FORMAT               = a11
     VAR_TYPE             = metadata
     CATDESC              = Label for ACE POS(GSM)
     FIELDNAM             = Label for POS (GSM)
     AVG_TYPE             =  
     DICT_KEY             = label
     DISPLAY_TYPE         =  

  unit_time   (3 × 1)
    Datatype:    StaticStrings.StaticString{4}
    Dimensions:  
    Attributes:
     FORMAT               = a5
     VAR_TYPE             = metadata
     CATDESC              = Units for Time_PB5
     FIELDNAM             = Units for Time_PB5
     DICT_KEY             = label

  label_time   (3 × 1)
    Datatype:    StaticStrings.StaticString{27}
    Dimensions:  
    Attributes:
     FORMAT               = a28
     VAR_TYPE             = metadata
     CATDESC              = Label for Time_PB5
     FIELDNAM             = Label for Time_PB5
     DICT_KEY             = label

  format_time   (3 × 1)
    Datatype:    StaticStrings.StaticString{2}
    Dimensions:  
    Attributes:
     FORMAT               = a3
     VAR_TYPE             = metadata
     CATDESC              = Format for Time_PB5
     FIELDNAM             = Format for Time_PB5
     DICT_KEY             = label

  cartesian   (3 × 1)
    Datatype:    StaticStrings.StaticString{11}
    Dimensions:  
    Attributes:
     VAR_NOTES            =  
     FORMAT               = a12
     VAR_TYPE             = metadata
     CATDESC              = Components in Cartesian Coord.
     FIELDNAM             = Components in Cartesian Coord.
     AVG_TYPE             =  
     DICT_KEY             = label
     DISPLAY_TYPE         =  

Global attributes
  TITLE                = ["ACE> Magnetometer Parameters"]
  Project              = ["ISTP>International Solar-Terrestrial Physics"]
  Discipline           = ["Space Physics>Interplanetary Studies"]
  Source_name          = ["AC>Advanced Composition Explorer"]
  Data_type            = ["H0>16-Sec Level 2 Data"]
  Descriptor           = ["MAG>ACE Magnetic Field Instrument"]
  Data_version         = [" "]
  Generated_by         = ["ACE Science Center"]
  Generation_date      = [" "]
  LINK_TEXT            = ["Release notes and other info available at"]
  LINK_TITLE           = ["the ACE Science Center Level 2 Data website"]
  HTTP_LINK            = ["https://izw1.caltech.edu/ACE/ASC/level2/index.html"]
  TEXT                 = ["MAG - ACE Magnetic Field Experiment", "References: http://www.srl.caltech.edu/ACE/", "The quality of ACE level 2 data is such that it is suitable for serious ", "scientific study.  However, to avoid confusion and misunderstanding, it ", "is recommended that users consult with the appropriate ACE team members", "before publishing work derived from the data. The ACE team has worked ", "hard to ensure that the level 2 data are free from errors, but the team ", "cannot accept responsibility for erroneous data, or for misunderstandings ", "about how the data may be used. This is especially true if the appropriate ", "ACE team members are not consulted before publication. At the very ", "least, preprints should be forwarded to the ACE team before publication."]
  MODS                 = ["Initial Release 9/7/01 ", "12/04/02: Fixed description of Epoch time variable."]
  ADID_ref             = ["NSSD0327"]
  Logical_file_id      = ["ac_h0_mfi_00000000_v01"]
  Logical_source       = ["AC_H0_MFI"]
  Logical_source_description = ["H0 - ACE Magnetic Field 16-Second Level 2 Data"]
  PI_name              = ["N. Ness"]
  PI_affiliation       = ["Bartol Research Institute"]
  Mission_group        = ["ACE", "!___Interplanetary Data near 1 AU"]
  Instrument_type      = ["Magnetic Fields (space)"]
  Time_resolution      = ["16 second"]
  Web_site             = ["http://www.srl.caltech.edu/ACE/"]
  Acknowledgement      = ["Please acknowledge the Principal ", "Investigator, N. Ness of Bartol Research ", "Institute"]
  Rules_of_use         = ["See the rules of use available from the ACE ", "Science Center at: ", "http://www.srl.caltech.edu/ACE/ASC/level2/policy_lvl2.html"]
  alt_logical_source   = ["ACE_MAG_Solar-Wind-Magnetic-Field-Level2-H0_16sec_cdf"]
  spase_DatasetResourceID = ["spase://NASA/NumericalData/ACE/MAG/L2/PT16S"]
  DOI                  = ["https://doi.org/10.48322/e0dc-0h53"]

 Dataset: 
Group: /

Variables
  Epoch   (0)
    Datatype:    CommonDataFormat.Epoch
    Dimensions:  
    Attributes:
     FILLVAL              = [-1.0e31]
     FIELDNAM             = Time
     VALIDMAX             = CommonDataFormat.Epoch[2020-01-01T00:00:00]
     SCALEMAX             = CommonDataFormat.Epoch[2020-01-01T00:00:00]
     DELTA_MINUS_VAR      = Delta_time
     CATDESC              = Time, beginning of interval
     AVG_TYPE             = standard
     DELTA_PLUS_VAR       = Delta_time
     VALIDMIN             = CommonDataFormat.Epoch[1996-01-01T00:00:00]
     DISPLAY_TYPE         =  
     UNITS                = ms
     VAR_NOTES            =  
     SCALETYP             = LINEAR
     MONOTON              = INCREASE
     FORMAT               = E14.8
     VAR_TYPE             = support_data
     SCALEMIN             = CommonDataFormat.Epoch[1996-01-01T00:00:00]
     LABLAXIS             = Epoch
     DICT_KEY             = time>Epoch

  Time_PB5   (3 × 0)
    Datatype:    Int32
    Dimensions:  
    Attributes:
     FILLVAL              = Int32[-2147483648]
     FIELDNAM             = Time PB5
     VALIDMAX             = Int32[2020, 366, 0]
     SCALEMAX             = Int32[2020, 366, 0]
     DEPEND_1             = unit_time
     CATDESC              = Time of observation in Year, Day, & milliseconds (64 sec)
     VALIDMIN             = Int32[1997, 237, 0]
     FORM_PTR             = format_time
     SCALETYP             = LINEAR
     DEPEND_0             = Epoch
     UNIT_PTR             = unit_time
     LABL_PTR_1           = StaticStrings.StaticString{27}["Year                       ", "Day of Year (Jan 1 = Day 1)", "Elapsed milliseconds of day"]
     MONOTON              = INCREASE
     VAR_TYPE             = support_data
     SCALEMIN             = Int32[1997, 237, 0]
     DICT_KEY             = time>PB5

  unit_time   (3 × 1)
    Datatype:    StaticStrings.StaticString{4}
    Dimensions:  
    Attributes:
     VAR_TYPE             = metadata
     CATDESC              = Units for Time_PB5
     FIELDNAM             = Units for Time_PB5
     DICT_KEY             = label>

  label_time   (3 × 1)
    Datatype:    StaticStrings.StaticString{27}
    Dimensions:  
    Attributes:
     VAR_TYPE             = metadata
     CATDESC              = Label for Time_PB5
     FIELDNAM             = Label for Time_PB5
     DICT_KEY             = label>

  format_time   (3 × 1)
    Datatype:    StaticStrings.StaticString{2}
    Dimensions:  
    Attributes:
     VAR_TYPE             = metadata
     CATDESC              = Format for Time_PB5
     FIELDNAM             = Format for Time_PB5
     DICT_KEY             = label>

  Np   (0)
    Datatype:    Float32
    Dimensions:  Epoch
    Attributes:
     FILLVAL              = Float32[-1.0f31]
     FIELDNAM             = Proton No. density
     VALIDMAX             = Float32[200.0]
     SCALEMAX             = Float32[100.0]
     CATDESC              = Solar Wind Proton Number Density, scalar
     AVG_TYPE             =  
     VALIDMIN             = Float32[0.0]
     DISPLAY_TYPE         = time_series
     UNITS                = #/cc
     VAR_NOTES            = Np is the proton number density in units of cm-3, as calculated by integrating the ion distribution function.
     DEPEND_0             = Epoch
     FORMAT               = F8.4
     VAR_TYPE             = data
     SCALEMIN             = Float32[0.0]
     LABLAXIS             = H_Density
     DICT_KEY             = density>

  Vp   (0)
    Datatype:    Float32
    Dimensions:  Epoch
    Attributes:
     FILLVAL              = Float32[-1.0f31]
     FIELDNAM             = Solar Wind Proton Speed
     VALIDMAX             = Float32[2000.0]
     SCALEMAX             = Float32[500.0]
     CATDESC              = Solar Wind Bulk Speed
     AVG_TYPE             =  
     VALIDMIN             = Float32[0.0]
     DISPLAY_TYPE         = time_series
     UNITS                = km/s
     VAR_NOTES            = Vp is the solar wind proton speed, or more generally just the solar wind (bulk) speed. It is obtained by integrating the ion (proton) distribution function.
     DEPEND_0             = Epoch
     FORMAT               = f8.2
     VAR_TYPE             = data
     SCALEMIN             = Float32[0.0]
     LABLAXIS             = SW_H_Speed
     DICT_KEY             = velocity>solar_wind

  Tpr   (0)
    Datatype:    Float32
    Dimensions:  Epoch
    Attributes:
     FILLVAL              = Float32[-1.0f31]
     FIELDNAM             = Proton Temperature
     VALIDMAX             = Float32[1.1f6]
     SCALEMAX             = Float32[1.1f6]
     CATDESC              = radial component of the proton temperature
     AVG_TYPE             =  
     VALIDMIN             = Float32[1000.0]
     DISPLAY_TYPE         = time_series
     UNITS                = Kelvin
     VAR_NOTES            = The radial component of the proton temperature is the (1,1) component of the temperature tensor, along the radial direction. It is obtained by integration of the ion (proton) distribution function.
     DEPEND_0             = Epoch
     FORMAT               = F9.1
     VAR_TYPE             = data
     SCALEMIN             = Float32[1000.0]
     LABLAXIS             = H_Temp_radial
     DICT_KEY             = temperature>

  alpha_ratio   (0)
    Datatype:    Float32
    Dimensions:  Epoch
    Attributes:
     FILLVAL              = Float32[-1.0f31]
     FIELDNAM             = alpha/proton ratio
     VALIDMAX             = Float32[10.0]
     SCALEMAX             = Float32[0.5]
     CATDESC              = alpha to proton density ratio
     AVG_TYPE             =  
     VALIDMIN             = Float32[0.0]
     DISPLAY_TYPE         = time_series
     UNITS                = ratio
     VAR_NOTES            = Alpha ratio (Na/Np) - is the ratio of the number density of helium++ ions to the number density of protons.
     DEPEND_0             = Epoch
     FORMAT               = F8.4
     VAR_TYPE             = data
     SCALEMIN             = Float32[0.0]
     LABLAXIS             = Na/Np
     DICT_KEY             = ratio>alpha_proton_ratio

  V_GSE   (3 × 0)
    Datatype:    Float32
    Dimensions:  nothing × Epoch
    Attributes:
     FILLVAL              = Float32[-1.0f31]
     FIELDNAM             = Solar Wind Velocity (GSE)
     VALIDMAX             = Float32[0.0, 900.0, 900.0]
     SCALEMAX             = Float32[0.0, 500.0, 500.0]
     CATDESC              = Solar Wind Velocity in GSE coord., 3 components
     AVG_TYPE             =  
     VALIDMIN             = Float32[-1800.0, -900.0, -900.0]
     DISPLAY_TYPE         = time_series
     UNITS                = km/s
     VAR_NOTES            = Solar Wind Velocity in GSE coord., 3 components
     DEPEND_0             = Epoch
     LABL_PTR_1           = StaticStrings.StaticString{8}["VX (GSE)", "VY (GSE)", "VZ (GSE)"]
     FORMAT               = f8.1
     VAR_TYPE             = data
     SCALEMIN             = Float32[-1200.0, -500.0, -500.0]
     DICT_KEY             = velocity>solar_wind_GSE

  label_V_GSE   (3 × 1)
    Datatype:    StaticStrings.StaticString{8}
    Dimensions:  
    Attributes:
     VAR_NOTES            =  
     VAR_TYPE             = metadata
     CATDESC              = label, Solar wind velocity, GSE
     FIELDNAM             = label VELOCITY (GSE)
     AVG_TYPE             =  
     DICT_KEY             = label>velocity
     DISPLAY_TYPE         =  

  V_RTN   (3 × 0)
    Datatype:    Float32
    Dimensions:  nothing × Epoch
    Attributes:
     FILLVAL              = Float32[-1.0f31]
     FIELDNAM             = Solar Wind Velocity (RTN)
     VALIDMAX             = Float32[1800.0, 900.0, 900.0]
     SCALEMAX             = Float32[1200.0, 500.0, 500.0]
     CATDESC              = Solar Wind Velocity in RTN coord., 3 components
     AVG_TYPE             =  
     VALIDMIN             = Float32[0.0, -900.0, -900.0]
     DISPLAY_TYPE         = time_series
     UNITS                = km/s
     VAR_NOTES            = Solar Wind Velocity in RTN coord., 3 components
     DEPEND_0             = Epoch
     LABL_PTR_1           = StaticStrings.StaticString{8}["VR (RTN)", "VT (RTN)", "VN (RTN)"]
     FORMAT               = f8.1
     VAR_TYPE             = data
     SCALEMIN             = Float32[0.0, -500.0, -500.0]
     DICT_KEY             = velocity>solar_wind_RTN

  label_V_RTN   (3 × 1)
    Datatype:    StaticStrings.StaticString{8}
    Dimensions:  
    Attributes:
     VAR_NOTES            =  
     VAR_TYPE             = metadata
     CATDESC              = label, Solar wind velocity, RTN
     FIELDNAM             = label VELOCITY (RTN)
     AVG_TYPE             =  
     DICT_KEY             = label>velocity
     DISPLAY_TYPE         =  

  V_GSM   (3 × 0)
    Datatype:    Float32
    Dimensions:  nothing × Epoch
    Attributes:
     FILLVAL              = Float32[-1.0f31]
     FIELDNAM             = Solar Wind Velocity (GSM)
     VALIDMAX             = Float32[0.0, 900.0, 900.0]
     SCALEMAX             = Float32[0.0, 500.0, 500.0]
     CATDESC              = Solar Wind Velocity in GSM coord., 3 comp.
     AVG_TYPE             =  
     VALIDMIN             = Float32[-1800.0, -900.0, -900.0]
     DISPLAY_TYPE         = time_series
     UNITS                = km/s
     VAR_NOTES            = Solar Wind Velocity in GSM coord., 3 comp.
     DEPEND_0             = Epoch
     LABL_PTR_1           = StaticStrings.StaticString{8}["VX (GSM)", "VY (GSM)", "VZ (GSM)"]
     FORMAT               = f8.1
     VAR_TYPE             = data
     SCALEMIN             = Float32[-1200.0, -500.0, -500.0]
     DICT_KEY             = velocity>solar_wind_GSM

  label_V_GSM   (3 × 1)
    Datatype:    StaticStrings.StaticString{8}
    Dimensions:  
    Attributes:
     VAR_NOTES            =  
     VAR_TYPE             = metadata
     CATDESC              = label, Solar wind velocity, GSM
     FIELDNAM             = label VELOCITY (GSM)
     AVG_TYPE             =  
     DICT_KEY             = label>velocity
     DISPLAY_TYPE         =  

  SC_pos_GSE   (3 × 0)
    Datatype:    Float32
    Dimensions:  nothing × Epoch
    Attributes:
     FILLVAL              = Float32[-1.0f31]
     FIELDNAM             = S/C position in GSE
     VALIDMAX             = Float32[2.0f6, 1.0f6, 1.0f6]
     SCALEMAX             = Float32[2.0f6, 1.0f6, 1.0f6]
     CATDESC              = ACE s/c position, 3 comp. in GSE coord.
     AVG_TYPE             = standard
     VALIDMIN             = Float32[-2.0f6, -1.0f6, -1.0f6]
     DISPLAY_TYPE         = time_series
     UNITS                = km
     VAR_NOTES            = ACE s/c position, 3 comp. in GSE coord.
     DEPEND_0             = Epoch
     LABL_PTR_1           = StaticStrings.StaticString{10}["ACE X-GSE ", "ACE Y-GSE ", "ACE Z-GSE "]
     FORMAT               = f9.1
     VAR_TYPE             = data
     SCALEMIN             = Float32[-2.0f6, -1.0f6, -1.0f6]
     DICT_KEY             = position>GSE_cartesian

  label_pos_GSE   (3 × 1)
    Datatype:    StaticStrings.StaticString{10}
    Dimensions:  
    Attributes:
     VAR_NOTES            = Label for ACE Position (GSE)
     VAR_TYPE             = metadata
     CATDESC              = Label for ACE Position (GSE)
     FIELDNAM             = Label for POS(GSE)
     DICT_KEY             = label
     DISPLAY_TYPE         =  

  SC_pos_GSM   (3 × 0)
    Datatype:    Float32
    Dimensions:  nothing × Epoch
    Attributes:
     FILLVAL              = Float32[-1.0f31]
     FIELDNAM             = S/C position in GSM
     VALIDMAX             = Float32[2.0f6, 1.0f6, 1.0f6]
     SCALEMAX             = Float32[2.0f6, 1.0f6, 1.0f6]
     CATDESC              = ACE s/c position, 3 comp. in GSM coord.
     AVG_TYPE             = standard
     VALIDMIN             = Float32[-2.0f6, -1.0f6, -1.0f6]
     DISPLAY_TYPE         = time_series
     UNITS                = km
     VAR_NOTES            = ACE s/c position, 3 comp. in GSM coord.
     DEPEND_0             = Epoch
     LABL_PTR_1           = StaticStrings.StaticString{10}["ACE X(GSM)", "ACE Y(GSM)", "ACE Z(GSM)"]
     FORMAT               = f9.1
     VAR_TYPE             = data
     SCALEMIN             = Float32[-2.0f6, -1.0f6, -1.0f6]
     DICT_KEY             = position>GSM_cartesian

  label_pos_GSM   (3 × 1)
    Datatype:    StaticStrings.StaticString{10}
    Dimensions:  
    Attributes:
     VAR_NOTES            =  
     VAR_TYPE             = metadata
     CATDESC              = Label for ACE POS(GSM)
     FIELDNAM             = Label for POS(GSM)
     AVG_TYPE             =  
     DICT_KEY             = label
     DISPLAY_TYPE         =  

Global attributes
  TITLE                = ["ACE> Solar Wind Parameters"]
  Project              = ["ACE>Advanced Composition Explorer", "ISTP>International Solar-Terrestrial Physics"]
  Discipline           = ["Space Physics>Interplanetary Studies"]
  Source_name          = ["AC>Advanced Composition Explorer"]
  Data_type            = ["H0>64-sec Level 2 data"]
  Descriptor           = ["SWEP>ACE Solar Wind Electron Proton Alpha Monitor"]
  Data_version         = [" "]
  Generated_by         = ["ACE Science Center"]
  Generation_date      = [" "]
  LINK_TEXT            = ["Release notes and other info available at"]
  LINK_TITLE           = ["the ACE Science Center Level 2 Data website"]
  HTTP_LINK            = ["https://izw1.caltech.edu/ACE/ASC/level2/index.html"]
  TEXT                 = ["SWEPAM - Solar Wind Electron Proton Alpha Monitor ", "References: http://www.srl.caltech.edu/ACE/ ", "The quality of ACE level 2 data is such that it is suitable for serious ", "scientific study.  However, to avoid confusion and misunderstanding, it ", "is recommended that users consult with the appropriate ACE team members", "before publishing work derived from the data. The ACE team has worked ", "hard to ensure that the level 2 data are free from errors, but the team ", "cannot accept responsibility for erroneous data, or for misunderstandings ", "about how the data may be used. This is especially true if the appropriate ", "ACE team members are not consulted before publication. At the very ", "least, preprints should be forwarded to the ACE team before publication."]
  MODS                 = ["Initial Release 02/23/00.", "12/04/02: Fixed alpha/proton ratio precision bug.", "12/04/02: Fixed description of Epoch time variable."]
  ADID_ref             = ["NSSD0327"]
  Logical_file_id      = [" "]
  Logical_source       = ["AC_H0_SWE"]
  Logical_source_description = ["ACE/SWEPAM Solar Wind Experiment 64-Second Level 2 Data"]
  PI_name              = ["D. J. McComas"]
  PI_affiliation       = ["SWRI"]
  Mission_group        = ["ACE", "!___Interplanetary Data near 1 AU"]
  Instrument_type      = ["Plasma and Solar Wind"]
  Time_resolution      = ["64 second"]
  Web_site             = ["http://www.srl.caltech.edu/ACE/"]
  Acknowledgement      = ["Please acknowledge the Principal ", "Investigator, D. J. McComas of ", "Southwest Research Institute"]
  Rules_of_use         = ["See the rules of use available from the ACE ", "Science Center at: ", "http://www.srl.caltech.edu/ACE/ASC/level2/policy_lvl2.html"]
  alt_logical_source   = ["ACE_SWEPAM_Solar-Wind-Plasma-Level2-H0_64sec_cdf"]
  spase_DatasetResourceID = ["spase://NASA/NumericalData/ACE/SWEPAM/L2/PT64S"]
  DOI                  = ["https://doi.org/10.48322/tsfn-6v47"]

Listing Data Files

Get the list of CDF files for a specific dataset and variable within a time range:

# Returns URLs of data files covering the specified date range
get_data_files("AC_H0_MFI", "BGSEc", "2023-01-01", "2023-01-02")
1-element Vector{String}:
 "/home/runner/.cdaweb/data/AC_H0" ⋯ 31 bytes ⋯ "00000_20230101235957_cdaweb.cdf"

Cache Management

View cache metadata to inspect what data has been cached locally:

# Show metadata for web-served (processed) cached files
CDAWeb.cache_metadata(false)  |> scrollable_table
dataset variable start_time end_time path
OMNI_COHO1HR_MERGED_MAG_PLASMA V 2020-01-01T00:00:00 2020-01-02T00:00:00 /home/runner/.cdaweb/data/OMNI_COHO1HR_MERGED_MAG_PLASMA/V_omni_coho1hrs_merged_mag_plasma_20200101000000_20200102000000_cdaweb.cdf
AC_H0_MFI BGSEc 2023-01-01T00:00:00 2023-01-02T00:00:00 /home/runner/.cdaweb/data/AC_H0_MFI/BGSEc_ac_h0s_mfi_20230101000000_20230101235957_cdaweb.cdf
# Show metadata for original CDF cached files
CDAWeb.cache_metadata(true)  |> scrollable_table
dataset start_time end_time path
OMNI_COHO1HR_MERGED_MAG_PLASMA 2020-01-01T00:00:00 2020-01-31T23:00:00 /home/runner/.cdaweb/data/OMNI_COHO1HR_MERGED_MAG_PLASMA/omni_coho1hr_merged_mag_plasma_20200101_v01.cdf

API Reference

CDAWeb.get_dataMethod

Fetch data for a dataset variable within a time range.

Set master_attributes=true to use master CDF attributes. Set clip=true to restrict data to exact time bounds.

See get_data_files for caching options.

source
CDAWeb.get_datasetMethod
get_dataset(id; kw...)

Get a single dataset description by ID.

The value of id may be

  • CDAS (e.g., AC_H2_MFI),
  • DOI (e.g., 10.48322/fh85-fj47),
  • SPASE ResourceID (e.g., spase://NASA/NumericalData/ACE/MAG/L2/PT1H).
source
CDAWeb.get_datasetsMethod
get_datasets(; kw...)

Get descriptions of the datasets that are available from CDAS.

See Get Datasets for available query parameters (keyword arguments).

source