-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathflows_van.py
More file actions
150 lines (148 loc) · 17.2 KB
/
Copy pathflows_van.py
File metadata and controls
150 lines (148 loc) · 17.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
# -*- coding: utf-8 -*-
"""A guide's running order for each day of the van trip.
Deliberately NOT a minute-by-minute schedule. Blocks are soft — "Morning",
"After lunch" — and carry slack. `fix=True` marks the handful of times that
genuinely will not wait for you: boats, shuttles, receptions, sunset, ferries.
"""
F = lambda w, t, fix=False: dict(w=w, t=t, fix=fix)
FLOW = {
1: [
F("≈08:00", "Ferry docks in Bastia. You will have slept badly. Have coffee on board before you join the queue for the ramp — it takes twenty minutes to clear either way.", True),
F("Morning", "Leave the van at Parking du Port and walk. Terra Vecchia's alleys, the Vieux Port under the two bell towers, then up to the Citadelle for the view back over the roofs. Two hours, unhurried."),
F("Lunch", "On the Vieux Port, or walk five minutes to VG — the island's only fully plant-based kitchen, and it is right here on day one. Either way, a glass of Corsican rosé; one only for whoever drives."),
F("Afternoon", "North on the D80 with the sea on your right. Erbalunga around three, when the light comes round onto the tower. If it is hot, swim at Marine de Sisco."),
F("Before 18:00", "Into Macinaggio and check in. Reception shuts at seven and today is not the day to test that.", True),
F("Evening", "Walk the marina, eat at the harbour, buy tomorrow's water. The Cap day is a long one."),
],
2: [
F("Up at seven", "The Sentier des Douaniers has no shade anywhere on it. You want to be walking by eight and finished before the heat."),
F("Morning", "The customs path north out of the marina — Genoese towers, the Santa Maria chapel, and coves with nobody in them. Full loop is 10 km; turn at Plage de Tamarone for a swim and be back by eleven if you would rather."),
F("Midday", "Drive round to Barcaggio. Pale sand, dunes, cows that wander down onto the beach, and the northernmost swim on the island."),
F("Lunch", "Centuri is famous for lobster, which is no use to you — so make this a picnic on the harbour wall instead, out of what you bought in Macinaggio. The doll's-house port is the point, not the menu."),
F("Afternoon", "South down the west side on the D80. Pull in at the Moulin Mattei for the view over both coasts of the Cap."),
F("≈17:30", "Check in near Patrimonio. Do this before Nonza, not after.", True),
F("Evening", "Back out to Nonza — twelve minutes — for the square tower and the black beach as the light goes. Wine tasting in Patrimonio if you would rather sit still."),
],
3: [
F("Slow start", "Nothing today is urgent, and the boat sets the shape of it."),
F("Morning", "Into Saint-Florent. Buy the Saleccia or Lotu boat tickets at the quay — in July and August do this the day before, not on the morning."),
F("Boat time", "Check the sailing when you buy: usually mid-morning out, mid-afternoon back. That is your fixed point today.", True),
F("The beach", "A kilometre of white sand behind a pine forest, in the middle of a desert. Take everything with you — there is nothing there, which is the entire appeal."),
F("Late afternoon", "Back on the mainland, drive the D81 west and stop at Bocca di Vezzu as the light goes long over the Agriates."),
F("Before 18:30", "On to Ostriconi and check in. If you still have legs, it is fifteen minutes down through the dunes to the beach.", True),
],
4: [
F("Easy morning", "The gentlest day of the trip. No alarm."),
F("Morning", "Down to L'Île-Rousse for the covered market — go before eleven or the good stuff has gone. Ignore half of it and load up on the other half: tomatoes, peaches, figs, olives, almonds, chestnut flour, bread."),
F("Late morning", "Across the causeway onto the Île de la Pietra: the path out to the 1857 lighthouse and the old watchtower takes half an hour."),
F("Lunch", "Under the plane trees on the Place Paoli."),
F("Afternoon", "Up into the Balagne on the inland road — Pigna for the craft workshops, Sant'Antonino for the view over the whole plain. Steep, cobbled, worth it."),
F("Late afternoon", "Down to Plage de Bodri, ten minutes through the maquis from the car park, and swim until the light goes."),
F("Evening", "Check in at Bodri. If Pigna's Casa Musicale has a polyphony concert on, that is your evening decided."),
],
5: [
F("Morning", "Calvi first, while it is cool. Park at the port and walk up into the citadel — Roman in origin, Genoese in character, and the view along the whole bay from the ramparts."),
F("Late morning", "Coffee on the quay, then out of town before the day-trippers arrive."),
F("Midday", "Up to Bonifatu. The road from Calenzana is paved the whole way to the Auberge car park."),
F("Afternoon", "The Figarella walk: 5 km, 300 m of climb, along the river then up into the pines. Small waterfalls the whole way and granite plunge pools to swim in. Take lunch and eat it on a slab."),
F("Optional", "Legs still good? The Cirque de Bonifatu carries on to the Refuge de Carrozzu — 11 km and 750 m, five to six hours. Only start it before nine in the morning."),
F("Evening", "Back to Calvi, check in, and eat on the marina with the citadel lit up above you."),
],
6: [
F("This one needs an early start", "3¼ hours of driving and a four-hour hike do not fit into a normal day. Either leave at seven, or accept you are doing Monte Senino tomorrow instead. Decide over breakfast, not at four in the afternoon."),
F("Early", "Out of Calvi by 07:00 if you are doing Senino. South on the D81b through Galéria."),
F("Late morning", "The Monte Senino trailhead is the big roadside car park by Osani. Six kilometres round, 500 m up, steep the whole way — allow four hours. The summit gives you the Gulf of Girolata, the Gulf of Porto and the whole Scandola reserve at once."),
F("Alternative", "Skipping it? Then Galéria for the Fango river pools, lunch in the village, and take the D81 slowly with stops — this is the most spectacular coast road in Corsica and there is no prize for finishing it early."),
F("Late afternoon", "Down into Porto. Climb the Genoese tower for a couple of euros."),
F("Before 18:00", "Check in. Mountain and coast receptions both shut around seven.", True),
F("Evening", "The Pont de Pianella is fifteen minutes up the Spelunca road — a Genoese arch over green water, and pools deep enough to jump into if there is light left."),
],
7: [
F("Early", "Be in the Calanches by eight. Two reasons: the coaches, and the fact that the D81 is single-lane in places with a 300 m drop. At eight it is yours."),
F("Morning", "Walk the Château Fort loop — 2.5 km — or the shorter Tête de Chien. The shapes in the rock only work on foot; driving past them does nothing."),
F("Late morning", "Coffee in Piana on the church square, then out along the D824."),
F("Midday", "Capo Rosso. 8.5 km round, 500 m up, three to four hours, and no shade at all — two litres each, minimum. The Genoese tower at the end sits on a 330 m cliff and you can climb the ladder inside it."),
F("Afternoon", "Down to Plage d'Arone and do nothing whatsoever. Swim, eat at the beach bar, sleep on the sand."),
F("By 17:30", "Check in at Arone. This matters today.", True),
F("≈21:00", "Drive the twenty minutes back up to the Calanches for sunset. The rock goes from orange to blood red and there is nobody there. You can do this precisely because the pitch is already yours.", True),
],
8: [
F("Morning", "Leave the coast. Up through Ota and Évisa into chestnut country — stop in Évisa for something made with chestnut flour, because this is where it comes from. Check it has not been finished with cheese; the base is just flour, water and salt."),
F("Late morning", "The D84 climbs to the Col de Vergio at 1,478 m, the highest road pass on the island. Six-metre Christ the King statue, laricio pines, and a serious drop in temperature. Get the fleece out of the back."),
F("Optional, and it is a big one", "Lac de Nino from the Fer à Cheval hairpin: 9 km, 600 m, four to five hours, ending at a high lake ringed by spongy green pozzines with half-wild horses grazing. The strangest place on Corsica. Only if you started early."),
F("Afternoon", "Down into the Niolu. Lac de Calacuccia is a turquoise reservoir with the 2,706 m wall of Monte Cinto behind it — swim from the shore near the bridge."),
F("Late afternoon", "The Canyon di A Ruda below the lake: granite chutes and pools, and a single-track road threading the gorge. Wear something on your feet to scramble down."),
F("By 17:30", "Check in at Calacuccia. You are at 800 m here and receptions shut earlier than on the coast.", True),
F("Evening", "Eat in the village. It gets genuinely cold after dark at this altitude."),
],
9: [
F("Morning", "Down the Scala di Santa Regina — a bare red granite gorge cut by the Golo, with the old mule staircase still visible across the water. Good tarmac, narrow, rock wall on one side. Take the corners wide."),
F("Late morning", "Turn up the Asco valley. Twenty-five kilometres of dead-end gorge, single-track with passing bays for the last ten, and mouflon on the crags if you are lucky."),
F("Midday", "Haut-Asco at the roadhead: an abandoned ski station that is now purely a GR20 waypoint. Bar, refuge, and the north face of Monte Cinto above you. Lunch here."),
F("Optional", "Punta di la Muvrella — 8 km, 850 m, five hours of steep rock on GR20 waymarks, with the sea on both sides from the top on a clear day."),
F("Afternoon", "Back down the valley and east to Corte. Park below the old town and climb to the citadel on its crag."),
F("Late afternoon", "The Museu di a Corsica, then the steep lanes. This was the capital of independent Corsica and it still feels like the most Corsican town on the island."),
F("Evening", "Check in at Corte, restock, do laundry. Book the Restonica shuttle tonight in the M-Ticket Via Corsica app — you cannot buy it in the morning.", True),
],
10: [
F("Before light", "The one genuinely early start. Head torch, 2–3 litres each, food, and a windproof layer even if the coast was 30 degrees."),
F("First shuttle", "The Navetta C13 from Corte station up to A Frasseta. €4 return, booked last night. There is no other way in — the D623 has been shut beyond the Pont de Tragone since the 2023 storms.", True),
F("Morning", "Walk the broken road up the valley: collapsed bridges, tarmac shattered by rockfall. It is stranger and better than it sounds. At the end, the abandoned Bergeries de Grotelle, where one small bar still opens daily."),
F("Midday", "Now the real climb. Chains and rock steps up to Lac de Melo at 1,711 m. Cold, black, ringed by granite."),
F("If you have it in you", "Forty-five steeper minutes more to Lac de Capitello, which holds ice into June and is the better of the two. Turn back at any point; nobody is keeping score."),
F("Afternoon", "Down the same way. The video's version of this day ran over eight hours door to door."),
F("Evening", "No move tonight — you are already checked in, which is exactly why today sleeps in Corte again. Eat in town. You have earned it."),
],
11: [
F("Slow morning", "Yesterday was eight hours. Have a second coffee."),
F("Late morning", "South on the N193 to Vizzavona. The Cascade des Anglais is 5 km round trip through beech and laricio forest at 900 m — the easiest genuinely beautiful walk on the island, and blissfully cool."),
F("Lunch", "At the Col de Vizzavona, or picnic by the pools."),
F("Early afternoon", "A short hop to Bocognano for the Cascata di u Velu di a Spusata — the Bridal Veil, 150 m down a granite face, twenty minutes' walk from the layby. In May and June it is thunderous."),
F("Afternoon", "The D3 down to Lac de Tolla: narrow, twisting, laybys with lake views the whole way. Swim, or hire a kayak, and eat late at the lakeside restaurant."),
F("By 17:30", "Into Ajaccio and check in. Leave the van; you do not want it in the centre.", True),
F("Evening", "Out to the Pointe de la Parata for the Îles Sanguinaires at sunset — but check the car park barrier closing time before you commit, because it is often earlier than sunset.", True),
],
12: [
F("Leave by nine", "181 km today, the longest drive of the trip. An early start is the difference between arriving relaxed and arriving in the dark."),
F("Morning", "The Place Foch market in Ajaccio if you can face it before you go — it is the best on the island. Then south."),
F("Late morning", "Filitosa: four-thousand-year-old menhirs with faces and swords carved into them, standing in an olive grove. Small, quiet and genuinely moving. Allow ninety minutes."),
F("Lunch", "Propriano on the water, or push on to Sartène."),
F("Afternoon", "Sartène — grey granite, vaulted passages, shuttered windows. Mérimée called it the most Corsican of Corsican towns and he was right. Then Sainte-Lucie-de-Tallano for the olive mill; buy the oil."),
F("Optional", "Roccapina, if the light is good and you fancy it: the track down is 3.5 km of rock and ruts, so most people park at the top and walk 45 minutes. Judge it on the day rather than assuming it."),
F("By 18:00", "Into Bonifacio and check in on the Santa Manza road.", True),
F("Evening", "Walk up into the Haute Ville after the day-trippers have gone. The ramparts at dusk, with Sardinia twelve kilometres off, are the best hour in the south."),
],
13: [
F("Boat first", "If you want the Lavezzi, the boats go from Bonifacio marina two or three times a day and the morning one is the good one. Decide at breakfast.", True),
F("Morning", "Either out to the Lavezzi — granite boulders, a marine reserve, water so clear the boat looks like it is floating on air — or straight down the 187 steps of the Escalier du Roi d'Aragon, cut into the cliff face."),
F("Lunch", "On the marina quay."),
F("Afternoon", "North to Rondinara: an almost perfectly circular bay, shallow and sheltered, and the best swim on the south coast. Then Santa Giulia's lagoon if you want company, or Palombaggia's red rocks and umbrella pines."),
F("A word on parking", "All three fill by ten in August. Either go early or go after four; there is no middle option."),
F("Late afternoon", "Porto-Vecchio's walled upper town for an aperitif, then check in on the Palombaggia road."),
F("Evening", "Eat in Porto-Vecchio. Tomorrow is Bavella and it starts early."),
],
14: [
F("Early", "Storms build over Bavella from early afternoon in summer. Whatever you walk, start it at first light and be off the ridges by two."),
F("Morning", "Up into the Ospedale forest — 900 m and a fifteen-degree drop from the beaches. Piscia di Gallu is a 3.5 km round trip over granite slabs to a 60 m fall dropping into a chasm. Proper shoes; the rock is slippery."),
F("Late morning", "Carbini for the banded Romanesque church standing alone at the foot of its hill, and Cucuruzzu near Levie — a Bronze Age fort in a holm-oak wood, walked with an audioguide."),
F("Lunch", "Levie or Zonza."),
F("Afternoon", "The D268 climbs in hairpins to the Col de Bavella at 1,218 m. Seven red granite needles, some of them 1,800 m, wind-twisted pines, pigs on the road."),
F("The hike", "Trou de la Bombe is the easy one: 6 km, 300 m, two and a half hours to a hole punched clean through a rock wall. The Alpine variant of the GR20 is the real thing — 12 km, 1,000 m, four hours, with fixed chains. Not in the afternoon."),
F("Evening", "Down to Zonza and check in. The auberges here are wild boar and charcuterie, so ring ahead in the morning — given notice they will cook you something proper, given none you will get a plate of chips. It is cold up here after dark."),
],
15: [
F("Morning", "Down the D268 to Solenzara, where the mountains hit the sea. River pools upstream if you want a last freshwater swim, or the beach if you want salt."),
F("Late morning", "The D69 — the road nobody drives. It climbs from the coast past the Christe Eleison and Kyrie Eleison peaks to the ski station at 1,600 m under Monte Renoso. Empty, enormous, and the drive is the attraction."),
F("Lunch", "Ghisoni, or a picnic at the ski station."),
F("Afternoon", "East to Aleria: Greek from the 6th century BC, then Roman, then the capital of the province of Corsica et Sardinia. Forum, baths, and a good museum in the Genoese fort. The Étang de Diane two kilometres away is all oyster shacks, so eat your picnic at the ski station instead and just look at the lagoon."),
F("By 18:00", "North up the coast and check in near Bastia. You are not catching a boat today — that is the whole point.", True),
F("Evening", "Swim, cook, pack properly, and sleep twenty minutes from the ferry gate."),
],
16: [
F("The buffer", "If the last fortnight went to plan, this is a gift. If it did not — a closed road, a storm, a hike that overran, a day lost to a garage — this is the day that absorbed it, and you still make the boat."),
F("Morning, if all is well", "The D71 into the Castagniccia: chestnut forest, empty hill villages, and the roofless shell of the Couvent d'Orezza, founded in 1485 and abandoned at the Revolution. Genuinely narrow and twisty — allow twice what the map says."),
F("Lunch", "Anywhere with a terrace. This is the last one."),
F("Afternoon", "Back to Bastia. Fuel up, wash the van if it is a rental, and do the taking-home shop: chestnut flour, olive oil, clementines, myrtle liqueur, canistrelli — most are made with wine and oil rather than butter, but read the packet."),
F("Check in for the ferry", "Two hours before sailing for a vehicle. Have the booking on paper as well as your phone.", True),
],
}