{
 "dataset": {
  "version": "2026-11-05",
  "builtAt": "2026-11-05T15:34:08.779Z",
  "licence": "CC-BY-4.0",
  "licenceUrl": "https://creativecommons.org/licenses/by/4.0/",
  "licenceNote": "Borgo's compilation is licensed CC BY 4.0. Each figure keeps its source's own terms and attribution, listed in data/licences.json; reuse a figure under those terms.",
  "licences": "https://borgo.abcastor.com/data/licences.json",
  "otherParts": [
   {
    "part": "odbl",
    "licence": {
     "id": "ODbL-1.0",
     "name": "Open Database License 1.0",
     "url": "https://opendatacommons.org/licenses/odbl/1-0/"
    },
    "file": "https://borgo.abcastor.com/data/dataset-odbl.json",
    "city": "https://borgo.abcastor.com/api/odbl/city/{id}.json"
   },
   {
    "part": "who",
    "licence": {
     "id": "WHO-data",
     "name": "WHO terms and conditions for data compilations",
     "url": "https://www.who.int/about/policies/publishing/data-policy/terms-and-conditions"
    },
    "file": "https://borgo.abcastor.com/data/dataset-who.json",
    "city": "https://borgo.abcastor.com/api/who/city/{id}.json"
   },
   {
    "part": "cmhc",
    "licence": {
     "id": "CMHC-data",
     "name": "CMHC Licence Agreement for the Use of Data",
     "url": "https://www.cmhc-schl.gc.ca/about-us/terms-conditions/hmip-terms-conditions"
    },
    "file": "https://borgo.abcastor.com/data/dataset-cmhc.json",
    "city": "https://borgo.abcastor.com/api/cmhc/city/{id}.json"
   }
  ],
  "creator": "Castor",
  "fx": {
   "base": "EUR",
   "date": "2026-10-26",
   "source": "ecb-fx"
  }
 },
 "id": "oslo-no",
 "name": "Oslo",
 "country": {
  "code": "NO",
  "name": "Norway",
  "currency": "NOK"
 },
 "region": null,
 "lat": 59.91273,
 "lon": 10.74609,
 "population": 1082575,
 "wikidata": null,
 "geonames": "3143244",
 "page": "https://borgo.abcastor.com/city/oslo-no/",
 "markdown": "https://borgo.abcastor.com/city/oslo-no/index.md",
 "keyFacts": [
  "Oslo has about 1,082,575 residents (GeoNames).",
  "On a gross salary of NOK 630,000 a year, an employee in Oslo takes home about NOK 475,737 a year (NOK 39,645 a month) after income tax and employee contributions, an effective rate of 24.5% (Norway 2026 rules).",
  "A one-bedroom home in Oslo rents for about NOK 15,260 a month (metro area figure; Rental market survey (Statistics Norway table 09895), Statistics Norway (SSB), 2025).",
  "In Oslo the average daily high (air temperature in the shade) peaks at 21.4 °C in July and the average daily low falls to −6.6 °C in January (Historical weather (ERA5 reanalysis), Open-Meteo, 2021-2025).",
  "Oslo has about 21 nice days a year, days that are dry, mostly clear and feel 18 to 30 °C on average from 8 am to 8 pm, most of them in June (7) (Historical weather (ERA5 reanalysis), Open-Meteo, 2021-2025).",
  "Between 2021 and 2025 the air in Oslo reached 30.5 °C at its hottest and −27.9 °C at its coldest (Historical weather (ERA5 reanalysis), Open-Meteo).",
  "It rains or snows (at least 1 mm) on about 128 days a year in Oslo (Historical weather (ERA5 reanalysis), Open-Meteo, 2021-2025).",
  "The shortest day in Oslo lasts 5 h 54 min and the longest 18 h 50 min (computed from latitude).",
  "Everyday prices in Norway sit at 96.2 on an index where the United States is 100 (World Development Indicators, World Bank, 2025).",
  "Life expectancy at birth in Norway is 83.2 years (World Development Indicators, World Bank, 2024).",
  "Norway records 0.72 intentional homicides per 100,000 people a year (World Development Indicators, World Bank, 2023).",
  "Besides citizens of Norway, citizens of 29 other countries under EU and EEA free movement and of Switzerland (Swiss-EU free movement) can live and work in Oslo without a visa."
 ],
 "figures": [
  {
   "metric": "rent_1bed",
   "label": "Rent, one bedroom",
   "description": "What a one-bedroom home costs to rent each month, from official rent statistics that measure either asking rents or the rents of all tenancies, with or without utilities, as each figure's source says.",
   "value": 15260,
   "text": "NOK 15,260 a month",
   "unit": "NOK/month",
   "period": "2025",
   "level": "metro",
   "retrieved": "2026-11-05",
   "method": "source",
   "sources": [
    {
     "id": "ssb-rent",
     "name": "Rental market survey (Statistics Norway table 09895)",
     "publisher": "Statistics Norway (SSB)",
     "url": "https://www.ssb.no/en/statbank/table/09895",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://www.ssb.no/en/diverse/lisens"
    }
   ],
   "note": "Oslo and Bærum, 2-room homes (one bedroom), average monthly rent of every tenancy surveyed (SSB table 09895)",
   "levelText": "metro area"
  },
  {
   "metric": "rent_3bed",
   "label": "Rent, three bedrooms",
   "description": "What a three-bedroom home costs to rent each month, from official rent statistics that measure either asking rents or the rents of all tenancies, with or without utilities, as each figure's source says.",
   "value": 23200,
   "text": "NOK 23,200 a month",
   "unit": "NOK/month",
   "period": "2025",
   "level": "metro",
   "retrieved": "2026-11-05",
   "method": "source",
   "sources": [
    {
     "id": "ssb-rent",
     "name": "Rental market survey (Statistics Norway table 09895)",
     "publisher": "Statistics Norway (SSB)",
     "url": "https://www.ssb.no/en/statbank/table/09895",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://www.ssb.no/en/diverse/lisens"
    }
   ],
   "note": "Oslo and Bærum, 4-room homes (three bedrooms), average monthly rent of every tenancy surveyed (SSB table 09895)",
   "levelText": "metro area"
  },
  {
   "metric": "childcare_fees_1",
   "label": "Childcare fees, one child",
   "description": "What full-time childcare for one child aged 2 or 3 costs in fees a year, before any public support, in the place the OECD tax-benefit model takes as typical for the country.",
   "value": 13200,
   "text": "NOK 13,200 a year",
   "unit": "NOK/year",
   "period": "2026",
   "level": "country",
   "retrieved": "2026-11-04T23:14:49.338Z",
   "method": "source",
   "sources": [
    {
     "id": "oecd-childcare",
     "name": "OECD Tax-Benefit Models: net childcare costs",
     "publisher": "OECD",
     "url": "https://www.oecd.org/en/data/indicators/net-childcare-costs.html",
     "licence": "OECD terms for data (any use, with citation)",
     "licenceUrl": "https://www.oecd.org/en/about/terms-conditions.html"
    }
   ],
   "note": "Fees for one child aged 2 or 3 in full-time care, before support (OECD tax-benefit model)",
   "levelText": "Norway-wide"
  },
  {
   "metric": "childcare_fees_2",
   "label": "Childcare fees, two children",
   "description": "Fees a year for full-time childcare for two children aged 2 and 3, before any public support (OECD tax-benefit model).",
   "value": 26400,
   "text": "NOK 26,400 a year",
   "unit": "NOK/year",
   "period": "2026",
   "level": "country",
   "retrieved": "2026-11-04T23:14:49.338Z",
   "method": "source",
   "sources": [
    {
     "id": "oecd-childcare",
     "name": "OECD Tax-Benefit Models: net childcare costs",
     "publisher": "OECD",
     "url": "https://www.oecd.org/en/data/indicators/net-childcare-costs.html",
     "licence": "OECD terms for data (any use, with citation)",
     "licenceUrl": "https://www.oecd.org/en/about/terms-conditions.html"
    }
   ],
   "note": "Fees for two children aged 2 and 3 in full-time care, before support (OECD tax-benefit model)",
   "levelText": "Norway-wide"
  },
  {
   "metric": "childcare_net_couple_1",
   "label": "Childcare, net of support: couple, one child",
   "description": "What full-time childcare for one child aged 2 or 3 costs a two-earner couple (on 100% and 67% of the average wage) a year after childcare benefits, tax breaks and other benefit changes (OECD net childcare cost).",
   "value": 10296,
   "text": "NOK 10,296 a year",
   "unit": "NOK/year",
   "period": "2026",
   "level": "country",
   "retrieved": "2026-11-04T23:14:49.338Z",
   "method": "source",
   "sources": [
    {
     "id": "oecd-childcare",
     "name": "OECD Tax-Benefit Models: net childcare costs",
     "publisher": "OECD",
     "url": "https://www.oecd.org/en/data/indicators/net-childcare-costs.html",
     "licence": "OECD terms for data (any use, with citation)",
     "licenceUrl": "https://www.oecd.org/en/about/terms-conditions.html"
    }
   ],
   "note": "Net cost after childcare benefits, tax breaks and other benefit changes: couple on 100% and 67% of the average wage",
   "levelText": "Norway-wide"
  },
  {
   "metric": "childcare_net_couple_2",
   "label": "Childcare, net of support: couple, two children",
   "description": "What full-time childcare for two children aged 2 and 3 costs a two-earner couple (on 100% and 67% of the average wage) a year after childcare benefits, tax breaks and other benefit changes (OECD net childcare cost).",
   "value": 17503,
   "text": "NOK 17,503 a year",
   "unit": "NOK/year",
   "period": "2026",
   "level": "country",
   "retrieved": "2026-11-04T23:14:49.338Z",
   "method": "source",
   "sources": [
    {
     "id": "oecd-childcare",
     "name": "OECD Tax-Benefit Models: net childcare costs",
     "publisher": "OECD",
     "url": "https://www.oecd.org/en/data/indicators/net-childcare-costs.html",
     "licence": "OECD terms for data (any use, with citation)",
     "licenceUrl": "https://www.oecd.org/en/about/terms-conditions.html"
    }
   ],
   "note": "Net cost after childcare benefits, tax breaks and other benefit changes: couple on 100% and 67% of the average wage",
   "levelText": "Norway-wide"
  },
  {
   "metric": "childcare_net_single_1",
   "label": "Childcare, net of support: single parent, one child",
   "description": "What full-time childcare for one child aged 2 or 3 costs a single parent on the average wage a year after childcare benefits, tax breaks and other benefit changes (OECD net childcare cost).",
   "value": 10296,
   "text": "NOK 10,296 a year",
   "unit": "NOK/year",
   "period": "2026",
   "level": "country",
   "retrieved": "2026-11-04T23:14:49.338Z",
   "method": "source",
   "sources": [
    {
     "id": "oecd-childcare",
     "name": "OECD Tax-Benefit Models: net childcare costs",
     "publisher": "OECD",
     "url": "https://www.oecd.org/en/data/indicators/net-childcare-costs.html",
     "licence": "OECD terms for data (any use, with citation)",
     "licenceUrl": "https://www.oecd.org/en/about/terms-conditions.html"
    }
   ],
   "note": "Net cost after childcare benefits, tax breaks and other benefit changes: single parent on the average wage",
   "levelText": "Norway-wide"
  },
  {
   "metric": "childcare_net_single_2",
   "label": "Childcare, net of support: single parent, two children",
   "description": "What full-time childcare for two children aged 2 and 3 costs a single parent on the average wage a year after childcare benefits, tax breaks and other benefit changes (OECD net childcare cost).",
   "value": 17503,
   "text": "NOK 17,503 a year",
   "unit": "NOK/year",
   "period": "2026",
   "level": "country",
   "retrieved": "2026-11-04T23:14:49.338Z",
   "method": "source",
   "sources": [
    {
     "id": "oecd-childcare",
     "name": "OECD Tax-Benefit Models: net childcare costs",
     "publisher": "OECD",
     "url": "https://www.oecd.org/en/data/indicators/net-childcare-costs.html",
     "licence": "OECD terms for data (any use, with citation)",
     "licenceUrl": "https://www.oecd.org/en/about/terms-conditions.html"
    }
   ],
   "note": "Net cost after childcare benefits, tax breaks and other benefit changes: single parent on the average wage",
   "levelText": "Norway-wide"
  },
  {
   "metric": "health_oop",
   "label": "Out-of-pocket health spending",
   "description": "What people pay for health care themselves each year, per person, on average across the country: deductibles, co-payments and care not covered, but not insurance premiums.",
   "value": 1136,
   "text": "US$1,136 a year per person",
   "unit": "USD/year per person",
   "period": "2023",
   "level": "country",
   "retrieved": "2026-11-04",
   "method": "source",
   "sources": [
    {
     "id": "worldbank-wdi",
     "name": "World Development Indicators",
     "publisher": "World Bank",
     "url": "https://databank.worldbank.org/source/world-development-indicators",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://datacatalog.worldbank.org/public-licenses"
    }
   ],
   "note": "Out-of-pocket health expenditure per person, current US dollars (WHO Global Health Expenditure Database via World Bank)",
   "levelText": "Norway-wide"
  },
  {
   "metric": "annual_leave",
   "label": "Paid holiday by law",
   "description": "The fewest paid days of holiday an employer must give a full-time employee on a five-day week, from the country's labour law; contracts and collective agreements often give more.",
   "value": 21,
   "text": "21 working days a year",
   "unit": "working days a year",
   "period": "2026",
   "level": "country",
   "retrieved": "2026-11-04T23:14:54.070Z",
   "method": "source",
   "sources": [
    {
     "id": "labour-law",
     "name": "Paid holiday by law, from the labour codes cited",
     "publisher": "Borgo contributors",
     "url": "https://github.com/ABCastor/borgo/blob/main/src/fetch/family.ts",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://creativecommons.org/licenses/by/4.0/"
    }
   ],
   "note": "25 working days on a six-day count (4 weeks and 1 day); an extra week from 60 (Ferieloven § 5)",
   "levelText": "Norway-wide"
  },
  {
   "metric": "public_holidays",
   "label": "Public holidays on working days",
   "description": "Public holidays that fall on a weekday this year, nationwide plus those of the city's region; a holiday on a weekend is lost unless the law moves it.",
   "value": 8,
   "text": "8 days a year",
   "unit": "days a year",
   "period": "2026",
   "level": "country",
   "retrieved": "2026-11-04T23:14:53.455Z",
   "method": "source",
   "sources": [
    {
     "id": "nager-date",
     "name": "Nager.Date public holidays",
     "publisher": "Nager.Date (open-source project)",
     "url": "https://date.nager.at/",
     "licence": "MIT",
     "licenceUrl": "https://github.com/nager/Nager.Date/blob/main/LICENSE.md"
    }
   ],
   "note": "Public holidays on Monday to Friday in 2026, nationwide",
   "levelText": "Norway-wide"
  },
  {
   "metric": "leave_mothers",
   "label": "Paid leave for mothers",
   "description": "Paid maternity, parental and home-care leave a mother can take, counted as weeks at full pay (weeks times the average payment rate for someone on average earnings).",
   "value": 39.3,
   "text": "39.3 weeks at full pay",
   "unit": "weeks at full pay",
   "period": "2025",
   "level": "country",
   "retrieved": "2026-11-04T23:14:52.308Z",
   "method": "source",
   "sources": [
    {
     "id": "oecd-family-db",
     "name": "OECD Family Database: parental leave systems (PF2.1)",
     "publisher": "OECD",
     "url": "https://www.oecd.org/en/data/datasets/oecd-family-database.html",
     "licence": "OECD terms for data (any use, with citation)",
     "licenceUrl": "https://www.oecd.org/en/about/terms-conditions.html"
    }
   ],
   "note": "Paid maternity, parental and home-care leave available to mothers, in full-rate-equivalent weeks (OECD PF2.1.A, policies in April 2025; not a current-year statutory entitlement)",
   "levelText": "Norway-wide"
  },
  {
   "metric": "leave_fathers",
   "label": "Paid leave for fathers",
   "description": "Paid paternity leave and parental leave reserved for fathers, counted as weeks at full pay (weeks times the average payment rate for someone on average earnings).",
   "value": 14.6,
   "text": "14.6 weeks at full pay",
   "unit": "weeks at full pay",
   "period": "2025",
   "level": "country",
   "retrieved": "2026-11-04T23:14:52.308Z",
   "method": "source",
   "sources": [
    {
     "id": "oecd-family-db",
     "name": "OECD Family Database: parental leave systems (PF2.1)",
     "publisher": "OECD",
     "url": "https://www.oecd.org/en/data/datasets/oecd-family-database.html",
     "licence": "OECD terms for data (any use, with citation)",
     "licenceUrl": "https://www.oecd.org/en/about/terms-conditions.html"
    }
   ],
   "note": "Paid paternity leave and leave reserved for fathers, in full-rate-equivalent weeks (OECD PF2.1.B, policies in April 2025; not a current-year statutory entitlement)",
   "levelText": "Norway-wide"
  },
  {
   "metric": "price_level",
   "label": "Price level",
   "description": "How expensive everyday consumption is, compared with the United States at market exchange rates.",
   "value": 96.2,
   "text": "96.2 index, US = 100",
   "unit": "index, US = 100",
   "period": "2025",
   "level": "country",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "worldbank-wdi",
     "name": "World Development Indicators",
     "publisher": "World Bank",
     "url": "https://databank.worldbank.org/source/world-development-indicators",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://datacatalog.worldbank.org/public-licenses"
    }
   ],
   "note": "Private consumption PPP over the market exchange rate; United States = 100",
   "levelText": "Norway-wide"
  },
  {
   "metric": "wet_days",
   "label": "Wet days",
   "description": "Days a year with at least 1 mm of rain or snow, enough to wet the ground.",
   "value": 128,
   "text": "128 days a year",
   "unit": "days a year",
   "period": "2021-2025",
   "level": "city",
   "retrieved": "2026-10-28T00:44:16.181Z",
   "method": "source",
   "sources": [
    {
     "id": "open-meteo-era5",
     "name": "Historical weather (ERA5 reanalysis)",
     "publisher": "Open-Meteo, Copernicus Climate Change Service (ECMWF)",
     "url": "https://open-meteo.com/en/docs/historical-weather-api",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://open-meteo.com/en/license"
    }
   ],
   "note": "ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "levelText": "city"
  },
  {
   "metric": "sunshine_hours",
   "label": "Sunshine",
   "description": "Hours a year of bright, direct sun, measured at a weather station by the WMO definition: direct sunlight of at least 120 W/m², roughly when the sun is strong enough to cast a sharp shadow.",
   "value": 1706,
   "text": "1,706 hours a year",
   "unit": "hours a year",
   "period": "1991-2020",
   "level": "city",
   "retrieved": "2026-10-27T11:14:13.361Z",
   "method": "source",
   "sources": [
    {
     "id": "meteostat",
     "name": "Meteostat climate normals",
     "publisher": "Meteostat and its data providers (national weather services)",
     "url": "https://dev.meteostat.net/",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://dev.meteostat.net/license"
    }
   ],
   "note": "Measured at Oslo-Blindern, 4 km away at 94 m (WMO definition: direct sunlight of at least 120 W/m²)",
   "levelText": "city"
  },
  {
   "metric": "homicide_rate",
   "label": "Homicides",
   "description": "People killed on purpose each year per 100,000 residents, a common proxy for violent crime.",
   "value": 0.72,
   "text": "0.72 per 100,000",
   "unit": "per 100,000",
   "period": "2023",
   "level": "country",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "worldbank-wdi",
     "name": "World Development Indicators",
     "publisher": "World Bank",
     "url": "https://databank.worldbank.org/source/world-development-indicators",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://datacatalog.worldbank.org/public-licenses"
    }
   ],
   "note": "Intentional homicides per 100,000 people (UNODC via World Bank)",
   "levelText": "Norway-wide"
  },
  {
   "metric": "life_expectancy",
   "label": "Life expectancy",
   "description": "How many years a baby born now would live on average if today's death rates held, for the whole country.",
   "value": 83.2,
   "text": "83.2 years",
   "unit": "years",
   "period": "2024",
   "level": "country",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "worldbank-wdi",
     "name": "World Development Indicators",
     "publisher": "World Bank",
     "url": "https://databank.worldbank.org/source/world-development-indicators",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://datacatalog.worldbank.org/public-licenses"
    }
   ],
   "levelText": "Norway-wide"
  },
  {
   "metric": "life_evaluation",
   "label": "Life satisfaction",
   "description": "How satisfied people say they are with their life as a whole, on a scale from 0 to 10, averaged over the country.",
   "value": 7.7,
   "text": "7.7 of 10",
   "unit": "of 10",
   "period": "2025",
   "level": "country",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "oecd-wellbeing",
     "name": "OECD Well-being Database (How's Life?)",
     "publisher": "OECD",
     "url": "https://www.oecd.org/en/data/datasets/well-being-database.html",
     "licence": "OECD terms for data (any use, with citation)",
     "licenceUrl": "https://www.oecd.org/en/about/terms-conditions.html"
    }
   ],
   "note": "Average answer to how satisfied people are with their life as a whole, 0 to 10",
   "levelText": "Norway-wide"
  },
  {
   "metric": "research_output",
   "label": "Research output",
   "description": "Papers, patents and datasets published in a year by institutions in the city, per 100,000 residents.",
   "value": 2088,
   "text": "2,088 works per 100k residents",
   "unit": "works per 100k residents",
   "period": "2025",
   "level": "city",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "openalex",
     "name": "OpenAlex institutions",
     "publisher": "OurResearch",
     "url": "https://openalex.org/",
     "licence": "CC0-1.0",
     "licenceUrl": "https://creativecommons.org/publicdomain/zero/1.0/"
    }
   ],
   "note": "22,602 works by 633 institutions in Oslo",
   "levelText": "city"
  },
  {
   "metric": "builder_density",
   "label": "Research output per resident",
   "description": "Research output of institutions in the city, per resident, on a 0 to 100 scale.",
   "value": 53,
   "text": "53 of 100",
   "unit": "of 100",
   "period": "2025",
   "level": "city",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "openalex",
     "name": "OpenAlex institutions",
     "publisher": "OurResearch",
     "url": "https://openalex.org/",
     "licence": "CC0-1.0",
     "licenceUrl": "https://creativecommons.org/publicdomain/zero/1.0/"
    }
   ],
   "note": "log scale: 100 works per 100k residents = 0, 30,000 = 100",
   "levelText": "city"
  },
  {
   "metric": "universities",
   "label": "Universities and colleges",
   "description": "Higher-education organisations registered in the city in the Research Organization Registry, so counts follow how each country registers its institutions.",
   "value": 28,
   "text": "28 organisations",
   "unit": "organisations",
   "period": "2026-10-27",
   "level": "city",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "ror",
     "name": "Research Organization Registry",
     "publisher": "ROR",
     "url": "https://ror.org/",
     "licence": "CC0-1.0",
     "licenceUrl": "https://ror.org/registry/"
    }
   ],
   "note": "ROR organisations of type education (universities, colleges, schools of higher education)",
   "levelText": "city"
  },
  {
   "metric": "research_institutes",
   "label": "Research institutes",
   "description": "Research facilities (institutes, laboratories, observatories) registered in the city in the Research Organization Registry; national research councils that register every lab inflate some cities (Paris, Tokyo).",
   "value": 16,
   "text": "16 organisations",
   "unit": "organisations",
   "period": "2026-10-27",
   "level": "city",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "ror",
     "name": "Research Organization Registry",
     "publisher": "ROR",
     "url": "https://ror.org/",
     "licence": "CC0-1.0",
     "licenceUrl": "https://ror.org/registry/"
    }
   ],
   "note": "ROR organisations of type facility (research institutes, laboratories, observatories)",
   "levelText": "city"
  },
  {
   "metric": "founders_running_club",
   "label": "Founders Running Club",
   "description": "Whether the Founders Running Club, a running community for founders, lists a chapter in the city.",
   "value": 0,
   "text": "no chapter",
   "unit": "1 = a chapter",
   "period": "2026-10-27",
   "level": "city",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "foundersrc",
     "name": "Founders Running Club communities",
     "publisher": "Founders Running Club",
     "url": "https://foundersrc.com/communities",
     "licence": "Public listing (facts of presence only; no licence stated)"
    }
   ],
   "note": "No chapter listed on https://foundersrc.com/communities",
   "levelText": "city"
  },
  {
   "metric": "sea_km",
   "label": "Distance to the sea",
   "description": "Straight-line distance from the centre to the open-sea coast; lakes and tidal rivers do not count.",
   "value": 2,
   "text": "2 km",
   "unit": "km",
   "period": "Natural Earth 5.1",
   "level": "city",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "natural-earth",
     "name": "Natural Earth (coastline, land, countries and populated places)",
     "publisher": "Natural Earth",
     "url": "https://www.naturalearthdata.com/",
     "licence": "Public domain",
     "licenceUrl": "https://www.naturalearthdata.com/about/terms-of-use/"
    }
   ],
   "note": "straight line from the centre to the open-sea coastline (lakes excluded)",
   "levelText": "city"
  },
  {
   "metric": "mountain_km",
   "label": "Distance to the mountains",
   "description": "Straight-line distance from the centre to ground that rises 1,000 m above it; 300 means none within 300 km.",
   "value": 75,
   "text": "75 km",
   "unit": "km",
   "period": "terrain tiles 2017",
   "level": "city",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "terrain-tiles",
     "name": "Terrain Tiles (Terrarium) on AWS Open Data",
     "publisher": "Mapzen / AWS Open Data",
     "url": "https://registry.opendata.aws/terrain-tiles/",
     "licence": "Public domain (USGS, NOAA) and Open Government Licence – Canada, with attribution",
     "licenceUrl": "https://github.com/tilezen/joerd/blob/master/docs/attribution.md"
    }
   ],
   "note": "1041 m at 60.24, 9.55; the centre sits at about 22 m",
   "levelText": "city"
  },
  {
   "metric": "airport_km",
   "label": "Nearest major airport",
   "description": "Straight-line distance from the centre to the nearest large airport with scheduled flights.",
   "value": 37,
   "text": "37 km",
   "unit": "km",
   "period": "2026-10-27",
   "level": "city",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "ourairports",
     "name": "OurAirports airports",
     "publisher": "OurAirports",
     "url": "https://ourairports.com/data/",
     "licence": "Public domain",
     "licenceUrl": "https://ourairports.com/data/"
    }
   ],
   "note": "Oslo-Gardermoen International Airport (OSL), straight line from the centre",
   "levelText": "city"
  },
  {
   "metric": "airports_100km",
   "label": "Airports within 100 km",
   "description": "Airports with scheduled passenger flights within 100 km of the centre.",
   "value": 2,
   "text": "2 airports",
   "unit": "airports",
   "period": "2026-10-27",
   "level": "city",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "ourairports",
     "name": "OurAirports airports",
     "publisher": "OurAirports",
     "url": "https://ourairports.com/data/",
     "licence": "Public domain",
     "licenceUrl": "https://ourairports.com/data/"
    }
   ],
   "note": "OSL, TRF",
   "levelText": "city"
  },
  {
   "metric": "road_deaths",
   "label": "Road deaths",
   "description": "People killed in road accidents per 10,000 residents a year.",
   "value": 0.13,
   "text": "0.13 per 10,000",
   "unit": "per 10,000",
   "period": "2012",
   "level": "city",
   "retrieved": "2026-11-05",
   "method": "source",
   "sources": [
    {
     "id": "eurostat-urban",
     "name": "Urban Audit: cities and greater cities",
     "publisher": "Eurostat",
     "url": "https://ec.europa.eu/eurostat/web/cities/database",
     "licence": "Eurostat reuse with acknowledgement (Decision 2011/833/EU)",
     "licenceUrl": "https://ec.europa.eu/eurostat/web/main/help/copyright-notice"
    }
   ],
   "note": "Oslo (greater city): the city and its contiguous urban area",
   "levelText": "city"
  },
  {
   "metric": "foreign_born_share",
   "label": "Born abroad",
   "description": "Share of residents born in another country: a measure of how international the city is.",
   "value": 27.6,
   "text": "27.6 % of residents",
   "unit": "% of residents",
   "period": "2022",
   "level": "city",
   "retrieved": "2026-11-05",
   "method": "source",
   "sources": [
    {
     "id": "eurostat-urban",
     "name": "Urban Audit: cities and greater cities",
     "publisher": "Eurostat",
     "url": "https://ec.europa.eu/eurostat/web/cities/database",
     "licence": "Eurostat reuse with acknowledgement (Decision 2011/833/EU)",
     "licenceUrl": "https://ec.europa.eu/eurostat/web/main/help/copyright-notice"
    }
   ],
   "note": "Oslo (greater city): the city and its contiguous urban area",
   "levelText": "city"
  },
  {
   "metric": "english_official",
   "label": "English is official",
   "description": "Whether English is an official or de facto official language of the country.",
   "value": 0,
   "text": "no",
   "unit": "1 = yes",
   "period": "CLDR 49",
   "level": "country",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "cldr",
     "name": "CLDR territory information",
     "publisher": "Unicode Consortium",
     "url": "https://cldr.unicode.org/",
     "licence": "Unicode-3.0",
     "licenceUrl": "https://www.unicode.org/license.txt"
    }
   ],
   "note": "English is not an official language",
   "levelText": "Norway-wide"
  },
  {
   "metric": "download_mbps",
   "label": "Internet speed",
   "description": "Typical download speed of home and mobile connections in speed tests (M-Lab NDT, one TCP stream, so lower than commercial tests); compare cities with each other.",
   "value": 56.3,
   "text": "56 Mbit/s",
   "unit": "Mbit/s",
   "period": "2023",
   "level": "city",
   "retrieved": "2026-10-27",
   "method": "source",
   "sources": [
    {
     "id": "mlab",
     "name": "M-Lab NDT statistics (daily city aggregates)",
     "publisher": "Measurement Lab",
     "url": "https://www.measurementlab.net/data/",
     "licence": "CC0-1.0",
     "licenceUrl": "https://creativecommons.org/publicdomain/zero/1.0/"
    }
   ],
   "note": "median of daily median NDT download speeds, 336 days, 211,598 tests (Oslo, NO-03)",
   "levelText": "city"
  },
  {
   "metric": "degree_share",
   "label": "Adults with a degree",
   "description": "Share of adults whose highest qualification is tertiary, a university degree or a vocational diploma above school level (ISCED levels 5 to 8), counting people aged 25 to 64 for a city or region and 25 or older for a country.",
   "value": 56.5,
   "text": "56.5 % of adults",
   "unit": "% of adults",
   "period": "2025",
   "level": "region",
   "retrieved": "2026-11-05",
   "method": "source",
   "sources": [
    {
     "id": "eurostat-regions",
     "name": "Population by educational attainment and NUTS 2 region (edat_lfse_04)",
     "publisher": "Eurostat (EU Labour Force Survey)",
     "url": "https://ec.europa.eu/eurostat/databrowser/view/edat_lfse_04/default/table",
     "licence": "Eurostat reuse with acknowledgement (Decision 2011/833/EU)",
     "licenceUrl": "https://ec.europa.eu/eurostat/web/main/help/copyright-notice"
    }
   ],
   "note": "Oslo og Viken (NO08), aged 25 to 64",
   "levelText": "region"
  },
  {
   "metric": "github_developers",
   "label": "Developers on GitHub",
   "description": "GitHub accounts whose profile names the city as their location, per 1,000 residents: a rough count of people who write software there, since many leave the field empty and some name a city they only live near.",
   "value": 15.9,
   "text": "15.9 per 1,000 residents",
   "unit": "per 1,000 residents",
   "period": "2026-11-05",
   "level": "city",
   "retrieved": "2026-11-05",
   "method": "source",
   "sources": [
    {
     "id": "github",
     "name": "GitHub user search",
     "publisher": "GitHub",
     "url": "https://docs.github.com/en/rest/search/search#search-users",
     "licence": "No data licence: only total counts of profiles are stored (GitHub Acceptable Use Policies, section 7)",
     "licenceUrl": "https://docs.github.com/en/site-policy/acceptable-use-policies/github-acceptable-use-policies#7-information-usage-restrictions"
    }
   ],
   "note": "17,254 accounts whose location names \"Oslo\", over 1,082,575 residents",
   "levelText": "city"
  },
  {
   "metric": "city_edge_km",
   "label": "Out of the dense city",
   "description": "Straight-line distance from the centre to the nearest edge of the dense city (the GHSL urban centre: touching 1 km squares with at least 1,500 residents per km²) in a direction that leads on over land, so roughly what a cyclist rides before the dense city gives way to suburbs, farmland, hills or a large park.",
   "value": 5.5,
   "text": "5.5 km",
   "unit": "km",
   "period": "2025",
   "level": "city",
   "retrieved": "2026-11-05",
   "method": "source",
   "sources": [
    {
     "id": "ghsl-ucdb",
     "name": "GHS Urban Centre Database 2025 (R2024A), general characteristics",
     "publisher": "European Commission, Joint Research Centre (GHSL)",
     "url": "https://human-settlement.emergency.copernicus.eu/ghs_ucdb_2024.php",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://creativecommons.org/licenses/by/4.0/"
    }
   ],
   "note": "Oslo urban centre (889,573 people, 2025): nearest edge 5.5 km to the north; half the directions over land end within 7.6 km",
   "levelText": "city"
  },
  {
   "metric": "politics_lr",
   "label": "Politics, left to right",
   "description": "An estimate of where the place voted at its latest national lower-house election (a Swiss canton, Canadian province or Australian state at its own count), on a scale from 0, left, to 10, right: each party's ParlGov position (the mean of expert surveys, or of its party family where no survey covers it), averaged by its share of the official result.",
   "value": 5.3,
   "text": "centre, 5.3 of 10",
   "unit": "0 to 10",
   "period": "2025-09-08",
   "level": "country",
   "retrieved": "2026-11-05",
   "method": "source",
   "sources": [
    {
     "id": "politics",
     "name": "Political position from election results",
     "publisher": "Borgo contributors",
     "url": "https://github.com/ABCastor/borgo/blob/main/pipeline/inputs/politics.json",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://creativecommons.org/licenses/by/4.0/"
    }
   ],
   "note": "Estimate from the official result of Storting, 8 Sept 2025, with ParlGov party positions: Labour 28% (3.4), Progress Party 23.8% (8.8), Conservatives 14.6% (7.9), Socialist Left 5.6% (1.6), Centre Party 5.6% (4.7), Red Party 5.3% (0.4). Parties with a position took 96% of the vote.",
   "levelText": "Norway-wide"
  },
  {
   "metric": "abortion_law",
   "label": "Abortion in law",
   "description": "On what grounds the law allows a pregnancy to be ended: 0 not at all or only to save the woman's life, 1 also to protect her health or after rape or incest, 2 also on broad social or economic grounds, 3 on request but only in the first weeks (under 10), 4 on request to 10 weeks or later.",
   "value": 4,
   "text": "on request, 10 weeks or later",
   "unit": "0 to 4",
   "period": "2026-11-05",
   "level": "country",
   "retrieved": "2026-11-05",
   "method": "source",
   "sources": [
    {
     "id": "abortion-law",
     "name": "Abortion in law, from the statutes cited",
     "publisher": "Borgo contributors",
     "url": "https://github.com/ABCastor/borgo/blob/main/src/fetch/rights-law.ts",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://creativecommons.org/licenses/by/4.0/"
    }
   ],
   "note": "On request to the end of week 18 (Abortloven (lov 20. desember 2024 nr. 96), § 3, in force 1 June 2025; checked against the source linked on 2026-11-05)",
   "levelText": "Norway-wide"
  },
  {
   "metric": "doctors",
   "label": "Doctors",
   "description": "Practising physicians per 1,000 people in the country, generalists and specialists (WHO figures).",
   "value": 4.97,
   "text": "5.0 per 1,000 people",
   "unit": "per 1,000 people",
   "period": "2023",
   "level": "country",
   "retrieved": "2026-11-05",
   "method": "source",
   "sources": [
    {
     "id": "worldbank-wdi",
     "name": "World Development Indicators",
     "publisher": "World Bank",
     "url": "https://databank.worldbank.org/source/world-development-indicators",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://datacatalog.worldbank.org/public-licenses"
    }
   ],
   "note": "Physicians per 1,000 people (WHO Global Health Workforce Statistics via World Bank)",
   "levelText": "Norway-wide"
  },
  {
   "metric": "unemployment",
   "label": "Unemployment",
   "description": "Share of people who want work and are looking for it but have none, in the country (ILO modelled estimate).",
   "value": 4.6,
   "text": "4.6 % of the labour force",
   "unit": "% of the labour force",
   "period": "2025",
   "level": "country",
   "retrieved": "2026-11-05",
   "method": "source",
   "sources": [
    {
     "id": "worldbank-wdi",
     "name": "World Development Indicators",
     "publisher": "World Bank",
     "url": "https://databank.worldbank.org/source/world-development-indicators",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://datacatalog.worldbank.org/public-licenses"
    }
   ],
   "note": "Unemployment, % of the labour force, ILO modelled estimate (via World Bank)",
   "levelText": "Norway-wide"
  },
  {
   "metric": "clean_government",
   "label": "Control of corruption",
   "description": "How far public power is kept from private gain, petty and grand corruption alike, as experts, firms and households perceive it in the country: the World Bank's governance estimate, roughly -2.5 (weak) to 2.5 (strong).",
   "value": 1.93,
   "text": "1.93 -2.5 to 2.5",
   "unit": "-2.5 to 2.5",
   "period": "2025",
   "level": "country",
   "retrieved": "2026-11-05",
   "method": "source",
   "sources": [
    {
     "id": "worldbank-wgi",
     "name": "Worldwide Governance Indicators",
     "publisher": "World Bank",
     "url": "https://www.worldbank.org/en/publication/worldwide-governance-indicators",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://datacatalog.worldbank.org/search/dataset/0038026/worldwide-governance-indicators"
    }
   ],
   "note": "Control of corruption, governance estimate (Worldwide Governance Indicators)",
   "levelText": "Norway-wide"
  },
  {
   "metric": "same_sex_couples",
   "label": "Same-sex couples in law",
   "description": "What the law offers same-sex couples: 0 sexual relations between people of the same sex are a crime, 1 legal but national law offers no union, 2 civil union or registered partnership, 3 marriage.",
   "value": 3,
   "text": "marriage",
   "unit": "0 to 3",
   "period": "2026",
   "level": "country",
   "retrieved": "2026-11-05",
   "method": "source",
   "sources": [
    {
     "id": "couples-law",
     "name": "Same-sex couples in law, from the statutes cited",
     "publisher": "Borgo contributors",
     "url": "https://github.com/ABCastor/borgo/blob/main/src/fetch/rights-law.ts",
     "licence": "CC-BY-4.0",
     "licenceUrl": "https://creativecommons.org/licenses/by/4.0/"
    }
   ],
   "note": "Marriage: Ekteskapsloven § 1, since 1 January 2009 (checked against the source linked on 2026-11-05)",
   "levelText": "Norway-wide"
  }
 ],
 "gaps": [
  {
   "metric": "childcare_cost",
   "label": "Your childcare cost"
  },
  {
   "metric": "health_premium",
   "label": "Health insurance premium"
  },
  {
   "metric": "pm25",
   "label": "Fine dust (PM2.5)"
  },
  {
   "metric": "coworking",
   "label": "Coworking spaces"
  },
  {
   "metric": "climbing_gyms",
   "label": "Climbing gyms"
  },
  {
   "metric": "swimming_pools",
   "label": "Public swimming pools"
  },
  {
   "metric": "public_pools",
   "label": "Public swimming pools (official)"
  },
  {
   "metric": "hackerspaces",
   "label": "Hackerspaces and makerspaces"
  },
  {
   "metric": "green_space_10km",
   "label": "Green space"
  },
  {
   "metric": "green_share",
   "label": "Green urban areas (official)"
  },
  {
   "metric": "rail_stations",
   "label": "Rail and metro stations"
  },
  {
   "metric": "cycle_paths_km",
   "label": "Cycle paths"
  },
  {
   "metric": "transit_commute_share",
   "label": "Commuting by public transport"
  },
  {
   "metric": "commute_minutes",
   "label": "Commute time"
  },
  {
   "metric": "transit_pass",
   "label": "Monthly transit pass"
  },
  {
   "metric": "english_share",
   "label": "English speakers"
  },
  {
   "metric": "walkable_share",
   "label": "Everyday needs on foot"
  },
  {
   "metric": "bike_network",
   "label": "Cycle network"
  },
  {
   "metric": "active_commute_share",
   "label": "Walking or cycling to work"
  }
 ],
 "climate": {
  "months": [
   "Jan",
   "Feb",
   "Mar",
   "Apr",
   "May",
   "Jun",
   "Jul",
   "Aug",
   "Sep",
   "Oct",
   "Nov",
   "Dec"
  ],
  "tempHighC": [
   -1.2,
   0.9,
   5.6,
   10.3,
   16.5,
   20.6,
   21.4,
   19.9,
   16.3,
   10,
   4.1,
   -0.3
  ],
  "tempLowC": [
   -6.6,
   -5.3,
   -2.5,
   1.1,
   6.8,
   11.7,
   13.6,
   12.4,
   9.6,
   4.8,
   0.2,
   -4.6
  ],
  "wetDays": [
   9.6,
   10.4,
   8,
   7.8,
   11.2,
   11,
   13.8,
   11.6,
   10.6,
   11.8,
   11,
   10.8
  ],
  "daylightHours": [
   6.68,
   8.97,
   11.72,
   14.55,
   17.2,
   18.79,
   17.97,
   15.53,
   12.72,
   9.92,
   7.39,
   5.93
  ],
  "period": "2021-2025",
  "source": {
   "id": "open-meteo-era5",
   "name": "Historical weather (ERA5 reanalysis)",
   "publisher": "Open-Meteo, Copernicus Climate Change Service (ECMWF)",
   "url": "https://open-meteo.com/en/docs/historical-weather-api",
   "licence": "CC-BY-4.0",
   "licenceUrl": "https://open-meteo.com/en/license"
  }
 },
 "daylight": {
  "shortestDayHours": 5.9,
  "longestDayHours": 18.83,
  "method": "computed from latitude"
 },
 "takeHome": {
  "currency": "NOK",
  "year": 2026,
  "scope": "Employee aged 17-69 outside Troms and Finnmark: 22% tax on ordinary income, bracket tax and national insurance contribution.",
  "sources": [
   {
    "label": "Skatteetaten: tax on ordinary income 2026",
    "url": "https://www.skatteetaten.no/satser/alminnelig-inntekt/"
   },
   {
    "label": "Skatteetaten: bracket tax (trinnskatt) 2026",
    "url": "https://www.skatteetaten.no/satser/trinnskatt/"
   },
   {
    "label": "Skatteetaten: national insurance contribution (trygdeavgift) 2026",
    "url": "https://www.skatteetaten.no/satser/trygdeavgift/"
   },
   {
    "label": "Skatteetaten: standard deduction (minstefradrag) 2026",
    "url": "https://www.skatteetaten.no/satser/minstefradrag/"
   },
   {
    "label": "Skatteetaten: personal allowance (personfradrag) 2026",
    "url": "https://www.skatteetaten.no/satser/personfradrag/"
   }
  ],
  "caveats": [
   "Standard deduction only; actual expenses and interest on loans are not deducted. IPS pension savings set as your pension share get their 22% relief.",
   "Troms and Finnmark residents pay 18.5% on ordinary income and lower bracket tax; not modelled.",
   "Newcomers: the PAYE scheme for foreign workers (a flat withholding rate on gross pay for the first years, within an income cap) is not applied; set a flat rate to model it; the PAYE rate already includes national insurance, which this model still lists, so use the PAYE rate less 7.6 points (rate not checked here)."
  ],
  "local": [],
  "rows": [
   {
    "gross": 310000,
    "net": 263066.5,
    "effectiveRate": 0.1513983870967742
   },
   {
    "gross": 630000,
    "net": 475737.4,
    "effectiveRate": 0.24486126984126985
   },
   {
    "gross": 1000000,
    "net": 694130.35,
    "effectiveRate": 0.30586965000000005
   }
  ],
  "completeness": {
   "status": "complete",
   "missing": [],
   "approximations": []
  }
 },
 "freeMovement": {
  "citizensOf": "NO",
  "areas": [
   {
    "id": "EEA",
    "name": "EU and EEA free movement",
    "members": [
     "AT",
     "BE",
     "BG",
     "HR",
     "CY",
     "CZ",
     "DK",
     "EE",
     "FI",
     "FR",
     "DE",
     "GR",
     "HU",
     "IE",
     "IT",
     "LV",
     "LT",
     "LU",
     "MT",
     "NL",
     "PL",
     "PT",
     "RO",
     "SK",
     "SI",
     "ES",
     "SE",
     "IS",
     "LI"
    ],
    "note": "Directive 2004/38/EC, extended to Iceland, Liechtenstein and Norway by the EEA Agreement. Beyond three months a registration is usually required, but no visa or permit to work.",
    "source": {
     "id": "eu-free-movement",
     "name": "Directive 2004/38/EC and the EEA Agreement",
     "publisher": "European Union",
     "url": "https://eur-lex.europa.eu/eli/dir/2004/38/oj",
     "licence": "Borgo's summary of the official text (CC BY 4.0)",
     "licenceUrl": "https://creativecommons.org/licenses/by/4.0/"
    }
   },
   {
    "id": "CH-IN-EU",
    "name": "Swiss-EU free movement",
    "members": [
     "CH"
    ],
    "source": {
     "id": "ch-afmp",
     "name": "Agreement on the Free Movement of Persons (EU-Switzerland)",
     "publisher": "Swiss State Secretariat for Migration",
     "url": "https://www.sem.admin.ch/sem/en/home/themen/fza_schweiz-eu-efta.html",
     "licence": "Borgo's summary of the official text (CC BY 4.0)",
     "licenceUrl": "https://creativecommons.org/licenses/by/4.0/"
    }
   }
  ]
 },
 "defaultProfile": {
  "assumptions": "one person, €60,000 gross a year, a one-bedroom home, everyday spending of €1,200 a month in Lisbon scaled by each country's price level",
  "month": {
   "currency": "NOK",
   "gross": 627270,
   "net": 473924.68,
   "rent": 15260,
   "rentFigure": {
    "metric": "rent_1bed",
    "label": "Rent, one bedroom",
    "description": "What a one-bedroom home costs to rent each month, from official rent statistics that measure either asking rents or the rents of all tenancies, with or without utilities, as each figure's source says.",
    "value": 15260,
    "text": "NOK 15,260 a month",
    "unit": "NOK/month",
    "period": "2025",
    "level": "metro",
    "retrieved": "2026-11-05",
    "method": "source",
    "sources": [
     {
      "id": "ssb-rent",
      "name": "Rental market survey (Statistics Norway table 09895)",
      "publisher": "Statistics Norway (SSB)",
      "url": "https://www.ssb.no/en/statbank/table/09895",
      "licence": "CC-BY-4.0",
      "licenceUrl": "https://www.ssb.no/en/diverse/lisens"
     }
    ],
    "note": "Oslo and Bærum, 2-room homes (one bedroom), average monthly rent of every tenancy surveyed (SSB table 09895)"
   },
   "everyday": 18595.800924499228,
   "everydayHow": "a starting guess, scaled from Lisbon: set your own",
   "childcare": null,
   "health": 884.6019544750328,
   "left": 4753.320454359076,
   "missing": [],
   "completeness": {
    "status": "complete",
    "missing": [],
    "approximations": []
   }
  }
 },
 "observations": [
  {
   "metric": "abortion_law",
   "value": 4,
   "period": "2026-11-05",
   "level": "country",
   "source": "abortion-law",
   "retrieved": "2026-11-05",
   "url": "https://lovdata.no/dokument/NL/lov/2024-12-20-96",
   "note": "On request to the end of week 18 (Abortloven (lov 20. desember 2024 nr. 96), § 3, in force 1 June 2025; checked against the source linked on 2026-11-05)",
   "sourceName": "Abortion in law, from the statutes cited",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "english_official",
   "value": 0,
   "period": "CLDR 49",
   "level": "country",
   "source": "cldr",
   "retrieved": "2026-10-27",
   "note": "English is not an official language",
   "sourceName": "CLDR territory information",
   "licence": "Unicode-3.0"
  },
  {
   "metric": "same_sex_couples",
   "value": 3,
   "period": "2026",
   "level": "country",
   "source": "couples-law",
   "retrieved": "2026-11-05",
   "url": "https://lovdata.no/dokument/NL/lov/1991-07-04-47",
   "note": "Marriage: Ekteskapsloven § 1, since 1 January 2009 (checked against the source linked on 2026-11-05)",
   "sourceName": "Same-sex couples in law, from the statutes cited",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "degree_share",
   "value": 56.5,
   "period": "2025",
   "level": "region",
   "source": "eurostat-regions",
   "retrieved": "2026-11-05",
   "note": "Oslo og Viken (NO08), aged 25 to 64",
   "sourceName": "Population by educational attainment and NUTS 2 region (edat_lfse_04)",
   "licence": "Eurostat reuse with acknowledgement (Decision 2011/833/EU)"
  },
  {
   "metric": "road_deaths",
   "value": 0.13,
   "period": "2012",
   "level": "city",
   "note": "Oslo (greater city): the city and its contiguous urban area",
   "source": "eurostat-urban",
   "retrieved": "2026-11-05",
   "sourceName": "Urban Audit: cities and greater cities",
   "licence": "Eurostat reuse with acknowledgement (Decision 2011/833/EU)"
  },
  {
   "metric": "foreign_born_share",
   "value": 27.6,
   "period": "2022",
   "level": "city",
   "note": "Oslo (greater city): the city and its contiguous urban area",
   "source": "eurostat-urban",
   "retrieved": "2026-11-05",
   "sourceName": "Urban Audit: cities and greater cities",
   "licence": "Eurostat reuse with acknowledgement (Decision 2011/833/EU)"
  },
  {
   "metric": "founders_running_club",
   "value": 0,
   "period": "2026-10-27",
   "level": "city",
   "source": "foundersrc",
   "retrieved": "2026-10-27",
   "note": "No chapter listed on https://foundersrc.com/communities",
   "sourceName": "Founders Running Club communities",
   "licence": "Public listing (facts of presence only; no licence stated)"
  },
  {
   "metric": "sea_km",
   "value": 2,
   "period": "Natural Earth 5.1",
   "source": "natural-earth",
   "level": "city",
   "retrieved": "2026-10-27",
   "note": "straight line from the centre to the open-sea coastline (lakes excluded)",
   "sourceName": "Natural Earth (coastline, land, countries and populated places)",
   "licence": "Public domain"
  },
  {
   "metric": "mountain_km",
   "value": 75,
   "period": "terrain tiles 2017",
   "source": "terrain-tiles",
   "level": "city",
   "retrieved": "2026-10-27",
   "note": "1041 m at 60.24, 9.55; the centre sits at about 22 m",
   "sourceName": "Terrain Tiles (Terrarium) on AWS Open Data",
   "licence": "Public domain (USGS, NOAA) and Open Government Licence – Canada, with attribution"
  },
  {
   "metric": "city_edge_km",
   "period": "2025",
   "level": "city",
   "source": "ghsl-ucdb",
   "retrieved": "2026-11-05",
   "url": "https://jeodpp.jrc.ec.europa.eu/ftp/jrc-opendata/GHSL/GHS_UCDB_GLOBE_R2024A/GHS_UCDB_THEME_GLOBE_R2024A/GHS_UCDB_THEME_GENERAL_CHARACTERISTICS_GLOBE_R2024A/V1-2/GHS_UCDB_THEME_GENERAL_CHARACTERISTICS_GLOBE_R2024A_V1_2.zip",
   "value": 5.5,
   "note": "Oslo urban centre (889,573 people, 2025): nearest edge 5.5 km to the north; half the directions over land end within 7.6 km",
   "sourceName": "GHS Urban Centre Database 2025 (R2024A), general characteristics",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "github_developers",
   "value": 15.9,
   "period": "2026-11-05",
   "level": "city",
   "source": "github",
   "retrieved": "2026-11-05",
   "url": "https://api.github.com/search/users?q=location%3A%22Oslo%22&per_page=1",
   "note": "17,254 accounts whose location names \"Oslo\", over 1,082,575 residents",
   "sourceName": "GitHub user search",
   "licence": "No data licence: only total counts of profiles are stored (GitHub Acceptable Use Policies, section 7)"
  },
  {
   "metric": "annual_leave",
   "value": 21,
   "period": "2026",
   "level": "country",
   "source": "labour-law",
   "retrieved": "2026-11-04T23:14:54.070Z",
   "url": "https://lovdata.no/dokument/NL/lov/1988-04-29-21",
   "fetcher": "labour-law@1",
   "note": "25 working days on a six-day count (4 weeks and 1 day); an extra week from 60 (Ferieloven § 5)",
   "sourceName": "Paid holiday by law, from the labour codes cited",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "sunshine_monthly",
   "value": [
    48,
    77,
    147,
    175,
    247,
    232,
    240,
    200,
    156,
    94,
    54,
    37
   ],
   "period": "1991-2020",
   "level": "city",
   "source": "meteostat",
   "retrieved": "2026-10-27T11:14:13.361Z",
   "url": "https://bulk.meteostat.net/v2/normals/01492.csv.gz",
   "fetcher": "meteostat@1",
   "note": "Measured at Oslo-Blindern, 4 km away at 94 m (WMO definition: direct sunlight of at least 120 W/m²)",
   "sourceName": "Meteostat climate normals",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "sunshine_hours",
   "value": 1706,
   "period": "1991-2020",
   "level": "city",
   "source": "meteostat",
   "retrieved": "2026-10-27T11:14:13.361Z",
   "url": "https://bulk.meteostat.net/v2/normals/01492.csv.gz",
   "fetcher": "meteostat@1",
   "note": "Measured at Oslo-Blindern, 4 km away at 94 m (WMO definition: direct sunlight of at least 120 W/m²)",
   "sourceName": "Meteostat climate normals",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "download_mbps",
   "value": 56.3,
   "period": "2023",
   "level": "city",
   "source": "mlab",
   "retrieved": "2026-10-27",
   "note": "median of daily median NDT download speeds, 336 days, 211,598 tests (Oslo, NO-03)",
   "sourceName": "M-Lab NDT statistics (daily city aggregates)",
   "licence": "CC0-1.0"
  },
  {
   "metric": "public_holidays",
   "value": 8,
   "period": "2026",
   "level": "country",
   "source": "nager-date",
   "retrieved": "2026-11-04T23:14:53.455Z",
   "url": "https://date.nager.at/api/v3/PublicHolidays/2026/NO",
   "fetcher": "nager-date@1",
   "note": "Public holidays on Monday to Friday in 2026, nationwide",
   "sourceName": "Nager.Date public holidays",
   "licence": "MIT"
  },
  {
   "metric": "childcare_fees_1",
   "value": 13200,
   "period": "2026",
   "note": "Fees for one child aged 2 or 3 in full-time care, before support (OECD tax-benefit model)",
   "level": "country",
   "source": "oecd-childcare",
   "retrieved": "2026-11-04T23:14:49.338Z",
   "url": "https://sdmx.oecd.org/public/rest/data/OECD.ELS.JAI,DSD_TAXBEN_NCC@DF_NCC,1.1/NOR.NCF.XDC.AW100.C_C1+C_C2+S_C1+S_C2.Y2_3.AW67+_Z.YES.NO.NO._T+CF.A?format=csvfilewithlabels&startPeriod=2022",
   "fetcher": "oecd-childcare@1",
   "sourceName": "OECD Tax-Benefit Models: net childcare costs",
   "licence": "OECD terms for data (any use, with citation)"
  },
  {
   "metric": "childcare_fees_2",
   "value": 26400,
   "period": "2026",
   "note": "Fees for two children aged 2 and 3 in full-time care, before support (OECD tax-benefit model)",
   "level": "country",
   "source": "oecd-childcare",
   "retrieved": "2026-11-04T23:14:49.338Z",
   "url": "https://sdmx.oecd.org/public/rest/data/OECD.ELS.JAI,DSD_TAXBEN_NCC@DF_NCC,1.1/NOR.NCF.XDC.AW100.C_C1+C_C2+S_C1+S_C2.Y2_3.AW67+_Z.YES.NO.NO._T+CF.A?format=csvfilewithlabels&startPeriod=2022",
   "fetcher": "oecd-childcare@1",
   "sourceName": "OECD Tax-Benefit Models: net childcare costs",
   "licence": "OECD terms for data (any use, with citation)"
  },
  {
   "metric": "childcare_net_couple_1",
   "value": 10296,
   "period": "2026",
   "note": "Net cost after childcare benefits, tax breaks and other benefit changes: couple on 100% and 67% of the average wage",
   "level": "country",
   "source": "oecd-childcare",
   "retrieved": "2026-11-04T23:14:49.338Z",
   "url": "https://sdmx.oecd.org/public/rest/data/OECD.ELS.JAI,DSD_TAXBEN_NCC@DF_NCC,1.1/NOR.NCF.XDC.AW100.C_C1+C_C2+S_C1+S_C2.Y2_3.AW67+_Z.YES.NO.NO._T+CF.A?format=csvfilewithlabels&startPeriod=2022",
   "fetcher": "oecd-childcare@1",
   "sourceName": "OECD Tax-Benefit Models: net childcare costs",
   "licence": "OECD terms for data (any use, with citation)"
  },
  {
   "metric": "childcare_net_couple_2",
   "value": 17503,
   "period": "2026",
   "note": "Net cost after childcare benefits, tax breaks and other benefit changes: couple on 100% and 67% of the average wage",
   "level": "country",
   "source": "oecd-childcare",
   "retrieved": "2026-11-04T23:14:49.338Z",
   "url": "https://sdmx.oecd.org/public/rest/data/OECD.ELS.JAI,DSD_TAXBEN_NCC@DF_NCC,1.1/NOR.NCF.XDC.AW100.C_C1+C_C2+S_C1+S_C2.Y2_3.AW67+_Z.YES.NO.NO._T+CF.A?format=csvfilewithlabels&startPeriod=2022",
   "fetcher": "oecd-childcare@1",
   "sourceName": "OECD Tax-Benefit Models: net childcare costs",
   "licence": "OECD terms for data (any use, with citation)"
  },
  {
   "metric": "childcare_net_single_1",
   "value": 10296,
   "period": "2026",
   "note": "Net cost after childcare benefits, tax breaks and other benefit changes: single parent on the average wage",
   "level": "country",
   "source": "oecd-childcare",
   "retrieved": "2026-11-04T23:14:49.338Z",
   "url": "https://sdmx.oecd.org/public/rest/data/OECD.ELS.JAI,DSD_TAXBEN_NCC@DF_NCC,1.1/NOR.NCF.XDC.AW100.C_C1+C_C2+S_C1+S_C2.Y2_3.AW67+_Z.YES.NO.NO._T+CF.A?format=csvfilewithlabels&startPeriod=2022",
   "fetcher": "oecd-childcare@1",
   "sourceName": "OECD Tax-Benefit Models: net childcare costs",
   "licence": "OECD terms for data (any use, with citation)"
  },
  {
   "metric": "childcare_net_single_2",
   "value": 17503,
   "period": "2026",
   "note": "Net cost after childcare benefits, tax breaks and other benefit changes: single parent on the average wage",
   "level": "country",
   "source": "oecd-childcare",
   "retrieved": "2026-11-04T23:14:49.338Z",
   "url": "https://sdmx.oecd.org/public/rest/data/OECD.ELS.JAI,DSD_TAXBEN_NCC@DF_NCC,1.1/NOR.NCF.XDC.AW100.C_C1+C_C2+S_C1+S_C2.Y2_3.AW67+_Z.YES.NO.NO._T+CF.A?format=csvfilewithlabels&startPeriod=2022",
   "fetcher": "oecd-childcare@1",
   "sourceName": "OECD Tax-Benefit Models: net childcare costs",
   "licence": "OECD terms for data (any use, with citation)"
  },
  {
   "metric": "leave_mothers",
   "value": 39.3,
   "note": "Paid maternity, parental and home-care leave available to mothers, in full-rate-equivalent weeks (OECD PF2.1.A, policies in April 2025; not a current-year statutory entitlement)",
   "level": "country",
   "source": "oecd-family-db",
   "retrieved": "2026-11-04T23:14:52.308Z",
   "url": "https://webfs.oecd.org/els-com/Family_Database/PF2_1_Parental_leave_systems.xlsx",
   "fetcher": "oecd-family-db@1",
   "period": "2025",
   "sourceName": "OECD Family Database: parental leave systems (PF2.1)",
   "licence": "OECD terms for data (any use, with citation)"
  },
  {
   "metric": "leave_fathers",
   "value": 14.6,
   "note": "Paid paternity leave and leave reserved for fathers, in full-rate-equivalent weeks (OECD PF2.1.B, policies in April 2025; not a current-year statutory entitlement)",
   "level": "country",
   "source": "oecd-family-db",
   "retrieved": "2026-11-04T23:14:52.308Z",
   "url": "https://webfs.oecd.org/els-com/Family_Database/PF2_1_Parental_leave_systems.xlsx",
   "fetcher": "oecd-family-db@1",
   "period": "2025",
   "sourceName": "OECD Family Database: parental leave systems (PF2.1)",
   "licence": "OECD terms for data (any use, with citation)"
  },
  {
   "metric": "life_evaluation",
   "value": 7.7,
   "period": "2025",
   "level": "country",
   "source": "oecd-wellbeing",
   "retrieved": "2026-10-27",
   "note": "Average answer to how satisfied people are with their life as a whole, 0 to 10",
   "sourceName": "OECD Well-being Database (How's Life?)",
   "licence": "OECD terms for data (any use, with citation)"
  },
  {
   "metric": "temp_high",
   "value": [
    -1.2,
    0.9,
    5.6,
    10.3,
    16.5,
    20.6,
    21.4,
    19.9,
    16.3,
    10,
    4.1,
    -0.3
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:44:16.181Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=59.91273&longitude=10.74609&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Air temperature in the shade. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "temp_low",
   "value": [
    -6.6,
    -5.3,
    -2.5,
    1.1,
    6.8,
    11.7,
    13.6,
    12.4,
    9.6,
    4.8,
    0.2,
    -4.6
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:44:16.181Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=59.91273&longitude=10.74609&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Air temperature in the shade. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "feels_high",
   "value": [
    -5.3,
    -3.2,
    1.8,
    6.6,
    13.8,
    19.1,
    20.7,
    18.6,
    14.8,
    7.3,
    0.9,
    -4.1
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:44:16.181Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=59.91273&longitude=10.74609&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Apparent temperature: air temperature adjusted for humidity, wind and sun. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "feels_low",
   "value": [
    -10.8,
    -9.6,
    -6.4,
    -2.6,
    4,
    10.2,
    12.9,
    11.1,
    8,
    1.9,
    -3.4,
    -8.5
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:44:16.181Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=59.91273&longitude=10.74609&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Apparent temperature: air temperature adjusted for humidity and wind. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "temp_high_p10",
   "value": [
    -8,
    -5.4,
    1.1,
    5.7,
    11.3,
    15.6,
    17.4,
    17.1,
    12.3,
    4.6,
    -1.9,
    -6.9
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:44:16.181Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=59.91273&longitude=10.74609&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Air temperature in the shade. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "temp_high_p90",
   "value": [
    3.8,
    5.7,
    10.6,
    16,
    22.7,
    24.3,
    27,
    22.7,
    20.6,
    13.6,
    9.8,
    5.9
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:44:16.181Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=59.91273&longitude=10.74609&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Air temperature in the shade. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "temp_low_p10",
   "value": [
    -14,
    -12.5,
    -6.7,
    -2.4,
    2,
    8.5,
    10.7,
    10,
    5.6,
    0.1,
    -5.5,
    -11.8
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:44:16.181Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=59.91273&longitude=10.74609&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Air temperature in the shade. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "temp_low_p90",
   "value": [
    0,
    0.8,
    1.9,
    4.6,
    10.4,
    14.7,
    17.1,
    14.4,
    13.5,
    9.1,
    5.3,
    1.3
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:44:16.181Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=59.91273&longitude=10.74609&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Air temperature in the shade. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "temp_record_high",
   "value": [
    9.5,
    10.8,
    16.7,
    19.5,
    25.7,
    30.5,
    30.3,
    28.2,
    25.3,
    16.2,
    14.2,
    8.6
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:44:16.181Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=59.91273&longitude=10.74609&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Air temperature in the shade. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide); 2021-2025 only, so a rarer extreme can lie outside it",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "temp_record_low",
   "value": [
    -27.9,
    -15.6,
    -15.2,
    -5.1,
    -1.3,
    4.4,
    8.7,
    7.7,
    1.6,
    -3.8,
    -10.5,
    -15.4
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:44:16.181Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=59.91273&longitude=10.74609&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Air temperature in the shade. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide); 2021-2025 only, so a rarer extreme can lie outside it",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "temp_hourly",
   "value": [
    -4.2,
    -4.2,
    -4.1,
    -4.1,
    -4.2,
    -4.3,
    -4.5,
    -4.5,
    -4.5,
    -4.4,
    -4.1,
    -3.6,
    -3,
    -2.9,
    -2.6,
    -2.7,
    -3.1,
    -3.3,
    -3.5,
    -3.6,
    -3.7,
    -3.8,
    -3.9,
    -4.2,
    -3.1,
    -3.2,
    -3,
    -3.1,
    -3.2,
    -3.3,
    -3.4,
    -3.7,
    -3.9,
    -3.5,
    -2.6,
    -1.6,
    -0.7,
    -0.2,
    0.2,
    0.1,
    -0.3,
    -1.2,
    -1.8,
    -2,
    -2.2,
    -2.5,
    -2.6,
    -2.7,
    -0.5,
    -0.7,
    -0.6,
    -0.8,
    -1,
    -1.3,
    -1.4,
    -1.4,
    -0.6,
    0.7,
    2.1,
    3.3,
    4.3,
    4.8,
    5.1,
    5.2,
    5,
    4.2,
    2.8,
    1.7,
    1,
    0.4,
    0,
    -0.3,
    2.7,
    2.5,
    2.3,
    2.1,
    1.8,
    1.6,
    2,
    3.1,
    4.4,
    5.8,
    7.1,
    8.2,
    9.1,
    9.4,
    9.8,
    9.9,
    9.9,
    9.5,
    8.6,
    7.1,
    5.7,
    4.8,
    4,
    3.4,
    8.8,
    8.2,
    7.9,
    7.4,
    7.1,
    7.5,
    8.6,
    9.9,
    11.3,
    12.6,
    13.7,
    14.6,
    15.3,
    15.2,
    15.7,
    15.8,
    15.7,
    15.4,
    14.8,
    14,
    12.7,
    11.3,
    10.4,
    9.6,
    13.4,
    12.8,
    12.5,
    12.1,
    12.1,
    12.7,
    13.6,
    14.8,
    16,
    17.1,
    18.1,
    18.9,
    19.5,
    19.2,
    19.6,
    19.8,
    19.7,
    19.3,
    18.9,
    18.2,
    17.1,
    15.8,
    14.8,
    14.1,
    15.3,
    14.9,
    14.5,
    14.2,
    14,
    14.5,
    15.2,
    16.1,
    17.1,
    18,
    19,
    19.7,
    20.2,
    20.1,
    20.5,
    20.6,
    20.5,
    20.3,
    19.8,
    19.2,
    18.2,
    17.1,
    16.3,
    15.7,
    14,
    13.6,
    13.2,
    13,
    12.8,
    12.7,
    13.3,
    14.2,
    15.3,
    16.3,
    17.3,
    18.2,
    18.8,
    18.9,
    19.2,
    19.2,
    19.2,
    18.8,
    18.1,
    17.1,
    16,
    15.3,
    14.8,
    14.3,
    11.4,
    11.1,
    10.8,
    10.6,
    10.5,
    10.4,
    10.4,
    10.9,
    11.8,
    12.7,
    13.6,
    14.5,
    15.2,
    15.3,
    15.7,
    15.8,
    15.7,
    15.2,
    14.2,
    13.3,
    12.7,
    12.2,
    11.8,
    11.5,
    6.5,
    6.5,
    6.2,
    6.1,
    6,
    5.9,
    5.9,
    6,
    6.3,
    7.1,
    7.8,
    8.6,
    9.2,
    9.4,
    9.6,
    9.6,
    9.1,
    8.3,
    7.9,
    7.6,
    7.2,
    6.9,
    6.7,
    6.5,
    1.9,
    1.9,
    1.8,
    1.7,
    1.7,
    1.7,
    1.8,
    1.9,
    1.8,
    2,
    2.5,
    3,
    3.4,
    3.4,
    3.4,
    3.1,
    2.6,
    2.4,
    2.2,
    2.2,
    2.1,
    2,
    1.8,
    1.8,
    -2.5,
    -2.5,
    -2.5,
    -2.5,
    -2.5,
    -2.6,
    -2.7,
    -2.7,
    -2.8,
    -2.8,
    -2.6,
    -2.3,
    -1.9,
    -1.6,
    -1.7,
    -2,
    -2.2,
    -2.2,
    -2.4,
    -2.4,
    -2.5,
    -2.5,
    -2.5,
    -2.5
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:44:16.181Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=59.91273&longitude=10.74609&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Air temperature by local hour, January 0:00 to December 23:00. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "cloud_cover",
   "value": [
    77,
    67,
    63,
    59,
    59,
    57,
    63,
    63,
    67,
    74,
    82,
    81
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:44:16.181Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=59.91273&longitude=10.74609&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "wet_days_monthly",
   "value": [
    9.6,
    10.4,
    8,
    7.8,
    11.2,
    11,
    13.8,
    11.6,
    10.6,
    11.8,
    11,
    10.8
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:44:16.181Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=59.91273&longitude=10.74609&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "wet_days",
   "value": 128,
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:44:16.181Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=59.91273&longitude=10.74609&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "nice_bins_feels",
   "value": [
    5.2,
    0.4,
    0.4,
    0.2,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    5.8,
    0.6,
    0.2,
    1.4,
    0.6,
    0.2,
    0,
    0,
    0.4,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    1.8,
    0.6,
    1.8,
    1.8,
    0.8,
    0.2,
    0.6,
    1.6,
    1.2,
    0.6,
    0.2,
    0,
    0.2,
    0,
    0,
    0,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.2,
    0.4,
    0.2,
    1,
    1.2,
    1.6,
    1.2,
    0.4,
    0.4,
    0.8,
    0.8,
    0.2,
    0.4,
    1.2,
    0.2,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.2,
    0,
    0.2,
    0.2,
    0.2,
    0.4,
    0.4,
    1,
    0.8,
    0.8,
    0.2,
    0.8,
    0.8,
    0.6,
    0.8,
    0.6,
    1,
    0.6,
    0,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.4,
    0.2,
    0.4,
    0,
    1.6,
    0.8,
    1,
    2.2,
    1.4,
    1.2,
    0.6,
    0.8,
    0.4,
    0.6,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.2,
    0.6,
    0.8,
    1.8,
    0.8,
    1,
    0.2,
    0.6,
    0.2,
    0.6,
    0.8,
    0.8,
    0.6,
    0.6,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.4,
    0.4,
    1,
    2.4,
    0.8,
    0.8,
    0.8,
    0.4,
    0.6,
    0.6,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.6,
    0,
    0.6,
    1.2,
    0.8,
    0.2,
    0.8,
    0.4,
    1,
    0.8,
    0.6,
    0.2,
    0.2,
    0.2,
    0.6,
    0.2,
    0,
    0.4,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.2,
    0,
    0,
    0,
    0.2,
    0.2,
    0.2,
    0.4,
    0.2,
    1.6,
    0.8,
    0.6,
    1,
    0.2,
    0.4,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    1.4,
    0,
    0.6,
    0.4,
    0.2,
    0.2,
    0,
    0.6,
    0.2,
    0.2,
    0,
    0,
    0,
    0,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    3.2,
    0.8,
    0,
    0.2,
    0.2,
    0.2,
    0.2,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:44:16.181Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=59.91273&longitude=10.74609&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Dry, mostly clear days by their daytime feels-like temperature, whole degrees from -5 to 40 °C, by month. Days a month on average, 2021-2025; the test is in docs/weather-scores.md. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "nice_bins_air",
   "value": [
    4.6,
    0,
    0.4,
    0,
    0.2,
    0.2,
    0.2,
    0.2,
    0.6,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    4.8,
    0,
    0.4,
    0.2,
    0.4,
    0.4,
    0.6,
    0.6,
    0.8,
    0.4,
    0.2,
    0.2,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.6,
    0,
    0,
    0.4,
    0.8,
    0.8,
    1.6,
    2,
    0.6,
    0.4,
    1.4,
    1.8,
    0.6,
    0,
    0.4,
    0,
    0,
    0,
    0,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.6,
    0.4,
    0.6,
    1,
    1.4,
    1.6,
    0.8,
    1,
    0.4,
    0.4,
    1.2,
    0.6,
    0.2,
    0,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.4,
    0.4,
    0,
    0.4,
    0.4,
    1.6,
    0.6,
    0.4,
    1.2,
    1,
    0.6,
    0.8,
    1,
    0.4,
    0.6,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.6,
    0.4,
    0.8,
    1,
    2,
    1.8,
    2.4,
    1.4,
    0.4,
    0.6,
    0,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.2,
    1,
    1.4,
    1.4,
    1,
    1,
    0.2,
    0.6,
    0.6,
    0.6,
    0.8,
    0.8,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.4,
    2,
    2,
    1.8,
    0.6,
    0.4,
    0.8,
    0.2,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.6,
    0.4,
    0.8,
    1.2,
    0.2,
    1,
    1.2,
    1,
    0.4,
    0.2,
    0.4,
    0.6,
    0.6,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.2,
    0.2,
    0,
    0.4,
    0.2,
    0.6,
    0.8,
    1.6,
    1,
    0.6,
    0.4,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.6,
    0.4,
    0.4,
    0,
    0.4,
    0.4,
    0,
    0.2,
    0.2,
    0.2,
    0.6,
    0.4,
    0,
    0,
    0,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    1.6,
    0.4,
    0,
    0.6,
    0.6,
    0.6,
    0.2,
    0.2,
    0.2,
    0.4,
    0,
    0,
    0.2,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:44:16.181Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=59.91273&longitude=10.74609&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Dry, mostly clear days by their daytime air temperature, whole degrees from -5 to 40 °C, by month. Days a month on average, 2021-2025; the test is in docs/weather-scores.md. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "beach_days",
   "value": [
    0,
    0,
    0,
    0,
    0,
    0.2,
    1.6,
    0,
    0,
    0,
    0,
    0
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:44:16.181Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=59.91273&longitude=10.74609&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Days a month on average, 2021-2025; the test is in docs/weather-scores.md. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "active_days",
   "value": [
    0,
    0.4,
    5.8,
    17,
    28.8,
    28.8,
    27.4,
    29.6,
    28,
    21.6,
    5.4,
    0.2
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:44:16.181Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=59.91273&longitude=10.74609&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Days a month on average, 2021-2025; the test is in docs/weather-scores.md. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "muggy_days",
   "value": [
    0,
    0,
    0,
    0,
    0,
    0,
    0.2,
    0.2,
    0,
    0,
    0,
    0
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:44:16.181Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=59.91273&longitude=10.74609&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Days a month on average, 2021-2025; the test is in docs/weather-scores.md. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "grey_days",
   "value": [
    20,
    13.8,
    13,
    10.6,
    11.4,
    8,
    12.2,
    11.8,
    13.2,
    17.8,
    20.4,
    20.2
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:44:16.181Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=59.91273&longitude=10.74609&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Days a month on average, 2021-2025; the test is in docs/weather-scores.md. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "hot_nights",
   "value": [
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:44:16.181Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=59.91273&longitude=10.74609&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Days a month on average, 2021-2025; the test is in docs/weather-scores.md. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "hot_days",
   "value": [
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:44:16.181Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=59.91273&longitude=10.74609&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Days a month on average, 2021-2025; the test is in docs/weather-scores.md. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "snow_days",
   "value": [
    7.4,
    6,
    2.4,
    1.8,
    0.2,
    0,
    0,
    0,
    0,
    0.6,
    1.4,
    5.6
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:44:16.181Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=59.91273&longitude=10.74609&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Days a month on average, 2021-2025; the test is in docs/weather-scores.md. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "windy_days",
   "value": [
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0,
    0.2,
    0,
    0
   ],
   "period": "2021-2025",
   "level": "city",
   "source": "open-meteo-era5",
   "retrieved": "2026-10-28T00:44:16.181Z",
   "url": "https://archive-api.open-meteo.com/v1/archive?latitude=59.91273&longitude=10.74609&start_date=2021-01-01&end_date=2025-12-31&timezone=auto&hourly=temperature_2m,apparent_temperature,dew_point_2m,precipitation,snowfall,cloud_cover,wind_speed_10m",
   "fetcher": "open-meteo-era5@3",
   "note": "Days a month on average, 2021-2025; the test is in docs/weather-scores.md. ERA5 reanalysis at the city's coordinates (a grid about 25 km wide)",
   "sourceName": "Historical weather (ERA5 reanalysis)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "research_output",
   "value": 2088,
   "period": "2025",
   "level": "city",
   "source": "openalex",
   "retrieved": "2026-10-27",
   "note": "22,602 works by 633 institutions in Oslo",
   "sourceName": "OpenAlex institutions",
   "licence": "CC0-1.0"
  },
  {
   "metric": "builder_density",
   "value": 53,
   "period": "2025",
   "level": "city",
   "source": "openalex",
   "retrieved": "2026-10-27",
   "note": "log scale: 100 works per 100k residents = 0, 30,000 = 100",
   "sourceName": "OpenAlex institutions",
   "licence": "CC0-1.0"
  },
  {
   "metric": "airport_km",
   "value": 37,
   "period": "2026-10-27",
   "level": "city",
   "source": "ourairports",
   "retrieved": "2026-10-27",
   "note": "Oslo-Gardermoen International Airport (OSL), straight line from the centre",
   "sourceName": "OurAirports airports",
   "licence": "Public domain"
  },
  {
   "metric": "airports_100km",
   "value": 2,
   "period": "2026-10-27",
   "level": "city",
   "source": "ourairports",
   "retrieved": "2026-10-27",
   "note": "OSL, TRF",
   "sourceName": "OurAirports airports",
   "licence": "Public domain"
  },
  {
   "metric": "politics_lr",
   "value": 5.3,
   "period": "2025-09-08",
   "level": "country",
   "source": "politics",
   "retrieved": "2026-11-05",
   "url": "https://valgresultat.no/api/2025/st",
   "note": "Estimate from the official result of Storting, 8 Sept 2025, with ParlGov party positions: Labour 28% (3.4), Progress Party 23.8% (8.8), Conservatives 14.6% (7.9), Socialist Left 5.6% (1.6), Centre Party 5.6% (4.7), Red Party 5.3% (0.4). Parties with a position took 96% of the vote.",
   "sourceName": "Political position from election results",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "universities",
   "value": 28,
   "period": "2026-10-27",
   "level": "city",
   "source": "ror",
   "retrieved": "2026-10-27",
   "note": "ROR organisations of type education (universities, colleges, schools of higher education)",
   "sourceName": "Research Organization Registry",
   "licence": "CC0-1.0"
  },
  {
   "metric": "research_institutes",
   "value": 16,
   "period": "2026-10-27",
   "level": "city",
   "source": "ror",
   "retrieved": "2026-10-27",
   "note": "ROR organisations of type facility (research institutes, laboratories, observatories)",
   "sourceName": "Research Organization Registry",
   "licence": "CC0-1.0"
  },
  {
   "metric": "rent_1bed",
   "value": 15260,
   "period": "2025",
   "level": "metro",
   "source": "ssb-rent",
   "retrieved": "2026-11-05",
   "note": "Oslo and Bærum, 2-room homes (one bedroom), average monthly rent of every tenancy surveyed (SSB table 09895)",
   "sourceName": "Rental market survey (Statistics Norway table 09895)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "rent_3bed",
   "value": 23200,
   "period": "2025",
   "level": "metro",
   "source": "ssb-rent",
   "retrieved": "2026-11-05",
   "note": "Oslo and Bærum, 4-room homes (three bedrooms), average monthly rent of every tenancy surveyed (SSB table 09895)",
   "sourceName": "Rental market survey (Statistics Norway table 09895)",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "degree_share",
   "value": 43.3,
   "period": "2023",
   "level": "country",
   "source": "worldbank-wdi",
   "retrieved": "2026-11-05",
   "url": "https://api.worldbank.org/v2/country/NO/indicator/SE.TER.CUAT.ST.ZS?format=json&per_page=100&date=2015:2026",
   "note": "At least short-cycle tertiary education, % of people aged 25 and over (UNESCO Institute for Statistics via World Bank)",
   "sourceName": "World Development Indicators",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "doctors",
   "value": 4.97,
   "period": "2023",
   "level": "country",
   "source": "worldbank-wdi",
   "retrieved": "2026-11-05",
   "url": "https://api.worldbank.org/v2/country/NO/indicator/SH.MED.PHYS.ZS?format=json&per_page=100&date=2015:2026",
   "note": "Physicians per 1,000 people (WHO Global Health Workforce Statistics via World Bank)",
   "sourceName": "World Development Indicators",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "unemployment",
   "value": 4.6,
   "period": "2025",
   "level": "country",
   "source": "worldbank-wdi",
   "retrieved": "2026-11-05",
   "url": "https://api.worldbank.org/v2/country/NO/indicator/SL.UEM.TOTL.ZS?format=json&per_page=100&date=2015:2026",
   "note": "Unemployment, % of the labour force, ILO modelled estimate (via World Bank)",
   "sourceName": "World Development Indicators",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "clean_government",
   "value": 1.93,
   "period": "2025",
   "level": "country",
   "source": "worldbank-wgi",
   "retrieved": "2026-11-05",
   "url": "https://api.worldbank.org/v2/sources/3/country/NOR/series/GOV_WGI_CC.EST/time/all?format=json&per_page=100",
   "note": "Control of corruption, governance estimate (Worldwide Governance Indicators)",
   "sourceName": "Worldwide Governance Indicators",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "price_level",
   "value": 96.2,
   "period": "2025",
   "level": "country",
   "source": "worldbank-wdi",
   "retrieved": "2026-10-27",
   "note": "Private consumption PPP over the market exchange rate; United States = 100",
   "sourceName": "World Development Indicators",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "homicide_rate",
   "value": 0.72,
   "period": "2023",
   "level": "country",
   "source": "worldbank-wdi",
   "retrieved": "2026-10-27",
   "note": "Intentional homicides per 100,000 people (UNODC via World Bank)",
   "sourceName": "World Development Indicators",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "life_expectancy",
   "value": 83.2,
   "period": "2024",
   "level": "country",
   "source": "worldbank-wdi",
   "retrieved": "2026-10-27",
   "sourceName": "World Development Indicators",
   "licence": "CC-BY-4.0"
  },
  {
   "metric": "health_oop",
   "value": 1136,
   "period": "2023",
   "level": "country",
   "source": "worldbank-wdi",
   "retrieved": "2026-11-04",
   "note": "Out-of-pocket health expenditure per person, current US dollars (WHO Global Health Expenditure Database via World Bank)",
   "sourceName": "World Development Indicators",
   "licence": "CC-BY-4.0"
  }
 ],
 "comparisons": [
  {
   "with": "berlin-de",
   "page": "https://borgo.abcastor.com/compare/berlin-de-vs-oslo-no/"
  },
  {
   "with": "brussels-be",
   "page": "https://borgo.abcastor.com/compare/brussels-be-vs-oslo-no/"
  },
  {
   "with": "copenhagen-dk",
   "page": "https://borgo.abcastor.com/compare/copenhagen-dk-vs-oslo-no/"
  },
  {
   "with": "dublin-ie",
   "page": "https://borgo.abcastor.com/compare/dublin-ie-vs-oslo-no/"
  },
  {
   "with": "hamburg-de",
   "page": "https://borgo.abcastor.com/compare/hamburg-de-vs-oslo-no/"
  },
  {
   "with": "helsinki-fi",
   "page": "https://borgo.abcastor.com/compare/helsinki-fi-vs-oslo-no/"
  },
  {
   "with": "london-gb",
   "page": "https://borgo.abcastor.com/compare/london-gb-vs-oslo-no/"
  },
  {
   "with": "paris-fr",
   "page": "https://borgo.abcastor.com/compare/oslo-no-vs-paris-fr/"
  },
  {
   "with": "prague-cz",
   "page": "https://borgo.abcastor.com/compare/oslo-no-vs-prague-cz/"
  },
  {
   "with": "stockholm-se",
   "page": "https://borgo.abcastor.com/compare/oslo-no-vs-stockholm-se/"
  },
  {
   "with": "tallinn-ee",
   "page": "https://borgo.abcastor.com/compare/oslo-no-vs-tallinn-ee/"
  }
 ],
 "linkOut": [
  {
   "label": "Numbeo: cost of living in Oslo",
   "url": "https://www.numbeo.com/cost-of-living/in/Oslo"
  },
  {
   "label": "WeatherSpark: year-round weather in Oslo",
   "url": "https://weatherspark.com/search?q=Oslo"
  },
  {
   "label": "Wikipedia: Oslo",
   "url": "https://en.wikipedia.org/wiki/Oslo"
  }
 ],
 "cite": "Borgo, \"Living in Oslo\", https://borgo.abcastor.com/city/oslo-no/, figures as of 2026-11-05. Name the original source of any figure you quote."
}
