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

Adding a CITATION.cff file #5161

Closed
wants to merge 126 commits into from
Closed

Adding a CITATION.cff file #5161

wants to merge 126 commits into from

Conversation

HGWright
Copy link
Contributor

🚀 Pull Request

Description

I have written the CITATION.cff file for Iris using the information from the citation page of the documentation.

This pull request is a WIP and will require changes based on the answers to some questions that I have below.

resolves #5118

Questions for @SciTools/iris-devs

  1. In the documentation, currently the BibTeX entry begins with @Manual tag. When looking through the old PR's Iris citation added into user guide #389 and Updated citation #5116, I cannot find any consideration being given to the @software tag even though to me this seems like the most natural fit. Could you let me know the reasons behind this choice, and I can update the CITATION.cff to reflect @Manual if you feel that is still the best fit.

  2. With the existence of this file, what should become of the existing citation page of the documentation?

  • My thought is that the documentation should in some way link to or reference the github to obtain the references rather than also manually listing them out in the documentation as currently it would be a duplication and so both would need to be maintained.
  1. Where would be the best place for this in the 'What's New' section of the documentation?
  • 3.5 Given the potential overhaul of the citation page in the documentation what should happen to the existing entry in the documentation section of the 'What's New' "3. @jonseddon updated the citation to a more recent version of Iris. (PR #5116)".

Consult Iris pull request check list

@bouweandela
Copy link
Member

To avoid mistakes in the citation file, I would recommend setting up a GitHub action to validate the citation file.

trexfeathers and others added 5 commits February 20, 2023 17:58
* Unpin netcdf4.

* Temporarily enable GHA on this branch.

* Temporarily enable GHA on this branch.

* Temporarily enable GHA on this branch.

* Experiment to disable wheel CI on forks.

* Disable segfaulting routines.

* More temporary changes to get CI passing.

* More temporary changes to get CI passing.

* Finessed segfault skipping.

* Bring in changed from SciTools#5061.

* Re-instate test_load_laea_grid.

* Adaptations to get the tests passing.

* Use typing.Mapping instead.

* Get doctests passing.

* CF only resolve non-url filenames.

* Confirm thread safety fixes.

* Remove dummy assignment.

* Restored plot_nemo What's New entry.

* _add_aux_factories temporarily release global lock.

* Remove per-file locking.

* Remove remaining test workarounds.

* Remove remaining comments.

* Correct use of CFReader context manager.

* Refactor for easier future maintenance.

* Rename netcdf _thread_safe, add header.

* Full use of ThreadSafeAggregators.

* Full use of ThreadSafeAggregators.

* Remove remaining imports of NetCDF4.

* Test to ensure netCDF4 is via _thread_safe module.

* More refined netcdf._thread_safe classes.

* _thread_safe docstrings.

* Restore original NetCDF code where possible.

* Revert changes to 2.3.rst.

* Update lockfiles.

* Additions to _thread_safe.py

* Remove temporary CI shims.

* New locking stategy for NetCDFDataProxy.

* NetCDFDataProxy simpler use of netCDF4 lock.

* Update lock files.

* Go back to using a Threading Lock.

* Remove superfluous pass commands in test_cf.py.

* Rename _thread_safe to _thread_safe_nc.

* Rename thread safe classes to be 'Wrappers'.

* Better contained getattr and setattr pattern.

* Explicitly name netCDF4 module in _thread_safe_nc docstring.

* Better docstring for _ThreadSafeWrapper.

* Better comment about THREAD_SAFE_FLAG.

* list() wrapping within _GLOBAL_NETCDF4_LOCK, to account for generators.

* More accurate thread_safe docstrings in netcdf.saver.

* Split netcdf integration tests into multiple modules.

* Tests for non-thread-safe NetCDF behaviour.

* Docstring accuracy.

* Correct use of dask config set (context manager).

* Update dependencies.

* Review - don't need the first-class import of iris.tests.

* Better name for the loading test.

* Better selection of data to load.

* What's New entry.

* Improve tests.

* Update lock files.

* Increase chunking on test_save.

---------

Co-authored-by: Patrick Peglar <[email protected]>
`v3.4.1` 'merge-back' - What's New changes only
* Add coverage testing

* Update lockfile

* Include __repr__ in coverage

* use posargs for coverage flag instead of env var

* update whatsnew to mentions posargs
* Add coverage badge to README.md

* Update README.md

Co-authored-by: Martin Yeo <[email protected]>

---------

Co-authored-by: Martin Yeo <[email protected]>
CITATION.cff Outdated
Comment on lines 4 to 5
- name: "Met Office"
address: "Exeter, Devon"
Copy link
Member

@bjlittle bjlittle Feb 24, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I kinda disagree with this.

I'd prefer to see individual entries from those that have contributed to iris, so that's everyone in the community, not just those at the Met Office as an institution.

e.g., an entry such as,

- family-names: "Little"
  given-names: "Bill"
  orcid: "https://orcid.org/0000-0002-1345-9465"

So those who want to be recognised and cited as an author can be through ORCID.

This appears to be the approach taken by other open source projects.

rcomer and others added 17 commits February 27, 2023 11:30
* Enable lazy RMS aggregation with weights

Note that the referenced dask issue was fixed by dask#4236 which was included
in v1.1.0.

* whatsnew

* docstring

* add note about NEP13/18 not applying

* whatsnew PR num fix
* removed cell measure mask check and error

* updated whatsnew

* updated tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* remove redundant test class in test_Saver.py, and its reference in test_Saver__lazy.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
…y variables) for aggregation (SciTools#5084)

* First implementation for smarter weighted aggregation

* Allowed arbitrary _DimensionalMetadata for weights

* Added tests

* Added units argument to constructor of Weights

* Added documentation

* Fixed tests and added Weights class to API doc

* Fixed tests again

* Fixed bug which lead to errors when weights was explicitly set to None

* Fixed bug in doc

* Try 1 to fix doctest

* Do not import inherited functions for Weights anymore to avoid doctest failures

* Made Weights class private

* Suggestions from code review

* Split tests into smaller parts

* Re-wrote TestWeights as pytest test

* Spellcheck

* Added test for _sum_units_func

* Ensure backwards-compatibility of Aggregator.units_func

* Restored import order of test

* Added What's new entry

* Split further tests

* Optimized What's new entry

* Apply suggestions from code review

Co-authored-by: lbdreyer <[email protected]>

* obj cannot be None in _Weights.__array_finalize__

* Removed whitespace

---------

Co-authored-by: lbdreyer <[email protected]>
* Updated environment lockfiles

* Use footer_start and footer_end in line with pydata-sphinx-theme 0.13.

* Update docs theme in setup.cfg.

---------

Co-authored-by: Lockfile bot <[email protected]>
* Fix

* Two cases

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* latest.rst

---------

Co-authored-by: scott.robinson <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
…ols#5189)

* Add histogram convenience for passing Iris objects to plt.hist

* Fix orientation

* Review actions
Bumps [actions/stale](https://github.com/actions/stale) from 7 to 8.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](actions/stale@v7...v8)

---
updated-dependencies:
- dependency-name: actions/stale
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* SciTools#5180 do not run publish-to-test-pypi on forks

* do not run "publish to pypi" on forks

* Add what's new for SciTools#5220

---------

Co-authored-by: lbdreyer <[email protected]>
bjlittle and others added 8 commits May 9, 2023 12:54
* use lazy method for real data

* wrangle Mock objects

* fix cml tests

* use existing data slicing functionality

* tweak comment

* performance whatsnew
* Standard name of m01i00s023

* add note to latest.rst

* Adds github page name to dev.rst

* Standard name of m01i00s023

* add note to latest.rst

* Adds github page name to dev.rst

* add information to latest.rst

* added to latest.rst

* Update docs/src/whatsnew/latest.rst

fix typo in compliant!

Co-authored-by: Ruth Comer <[email protected]>

* also change name in um_cf_map.py

* fix units

* now properly align units with new name...

---------

Co-authored-by: Ruth Comer <[email protected]>
SciTools#5322)

* Added whatsnew notes on netcdf delayed saving and Distributed support.

* Fix formatting.

* --amend

Review change.

* Fix formatting.
bjlittle and others added 9 commits May 19, 2023 10:34
SciTools#5214)

* Support netCDF load+save on dataset-like objects as well as filepaths.

* Forbid completed saves to an open dataset.

* Forbid completed saves to an open dataset.

* Check Path usage in netcdf load+save, distinguished from Dataset args.

* Final adjustments to docs + whatsnew.

* Fix typos.

* Ensure defined cube order for stable CDL.

* Review changes.

* Save wraps passed datasets in thread-safe wrapper; thread-safe wrappers use duck typing.

* Review changes.
* Support 'emulation' of netCDF4.Variable with direct array transfers.

* Tests for emulated variable shortcuts in netcdf load+save.

* Fixes to existing tests.

* Test fixes.
* baseline

* remove comments

* reinstated

* added whatsnew

* review changes
* working for all except masked lazy

* use moveaxis

* handle lazy masked case

* add tests for is_lazy_masked_data

* whatsnew

* check compute isn't called

* update docstring
@HGWright
Copy link
Contributor Author

HGWright commented Aug 30, 2023

I agree that we should definetly be referencing the people rather than just the organisation but I think doing so with all of the contributors would make the citation way too long and unwieldy, but I also do not feel in a position to decide who is or isn't deserving of the citation. Most other packages use a prefered citation of a paper or article of some sort to avoid this problem, but even if we decide to do that, its beyond the scope of this task. Therefore I think a decision is required on how to proceed.

@rcomer
Copy link
Member

rcomer commented Aug 30, 2023

How about “Iris contributors”, to match the copyright notices? Pandas has The pandas development team.

@HGWright HGWright closed this Sep 6, 2023
@HGWright
Copy link
Contributor Author

HGWright commented Sep 6, 2023

Oops, made a mistake rebasing it and it added all of the other commits. I will re make the pull request with the changes originally looked at.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add a citation file