pub struct SpaceWeatherData {
pub records: BTreeMap<Epoch, RawSpaceWeatherRow>,
pub fallback: StaticSpaceWeather,
}Expand description
Stores SpaceWeather data as provided by CelesTrak. Data may be provided either as original CSV or in a compressed (non-archived) gunzip (gz) format.
Fields§
§records: BTreeMap<Epoch, RawSpaceWeatherRow>§fallback: StaticSpaceWeatherImplementations§
Source§impl SpaceWeatherData
impl SpaceWeatherData
Sourcepub fn from_static_weather(weather: StaticSpaceWeather) -> Self
pub fn from_static_weather(weather: StaticSpaceWeather) -> Self
Initialize new space weather by provided fixed values only.
Sourcepub fn from_csv_file<P: AsRef<Path>>(
path: P,
fallback: StaticSpaceWeather,
) -> Result<Self, InputOutputError>
pub fn from_csv_file<P: AsRef<Path>>( path: P, fallback: StaticSpaceWeather, ) -> Result<Self, InputOutputError>
Ingests a complete CelesTrak Space Weather CSV file into an Epoch-indexed map.
Sourcepub fn raw_daily_record(
&self,
midnight_epoch: Epoch,
) -> Option<&RawSpaceWeatherRow>
pub fn raw_daily_record( &self, midnight_epoch: Epoch, ) -> Option<&RawSpaceWeatherRow>
Returns a reference to the raw, unparsed daily row for an exact midnight UTC epoch.
Source§impl SpaceWeatherData
impl SpaceWeatherData
Sourcepub fn msise_weather(&self, epoch: Epoch) -> Msise00DailyWeather
pub fn msise_weather(&self, epoch: Epoch) -> Msise00DailyWeather
Evaluates the space weather state at epoch and constructs the Msise00DailyWeather payload.
Missing daily records or unforecasted fields are resolved using SpaceWeatherFallback.
Trait Implementations§
Source§impl Clone for SpaceWeatherData
impl Clone for SpaceWeatherData
Source§fn clone(&self) -> SpaceWeatherData
fn clone(&self) -> SpaceWeatherData
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SpaceWeatherData
impl Debug for SpaceWeatherData
impl DerefToPyAny for SpaceWeatherData
Source§impl<'de> Deserialize<'de> for SpaceWeatherData
impl<'de> Deserialize<'de> for SpaceWeatherData
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Display for SpaceWeatherData
impl Display for SpaceWeatherData
Source§impl<'a, 'py> FromPyObject<'a, 'py> for SpaceWeatherDatawhere
Self: Clone,
impl<'a, 'py> FromPyObject<'a, 'py> for SpaceWeatherDatawhere
Self: Clone,
Source§impl<'py> IntoPyObject<'py> for SpaceWeatherData
impl<'py> IntoPyObject<'py> for SpaceWeatherData
Source§type Target = SpaceWeatherData
type Target = SpaceWeatherData
Source§type Output = Bound<'py, <SpaceWeatherData as IntoPyObject<'py>>::Target>
type Output = Bound<'py, <SpaceWeatherData as IntoPyObject<'py>>::Target>
Source§fn into_pyobject(
self,
py: Python<'py>,
) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
fn into_pyobject( self, py: Python<'py>, ) -> Result<<Self as IntoPyObject<'_>>::Output, <Self as IntoPyObject<'_>>::Error>
Source§impl PartialEq for SpaceWeatherData
impl PartialEq for SpaceWeatherData
Source§impl PyClass for SpaceWeatherData
impl PyClass for SpaceWeatherData
Source§impl PyClassImpl for SpaceWeatherData
impl PyClassImpl for SpaceWeatherData
Source§const MODULE: Option<&str> = ::core::option::Option::None
const MODULE: Option<&str> = ::core::option::Option::None
Source§const IS_BASETYPE: bool = false
const IS_BASETYPE: bool = false
Source§const IS_SUBCLASS: bool = false
const IS_SUBCLASS: bool = false
Source§const IS_MAPPING: bool = false
const IS_MAPPING: bool = false
Source§const IS_SEQUENCE: bool = false
const IS_SEQUENCE: bool = false
Source§const IS_IMMUTABLE_TYPE: bool = false
const IS_IMMUTABLE_TYPE: bool = false
Source§const RAW_DOC: &'static CStr = /// Stores SpaceWeather data as provided by [CelesTrak](https://celestrak.org/SpaceData/).
/// Data may be provided either as original CSV or in a compressed (non-archived) gunzip (gz) format.
const RAW_DOC: &'static CStr = /// Stores SpaceWeather data as provided by [CelesTrak](https://celestrak.org/SpaceData/). /// Data may be provided either as original CSV or in a compressed (non-archived) gunzip (gz) format.
Source§const DOC: &'static CStr
const DOC: &'static CStr
text_signature if a constructor is defined. Read moreSource§type Layout = <<SpaceWeatherData as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<SpaceWeatherData>
type Layout = <<SpaceWeatherData as PyClassImpl>::BaseNativeType as PyClassBaseType>::Layout<SpaceWeatherData>
Source§type ThreadChecker = NoopThreadChecker
type ThreadChecker = NoopThreadChecker
type Inventory = Pyo3MethodsInventoryForSpaceWeatherData
Source§type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
type PyClassMutability = <<PyAny as PyClassBaseType>::PyClassMutability as PyClassMutability>::MutableChild
Source§type BaseNativeType = PyAny
type BaseNativeType = PyAny
PyAny by default, and when you declare
#[pyclass(extends=PyDict)], it’s PyDict.fn items_iter() -> PyClassItemsIter
fn lazy_type_object() -> &'static LazyTypeObject<Self>
§fn dict_offset() -> Option<PyObjectOffset>
fn dict_offset() -> Option<PyObjectOffset>
§fn weaklist_offset() -> Option<PyObjectOffset>
fn weaklist_offset() -> Option<PyObjectOffset>
Source§impl PyClassNewTextSignature for SpaceWeatherData
impl PyClassNewTextSignature for SpaceWeatherData
const TEXT_SIGNATURE: &'static str = "(path, fallback)"
Source§impl PyTypeInfo for SpaceWeatherData
impl PyTypeInfo for SpaceWeatherData
Source§const NAME: &str = <Self as ::pyo3::PyClass>::NAME
const NAME: &str = <Self as ::pyo3::PyClass>::NAME
prefer using ::type_object(py).name() to get the correct runtime value
Source§const MODULE: Option<&str> = <Self as ::pyo3::impl_::pyclass::PyClassImpl>::MODULE
const MODULE: Option<&str> = <Self as ::pyo3::impl_::pyclass::PyClassImpl>::MODULE
prefer using ::type_object(py).module() to get the correct runtime value
Source§fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
fn type_object_raw(py: Python<'_>) -> *mut PyTypeObject
§fn type_object(py: Python<'_>) -> Bound<'_, PyType>
fn type_object(py: Python<'_>) -> Bound<'_, PyType>
§fn is_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type or a subclass of this type.§fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
fn is_exact_type_of(object: &Bound<'_, PyAny>) -> bool
object is an instance of this type.Source§impl Serialize for SpaceWeatherData
impl Serialize for SpaceWeatherData
Source§impl StaticType for SpaceWeatherData
impl StaticType for SpaceWeatherData
Source§fn static_type() -> SimpleType
fn static_type() -> SimpleType
impl StructuralPartialEq for SpaceWeatherData
Auto Trait Implementations§
impl Freeze for SpaceWeatherData
impl RefUnwindSafe for SpaceWeatherData
impl Send for SpaceWeatherData
impl Sync for SpaceWeatherData
impl Unpin for SpaceWeatherData
impl UnsafeUnpin for SpaceWeatherData
impl UnwindSafe for SpaceWeatherData
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FromDhall for Twhere
T: DeserializeOwned,
impl<T> FromDhall for Twhere
T: DeserializeOwned,
fn from_dhall(v: &Value) -> Result<T, Error>
impl<'py, T> FromPyObjectOwned<'py> for Twhere
T: for<'a> FromPyObject<'a, 'py>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
impl<'py, T> IntoPyObjectExt<'py> for Twhere
T: IntoPyObject<'py>,
§fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
fn into_bound_py_any(self, py: Python<'py>) -> Result<Bound<'py, PyAny>, PyErr>
self into an owned Python object, dropping type information.§fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
fn into_py_any(self, py: Python<'py>) -> Result<Py<PyAny>, PyErr>
self into an owned Python object, dropping type information and unbinding it
from the 'py lifetime.§fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
fn into_pyobject_or_pyerr(self, py: Python<'py>) -> Result<Self::Output, PyErr>
self into a Python object. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PyErrArguments for T
impl<T> PyErrArguments for T
§impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
impl<T> PyTypeCheck for Twhere
T: PyTypeInfo,
§const NAME: &'static str = T::NAME
const NAME: &'static str = T::NAME
Use ::classinfo_object() instead and format the type name at runtime. Note that using built-in cast features is often better than manual PyTypeCheck usage.
§fn type_check(object: &Bound<'_, PyAny>) -> bool
fn type_check(object: &Bound<'_, PyAny>) -> bool
§fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>
fn classinfo_object(py: Python<'_>) -> Bound<'_, PyAny>
isinstance and issubclass function. Read moreimpl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<T> Scalar for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.