Open ghiggi opened 6 days ago
@ghiggi Thanks for writing that down. Those are all valid points, which surely should be discussed here or also at ERAD.
Here are my 2c:
From my perspective xradar should have all the bits and pieces to access/read/combine radar data of any provenience. Writing only to standards. There is reasonable plotting capabilities included via xarray in combination with the built-in minimal georeferencing.
Any advanced stuff should be implemented in dedicated packages. This will keep maintenance burden low.
I'm open to move any advanced plotting code from wradlib (wrl.vis.plot) to a new dedicated radar plotting package.
Hi @kmuehlbauer @aladinor @mgrover1 !
I start to dive across the xradar codebase and documentation to develop the ERAD short course tutorials. I thought to summarize here some thoughts / nice-to-have tools that pop-up in my mind while trying to streamline the tutorials. I am not sure about if some of these suggestions fall into the scope of
xradar
or rather should/will be delegated topyart 2.0
,wradlib
accessors or some new package. Maybe we could define a roadmap to clarify the future tools provided byxradar
Nice to have accessors
xr.DataArray
da.xradar.plot
(for the azimuth-range or time-range plot)da.xradar.plot_ppi
da.xradar.plot_mesh
da.xradar.plot_centroids
ds.xradar.fix_angle
xr.Dataset
ds.xradar.fix_angle
ds.xradar.plot_ppi
(FacetGrid over variables and/or time)ds.xradar.plot_mesh
ds.xradar.plot_centroids
xr.DataTree
dt.xradar.plot_rhi
(default to FacetGrid over variable and/or time ifvariable=None
)dt.xradar.plot_cappi
(default to FacetGrid over variable and/or time ifvariable=None
)dt.xradar.plot_ppi
(FacetGrid over sweep and variables ifvariable=None
andsweep=None
)dt.xradar.fix_angle
dt.xradar.cross_section
, dt.xradar.rhi,
dt.xradar.cross_section`CRS and coordinates utilities
dt.xradar.add/get_geographic_coordinates(crs)
# i.e. WGS84 --> Add/get(lon, lat, height)
coordinatesdt.xradar.add/get_projection_coordinates(crs)
# i.e. planar one --> Add/get(x_c, y_y, z_c)
coordinatesdt.xradar.to_cartopy_crs()
# the x,y,z centered on radar?Related to the CRS, I noticed that the current default CRS is defined as 2D Cartesian with respect to the radar location (x,y). Why not define it as 3D Cartesian with respect to the radar location (x,y,z)?
Concatenation method
xradar.concat(dt)
# take care of updatingtime_coverage_start
,time_coverage_end
, stackradar_calibration
, radar_parameters` over time if varying ?xradar.concat(ds)
# take care of checking attrs, coordinates does not change --> Useful forxradar.open_mf_*
: https://github.com/openradar/xradar/issues/79 --> Maybe worth to wait DataTree integration into xarray ?Access to radar data on cloud buckets Finally I also start to write some code to access radar data of FMI, NEXRAD and IDEAM on AWS S3 buckets. I thought would be nice to have a separate 'search' package or module enabling to list all the available radars on cloud buckets (i.e with relevant configurations on YAML files, specify radar, start_time, end_time of interest and being able to
This last idea could be a point of discussion at ERAD to maybe make a prototype or design some standards ...
End of my solo brainstorming :smile: