Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

read_gdx fails for repeated domain names

オープン
#24 コメント 1 件 リアクション 0 件 担当者 1 名 GitHub で見る

@jd-foster がすでに取り組んでいます。

2026年9月29日 から。

評価

難易度
3/5
見積もり時間
1〜2日
初心者へのやさしさ
76/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
julia
領域
data

調査の方向性

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"].

索引モデルが issue の本文から書いたものです。

説明

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?

主要言語
Julia
スター
9
フォーク
4
PR マージ指標
30日以内にマージされた PR はありません

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

jump-dev/GDXInterface.jl のほかの issue

jump-dev/GDXInterface.jl の issue をすべて見る

似ている issue

Julia の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。