From 51a55afcb28449ada7ffc84f2e568e6035a971e9 Mon Sep 17 00:00:00 2001 From: Momchil Minkov Date: Fri, 13 Dec 2024 14:24:27 +0100 Subject: [PATCH] Adding ElectromagneticFieldData._check_fields_stored --- tidy3d/components/data/monitor_data.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tidy3d/components/data/monitor_data.py b/tidy3d/components/data/monitor_data.py index b1cecf978..6775e2afa 100644 --- a/tidy3d/components/data/monitor_data.py +++ b/tidy3d/components/data/monitor_data.py @@ -933,6 +933,15 @@ def time_reversed_copy(self) -> FieldData: new_data[comp] = np.conj(field) return self.copy(update=new_data) + def _check_fields_stored(self, components: list[str]): + """Check that all requested field components are stored in the data.""" + missing_comps = [comp for comp in components if comp not in self.field_components.keys()] + if len(missing_comps) > 0: + raise DataError( + f"Field components {missing_comps} not included in this data object. Use " + "the 'fields' argument of a field monitor to select which components are stored." + ) + class FieldData(FieldDataset, ElectromagneticFieldData): """