Skip to main content

carbcor

PyPI Python License: MIT

Python package to calculate Placco et al. (2014) carbon abundance evolutionary corrections with online tool at vplacco.pythonanywhere.com.

Corrects observed [C/Fe] abundances for the depletion of carbon due to CN processing on the upper red giant branch. Inputs are observed [C/Fe], logg, and [Fe/H].

Installation

pip install carbcor

Quick start

Python API

from carbcor import get_carbon_correction, apply_carbon_corrections
import pandas as pd

# Single star
res = get_carbon_correction(logg=0.88, feh=-4.82, cfe=0.50) # these are the parameters for star GDR3_526285 [Limberg, Placco et al. (2025)](https://ui.adsabs.harvard.edu/abs/2025ApJ...989L..18L/abstract)
print(res["cfe_corrected"])   # corrected [C/Fe]
print(res["correction"])      # correction delta

# Batch from a DataFrame
# You can test for the whole JINAbase [Abohalima & Frebel 2018](https://ui.adsabs.harvard.edu/abs/2018ApJS..238...36A/abstract) following the tests folder.
# Since it parses 1 star at a time, it takes ~10min for each 2.5k stars.
df = pd.DataFrame({
    "logg": [0.88, -4.82, 0.50],  # GDR3_526285  [Limberg, Placco et al. (2025)](https://ui.adsabs.harvard.edu/abs/2025ApJ...989L..18L/abstract)
    "feh":  [1.89, -4.11, 2.20],  # HE 0144-4657 [Placco, Limberg et al. (2026)](https://ui.adsabs.harvard.edu/abs/2026ApJ..1000L..34P/abstract)
    "cfe":  [2.02, -4.06, 1.53],  # GDR3 47959   [Limberg, Placco et al. (2026)] --> submitted
})
df_cor = apply_carbon_corrections(df)
print(df_cor[["cfe", "cfe_corrected", "correction"]])

Command line

# Query a single star
carbcor query 0.88 -4.82 0.50 # GDR3_526285

# Process a CSV file
carbcor batch stars.csv -o corrected.csv

# Inspect the web form structure
carbcor discover

Parameter space

The underlying correction grid covers:

Parameter Range Step
log(g) 0.0 to 5.0 0.1
[Fe/H] −5.5 to 0.0 0.1
[C/Fe] −1.0 to 3.0 0.1

Values outside these ranges are clipped to the nearest grid point.

Custom column names

apply_carbon_corrections(df, logg_col="logg", feh_col="Fe/H", cfe_col="CFe") # example for the JINAbase_2021.csv table

How it works

  1. The package carbcor fetches the website HTML and auto-discovers the form structure (action URL, HTTP method, field names).
  2. For each star, it submits the parameters and parses the correction delta from the HTML response.
  3. Corrected [C/Fe] = input [C/Fe] + correction delta.
  4. Missing / NaN inputs produce NaN outputs (standard float('nan'), which is to be compatible with pandas, i.e., you can just plot it afterwards).

Development

git clone https://github.com/guilimberg/carbcor.git
cd carbcor
pip install -e ".[dev]"
pytest

Reference

If you use this tool, you SHOULD cite:

Placco, V.M., Frebel, A., Beers, T.C., & Stancliffe, R.J. 2014, ApJ, 797, 21 (ADS | arXiv:1410.2223)

License

MIT

Metadata

Release files for carbcor 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for carbcor 1.0.2
File Size Uploaded
carbcor-1.0.2.tar.gz 582.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for carbcor 1.0.2
File Interpreter ABI Platform
carbcor-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 592.9 kB

Release files / carbcor-1.0.2.tar.gz

Download URL carbcor-1.0.2.tar.gz
Size 582.3 kB
Tags Source
SHA-256 checksum
How to use checksums
5bcee291d4142ff0fb64fce2bcc577a7a61ef0f932c33bd963e31ca696224585
BLAKE2b-256 checksum
How to use checksums
2297132a4b6481f97a2769d0c8ce951ac5417569e1ba4c2beb22c1bac9e83d74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.14

Release files / carbcor-1.0.2-py3-none-any.whl

Download URL carbcor-1.0.2-py3-none-any.whl
Size 10.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
640f1e78d4fe97a87472b793e747b6938216583581efd14f267a5c96d5d30f2d
BLAKE2b-256 checksum
How to use checksums
41699b500bf7d22fdb93566ab39f65fa9307aba7bfbab899b6fa8e757f36e9c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.14

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page