diff --git a/.nojekyll b/.nojekyll
index e6d94a7..bddacdb 100644
--- a/.nojekyll
+++ b/.nojekyll
@@ -1 +1 @@
-8e718c54
\ No newline at end of file
+39518771
\ No newline at end of file
diff --git a/epss265/hw02.html b/epss265/hw02.html
new file mode 100644
index 0000000..1f9d39a
--- /dev/null
+++ b/epss265/hw02.html
@@ -0,0 +1,535 @@
+
+
24-Oct-23 12:41:51: Downloading remote index: http://themis.ssl.berkeley.edu/data/themis/thd/l1/fgm/2008/
+24-Oct-23 12:41:51: File is current: /Users/zijin/data/themis/thd/l1/fgm/2008/thd_l1_fgm_20080226_v01.cdf
+24-Oct-23 12:41:51: Downloading remote index: http://themis.ssl.berkeley.edu/data/themis/the/l1/fgm/2008/
+24-Oct-23 12:41:51: File is current: /Users/zijin/data/themis/the/l1/fgm/2008/the_l1_fgm_20080226_v01.cdf
+24-Oct-23 12:41:51: Downloading remote index: http://themis.ssl.berkeley.edu/data/themis/tha/l1/fgm/2008/
+24-Oct-23 12:41:51: File is current: /Users/zijin/data/themis/tha/l1/fgm/2008/tha_l1_fgm_20080226_v01.cdf
+24-Oct-23 12:41:56: Problem time clipping: tha_fge
+24-Oct-23 12:41:56: Time clip was applied to: tha_fgl
+24-Oct-23 12:41:56: Problem time clipping: tha_fgh
+24-Oct-23 12:41:56: Time clip returns empty data.
+24-Oct-23 12:41:56: Time clip was applied to: thd_fgl
+24-Oct-23 12:41:57: Time clip was applied to: thd_fgh
+24-Oct-23 12:41:57: Time clip returns empty data.
+24-Oct-23 12:41:57: Time clip was applied to: the_fgl
+24-Oct-23 12:41:57: Time clip was applied to: the_fgh
Process your data: compute the total field from its components and plot it in the same panel as the three components using colors b/g/r/black for x/y/z/t.
+
+
from xarray_einstats import linalg
+from pytplot import split_vec, join_vec
+
+def _tvectot(tvar: str, new_name: str, join_component: bool):
+ data = get_data(tvar, xarray=True)
+ new_data = linalg.norm(data, dims="v_dim")
+ store_data(new_name, new_data, xarray=True)
+
+if join_vec:
+ join_vec(split_vec(tvar)+[new_name], new_name)
+ options(new_name, 'legend_names', ['x', 'y', 'z', 'Magnitude'])
+else:
+ options(new_name, 'legend_names', 'Magnitude')
+return new_name
+
+def tvectot(tvars: str|list[str], newnames: str|list[str] =None, suffix="_mag", join_component=False) ->str|list[str]:
+"""
+ Computes the magnitude of a vector time series.
+
+ Parameters
+ ----------
+ - tvars : Names of the tplot variables.
+ - new_names: Names for the resultant magnitude tplot variables. If not provided, it appends the suffix to `tvars`.
+ - suffix: The suffix to append to tensor_names to form new_names if new_names is not provided.
+ - join_component: If True, the magnitude tplot variable is joined with the component tplot variables.
+
+ Returns
+ -------
+ Names of the magnitude tplot variables.
+ """
+ tvars_type =type(tvars)
+if tvars_type ==str:
+ tvars = [tvars]
+if join_vec:
+ suffix ="_tot"
+
+if newnames isNone:
+ newnames = [tvar + suffix for tvar in tvars]
+
+for tvar, newname inzip(tvars, newnames):
+ _tvectot(tvar, newname, join_component)
+
+if tvars_type ==str:
+return newnames[0]
+else:
+return newnames
Show the locations of the spacecraft or the ground-based station you used above in relevant geophysical coordinates (GSE, GSM, MAG, …) from a webbased tool (tipsod or other) or plot it in SPEDAS (you can find cribs for that).