Planning Public Transportation with Raku

Bergen Route 2

by Arne Sommer

Bergen Route 2

[159.4.2] Published 15. December 2021.

[ Introduction | Oslo Metro | Oslo Tram | Bergen | Misc. ]
[ Bergen Introduction | Route 1 | Route 2 ]

Bergen Light Rail - Route 2

Route 2 is under construction, and should open in late 2022. The network will then look like this:

The travel time for route 2 is an educated guess, with the only tip that the end to end travel time is 18 minutes (according to www.skyss.no/bybanenfyllingsdalen; in Norwegian):

File: bergen-bybanen/02.def
#
# 2 Byparken - Fyllingsdalen terminal
# --------------------------------------------------
BB001 D   C   Byparken
BB002 B   A   Nonneseter
BB003 D   C:3 Bystasjonen
BB031 B:3 A:3 Fløen
BB032 B:3 A:3 Haukeland sykehus
BB007 D:3 C   Kronstad
BB041 B   A:2 Mindemyren
BB042 B:2 A:4 Kristiansborg
BB043 B:4 A   Fyllingsdalen terminal

The current two platform tracks at byparken are unable to cope with route 2 in addition to the existing route 1, so a single siding with two platforms has been built just before it:

Route 1 will continue using platforms A and B. Arriving trams on route 2 will let passengers off at platform C. They (the trams) will continue to platform D for boarding, when vacant. Departure is via the new track from paltform D to the main eastbound track.

Let us start with a simple network with only the two routes:

File: bergen-bybanen/bergen-bybanen-2a.setup
## Networkplanner ##

route set 1 file:01.def down:0   up:1   interval:5
route set 2 file:02.def down:2.5 up:3.5 interval:5

summary

timingpoints timingpoints-2.def

vehicles vehicles-2a.def

The new timingpoints file, including the new stops:

File: bergen-bybanen/timingpoints-2.def
Byparken
Nonneseter
Kronstad
Wergeland
Lagunen
Bergen lufthavn
Fyllingsdalen terminal

The summary for route 2 only (as route 1 is unchanged):

Route 2: Byparken - Fyllingsdalen terminal
----------------------------------------------------------------
00  | 02' 07' 12' 17' 22' 27' 32' 37' 42' 47' 52' 57' Byparken [D]
01  | 03' 08' 13' 18' 23' 28' 33' 38' 43' 48' 53' 58' Nonneseter [B]
02  | 04' 09' 14' 19' 24' 29' 34' 39' 44' 49' 54' 59' Bystasjonen [D]
05  | 07' 12' 17' 22' 27' 32' 37' 42' 47' 52' 57' 02' Fløen [B]
08  | 10' 15' 20' 25' 30' 35' 40' 45' 50' 55' 00' 05' Haukeland sykehus [B]
11  | 13' 18' 23' 28' 33' 38' 43' 48' 53' 58' 03' 08' Kronstad [D]
12  | 14' 19' 24' 29' 34' 39' 44' 49' 54' 59' 04' 09' Mindemyren [B]
14  | 16' 21' 26' 31' 36' 41' 46' 51' 56' 01' 06' 11' Kristiansborg [B]
18  | 20' 25' 30' 35' 40' 45' 50' 55' 00' 05' 10' 15' Fyllingsdalen terminal [B]

Route 2: Fyllingsdalen terminal - Byparken
----------------------------------------------------------------
00  | 03' 08' 13' 18' 23' 28' 33' 38' 43' 48' 53' 58' Fyllingsdalen terminal [A]
04  | 07' 12' 17' 22' 27' 32' 37' 42' 47' 52' 57' 02' Kristiansborg [A]
06  | 09' 14' 19' 24' 29' 34' 39' 44' 49' 54' 59' 04' Mindemyren [A]
07  | 10' 15' 20' 25' 30' 35' 40' 45' 50' 55' 00' 05' Kronstad [C]
10  | 13' 18' 23' 28' 33' 38' 43' 48' 53' 58' 03' 08' Haukeland sykehus [A]
13  | 16' 21' 26' 31' 36' 41' 46' 51' 56' 01' 06' 11' Fløen [A]
16  | 19' 24' 29' 34' 39' 44' 49' 54' 59' 04' 09' 14' Bystasjonen [C]
17  | 20' 25' 30' 35' 40' 45' 50' 55' 00' 05' 10' 15' Nonneseter [A]
18  | 21' 26' 31' 36' 41' 46' 51' 56' 01' 06' 11' 16' Byparken [C]

Here are the timingpoints:

Byparken [B]
 00  05  10  15  20  25  30  35  40  45  50  55   1 Bergen lufthavn
 04  09  14  19  24  29  34  39  44  49  54  59   1 Byparken

Byparken [C]
 01' 06' 11' 16' 21' 26' 31' 36' 41' 46' 51' 56'  2 Byparken

Byparken [D]
 02' 07' 12' 17' 22' 27' 32' 37' 42' 47' 52' 57'  2 Fyllingsdalen terminal

Fyllingsdalen terminal [A]
 03' 08' 13' 18' 23' 28' 33' 38' 43' 48' 53' 58'  2 Byparken

Fyllingsdalen terminal [B]
 00' 05' 10' 15' 20' 25' 30' 35' 40' 45' 50' 55'  2 Fyllingsdalen terminal

Haukeland sykehus [A]
 03' 08' 13' 18' 23' 28' 33' 38' 43' 48' 53' 58'  2 Byparken

Haukeland sykehus [B]
 00' 05' 10' 15' 20' 25' 30' 35' 40' 45' 50' 55'  2 Fyllingsdalen terminal

Kronstad [A]
 04  09  14  19  24  29  34  39  44  49  54  59   1 Byparken

Kronstad [B]
 04  09  14  19  24  29  34  39  44  49  54  59   1 Bergen lufthavn

Kronstad [C]
 00' 05' 10' 15' 20' 25' 30' 35' 40' 45' 50' 55'  2 Byparken

Kronstad [D]
 03' 08' 13' 18' 23' 28' 33' 38' 43' 48' 53' 58'  2 Fyllingsdalen terminal

Lagunen [A]
 03  08  13  18  23  28  33  38  43  48  53  58   1 Byparken

Lagunen [B]
 01  06  11  16  21  26  31  36  41  46  51  56   1 Bergen lufthavn

Nonneseter [A]
 00' 05' 10' 15' 20' 25' 30' 35' 40' 45' 50' 55'  2 Byparken
 03  08  13  18  23  28  33  38  43  48  53  58   1 Byparken

Nonneseter [B]
 01  06  11  16  21  26  31  36  41  46  51  56   1 Bergen lufthavn
 03' 08' 13' 18' 23' 28' 33' 38' 43' 48' 53' 58'  2 Fyllingsdalen terminal

Wergeland [A]
 02  07  12  17  22  27  32  37  42  47  52  57   1 Byparken

Wergeland [B]
 02  07  12  17  22  27  32  37  42  47  52  57   1 Bergen lufthavn

The vehicle definition file:

File: bergen-bybanen/vehicles-2a.def
=0100
1 D Byp/1;Byp   5
1 U Fle/1;Fle  10

=0200
2 D Byp/2;Byp  5
2 U FyT/2;FyT  7

Running it (and note the scrollbar at the bottom of the table):

	      0101  0102  0103  0104  0105  0106  0107  0108  0109  0110  0111  0112  0113  0114  0115  0116  0117  0118  0119  0120  0121
-------------------------------------------------------------------------------------------------------------------------------------------
Byp/1	dep   0000  0005  0010  0015  0020  0025  0030  0035  0040  0045  0050  0055  0100  0105  0110  0115  0120  0125  0130  0135  0140 
Fle	arr   0042  0047  0052  0057  0102  0107  0112  0117  0122  0127  0132  0137  0142  0147  0152  0157  0202  0207  0212  0217  0222 
Fle/1	dep   0056  0101  0106  0111  0116  0121  0126  0131  0136  0141  0146  0151  0156  0201  0206  0211  0216  0221  0226  0231  0236 
Byp	arr   0139  0144  0149  0154  0159  0204  0209  0214  0219  0224  0229  0234  0239  0244  0249  0254  0259  0304  0309  0314  0319 
Byp/1	dep   0145  0150  0155  0200  0205  0210  0215  0220  0225  0230  0235  0240  0245  0250  0255  0300  0305  0310  0315  0320  0325 

	      0201  0202  0203  0204  0205  0206  0207  0208  0209  0210
-------------------------------------------------------------------------
Byp/2	dep   0002' 0007' 0012' 0017' 0022' 0027' 0032' 0037' 0042' 0047'
FyT	arr   0020' 0025' 0030' 0035' 0040' 0045' 0050' 0055' 0100' 0105'
FyT/2	dep   0028' 0033' 0038' 0043' 0048' 0053' 0058' 0103' 0108' 0113'
Byp	arr   0046' 0051' 0056' 0101' 0106' 0111' 0116' 0121' 0126' 0131'
Byp/2	dep   0052' 0057' 0102' 0107' 0112' 0117' 0122' 0127' 0132' 0137'

0100: Number of vehicles: 21
0200: Number of vehicles: 10
---------------------------------------
Total number of vehicles: 31

Bergen currently has 28 vehicles, with 6 more to come before summer 2022. So using 31 vehicles at the same time is doable.

Route 12

A 5 minute interval on the southern part of route 2 may be overkill. Let us combine route 1 and 2 (as a new route 12), and run the resulting 3 lines with a 10 minute interval:

File: bergen-bybanen/bergen-bybanen-2b.setup
## Networkplanner ##

route set     1 file:01.def down:0   up:1    start-at:BB001[A;B]
route set     2 file:02.def down:2.5 up:3.5 
route set    12 file:02.def down:5   up:6    start-at:BB001[B;A] end-at:BB007[F;E]
route append 12 file:01.def start-at:BB008

summary

timingpoints timingpoints-2.def

vehicles vehicles-2b.def

The default interval is 10 minutes, so we do not have to specify it.

File: bergen-bybanen/vehicles-2b.def
=0100
1  D Byp/1;Byp   5
12 U Fle/12;Fle 10
12 D Byp/12;Byp  5
1  U Fle/1;Fle  10

=0200
2 D Byp/2;Byp  5
2 U FyT/2;FyT  7

The result:

	      0101  0102  0103  0104  0105  0106  0107  0108  0109  0110  0111  0112  0113  0114  0115  0116  0117  0118  0119  0120  0121
-------------------------------------------------------------------------------------------------------------------------------------------
Byp/1	dep   0000  0010  0020  0030  0040  0050  0100  0110  0120  0130  0140  0150  0200  0210  0220  0230  0240  0250  0300  0310  0320 
Fle	arr   0042  0052  0102  0112  0122  0132  0142  0152  0202  0212  0222  0232  0242  0252  0302  0312  0322  0332  0342  0352  0402 
Fle/12	dep   0056  0106  0116  0126  0136  0146  0156  0206  0216  0226  0236  0246  0256  0306  0316  0326  0336  0346  0356  0406  0416 
Byp	arr   0140  0150  0200  0210  0220  0230  0240  0250  0300  0310  0320  0330  0340  0350  0400  0410  0420  0430  0440  0450  0500 
Byp/12	dep   0145  0155  0205  0215  0225  0235  0245  0255  0305  0315  0325  0335  0345  0355  0405  0415  0425  0435  0445  0455  0505 
Fle	arr   0227  0237  0247  0257  0307  0317  0327  0337  0347  0357  0407  0417  0427  0437  0447  0457  0507  0517  0527  0537  0547 
Fle/1	dep   0241  0251  0301  0311  0321  0331  0341  0351  0401  0411  0421  0431  0441  0451  0501  0511  0521  0531  0541  0551  0601 
Byp	arr   0324  0334  0344  0354  0404  0414  0424  0434  0444  0454  0504  0514  0524  0534  0544  0554  0604  0614  0624  0634  0644 
Byp/1	dep   0330  0340  0350  0400  0410  0420  0430  0440  0450  0500  0510  0520  0530  0540  0550  0600  0610  0620  0630  0640  0650 

	      0201  0202  0203  0204  0205  0206
-------------------------------------------------
Byp/2	dep   0002' 0012' 0022' 0032' 0042' 0052'
FyT	arr   0020' 0030' 0040' 0050' 0100' 0110'
FyT/2	dep   0033' 0043' 0053' 0103' 0113' 0123'
Byp	arr   0051' 0101' 0111' 0121' 0131' 0141'
Byp/2	dep   0102' 0112' 0122' 0132' 0142' 0152'

0100: Number of vehicles: 21
0200: Number of vehicles: 6
---------------------------------------
Total number of vehicles: 27

We can save 1 vehicle at Byparken by coupling the routes there as well, giving two separate combinations:

File: bergen-bybanen/bergen-bybanen-2c.setup
## Networkplanner ##

route set     1 file:01.def down:0   up:6    start-at:BB001[A;B]
route set     2 file:02.def down:2.5 up:3.5 
route set    12 file:02.def down:5   up:1    start-at:BB001[B;A] end-at:BB007[F;E]
route append 12 file:01.def                  start-at:BB008

summary

timingpoints timingpoints-2.def

vehicles vehicles-2c.def
File: bergen-bybanen/vehicles-2c.def
=0100
1  D Byp/1;Byp  5
12 U Fle/12;Fle 7

=0120
12 D Byp/12;Byp 5
1  U Fle/1;Fle  7

=0200
2  D Byp/2;Byp 5
2  U FyT/2;FyT 7

The result:

	      0101  0102  0103  0104  0105  0106  0107  0108  0109  0110
-------------------------------------------------------------------------
Byp/1	dep   0000  0010  0020  0030  0040  0050  0100  0110  0120  0130 
Fle	arr   0042  0052  0102  0112  0122  0132  0142  0152  0202  0212 
Fle/12	dep   0051  0101  0111  0121  0131  0141  0151  0201  0211  0221 
Byp	arr   0135  0145  0155  0205  0215  0225  0235  0245  0255  0305 
Byp/1	dep   0140  0150  0200  0210  0220  0230  0240  0250  0300  0310 

	      0121  0122  0123  0124  0125  0126  0127  0128  0129  0130
-------------------------------------------------------------------------
Byp/12	dep   0005  0015  0025  0035  0045  0055  0105  0115  0125  0135 
Fle	arr   0047  0057  0107  0117  0127  0137  0147  0157  0207  0217 
Fle/1	dep   0056  0106  0116  0126  0136  0146  0156  0206  0216  0226 
Byp	arr   0139  0149  0159  0209  0219  0229  0239  0249  0259  0309 
Byp/12	dep   0145  0155  0205  0215  0225  0235  0245  0255  0305  0315 

	      0201  0202  0203  0204  0205  0206
-------------------------------------------------
Byp/2	dep   0002' 0012' 0022' 0032' 0042' 0052'
FyT	arr   0020' 0030' 0040' 0050' 0100' 0110'
FyT/2	dep   0033' 0043' 0053' 0103' 0113' 0123'
Byp	arr   0051' 0101' 0111' 0121' 0131' 0141'
Byp/2	dep   0102' 0112' 0122' 0132' 0142' 0152'

0100: Number of vehicles: 10
0120: Number of vehicles: 10
0200: Number of vehicles: 6
---------------------------------------
Total number of vehicles: 26

Route 11

The reduced capacity on the city end of route 1 may be a problem. But we do have spare vehicles, and a new route 11 is possible:

Note that route 11 requires a siding after the «Wergeland» stop. There are no siding there, nor is it planned.

File: bergen-bybanen/bergen-bybanen-2d.setup
## Networkplanner ##

route set     1 file:01.def down:0   up:6    start-at:BB001[A;B]
route set     2 file:02.def down:2.5 up:3.5 
route set    11 file:01.def down:7.5 up:4    start-at:BB001[C;D] end-at:BB009
route set    12 file:02.def down:5   up:1    start-at:BB001[B;A] end-at:BB007[F;E]
route append 12 file:01.def                  start-at:BB008

summary

timingpoints timingpoints-2.def

vehicles vehicles-2d.def

Let us combine route 12 and 11, as they are pretty short:

File: bergen-bybanen/vehicles-2d.def
=0100
1  D Byp/1;Byp  5
12 U Fle/12;Fle 7

=0120
12 D Byp/12;Byp 5
1  U Fle/1;Fle  7

=0200
2  D Byp/2;Byp  5
2  U FyT/2;FyT  7
11 D Byp/11;Byp 5
11 U We/11;We   7

The result, three combinations with 10 vehicles each:

	      0101  0102  0103  0104  0105  0106  0107  0108  0109  0110
-------------------------------------------------------------------------
Byp/1	dep   0000  0010  0020  0030  0040  0050  0100  0110  0120  0130 
Fle	arr   0042  0052  0102  0112  0122  0132  0142  0152  0202  0212 
Fle/12	dep   0051  0101  0111  0121  0131  0141  0151  0201  0211  0221 
Byp	arr   0135  0145  0155  0205  0215  0225  0235  0245  0255  0305 
Byp/1	dep   0140  0150  0200  0210  0220  0230  0240  0250  0300  0310 

	      0121  0122  0123  0124  0125  0126  0127  0128  0129  0130
-------------------------------------------------------------------------
Byp/12	dep   0005  0015  0025  0035  0045  0055  0105  0115  0125  0135 
Fle	arr   0047  0057  0107  0117  0127  0137  0147  0157  0207  0217 
Fle/1	dep   0056  0106  0116  0126  0136  0146  0156  0206  0216  0226 
Byp	arr   0139  0149  0159  0209  0219  0229  0239  0249  0259  0309 
Byp/12	dep   0145  0155  0205  0215  0225  0235  0245  0255  0305  0315 

	      0201  0202  0203  0204  0205  0206  0207  0208  0209  0210
-------------------------------------------------------------------------
Byp/2	dep   0002' 0012' 0022' 0032' 0042' 0052' 0102' 0112' 0122' 0132'
FyT	arr   0020' 0030' 0040' 0050' 0100' 0110' 0120' 0130' 0140' 0150'
FyT/2	dep   0033' 0043' 0053' 0103' 0113' 0123' 0133' 0143' 0153' 0203'
Byp	arr   0051' 0101' 0111' 0121' 0131' 0141' 0151' 0201' 0211' 0221'
Byp/11	dep   0057' 0107' 0117' 0127' 0137' 0147' 0157' 0207' 0217' 0227'
We	arr   0109' 0119' 0129' 0139' 0149' 0159' 0209' 0219' 0229' 0239'
We/11	dep   0124  0134  0144  0154  0204  0214  0224  0234  0244  0254 
Byp	arr   0136  0146  0156  0206  0216  0226  0236  0246  0256  0306 
Byp/2	dep   0142' 0152' 0202' 0212' 0222' 0232' 0242' 0252' 0302' 0312'

0100: Number of vehicles: 10
0120: Number of vehicles: 10
0200: Number of vehicles: 10
---------------------------------------
Total number of vehicles: 30

It is possible to swap the departure times for route 1 and 12 so that they run as pure lines instead of the combination. But this will impact the other routes. See the file «bergen-bybanen/bergen-bybanen-2e.setup» for an example of how this can be done.

[ Introduction | Oslo Metro | Oslo Tram | Bergen | Misc. ]
[ Bergen Introduction | Route 1 | Route 2 ]