# Verde — dove un nuovo parco servirebbe di più a Taranto: il metodo

*Documento generato dal calcolo del 2026-11-09; servito tale e quale dal sito. Codice e test in `dossier/analisi/verde/`.*

## 1. La domanda

In quale ettaro del Comune di Taranto un nuovo spazio verde pubblico **servirebbe di più**? La mappa risponde a questa domanda e solo a questa: non dice dove un parco si può fare (proprietà, bonifiche, costi e progetti non sono nei dati), dice dove il bisogno misurabile è più alto, con numeri che chiunque può rifare dagli stessi dati aperti.

## 2. In breve, per tutti

Il comune è diviso in quadrati di 100 metri di lato: un ettaro ciascuno, 24.698 ettari in tutto. Per ogni ettaro si misurano quattro cose: quanto è **caldo** il suolo d'estate rispetto alla media della città; quante **persone** vivono entro cinque minuti a piedi; quante di loro sono **bambini o anziani**; quanto **verde manca** davvero intorno. Si tolgono gli ettari dove un parco non si può fare (acqua, suolo già occupato, vincoli, zone già verdi, nessun residente vicino). Agli ettari rimasti — 2.711 — si dà un punteggio da 0 a 1 e li si ordina. I primi 50 sono spiegati uno per uno, in frasi.

## 3. Quadro di riferimento

Il disegno segue il quadro di Norton et al. (2015) per dare priorità alle infrastrutture verdi contro il caldo urbano: prima dove le temperature superficiali sono più alte, poi dove le persone esposte — e le più fragili — sono di più, poi dove il verde esistente è più scarso; e solo dove c'è suolo su cui intervenire. La combinazione dei criteri è una somma pesata di valori normalizzati (Malczewski, 2006), con pesi pubblicati e variati per misurarne l'effetto (Chen, Yu & Khan, 2010). La soglia di accesso al verde — uno spazio pubblico di almeno 0,5 ha entro 300 m da casa — è quella dell'OMS Europa (2016) e della regola 3-30-300 (Konijnendijk, 2023).

## 4. Dati

| dato | fonte | periodo | risoluzione | accesso |
|---|---|---|---|---|
| temperatura della superficie (LST) | USGS Landsat 8/9 Collection 2 Level-2, banda ST_B10, letta via Microsoft Planetary Computer | estati 2024–2026, 55 passaggi limpidi | 30 m (termico nativo 100 m) | aperto, senza account |
| vegetazione (NDVI) | ESA Sentinel-2 L2A Collection 1, bande B04/B08 e SCL, via Earth Search (AWS) | estati 2025–2026, 23 passaggi | 10 m | aperto, senza account |
| copertura del suolo | ESA WorldCover v200 | 2021 | 10 m | aperto |
| residenti per età | ISTAT, Censimento permanente 2021, sezioni di censimento (1.322 sezioni, 189.461 residenti) | 2021 | sezione | aperto |
| confine comunale | ISTAT, confini amministrativi al 1° gennaio 2026 | 2026 | — | aperto |
| parchi, edifici, strade, acqua, usi esclusi | OpenStreetMap (Overpass) | 2026-11-09 | vettoriale | ODbL |
| PPTR, SIN, vincoli storico-culturali | Regione Puglia, servizi SIT (PPTR approvato, SIN, Vincoli) | 2026-11-09 | vettoriale | aperto |

## 5. Come si calcola

### 5.1 Griglia

Celle di 100 m in EPSG:32633 (UTM 33 N), origine allineata ai 100 m. Una cella appartiene al comune se il suo centro è dentro il confine ISTAT.

### 5.2 Caldo

Per ogni passaggio Landsat: kelvin = DN × 0.00341802 + 149.0; pixel utilizzabile se DN > 0, nessun bit QA fra riempimento, nube dilatata, cirri, nube, ombra, e temperatura fra -5 e 70 °C. Per cella: media dei pixel utilizzabili, tenuta se coprono almeno il 50 % della cella. Composito: mediana per cella sui passaggi di giugno–agosto, tenuta con almeno 3 passaggi. **Anomalia** = mediana della cella − mediana delle celle dei centri abitati (ISTAT, almeno metà cella; non acqua): 45,5 °C. Il riferimento è la città abitata e non l'intero comune (47,2 °C di mediana sul suolo comunale) perché d'estate, a metà mattina, i campi secchi intorno a Taranto sono più caldi delle sue strade: con il comune come riferimento ogni quartiere risulterebbe «fresco» e il confronto fra quartieri, che è ciò che serve, si perderebbe. Il prodotto LST è quello operativo di USGS (Malakar et al., 2018; Cook et al., 2014): non si ricava la temperatura dalla radianza, si usano i numeri validati.

### 5.3 Vegetazione

Riflettanza = DN × scala + offset (dai metadati; Collection 1: 10⁻⁴ e −0,1). NDVI = (NIR − rosso)/(NIR + rosso) (Tucker, 1979). Pixel utilizzabile se entrambe le bande > 0 e SCL ∈ {4, 5, 6, 7}. Un pixel è **vegetato** se NDVI > 0.3. Per cella: quota di pixel vegetati, mediana sui passaggi (almeno 3). A 10 m: un pixel è vegetato se lo è in almeno il 50 % dei passaggi utili; questa è la mappa «verde reale».

### 5.4 Persone

Residenti totali (P1), 0–14 anni (P14–P16) e 65+ (P27–P29) per sezione di censimento, distribuiti sulle celle che la sezione copre in proporzione a (area di sovrapposizione × (0.1 + quota di costruito WorldCover della cella)): le persone vanno dove ci sono gli edifici, con un minimo perché nessuna cella coperta resti a zero. I totali per sezione sono conservati esattamente (189.461 = 189.461). «Entro 300 m» = somma sulle celle il cui centro dista ≤ 300 m dal centro della cella (29 celle, 0,29 km²).

### 5.5 Verde che manca

Verde pubblico = poligoni OpenStreetMap di parchi, giardini, aree gioco, aree ricreative, riserve, verde di quartiere (esclusi quelli ad accesso privato), di almeno 0.5 ha: 39 a Taranto. Ciascuno riceve la **quota vegetata misurata** dal satellite a 10 m (mediana 76 %; 13 parchi sono vegetati per meno di metà). Per ogni cella: distanza dal parco più vicino (dal centro della cella al bordo), ettari di verde pubblico entro 300 m e **ettari effettivi** = somma (area del parco nel cerchio × quota vegetata). Deficit di accesso = 1 − min(1, ettari effettivi / 1). Deficit di copertura = max(0, (30 % − quota vegetata entro 300 m) / 30 %). Verde che manca = media dei due.

### 5.6 Chi è candidato

Una cella è candidata se: è nel comune; non è acqua (Landsat, WorldCover, OpenStreetMap); ha almeno 100 residenti entro 300 m; ha almeno il 30 % di suolo libero (non edifici, strade, ferrovie, acqua, usi esclusi: militare, industriale, portuale, cave, discariche, cimiteri, impianti); nessun vincolo archeologico o storico-culturale oltre il 10 % della cella; non è già verde (vegetazione, verde OSM e boschi PPTR tutti sotto il 50 %); ha una temperatura estiva. Il perimetro del SIN e le aree di notevole interesse pubblico non escludono: sono segnalati cella per cella, perché prima di piantare lì vanno verificati suolo e autorizzazioni.

Esclusi per motivo (una cella può contarne più d'uno): acqua 2.394; nessun residente entro 300 m 20.766; suolo già occupato 3.507; vincolo storico-culturale 385; già verde 8.249; senza temperatura estiva 0. Candidati: **2.711**.

### 5.7 Punteggio

Ogni criterio è normalizzato fra il 5° e il 95° percentile dei candidati e tagliato a [0, 1]; il punteggio è la somma pesata:

| criterio | peso | p5 → p95 (valori grezzi) |
|---|---|---|
| caldo (anomalia °C) | 35 % | -3,38 → 3,81 |
| persone entro 300 m | 25 % | 141,49 → 6.727,61 |
| bambini + anziani entro 300 m | 15 % | 48,55 → 2.588,55 |
| verde che manca (0–1) | 25 % | 0,27 → 0,89 |

Le cinque classi della mappa sono i quintili del punteggio fra i candidati: bisogno basso, bisogno medio, bisogno alto, bisogno molto alto, bisogno massimo.

### 5.8 Sensibilità ai pesi

| pesatura | caldo / persone / fragili / verde | ρ di Spearman con la pesatura base | primi 50 in comune |
|---|---|---|---|
| equal | 25 % / 25 % / 25 % / 25 % | 0.981 | 46 su 50 |
| heat_first | 50 % / 20 % / 10 % / 20 % | 0.967 | 44 su 50 |
| people_first | 20 % / 40 % / 20 % / 20 % | 0.94 | 45 su 50 |

39 celle restano fra le prime 50 con tutte e quattro le pesature.

## 6. I siti strategici

La mappa del bisogno dice dove il bisogno è più alto; i siti dicono dove un parco **cambierebbe di più**, tenendo conto che parchi vicini si contendono le stesse persone: è il problema della copertura massima (Church e ReVelle, 1974), risolto con la procedura golosa, trasparente passo per passo. Servito = cella abitata il cui centro dista ≤ 300 m da un'area verde pubblica ≥ 0.5 ha. Sito = ettaro candidato con almeno il 50 % di suolo libero. Un parco nel sito serve le celle il cui centro dista ≤ 300 m dal suo quadrato (100 m di lato). Guadagno = residenti delle celle servite dal sito e non ancora servite. Si sceglie il guadagno massimo (a parità: più bambini e anziani, poi più caldo), si segna, si ripete; al massimo 20 siti, stop sotto 300 persone nuove. Controllo: lo stesso calcolo massimizzando bambini e anziani, e il confronto fra le due liste.

Oggi 49.875 tarantini su 189.461 (26 %) hanno un parco pubblico di almeno mezzo ettaro entro 300 metri da casa. Con 10 parchi nei punti giusti sarebbero 126.316 (67 %).

Con tutti i 20 siti: 146.089 residenti serviti (77 %). Ettari ammessi come sito: 2.489. Sensibilità: 10 dei primi 10 siti hanno, entro 300 m, un sito della lista calcolata su bambini e anziani.

| n. | quartiere | via | persone nuove a 5 min | di cui bambini e anziani | serviti, cumulato |
|---|---|---|---|---|---|
| 1 | Tre Carrare | Via D'Alo Alfieri | 14.586 | 5.295 | 34 % |
| 2 | Montegranaro | Via Lombardia | 12.547 | 5.293 | 41 % |
| 3 | Borgo Umbertino | Via Felice Cavallotti | 9.497 | 3.308 | 46 % |
| 4 | Solito-Corvisea | Via Plateja | 9.447 | 3.825 | 51 % |
| 5 | Tamburi | Via Torquato Tasso | 7.942 | 2.907 | 55 % |
| 6 | Italia | Via Umbria | 6.296 | 2.558 | 58 % |
| 7 | Talsano | Via Sanguzza | 4.524 | 1.649 | 61 % |
| 8 | Montegranaro | Via Lago di Varano | 4.401 | 1.850 | 63 % |
| 9 | Tamburi | Via Le Citrezze | 4.052 | 1.436 | 65 % |
| 10 | Tre Carrare | Vicolo Vincenzo Cuoco | 3.148 | 1.170 | 67 % |
| 11 | Salinella | Via Lago di Montepulciano | 2.921 | 1.115 | 68 % |
| 12 | Lama | Via Brigantini | 2.429 | 763 | 70 % |
| 13 | Talsano | Via Michelangelo Caravaggio | 2.344 | 825 | 71 % |
| 14 | Salinella | Via Ancona | 2.206 | 946 | 72 % |
| 15 | Quartiere Paolo VI | Viale Pietro Nenni | 2.018 | 737 | 73 % |
| 16 | Quartiere Paolo VI | Viale Venticinque Aprile | 1.820 | 585 | 74 % |
| 17 | Talsano | Via Eugenio Montale | 1.551 | 533 | 75 % |
| 18 | Lama | Via Begonie | 1.505 | 617 | 76 % |
| 19 | Quartiere Paolo VI | via Michele Delvecchio | 1.498 | 548 | 76 % |
| 20 | Talsano | Via Giuseppe Abbati | 1.481 | 518 | 77 % |

Un sito è un'ipotesi («qui un parco raggiungerebbe tante persone»), non un progetto: non dice che il suolo sia disponibile. SIN e vincoli paesaggistici sono segnalati sito per sito.

## 7. Il tracciatore e il modello di raffrescamento

Sulla mappa si può disegnare un parco, scegliere la quota di suolo vegetato a maturità e leggere che cosa ne prevede un modello costruito sui dati di Taranto. Il modello è una regressione lineare della temperatura di superficie (mediana estiva Landsat, °C) di ogni ettaro abitato su: quota vegetata dell'ettaro (veg0), quota vegetata entro 300 m (veg300), quota dell'ettaro dentro un parco pubblico ≥ 0,5 ha (park0), quota di parco entro 300 m (park300), quota di edifici (built0), quota di strade (road0), quota d'acqua entro 300 m (water300), log(1 + metri dal mare).

| variabile | effetto (°C per unità) | intervallo 90 % (bootstrap a blocchi) |
|---|---|---|
| veg0 | -2,74 | -2,91 → -2,58 |
| veg300 | -3,96 | -4,85 → -3,06 |
| park0 | -0,82 | -1,67 → -0,18 |
| park300 | -0,11 | -1,40 → +1,10 |
| built0 | -4,88 | -6,12 → -3,80 |
| road0 | -4,11 | -4,96 → -3,32 |
| water300 | -12,54 | -13,96 → -10,87 |
| log_dist_sea | +0,88 | +0,70 → +1,09 |

Celle: 18.311. R² 60 % in campione, **58 % fuori campione** (validazione incrociata spaziale, 5 blocchi da 1000 m); errore tipico fuori campione 1,94 °C. I di Moran dei residui 0.801 (della temperatura 0.8306): per questo gli intervalli vengono dal bootstrap a blocchi spaziali (500 rifit) e non dagli errori standard classici, da tre a nove volte più stretti. Termine quadratico sul verde provato e scartato: errore fuori campione 1.942 contro 1.943.

In parole: +10 punti di suolo vegetato nell'ettaro ≈ -0,27 °C; +10 punti nei 300 m ≈ -0,40 °C; un ettaro interamente dentro un parco ≈ -0,82 °C oltre il suo verde.

Verifica sui parchi esistenti (osservata contro prevista nelle loro celle; PCI = differenza con l'anello 200–500 m non vegetato):

| parco | ha | vegetato | osservata °C | prevista °C | scarto | PCI |
|---|---|---|---|---|---|---|
| Oasi regionale WWF palude La Vela | 121,8 | 48 % | 38.73 | 41.02 | -2.29 | 8.43 |
| Parco Cimino | 10,6 | 99 % | 38.45 | 39.49 | -1.04 | 9.42 |
| Parco del Mirto | 8,7 | 75 % | 45.9 | 45.69 | 0.22 | 2.8 |
| Parco Archeologico delle Mura Greche "Massimo Battista" | 8,5 | 42 % | 47.7 | 46.63 | 1.07 | -1.5 |
| Giardini Peripato | 4,5 | 82 % | 39.85 | 41.94 | -2.09 | 3.68 |
| Giardini Antonio De Curtis | 1,6 | 96 % | 43.64 | 45.84 | -2.19 | 2.61 |
| Giardini Virgilio | 1,5 | 45 % | 44.77 | 45.16 | -0.39 | 0.6 |
| Giardini Cordelia Jannelli | 1,3 | 62 % | 45.7 | 45.29 | 0.4 | 1.73 |
| (senza nome) | 1,3 | 6 % | 48.78 | 47.58 | 1.2 | -0.35 |
| Giardini Garibaldi | 1,2 | 80 % | 42.08 | 44.49 | -2.41 | -0.66 |
| Parco della Gioia di Mister Sorriso | 0,9 | 6 % | 46.88 | 46.84 | 0.04 | -1.54 |
| Parco Sant Egidio | 0,8 | 67 % | 45.27 | 45.61 | -0.34 | 2.03 |
| Giardini Cremonesi | 0,6 | 98 % | 44.29 | 44.84 | -0.55 | 1.45 |

Scarto medio nei parchi: **-0.64 °C** (± 1.22): il modello resta prudente.

Applicazione: il poligono è proiettato in UTM 33 N (Snyder, 1987) e ritagliato su ogni ettaro; nell'ettaro toccato la quota vegetata diventa la media pesata fra attuale e scelta e la quota di parco cresce della frazione coperta; per ogni ettaro entro 300 m si ricalcolano le quote del vicinato; la variazione è la somma dei termini del modello, ripetuta su ogni rifit del bootstrap (5° e 95° percentile). Persone = residenti degli ettari con centro entro 300 m da un ettaro toccato; «oggi senza parco» se nessuna area verde pubblica ≥ 0,5 ha è a quella distanza, e solo se il disegno raggiunge il mezzo ettaro.

Limiti: temperatura della superficie a metà mattina, non l'aria; modello correlazionale, l'estrapolazione a un parco nuovo è sostenuta dai parchi esistenti ma non dimostrata; la quota vegetata «a maturità» arriva dopo anni; il suolo deve essere davvero libero.

## 8. I parchi, misurati

| parco | tipo | ettari | vegetato (satellite, estate) |
|---|---|---|---|
| Oasi regionale WWF palude La Vela | nature_reserve | 121,8 | 48 % |
| Pineta Comunale Frantella | park | 42,1 | 99 % |
| Gravina di Riggio | park | 23,9 | 79 % |
| Parco Cimino | park | 10,6 | 99 % |
| Parco del Mirto | park | 8,7 | 75 % |
| Parco Archeologico delle Mura Greche "Massimo Battista" | park | 8,5 | 42 % |
| Giardini Peripato | park | 4,5 | 82 % |
| (senza nome) | park | 3,2 | 85 % |
| Parco Madre Teresa di Calcutta | park | 2,3 | 95 % |
| Giardini Antonio De Curtis | park | 1,6 | 96 % |
| Parco Rimembranza | park | 1,5 | 97 % |
| Giardini Virgilio | park | 1,5 | 45 % |
| Giardini Cordelia Jannelli | park | 1,3 | 62 % |
| (senza nome) | park | 1,3 | 6 % |
| Cacace | park | 1,2 | — |
| Giardini Garibaldi | park | 1,2 | 80 % |
| Parco della Musica Giandomenico Caramia | playground | 1,1 | 49 % |
| (senza nome) | park | 1,1 | 80 % |
| Parco della Civiltà | park | 1,0 | 83 % |
| (senza nome) | recreation_ground | 1,0 | 66 % |
| 8KBG | park | 1,0 | 92 % |
| Parco della Gioia di Mister Sorriso | park | 0,9 | 6 % |
| Parco UNICEF | park | 0,9 | 56 % |
| (senza nome) | park | 0,9 | 8 % |
| Parco Sant Egidio | park | 0,8 | 67 % |
| Parco Madre Teresa di Calcutta | park | 0,8 | — |
| Villa Comunale | park | 0,7 | 93 % |
| Giardini Enrico Berlinguer | park | 0,7 | 2 % |
| (senza nome) | park | 0,7 | 79 % |
| (senza nome) | garden | 0,7 | 77 % |
| (senza nome) | park | 0,7 | 5 % |
| Parco comunale Schiavoni | park | 0,6 | — |
| Giardini Cremonesi | park | 0,6 | 98 % |
| Piazza Giubileo | park | 0,6 | 12 % |
| Parco "Monte Della Croce" | park | 0,6 | 43 % |
| (senza nome) | garden | 0,6 | 91 % |
| (senza nome) | park | 0,6 | 88 % |
| Giardino Maresciallo Francesco Mignozzi | park | 0,5 | 11 % |
| Parco Aldo Moro | park | 0,5 | 7 % |

Celle abitate entro 300 m da un parco di almeno 0.5 ha: 5 % (distanza mediana 2.351 m).

## 9. Limiti dichiarati

- È una mappa del **bisogno**, non della fattibilità: proprietà dei suoli, contaminazione (il SIN è segnalato, non modellato), costi e progetti in corso non entrano nel punteggio.
- La temperatura è quella della **superficie** a metà mattina (~9:30 UTC), non l'aria respirata; la banda termica Landsat nasce a 100 m ed è ricampionata a 30 m.
- Solo estate e solo cielo sereno.
- I parchi vengono da OpenStreetMap: ciò che non è mappato non esiste per il calcolo; ciò che è mappato è pesato per quanto è davvero vegetato.
- Le persone sono i **residenti** del 2021: chi lavora o studia in zona non c'è.
- I pesi sono scelte dichiarate e variate; restano scelte.

## 10. Riferimenti

1. Norton B.A., Coutts A.M., Livesley S.J., Harris R.J., Hunter A.M., Williams N.S.G. (2015). Planning for cooler cities: A framework to prioritise green infrastructure to mitigate high temperatures in urban landscapes. *Landscape and Urban Planning* 134, 127–138. doi:10.1016/j.landurbplan.2014.10.018
2. Bowler D.E., Buyung-Ali L., Knight T.M., Pullin A.S. (2010). Urban greening to cool towns and cities: A systematic review of the empirical evidence. *Landscape and Urban Planning* 97, 147–155. doi:10.1016/j.landurbplan.2010.05.006
3. Reid C.E. et al. (2009). Mapping Community Determinants of Heat Vulnerability. *Environmental Health Perspectives* 117(11), 1730–1736. doi:10.1289/ehp.0900683
4. Konijnendijk C.C. (2023). Evidence-based guidelines for greener, healthier, more resilient neighbourhoods: Introducing the 3–30–300 rule. *Journal of Forestry Research* 34, 821–830. doi:10.1007/s11676-022-01523-z
5. WHO Regional Office for Europe (2016). Urban green spaces and health: a review of evidence. Copenhagen.
6. Malakar N.K., Hulley G.C., Hook S.J., Laraby K., Cook M., Schott J.R. (2018). An Operational Land Surface Temperature Product for Landsat Thermal Data: Methodology and Validation. *IEEE TGRS* 56(10), 5717–5735. doi:10.1109/TGRS.2018.2824828
7. Cook M., Schott J.R., Mandel J., Raqueno N. (2014). Development of an Operational Calibration Methodology for the Landsat Thermal Data Archive and Initial Testing of the Atmospheric Compensation Component of a Land Surface Temperature (LST) Product. *Remote Sensing* 6(11), 11244–11266. doi:10.3390/rs61111244
8. Tucker C.J. (1979). Red and photographic infrared linear combinations for monitoring vegetation. *Remote Sensing of Environment* 8(2), 127–150. doi:10.1016/0034-4257(79)90013-0
9. Voogt J.A., Oke T.R. (2003). Thermal remote sensing of urban climates. *Remote Sensing of Environment* 86(3), 370–384. doi:10.1016/S0034-4257(03)00079-8
10. Oke T.R. (1982). The energetic basis of the urban heat island. *Q. J. R. Meteorol. Soc.* 108(455), 1–24. doi:10.1002/qj.49710845502
11. Zardo L., Geneletti D., Pérez-Soba M., Van Eupen M. (2017). Estimating the cooling capacity of green infrastructures to support urban planning. *Ecosystem Services* 26, 225–235. doi:10.1016/j.ecoser.2017.06.016
12. Aram F., Higueras García E., Solgi E., Mansournia S. (2019). Urban green space cooling effect in cities. *Heliyon* 5(4), e01339. doi:10.1016/j.heliyon.2019.e01339
13. Malczewski J. (2006). GIS-based multicriteria decision analysis: a survey of the literature. *IJGIS* 20(7), 703–726. doi:10.1080/13658810600661508
14. Roberts D.R. et al. (2017). Cross-validation strategies for data with temporal, spatial, hierarchical, or phylogenetic structure. *Ecography* 40(8), 913–929. doi:10.1111/ecog.02881
15. Moran P.A.P. (1950). Notes on continuous stochastic phenomena. *Biometrika* 37(1–2), 17–23. doi:10.1093/biomet/37.1-2.17
16. Snyder J.P. (1987). Map Projections: A Working Manual. *USGS Professional Paper* 1395. doi:10.3133/pp1395
17. Church R.L., ReVelle C.S. (1974). The maximal covering location problem. *Papers of the Regional Science Association* 32, 101–118. doi:10.1007/BF01942293
18. Chen Y., Yu J., Khan S. (2010). Spatial sensitivity analysis of multi-criteria weights in GIS-based land suitability evaluation. *Environmental Modelling & Software* 25(12), 1582–1591. doi:10.1016/j.envsoft.2010.06.001
19. Zanaga D. et al. (2022). ESA WorldCover 10 m 2021 v200. doi:10.5281/zenodo.7254221
20. D.M. 2 aprile 1968, n. 1444, art. 3: 9 m² di verde pubblico per abitante.

## 11. Rifarlo

```
cd dossier/analisi/verde
python -m pytest                      # i test di ogni passo
python -m pipeline.boundary           # confine e griglia
python -m pipeline.lst                # temperatura Landsat
python -m pipeline.ndvi               # vegetazione Sentinel-2 (+ maschera 10 m)
python -m pipeline.worldcover         # copertura del suolo
python -m pipeline.people             # censimento → persone per cella
python -m pipeline.osm_fetch && python -m pipeline.osm      # OpenStreetMap
python -m pipeline.pptr_fetch && python -m pipeline.pptr    # Regione Puglia
python -m pipeline.access             # parchi misurati, distanze
python -m pipeline.score              # candidati, punteggio, sensibilità, file per il sito
python -m pipeline.export_veg         # la mappa «verde reale»
python -m pipeline.sites              # i siti strategici (copertura massima)
python -m pipeline.cooling            # il modello di raffrescamento e le celle per il tracciatore
python -m pipeline.write_metodo       # questo documento
```

File pubblici: `static/verde/cells.csv` e `cells.json` (ogni ettaro candidato), `top.json` (i primi 50, con le frasi), `priority.json` (parametri, soglie, sensibilità), `parchi.geojson`.

