Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BSPs from JPL can now be downloaded independently #1100

Closed
wants to merge 6 commits into from

Conversation

glaubervila
Copy link
Contributor

O pipeline de predição foi alterado para utilizar o BSP JPL previamente baixados.

  • Foi adicionado uma nova pasta de inputs (no ambiente local data/asteroids) nesta pasta ficaram os arquivos bsps organizados em diretórios por asteroid.
  • O pipeline foi alterado para verificar a existencia do BSP nesta pasta, e verificar se o BSP tem o periodo necessário para execução.
  • Foi adicionado variaveis de ambiente para permitir que este diretório funcione corretamente em testing e production.
  • Foi criado um script que permite fazer o download dos bsp, utilizando o mesmo sistema de filtro do portal filter_type e filter_value. este script verifica se o BSP já foi baixado e se é valido e só depois faz o Download. podendo ser interrompido e continuar novamente sem baixar tudo de novo.

Para Testar é necessário:

  • Build do container de backend.
  • Build do container de predição.
  • Editar o arquivo docker-compose.yml local e adicionar um novo volume ao container de predição.
    volumes:
      - ${TNO_PROJ_DIR:-.}/predict_occultation:/app
      - ${TNO_PROJ_DIR:-.}/data/predict_occultations:/app/outputs/predict_occultations
      - ${TNO_PROJ_DIR:-.}/data/asteroids:/app/inputs/
  • Editar o arquivo .env e adicionar uma nova variavel
# Predict Occultation Pipeline
# -------------------------------------
PARSL_ENV=local
PREDICT_OUTPUTS=/app/outputs/predict_occultations
PREDICT_INPUTS=/app/inputs/
  • Reiniciar o ambiente e verificar se tudo foi ligado corretamente.

Antes de rodar o pipeline é necessário fazer o Download dos BSPs.
Com o container da predição ligado execute o comando python src/download_bsp_jpl.py: Os parametros são:

  • -s : Data de inicio do BSP
  • -e : Data final do BSP
  • -t : filter_type igual ao do portal podendo filtrar por name, dynclass, base_dynclass.
  • -v : filter_value também igual ao do portal é recomendado utilizar aspas no value pq os nomes dos asteroids possuem espaços ou caracteres especiais.
docker compose exec predict_occultation bash --login -c "source /app/src/env.sh && python src/download_bsp_jpl.py -s 2024-01-01 -e 2026-01-01 -t name -v '2015 HB387'"

Após a execução do comando o diretório data/asteroids vai ter uma subpasta para cada asteroid e dentro dela 3 arquivos o .bsp, apmag_and_uncertainties.json e um bsp_jpl_info.json com os dados do BSP como periodo, tamanho e data de download (este arquivo vai ser usado pelo pipeline também).

Após o Download basta criar um job de predição para o mesmo grupo de asteroids e utilizar um periodo que esteja dentro do start e end do BSP.

@rcboufleur rcboufleur closed this Mar 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants