Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

make_cat: objects ngmix never fit get NGMIX sentinels but MCAL_FLAGS = 0

Aperta Adatta ai principianti
#889 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
2/5
Tempo stimato
1-3 ore
Idoneità per principianti
84/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
python
Ambito
data

Direzione di ricerca

Inizia in make_cat.py intorno alle righe 474, 494 e 501, quindi segui il modo in cui _save_ngmix_data riempie le righe mancanti nel catalogo di output di ngmix. Verifica che il valore predefinito per NGMIX_MCAL_FLAGS quando il fit non è stato eseguito sia diverso da zero, mentre le righe ngmix reali possano azzerarlo. Controlla il comportamento risultante del flag insieme a NGMIX_N_EPOCH > 0 usando l’output di accettazione final_cat_smk-g7.hdf5.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

_save_ngmix_data pre-fills every NGMIX_* column with sentinels and overwrites them only for objects found in the ngmix output catalogue. An object ngmix never fit is absent from that catalogue (it raised "0 epoch to process", ngmix.py:2034, or any other exception caught at ngmix.py:1058-1063, and was skipped with continue), so it keeps every default:

NGMIX_G1/G2 = -10          make_cat.py:494
NGMIX_T, NGMIX_FLUX = 0    make_cat.py:474
NGMIX_MCAL_FLAGS = 0       make_cat.py:501
NGMIX_N_EPOCH = 0          make_cat.py:453

MCAL_FLAGS, the column meaning "the metacal fit failed", therefore reads clean for objects that were never fit at all. In final_cat_smk-g7.hdf5 (the 64-tile acceptance run of #879/#886/#887/#880) this is 18,983 of 1,851,100 objects (1.03%): cutting on MCAL_FLAGS == 0 alone gives mean e1 = −0.107 (std 1.03), against −0.004 (std 0.22) once NGMIX_N_EPOCH > 0 is also required.

Minimal fix: initialise NGMIX_MCAL_FLAGS at make_cat.py:501 to a nonzero "not fitted" value instead of 0, so the flag column is honest by default and only a real ngmix row can clear it. A dedicated bit would be preferable to a bare nonzero if the column gains a documented bit table. sp_validation's classification_galaxy_ngmix happens to reject these rows today through its NGMIX_G1_PSF_ORIG_NOSHEAR != -10 guard — an exact float comparison against a sentinel — and CosmoStat/sp_validation#343 now carries an explicit NGMIX_N_EPOCH > 0 guard instead.

— Claude (Fable) on behalf of Cail

Lingua principale
Python
Stelle
18
Fork
14
Merge medio
8h 40m
PR unite (30g)
10

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di CosmoStat/shapepipe

Tutte le issue di CosmoStat/shapepipe

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.