{
  "snapshot_id": "approved-static-8975a8c3d87026ab",
  "schema_version": "immigrationdb-city-resource-v2",
  "generated_at": "2026-09-14",
  "citation": {
    "@type": "CreativeWork",
    "@id": "https://immigrationdb.com/cities/es/porrino/#citation",
    "schema_version": "immigrationdb-citation-v1",
    "citation_type": "ImmigrationDB compilation",
    "canonical_url": "https://immigrationdb.com/cities/es/porrino/",
    "title": "Porriño, Spain: jobs, air quality, climate",
    "author": {
      "name": "ImmigrationDB",
      "url": "https://immigrationdb.com/"
    },
    "publisher": {
      "name": "ImmigrationDB",
      "url": "https://immigrationdb.com/"
    },
    "snapshot_id": "approved-static-8975a8c3d87026ab",
    "version": "approved-static-8975a8c3d87026ab",
    "retrieval_date": "2026-09-14",
    "build_date": "2026-09-14",
    "compilation_license": {
      "name": "CC BY 4.0",
      "url": "https://creativecommons.org/licenses/by/4.0/",
      "terms_url": "https://immigrationdb.com/about/copyright/"
    },
    "formats": {
      "apa": "ImmigrationDB. (2026, September 14). Porriño, Spain: jobs, air quality, climate [ImmigrationDB compilation; snapshot approved-static-8975a8c3d87026ab; version approved-static-8975a8c3d87026ab]. ImmigrationDB. https://immigrationdb.com/cities/es/porrino/ Retrieved 2026-09-14. Compilation license: CC BY 4.0, https://creativecommons.org/licenses/by/4.0/",
      "bibtex": "@misc{immigrationdb_immigrationdb_porrino-spain-jobs-air-quality-climate_29c473d79ce0,\n  author = {ImmigrationDB},\n  title = {Porriño, Spain: jobs, air quality, climate},\n  publisher = {ImmigrationDB},\n  year = {2026},\n  date = {2026-09-14},\n  version = {approved-static-8975a8c3d87026ab},\n  snapshot = {approved-static-8975a8c3d87026ab},\n  url = {https://immigrationdb.com/cities/es/porrino/},\n  note = {Retrieved 2026-09-14. ImmigrationDB compilation. Compilation license: CC BY 4.0, https://creativecommons.org/licenses/by/4.0/},\n}",
      "markdown": "[Porriño, Spain: jobs, air quality, climate](https://immigrationdb.com/cities/es/porrino/) — ImmigrationDB; ImmigrationDB; snapshot approved-static-8975a8c3d87026ab; version approved-static-8975a8c3d87026ab; retrieved 2026-09-14; built 2026-09-14."
    },
    "boundary_note": "This citation identifies the ImmigrationDB compilation/page. Underlying source publishers and datasets retain their own terms; inspect the Sources section and cite those records separately."
  },
  "underlying_source_references": [
    {
      "source_id": "task-652-admission-01:source:f1b64c68a038a5dbd966b896ae032391",
      "source_url": "https://sede.sepe.gob.es/es/portaltrabaja/resources/sede/datos_abiertos/datos/Paro_por_municipios_2026_csv.csv",
      "source_title": "Servicio Público de Empleo Estatal (SEPE)",
      "publisher": "Servicio Público de Empleo Estatal (SEPE)",
      "source_quality": "verified",
      "last_checked": "2026-08-04"
    },
    {
      "source_id": "task-659-admission-01:source:324324240f48403d67819c632a2ddd02",
      "source_url": "https://air.discomap.eea.europa.eu/arcgis/rest/services/AirQuality/AQ_Statistics_WM/MapServer/0/query?where=Country_ISO%3D%27ES%27+AND+AirPollutant%3D%27PM2.5%27+AND+YearOfStatistics%3D2024&outFields=AirPollutant%2CAirPollutionLevel%2CCountry_ISO%2CStationName%2CYearOfStatistics%2CUnitOfAirpollutionLevel%2CReportingMetric%2CLatitudeOfMeasurementStation%2CLongitudeOfMeasurementStation%2CDataCoverage%2CPreliminary&returnGeometry=false&f=json",
      "source_title": "European Environment Agency (EEA)",
      "publisher": "European Environment Agency (EEA)",
      "source_quality": "verified",
      "last_checked": "2026-08-06"
    },
    {
      "source_id": "task-659-admission-01:source:de3bfc7c93bc42b3edb54157a5105659",
      "source_url": "https://www.nodc.noaa.gov/archive/arc0216/0253808/1.1/data/0-data/data-composite-primary-parameters/wmo_normals_9120_TMAX.csv",
      "source_title": "NOAA National Centers for Environmental Information / WMO",
      "publisher": "NOAA National Centers for Environmental Information / WMO",
      "source_quality": "verified",
      "last_checked": "2026-08-06"
    },
    {
      "source_id": "task-659-admission-01:source:dc97aa1dc7e39b70427bbcc4b52bf081",
      "source_url": "https://www.nodc.noaa.gov/archive/arc0216/0253808/1.1/data/0-data/data-composite-primary-parameters/wmo_normals_9120_TMIN.csv",
      "source_title": "NOAA National Centers for Environmental Information / WMO",
      "publisher": "NOAA National Centers for Environmental Information / WMO",
      "source_quality": "verified",
      "last_checked": "2026-08-06"
    },
    {
      "source_id": "task-659-admission-01:source:5660fad1956c1bef63a95b34be9cfd60",
      "source_url": "https://www.nodc.noaa.gov/archive/arc0216/0253808/1.1/data/0-data/data-composite-primary-parameters/wmo_normals_9120_TAVG.csv",
      "source_title": "NOAA National Centers for Environmental Information / WMO",
      "publisher": "NOAA National Centers for Environmental Information / WMO",
      "source_quality": "verified",
      "last_checked": "2026-08-06"
    },
    {
      "source_id": "task-659-admission-01:source:9c640c101a32b20fefefb1ba70369ab3",
      "source_url": "https://www.nodc.noaa.gov/archive/arc0216/0253808/1.1/data/0-data/data-composite-primary-parameters/wmo_normals_9120_PRCP.csv",
      "source_title": "NOAA National Centers for Environmental Information / WMO",
      "publisher": "NOAA National Centers for Environmental Information / WMO",
      "source_quality": "verified",
      "last_checked": "2026-08-06"
    },
    {
      "source_id": "task-659-admission-01:source:e51786d06be46f1867bd002617847328",
      "source_url": "https://www.nodc.noaa.gov/archive/arc0216/0253808/1.1/data/0-data/data-composite-primary-parameters/wmo_normals_9120_TSUN.csv",
      "source_title": "NOAA National Centers for Environmental Information / WMO",
      "publisher": "NOAA National Centers for Environmental Information / WMO",
      "source_quality": "verified",
      "last_checked": "2026-08-06"
    },
    {
      "source_id": "source-2c811b7da15a",
      "source_url": "https://raw.githubusercontent.com/jpatokal/openflights/master/data/routes.dat",
      "source_title": "OpenFlights",
      "publisher": "OpenFlights",
      "source_quality": "verified",
      "last_checked": "2026-08-03"
    },
    {
      "source_id": "source-4e7d55f2c3dd",
      "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
      "source_title": "OurAirports",
      "publisher": "OurAirports",
      "source_quality": "verified",
      "last_checked": "2026-08-03"
    },
    {
      "source_id": "source-5d6c06327570",
      "source_url": "https://educagob.educacionfpydeportes.gob.es/eu/ensenanzas/idiomas/donde-estudiar.html",
      "source_title": "HTML lines around #Dónde-estudiar; public EOI network, levels, modalities and state register link",
      "publisher": "educagob.educacionfpydeportes.gob.es",
      "source_quality": "verified",
      "last_checked": "2026-08-10"
    },
    {
      "source_id": "source-6f684f13b75a",
      "source_url": "https://www.sepe.es/HomeSepe/en/",
      "source_title": "Servicio Público de Empleo Estatal",
      "publisher": "Servicio Público de Empleo Estatal (SEPE)",
      "source_quality": "verified",
      "last_checked": "2026-08-10"
    },
    {
      "source_id": "task-647-648-country-region-admission-01:source:43790178b74c270f381a9db88d7ab1ed",
      "source_url": "https://www.boe.es/eli/es/rd/2012/08/03/1192/con",
      "source_title": "Boletín Oficial del Estado (BOE), Real Decreto 1192/2012",
      "publisher": "Boletín Oficial del Estado (BOE), Real Decreto 1192/2012",
      "source_quality": "verified",
      "last_checked": "2026-08-03"
    }
  ],
  "canonical_path": "/cities/es/porrino/",
  "mcp_uri": "immigrationdb://city/es/porrino",
  "editorial_copy": {
    "status": "reviewed",
    "reviewed_at": "2026-08-08",
    "copy_depth": "city_standard",
    "blocks": {
      "intro": "Porriño is a city in Spain, and the figures below are its published values. At the end of 2024, annual PM2.5 reached 11 µg/m³.",
      "mobility_lead": "Porriño's nearest airport was VGO, 8 km away and offered 5 direct destinations.",
      "climate_lead": "Monthly mean temperature moved from 8.9°C in January to 20.2°C in July. Porriño's monthly precipitation totalled 221.9 mm in January and 39.7 mm in July. Porriño's average monthly sunshine was 108.8 hours in January and 297.2 hours in July."
    },
    "used_claim_count": 7,
    "uses_supplemental_cd": false
  },
  "city": {
    "entity_id": "city:es:geonames:3113157",
    "name": "Porriño",
    "country_code": "ES",
    "public_slug": "porrino",
    "canonical_path": "/cities/es/porrino/",
    "mcp_uri": "immigrationdb://city/es/porrino",
    "page_state": "published",
    "usefulness": {
      "policy": "city_usefulness_v1",
      "has_reviewed_copy": true,
      "valid_slug": true,
      "counts": {
        "ab_facts": 10,
        "metrics": 10,
        "source_blocks": 3,
        "decision_domains": 3,
        "answer_intents": 2,
        "fresh_facts": 10
      },
      "answer_intents": [
        "air",
        "work"
      ],
      "decision_domains": [
        "environment",
        "mobility",
        "work"
      ],
      "requirements": {
        "metrics": true,
        "source_blocks": true,
        "decision_domains": true,
        "answer_intents": true,
        "fresh_facts": true
      },
      "base_floor_passed": true,
      "tier": "useful",
      "indexable": true,
      "internal_link_kind": "similar_population",
      "structured_context_count": 0,
      "missing_requirements": []
    },
    "useful_blocks": [
      "climate_air",
      "mobility_admin",
      "work_income"
    ],
    "useful_fact_count": 10,
    "city_tags": [],
    "profile_scores": {
      "remote": {
        "point": 53,
        "low": 42,
        "high": 64,
        "factors": {
          "cost_pressure": 62,
          "employment_service": 68,
          "family": 38,
          "language_integration": 82,
          "legal_path": 88,
          "work": 38
        },
        "housing_budget": {
          "status": "estimated_fits",
          "currency": "EUR",
          "fx_date": null,
          "normalized_monthly_eur": 229,
          "source_id": null,
          "basis": "country_median_estimate"
        },
        "coverage": 0.5077,
        "confidence": 0.9,
        "coverage_status": "usable",
        "missing_factors": [
          "air",
          "healthcare_capacity",
          "healthcare_migrant_access",
          "housing",
          "safety",
          "tax_retention"
        ],
        "country_context": {
          "employment_service": {
            "score": 68,
            "weight": 0.75,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "language_integration": {
            "score": 82,
            "weight": 0.5,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "legal_path": {
            "score": 88,
            "weight": 1,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          }
        }
      },
      "skilled_employee": {
        "point": 57,
        "low": 47,
        "high": 67,
        "factors": {
          "cost_pressure": 62,
          "employment_service": 68,
          "family": 38,
          "language_integration": 82,
          "legal_path": 88,
          "tax_retention": 76,
          "work": 38
        },
        "housing_budget": {
          "status": "estimated_fits",
          "currency": "EUR",
          "fx_date": null,
          "normalized_monthly_eur": 229,
          "source_id": null,
          "basis": "country_median_estimate"
        },
        "coverage": 0.5556,
        "confidence": 0.82,
        "coverage_status": "usable",
        "missing_factors": [
          "education",
          "healthcare_capacity",
          "healthcare_migrant_access",
          "housing",
          "safety"
        ],
        "country_context": {
          "employment_service": {
            "score": 68,
            "weight": 1,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "language_integration": {
            "score": 82,
            "weight": 1,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "legal_path": {
            "score": 88,
            "weight": 2,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "tax_retention": {
            "score": 76,
            "weight": 2,
            "confidence": 0.5,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          }
        }
      },
      "family": {
        "point": 52,
        "low": 40,
        "high": 64,
        "factors": {
          "cost_pressure": 62,
          "employment_service": 68,
          "family": 38,
          "language_integration": 82,
          "legal_path": 88,
          "work": 38
        },
        "housing_budget": {
          "status": "estimated_fits",
          "currency": "EUR",
          "fx_date": null,
          "normalized_monthly_eur": 229,
          "source_id": null,
          "basis": "country_median_estimate"
        },
        "coverage": 0.4286,
        "confidence": 0.9,
        "coverage_status": "usable",
        "missing_factors": [
          "education",
          "healthcare_capacity",
          "healthcare_migrant_access",
          "housing",
          "safety"
        ],
        "country_context": {
          "employment_service": {
            "score": 68,
            "weight": 0.5,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "language_integration": {
            "score": 82,
            "weight": 1,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "legal_path": {
            "score": 88,
            "weight": 1,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          }
        }
      },
      "student": {
        "point": 58,
        "low": 46,
        "high": 70,
        "factors": {
          "cost_pressure": 62,
          "employment_service": 68,
          "family": 38,
          "language_integration": 82,
          "legal_path": 88,
          "work": 38
        },
        "housing_budget": {
          "status": "estimated_fits",
          "currency": "EUR",
          "fx_date": null,
          "normalized_monthly_eur": 229,
          "source_id": null,
          "basis": "country_median_estimate"
        },
        "coverage": 0.4118,
        "confidence": 0.9,
        "coverage_status": "usable",
        "missing_factors": [
          "education",
          "healthcare_capacity",
          "healthcare_migrant_access",
          "housing",
          "safety"
        ],
        "country_context": {
          "employment_service": {
            "score": 68,
            "weight": 0,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "language_integration": {
            "score": 82,
            "weight": 1,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "legal_path": {
            "score": 88,
            "weight": 2,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          }
        }
      },
      "retirement": {
        "point": 56,
        "low": 42,
        "high": 70,
        "factors": {
          "cost_pressure": 62,
          "employment_service": 68,
          "family": 38,
          "language_integration": 82,
          "legal_path": 88,
          "work": 38
        },
        "housing_budget": {
          "status": "estimated_fits",
          "currency": "EUR",
          "fx_date": null,
          "normalized_monthly_eur": 229,
          "source_id": null,
          "basis": "country_median_estimate"
        },
        "coverage": 0.225,
        "confidence": 0.9,
        "coverage_status": "capped",
        "missing_factors": [
          "air",
          "bureaucracy",
          "healthcare_capacity",
          "healthcare_migrant_access",
          "housing",
          "safety",
          "tax_retention"
        ],
        "country_context": {
          "employment_service": {
            "score": 68,
            "weight": 0,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "language_integration": {
            "score": 82,
            "weight": 0.5,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          },
          "legal_path": {
            "score": 88,
            "weight": 2,
            "confidence": 0.9,
            "grain": "country",
            "grainLabel": "country-grain national context",
            "sourceCount": 1,
            "metricIds": [],
            "peerCounts": [],
            "normalization": []
          }
        }
      }
    },
    "facts_by_block": {
      "housing_cost": [],
      "work_income": [
        {
          "reader_label": "Unemployment rate",
          "label_owner_metric_id": "unemployment_total_percent",
          "reader_label_role": "primary",
          "metric_id": "unemployment_total_percent",
          "block_id": "work_income",
          "value": 5.76,
          "unit": "percent",
          "geographic_scope": "city",
          "observed_at": "2026-08-04",
          "verified_at": "2026-08-04",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "city",
            "unit": "%",
            "observed_at": "2026-08-04",
            "data_level": null
          },
          "source_id": "task-652-admission-01:source:f1b64c68a038a5dbd966b896ae032391",
          "source_url": "https://sede.sepe.gob.es/es/portaltrabaja/resources/sede/datos_abiertos/datos/Paro_por_municipios_2026_csv.csv",
          "source_title": "Servicio Público de Empleo Estatal (SEPE)",
          "source_authority": "Servicio Público de Empleo Estatal (SEPE)",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "climate_air": [
        {
          "reader_label": "PM2.5 — annual mean",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "air_quality_pm25_annual_ug_m3",
          "block_id": "climate_air",
          "value": 11,
          "unit": "ug/m3",
          "geographic_scope": "nearest_station",
          "observed_at": "2024-12-31",
          "verified_at": "2026-08-06",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "nearest_station",
            "unit": "µg/m³",
            "observed_at": "2024-12-31",
            "data_level": null
          },
          "source_id": "task-659-admission-01:source:324324240f48403d67819c632a2ddd02",
          "source_url": "https://air.discomap.eea.europa.eu/arcgis/rest/services/AirQuality/AQ_Statistics_WM/MapServer/0/query?where=Country_ISO%3D%27ES%27+AND+AirPollutant%3D%27PM2.5%27+AND+YearOfStatistics%3D2024&outFields=AirPollutant%2CAirPollutionLevel%2CCountry_ISO%2CStationName%2CYearOfStatistics%2CUnitOfAirpollutionLevel%2CReportingMetric%2CLatitudeOfMeasurementStation%2CLongitudeOfMeasurementStation%2CDataCoverage%2CPreliminary&returnGeometry=false&f=json",
          "source_title": "European Environment Agency (EEA)",
          "source_authority": "European Environment Agency (EEA)",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "reader_label": "Average daytime high by month",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "climate_monthly_high_c",
          "block_id": "climate_air",
          "value": [
            12.5,
            13.9,
            16.4,
            17.7,
            20.4,
            23.4,
            25.6,
            26,
            23.9,
            19.9,
            15.2,
            12.9
          ],
          "unit": "°C",
          "geographic_scope": "nearest_station",
          "observed_at": "1991-12-31",
          "verified_at": "2026-08-06",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "nearest_station",
            "unit": "°c",
            "observed_at": "1991-12-31",
            "data_level": null
          },
          "source_id": "task-659-admission-01:source:de3bfc7c93bc42b3edb54157a5105659",
          "source_url": "https://www.nodc.noaa.gov/archive/arc0216/0253808/1.1/data/0-data/data-composite-primary-parameters/wmo_normals_9120_TMAX.csv",
          "source_title": "NOAA National Centers for Environmental Information / WMO",
          "source_authority": "NOAA National Centers for Environmental Information / WMO",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "reader_label": "Average night-time low by month",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "climate_monthly_low_c",
          "block_id": "climate_air",
          "value": [
            5.3,
            5.5,
            7.2,
            8.4,
            10.6,
            13.2,
            14.8,
            15.1,
            13.8,
            11.3,
            7.9,
            6.1
          ],
          "unit": "°C",
          "geographic_scope": "nearest_station",
          "observed_at": "1991-12-31",
          "verified_at": "2026-08-06",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "nearest_station",
            "unit": "°c",
            "observed_at": "1991-12-31",
            "data_level": null
          },
          "source_id": "task-659-admission-01:source:dc97aa1dc7e39b70427bbcc4b52bf081",
          "source_url": "https://www.nodc.noaa.gov/archive/arc0216/0253808/1.1/data/0-data/data-composite-primary-parameters/wmo_normals_9120_TMIN.csv",
          "source_title": "NOAA National Centers for Environmental Information / WMO",
          "source_authority": "NOAA National Centers for Environmental Information / WMO",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "reader_label": "Average temperature by month",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "climate_monthly_mean_c",
          "block_id": "climate_air",
          "value": [
            8.9,
            9.7,
            11.8,
            13.1,
            15.5,
            18.3,
            20.2,
            20.5,
            18.8,
            15.6,
            11.5,
            9.5
          ],
          "unit": "°C",
          "geographic_scope": "nearest_station",
          "observed_at": "1991-12-31",
          "verified_at": "2026-08-06",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "nearest_station",
            "unit": "°c",
            "observed_at": "1991-12-31",
            "data_level": null
          },
          "source_id": "task-659-admission-01:source:5660fad1956c1bef63a95b34be9cfd60",
          "source_url": "https://www.nodc.noaa.gov/archive/arc0216/0253808/1.1/data/0-data/data-composite-primary-parameters/wmo_normals_9120_TAVG.csv",
          "source_title": "NOAA National Centers for Environmental Information / WMO",
          "source_authority": "NOAA National Centers for Environmental Information / WMO",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "reader_label": "Average precipitation by month",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "climate_monthly_precip_mm",
          "block_id": "climate_air",
          "value": [
            221.9,
            143.1,
            152.7,
            149.6,
            113.2,
            56.2,
            39.7,
            48,
            95.3,
            208.2,
            236.9,
            231.2
          ],
          "unit": "mm",
          "geographic_scope": "nearest_station",
          "observed_at": "1991-12-31",
          "verified_at": "2026-08-06",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "nearest_station",
            "unit": "mm",
            "observed_at": "1991-12-31",
            "data_level": null
          },
          "source_id": "task-659-admission-01:source:9c640c101a32b20fefefb1ba70369ab3",
          "source_url": "https://www.nodc.noaa.gov/archive/arc0216/0253808/1.1/data/0-data/data-composite-primary-parameters/wmo_normals_9120_PRCP.csv",
          "source_title": "NOAA National Centers for Environmental Information / WMO",
          "source_authority": "NOAA National Centers for Environmental Information / WMO",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "reader_label": "Average sunshine by month",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "climate_monthly_sunshine_h",
          "block_id": "climate_air",
          "value": [
            108.8,
            134.7,
            177.7,
            201.2,
            237.4,
            266.3,
            297.2,
            282.4,
            217.8,
            156.9,
            109.7,
            99.8
          ],
          "unit": "hours",
          "geographic_scope": "nearest_station",
          "observed_at": "1991-12-31",
          "verified_at": "2026-08-06",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "nearest_station",
            "unit": "hours",
            "observed_at": "1991-12-31",
            "data_level": null
          },
          "source_id": "task-659-admission-01:source:e51786d06be46f1867bd002617847328",
          "source_url": "https://www.nodc.noaa.gov/archive/arc0216/0253808/1.1/data/0-data/data-composite-primary-parameters/wmo_normals_9120_TSUN.csv",
          "source_title": "NOAA National Centers for Environmental Information / WMO",
          "source_authority": "NOAA National Centers for Environmental Information / WMO",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ],
      "mobility_admin": [
        {
          "reader_label": "Airport Direct Destinations Count",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "airport_direct_destinations_count",
          "block_id": "mobility_admin",
          "value": 5,
          "unit": "count",
          "geographic_scope": "city",
          "observed_at": "2026-08-03",
          "verified_at": "2026-08-03",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "city",
            "unit": "count",
            "observed_at": "2026-08-03",
            "data_level": null
          },
          "source_id": "source-2c811b7da15a",
          "source_url": "https://raw.githubusercontent.com/jpatokal/openflights/master/data/routes.dat",
          "source_title": "OpenFlights",
          "source_authority": "OpenFlights",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "reader_label": "Nearest Major Airport Distance Km",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "nearest_major_airport_distance_km",
          "block_id": "mobility_admin",
          "value": 8,
          "unit": "km",
          "geographic_scope": "city",
          "observed_at": "2026-08-03",
          "verified_at": "2026-08-03",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "city",
            "unit": "km",
            "observed_at": "2026-08-03",
            "data_level": null
          },
          "source_id": "source-4e7d55f2c3dd",
          "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
          "source_title": "OurAirports",
          "source_authority": "OurAirports",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        },
        {
          "reader_label": "Nearest Major Airport Iata",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "nearest_major_airport_iata",
          "block_id": "mobility_admin",
          "value": "VGO",
          "unit": "iata_code",
          "geographic_scope": "city",
          "observed_at": "2026-08-03",
          "verified_at": "2026-08-03",
          "comparison_eligible": true,
          "comparison_basis": {
            "geographic_scope": "city",
            "unit": "unit-not-stated",
            "observed_at": "2026-08-03",
            "data_level": null
          },
          "source_id": "source-4e7d55f2c3dd",
          "source_url": "https://davidmegginson.github.io/ourairports-data/airports.csv",
          "source_title": "OurAirports",
          "source_authority": "OurAirports",
          "source_type": "official",
          "source_badge": "Official source",
          "source_quality": "verified"
        }
      ]
    },
    "language_integration": {
      "mode": "national",
      "local_locations": [],
      "supplemental_locations": [],
      "programmes": [
        {
          "program_id": "li:es:program:eoi-public-language-network",
          "name": "Escuelas Oficiales de Idiomas — public language education network",
          "type": "state_language_course",
          "responsible_body": "Ministry of Education, Vocational Training and Sports / autonomous education authorities",
          "scope": {
            "name": "Spain",
            "grain": "national",
            "country_code": "ES",
            "relation_method": "national_scope"
          },
          "target_groups": [
            "adult language learners",
            "residents"
          ],
          "languages_taught": [],
          "cefr_start": null,
          "cefr_end": null,
          "eligibility_summary": null,
          "cost_model": "varies",
          "modality": [
            "in_person",
            "online",
            "hybrid"
          ],
          "official_url": "https://educagob.educacionfpydeportes.gob.es/eu/ensenanzas/idiomas/donde-estudiar.html",
          "source": {
            "source_id": "source-5d6c06327570",
            "title": "HTML lines around #Dónde-estudiar; public EOI network, levels, modalities and state register link",
            "publisher": "educagob.educacionfpydeportes.gob.es",
            "url": "https://educagob.educacionfpydeportes.gob.es/eu/ensenanzas/idiomas/donde-estudiar.html",
            "source_url": "https://educagob.educacionfpydeportes.gob.es/eu/ensenanzas/idiomas/donde-estudiar.html",
            "source_quality": "verified",
            "last_checked": "2026-08-10"
          }
        }
      ],
      "supplemental_programmes": []
    },
    "public_employment_service": {
      "mode": "national",
      "local_locations": [],
      "services": [
        {
          "service_id": "employment:es:service:sepe",
          "name": "Servicio Público de Empleo Estatal",
          "agency_name": "Servicio Público de Empleo Estatal (SEPE)",
          "scope": {
            "name": "ES",
            "grain": "national",
            "entity_id": null,
            "country_code": "ES",
            "official_key": null,
            "relation_method": "national_scope"
          },
          "service_types": [
            "job_search",
            "unemployment_claim",
            "training"
          ],
          "eligible_statuses": [],
          "registration_requirements": null,
          "languages_available": [],
          "information_url": "https://www.sepe.es/HomeSepe/en/",
          "registration_url": null,
          "job_search_url": "https://www.sistemanacionalempleo.es/",
          "source": {
            "source_id": "source-6f684f13b75a",
            "title": "Servicio Público de Empleo Estatal",
            "publisher": "Servicio Público de Empleo Estatal (SEPE)",
            "source_url": "https://www.sepe.es/HomeSepe/en/",
            "source_quality": "verified",
            "last_checked": "2026-08-10"
          }
        }
      ]
    },
    "healthcare_access": {
      "scope": "country_rule_with_city_capacity_when_available",
      "facts": [
        {
          "reader_label": "Public healthcare access for foreign residents",
          "label_owner_metric_id": null,
          "reader_label_role": "metric",
          "metric_id": "public_health_expat_coverage",
          "value": "yes",
          "unit": "eligibility_status",
          "geographic_scope": "country",
          "observed_at": "2026-08-03",
          "verified_at": "2026-08-03",
          "comparison_eligible": false,
          "comparison_basis": {
            "geographic_scope": "country",
            "unit": "unit-not-stated",
            "observed_at": "2026-08-03",
            "data_level": null
          },
          "source_id": "task-647-648-country-region-admission-01:source:43790178b74c270f381a9db88d7ab1ed",
          "source_url": "https://www.boe.es/eli/es/rd/2012/08/03/1192/con",
          "source_title": "Boletín Oficial del Estado (BOE), Real Decreto 1192/2012",
          "source_authority": "Boletín Oficial del Estado (BOE), Real Decreto 1192/2012",
          "source_quality": "verified"
        }
      ]
    },
    "city_intent": null,
    "country_rules_url": "/countries/spain/"
  }
}
