open-index/open-npm huggingface dataset:
npm package: @jobovy/kimmy
Description: Javascript version of kimmy, Galactic chemical evolution library
Author: Jo Bovy
Latest version: 1.1.2

# kimmy.js
Javascript version of kimmy, Galactic chemical evolution in python

[![npm version](https://badge.fury.io/js/%40jobovy%2Fkimmy.svg)](https://badge.fury.io/js/%40jobovy%2Fkimmy)
[![jsDelivr](https://badgen.net/jsdelivr/v/npm/@jobovy/kimmy)](https://www.jsdelivr.com/package/npm/@jobovy/kimmy)
[![Try @jobovy/kimmy on RunKit](https://badge.runkitcdn.com/@jobovy/kimmy.svg)](https://npm.runkit.com/@jobovy/kimmy)

## Overview

This is a stand-alone Javascript version of the
[kimmy](https://github.com/jobovy/kimmy) Python library for Galactic
chemical evolution. ``kimmy.js`` replicates all of the functionality
in ``kimmy.py`` as of 01/17/2020.

## Author

Jo Bovy (University of Toronto): bovy - at - astro - dot - utoronto - dot - ca

## Usage

Load the library, e.g., from ``jsDelivr`` using
```
<script src="https://cdn.jsdelivr.net/npm/@jobovy/kimmy"></script>
```
for the latest version or specify the version with (update ``1.1.2`` to later versions as necessary)
```
<script src="https://cdn.jsdelivr.net/npm/@jobovy/kimmy@1.1.2"></script>
```

Currently, the only implemented feature is a simple one-zone chemical
model with two elements ``O`` (for oxygen) and ``Fe`` (for
iron). Initialize this model as
```
var oz= new Kimmy.OneZone();
```
then for example compute the evolution of the default model and obtain
the [O/Fe] vs. [Fe/H] sequence, do
```
// Define a logarithmically-spaced array of times to compute the evolution at
var Ntimes= 51;
var min_age= 0.001; // Gyr
var max_age= 12.5; // Gyr
var log10_min_age= Math.log10(min_age);
var log10_max_age= Math.log10(max_age);
var times= Array.apply(null, {length: Ntimes}).map(Number.call, Number).map\
(x => log10_min_age+x*(log10_max_age-log10_min_age)/(Ntimes-1.)).map(x => Math.pow(10.,x));
// Obtain the evolution
var OFe= oz.O_Fe(times);
var FeH= oz.Fe_H(times);
```

You can also compute the distribution of [Fe/H], [O/H], and [O/Fe],
for example as
```
var FeH_dist= oz.Fe_H_DF(0.1,-3.5,1.0); // inputs are dFeH, FeHmin, FeHmax
```
This returns a list with the element being the [Fe/H] bins and the
second the distribution.

You can directly update the main parameters of the model and the model
will be re-computed. For example, to change the outflow parameter
``eta`` do
```
oz.eta= 4.
// Re-obtain the evolution
var OFe= oz.O_Fe(times);
var FeH= oz.Fe_H(times);
```
Keep in mind that once you change a parameter, it remains changed in
the model.

## Publishing a new version of this package

Follow the following steps:

* Update the version in ``package.json``
* Create a new git tag for this version: ``git tag vX.X.X``
* Package up for npm: ``npm pack``, check that no extraneous files are included
* Log into npm: ``npm login``
* Publish to npm: ``npm publish``
* Done!
npm package: @jobovy/vizier
Description: Fetch data tables from VizieR in the browser
Author: Jo Bovy
Latest version: 1.0.2

# vizier.js
Fetch data tables from VizieR in the browser

[![npm version](https://badge.fury.io/js/%40jobovy%2Fvizier.svg)](https://badge.fury.io/js/%40jobovy%2Fvizier)
[![jsDelivr](https://badgen.net/jsdelivr/v/npm/@jobovy/vizier)](https://www.jsdelivr.com/package/npm/@jobovy/vizier)
![Browser tests](https://github.com/jobovy/vizier.js/workflows/Browser%20tests/badge.svg)
[![codecov](https://codecov.io/gh/jobovy/vizier.js/branch/main/graph/badge.svg)](https://codecov.io/gh/jobovy/vizier.js)

## Overview

This small javascript package allows you to fetch a table from [VizieR](https://vizier.u-strasbg.fr/) asynchronously and process the data table into a dictionary according to the ReadMe.

## Author

Jo Bovy (University of Toronto): bovy - at - astro - dot - utoronto - dot - ca

## Usage

Only very basic usage is currently implemented. See [examples/basic.html](examples/basic.html) for a fully worked basic example. An example of loading a single file that contains both the ReadMe and the data and that is *not* on the CDS servers is given in [examples/onefile.html](examples/onefile.html).

Load the library, e.g., from jsDelivr using
```
<script src="https://cdn.jsdelivr.net/npm/@jobovy/vizier"></script>
```
for the latest version or specify the version with (update 1.0.2 to later versions as necessary)
```
<script src="https://cdn.jsdelivr.net/npm/@jobovy/vizier@1.0.2"></script>
```
This exposes a global variable ``VizieR`` that contains the functionality of this package.

Fetch a table by specifying the catalog's name (e.g., 'J/A+A/545/A32'), the specific table within the catalog's name (e.g., 'table4.dat'), and the name of the ReadMe (optional, e.g., 'ReadMe'). This returns a Promise that returns the data dictionary and the header, which you can then process with a ``then`` function. For example,
```
VizieR.fetch('J/A+A/545/A32','table4.dat','ReadMe')
   .then(function (dataAndHeader) {
     let [data,header]= dataAndHeader;
     // do stuff with the data and/or the header!
   });
```

You can also fetch a table from a general URL, in that case just set the first argument to ``null``. For example,
```
VizieR.fetch(null,'https://raw.githubusercontent.com/jobovy/sparc-rotation-curves/main/data/MassModels_Lelli2016c.mrt')
   .then(function (dataAndHeader) {
     let [data,header]= dataAndHeader;
     // do stuff with the data and/or the header!
   });
```

## Publishing a new version of this package

Follow the following steps:

* Update the version in ``package.json`` and then run ``npm install``. Commit updated version in ``package.json`` and ``package-lock.json``
* Create a new git tag for this version: ``git tag vX.X.X``
* Package up for npm: ``npm pack``, check that no extraneous files are included
* Publish to npm: ``npm publish --access public``
* Done!