@@ -110,6 +110,28 @@ def __init__(
110110 verbose = verbose ,
111111 )
112112
113+ mfm_str = mfm if isinstance (mfm , str ) else mfm .mfm_name
114+
115+ self .variable_lut = {
116+ "time" : "time" ,
117+ "datetime" : "datetime" ,
118+ "flux/FEDU" : "Flux" ,
119+ "flux/alpha_eq" : "alpha_eq_model" ,
120+ "flux/energy" : "energy_channels" ,
121+ "flux/alpha_local" : "alpha_local" ,
122+ "position/xGEO" : "xGEO" ,
123+ "psd/PSD" : "PSD" ,
124+ "density/density_local" : "density" ,
125+
126+ f"position/{ mfm_str } /MLT" : "MLT" ,
127+ f"position/{ mfm_str } /R0" : "R0" ,
128+ f"position/{ mfm_str } /Lstar" : "Lstar" ,
129+ f"position/{ mfm_str } /Lm" : "Lm" ,
130+ f"mag_field/{ mfm_str } /B_local" : "B_total" ,
131+ f"psd/{ mfm_str } /inv_mu" : "InvMu" ,
132+ f"psd/{ mfm_str } /inv_K" : "InvK" ,
133+ }
134+
113135 def _create_file_path_stem (self ) -> Path :
114136 # implement special cases here
115137 # if self._satellite == SatelliteEnum.THEMIS:
@@ -196,20 +218,23 @@ def _load_variable(self, var: Variable | VariableEnum) -> None:
196218 if var_name == "datetime" :
197219 loaded_var_arrs [var_name ] = list (loaded_var_arrs [var_name ]) # ty:ignore[invalid-assignment]
198220
199- rbm_var_name = RBMNcDataSet ._get_rbm_name (var_name , self ._mfm .mfm_name ) # ty:ignore[invalid-argument-type]
221+ rbm_var_names = RBMNcDataSet ._get_rbm_name (var_name , self ._mfm .mfm_name ) # ty:ignore[invalid-argument-type]
200222
201- if rbm_var_name is not None :
202- setattr (self , rbm_var_name , loaded_var_arrs [var_name ])
223+ if rbm_var_names is not None :
224+ for name in rbm_var_names :
225+ setattr (self , name , loaded_var_arrs [var_name ])
203226
204227 @classmethod
205- def _get_rbm_name (cls , var_name : str , mag_field : MfmEnumLiteral ) -> VariableLiteral | None :
228+ def _get_rbm_name (cls , var_name : str , mag_field : MfmEnumLiteral ) -> VariableLiteral | None | list [ VariableLiteral ] :
206229 match var_name :
207230 case "time" :
208231 return "time"
209232 case "datetime" :
210233 return "datetime"
211234 case "flux/FEDU" :
212- return "Flux"
235+ return ["Flux" , "FEDU" ]
236+ case "flux/FEIU" :
237+ return ["Flux" , "FEIU" ]
213238 case "flux/alpha_eq" :
214239 return "alpha_eq_model"
215240 case "flux/energy" :
0 commit comments