import pyspedas
import polars as pl
from functools import partial
from typing import Literal, overload
from space_analysis.io.cdf import cdf2pl
def download_data(**kwargs):
return pyspedas.dscovr.load(downloadonly=True, **kwargs)
@overload
def load_data(
"mag"],
instrument: Literal[list[MagDataVars],
var_names: "h0"],
datatype: Literal[**kwargs,
): ...
@overload
def load_data(
"faraday_cup"],
instrument: Literal[list[PlasmaDataVars],
var_names: "h1"],
datatype: Literal[**kwargs,
): ...
def load_data(
="mag", var_names=None, datatype=None, **kwargs
instrument-> pl.LazyFrame:
) if instrument == "mag":
= var_names or ["B1F1", "B1RTN"]
var_names = datatype or "h0"
datatype elif instrument == "faraday_cup":
= var_names or ["Np", "V_GSE", "THERMAL_TEMP"]
var_names = datatype or "h1"
datatype
= download_data(instrument=instrument, datatype=datatype, **kwargs)
files
= partial(cdf2pl, var_names=var_names)
load_func
return pl.concat(load_func(file) for file in files)
Deep Space Climate Observatory (DSCOVR)
The routines in this module can be used to load data from the Deep Space Climate Observatory (DSCOVR) mission.
Instruments
- Magnetometer
- Faraday cup