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

read_gdx fails for repeated domain names

Aperta
#24 1 commento 0 reazioni 1 assegnatario Vedi su GitHub

@jd-foster ci sta già lavorando.

Dal 29/9/2026.

Valutazione

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

Direzione di ricerca

Start with the read_gdx entry point and run the minimal reproducer from the issue, which creates a GDXParameter with domains COMM, REG, REG. Done means repeated domains can be represented in the record table with names such as REG and REG_2 while the GDX symbol retains the original domain metadata ["COMM", "REG", "REG"].

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

Descrizione

read_gdx fails on a parameter with domains (COMM, REG, REG):
duplicate field name in NamedTuple: "REG" is not unique

GTAP’s GDX core-data documentation defines bilateral trade as VXSB(COMM, REG, REG): Chapter 6: The GTAP Data Base for GAMS Users.

The attached minimal reproducer creates such a GDX file:

using GDXInterface

path = tempname() * ".gdx"

try
    regions = GDXSet("REG", "", ["*"], (; dim1 = ["R1", "R2"]))
    commodities = GDXSet("COMM", "", ["*"], (; dim1 = ["G1"]))
    trade = GDXParameter(
        "VXSB",
        "",
        ["COMM", "REG", "REG"],
        (
            COMM = ["G1"],
            ORIGIN = ["R1"],
            DESTINATION = ["R2"],
            value = [1.0],
        ),
    )
    gdx = GDXFile(
        path,
        Dict{Symbol, GDXSymbol}(
            :REG => regions,
            :COMM => commodities,
            :VXSB => trade,
        ),
    )
    write_gdx(path, gdx)
    read_gdx(path)
finally
    rm(path; force = true)
end

Could read_gdx disambiguate repeated domain names when constructing record tables, such as COMM, REG, and REG_2, while preserving the original domain metadata ["COMM", "REG", "REG"] on the GDX symbol?

Lingua principale
Julia
Stelle
9
Fork
4
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

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 jump-dev/GDXInterface.jl

Tutte le issue di jump-dev/GDXInterface.jl

Issue simili

Altre issue su Julia

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.