Clarification on Choosing Master Radar and Grid Origin in PyDDA Dual-Doppler Retrievals

Both radars have different locations. I am currently using the following code:

link : Retrieving your first wind field — PyDDA 2.1.1 documentation

grid_ktlx = pyart.map.grid_from_radars([radar_ktlx], grid_limits=grid_limits,
grid_shape=grid_shape, gatefilter=gatefilter_ktlx,
grid_origin=(radar_kict.latitude[‘data’].filled(),
radar_kict.longitude[‘data’].filled()))
grid_kict = pyart.map.grid_from_radars([radar_kict], grid_limits=grid_limits,
grid_shape=grid_shape, gatefilter=gatefilter_kict,
grid_origin=(radar_kict.latitude[‘data’].filled(),
radar_kict.longitude[‘data’].filled()))

grid_ktlx = pydda.io.read_from_pyart_grid(grid_ktlx)
grid_kict = pydda.io.read_from_pyart_grid(grid_kict)

grid_kict = pydda.initialization.make_constant_wind_field(grid_kict, (0.0, 0.0, 0.0))

grids_out, _ = pydda.retrieval.get_dd_wind_field([grid_kict, grid_ktlx],
Cm=256.0, Co=1e-2, Cx=1, Cy=1,
Cz=1, Cmod=1e-5, model_fields=[“hrrr”],
refl_field=‘DBZ’, wind_tol=0.5,
max_iterations=50, filter_window=15,
filter_order=3, engine=‘scipy’)

I have noticed that changing the order of the grids in get_dd_wind_field() (e.g., [grid_ktlx, grid_kict]) can lead to a large shift in the retrieved wind field’s spatial location.

Could you please clarify:

  1. How should I determine which radar/grid should be the master grid (i.e., appear first in the list)?

  2. Is it acceptable or recommended to define a manual grid origin (for example, the midpoint between the two radar locations) instead of using one radar’s coordinates?

  3. How does PyDDA internally handle coordinate systems when multiple radar grids have different origins?

Thank you very much for your time

Hello!

I have embedded my responses below.

  1. How should I determine which radar/grid should be the master grid (i.e., appear first in the list)?

The order of the radar grids should not make a difference in the output u, v, and w. If you are noticing this, please raise an issue on the PyDDA GitHub page for this and provide the plots and data along with your code and PyDDA version that you are using.

  1. Is it acceptable or recommended to define a manual grid origin (for example, the midpoint between the two radar locations) instead of using one radar’s coordinates?

Yes, this is acceptable, as long as all of the grid specifications are the same.

  1. How does PyDDA internally handle coordinate systems when multiple radar grids have different origins?

All Grids must have the same origin and specification. The origin does not need to be at any of the radar locations.

I took a look and figured out what is happening. You have to put your initial state in the first grid in the list. Right now, that is being placed into grid_kict. PyDDA will look for the initial u, v, and w field from the first grid you have listed, so if you don’t have it in there and initialized, weird things may happen.

Yes, I agree. I had already tried several configurations before responding to your previous comment.

You are absolutely right that the retrieval changes significantly when the initial state is assigned to the first grid in the grid list. This is not a minor adjustment, the retrieved wind components differ substantially.

My concern is that if someone wants to validate the retrieved winds against available observational data (referring: a station data), the mismatch in grid ordering could easily lead to confusion regarding the correct spatial location of the retrieval. Please correct me if I am misunderstanding this point.

Thank you again for the clarification in advance.

The retrieval winds differ significantly because you changed the initial state. PyDDA defines the initial state as the u, v, and w fields in the first grid. The order of the grids themselves do not matter outside of the initial u, v, and w fields. So, you can put the two (or many) grids in any order, but as long as the initialization is in your first grid, then PyDDA is working as intended.

All grids are also constrained to use the same grid specification. PyDDA will fail if they are not, returning an error. The order of the grids does not affect this. So the order of the grids would not affect the spatial location of the retrieval.

1 Like

Thank you for the clarification.