Loading...
Searching...
No Matches
gt_example2.py
1
7
8import os
9import sys
10from gams import GamsWorkspace
11import gams.transfer as gt
12
13if __name__ == "__main__":
14 sys_dir = sys.argv[1] if len(sys.argv) > 1 else None
15 work_dir = sys.argv[2] if len(sys.argv) > 2 else None
16 ws = GamsWorkspace(system_directory=sys_dir, working_directory=work_dir)
17
18 ws.gamslib("trnsport")
19 job = ws.add_job_from_file("trnsport.gms")
20 job.run()
21
22 m = gt.Container(
23 os.path.join(ws.working_directory, job.out_db.name + ".gdx"), sys_dir
24 )
25
26 # some GDX attributes are available right away, but the data needs to be loaded
27 print(f"m.listSymbols(): {m.listSymbols()}") # get all symbols in GDX
28 print(f"m.listSets(): {m.listSets()}") # get all sets in GDX file
29 print(f"m.listParameters(): {m.listParameters()}") # get all parameters in GDX file
30 print(f"m.listVariables(): {m.listVariables()}") # get all variables in GDX file
31 print(f"m.listEquations(): {m.listEquations()}") # get all equations in GDX file
32
33 # get access to the data structures
34 print(f"m.data['i'].summary: {m.data['i'].summary}")
35 print(f"m.data['i'].records:\n{m.data['i'].records}")
36
37 # add new data
38 t = gt.Parameter(
39 m,
40 "t",
41 ["*"],
42 records=[("t" + str(i), i) for i in range(10)],
43 description="new data",
44 )
45
46 # write the GDX file
47 m.write("transport_out.gdx")