Planning Public Transportation with Raku

My Metro Network

by Arne Sommer

My Metro Network

[159.2.6] Published 15. December 2021.

[ Introduction | Oslo Metro | Oslo Tram | Bergen | Misc. ]
[ Metro Introduction | Metro 4 | Metro 5 | Metro 2/3 | Metro All | My Metro ]

My Metro Network

This is my proposal for a future metro network:

The idea is twofold:

  1. See if it is possible to create a network of routes with 10 minute frequency, and the departures spread evenly out every second minute on the city centre section - in both directions. (Spoiler alert: it is.)
  2. Use the single-track connection from Ensjø to Carl Berners plass (in that direction only).
This required some hard handed route changes, but it is doable. (Note that the existing connection between Tøyen and Sinsen is withdrawn as a result of this, in that direction only.)

1 Majorstuen - Frognerseteren

The route does a single track loop around the circle line, instead of continuing eastwards to Bergkrystallen. The eastern end (city centre - Bergkrystallen) is replaced by route 4.

The route starts at Frognerseteren, and terminates at Majorstuen, platform C («butt 4»). After a short break, the route continues clockwise on the ring line via Storo and Carl Berners plass to Majorstuen and onwards to Frognerseteren.

We start with setting up the loop part of the route:

File: oslo-metro/01-loop.def
#
# Majorstuen - Anti clock wise - Majorstuen
# --------------------------------------------------
OS422 C:3 -   Majorstuen
OS531 B:2 -   Blindern
OS532 B   -   Forskningsparken
OS533 B:2 -   Ullevål stadion
OS534 B:3 -   Nydalen
OS535 B   -   Storo
OS536 B:2 -   Sinsen
OS461 A:3 -   Carl Berners plass
OS404 C:3 -   Tøyen
OS403 A:2 -   Grønland
OS402 A   -   Jernbanetorget
OS401 A   -   Stortinget
OS421 B:2 -   Nationaltheatret
OS422 B:3 C:2 Majorstuen

Then we use this partial route, and add on the western leg to Frognerseteren:

route set    T1 file:01-loop.def interval:10 down:9 up:3
route append T1 file:01.def      start-at:OS423

The summary:

Route T1: Majorstuen - Frognerseteren
----------------------------------------------------------------
00  | 09  19  29  39  49  59  Majorstuen [C]
02  | 11  21  31  41  51  01  Blindern [B]
03  | 12  22  32  42  52  02  Forskningsparken [B]
05  | 14  24  34  44  54  04  Ullevål stadion [B]
08  | 17  27  37  47  57  07  Nydalen [B]
09  | 18  28  38  48  58  08  Storo [B]
11  | 20  30  40  50  00  10  Sinsen [B]
14  | 23  33  43  53  03  13  Carl Berners plass [A]
17  | 26  36  46  56  06  16  Tøyen [C]
19  | 28  38  48  58  08  18  Grønland [A]
20  | 29  39  49  59  09  19  Jernbanetorget [A]
21  | 30  40  50  00  10  20  Stortinget [A]
23  | 32  42  52  02  12  22  Nationaltheatret [B]
26  | 35  45  55  05  15  25  Majorstuen [B]
27  | 36  46  56  06  16  26  Frøen [B]
29  | 38  48  58  08  18  28  Steinerud [B]
30  | 39  49  59  09  19  29  Vinderen [B]
31  | 40  50  00  10  20  30  Gaustad [B]
32  | 41  51  01  11  21  31  Ris [B]
35  | 44  54  04  14  24  34  Slemdal [B]
37  | 46  56  06  16  26  36  Gråkammen [B]
38  | 47  57  07  17  27  37  Gulleråsen [B]
39  | 48  58  08  18  28  38  Vettakollen [B]
40  | 49  59  09  19  29  39  Skådalen [B]
42  | 51  01  11  21  31  41  Midtstuen [B]
44  | 53  03  13  23  33  43  Besserud [B]
46  | 55  05  15  25  35  45  Holmenkollen [B]
49  | 58  08  18  28  38  48  Voksenlia [B]
51  | 00  10  20  30  40  50  Skogen [B]
53  | 02  12  22  32  42  52  Lillevann [B]
55  | 04  14  24  34  44  54  Voksenkollen [B]
58  | 07  17  27  37  47  57  Frognerseteren [B]

Route T1: Frognerseteren - Majorstuen
----------------------------------------------------------------
00  | 03  13  23  33  43  53  Frognerseteren [A]
01  | 04  14  24  34  44  54  Voksenkollen [A]
03  | 06  16  26  36  46  56  Lillevann [A]
05  | 08  18  28  38  48  58  Skogen [A]
07  | 10  20  30  40  50  00  Voksenlia [A]
10  | 13  23  33  43  53  03  Holmenkollen [A]
12  | 15  25  35  45  55  05  Besserud [A]
13  | 16  26  36  46  56  06  Midtstuen [A]
14  | 17  27  37  47  57  07  Skådalen [A]
16  | 19  29  39  49  59  09  Vettakollen [A]
18  | 21  31  41  51  01  11  Gråkammen [A]
20  | 23  33  43  53  03  13  Slemdal [A]
22  | 25  35  45  55  05  15  Ris [A]
23  | 26  36  46  56  06  16  Gaustad [A]
25  | 28  38  48  58  08  18  Vinderen [A]
27  | 30  40  50  00  10  20  Steinerud [A]
29  | 32  42  52  02  12  22  Frøen [A]
31  | 34  44  54  04  14  24  Majorstuen [C]

Note that I have given the routes the «T» (as in «tunnelbane», the Norwegian word for Metro) prefix. Just to show that it is possible to mix letters and digits in the route identifiers.

I have changed the western terminus of routes 2, 3 and 5 to make the network work out.

2 Ellingsrudåsen - Kolsås

The western section is taken over from the present route 3. The additional departures on the present route 2 are withdrawn, but are replaced by the new route 6 on the eastern section (city centre - Ellingsrudåsen).

route set    T2 file:02.def      end-at:OS401 interval:10 down:5 up:6
route append T2 file:03.def      start-at:OS421

The summary:

Route T2: Ellingsrudåsen - Kolsås
----------------------------------------------------------------
00  | 05  15  25  35  45  55  Ellingsrudåsen [A]
02  | 07  17  27  37  47  57  Furuset [A]
03  | 08  18  28  38  48  58  Lindeberg [A]
05  | 10  20  30  40  50  00  Trosterud [A]
06  | 11  21  31  41  51  01  Haugerud [A]
08  | 13  23  33  43  53  03  Tveita [A]
10  | 15  25  35  45  55  05  Hellerud [A]
13  | 18  28  38  48  58  08  Brynseng [C]
15  | 20  30  40  50  00  10  Helsfyr [A]
17  | 22  32  42  52  02  12  Ensjø [A]
19  | 24  34  44  54  04  14  Tøyen [A]
21  | 26  36  46  56  06  16  Grønland [A]
22  | 27  37  47  57  07  17  Jernbanetorget [A]
23  | 28  38  48  58  08  18  Stortinget [A]
25  | 30  40  50  00  10  20  Nationaltheatret [B]
28  | 33  43  53  03  13  23  Majorstuen [B]
30  | 35  45  55  05  15  25  Borgen [B]
32  | 37  47  57  07  17  27  Smestad [B]
34  | 39  49  59  09  19  29  Montebello [B]
36  | 41  51  01  11  21  31  Ullernåsen [B]
37  | 42  52  02  12  22  32  Åsjordet [B]
39  | 44  54  04  14  24  34  Bjørnsletta [B]
41  | 46  56  06  16  26  36  Jar [B]
43  | 48  58  08  18  28  38  Ringstabekk [B]
45  | 50  00  10  20  30  40  Bekkestua [B]
46  | 51  01  11  21  31  41  Gjønnes [B]
48  | 53  03  13  23  33  43  Haslum [B]
50  | 55  05  15  25  35  45  Avløs [B]
51  | 56  06  16  26  36  46  Gjettum [B]
53  | 58  08  18  28  38  48  Hauger [B]
55  | 00  10  20  30  40  50  Kolsås [B]

Route T2: Kolsås - Ellingsrudåsen
----------------------------------------------------------------
00  | 06  16  26  36  46  56  Kolsås [A]
01  | 07  17  27  37  47  57  Hauger [A]
03  | 09  19  29  39  49  59  Gjettum [A]
04  | 10  20  30  40  50  00  Avløs [A]
05  | 11  21  31  41  51  01  Haslum [A]
07  | 13  23  33  43  53  03  Gjønnes [A]
09  | 15  25  35  45  55  05  Bekkestua [A]
10  | 16  26  36  46  56  06  Ringstabekk [A]
12  | 18  28  38  48  58  08  Jar [A]
14  | 20  30  40  50  00  10  Bjørnsletta [A]
15  | 21  31  41  51  01  11  Åsjordet [A]
17  | 23  33  43  53  03  13  Ullernåsen [A]
18  | 24  34  44  54  04  14  Montebello [A]
21  | 27  37  47  57  07  17  Smestad [A]
23  | 29  39  49  59  09  19  Borgen [A]
26  | 32  42  52  02  12  22  Majorstuen [A]
28  | 34  44  54  04  14  24  Nationaltheatret [A]
30  | 36  46  56  06  16  26  Stortinget [B]
31  | 37  47  57  07  17  27  Jernbanetorget [B]
32  | 38  48  58  08  18  28  Grønland [B]
35  | 41  51  01  11  21  31  Tøyen [B]
36  | 42  52  02  12  22  32  Ensjø [B]
38  | 44  54  04  14  24  34  Helsfyr [B]
40  | 46  56  06  16  26  36  Brynseng [D]
42  | 48  58  08  18  28  38  Hellerud [B]
44  | 50  00  10  20  30  40  Tveita [B]
46  | 52  02  12  22  32  42  Haugerud [B]
48  | 54  04  14  24  34  44  Trosterud [B]
50  | 56  06  16  26  36  46  Lindeberg [B]
52  | 58  08  18  28  38  48  Furuset [B]
54  | 00  10  20  30  40  50  Ellingsrudåsen [B]

3 Mortensrud - Sognsvann

The western section is taken over from the present route 5. The additional departures on the eastern end (Stortinget - Mortensrud) are withdrawn.

route set    T3 file:03.def      end-at:OS401 interval:10 down:0 up:6
route append T3 file:5B.def      start-at:OS421

The summary:

Route T3: Mortensrud - Sognsvann
----------------------------------------------------------------
00  | 00  10  20  30  40  50  Mortensrud [A]
02  | 02  12  22  32  42  52  Skullerud [A]
04  | 04  14  24  34  44  54  Bogerud [A]
06  | 06  16  26  36  46  56  Bøler [A]
07  | 07  17  27  37  47  57  Ulsrud [A]
09  | 09  19  29  39  49  59  Oppsal [A]
10  | 10  20  30  40  50  00  Skøyenåsen [A]
12  | 12  22  32  42  52  02  Godlia [A]
13  | 13  23  33  43  53  03  Hellerud [A]
16  | 16  26  36  46  56  06  Brynseng [C]
18  | 18  28  38  48  58  08  Helsfyr [A]
20  | 20  30  40  50  00  10  Ensjø [A]
22  | 22  32  42  52  02  12  Tøyen [A]
24  | 24  34  44  54  04  14  Grønland [A]
25  | 25  35  45  55  05  15  Jernbanetorget [A]
26  | 26  36  46  56  06  16  Stortinget [A]
28  | 28  38  48  58  08  18  Nationaltheatret [B]
31  | 31  41  51  01  11  21  Majorstuen [B]
33  | 33  43  53  03  13  23  Blindern [B]
34  | 34  44  54  04  14  24  Forskningsparken [B]
36  | 36  46  56  06  16  26  Ullevål stadion [B]
37  | 37  47  57  07  17  27  Berg [B]
38  | 38  48  58  08  18  28  Tåsen [B]
39  | 39  49  59  09  19  29  Østhorn [B]
41  | 41  51  01  11  21  31  Holstein [B]
42  | 42  52  02  12  22  32  Kringsjå [B]
44  | 44  54  04  14  24  34  Sognsvann [B]

Route T3: Sognsvann - Mortensrud
----------------------------------------------------------------
00  | 06  16  26  36  46  56  Sognsvann [A]
00  | 06  16  26  36  46  56  Kringsjå [A]
01  | 07  17  27  37  47  57  Holstein [A]
03  | 09  19  29  39  49  59  Østhorn [A]
04  | 10  20  30  40  50  00  Tåsen [A]
05  | 11  21  31  41  51  01  Berg [A]
06  | 12  22  32  42  52  02  Ullevål stadion [A]
07  | 13  23  33  43  53  03  Forskningsparken [A]
08  | 14  24  34  44  54  04  Blindern [A]
12  | 18  28  38  48  58  08  Majorstuen [A]
14  | 20  30  40  50  00  10  Nationaltheatret [A]
16  | 22  32  42  52  02  12  Stortinget [B]
17  | 23  33  43  53  03  13  Jernbanetorget [B]
18  | 24  34  44  54  04  14  Grønland [B]
21  | 27  37  47  57  07  17  Tøyen [B]
22  | 28  38  48  58  08  18  Ensjø [B]
24  | 30  40  50  00  10  20  Helsfyr [B]
26  | 32  42  52  02  12  22  Brynseng [D]
28  | 34  44  54  04  14  24  Hellerud [B]
30  | 36  46  56  06  16  26  Godlia [B]
31  | 37  47  57  07  17  27  Skøyenåsen [B]
33  | 39  49  59  09  19  29  Oppsal [B]
34  | 40  50  00  10  20  30  Ulsrud [B]
36  | 42  52  02  12  22  32  Bøler [B]
37  | 43  53  03  13  23  33  Bogerud [B]
39  | 45  55  05  15  25  35  Skullerud [B]
42  | 48  58  08  18  28  38  Mortensrud [B]

4 Bergkrystallen - Vestli

The route remains unchanged, as the only one.

route set    T4 file:04.def      interval:10 down:1 up:2

The summary:

Route T4: Bergkrystallen - Vestli
----------------------------------------------------------------
00  | 01  11  21  31  41  51  Bergkrystallen [B]
01  | 02  12  22  32  42  52  Munkelia [A]
02  | 03  13  23  33  43  53  Lambertseter [A]
04  | 05  15  25  35  45  55  Karlsrud [A]
05  | 06  16  26  36  46  56  Brattlikollen [A]
07  | 08  18  28  38  48  58  Ryen [A]
08  | 09  19  29  39  49  59  Manglerud [A]
10  | 11  21  31  41  51  01  Høyenhall [A]
11  | 12  22  32  42  52  02  Brynseng [A]
13  | 14  24  34  44  54  04  Helsfyr [A]
15  | 16  26  36  46  56  06  Ensjø [A]
17  | 18  28  38  48  58  08  Tøyen [A]
19  | 20  30  40  50  00  10  Grønland [A]
20  | 21  31  41  51  01  11  Jernbanetorget [A]
21  | 22  32  42  52  02  12  Stortinget [A]
23  | 24  34  44  54  04  14  Nationaltheatret [B]
26  | 27  37  47  57  07  17  Majorstuen [B]
28  | 29  39  49  59  09  19  Blindern [B]
29  | 30  40  50  00  10  20  Forskningsparken [B]
31  | 32  42  52  02  12  22  Ullevål stadion [B]
34  | 35  45  55  05  15  25  Nydalen [B]
35  | 36  46  56  06  16  26  Storo [B]
37  | 38  48  58  08  18  28  Sinsen [B]
39  | 40  50  00  10  20  30  Løren [B]
41  | 42  52  02  12  22  32  Økern [B]
43  | 44  54  04  14  24  34  Risløkka [B]
44  | 45  55  05  15  25  35  Vollebekk [B]
45  | 46  56  06  16  26  36  Linderud [B]
46  | 47  57  07  17  27  37  Veitvet [B]
49  | 50  00  10  20  30  40  Rødtvet [B]
50  | 51  01  11  21  31  41  Kalbakken [B]
51  | 52  02  12  22  32  42  Ammerud [B]
52  | 53  03  13  23  33  43  Grorud [B]
53  | 54  04  14  24  34  44  Romsås [B]
55  | 56  06  16  26  36  46  Rommen [B]
56  | 57  07  17  27  37  47  Stovner [B]
60  | 01  11  21  31  41  51  Vestli [B]

Route T4: Vestli - Bergkrystallen
----------------------------------------------------------------
00  | 02  12  22  32  42  52  Vestli [A]
01  | 03  13  23  33  43  53  Stovner [A]
02  | 04  14  24  34  44  54  Rommen [A]
03  | 05  15  25  35  45  55  Romsås [A]
04  | 06  16  26  36  46  56  Grorud [A]
06  | 08  18  28  38  48  58  Ammerud [A]
07  | 09  19  29  39  49  59  Kalbakken [A]
08  | 10  20  30  40  50  00  Rødtvet [A]
10  | 12  22  32  42  52  02  Veitvet [A]
11  | 13  23  33  43  53  03  Linderud [A]
12  | 14  24  34  44  54  04  Vollebekk [A]
14  | 16  26  36  46  56  06  Risløkka [A]
16  | 18  28  38  48  58  08  Økern [A]
18  | 20  30  40  50  00  10  Løren [A]
20  | 22  32  42  52  02  12  Sinsen [A]
21  | 23  33  43  53  03  13  Storo [A]
23  | 25  35  45  55  05  15  Nydalen [A]
26  | 28  38  48  58  08  18  Ullevål stadion [A]
27  | 29  39  49  59  09  19  Forskningsparken [A]
28  | 30  40  50  00  10  20  Blindern [A]
32  | 34  44  54  04  14  24  Majorstuen [A]
34  | 36  46  56  06  16  26  Nationaltheatret [A]
36  | 38  48  58  08  18  28  Stortinget [B]
37  | 39  49  59  09  19  29  Jernbanetorget [B]
38  | 40  50  00  10  20  30  Grønland [B]
41  | 43  53  03  13  23  33  Tøyen [B]
42  | 44  54  04  14  24  34  Ensjø [B]
44  | 46  56  06  16  26  36  Helsfyr [B]
46  | 48  58  08  18  28  38  Brynseng [B]
47  | 49  59  09  19  29  39  Høyenhall [B]
49  | 51  01  11  21  31  41  Manglerud [B]
50  | 52  02  12  22  32  42  Ryen [B]
52  | 54  04  14  24  34  44  Brattlikollen [B]
53  | 55  05  15  25  35  45  Karlsrud [B]
55  | 57  07  17  27  37  47  Lambertseter [B]
56  | 58  08  18  28  38  48  Munkelia [B]
59  | 01  11  21  31  41  51  Bergkrystallen [B]

5 Vestli - Østerås

The western section is taken over from the present route 2. The extra loop around the circle line (Storo) is withdrawn, and is replaced by routes 1 (clockwise) and 6 (counter clockwise).

Start with the eastern part, and stop at Stortinget (skipping half the ring line to Storo). Then add on the western part.

route set    T5 file:5A.def      end-at:OS401 interval:10 down:7 up:8
route append T5 file:5B.def      start-at:OS421

The summary:

Route T5: Vestli - Østerås
----------------------------------------------------------------
00  | 07  17  27  37  47  57  Vestli [A]
01  | 08  18  28  38  48  58  Stovner [A]
02  | 09  19  29  39  49  59  Rommen [A]
03  | 10  20  30  40  50  00  Romsås [A]
04  | 11  21  31  41  51  01  Grorud [A]
06  | 13  23  33  43  53  03  Ammerud [A]
07  | 14  24  34  44  54  04  Kalbakken [A]
08  | 15  25  35  45  55  05  Rødtvet [A]
10  | 17  27  37  47  57  07  Veitvet [A]
11  | 18  28  38  48  58  08  Linderud [A]
12  | 19  29  39  49  59  09  Vollebekk [A]
14  | 21  31  41  51  01  11  Risløkka [A]
16  | 23  33  43  53  03  13  Økern [A]
18  | 25  35  45  55  05  15  Hasle [A]
20  | 27  37  47  57  07  17  Carl Berners plass [A]
23  | 30  40  50  00  10  20  Tøyen [C]
25  | 32  42  52  02  12  22  Grønland [A]
26  | 33  43  53  03  13  23  Jernbanetorget [A]
27  | 34  44  54  04  14  24  Stortinget [A]
29  | 36  46  56  06  16  26  Nationaltheatret [B]
32  | 39  49  59  09  19  29  Majorstuen [B]
34  | 41  51  01  11  21  31  Borgen [B]
36  | 43  53  03  13  23  33  Smestad [B]
37  | 44  54  04  14  24  34  Makrellbekken [B]
39  | 46  56  06  16  26  36  Holmen [B]
40  | 47  57  07  17  27  37  Hovseter [B]
41  | 48  58  08  18  28  38  Røa [B]
42  | 49  59  09  19  29  39  Ekraveien [B]
44  | 51  01  11  21  31  41  Eiksmarka [B]
45  | 52  02  12  22  32  42  Lijordet [B]
48  | 55  05  15  25  35  45  Østerås [B]

Route T5: Østerås - Vestli
----------------------------------------------------------------
00  | 04  14  24  34  44  54  Østerås [A]
01  | 05  15  25  35  45  55  Lijordet [A]
02  | 06  16  26  36  46  56  Eiksmarka [A]
04  | 08  18  28  38  48  58  Ekraveien [A]
05  | 09  19  29  39  49  59  Røa [A]
06  | 10  20  30  40  50  00  Hovseter [A]
07  | 11  21  31  41  51  01  Holmen [A]
09  | 13  23  33  43  53  03  Makrellbekken [A]
11  | 15  25  35  45  55  05  Smestad [A]
13  | 17  27  37  47  57  07  Borgen [A]
16  | 20  30  40  50  00  10  Majorstuen [A]
18  | 22  32  42  52  02  12  Nationaltheatret [A]
20  | 24  34  44  54  04  14  Stortinget [B]
21  | 25  35  45  55  05  15  Jernbanetorget [B]
22  | 26  36  46  56  06  16  Grønland [B]
25  | 29  39  49  59  09  19  Tøyen [B]
27  | 31  41  51  01  11  21  Carl Berners plass [B]
29  | 33  43  53  03  13  23  Hasle [B]
31  | 35  45  55  05  15  25  Økern [B]
33  | 37  47  57  07  17  27  Risløkka [B]
34  | 38  48  58  08  18  28  Vollebekk [B]
31  | 39  49  59  09  19  29  Linderud [B]
32  | 40  50  00  10  20  30  Veitvet [B]
35  | 43  53  03  13  23  33  Rødtvet [B]
36  | 44  54  04  14  24  34  Kalbakken [B]
37  | 45  55  05  15  25  35  Ammerud [B]
38  | 46  56  06  16  26  36  Grorud [B]
39  | 47  57  07  17  27  37  Romsås [B]
41  | 49  59  09  19  29  39  Rommen [B]
42  | 50  00  10  20  30  40  Stovner [B]
46  | 54  04  14  24  34  44  Vestli [B]

6 Ellingsrudåsen - Storo

The route starts at Ellingsudåsen, continues to Ensjø where it uses the single-track connection to Carl Berners plass to reach the circle line. Then it follows the circle line counter clockwise to Majorstuen and the city centre on its way back to Ellingsudåsen.

We start with setting up the loop part of the route:

File: oslo-metro/06-loop.def
#
# Ensjø - Carl Berners plass one way loop
# --------------------------------------------------
OS406 A:2 B:2 Helsfyr
OS405 A:2 B   Ensjø
OS461 B:3 -   Carl Berners plass
OS536 A:3 -   Sinsen
OS404 -   B:3 Tøyen
OS403 -   B   Grønland
OS402 -   B   Jernbanetorget
OS401 -   B:2 Stortinget
OS421 -   A:2 Nationaltheatret
OS422 -   A:4 Majorstuen
OS531 -   A   Blindern
OS532 -   A   Forskningsparken
OS533 -   A:3 Ullevål stadion
OS534 -   A:2 Nydalen
OS535 A   A   Storo

Then we add this one on to the eastern leg to Ellingsrudåsen:

route set    T6 file:02.def       end-at:OS407 interval:10 down:1 up:7
route append T6 file:06-loop.def  end-at:OS461[B:5;-]
route append T6 file:06-loop.def  start-at:OS536

Routes 5 and 6 had the same departure times at Carl Berners plass (at platform B). Luckily route 6 requires a 2 minute layover at Storo (to make the network work out), so I have moved those minutes to the section Hasle - Carl Berners plass - without changing the route specification file.

The summary:

Route T6: Ellingsrudåsen - Storo
----------------------------------------------------------------
00  | 01  11  21  31  41  51  Ellingsrudåsen [A]
02  | 03  13  23  33  43  53  Furuset [A]
03  | 04  14  24  34  44  54  Lindeberg [A]
05  | 06  16  26  36  46  56  Trosterud [A]
06  | 07  17  27  37  47  57  Haugerud [A]
08  | 09  19  29  39  49  59  Tveita [A]
10  | 11  21  31  41  51  01  Hellerud [A]
13  | 14  24  34  44  54  04  Brynseng [C]
15  | 16  26  36  46  56  06  Helsfyr [A]
17  | 18  28  38  48  58  08  Ensjø [A]
22  | 23  33  43  53  03  13  Carl Berners plass [B]
25  | 26  36  46  56  06  16  Sinsen [A]
26  | 27  37  47  57  07  17  Storo [A]

Route T6: Storo - Ellingsrudåsen
----------------------------------------------------------------
00  | 07  17  27  37  47  57  Storo [A]
02  | 09  19  29  39  49  59  Nydalen [A]
05  | 12  22  32  42  52  02  Ullevål stadion [A]
06  | 13  23  33  43  53  03  Forskningsparken [A]
07  | 14  24  34  44  54  04  Blindern [A]
11  | 18  28  38  48  58  08  Majorstuen [A]
13  | 20  30  40  50  00  10  Nationaltheatret [A]
15  | 22  32  42  52  02  12  Stortinget [B]
16  | 23  33  43  53  03  13  Jernbanetorget [B]
17  | 24  34  44  54  04  14  Grønland [B]
20  | 27  37  47  57  07  17  Tøyen [B]
21  | 28  38  48  58  08  18  Ensjø [B]
23  | 30  40  50  00  10  20  Helsfyr [B]
25  | 32  42  52  02  12  22  Brynseng [D]
27  | 34  44  54  04  14  24  Hellerud [B]
29  | 36  46  56  06  16  26  Tveita [B]
31  | 38  48  58  08  18  28  Haugerud [B]
33  | 40  50  00  10  20  30  Trosterud [B]
35  | 42  52  02  12  22  32  Lindeberg [B]
37  | 44  54  04  14  24  34  Furuset [B]
39  | 46  56  06  16  26  36  Ellingsrudåsen [B]

It is possible to get the route source. This is useful when we have combined sections as here, to see that the result makes sense. (The summery is another way of looking at it.)

route source T6

The result:

#
# T6 Ellingsrudåsen - Storo
# 
------------------------------
OS497 A   B:2 Ellingsrudåsen
OS496 A:2 B:2 Furuset
OS495 A   B:2 Lindeberg
OS494 A:2 B:2 Trosterud
OS493 A   B:2 Haugerud
OS492 A:2 B:2 Tveita
OS491 A:2 B:2 Hellerud
OS407 C:3 D:2 Brynseng
OS406 A:2 B:2 Helsfyr
OS405 A:2 B   Ensjø
OS461 B:5 -   Carl Berners plass
OS536 A:3 -   Sinsen
OS404 -   B:3 Tøyen
OS403 -   B   Grønland
OS402 -   B   Jernbanetorget
OS401 -   B:2 Stortinget
OS421 -   A:2 Nationaltheatret
OS422 -   A:4 Majorstuen
OS531 -   A   Blindern
OS532 -   A   Forskningsparken
OS533 -   A:3 Ullevål stadion
OS534 -   A:2 Nydalen
OS535 A   A   Storo

Timingpoints

We can reuse the timingpoints for the current metro network:

timingpoints oslo-metro/timingpoints-all.def

Let us start with Stortinget, on the city centre section:

Stortinget [A]
 00  10  20  30  40  50   T1 Frognerseteren
 02  12  22  32  42  52   T4 Vestli
 04  14  24  34  44  54   T5 Østerås
 06  16  26  36  46  56   T3 Sognsvann
 08  18  28  38  48  58   T2 Kolsås

Stortinget [B]
 00  10  20  30  40  50   T6 Ellingsrudåsen
 02  12  22  32  42  52   T3 Mortensrud
 04  14  24  34  44  54   T5 Vestli
 06  16  26  36  46  56   T2 Ellingsrudåsen
 08  18  28  38  48  58   T4 Bergkrystallen

We have achieved the primary goal of two minutes between all the departures.

Some more on the city centre section:

Jernbanetorget [A]
 01  11  21  31  41  51   T4 Vestli
 03  13  23  33  43  53   T5 Østerås
 05  15  25  35  45  55   T3 Sognsvann
 07  17  27  37  47  57   T2 Kolsås
 09  19  29  39  49  59   T1 Frognerseteren

Jernbanetorget [B]
 01  11  21  31  41  51   T3 Mortensrud
 03  13  23  33  43  53   T6 Ellingsrudåsen
 05  15  25  35  45  55   T5 Vestli
 07  17  27  37  47  57   T2 Ellingsrudåsen
 09  19  29  39  49  59   T4 Bergkrystallen

Majorstuen [A]
 00  10  20  30  40  50   T5 Vestli
 02  12  22  32  42  52   T2 Ellingsrudåsen
 04  14  24  34  44  54   T4 Bergkrystallen
 06  16  26  36  46  56   T3 Mortensrud
 08  18  28  38  48  58   T6 Ellingsrudåsen

Majorstuen [B]
 01  11  21  31  41  51   T3 Sognsvann
 03  13  23  33  43  53   T2 Kolsås
 05  15  25  35  45  55   T1 Frognerseteren
 07  17  27  37  47  57   T4 Vestli
 09  19  29  39  49  59   T5 Østerås

Majorstuen [C]
 04  14  24  34  44  54   T1 Majorstuen
 09  19  29  39  49  59   T1 Frognerseteren

Conflict at Majorstuen

The T1 departure from Majorstuen [C] has the same departure time as T5 [B], and in the other direction the arrival at platform C at the same time as route 4 arrives at platform A.

This is ok if we assume the building of a new single track connection between platform C and Frøen (one stop westwards of Majorstuen):

The minimal solution requires the red (1) and blue (2) tracks, as well as moving the «A» platform at Frøen to the west. The green () track is required to avoid conflict with westbound departures towards Kolsås and Østerås.

The track between the two main tracks at Majorstuen is connected to the main tracks at multiple points, but this is not shown here to simplify the illustration. It is possible to use this track instead of building the red (1) and green (3) tracks, but this may have an adverse impact on the access to the depot on the southern side of the area.

We should ensure that the single track from Majorstuen to Frøen will suffice. Calculating the departure time at Frøen manually is possible, but we can ask the program to do so in interactive mode:

> batch -silent oslo-metro/metro-my.setup
Route T1: Majorstuen - Frognerseteren
Route T2: Ellingsrudåsen - Kolsås
Route T3: Mortensrud - Sognsvann
Route T4: Bergkrystallen - Vestli
Route T5: Vestli - Østerås
Route T6: Ellingsrudåsen - Storo

> tp Frøen
Frøen [A]
 02  12  22  32  42  52   T1 Majorstuen

Frøen [B]
 06  16  26  36  46  56   T1 Frognerseteren

The western part of the ring line:

Ullevål stadion [A]
 00  10  20  30  40  50   T3 Mortensrud
 02  12  22  32  42  52   T6 Ellingsrudåsen
 08  18  28  38  48  58   T4 Bergkrystallen

Ullevål stadion [B]
 02  12  22  32  42  52   T4 Vestli
 04  14  24  34  44  54   T1 Frognerseteren
 06  16  26  36  46  56   T3 Sognsvann

The interval between route 1 and 4 towards Storo (platform B) could have been better.

Let us have a look at the end of the routes, and the layover times:

Bergkrystallen [B]
 01  11  21  31  41  51   T4 Bergkrystallen
 01  11  21  31  41  51   T4 Vestli

This means a layover time of 10 minutes. Arrival and departure at the same time does not really work out, even if we use both tracks at Bergkrystallen:

  • Vehicle a arrives at 01, and uses platform A.
  • Vehicle b arrives av 11, and uses platform B, at the same time as vehicle a leaves.
  • Vehicle c arrives at 21, and uses platform A. This does not work as vehicle b departs from platform B at the same time - and the routes collide.
Ellingsrudåsen [A]
 01  11  21  31  41  51   T6 Storo
 05  15  25  35  45  55   T2 Kolsås

Ellingsrudåsen [B]
 00  10  20  30  40  50   T2 Ellingsrudåsen
 06  16  26  36  46  56   T6 Ellingsrudåsen

14 minutes on route T6, and 11 minutes on route T2.

Frognerseteren [A]
 03  13  23  33  43  53   T1 Majorstuen

Frognerseteren [B]
 07  17  27  37  47  57   T1 Frognerseteren

6 minutes is too little, but 16 minutes is fine.

Kolsås [A]
 06  16  26  36  46  56   T2 Ellingsrudåsen

Kolsås [B]
 00  10  20  30  40  50   T2 Kolsås

6 minutes is too little, but 16 minutes is fine.

Mortensrud [A]
 00  10  20  30  40  50   T3 Sognsvann

Mortensrud [B]
 06  16  26  36  46  56   T3 Mortensrud

4 minutes is too little, but 14 minutes is fine.

Sognsvann [A]
 04  14  24  34  44  54   T3 Mortensrud

Sognsvann [B]
 04  14  24  34  44  54   T3 Sognsvann

10 minutes is ok, except that it does not work in practice. See Bergkrystallen (above) for why.

Vestli [A]
 02  12  22  32  42  52   T4 Bergkrystallen
 07  17  27  37  47  57   T5 Sognsvann

Vestli [B]
 01  11  21  31  41  51   T4 Vestli
 04  14  24  34  44  54   T5 Vestli

13 minutes on route T5, and 11 minutes on route T4.

Østerås [A]
 04  14  24  34  44  54   T5 Vestli

Østerås [B]
 05  15  25  35  45  55   T5 Østerås

9 minutes is ok.

Some other notable sections:

Carl Berners plass [A]
 03  13  23  33  43  53   T1 Frognerseteren
 07  17  27  37  47  57   T5 Østerås

Carl Berners plass [B]
 01  11  21  31  41  51   T5 Vestli
 03  13  23  33  43  53   T6 Storo

Note that the withdrawn connection from Tøyen via Carl berners plass to Sinsen can be achieved by changing routes at Carl Berners plass. The waiting time of 2 minutes is acceptable.

Hellerud [A]
 01  11  21  31  41  51   T6 Storo
 03  13  23  33  43  53   T3 Sognsvann
 05  15  25  35  45  55   T2 Kolsås

Hellerud [B]
 02  12  22  32  42  52   T3 Mortensrud
 04  14  24  34  44  54   T6 Ellingsrudåsen
 08  18  28  38  48  58   T2 Ellingsrudåsen

Helsfyr [A]
 00  10  20  30  40  50   T2 Kolsås
 04  14  24  34  44  54   T4 Vestli
 06  16  26  36  46  56   T6 Storo
 08  18  28  38  48  58   T3 Sognsvann

Helsfyr [B]
 00  10  20  30  40  50   T6 Ellingsrudåsen
 04  14  24  34  44  54   T2 Ellingsrudåsen
 06  16  26  36  46  56   T4 Bergkrystallen
 08  18  28  38  48  58   T3 Mortensrud

Route 6 fits in nicely, at both stops.

Sinsen [A]
 02  12  22  32  42  52   T4 Bergkrystallen
 06  16  26  36  46  56   T6 Storo

Sinsen [B]
 00  10  20  30  40  50   T1 Frognerseteren
 08  18  28  38  48  58   T4 Vestli

Sinsen has a useful connection between todays route 4 to the ring line and route 5 towards Tøyen today, when the vehicles are running on time. (They are often not.) This connection is broken, with a waiting time of 8 minutes.

Økern [A]
 03  13  23  33  43  53   T5 Østerås
 08  18  28  38  48  58   T4 Bergkrystallen

Økern [B]
 02  12  22  32  42  52   T4 Vestli
 05  15  25  35  45  55   T5 Vestli

The connection between Tøyen and Løren via Økern looks more promising, at 3 minutes. The downside is the change of platforms, via a bridge. So it may not be enough.

Storo [A]
 03  13  23  33  43  53   T4 Bergkrystallen
 07  17  27  37  47  57   T6 Ellingsrudåsen
 07  17  27  37  47  57   T6 Storo

Storo [B]
 06  16  26  36  46  56   T4 Vestli
 08  18  28  38  48  58   T1 Frognerseteren

Note the 0 minutes layover for route T6.

Smestad [A]
 05  15  25  35  45  55   T5 Vestli
 07  17  27  37  47  57   T2 Ellingsrudåsen

Smestad [B]
 03  13  23  33  43  53   T5 Østerås
 07  17  27  37  47  57   T2 Kolsås

Westbound route T2 to Kolsås crosses the eastbound route T5 just west of Smestad. The routes are timed so that this should not be a problem.

The two routes should ideally be spaced out better. Smestad lies at the bottom of a steep decline (towards Majorstuen). This affects the following vehicle, so 2 minutes between the departures is probably too little.

The vehicle definition file:

File: vehicles oslo-metro/vehicles-my.def
=T100
=T100
T1 D Frs/T1;Frs   9
T1 U Maj/T1;Maj   5

=T200
T2 D Elå/T2;Elå   9
T2 U Kol/T3;kol   9

=T300
T3 D Mort/T3;Mort 9
T3 U Svv/T5;Svv   9

=T400
T4 D Bkr/T4;Bkr   8
T4 U Vest/T4;Vest 8

=T500
T5 D Vest/T5;Vest 9
T5 U Øst/T2;Øst   9

=T600
T6 D Elå/T6;Elå   6
T6 U Sto/T6;Sto   0

The result:

	      T101  T102  T103  T104  T105  T106  T107  T108  T109  T110  T111
-------------------------------------------------------------------------------
Frs/T1	dep   0009  0019  0029  0039  0049  0059  0109  0119  0129  0139  0149 
Maj	arr   0107  0117  0127  0137  0147  0157  0207  0217  0227  0237  0247 
Maj/T1	dep   0113  0123  0133  0143  0153  0203  0213  0223  0233  0243  0253 
Frs	arr   0144  0154  0204  0214  0224  0234  0244  0254  0304  0314  0324 
Frs/T1	dep   0159  0209  0219  0229  0239  0249  0259  0309  0319  0329  0339 

	      T201  T202  T203  T204  T205  T206  T207  T208  T209  T210  T211  T212  T213  T214
-------------------------------------------------------------------------------------------------
Elå/T2	dep   0005  0015  0025  0035  0045  0055  0105  0115  0125  0135  0145  0155  0205  0215 
kol	arr   0100  0110  0120  0130  0140  0150  0200  0210  0220  0230  0240  0250  0300  0310 
Kol/T3	dep   0116  0126  0136  0146  0156  0206  0216  0226  0236  0246  0256  0306  0316  0326 
Elå	arr   0210  0220  0230  0240  0250  0300  0310  0320  0330  0340  0350  0400  0410  0420 
Elå/T2	dep   0225  0235  0245  0255  0305  0315  0325  0335  0345  0355  0405  0415  0425  0435 

	      T301  T302  T303  T304  T305  T306  T307  T308  T309  T310  T311
-------------------------------------------------------------------------------
Mort/T3	dep   0000  0010  0020  0030  0040  0050  0100  0110  0120  0130  0140 
Svv	arr   0044  0054  0104  0114  0124  0134  0144  0154  0204  0214  0224 
Svv/T5	dep   0054  0104  0114  0124  0134  0144  0154  0204  0214  0224  0234 
Mort	arr   0136  0146  0156  0206  0216  0226  0236  0246  0256  0306  0316 
Mort/T3	dep   0150  0200  0210  0220  0230  0240  0250  0300  0310  0320  0330 

	      T401  T402  T403  T404  T405  T406  T407  T408  T409  T410  T411  T412  T413  T414
-------------------------------------------------------------------------------------------------
Bkr/T4	dep   0001  0011  0021  0031  0041  0051  0101  0111  0121  0131  0141  0151  0201  0211 
Vest	arr   0101  0111  0121  0131  0141  0151  0201  0211  0221  0231  0241  0251  0301  0311 
Vest/T4	dep   0112  0122  0132  0142  0152  0202  0212  0222  0232  0242  0252  0302  0312  0322 
Bkr	arr   0211  0221  0231  0241  0251  0301  0311  0321  0331  0341  0351  0401  0411  0421 
Bkr/T4	dep   0221  0231  0241  0251  0301  0311  0321  0331  0341  0351  0401  0411  0421  0431 

	      T501  T502  T503  T504  T505  T506  T507  T508  T509  T510  T511  T512
-------------------------------------------------------------------------------------
Vest/T5	dep   0007  0017  0027  0037  0047  0057  0107  0117  0127  0137  0147  0157 
Øst	arr   0055  0105  0115  0125  0135  0145  0155  0205  0215  0225  0235  0245 
Øst/T2	dep   0104  0114  0124  0134  0144  0154  0204  0214  0224  0234  0244  0254 
Vest	arr   0154  0204  0214  0224  0234  0244  0254  0304  0314  0324  0334  0344 
Vest/T5	dep   0207  0217  0227  0237  0247  0257  0307  0317  0327  0337  0347  0357 

	      T601  T602  T603  T604  T605  T606  T607  T608
-------------------------------------------------------------
Elå/T6	dep   0001  0011  0021  0031  0041  0051  0101  0111 
Sto	arr   0027  0037  0047  0057  0107  0117  0127  0137 
Sto/T6	dep   0027  0037  0047  0057  0107  0117  0127  0137 
Elå	arr   0106  0116  0126  0136  0146  0156  0206  0216 
Elå/T6	dep   0121  0131  0141  0151  0201  0211  0221  0231 

T100: Number of vehicles: 11
T200: Number of vehicles: 14
T300: Number of vehicles: 11
T400: Number of vehicles: 14
T500: Number of vehicles: 12
T600: Number of vehicles: 8
---------------------------------------
Total number of vehicles: 70

Timing made Easier

I timed the departures manually, ensuring that they passed the city centre section in a timely manner by adjusting the offset values (the «up» and «down» arguments).

It is possible to set the «up» and «down» values for any stop en route, and let the program do the calculation for you. E.g.:

$ networkplanner
networkplanner: Enter «exit» to exit
> route set 04 file:oslo-metro/42.def down:2[OS401] up:1[OS401]
> summary

Route 04: Bergkrystallen - Vestli
----------------------------------------------------------------
  00  | 01  11  21  31  41  51  Bergkrystallen [B]
  01  | 02  12  22  32  42  52  Munkelia [A]
  02  | 03  13  23  33  43  53  Lambertseter [A]
  04  | 05  15  25  35  45  55  Karlsrud [A]
  05  | 06  16  26  36  46  56  Brattlikollen [A]
  07  | 08  18  28  38  48  58  Ryen [A]
  08  | 09  19  29  39  49  59  Manglerud [A]
  10  | 11  21  31  41  51  01  Høyenhall [A]
  11  | 12  22  32  42  52  02  Brynseng [A]
  13  | 14  24  34  44  54  04  Helsfyr [A]
  15  | 16  26  36  46  56  06  Ensjø [A]
  17  | 18  28  38  48  58  08  Tøyen [A]
  19  | 20  30  40  50  00  10  Grønland [A]
  20  | 21  31  41  51  01  11  Jernbanetorget [A]
  21  | 22  32  42  52  02  12  Stortinget [A]
  23  | 24  34  44  54  04  14  Nationaltheatret [B]
  26  | 27  37  47  57  07  17  Majorstuen [B]
  28  | 29  39  49  59  09  19  Blindern [B]
  29  | 30  40  50  00  10  20  Forskningsparken [B]
  31  | 32  42  52  02  12  22  Ullevål stadion [B]
  34  | 35  45  55  05  15  25  Nydalen [B]
  35  | 36  46  56  06  16  26  Storo [B]
  37  | 38  48  58  08  18  28  Sinsen [B]
  39  | 40  50  00  10  20  30  Løren [B]
  41  | 42  52  02  12  22  32  Økern [B]
  43  | 44  54  04  14  24  34  Risløkka [B]
  44  | 45  55  05  15  25  35  Vollebekk [B]
  45  | 46  56  06  16  26  36  Linderud [B]
  46  | 47  57  07  17  27  37  Veitvet [B]
  49  | 50  00  10  20  30  40  Rødtvet [B]
  50  | 51  01  11  21  31  41  Kalbakken [B]
  51  | 52  02  12  22  32  42  Ammerud [B]
  52  | 53  03  13  23  33  43  Grorud [B]
  53  | 54  04  14  24  34  44  Romsås [B]
  55  | 56  06  16  26  36  46  Rommen [B]
  56  | 57  07  17  27  37  47  Stovner [B]
1:00  | 01  11  21  31  41  51  Vestli [B]

Route 04: Vestli - Bergkrystallen
----------------------------------------------------------------
00  | 05  15  25  35  45  55  Vestli [A]
01  | 06  16  26  36  46  56  Stovner [A]
02  | 07  17  27  37  47  57  Rommen [A]
03  | 08  18  28  38  48  58  Romsås [A]
04  | 09  19  29  39  49  59  Grorud [A]
06  | 11  21  31  41  51  01  Ammerud [A]
07  | 12  22  32  42  52  02  Kalbakken [A]
08  | 13  23  33  43  53  03  Rødtvet [A]
10  | 15  25  35  45  55  05  Veitvet [A]
11  | 16  26  36  46  56  06  Linderud [A]
12  | 17  27  37  47  57  07  Vollebekk [A]
14  | 19  29  39  49  59  09  Risløkka [A]
16  | 21  31  41  51  01  11  Økern [A]
18  | 23  33  43  53  03  13  Løren [A]
20  | 25  35  45  55  05  15  Sinsen [A]
21  | 26  36  46  56  06  16  Storo [A]
23  | 28  38  48  58  08  18  Nydalen [A]
26  | 31  41  51  01  11  21  Ullevål stadion [A]
27  | 32  42  52  02  12  22  Forskningsparken [A]
28  | 33  43  53  03  13  23  Blindern [A]
32  | 37  47  57  07  17  27  Majorstuen [A]
34  | 39  49  59  09  19  29  Nationaltheatret [A]
36  | 41  51  01  11  21  31  Stortinget [B]
37  | 42  52  02  12  22  32  Jernbanetorget [B]
38  | 43  53  03  13  23  33  Grønland [B]
41  | 46  56  06  16  26  36  Tøyen [B]
42  | 47  57  07  17  27  37  Ensjø [B]
44  | 49  59  09  19  29  39  Helsfyr [B]
46  | 51  01  11  21  31  41  Brynseng [B]
47  | 52  02  12  22  32  42  Høyenhall [B]
49  | 54  04  14  24  34  44  Manglerud [B]
50  | 55  05  15  25  35  45  Ryen [B]
52  | 57  07  17  27  37  47  Brattlikollen [B]
53  | 58  08  18  28  38  48  Karlsrud [B]
55  | 00  10  20  30  40  50  Lambertseter [B]
56  | 01  11  21  31  41  51  Munkelia [B]
59  | 04  14  24  34  44  54  Bergkrystallen [B]

I have not done so for this proposed network, as this option wash added afterwards. As a result of the frustration doing it manually.

[ Introduction | Oslo Metro | Oslo Tram | Bergen | Misc. ]
[ Metro Introduction | Metro 4 | Metro 5 | Metro 2/3 | Metro All | My Metro ]