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
# Show metadata for original CDF cached files
CDAWeb.cache_metadata(true) |> scrollable_table
API Reference
CDAWeb._fetch_and_cache_files!
CDAWeb._get_cache_db
CDAWeb._get_stmt_orig_cache
CDAWeb._get_stmt_variable_cache
CDAWeb._update_orig_cache!
CDAWeb._update_variable_cache!
CDAWeb.cache_metadata
CDAWeb.clear_cache!
CDAWeb.clear_cache!
CDAWeb.find_cached_and_missing
CDAWeb.find_cached_and_missing
CDAWeb.get_data
CDAWeb.get_dataset
CDAWeb.get_datasets
CDAWeb.group_contiguous_fragments
CDAWeb.split_into_fragments
CDAWeb._fetch_and_cache_files!
— MethodFetch files from API, download them, and add to cache.
CDAWeb._get_cache_db
— MethodInitialize or get existing cache database with proper schema and settings.
CDAWeb._get_stmt_orig_cache
— MethodGet the prepared statement for orig cache queries.
CDAWeb._get_stmt_variable_cache
— MethodGet the prepared statement for variable cache queries.
CDAWeb._update_orig_cache!
— MethodUpdate orig cache metadata in SQLite database (process-safe, atomic).
CDAWeb._update_variable_cache!
— MethodUpdate variable cache metadata in SQLite database (process-safe, atomic).
CDAWeb.cache_metadata
— FunctionGet cache metadata
CDAWeb.clear_cache!
— MethodClear cache entries for a specific dataset (process-safe).
CDAWeb.clear_cache!
— MethodClear all cache entries.
CDAWeb.find_cached_and_missing
— MethodFind cached files and missing time ranges using fragment-based caching and SQL (for orig=false).
CDAWeb.find_cached_and_missing
— MethodFind cached files and missing time ranges using SQL query (for orig=true).
CDAWeb.get_data
— MethodFetch 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.
CDAWeb.get_dataset
— Methodget_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
).
CDAWeb.get_datasets
— Methodget_datasets(; kw...)
Get descriptions of the datasets that are available from CDAS.
See Get Datasets for available query parameters (keyword arguments).
CDAWeb.group_contiguous_fragments
— MethodGroup contiguous fragments to minimize API calls.
CDAWeb.split_into_fragments
— MethodSplit time range into fixed-duration fragments with aligned boundaries.