Giter Site home page Giter Site logo

cluster-lensing's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cluster-lensing's Issues

Python 3 compatibility

This is high on the TO DO list...

Its probably a good idea to follow the AstroPy guidelines. Their requirements state that:
"All code must be compatible with Python 2.6, 2.7, as well as 3.3 and later. The use of six for writing code that is portable between Python 2.x and 3.x is encouraged going forward."

Best place to specify rbins in SurfaceMassDensity?

Currently the user specifies the radial bins when instantiating SurfaceMassDensity() (or else default rbins are set). These bins are then passed on to the methods that calculate the profiles. It might make more sense to specify the bins when calling either of sigma_nfw() and deltasigma_nfw() instead, for two reasons:

  • If the user wanted to change the radial bins they were using, they would currently have to instantiate a new object, which has some overhead.
  • Conceptually, it might be nice to separate the physical properties of the clusters, which are used to create a SurfaceMassDensity() object, from the arbitrary choice of radial bins at which the profile will be calculated.

On the other hand, the sigma_nfw() and deltasigma_nfw() methods are interconnected, in that the latter actually relies on the former when it can (when sigma has already been calculated) in order to minimize the number of calculations it has to do. If the user wanted to calculate both of these profiles using different rbins for each, the code would need to have checks in place to ensure it uses sigma at the correct radius for calculating deltasigma.

Update default cosmology

Currently the default cosmology for ClusterEnsemble() is astropy.cosmology.Planck13, but we should eventually update to astropy.cosmology.Planck15, or newer if something else comes out.

Note that this will cause many tests to fail, because they assume Planck13. Will need to either just adapt calls to ClusterEnsemble() to specify the previously-default cosmology, or add tests for the other cosmology case (the latter will require more work, but is obviously the better option).

Cosmology options

Currently users can specify any of the WMAP cosmologies as an alternative to the default astropy.cosmology.Planck13 cosmology, when instantiating a ClusterEnsemble() object, by passing in a string, e.g. cosmology="WMAP9". It would be better and much less restrictive for users to be able to just pass in an astropy.cosmology object. This should be trivial to implement!

Astropy Affiliated Package Review

This package has been reviewed by the Astropy coordination committee for inclusion in the Astropy affiliated package ecosystem.

We have adopted a (new) review process for affiliated package that includes assigning quantitative ‘scores’ (red/orange/green) for different categories of review. You can read up more about this process here. (This document, currently in Google Docs, will be moved to the documentation in the near future.) For each of the categories below we have listed the score and have included some comments when the score is not green.

Functionality/ScopeSpecialized%20package
No further comments
Integration with Astropy ecosystemPartial
This package uses pandas DataFrames internally, which is completely fine, but it would be nice to have an easy way to get results as astropy tables if possible
DocumentationGood
No further comments
TestingGood
No further comments
Development statusGood
No further comments
Python 3 compatibilityGood
No further comments

Summary/Decision: Things are looking good, and this package meets the review criteria for affiliated packages, so we are happy to confirm that we'll be listing your package as an affiliated package! Keep up the good work, and we encourage you to improve on the areas above that weren't 'green' yet.

If you agree with the above review, please feel free to close this issue. If you have any follow-up questions or disagree with any of the comments above, leave a comment and we can discuss it here. At any point in future you can request a re-review of the package if you believe any of the scores should be updated - contact the coordination committee, and we’ll do a new review. Note that we are in the process of redesigning the http://affiliated.astropy.org page to show these scores (but not the comments). Finally, please keep the title of this issue as-is (“Astropy Affiliated Package Review”) to make it easy to search for affiliated package reviews in future.

Alternative density profiles

Currently we just have NFW profiles, but Einasto, generalized-NFW, maybe even SIS would be nice to have for completeness.

Parallel processing

Prior to this being a pure Python package, parallel-programming was an option for the C code, through use of the OpenMP framework. It would be nice to implement parallel-processing in Python, since lots of miscentered cluster profiles calculated many times (as in model-fitting) will take significant time.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.