Ignorar Navegação

UK Met Office Global Weather Data for COVID-19 Analysis

COVID-19 coronavirus Met Office environment Weather AIforEarth

Estes dados têm como objetivo ajudar os investigadores da COVID-19 a explorar relações entre a COVID-19 e fatores ambientais.

Para obter mais informações, veja a nossa publicação de blogue. Se precisar de recursos de computação para processar estes dados, nós poderemos ajudar.

Licença

Os utilizadores têm de creditar a Met Office como sendo a origem destes dados mediante a inclusão da seguinte declaração de atribuição em todos os produtos, publicações ou aplicações resultantes: “Inclui dados da Met Office licenciados ao abrigo da Licença Open Government v3.0”.

Estes dados são disponibilizados ao abrigo da Licença Open Government.

Sobre os dados

Modelo numérico de previsão meteorológica global e de alta resolução da UK Met Office. Os dados são relativos aos intervalos de tempo iniciais do modelo após a assimilação dos dados, motivo pelo qual estes dados se aproximam de um conjunto de dados de observação de toda a Terra.

Estão disponíveis as seguintes variáveis:

  • t1o5m = temperatura do ar a 1,5 m em K
  • sh = humidade específica a 1,5 m em kg/kg (kg de vapor de água por kg de ar)
  • sw = radiação de ondas curtas em Wm − 2 (substituto da luz solar)
  • precip = fluxo de precipitação em kgm − 2s − 1 (multiplicar por 3600 para obter mm/hr )
  • rain = fluxo de chuva em kgm − 2s − 1 (multiplicar por 3600 para obter mm/hr)
  • pmsl = pressão do ar ao nível médio do ar em Pa

Estes dados são fornecidos como ficheiros NetCDF.

Os dados de modelos globais e do Reino Unido estão disponíveis desde 1 de janeiro de 2020. O conjunto de dados é atualizado todos os dias relativamente ao dia anterior.

Para obter informações detalhadas sobre como estes dados são gerados e as particularidades dos parâmetros, veja a referência técnica.

Estão disponíveis como ficheiros CSV algumas agregações de dados pós-processados adicionais relativamente a regiões de reporte da COVID-19 no Reino Unido e nos EUA. Mais detalhes abaixo.

Localização do armazenamento

Este conjunto de dados é armazenado na região do Azure E.U.A. Leste 2. A alocação de recursos de computação nos E.U.A. Leste 2 é recomendada por questões de afinidade.

Ligações rápidas

Volumes, retenção e frequência de atualização dos dados

Os dados em grelha são atualizados todos os dias relativamente ao dia anterior.

À data de 18/04/2020, o conjunto de dados tem cerca de 352 G no total. Aumenta semanalmente em cerca de 22 G por semana.

Pretendemos reter e disponibilizar estes dados enquanto acreditarmos que são úteis no planeamento da resposta à pandemia da COVID-19.

Início rápido

Os dados estão alojados no Microsoft Azure através da iniciativa AI for Earth da Microsoft. Pode aceder aos mesmos de várias formas, entre as quais:

Apontar e clicar

Abra o ficheiro de índice no browser. Verá uma lista de ligações para ficheiros de dados nos quais pode clicar para os transferir no browser.

Bibliotecas do Blob do Azure

Existem diversas bibliotecas em vários idiomas para trabalhar com o Blob do Azure. Veja a documentação do Blob do Azure para obter mais informações.

Transferir com o AZCopy

Há muitos ficheiros, pelo que sugerimos a instalação da ferramenta de linha de comandos azcopy, que pode ser transferida aqui. Desta forma, pode transferir diretórios inteiros ou vários ficheiros com carateres universais.

Por exemplo…

Para transferir o ficheiro global_daily_precip_max_20200101.nc para o diretório atual:
azcopy cp https://metdatasa.blob.core.windows.net/covid19-response/metoffice_global_daily/precip_max/global_daily_precip_max_20200101.nc .

Para transferir os conteúdos de /metoffice_ukv_daily/snow_mean/ to ukv_daily_snow_mean/:
azcopy cp 'https://metdatasa.blob.core.windows.net/covid19-response/metoffice_ukv_daily/snow_mean/*' ukv_daily_snow_mean/

Para transferir todos os dados meteorológicos das médias de todos os condados dos estados dos EUA que correspondam ao padrão us_55*.csv:
azcopy cp --recursive --include-pattern 'us_55*.csv' https://metdatasa.blob.core.windows.net/covid19-response/regional_subset_data/us_data/ .

Como os dados são organizados

metoffice_global_daily/

…contém os ficheiros de dados em grelha globais diários da Met Office. Existe um diretório para cada variável.

Cada ficheiro tem um nome descritivo como global_daily_{variable}_{statistic}_{YYYYMMDD}.nc.

  • .../t1o5m_mean/ = ficheiros de temperatura do ar média diária
  • .../t1o5m_max/ = ficheiros de temperatura do ar máxima diária
  • .../t1o5m_min/ = ficheiros de temperatura do ar mínima diária
  • .../sh_mean/ = ficheiros de humidade específica média diária
  • .../sh_max/ = ficheiros de humidade específica máxima diária
  • .../sh_min/ = ficheiros de humidade específica mínima diária
  • .../sw_mean/ = ficheiros da média diária da radiação de ondas curtas
  • .../sw_max/ = ficheiros da máxima diária da radiação de ondas curtas
  • .../precip_mean/ = ficheiros de fluxo de precipitação média diária
  • .../precip_max/ = ficheiros de fluxo de precipitação máxima diária
metoffice_global_hourly/

…contém os ficheiros de dados em grelha globais por hora da Met Office.

Cada ficheiro tem um nome descritivo como global_hourly_{variable}_global_{YYYYMMDD}.nc.

  • .../t1o5m/ = ficheiros de temperatura do ar por hora
  • .../sh/ = ficheiros de humidade específica por hora
  • .../sw/ = ficheiros da radiação de ondas curtas por hora
  • .../precip/ = ficheiros de fluxo de precipitação por hora
  • .../precip3hr/ = ficheiros de fluxo de precipitação de três em três horas
  • .../pmsl/ = ficheiros da pressão atmosférica ao nível médio do mar por hora
metoffice_ukv_daily/

…contém os ficheiros de dados em grelha UKV diários da Met Office.

Cada ficheiro tem um nome descritivo como ukv_daily_{variable}_{statistic}_{YYYYMMDD}.nc.

  • .../t1o5m_mean/ = ficheiros de temperatura do ar média diária
  • .../t1o5m_max/ = ficheiros de temperatura do ar máxima diária
  • .../t1o5m_min/ = ficheiros de temperatura do ar mínima diária
  • .../sh_mean/ = ficheiros de humidade específica média diária
  • .../sh_max/ = ficheiros de humidade específica máxima diária
  • .../sh_min/ = ficheiros de humidade específica mínima diária
  • .../sw_mean/ = ficheiros da média diária da radiação de ondas curtas
  • .../sw_max/ = ficheiros da máxima diária da radiação de ondas curtas
metoffice_ukv_hourly/

…contém os ficheiros de dados em grelha UKV por hora da Met Office.

Cada ficheiro tem um nome descritivo como ukv_hourly_{variable}_{YYYYMMDD}.nc.

  • .../t1o5m_ukv/ = ficheiros de temperatura do ar por hora
  • .../sh_ukv/ = ficheiros de humidade específica por hora
  • .../sw_ukv/ = ficheiros da radiação de ondas curtas por hora
  • .../pmsl_ukv/ = ficheiros da pressão atmosférica ao nível médio do mar por hora
regional_subset_data/

…contém valores diários regionais processados relativos ao Reino Unido e aos EUA como ficheiros .csv.

Para o processamento dos ficheiros, foi criado um subconjunto dos ficheiros diários globais em grelha da Met Office mediante a utilização de ficheiros de formas para cada região, obtendo o valor médio de latitude/longitude de cada variável em cada região relativa a cada data e guardando esses valores como uma tabela num ficheiro .csv*.

  • .../uk_daily_meteodata_2020jan-mar_v03.csv = valores diários de t1o5m, sh, sw e precip relativos a todas as regiões de reporte no Reino Unido (junção de todos os ficheiros em /uk_data/ e /uk_data_precip).
  • .../us_daily_meteodata_2020jan-mar_v03.csv = valores diários de t1o5m, sh, sw e precip relativos a todos os condados nos EUA (junção de todos os ficheiros em /us_data/ e /us_data_precip)
  • .../uk_data/ = valores diários de t1o5m, sh e sw relativos a cada região de reporte no Reino Unido (um ficheiro .csv por região)
  • .../uk_data_precip/ = valores diários de precip relativos a cada região de reporte no Reino Unido (um ficheiro .csv por região)
  • .../us_data/ = valores diários de t1o5m, sh e sw relativos a cada condado nos EUA (um ficheiro .csv por condado)
  • .../us_data_precip/ = valores diários de precip relativos a cada condado nos EUA (um ficheiro .csv por condado)
shapefiles/

Contém ficheiros de formas para Reino Unido, EUA, Itália, Brasil, Uganda e Vietname.

  • .../UK/ = regiões de reporte da COVID-19 do Reino Unido
  • .../USA/ = condados dos estados dos EUA
  • Nível administrativo 2 do .../Italy/ = GADM v3.6 para Itália
  • Nível administrativo 2 do .../Brazil/ = GADM v3.6 para o Brasil
  • Nível administrativo 2 do .../Uganda/ = GADM v3.6 para o Uganda
  • Nível administrativo 2 do .../Vietnam/ = GADM v3.6 para o Vietname

Sempre que possível, os nomes de ficheiros correspondem às descrições. No entanto, dado os intervalos de tempo curtos nos quais estes dados foram disponibilizados, poderão ocorrer pequenas variações nas descrições dos nomes de ficheiros, que, ainda assim, devem descrever com precisão os dados. Se encontrar erros em algum nome de ficheiro ou nos próprios dados, contacte-nos em covid19@informaticslab.co.uk.

Ajuda e contacto

Para obter ajuda ou para pedir dados adicionais, contacte-nos em covid19@informaticslab.co.uk.

Avisos

A MICROSOFT DISPONIBILIZA OS CONJUNTOS DE DADOS ABERTOS DO AZURE TAL COMO ESTÃO. A MICROSOFT NÃO FAZ GARANTIAS, EXPRESSAS OU IMPLÍCITAS, NEM CONDIÇÕES RELATIVAMENTE À SUA UTILIZAÇÃO DOS CONJUNTOS DE DADOS. ATÉ AO LIMITE MÁXIMO PERMITIDO PELA LEGISLAÇÃO LOCAL, A MICROSOFT REJEITA QUALQUER RESPONSABILIDADE POR DANOS OU PERDAS, INCLUINDO DIRETOS, CONSEQUENCIAIS, ESPECIAIS, INDIRETOS, INCIDENTAIS OU PUNITIVOS, QUE RESULTEM DA SUA UTILIZAÇÃO DOS CONJUNTOS DE DADOS.

Access

Available inWhen to use
Azure Notebooks

Quickly explore the dataset with Jupyter notebooks hosted on Azure or your local machine.

Select your preferred service:

Azure Notebooks

Azure Notebooks

Package: Language: Python

Met Office COVID-19 response dataset

This dataset is created, curated and updated for researchers looking to understand links between COVID-19 and environmental factors.

For more information check out our blog post and the data readme.

We are constantly updating the available data; subscribe to our news group to stay up to date or contact us if you have any requests or questions.

Imports and globals

Import the required modules, set up the default plot size and set some constants

In [1]:
import matplotlib.pyplot as plt 
import datetime

from azure.storage.blob import BlobClient, ContainerClient
from IPython.display import Markdown
from collections import namedtuple

%matplotlib inline
plt.rcParams['figure.figsize'] = (20.0, 10.0)

Set up the blob client with the connection details

In [2]:
account_url  = 'https://metdatasa.blob.core.windows.net/'
container_name = 'covid19-response'

# Create the ContainerClient object which will be used to enumerate blobs
container_client = ContainerClient(account_url=account_url,
                                   container_name=container_name,
                                   credential=None)

List the files under metoffice_global_daily/t1o5m_max

In [3]:
max_blobs = 10
for i_blob,blob in enumerate(container_client.list_blobs(
    name_starts_with='metoffice_global_daily/t1o5m_max')):
    print(f'{blob.name}')
    if i_blob >= max_blobs:
        break
metoffice_global_daily/t1o5m_max/global_daily_t1o5m_max_20200101.nc
metoffice_global_daily/t1o5m_max/global_daily_t1o5m_max_20200102.nc
metoffice_global_daily/t1o5m_max/global_daily_t1o5m_max_20200103.nc
metoffice_global_daily/t1o5m_max/global_daily_t1o5m_max_20200104.nc
metoffice_global_daily/t1o5m_max/global_daily_t1o5m_max_20200105.nc
metoffice_global_daily/t1o5m_max/global_daily_t1o5m_max_20200106.nc
metoffice_global_daily/t1o5m_max/global_daily_t1o5m_max_20200107.nc
metoffice_global_daily/t1o5m_max/global_daily_t1o5m_max_20200108.nc
metoffice_global_daily/t1o5m_max/global_daily_t1o5m_max_20200109.nc
metoffice_global_daily/t1o5m_max/global_daily_t1o5m_max_20200110.nc
metoffice_global_daily/t1o5m_max/global_daily_t1o5m_max_20200111.nc

Get a particular file based on the data required

In [4]:
data_end = (datetime.datetime.now() - datetime.timedelta(days=9)).date()
data_start = datetime.date(2020,1,1)

def url_from_properties(model, param, freq, stat=None, day=None, hour=None):
    
    assert model in ["global","ukv"]
    assert param in ["rain", "sh", "snow", "t1o5m", "pmsl","precip","sw"]
    assert freq in ["daily","hourly"]
    if freq == 'daily':
        assert stat in ['max', 'min', 'mean']
    else:
        assert stat is None  
    assert data_start <= day <= data_end
    
    stat = '_'+stat if stat else ''

    filepath = f'metoffice_{model}_{freq}/{param}{stat}/{model}_{freq}_{param}{stat}_{day:%Y%m%d}.nc'
    return f"{account_url}/{container_name}/{filepath}"

Properties = namedtuple('Properties',["model","param","freq","stat","day"])

files = [
    Properties("global","precip","daily","mean",datetime.date(2020,3,3)),
    Properties("ukv","t1o5m","daily","min",datetime.date(2020,4,1)),
    Properties("ukv","snow","hourly",None,datetime.date(2020,2,2)),
]

for file in files:
    path = url_from_properties(*file)
    print(path.replace(account_url,''))
/covid19-response/metoffice_global_daily/precip_mean/global_daily_precip_mean_20200303.nc
/covid19-response/metoffice_ukv_daily/t1o5m_min/ukv_daily_t1o5m_min_20200401.nc
/covid19-response/metoffice_ukv_hourly/snow/ukv_hourly_snow_20200202.nc

xarray and iris are useful tools for interacting with this sort of data

In [5]:
import xarray as xr
import iris
from io import BytesIO

Stream blob into memory and load dataset in xarray

In [6]:
data_description = Properties("global","precip","daily","mean",datetime.date(2020,1,30))
file_data = BytesIO(BlobClient.from_blob_url(
    url_from_properties(*data_description)).download_blob().readall())
ds = xr.open_dataset(file_data)
ds
Out[6]:
Show/Hide data repr Show/Hide attributes
xarray.Dataset
    • bnds: 2
    • latitude: 1920
    • longitude: 2560
    • latitude
      (latitude)
      float32
      -89.953125 -89.859375 ... 89.953125
    • longitude
      (longitude)
      float32
      0.0703125 0.2109375 ... 359.9297
    • forecast_period
      ()
      timedelta64[ns]
      ...
    • forecast_reference_time
      ()
      datetime64[ns]
      ...
    • time
      ()
      datetime64[ns]
      ...
    • precipitation_flux
      (latitude, longitude)
      float32
      ...
    • latitude_longitude
      ()
      int32
      ...
    • forecast_period_bnds
      (bnds)
      float64
      ...
    • forecast_reference_time_bnds
      (bnds)
      datetime64[ns]
      ...
    • time_bnds
      (bnds)
      datetime64[ns]
      ...
  • source :
    Data from Met Office Unified Model
    um_version :
    11.2
    Conventions :
    CF-1.5

Plot it with iris

In [ ]:
import tempfile

ds.precipitation_flux.plot()

tmp = tempfile.NamedTemporaryFile(delete=False)
data_description = Properties("ukv","sw","hourly",None,datetime.date(2020,1,30))
tmp.write(BlobClient.from_blob_url(
    url_from_properties(*data_description)).download_blob().readall())
local_path = tmp.name
tmp.close()

sw = iris.load_cube(local_path)
sw
Out[ ]:
M01S01I202 (1) forecast_period forecast_reference_time grid_latitude grid_longitude
Shape 6 4 808 621
Dimension coordinates
forecast_period x - - -
forecast_reference_time - x - -
grid_latitude - - x -
grid_longitude - - - x
Auxiliary coordinates
time x x - -
Attributes
Conventions CF-1.5
STASH m01s01i202
source Data from Met Office Unified Model
um_version 11.2