PyDDA with more than 2 radars


When PyDDA retrieves winds with more than 2 radars does it only conduct the retrieval over regions where all of the radars overlap? I have a case with data from 6 radars. I am finding that the region where winds are retrieved is smaller when all 6 radars are included compared to when only 2 or 3 radars are included. Is there a way to run PyDDA so that winds are retrieved wherever at least 2 radars overlap at the correct angles?



You can force PyDDA to use data from select radars/locations in your retrieval by adjusting the weights parameter in pydda.retrieval.get_dd_wind_field.

So, if you want to have data from 2+ radars present and you have 6 radars…I’d use code like this to specify your weights. Set num_radars=3 for 3 radars, etc.

min_radars = 2
weights = np.zeros((n_radars, nz, ny, nx))
for i in range(n_radars):
    for j in range(n_radars):
        if i != j:
            bca = pydda.retrieval.get_bca(radar[i], radar[j])
            # Assume > 30 deg beam crossing angle
            lobe_mask = np.logical_and(bca > 30, bca < 150.)
            weights = np.where(np.logical_and(
                np.isfinite(radar[j]["corrected_velocity"]["data"]), lobe_mask), 1, 0))

weights = np.where(weights >= min_radars, 1, 0)

Hope this helps.


Also, it would be useful to provide an example plot. If this is an issue with PyDDA where its excluding too much data from the retrieval, then it would be important to know so that we can work on this issue.