input(relation: 'all-cities', name: 'city') as cities_input
 -> select({city}) as cities
 -> join(on: true) as cities_and_countries
 -> select({*, sample_centroid(geometry: city, coverage: countries).name as country})
 -> select({*}) as sampled
 -> select({*, consequence: map(country, hv -> is_exposed(city, hv))})
 -> select({*}) as raw_results
 -> select({*}) as event_impact_table

input(relation: 'countries', name: 'country') as countries_input
 -> group({to_coverage(country) as countries}) as countries
 -> cities_and_countries.rhs

cities_input -> save('cities')
countries_input -> save('countries')
raw_results -> save('raw-results', format: 'geojson')
event_impact_table -> save('results')
