From 43eb4a469de0f5e65bfe5e16b87495caf13ee377 Mon Sep 17 00:00:00 2001 From: Nina Robbins Blanch Date: Tue, 26 Nov 2024 12:06:45 +0100 Subject: [PATCH] separate divergence and vorticity calculation --- pydropsonde/circles.py | 22 +++++++++++++++------- pydropsonde/pipeline.py | 3 ++- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/pydropsonde/circles.py b/pydropsonde/circles.py index b0657d4d..a0f88f9a 100644 --- a/pydropsonde/circles.py +++ b/pydropsonde/circles.py @@ -217,8 +217,20 @@ def apply_fit2d(self, alt_var="alt"): self.circle_ds = ds return self - def get_div_and_vor(self): + def get_divergence(self): D = self.circle_ds.dudx + self.circle_ds.dvdy + D_attrs = { + "standard_name": "divergence_of_wind", + "long_name": "Area-averaged horizontal mass divergence", + "units": "m-1", + } + self.circle_ds = self.circle_ds.assign( + D=(["alt"], D.values, D_attrs) + ) + print(self.circle_ds) + return self + + def get_vorticity(self): vor = self.circle_ds.dvdx - self.circle_ds.dudy vor_attrs = { @@ -226,14 +238,10 @@ def get_div_and_vor(self): "long_name": "Area-averaged horizontal relative vorticity", "units": "s-1", } - D_attrs = { - "standard_name": "divergence_of_wind", - "long_name": "Area-averaged horizontal mass divergence", - "units": "m-1", - } self.circle_ds = self.circle_ds.assign( - dict(D=(["alt"], D.values, D_attrs), vor=(["alt"], vor.values, vor_attrs)) + vor=(["alt"], vor.values, vor_attrs) ) + print(self.circle_ds) return self def get_density(self, sonde_dim="sonde_id"): diff --git a/pydropsonde/pipeline.py b/pydropsonde/pipeline.py index bcce9c86..3fed25fa 100644 --- a/pydropsonde/pipeline.py +++ b/pydropsonde/pipeline.py @@ -578,7 +578,8 @@ def run_pipeline(pipeline: dict, config: configparser.ConfigParser): "calculate_circle_data": { "intake": "circles", "apply": iterate_Circle_method_over_dict_of_Circle_objects, - "functions": ["drop_m_N_vars", "get_xy_coords_for_circles", "apply_fit2d"], + "functions": ["drop_m_N_vars", "get_xy_coords_for_circles", "apply_fit2d", "get_divergence", + "get_vorticity"], "output": "circles", "comment": "calculate circle products", },