Name : Anveshan Lal
Organisation : Mission Support System (Python Software Foundation)
Mentors : Joern Ungermann, Jens-Uwe Grooß
Project : Updating Geographical Plotting Routines
Project Code : Pull Request referencing project code
Commit log : All the commits comprising the all the progress of project
A detailed report about my GSoC project regarding migration of basemap dependent code to Cartopy.
Dependencies
Aside from the dependencies required to run MSS:
$ conda install cartopy
I would detail the progress by headlining the project in 3 parts
1. Server Side Migration
This address changes in code in respect to files:
mss/mslib/mswms/mpl_hsec.py
mss/mslib/mswms/mpl_hsec_styles.py
Current State
Server side is complete with all the previous functionality retained
Remaining Progress
None
Unresolved Issues
Map produced is almost aligned with client perfectly but it is not 100 %
Relevant Pull-Requests
https://bitbucket.org/wxmetvis/mss/pull-requests/643
https://bitbucket.org/wxmetvis/mss/pull-requests/651
https://bitbucket.org/wxmetvis/mss/pull-requests/653
https://bitbucket.org/wxmetvis/mss/pull-requests/654
2. Client Side Migration
This address changes in code in respect to files:
mss/mslib/msui/mpl_map.py
mss/mslib/msui/mpl_qtwidget.py
mss/mslib/msui/mpl_pathinteractor.py
mss/mslib/msui/topview.py
Current State
User Interface is perfectly functional and all the functionality is retained including the interaction of waypoints and functions related to it.
Remaining Progress
If the time allowed I would have like to exploit Cartopy's native ability to plot Geodetic Circular Paths, instead of the current manual solution.
Unresolved Issues
None
Relevant Pull Requests
https://bitbucket.org/wxmetvis/mss/pull-requests/656
https://bitbucket.org/wxmetvis/mss/pull-requests/671
3. Added Support for EPSG
mss/mslib/msui/mpl_map.py
mss/mslib/utils.py
Current State
All the epsg's previously present and additional EPSG's added are supported by the program. This includes the epsg which were non-functional from Cartopy's in-house function to plot epsg codes directly and all others Cartopy already supports.
Remaining Progress
There exists a large number of EPSGs (in excess of 4300), I couldn't test all of them but did encountered few which are not yet supported by Cartopy like 2985
, 2986
, 7415
. With more testing there ought to be more which are still not supported by Cartopy but a large number of them are.
Relevant Pull Requests
https://bitbucket.org/wxmetvis/mss/pull-requests/684
https://bitbucket.org/wxmetvis/mss/pull-requests/691
Testing
Since the project in large part required me to maintain previous functionality there was not much scope to create new tests, but I did add two tests; One to test for a new function I added and the other test for EPSGs.
Failed Tests:
Pytest shows 2 tests failed although the failed tests seem to relate to a working and manually tested functionality of adding and removing point on waypoint interactor.
Acknowledgement
I would like to thank Joern Ungermann who mentored me throughout summer and actively helped me better the program and code, and also provided valuable feedback frequently. I would also like to express my gratiude towards MSS community including Reimar Bauer, Jens-Uwe Grooß and Shivashish Padhi who have been very welcoming from the start and helped get started and be familiar with MSS despite my serious lack of programming expertise and made my summer experience really great.