Giter Site home page Giter Site logo

specsurveysdb's Introduction

Galaxy and Cosmology Spectroscopic Surveys Dashboard

This repository contains the code and survey data library for the Galaxy and Cosmology Spectroscopic Surveys Dashboard. The dashboard is a web-based tool that allows users to explore and filter the vast array of literature spectroscopic surveys. The dashboard is hosted at specsurveysdb.onrender.com.

Significant acknowledgement goes to Ivan Baldry and his long-running compilation of spectroscopic surveys, which was the starting point for this project.

Current functionality:

  • Filter surveys by status and facility: Select the status of the survey (ongoing, completed, planned/proposed). In addition, select one or more specific facilities to filter the surveys by.
  • Download data: Download the filtered survey data in CSV format. Note that the data is filtered based on the selected status and facilities, changes based on the selection wavelengh in the legend will not be reflected in the downloaded data (i.e. all selection wavelengths will be present).

Adding New Surveys / Amending Existing Surveys

Information for each survey is defined in the corresponding '.json' file in the 'surveys' directory. To add a new survey, first fork the repository and then create a new '.json' file in the 'surveys' directory. The '.json' file should have the following structure:

{
    "Survey": str # Short survey name / acronym,
    "Full Name": str # Full Name of Survey with relevant acronym expandeds,
    "Reference": str # DOI to the primary survey publication,
    "Nspec": int # Number of spectra in the survey,
    "Area": float # Survey area in square degrees,
    "Status": [0, 1, 2] # Survey status: 0 = Ongoing, 1 = Completed, 2 = Planned/Proposed,
    "Selection Type": [0, 1, 2] # Selection type: 0 = magnitude selection, 1 = colour selection, 2 = other,
    "Selection Wavelength": str # Selection wavelength: ['X-ray', 'UV', '300-500nm', '500-950nm', '0.95-2.5µm', '2.5-5µm', '5-1000µm', 'Radio'],
    "Facility": str # Telescope / Facility used for survey,
    "Instrument": str # Instrument used for survey, if applicable. 
                        If multiple instruments were used, list the primary instrument,
                         with others listed in the 'Notes' field.
    "Notes": str # Any additional notes on the survey, including additional instruments used,
                    survey status, selection criteria, etc.
}

Once the '.json' file has been created, submit a pull request to the main repository. The new survey will be added to the dashboard once the pull request has been reviewed and merged. Similarly, to amend an existing survey, edit the corresponding existing '.json' file and submit a pull request.

Adding Additional Survey Properties

Additional survey properties can be added to the '.json' files, for example spectral resolution, redshift ranges. These can be added as additional key-value pairs in the '.json' file. They will automatically be included in the compiled survey data, however the dashboard will need to be updated to include these new properties in the display. Future updates to the dashboard may include the ability to filter surveys based on these additional properties. Particular requests for additional properties can be made by opening an issue on the repository.

Running the Dashboard Locally

To run the dashboard locally, first clone the repository and then install the required packages using the following command:

pip install -r requirements.txt

Once the required packages have been installed, the app.py script may need amended to remove the 'host' and 'port' arguments in the 'app.run()' function. Once this is done, run the following command to start the dashboard:

python app.py

The dashboard will be accessible at http://http://127.0.0.1 in your web browser.

License

This project is licensed under the MIT License - see the LICENSE file for details.

specsurveysdb's People

Contributors

dunkenj avatar

Watchers

 avatar

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.