Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
bc770f2
Removing old logic for target resolver
mfixstsci Oct 16, 2023
7155aa0
Removed lightcurve Fitting tool
hover2pi May 7, 2024
64d0d38
Merge branch 'develop' into tier2
hover2pi May 7, 2024
3faecbe
Merge pull request #590 from ExoCTK/tier2
hover2pi May 7, 2024
3a3f6de
Merge pull request #588 from mfixstsci/add-pyproject
hover2pi May 7, 2024
4289c77
Added proper motion correction to contam tool
hover2pi May 8, 2024
567bb32
Minor formatting
hover2pi May 8, 2024
ab6e54d
Fixed the tooltips on the calc_vpa3 plot
hover2pi May 8, 2024
ed2e3e5
Fixes broadcasting error with SUBSTRIP96 and galaxy support for conta…
hover2pi Jun 6, 2024
8b05394
Removed lightcurve_fitting tool
hover2pi Jul 2, 2024
8f8ad26
Removing LCF tests
hover2pi Jul 2, 2024
e70a816
Updated the contam tool dropdown name
hover2pi Jul 2, 2024
bc5d450
Removed import of lcf tests
hover2pi Jul 2, 2024
b4e132f
Removed LCF from docs
hover2pi Jul 2, 2024
b5e2533
Set upper limit on numpy in requirements.txt
hover2pi Jul 2, 2024
53f8a5e
Oops'
hover2pi Jul 2, 2024
d0a28a1
Updated contam check notebook
hover2pi Jul 2, 2024
54827fc
Capping numpy version
mfixstsci Jul 5, 2024
95e989f
Removing 3.9 tests and updating import in contam tool
mfixstsci Jul 5, 2024
611f4a4
Removed double import...
mfixstsci Jul 5, 2024
3a36e13
Putting a cap on bokeh version too
mfixstsci Jul 5, 2024
840c856
Updating pins for bokeh to match
mfixstsci Jul 5, 2024
15509cb
Merge pull request #601 from mfixstsci/lcf_removal
hover2pi Jul 8, 2024
b7c2306
env fixes from mees
hover2pi Jul 8, 2024
39ac1e3
Merge pull request #600 from ExoCTK/lcf_removal
hover2pi Jul 8, 2024
7bf3ab2
Merge pull request #595 from ExoCTK/develop
hover2pi Jul 16, 2024
0583492
Resolved merge conflicts
hover2pi Jul 16, 2024
640373e
Deleted old contam notebooks and updated new one.
hover2pi Jul 16, 2024
5754840
Resolved import conflict
hover2pi Jul 16, 2024
cd2cac0
Merge branch 'develop' into contam_updates
hover2pi Jul 16, 2024
64386d0
Fixed Fortney grid select fields so no error is thrown
hover2pi Jul 17, 2024
b63ab7b
Merge pull request #597 from ExoCTK/contam_updates
hover2pi Jul 31, 2024
20f4f61
Updated environment files
mfixstsci Aug 1, 2024
256a42f
Typo fix
mfixstsci Aug 1, 2024
427240d
Updating MIRI keyword for contam-viz
mfixstsci Aug 1, 2024
984d441
Remove merge conflict in requirements.txt
mfixstsci Aug 1, 2024
7f10073
Merge pull request #609 from mfixstsci/fix-merge-conflicts
hover2pi Aug 1, 2024
8c7805d
Merge pull request #608 from mfixstsci/contam-viz-instrument-keyword
hover2pi Aug 1, 2024
6fe90ed
Updated the version number in the footer
hover2pi Aug 5, 2024
b44df4a
Updated plot description text on results page
hover2pi Aug 5, 2024
55dee30
now visibility tool goes from Cycle 3 to 6
nespinoza Aug 5, 2024
ef32e16
Updated tooltips on contam plot
hover2pi Aug 5, 2024
57a8b7f
Merge pull request #612 from nespinoza/new-visibility-dates
hover2pi Aug 5, 2024
2eb3e23
Merge pull request #613 from ExoCTK/v126_edits
nespinoza Aug 5, 2024
769356d
Removed MIRI text from contam tool page
hover2pi Aug 27, 2024
447e7e7
Adding if else to avoid keyerror in field simulator
mfixstsci Sep 10, 2024
7fec5fc
Merge pull request #618 from mfixstsci/update-nrs-viz-plot
hover2pi Sep 10, 2024
dba2fb1
Fixes add_source call for contam companions
hover2pi Sep 16, 2024
bcdef57
Merge pull request #615 from ExoCTK/patch
hover2pi Sep 16, 2024
32ffd18
Merge pull request #580 from mfixstsci/group-ints-form-validation-bug
hover2pi Sep 24, 2024
ffc0b52
Fixing SUBSTRIP96 broadcasting error
hover2pi Oct 15, 2024
778cf72
Merge pull request #628 from ExoCTK/1.2.6
hover2pi Dec 5, 2024
7fdb4b9
Reworked LDC file download to fix security risk
hover2pi Jun 3, 2025
4aea7dc
style
hover2pi Jun 3, 2025
de97c14
Added timestamp to tmp files
hover2pi Jun 3, 2025
31fddb3
Removed unused method
hover2pi Jun 3, 2025
4555251
Merge pull request #638 from ExoCTK/security_fix
hover2pi Jun 3, 2025
447f7e4
Update app_exoctk.py
hover2pi Jun 4, 2025
1e09123
Merge pull request #639 from ExoCTK/hover2pi-patch-2
hover2pi Jun 4, 2025
48d42cb
Removed unused method with eval
hover2pi Jun 4, 2025
bdc0641
Merge pull request #640 from ExoCTK/typo
hover2pi Jun 4, 2025
48cfdb3
Update README.rst
hover2pi Jun 4, 2025
ec49b1c
Merge pull request #641 from ExoCTK/hover2pi-patch-2
hover2pi Jun 4, 2025
822aa7e
Update setup.py
hover2pi Jun 5, 2025
843ce36
Merge pull request #642 from ExoCTK/hover2pi-patch-2
hover2pi Jun 5, 2025
f9e0a00
Fixed broken path for contam plot
hover2pi Jun 9, 2025
f7312a4
Bumped version
hover2pi Jun 9, 2025
681b311
Removed duplicate groups_and_ints download call
hover2pi Jun 9, 2025
ae14b62
Added exoctk_data versioning
hover2pi Jun 9, 2025
ba1e646
Only tag data with major.minor release numbers
hover2pi Jun 9, 2025
d1a3c97
Merge pull request #645 from ExoCTK/downloads
hover2pi Jun 10, 2025
25f9900
Merge branch 'main' into dhs
hover2pi Jun 12, 2025
5316fe6
Merge conflicts
hover2pi Jun 12, 2025
398ccf9
Fixing filepath
hover2pi Jun 12, 2025
c5949d6
Fixing setup file
hover2pi Jun 12, 2025
e2b42b9
Fixed source URL construction and suppressed warnings
hover2pi Jun 17, 2025
b0fbdbb
Updated the contam tool with better the POM boundaries and moved old …
hover2pi Jun 18, 2025
4096c70
Updated app contam tool to use built in plot
hover2pi Jun 18, 2025
ab67cbb
Ignoring contam log
hover2pi Jun 18, 2025
2286032
Merge pull request #646 from ExoCTK/companions
hover2pi Jun 25, 2025
3aa6508
current
hover2pi Jun 25, 2025
21ad5da
Added containerization
york-stsci Aug 4, 2025
af49f73
Edit compose file to create bind volumes for data
york-stsci Aug 4, 2025
0b6a9c7
Updated truth values for WASP-43 b
york-stsci Aug 5, 2025
7953d2e
Removed unnecessary commented-out lines from Dockerfile
york-stsci Aug 5, 2025
ed60edf
Made commented-out lines into an instructive explanation
york-stsci Aug 5, 2025
ca3ba82
Added order 0 trace library and code to choose closest Teff
hover2pi Aug 8, 2025
f2fda0e
Updated scaling for order 0s
hover2pi Aug 14, 2025
b239e59
Fixing scipy version bug in pandexo
york-stsci Aug 26, 2025
327c5f2
Merge pull request #651 from york-stsci/add_docker
york-stsci Aug 26, 2025
e44b7f1
Merge pull request #652 from ExoCTK/ord0
hover2pi Sep 3, 2025
3e46314
Added module to precompute contam data and save and load it
hover2pi Jan 13, 2026
cb02a08
Added code to generate a precomputed database
hover2pi Jan 13, 2026
1cfef79
Code now generates the database and reads from it, saving space where…
hover2pi Jan 13, 2026
c162a1f
Ignore contam database
hover2pi Jan 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ jobs:
max-parallel: 5
matrix:
os: [ubuntu-latest, macos-latest]
python-version: ['3.9', '3.10', '3.11']
python-version: ['3.10', '3.11', '3.12']
fail-fast: false

steps:
Expand Down
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
*.so
*.x

# tmp files for LDC
*.ecsv

# Directories
__pycache__
exoctk/__pycache__
Expand All @@ -15,12 +18,13 @@ exoctk/__pycache__
*.c

# Other generated files
*/_version.py
*/cython_version.py
htmlcov
.coverage
MANIFEST
.ipynb_checkpoints
contam_tool.log
soss_contam.h5

# Sphinx
docs/api
Expand Down
4 changes: 2 additions & 2 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -80,15 +80,15 @@ Next, one can create the ``exoctk`` ``conda`` environment via the appropriate ``
conda env create -f environment-<PYTHON_VERSION>.yml


where ``<PYTHON_VERSION>`` is the version of python you are using (e.g. ``environment-3.8.yml``)
where ``<PYTHON_VERSION>`` is the version of python you are using (e.g. ``environment-3.11.yml``)

Lastly, one can activate the newly-created environment with:

::

conda activate exoctk-<PYTHON_VERSION>

where again, ``<PYTHON_VERSION>`` is the version of python you are using (e.g. ``exoctk-3.8``)
where again, ``<PYTHON_VERSION>`` is the version of python you are using (e.g. ``exoctk-3.11``)


Package Installation
Expand Down
12 changes: 12 additions & 0 deletions docker/.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# set the HAS_EXO variable depending on whether EXOCTK_DATA is defined.
# HAS_EXO=${${EXOCTK_DATA+copy}:-download} (doesn't work?)
HAS_EXO=${EXOCTK_DATA+copy}
HAS_EXO=${HAS_EXO:-download}

# set the HAS_PANDEIA variable depending on whether pandeia_refdata is defined.
HAS_PANDEIA=${pandeia_refdata+copy}
HAS_PANDEIA=${HAS_PANDEIA:-download}

# set the HAS_SYN variable depending on whether PYSYN_CDBS is defined.
HAS_SYN=${PYSYN_CDBS+copy}
HAS_SYN=${HAS_SYN:-download}
Empty file added docker/celery.yaml
Empty file.
56 changes: 56 additions & 0 deletions docker/compose.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
include:
- redis.yaml
# - celery.yaml
services:
# Data Store Images
exoctk:
build:
context: ./exoctk
dockerfile: Dockerfile
args:
- exoctk_version=v1.2.6.3
- python_version=3.11
- exoctk_data=$EXOCTK_DATA
- has_exo=$HAS_EXO
volumes:
- exoctk_data:/exoctk/exoctk_data
ports:
- "5000:5000"
restart: unless-stopped
pandexo:
build:
context: ./pandexo
dockerfile: Dockerfile
args:
- pandexo_version=3.0.0
- python_version=3.11
- pandeia_version=3.2
- has_exo=$HAS_EXO
- has_pandeia=$HAS_PANDEIA
- has_syn=$HAS_SYN
volumes:
- exoctk_data:/data/exoctk
- pandeia_data:/data/pandeia
- synphot_data:/data/trds
ports:
- "1111:1111"
restart: unless-stopped
volumes:
exoctk_data:
driver: local
driver_opts:
type: none
o: bind
device: $EXOCTK_DATA
pandeia_data:
driver: local
driver_opts:
type: none
o: bind
device: $pandeia_refdata
synphot_data:
driver: local
driver_opts:
type: none
o: bind
device: $PYSYN_CDBS
39 changes: 39 additions & 0 deletions docker/dockerfiles/DataDockerfileExoctk
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# Create Container
ARG has_exo
FROM alpine AS base

# Define how to load exoctk data if a copy is already present locally
FROM base AS copy
WORKDIR /tmp/data
ADD . /tmp/data/

# Define how to load exoctk data by download
FROM base AS download
WORKDIR /tmp/data
ADD https://data.science.stsci.edu/redirect/JWST/ExoCTK/compressed/modelgrid_ACES_1.tar.gz modelgrid_ACES_1.tar.gz
RUN tar zxf modelgrid_ACES_1.tar.gz
RUN mv modelgrid.ACES_1 modelgrid
ADD https://data.science.stsci.edu/redirect/JWST/ExoCTK/compressed/modelgrid_ACES_2.tar.gz modelgrid_ACES_2.tar.gz
RUN tar zxf modelgrid_ACES_2.tar.gz
RUN mv modelgrid.ACES_2/* ./modelgrid/
WORKDIR /tmp/data/modelgrid
ADD https://data.science.stsci.edu/redirect/JWST/ExoCTK/compressed/modelgrid_ATLAS9.tar.gz modelgrid_ATLAS9.tar.gz
RUN tar zxf modelgrid_ATLAS9.tar.gz
RUN mv modelgrid.ATLAS9 ATLAS9
WORKDIR /tmp/data
ADD https://data.science.stsci.edu/redirect/JWST/ExoCTK/compressed/generic.tar.gz generic.tar.gz
RUN tar zxf generic.tar.gz
ADD https://data.science.stsci.edu/redirect/JWST/ExoCTK/compressed/fortney.tar.gz fortney.tar.gz
RUN tar zxf fortney.tar.gz
ADD https://data.science.stsci.edu/redirect/JWST/ExoCTK/compressed/groups_integrations.tar.gz groups_integrations.tar.gz
RUN tar zxf groups_integrations.tar.gz
ADD https://data.science.stsci.edu/redirect/JWST/ExoCTK/compressed/exoctk_contam.tar.gz exoctk_contam.tar.gz
RUN tar zxf exoctk_contam.tar.gz

# And now combine together and do whichever one the environment tells us to
FROM ${has_exo} AS final

RUN mv /tmp/data /data
WORKDIR /data
CMD ["/bin/sh", "echo", "'Built from ${has_exo}'"]
# CMD ["tail", "-f", "/dev/null"]
22 changes: 22 additions & 0 deletions docker/dockerfiles/DataDockerfilePandeia
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Create Container
ARG has_pandeia
FROM alpine AS base

# Define how to load exoctk data if a copy is already present locally
FROM base AS copy
WORKDIR /tmp/data
ADD . /tmp/data/

# Define how to load pandeia data by download
FROM base AS download
WORKDIR /tmp/data
# ADD https://data.science.stsci.edu/redirect/JWST/ExoCTK/compressed/fortney.tar.gz fortney.tar.gz
# RUN tar zxf fortney.tar.gz

# And now combine together and do whichever one the environment tells us to
FROM ${has_pandeia} AS final

RUN mv /tmp/data /data
WORKDIR /data
CMD ["/bin/sh", "echo", "'Built from ${has_pandeia}'"]
# CMD ["tail", "-f", "/dev/null"]
25 changes: 25 additions & 0 deletions docker/dockerfiles/DataDockerfileSynphot
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Create Container
ARG has_syn
FROM alpine AS base

# Define how to load synphot data if a copy is already present locally
FROM base AS copy
WORKDIR /tmp/data
ADD . /tmp/data/

# Define how to load synphot data by download
FROM base AS download
WORKDIR /tmp/data
ADD https://archive.stsci.edu/hlsps/reference-atlases/hlsp_reference-atlases_hst_multi_pheonix-models_multi_v3_synphot5.tar pysyn_data.tar
RUN tar xf pysyn_data.tar
ADD https://archive.stsci.edu/hlsps/reference-atlases/hlsp_reference-atlases_hst_multi_everything_multi_v11_sed.tar pysyn_norm.tar
RUN tar xf pysyn_norm.tar
RUN cp -r /tmp/data/grp/redcat/trds /tmp/data

# And now combine together and do whichever one the environment tells us to
FROM ${has_syn} AS final

RUN mv /tmp/data /data
WORKDIR /data
CMD ["/bin/sh", "echo", "'Built from ${has_syn}'"]
# CMD ["tail", "-f", "/dev/null"]
49 changes: 49 additions & 0 deletions docker/exoctk/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# syntax=docker/dockerfile:1

# Get python version
ARG python_version

# Create Container
FROM python:${python_version}-alpine

# Get remaining arguments
ARG exoctk_version

# set up working directory
WORKDIR /exoctk

# Set up container environment
ENV EXOCTK_DATA="/exoctk/exoctk_data/"
ENV MODELGRID_DIR="/exoctk/exoctk_data/modelgrid/"
ENV EXOCTK_VERSION=${exoctk_version}

# Install necessary base software
RUN apk update
RUN echo "http://dl-8.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories
RUN apk --no-cache --update-cache add gcc gfortran build-base wget freetype-dev libpng-dev openblas-dev git hdf5-dev

# Install numpy with custom batman
WORKDIR /exoctk
RUN pip install --force-reinstall --no-cache-dir numpy==2.2.6
RUN pip uninstall batman-package
RUN git clone https://github.com/lkreidberg/batman.git
WORKDIR /exoctk/batman
RUN pip install .
WORKDIR /exoctk

# Install very specific versions of packages
RUN pip install svo-filters==0.4.4

# Clone exoctk repository
RUN git clone https://github.com/ExoCTK/exoctk.git
WORKDIR /exoctk/exoctk
RUN git checkout $EXOCTK_VERSION
RUN pip install -e .

# Set up the port that exoctk will listen on
EXPOSE 5000

# Run exoctk
WORKDIR /exoctk
# CMD ["tail", "-f", "/dev/null"]
CMD ["python", "/exoctk/exoctk/exoctk/exoctk_app/app_exoctk.py"]
49 changes: 49 additions & 0 deletions docker/pandexo/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# syntax=docker/dockerfile:1

# Get python version and create final container
ARG python_version
FROM python:${python_version}-alpine

ENV FORTGRID_DIR=/data/exoctk/fortney
ENV pandeia_refdata=/data/pandeia
ENV PYSYN_CDBS=/data/trds

# Get remaining arguments
ARG pandexo_version
ARG pandeia_version

# set up working directory
WORKDIR /pandexo

# Set up container environment
ENV PANDEXO_VERSION=${pandexo_version}
ENV PANDEIA_VERSION=${pandeia_version}

# Install necessary base software
RUN apk update
RUN echo "http://dl-8.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories
RUN apk --no-cache --update-cache add gcc gfortran build-base wget freetype-dev libpng-dev openblas-dev hdf5-dev git
RUN apk --no-cache --update-cache add linux-headers

# Install numpy with custom batman
RUN pip install --force-reinstall --no-cache-dir numpy==2.2.6
RUN pip uninstall batman-package
RUN git clone https://github.com/lkreidberg/batman
WORKDIR /pandexo/batman
RUN pip install .
WORKDIR /pandexo

# Install pandexo
RUN pip install numpy==1.26.4
RUN pip install scipy==1.14.1
# ***** NOTE *****
# In the future, it would be useful to be able to either directly install this
# with pip (i.e. pip install pandexo==VERSION), or do a git checkout of a given
# version (i.e. git checkout VERSION)
RUN git clone --recursive https://github.com/natashabatalha/PandExo.git
WORKDIR /pandexo/PandExo
RUN pip install .
RUN pip install pandeia.engine==${pandeia_version}

WORKDIR /pandexo
CMD ["start_pandexo", "--workers=10"]
4 changes: 4 additions & 0 deletions docker/redis.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
services:
redis:
image: "redis:alpine"
restart: unless-stopped
9 changes: 0 additions & 9 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ The subpackages currently included are:

Contamination and Visibility Calculators
Groups and Intrgrations Calculator
Transit Light-­Curve Fitting Tools
Limb-­Darkening Calculator
Phase Constraint Calculator
Atmospheric Forward Modeling - Currently only available through the `website <https://exoctk.stsci.edu/fortney>`_.
Expand Down Expand Up @@ -58,14 +57,6 @@ The Groups and Integrations Calculator runs with pre-sampled pandeia data in the

source/exoctk.groups_integrations

**Lightcurve Fitting Tool**

The light-curve fitting tool fits large numbers of spectroscopic light curves simultaneously while sharing model parameters across wavelengths and visits. It includes multiple uncertainty estimation algorithms and a comprehensive library of physical and systematic model components that are fully customizable.

.. toctree::
:maxdepth: 1

source/exoctk.lightcurve_fitting

**Limb Darkening Calculator**

Expand Down
46 changes: 0 additions & 46 deletions docs/source/exoctk.lightcurve_fitting.rst

This file was deleted.

2 changes: 1 addition & 1 deletion env/environment-3.11.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ dependencies:
- bibtexparser>=1.4.0
- boto3>=1.28.5
- corner>=2.2.2
- docutils>=0.16ssss
- docutils>=0.16
- flask_wtf>=1.1.1
- h5py>=3.9.0
- gunicorn>=21.1.0
Expand Down
Loading