Giter Site home page Giter Site logo

tberlok / paicos Goto Github PK

View Code? Open in Web Editor NEW
10.0 3.0 3.0 9.55 MB

An object-oriented Python package for analysis of (cosmological) simulations performed with Arepo

License: GNU General Public License v3.0

Python 25.08% Cython 2.85% Makefile 0.05% Jupyter Notebook 71.94% Shell 0.07%

paicos's Introduction

DOI CircleCI pylint flake8 Documentation Status

Paicos

An object-oriented Python package for analysis of (cosmological) simulations performed with Arepo.

Documentation and asking for help

Installation instructions and tips on how to get started can be found on readthedocs.

If you have questions not answered there or if you simply can't get things working, then please feel free to create an issue or to send an email to tberlok ad nbi.ku.dk.

Reporting issues and/or requesting features

Paicos uses GitHub Issues to track bugs and feature requests. Please search the existing issues before filing new issues to avoid duplicates.

Contributing

Contributions are very welcome indeed! Please see instructions here.

Citing

Please cite Paicos whenever you use it for your research. A Bibtex file can be found below:

@article{Berlok_Paicos_A_Python_2024,
author = {Berlok, Thomas and Jlassi, Léna and Puchwein, Ewald and Haugbølle, Troels},
doi = {10.21105/joss.06296},
journal = {Journal of Open Source Software},
month = apr,
number = {96},
pages = {6296},
title = {{Paicos: A Python package for analysis of (cosmological) simulations performed with Arepo}},
url = {https://joss.theoj.org/papers/10.21105/joss.06296},
volume = {9},
year = {2024}
}

paicos's People

Contributors

tberlok avatar lenajlassi avatar lorenzolmp avatar haugboel avatar dependabot[bot] avatar

Stargazers

WANG avatar Jonathan Petersson avatar Ludwig avatar Meng avatar Kiara Hervella avatar  avatar  avatar Gopakumar Mohandas avatar  avatar Arman avatar

Watchers

Martin Sparre avatar  avatar  avatar

paicos's Issues

`test_non_comoving` fails

I attempted to run the test suite locally and got the following failure:

_____________________________________________________________ test_non_comoving _____________________________________________________________

show = False

    def test_non_comoving(show=False):
        import paicos as pa
        import numpy as np
>       snap = pa.Snapshot(pa.data_dir, 7,
                           basename='small_non_comoving')

tests/non-comoving/test_non_comoving.py:5: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
paicos/readers/arepo_snap.py:85: in __init__
    super().__init__(basedir=basedir, snapnum=snapnum, basename=basename,
paicos/readers/paicos_readers.py:121: in __init__
    self.get_units_and_other_parameters()
paicos/readers/paicos_readers.py:190: in get_units_and_other_parameters
    arepo_time = u.def_unit(
../../.miniconda3/envs/paicos_review/lib/python3.11/site-packages/astropy/units/core.py:2618: in def_unit
    result = Unit(s, represents, namespace=namespace, doc=doc, format=format)
../../.miniconda3/envs/paicos_review/lib/python3.11/site-packages/astropy/units/core.py:2077: in __call__
    return super().__call__(
../../.miniconda3/envs/paicos_review/lib/python3.11/site-packages/astropy/units/core.py:2235: in __init__
    NamedUnit.__init__(self, st, namespace=namespace, doc=doc, format=format)
../../.miniconda3/envs/paicos_review/lib/python3.11/site-packages/astropy/units/core.py:1799: in __init__
    self._inject(namespace)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = Unit("arepo_time")
namespace = {'Histogram2DReader': <class 'paicos.readers.paicos_readers.Histogram2DReader'>, 'ImageCreator': <class 'paicos.image_...s 'paicos.readers.paicos_readers.ImageReader'>, 'LambdaCDM': <class 'astropy.cosmology.flrw.lambdacdm.LambdaCDM'>, ...}

    def _inject(self, namespace=None):
        """
        Injects the unit, and all of its aliases, in the given
        namespace dictionary.
        """
        if namespace is None:
            return
    
        # Loop through all of the names first, to ensure all of them
        # are new, then add them all as a single "transaction" below.
        for name in self._names:
            if name in namespace and self != namespace[name]:
>               raise ValueError(
                    f"Object with name {name!r} already exists in "
                    f"given namespace ({namespace[name]!r})."
                )
E               ValueError: Object with name 'arepo_time' already exists in given namespace (Unit("arepo_time")).

../../.miniconda3/envs/paicos_review/lib/python3.11/site-packages/astropy/units/core.py:1880: ValueError

Typo or error in pytest markers?

Pytest reports the following warning:

tests/comoving/test_slicer_writer_and_reader.py:4
  /home/koman/code/paicos/tests/comoving/test_slicer_writer_and_reader.py:4: PytestUnknownMarkWarning: Unknown pytest.mark.order - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.order(1)

no_small_h issue

These should both work but one of them returns an error. Should be easy to fix.

Bc = B.no_small_h.to('uG')
Bc = B.to('uG').no_small_h

Further detail in contribution guidelines

Suggest fleshing out contribution guidelines a bit - what is the recommended way to install the development version of the package? What is the recommended way to run the test suite locally? Some of this is mentioned in the documentation, linking to those pages as appropriate would make sense.

It would also be useful to include information about expectations from contributors regarding documentations, test coverage, and similar.

Proper handling of boundaries of images

With SPH particles particles just outside the domain set by 'widths' will also contribute to the image. This is an issue for width and height of both slices and projections. For projections, a proper treatment would make a sphere and consider its overlap with projection box, also in depth. It would be straight-forward to take this into account by modifying the pre-selection functions to cut out the box + plus the hsml of each particle. And to switch to a 3D sphere when close to the front of back of the projection region. Probably a bit more expensive and I suspect it only is an issue for thin projections.

Slicing of PaicosTimeSeries

Slicing of PaicosTimeSeries should be rewritten so that its ._a value is adjusted accordingly. Taking a slice at specific time/a-factor should return a PaicosQuantity.

Dependencies

Will add any comments on dependencies here as I come across them.

To start: the notebook examples depend on matplotlib, which is not a dependency of the package (could be added as an optional dependency) or mentioned in the docs. While most users probably have this installed, I started from a blank virtual environment to catch these sorts of corner cases...

Typos

May as well gather these together as I notice them during review.

  1. "abble" in place of "able" on https://paicos.readthedocs.io/en/latest/configuration.html
  2. "get_depencies" should be "get_dependencies" (?) on https://paicos.readthedocs.io/en/latest/configuration.html
  3. https://paicos.readthedocs.io/en/latest/examples.html refers to subdirectory "ipython-notebooks" but seems to actually be named "notebook-tutorials".
  4. https://paicos.readthedocs.io/en/latest/examples.html refers to "notebook 1a" but notebooks are not numbered (seems like "paicos_basics.ipynb" is probably the one to start with?). In general would be useful to synchronize the labels in the docs (https://paicos.readthedocs.io/en/latest/notebooks/creating_slices_projections.html) and the notebook filenames.
  5. In notebook "paicos_basics" sentence missing period "Paicos gives information about what is happening under the hood"
  6. Something strange going on in the parameters and return values sections of PaicosQuantity documentation at https://paicos.readthedocs.io/en/latest/autodoc.html?
  7. Backslashes behaving weirdly in documentation on readthedocs, e.g. in PaicosQuantity:label we have "ho or abla imes ec{v}." on https://paicos.readthedocs.io/en/latest/autodoc.html, I guess that's "rho", "nabla" etc.
  8. Error in docstring of paicos.image_creators.nested_projector.NestedProjector leads to incorrectly formatted parameter list on https://paicos.readthedocs.io/en/latest/autodoc.html
  9. Also in docstring of paicos.image_creators.slicer.Slicer:slice_variable
  10. Also in 'Returns' section of project_variable from paicos.image_creators.tree_projector.TreeProjector
  11. paicos.image_creators.image_creator.ImageCreator list of parameters switches to being formatted as class methods/attributes (?) part way through.

Deprecation warnings in `make checks`

Some deprecations coming from numpy appear in the output of make checks after installation.

> make checks
make cleanup
make[1]: Entering directory `/cosma/home/durham/dc-oman1/code/paicos'
rm -rf data/test_data
rm -f data/very_small_snap_247.hdf5
rm -f data/reduced_snap2_247.hdf5
make[1]: Leaving directory `/cosma/home/durham/dc-oman1/code/paicos'
cd tests; pytest comoving
============================= test session starts ==============================
platform linux -- Python 3.10.1, pytest-8.0.1, pluggy-1.4.0
rootdir: /cosma/home/durham/dc-oman1/code/paicos
plugins: order-1.2.0
collected 9 items                                                              

comoving/test_slicer_writer_and_reader.py .                              [ 11%]
comoving/test_2D_histogram_openmp.py .                                   [ 22%]
comoving/test_arepo_image.py .                                           [ 33%]
comoving/test_binary_tree.py .                                           [ 44%]
comoving/test_compare_projector_with_snap_util.py .                      [ 55%]
comoving/test_compare_slicer_with_snap_util.py .                         [ 66%]
comoving/test_nested_plot_few_particles.py .                             [ 77%]
comoving/test_projector.py .                                             [ 88%]
comoving/test_radial_selection_function.py .                             [100%]

=============================== warnings summary ===============================
tests/comoving/test_slicer_writer_and_reader.py::test_slicer_writer_and_reader
tests/comoving/test_slicer_writer_and_reader.py::test_slicer_writer_and_reader
  /cosma/home/durham/dc-oman1/.virtualenv/paicos_review/lib/python3.10/site-packages/cupy/__init__.py:103: DeprecationWarning: `np.bool8` is a deprecated alias for `np.bool_`.  (Deprecated NumPy 1.24)
    from numpy import bool8  # NOQA

tests/comoving/test_slicer_writer_and_reader.py::test_slicer_writer_and_reader
tests/comoving/test_slicer_writer_and_reader.py::test_slicer_writer_and_reader
  /cosma/home/durham/dc-oman1/.virtualenv/paicos_review/lib/python3.10/site-packages/cupy/__init__.py:114: DeprecationWarning: `np.int0` is a deprecated alias for `np.intp`.  (Deprecated NumPy 1.24)
    from numpy import int0  # NOQA

tests/comoving/test_slicer_writer_and_reader.py::test_slicer_writer_and_reader
tests/comoving/test_slicer_writer_and_reader.py::test_slicer_writer_and_reader
  /cosma/home/durham/dc-oman1/.virtualenv/paicos_review/lib/python3.10/site-packages/cupy/__init__.py:129: DeprecationWarning: `np.uint0` is a deprecated alias for `np.uintp`.  (Deprecated NumPy 1.24)
    from numpy import uint0  # NOQA

tests/comoving/test_slicer_writer_and_reader.py::test_slicer_writer_and_reader
tests/comoving/test_projector.py::test_projector
  /cosma/home/durham/dc-oman1/code/paicos/paicos/image_creators/image_creator.py:70: UserWarning: 
  
  The definition of a 'y'-image was changed on 19/1/24 to be consistent with a right-handed coordinate system. You can recover the old behaviour by passing an orientation object:
  Orientation(normal_vector=[0, -1, 0], perp_vector1=[1, 0, 0])
  instead of a direction 'y' string.
  
  
    warnings.warn("\n\nThe definition of a 'y'-image was changed "

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
======================== 9 passed, 8 warnings in 10.50s ========================
cd tests; pytest non-comoving
============================= test session starts ==============================
platform linux -- Python 3.10.1, pytest-8.0.1, pluggy-1.4.0
rootdir: /cosma/home/durham/dc-oman1/code/paicos
plugins: order-1.2.0
collected 1 item                                                               

non-comoving/test_non_comoving.py .                                      [100%]

=============================== warnings summary ===============================
tests/non-comoving/test_non_comoving.py::test_non_comoving
tests/non-comoving/test_non_comoving.py::test_non_comoving
  /cosma/home/durham/dc-oman1/.virtualenv/paicos_review/lib/python3.10/site-packages/cupy/__init__.py:103: DeprecationWarning: `np.bool8` is a deprecated alias for `np.bool_`.  (Deprecated NumPy 1.24)
    from numpy import bool8  # NOQA

tests/non-comoving/test_non_comoving.py::test_non_comoving
tests/non-comoving/test_non_comoving.py::test_non_comoving
  /cosma/home/durham/dc-oman1/.virtualenv/paicos_review/lib/python3.10/site-packages/cupy/__init__.py:114: DeprecationWarning: `np.int0` is a deprecated alias for `np.intp`.  (Deprecated NumPy 1.24)
    from numpy import int0  # NOQA

tests/non-comoving/test_non_comoving.py::test_non_comoving
tests/non-comoving/test_non_comoving.py::test_non_comoving
  /cosma/home/durham/dc-oman1/.virtualenv/paicos_review/lib/python3.10/site-packages/cupy/__init__.py:129: DeprecationWarning: `np.uint0` is a deprecated alias for `np.uintp`.  (Deprecated NumPy 1.24)
    from numpy import uint0  # NOQA

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
======================== 1 passed, 6 warnings in 2.58s =========================
cd tests; pytest general
============================= test session starts ==============================
platform linux -- Python 3.10.1, pytest-8.0.1, pluggy-1.4.0
rootdir: /cosma/home/durham/dc-oman1/code/paicos
plugins: order-1.2.0
collected 1 item                                                               

general/test_orientation.py .                                            [100%]

=============================== warnings summary ===============================
../../../.virtualenv/paicos_review/lib/python3.10/site-packages/cupy/__init__.py:103
../../../.virtualenv/paicos_review/lib/python3.10/site-packages/cupy/__init__.py:103
  /cosma/home/durham/dc-oman1/.virtualenv/paicos_review/lib/python3.10/site-packages/cupy/__init__.py:103: DeprecationWarning: `np.bool8` is a deprecated alias for `np.bool_`.  (Deprecated NumPy 1.24)
    from numpy import bool8  # NOQA

../../../.virtualenv/paicos_review/lib/python3.10/site-packages/cupy/__init__.py:114
../../../.virtualenv/paicos_review/lib/python3.10/site-packages/cupy/__init__.py:114
  /cosma/home/durham/dc-oman1/.virtualenv/paicos_review/lib/python3.10/site-packages/cupy/__init__.py:114: DeprecationWarning: `np.int0` is a deprecated alias for `np.intp`.  (Deprecated NumPy 1.24)
    from numpy import int0  # NOQA

../../../.virtualenv/paicos_review/lib/python3.10/site-packages/cupy/__init__.py:129
../../../.virtualenv/paicos_review/lib/python3.10/site-packages/cupy/__init__.py:129
  /cosma/home/durham/dc-oman1/.virtualenv/paicos_review/lib/python3.10/site-packages/cupy/__init__.py:129: DeprecationWarning: `np.uint0` is a deprecated alias for `np.uintp`.  (Deprecated NumPy 1.24)
    from numpy import uint0  # NOQA

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
======================== 1 passed, 6 warnings in 2.17s =========================

User settings

It would be useful to have the possibility of setting up aliases for fields.

It would also be useful to have the possibility of adding the units of a custom field found in the hdf5 files.

Interactive demo of GPU rendering error

I've attempted to try out the example notebook gpu_ray_with_widget_and_logging_v2.ipynb. The other example notebooks showcasing the GPU functionality run fine for me on the same environment so it seems like I have the GPU configured correctly. My suspicion is that this might be a jupyterlab compatibility issue. Some details:

  1. I'm running on the cosma system, specifically node login8b, which is equipped with an nvidia A100 GPU (https://www.dur.ac.uk/icc/cosma/support/gpu/).
  2. I'm using cuda version 11.2, which the HPC admin team has installed as a module. I'm not entirely confident about loading a module for use inside a jupyterlab environment so I queried the module (which is just a set of instructions for setting environment variables) and added a cell to the top of the notebook to set those variables through os.environ.
  3. I'm working in a virtual environment with the following packages installed (everything done with pip, I used the third method to install paicos, i.e. clone repository and then install with pip):
> pip freeze
anyio==4.3.0
argon2-cffi==23.1.0
argon2-cffi-bindings==21.2.0
arrow==1.3.0
astropy==6.0.0
astropy-iers-data==0.2024.2.19.0.28.47
asttokens==2.4.1
async-lru==2.0.4
attrs==23.2.0
Babel==2.14.0
beautifulsoup4==4.12.3
bleach==6.1.0
certifi==2024.2.2
cffi==1.16.0
charset-normalizer==3.3.2
comm==0.2.1
contourpy==1.2.0
cupy-cuda112==10.6.0
cycler==0.12.1
Cython==3.0.8
debugpy==1.8.1
decorator==5.1.1
defusedxml==0.7.1
exceptiongroup==1.2.0
executing==2.0.1
fastjsonschema==2.19.1
fastrlock==0.8.2
fonttools==4.49.0
fqdn==1.5.1
h11==0.14.0
h5py==3.10.0
httpcore==1.0.3
httpx==0.26.0
idna==3.6
iniconfig==2.0.0
ipykernel==6.29.2
ipympl==0.9.3
ipython==8.21.0
ipython-genutils==0.2.0
ipywidgets==8.1.2
isoduration==20.11.0
jedi==0.19.1
Jinja2==3.1.3
json5==0.9.17
jsonpointer==2.4
jsonschema==4.21.1
jsonschema-specifications==2023.12.1
jupyter==1.0.0
jupyter-console==6.6.3
jupyter-events==0.9.0
jupyter-lsp==2.2.2
jupyter_client==8.6.0
jupyter_core==5.7.1
jupyter_server==2.12.5
jupyter_server_terminals==0.5.2
jupyterlab==4.1.2
jupyterlab_pygments==0.3.0
jupyterlab_server==2.25.3
jupyterlab_widgets==3.0.10
kiwisolver==1.4.5
llvmlite==0.42.0
MarkupSafe==2.1.5
matplotlib==3.8.3
matplotlib-inline==0.1.6
mistune==3.0.2
nbclient==0.9.0
nbconvert==7.16.1
nbformat==5.9.2
nest-asyncio==1.6.0
notebook==7.1.0
notebook_shim==0.2.4
numba==0.59.0
numpy==1.24.4
overrides==7.7.0
packaging==23.2
-e git+ssh://[email protected]/tberlok/paicos.git@4cca5893062d5435a1e6d849e3113d47e62dbd8a#egg=paicos
pandocfilters==1.5.1
parso==0.8.3
pexpect==4.9.0
pillow==10.2.0
platformdirs==4.2.0
pluggy==1.4.0
prometheus_client==0.20.0
prompt-toolkit==3.0.43
psutil==5.9.8
ptyprocess==0.7.0
pure-eval==0.2.2
pycparser==2.21
pyerfa==2.0.1.1
Pygments==2.17.2
pyparsing==3.1.1
pytest==8.0.1
pytest-order==1.2.0
python-dateutil==2.8.2
python-json-logger==2.0.7
PyYAML==6.0.1
pyzmq==25.1.2
qtconsole==5.5.1
QtPy==2.4.1
referencing==0.33.0
requests==2.31.0
rfc3339-validator==0.1.4
rfc3986-validator==0.1.1
rpds-py==0.18.0
scipy==1.12.0
Send2Trash==1.8.2
six==1.16.0
sniffio==1.3.0
soupsieve==2.5
stack-data==0.6.3
terminado==0.18.0
tinycss2==1.2.1
tomli==2.0.1
tornado==6.4
traitlets==5.14.1
types-python-dateutil==2.8.19.20240106
typing_extensions==4.9.0
uri-template==1.3.0
urllib3==2.2.1
wcwidth==0.2.13
webcolors==1.13
webencodings==0.5.1
websocket-client==1.7.0
widgetsnbextension==4.0.10
  1. I'm working in a jupyterlab instance hosted on the cosma jupyterhub (https://www.dur.ac.uk/icc/cosma/support/jupyterhub/). I have a suspicion that this may be the root of the problem since jupyter-notebook and jupyterlab have some compatibility issues. Might be possible to test on the TNG jupyterlab instance, but I don't know if they have any GPUs available and if so, how to use them...
  2. The notebook runs fine without errors, but instead of an interactive interface at the end of the last cell I just get 11 copies of the message Error displaying widget: model not found

I can try to talk to our system admins in the coming days to see if there's a good way of starting a notebook server to use the GPUs on our system (rather than a jupyterhub/jupyterlab server) - a priori I don't know a way to do this on this system that doesn't involve an agonizingly slow remotely-hosted browser session.

API documentation incomplete & bugs

The API documentation section has some incomplete docstrings particularly in the paicos.derived_variables section. There are also a number of errors/glitches in the html rendering on readthedocs, some examples are listed in #52 but please check carefully for more.

Community contributions

I'm doing my JOSS review of Paicos and I can't seem to find any information about how other users can contribute.

It would be great to have explicit statements somewhere about how users:

  • could submit code or documentation (do you accept PRs from anyone?)
  • notify of bugs or other problems with Paicos (should they use the issue tracker?)
  • ask for help using the software (slack? email? issue tracker? go away and leave me alone?)

Support for several unit systems within same Python session

Here is a brief explanation of the "Re-declaration of arepo code units attempted within same Python session" error message that Paicos throws when a user tries to load two arepo snapshots that have differing unit systems.

Paicos is currently unable to handle this because the arepo code units, such as e.g. 'arepo_mass', need to be
uniquely defined. This limitation of Paicos might become a problem if someone wants to compare snapshots from simulations using different unit systems. One approach would be to initialize the arepo code units only when they are actually needed. Users could then for each simulation make derived hdf5-files in e.g. cgs and then make their comparison using these derived hdf5-files.

Below is a more detailed description of the problem:

We use astropy to handle units. The strategy is to load data with the numeric values in the hdf5-files, i.e., we do not convert e.g. CGS during loading. This has the advantage that one can work with the code units, if one so wishes. In order to support this, we define Python session wide arepo units, e.g.,

arepo_mass = u.def_unit(
                ["arepo_mass"],
                unit_mass,
                prefixes=False,
                namespace=_ns,
                doc="Arepo mass unit",
                format={"latex": r"arepo\_mass"},
            )

where unit_mass is defined unit_mass = self.Parameters['UnitMass_in_g'] * u.g.

This becomes a problem if another snapshot is loaded which has a differing value of self.Parameters['UnitMass_in_g'].

Some variables to add units for

/Users/berlok/projects/paicos/paicos/arepo_snap.py:329: UserWarning: Failed to give 0_AllowRefinement units
  warn('Failed to give {} units'.format(P_key))
/Users/berlok/projects/paicos/paicos/arepo_snap.py:329: UserWarning: Failed to give 0_CenterOfMass units
  warn('Failed to give {} units'.format(P_key))
/Users/berlok/projects/paicos/paicos/arepo_snap.py:329: UserWarning: Failed to give 0_GFM_AGNRadiation units
  warn('Failed to give {} units'.format(P_key))
/Users/berlok/projects/paicos/paicos/arepo_snap.py:329: UserWarning: Failed to give 0_GFM_CoolingRate units
  warn('Failed to give {} units'.format(P_key))
/Users/berlok/projects/paicos/paicos/arepo_snap.py:329: UserWarning: Failed to give 0_GFM_WindDMVelDisp units
  warn('Failed to give {} units'.format(P_key))
/Users/berlok/projects/paicos/paicos/arepo_snap.py:329: UserWarning: Failed to give 0_GFM_WindHostHaloMass units
  warn('Failed to give {} units'.format(P_key))
/Users/berlok/projects/paicos/paicos/arepo_snap.py:329: UserWarning: Failed to give 0_HighResGasMass units
  warn('Failed to give {} units'.format(P_key))
/Users/berlok/projects/paicos/paicos/arepo_snap.py:329: UserWarning: Failed to give 0_Machnumber units
  warn('Failed to give {} units'.format(P_key))
/Users/berlok/projects/paicos/paicos/arepo_snap.py:329: UserWarning: Failed to give 0_MagneticFieldDivergenceAlternative units
  warn('Failed to give {} units'.format(P_key))
/Users/berlok/projects/paicos/paicos/arepo_snap.py:329: UserWarning: Failed to give 0_NeutralHydrogenAbundance units
  warn('Failed to give {} units'.format(P_key))
/Users/berlok/projects/paicos/paicos/arepo_snap.py:329: UserWarning: Failed to give 0_ParticleIDs units
  warn('Failed to give {} units'.format(P_key))
/Users/berlok/projects/paicos/paicos/arepo_snap.py:329: UserWarning: Failed to give 0_Potential units
  warn('Failed to give {} units'.format(P_key))
/Users/berlok/projects/paicos/paicos/arepo_snap.py:329: UserWarning: Failed to give 0_StarFormationRate units
  warn('Failed to give {} units'.format(P_key))
/Users/berlok/projects/paicos/paicos/arepo_snap.py:329: UserWarning: Failed to give 0_SubfindDMDensity units
  warn('Failed to give {} units'.format(P_key))
/Users/berlok/projects/paicos/paicos/arepo_snap.py:329: UserWarning: Failed to give 0_SubfindDensity units
  warn('Failed to give {} units'.format(P_key))
/Users/berlok/projects/paicos/paicos/arepo_snap.py:329: UserWarning: Failed to give 0_SubfindHsml units
  warn('Failed to give {} units'.format(P_key))
/Users/berlok/projects/paicos/paicos/arepo_snap.py:329: UserWarning: Failed to give 0_SubfindVelDisp units
  warn('Failed to give {} units'.format(P_key))

License is not an OSI approved license?

JOSS review checklist asks for an OSI-approved license in the license file. Perhaps this is one, but I don't see the name of the license in the license file so it's difficult to tell.

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.