Automatic tool focused on deriving metallicities of open clusters

Overview

metalcode

Automatic tool focused on deriving metallicities of open clusters. Based on the method described in Pöhnl & Paunzen (2010, https://ui.adsabs.harvard.edu/abs/2010A%26A...514A..81P/abstract).

Description

This is the version 1.0 of the automated version of the procedure devised by Pöhnl & Paunzen (2010). The tool is focused on calculating metallicities Z (and logAge) of open clusters, assuming that accurate values of reddening and distance are provided (determined by independent methods). Before the code is applied, data for the cluster members (photometric brightness and colour) need to be prepared together with a file containing the list of clusters together with additional parameters. Examples of the data files are provided with the code. The code is applicable to Johnson (V,B-V), Gaia (G,BP-RP) and 2MASS (J,J-Ks) photometric systems.

The run-time of the code will depend on the total number of clusters in the included list, on the number of cluster members, and on the user input parameters. For example, if user inputs:

  • age_step=0.2
  • z_step=0.005
  • Nredd=5
  • Niter=6

code will return results within 1-2 min for a typical open cluster. However, it can run for longer in the case of a larger cluster (for the included example of NGC 6791, the code returned results after 20 min). Furthermore, the specific run-time is also hardware-dependent (the code was tested on AMD Ryzen 3 PRO 4450U).

See Piecka & Paunzen (submitted) for a full description of the methods applied in the code.

Requirements

In order to run the code, user must have installed Python 3 with numpy. The other libraries (matplotlib, time, os) are not required for the proper functionality of the code, but provide additional information useful information (e.g. figures).

The code was tested on the following operating systems:

  • Windows 10
  • Ubuntu 20.04 LTS
  • Fedora 34

Installation

Only Python 3 and the mentioned libraries need to be installed. Otherwise, no additional installation is needed.

Usage

To launch the tool, run the script metalcode_v1_0.py. For successful application of the tool, a cluster list and the associated data files need to be included prior to running the script.

Input

We describe several data files in this section of the documentation. As column separation, we use spaces between values. Furthermore, isochrone grids are required for the code to run. The included grids (logAge=6.6..10.0, Z=0.005..0.040, delta_logAge=0.1, delta_Z=0.005) are for the three photometric systems described below. The isochrones should be included in the main folder, the other files (described below) should be located in the clusters folder.

On the input (before the code is executed), the user must provide a file containing the list of clusters together with additional parameters (_complete.txt in clusters folder). The structure of this file adheres to the following format (the first line of the file is skipped on loading):

CLUSTER_NAME   GAL_LATITUDE_deg   PARALLAX_mas   DISTANCE_pc   E(B-V)_mag
...            ...                ...            ...           ...

The cluster name should be written as one word (spaces should be replaced by underscores). Galactic latitude and parallax are not necessary - they should be used only if reddening is taken from extinction maps (in that case, expcor parameter in the code should be changed to 1). If the reddening value is not known and there is no good guess, set the value to be any negative value. The code will then use a pre-determined set of reddening values (in magnitudes: 0.010, 0.040, 0.080, 0.125, 0.250, 0.500, 0.750, 1.000, 1.500, 2.000).

Secondly, a set of files containing cluster data is required. The cluster data should be provided for the specific photometric system, and the file name should coincide with CLUSTER_NAME_X, where the suffix X should be replaced by the following:

  • G for Gaia (G, BP-RP)
  • 2 for 2MASS (J, J-Ks)
  • J for Johnson (V, B-V)

The first line of the data file is skipped. The columns should follow the given format (in mag):

PHOTOMETRIC_BRIGHTNESS   PHOTOMETRIC_COLOUR
...                      ...

We strongly suggest that the users pre-analyse the colour-magnitude diagrams. Obvious binary sequences, white dwarfs, and possible other clear outliers should be removed in advance. This is necessary in the current version of the code due to the limitations of the included isochrone fitting sub-procedure.

Finally, the code will ask the user to specify additional parameters once it has been launched.

  1. Photometric system: Enter G, J or 2 (depending on the photometric system for which the data are available, see above for details).
  2. Isochrone grid spacing, age_step: In the current version, the user can choose between two spacings in the isochrone grid (0.1 or 0.2).
  3. Isochrone grid spacing, z_step: In the current version, use only value 0.005 (can be changed by the user, but the set of isochrones should be changed accordingly, if necessary).
  4. Number of reddening iterations, Nredd: The number of reddening values that should be studied by the code. Choose 1 if you want to use only the initial estimate value E(B-V)_ini. For 0, a predetermined set of ten values is used. Otherwise, use any odd number larger than 1.
  5. Reddening range, redAdj: The relative range for reddening iterations. For example, if redAdj=0.3 is given and Nredd > 1, then the code will start at the value 0.7*E(B-V)_ini and end at 1.3*E(B-V)_ini. The value of the initial estimate is always included (if Nredd>=1). Values between 0 and 1 are acceptable, excluding the limits.
  6. Maximum number of iterations, Niter: Determines the maximum number of iterations while searching for metallicity for a given reddening value. Necessary because the code may get stuck between two possible solutions. A large number is not advised, because the number of iterations is typically smaller than five. We recommend using Niter=6 for the currently included grids.

Output

The code provides all of the useful information on the output. If debugTest is set to True, the code will return additional information about the individual cluster members (values used in calculations, usually only required for debugging).

First of all, the solutions for different assumed reddening values will generally differ. For this, we include the results for all of the reddening values in a log-file in the finished folder. Included are the user input parameters, resulting cluster parameters (together with the quality-of-fit value, that should be minimised in the code) and the run-time for each of the individual clusters.

Secondly, the figures (CMD and LTN diagram) for the three best solutions are plotted saved in the finished folder. These figures should be consulted before interpreting the results.

Sub-procedures

Details regarding the sub-procedures can be found in our paper. We would like to point out here that most of the sub-procedure can be easily exchanged. For example, the sub-procedures metalcode_calib_absmg and metalcode_calib_clrex are used to apply steps that deredden the colour and correct the brightness for the extinction. The transformation coefficients can be exchanged by the user (if required).

Furthermore, we use pre-prepared set of polynomial relation in order to calculate Teff and BC for a given combination of the colour and metallicity values. These calibrations were based on the isochrones themselves (and may slightly differ from the empirical, observation-based, relations found in the literature). If the user wishes to replace the relations, sets of polynomial coefficients have to be replaced in metalcode_calib_tempe. Because of how our code works, the user should prepare the coefficients for the different Z values, starting from Z=0.001 up to Z=0.040 (in the current version), with delta_Z=0.001.

Finally, the isochrone fitting technique is based only on a simple least-square method. In order to use any other technique, one should alter the file "metalcode_calc_lstsqr". The only requirement is that LstSqr() from this sub-procedure returns a quality-of-fit value that needs to be minimised.

We would like to point out that the currently included fitting technique was prepared only the for testing purposes, and it may not be sophisticated enough to produce results for proper scientific analysis. We urge the user to replace this sub-procedure if possible. In the future updates, we will replace this sub-procedure ourselves so that the code can be used for a scientific work right out of the box.

Examples

We include a list of ten examples of open clusters that we analysed in our work. The observational data for the individual clusters were taken from the following sources:

All data files were manually pre-filtered in order to remove binary sequences, white dwarfs, and other possible outliers. A clear sequence of stars (main sequence + giants) is required with the currently introduced isochrone fitting sub-procedure.

Acknowledgements

The work was supported from Operational Programme Research, Development and Education - ,,Project Internal Grant Agency of Masaryk University'' (No. CZ.02.2.69/0.0/0.0/19_073/0016943).

This work makes use of data from the European Space Agency (ESA) mission Gaia (https://www.cosmos.esa.int/gaia), processed by the Gaia Data Processing and Analysis Consortium (DPAC, https://www.cosmos.esa.int/web/gaia/dpac/consortium). Funding for the DPAC has been provided by national institutions, in particular the institutions participating in the Gaia Multilateral Agreement.

This work makes use of data products from the Two Micron All Sky Survey, which is a joint project of the University of Massachusetts and the Infrared Processing and Analysis Center/California Institute of Technology, funded by the National Aeronautics and Space Administration and the National Science Foundation.

This research has made use of the WEBDA database (https://webda.physics.muni.cz), operated at the Department of Theoretical Physics and Astrophysics of the Masaryk University.

The isochrones were taken from http://stev.oapd.inaf.it/cgi-bin/cmd_3.5 (using default settings, except for the choice of the passbands).

The code for 'Deep Residual Fourier Transformation for Single Image Deblurring'

Deep Residual Fourier Transformation for Single Image Deblurring Xintian Mao, Yiming Liu, Wei Shen, Qingli Li and Yan Wang code will be released soon

145 Dec 13, 2022
CVPR2022 paper "Dense Learning based Semi-Supervised Object Detection"

[CVPR2022] DSL: Dense Learning based Semi-Supervised Object Detection DSL is the first work on Anchor-Free detector for Semi-Supervised Object Detecti

Bhchen 69 Dec 08, 2022
Where2Act: From Pixels to Actions for Articulated 3D Objects

Where2Act: From Pixels to Actions for Articulated 3D Objects The Proposed Where2Act Task. Given as input an articulated 3D object, we learn to propose

Kaichun Mo 69 Nov 28, 2022
A Model for Natural Language Attack on Text Classification and Inference

TextFooler A Model for Natural Language Attack on Text Classification and Inference This is the source code for the paper: Jin, Di, et al. "Is BERT Re

Di Jin 418 Dec 16, 2022
GPU-accelerated PyTorch implementation of Zero-shot User Intent Detection via Capsule Neural Networks

GPU-accelerated PyTorch implementation of Zero-shot User Intent Detection via Capsule Neural Networks This repository implements a capsule model Inten

Joel Huang 15 Dec 24, 2022
Wanli Li and Tieyun Qian: Exploit a Multi-head Reference Graph for Semi-supervised Relation Extraction, IJCNN 2021

MRefG Wanli Li and Tieyun Qian: "Exploit a Multi-head Reference Graph for Semi-supervised Relation Extraction", IJCNN 2021 1. Requirements To reproduc

万理 5 Jul 26, 2022
Pytorch modules for paralel models with same architecture. Ideal for multi agent-based systems

WideLinears Pytorch parallel Neural Networks A package of pytorch modules for fast paralellization of separate deep neural networks. Ideal for agent-b

1 Dec 17, 2021
Load What You Need: Smaller Multilingual Transformers for Pytorch and TensorFlow 2.0.

Smaller Multilingual Transformers This repository shares smaller versions of multilingual transformers that keep the same representations offered by t

Geotrend 79 Dec 28, 2022
Data & Code for ACCENTOR Adding Chit-Chat to Enhance Task-Oriented Dialogues

ACCENTOR: Adding Chit-Chat to Enhance Task-Oriented Dialogues Overview ACCENTOR consists of the human-annotated chit-chat additions to the 23.8K dialo

Facebook Research 69 Dec 29, 2022
An example of semantic segmentation using tensorflow in eager execution.

Semantic segmentation using Tensorflow eager execution Requirement Python 2.7+ Tensorflow-gpu OpenCv H5py Scikit-learn Numpy Imgaug Train with eager e

Iñigo Alonso Ruiz 25 Sep 29, 2022
Lorien: A Unified Infrastructure for Efficient Deep Learning Workloads Delivery

Lorien: A Unified Infrastructure for Efficient Deep Learning Workloads Delivery Lorien is an infrastructure to massively explore/benchmark the best sc

Amazon Web Services - Labs 45 Dec 12, 2022
Session-aware Item-combination Recommendation with Transformer Network

Session-aware Item-combination Recommendation with Transformer Network 2nd place (0.39224) code and report for IEEE BigData Cup 2021 Track1 Report EDA

Tzu-Heng Lin 6 Mar 10, 2022
Implementation of "RaScaNet: Learning Tiny Models by Raster-Scanning Image" from CVPR 2021.

RaScaNet: Learning Tiny Models by Raster-Scanning Images Deploying deep convolutional neural networks on ultra-low power systems is challenging, becau

SAIT (Samsung Advanced Institute of Technology) 5 Dec 26, 2022
Seq2seq - Sequence to Sequence Learning with Keras

Seq2seq Sequence to Sequence Learning with Keras Hi! You have just found Seq2Seq. Seq2Seq is a sequence to sequence learning add-on for the python dee

Fariz Rahman 3.1k Dec 18, 2022
Awesome-google-colab - Google Colaboratory Notebooks and Repositories

Unofficial Google Colaboratory Notebook and Repository Gallery Please contact me to take over and revamp this repo (it gets around 30k views and 200k

Derek Snow 1.2k Jan 03, 2023
A Probabilistic End-To-End Task-Oriented Dialog Model with Latent Belief States towards Semi-Supervised Learning

LABES This is the code for EMNLP 2020 paper "A Probabilistic End-To-End Task-Oriented Dialog Model with Latent Belief States towards Semi-Supervised L

17 Sep 28, 2022
An AI made using artificial intelligence (AI) and machine learning algorithms (ML) .

DTech.AIML An AI made using artificial intelligence (AI) and machine learning algorithms (ML) . This is created by help of some members in my team and

1 Jan 06, 2022
Stacked Recurrent Hourglass Network for Stereo Matching

SRH-Net: Stacked Recurrent Hourglass Introduction This repository is supplementary material of our RA-L submission, which helps reviewers to understan

28 Jan 03, 2023
Official PyTorch Implementation of Mask-aware IoU and maYOLACT Detector [BMVC2021]

The official implementation of Mask-aware IoU and maYOLACT detector. Our implementation is based on mmdetection. Mask-aware IoU for Anchor Assignment

Kemal Oksuz 46 Sep 29, 2022
FS-Mol: A Few-Shot Learning Dataset of Molecules

FS-Mol is A Few-Shot Learning Dataset of Molecules, containing molecular compounds with measurements of activity against a variety of protein targets. The dataset is presented with a model evaluation

Microsoft 114 Dec 15, 2022