pydda.retrieval.get_dd_wind_field_nested¶
-
pydda.retrieval.
get_dd_wind_field_nested
(grid_list, u_init, v_init, w_init, client, reduction_factor=2, num_splits=2, **kwargs)[source]¶ This function performs a wind retrieval using a nested domain. This is useful for grids that are larger than about 500 by 500 by 40 points, since the use of larger grids on a single machine will exceed memory limitations.
This procedure relies on a dask distributed cluster to be set up. The retrieval is first performed at a resolution that is coarser than the analysis grid by reduction_factor. This provides the initial state for the nested loop.
The domain is split into num_splits**2 sub-domains for the nested retrieval step, and each nested retrieval is mapped onto a distributed worker for parallel processing. If NumPy and SciPy are already set up to use parallel numerical analysis libraries, it is recommended that a single machine be dedicated to each nest rather than a single core for best performance.
- Parameters
- grid_list: list
A list of Py-ART grids for each radar to use in the retrieval.
- u_init: 3D NumPy array
The initial guess of the zonal wind field. This has to be in the same shape as the analysis grid.
- v_init: 3D NumPy array
The initial guess of the meridional wind field. This has to be in the same shape as the analysis grid.
- w_init: 3D NumPy array
The initial guess of the vertical wind field. This has to be in the same shape as the analysis grid.
- client: dask distributed Client
The distributed Client that is linked to a distributed cluster. The :cluster must be running before get_dd_wind_field_nested is called. The retrieval on each nest will be mapped onto each worker. Since the optimization loop already takes advantage of parallelism, it’s best to allow at least 16 cores per one worker.
- reduction_factor: int
How much to reduce the factor of the analysis grid by when doing the initial retrieval on the entire grid.
- num_splits: int
The number of splits to make through each axis when doing the nesting.
- **kwargs: dict
This function will take the same keyword arguments as get_dd_wind_field, as these arguments are passed into each call of get_dd_wind_field. See get_dd_wind_field for more information on the