Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RELEASE: pyDARN Version 4.0! #358

Merged
merged 160 commits into from
Jan 2, 2024
Merged

RELEASE: pyDARN Version 4.0! #358

merged 160 commits into from
Jan 2, 2024

Conversation

carleyjmartin
Copy link
Collaborator

@carleyjmartin carleyjmartin commented Nov 13, 2023

pyDARN Version 4.0

Deadline: 21st December 2023

Important Notes:

  • Please read this top comment in full before testing to avoid common issues!
  • pyDARN has an updated requirement for Python 3.7, pyDARN will not install for python 3.6!

Scope

This major release includes:

  • NEW IQ level data plotting
  • NEW Latitude and longitude y-axis in RTP
  • NEW Ball and stick plots
  • NEW Map file variable time series plotting
  • NEW Terminator plotting
  • All plots now return the same dictionary
  • Coastlines available in magnetic coordinate spatial plots without Cartopy
  • More flexibility in fan plots - single beams/ range gate range options
  • TDiff correction for elevation data available
  • Boxcar filtering available for data before plotting
  • Corrections to geolocation algorithms
  • Standardized plot return values across all plots
  • Updated GSMR range estimation
  • Bug fix Radar position labels no longer overlap
  • Bug fix Warning use refactored
  • Bug fix Multiple bug fixes for data handling and plotting in grid plots
  • Bug fix Multiple bug fixes for the aesthetics of convection maps

Some of which are yet to be merged in so please go check out the active PR's first! #307 #338 #343 #353 #355 #356

I have ordered the author list in the zenodo by contribution, developers first, then testers, then previous large contributors to the project in alphabetical order, let me know if there is anyone missing!

Approval

Number of approvals: 3 code review and testing

Test

Testing Checklist (feel free to tick off what you do so at least one person has tested everything):

  • Are your details in the .zenodo.json file correct and are you happy with your coauthor position (email Carley if you are missing!)?

  • Make sure the library installs properly using pip3 install git+https://github.com/superdarn/pydarn@release/4.0

  • Install by git clone and use pytest - process is below (this only tests that the methods work without error, this does not test that the output of the methods are scientifically correct - that's where you come in ;) ).

  • Read the documentation (link below), is there anything that wasn't helpful, missing or could be explained better?

  • Code review - read the lines of code changed (Files Changed tab above), do they make sense, are they optimal?

  • Generally test the following methods using as many keyword combos as you can (use documentation linked below to write code):

    • Summary plots: pydarn.RTP.plot_summary()
    • Range time plots: pydarn.RTP.plot_range_time()
    • Time series plots: pydarn.RTP.plot_time_series()
    • Grid plots: pydarn.Grid.plot_grid()
    • Convection maps: pydarn.Maps.plot_mapdata()
    • ACF plots: pydarn.ACF.plot_acfs()
    • Check that outputs from the plotting features are in the format:{'ax': ax, 'ccrs': ccrs, 'cm': cmap, 'cb': cb, 'fig': plt.gcf(), 'data': {}} Where data contains any interesting plot data you might like to use.
  • Specific new features that need testing (should also be in documentation and see linked PRs for testing info but make sure you test on this release branch, they have already been tested individually):

  • You may need to amend any old code to work - this is expected and probably not a bug!

  • Please comment to say everything worked (if so please tick the approve box on Files Changed - > Review Changes -> Approve + type any comments in box -> Submit Review).

  • If there are errors please comment your code used, the traceback and any errors/warnings in the command line, and any output plots if any.

  • For approvals or errors, please specify your OS, python version, matplotlib version and installation process. Thanks :)

  • I will likely add to this when newer PRs are merged in later.

Please tick if you have successfully tested using:

  • MacOS
  • Windows
  • RPM distro (Opensuse, Fedora +)
  • Debian distro (Ubuntu +)

Here are some misc data files that you can use to test with:
fitacf.zip
maps_n_grids.zip
Rawacf is too big for github but you can get any off FRDR

Additional little things

Read the docs link will appear here when I've done it: https://pydarn.readthedocs.io/en/release-4.0/

pytest modules have been updated, you can run pytest by cloning the repository, moving to this release branch, installing the branch, installing pytest and running pytest (this may take 5-10 minutes to run all tests):

git clone https://github.com/SuperDARN/pydarn.git
cd pydarn
git checkout release/4.0
pip3 install .
pip3 install pytest
pytest

As always, if you need help installing and testing, feel free to give me an email.

Thanks for everyone's help this year on this release!
Carley

carleyjmartin and others added 30 commits November 3, 2022 09:53
…c with documentation, just not implemented due to inconsistent fill
…lculation in geo from Shibaji and Xueling code
EHN: Tdiff Correction for Elevation Data
FIX: Correct where partial record check occurs in Grid plot
@Doreban

This comment was marked as resolved.

carleyjmartin and others added 8 commits December 14, 2023 15:49
* Changed all classmethods to staticmethods
* Created staticmethod plot_acf_param() to handle plotting of values, which is called within plot_acfs() as needed to plot real, imaginary, power, and phase of ACF
* Return all axes from plot_acfs() as list
* Plot real and imaginary ACF values on input ax to plot_acfs() if plot_pwr_and_phs False, otherwise use plt.gca()
* Removed some unnecessary internal variables in plot_acfs().
* Useful for bistatic experiments especially, also applicable to normal operations
* The returned phase array from plot_acfs() now also returns values in radians.
@Shirling-VT

This comment was marked as resolved.

@Shirling-VT

This comment was marked as resolved.

@Shirling-VT

This comment was marked as resolved.

@carleyjmartin
Copy link
Collaborator Author

Thanks for testing everyone!
I think we've got most of the bugs sorted out, I'm going to spend a day doing some testing and read over and amend the docs. I expect that I won't be able to do the release by tomorrow, so I'll schedule some time early Jan to do the release, and then I'll be available to field any questions about code changes with the new version (rather than me do the release then go on vacation for a week).

mkdocs.yml Outdated Show resolved Hide resolved
@carleyjmartin carleyjmartin merged commit 3c70fb8 into main Jan 2, 2024
@carleyjmartin carleyjmartin deleted the release/4.0 branch January 2, 2024 20:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Release Proposing or PR on a release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet