Skip to content
Paul Pukite edited this page Jun 27, 2020 · 6 revisions
  • QBO - qbo.txt

This uses the qbo_opt driver which has fewer long period tidal factors. Requires a semi-annual impulse. The impulse is possibly physically realized as described here.

QBO 30 hPa layer

QBO 70 hPa layer

set TRAIN_START=1993

set TRAIN_END=2001

Can get daily data from ERA5 project

https://cds.climate.copernicus.eu/cdsapp#!/dataset/reanalysis-era5-pressure-levels?tab=form

import cdsapi

c = cdsapi.Client()

c.retrieve(
    'reanalysis-era5-pressure-levels',
    {
        'product_type': 'reanalysis',
        'variable': 'u_component_of_wind',
        'pressure_level': '70',
        'year': [
            '1979', '1980', '1981',            '1982', '1983', '1984',            '1985', '1986', '1987',
            '1988', '1989', '1990',            '1991', '1992', '1993',            '1994', '1995', '1996',
            '1997', '1998', '1999',            '2000', '2001', '2002',            '2003', '2004', '2005',
            '2006', '2007', '2008',            '2009', '2010', '2011',            '2012', '2013', '2014',
            '2015', '2016', '2017',            '2018', '2019', '2020',        ],
        'month': [
            '01', '02', '03',            '04', '05', '06',            '07', '08', '09',            '10', '11', '12',
        ],
        'day': [
            '01', '02', '03',            '04', '05', '06',            '07', '08', '09',            '10', '11', '12',
            '13', '14', '15',            '16', '17', '18',            '19', '20', '21',            '22', '23', '24',
            '25', '26', '27',            '28', '29', '30',            '31',
        ],
        'time': '07:00',
        'area': [
            1, -1, -1,
            1,
        ],
        'format': 'grib',
    },
    'download.grib')

Use the wgrib utility to parse the grib file, and grep to filter out the data via e.g. the term "max". Mnemonic: grib&grep

 ./wgrib.exe adaptor.mars.internal-1592948850.5726225-23213-1-97610098-d07a-439b-b63c-ab694c2bad0f.grib  -V -ieee -d all | grep max >qbo70.txt

Training and cross-validation outside the interval can help to identify potentially anomalous states, such as the QBO anomaly of 2015-2016

Then cross-validating from fitting the daily records post-1979, and checking backwards to the start of QBO monthly records in 1953

Clone this wiki locally