Metobs Files Request Application

Note


The files are provided courtesy of SSEC/AOSS UW-Madison. Clients causing issues due to size or quantity of queries may be blocked from further access until the issue is resolved


Disclaimer

Products Available

Currently, there are level_00 products from 2 instrument platforms accessible through this interface, the AOSS AERI and AOSS Tower. Level_00 products for the Mendota Buoy and level_a0 products for the AOSS Tower and Mendota Buoy will be made available soon.

Query Format

Base URL

The base URL of a files query specifies the requested file return format:

http://metobs.ssec.wisc.edu/api/files.<fmt>

Valid values for fmt are:

    csv
    json
    sh
    bat
                    

The formats are documented below in the section Data Formats.

Query String

The query string will specify what specific files you would like to query for. The standard format for a HTTP GET query string can be found at http://en.wikipedia.org/wiki/query_string. Essentially, separate the URL from the query string using a ? and the key=value parameters with a &. Depending on the client, you may need to use URL character encoding in the URL, such as a + in place of any spaces. For more information see Example queries.

The query string supports the following query parameters:

begin: Start of the query interval in UTC as YYYY-MM-DD or -<number of days>. If the format -<number of days> is used, begin is interpreted as a relative time starting from the current date. If begin is not specified, it provides the latest files based upon the end parameter.
streams: (Required) Colon separated list of product attributes to query for. streams are specified as a colon separated list of '<site>.<instrument>.<product_id>.<product_level>.<version_number>'. The version number may be specificed as '*' to choose the most recent version. The product ID may also be specified as '*' to choose all products for a given level.
Note: level and version is abbreviated (i.e. level_00 becomes l00 and version_00 becomes v00). Valid streams quantifiers for each site/instrument are documented below.
end: End of the query interval in UTC as YYYY-MM-DD. If not provided, it defaults to today.
dates: Individual query dates separated by colons in the format of YYYY-MM-DD. If provided, this parameter overrides the begin and end parameters.

Stream Quantifiers

AOSS Tower:

Stream Name File Pattern Description
aoss.tower.*.l00.* N/A
aoss.tower.*.l00.v00 N/A
aoss.tower.*.lb1.* N/A
aoss.tower.*.lb1.v00 N/A
aoss.tower.accum-precip-daily.lb1.* aoss_tower.accum_precip.%Y-%m-%d.png
aoss.tower.accum-precip-daily.lb1.v00 aoss_tower.accum_precip.%Y-%m-%d.png
aoss.tower.ascii.l00.* aoss_tower.%Y-%m-%d.ascii
aoss.tower.ascii.l00.v00 aoss_tower.%Y-%m-%d.ascii
aoss.tower.meteorogram-daily.lb1.* aoss_tower.meteorogram.%Y-%m-%d.png
aoss.tower.meteorogram-daily.lb1.v00 aoss_tower.meteorogram.%Y-%m-%d.png
aoss.tower.nc-daily.lb1.* aoss_tower.%Y-%m-%d.nc
aoss.tower.nc-daily.lb1.v00 aoss_tower.%Y-%m-%d.nc
aoss.tower.pressure-daily.lb1.* aoss_tower.pressure.%Y-%m-%d.png
aoss.tower.pressure-daily.lb1.v00 aoss_tower.pressure.%Y-%m-%d.png
aoss.tower.solar-flux-daily.lb1.* aoss_tower.solar_flux.%Y-%m-%d.png
aoss.tower.solar-flux-daily.lb1.v00 aoss_tower.solar_flux.%Y-%m-%d.png
aoss.tower.td-daily.lb1.* aoss_tower.td.%Y-%m-%d.png
aoss.tower.td-daily.lb1.v00 aoss_tower.td.%Y-%m-%d.png
aoss.tower.wind-dir-daily.lb1.* aoss_tower.wind_dir.%Y-%m-%d.png
aoss.tower.wind-dir-daily.lb1.v00 aoss_tower.wind_dir.%Y-%m-%d.png
aoss.tower.wind-speed-daily.lb1.* aoss_tower.wind_speed.%Y-%m-%d.png
aoss.tower.wind-speed-daily.lb1.v00 aoss_tower.wind_speed.%Y-%m-%d.png

AOSS AERI:

Stream Name File Pattern Description
aoss.aeri.*.l00.* N/A
aoss.aeri.*.l00.v00 N/A
aoss.aeri.csv-f1.l00.* %y%m%dF1.CSV
aoss.aeri.csv-f1.l00.v00 %y%m%dF1.CSV
aoss.aeri.csv-f2.l00.* %y%m%dF2.CSV
aoss.aeri.csv-f2.l00.v00 %y%m%dF2.CSV
aoss.aeri.cxs-b1.l00.* %y%m%dB1.CXS
aoss.aeri.cxs-b1.l00.v00 %y%m%dB1.CXS
aoss.aeri.cxs-b2.l00.* %y%m%dB2.CXS
aoss.aeri.cxs-b2.l00.v00 %y%m%dB2.CXS
aoss.aeri.cxs-f1.l00.* %y%m%dF1.CXS
aoss.aeri.cxs-f1.l00.v00 %y%m%dF1.CXS
aoss.aeri.cxs-f2.l00.* %y%m%dF2.CXS
aoss.aeri.cxs-f2.l00.v00 %y%m%dF2.CXS
aoss.aeri.par.l00.* %y%m%d.PAR
aoss.aeri.par.l00.v00 %y%m%d.PAR
aoss.aeri.qc.l00.* %y%m%d.QC
aoss.aeri.qc.l00.v00 %y%m%d.QC
aoss.aeri.rnc-c1.l00.* %y%m%dC1.RNC
aoss.aeri.rnc-c1.l00.v00 %y%m%dC1.RNC
aoss.aeri.rnc-c2.l00.* %y%m%dC2.RNC
aoss.aeri.rnc-c2.l00.v00 %y%m%dC2.RNC
aoss.aeri.scr-aesitter.l00.* AESITTER.SCR
aoss.aeri.scr-aesitter.l00.v00 AESITTER.SCR
aoss.aeri.scr-radiance.l00.* RADIANCE.SCR
aoss.aeri.scr-radiance.l00.v00 RADIANCE.SCR
aoss.aeri.scr-summary.l00.* SUMMARY.SCR
aoss.aeri.scr-summary.l00.v00 SUMMARY.SCR
aoss.aeri.sum.l00.* %y%m%d.SUM
aoss.aeri.sum.l00.v00 %y%m%d.SUM
aoss.aeri.uvs-b1.l00.* %y%m%dB1.UVS
aoss.aeri.uvs-b1.l00.v00 %y%m%dB1.UVS
aoss.aeri.uvs-b2.l00.* %y%m%dB2.UVS
aoss.aeri.uvs-b2.l00.v00 %y%m%dB2.UVS
aoss.aeri.uvs-f1.l00.* %y%m%dF1.UVS
aoss.aeri.uvs-f1.l00.v00 %y%m%dF1.UVS
aoss.aeri.uvs-f2.l00.* %y%m%dF2.UVS
aoss.aeri.uvs-f2.l00.v00 %y%m%dF2.UVS

ARM Product Levels:

Product levels are based on the ARM data levels. More information can be found here.

Example Queries

Data Formats:

CSV

  • Comma separated list of values with a single line header of file names:
    # status: success
    # code: 200
    # message:
    # num_results: 2
    # Fields: filename, url, site, inst, level, size
    rig_tower.2016-08-03.ascii,http://metobs.ssec.wisc.edu/pub/cache/aoss/tower/level_00/version_00/2016/08/rig_tower.2016-08-03.ascii,aoss,tower,level_00,0
    rig_tower.2016-08-04.ascii,http://metobs.ssec.wisc.edu/pub/cache/aoss/tower/level_00/version_00/2016/08/rig_tower.2016-08-04.ascii,aoss,tower,level_00,0
                            

JSON

For displaying data using javascript or AJAX, use a JSON format. The api automatically returns that format as a CORS HTTP request; this particular CORS request allows cross origin get requests.

  • The JSON structure:
    {
        "code": 200,
        "data": [
                    {
                        "filename": "rig_tower.2016-08-03.ascii",
                        "inst": "tower",
                        "level": "level_00",
                        "site": "aoss",
                        "size": 0,
                        "url": "http://metobs.ssec.wisc.edu/pub/cache/aoss/tower/level_00/version_00/2016/08/rig_tower.2016-08-03.ascii"
                    },
                    {
                        "filename": "rig_tower.2016-08-04.ascii",
                        "inst": "tower",
                        "level": "level_00",
                        "site": "aoss",
                        "size": 0,
                        "url": "http://metobs.ssec.wisc.edu/pub/cache/aoss/tower/level_00/version_00/2016/08/rig_tower.2016-08-04.ascii"
                    }
                ],
        "message": "",
        "num_results": 2,
        "status": "success"
    }
                            

SH

  • A bash script that allows the user to download all files in their directory of choice on a mac/linux machine. The downloads will be placed inside /path/to/current/directory/data/<site>/<inst>/YYYY/MM/DD/<filename>:
    #!/usr/bin/env bash
    # status: success
    # code: 200
    # message:
    # num_results: 2
    #
    # Instructions for post-download:
    # 1. Using the command line, go to the directory where this script is saved
    # 2. Make this script executable 'chmod +x <name of script>'
    # 3. Run the script 'bash <name of script>'
    
    #Create directory structure
    CWD=$(pwd)
    
    if [[ ! -d data ]]; then
        mkdir data
    fi
    
    cd data
    
    #get files
    xargs -n1 curl --create-dirs -o '#1' <<EOF
    http://metobs.ssec.wisc.edu/pub/cache/{aoss/tower/level_00/version_00/2016/08/rig_tower.2016-08-03.ascii}
    http://metobs.ssec.wisc.edu/pub/cache/{aoss/tower/level_00/version_00/2016/08/rig_tower.2016-08-04.ascii}
    EOF
                            
  • bat

  • A batch script that allows the user to download all files in their directory of choice on a windows machine. The downloads will be placed inside /path/to/current/directory/data/<site>/<inst>/YYYY/MM/DD/<filename>:
    @echo off
    
    REM status: success
    REM code: 200
    REM message:
    REM num_results: 2
    
    REM Instructions for post-download:
    REM 1. Using windows' command line, go to the directory where this script is saved
    REM 2. Tap in
    REM 3. Hold ctrl + c when download are done and hit Y, then enter
    REM 4. Finally, files will be in a data directory
    
    if not exist %cd%\data\aoss\tower\level_00\version_00\2016\08 (
        mkdir %cd%\data\aoss\tower\level_00\version_00\2016\08
    )
    if not exist %cd%\data\aoss\tower\level_00\version_00\2016\08 (
        mkdir %cd%\data\aoss\tower\level_00\version_00\2016\08
    )
    
    bitsadmin /create myDownloadJob
    
    bitsadmin /addfile myDownloadJob http://metobs.ssec.wisc.edu/pub/cache/aoss/tower/level_00/version_00/2016/08/rig_tower.2016-08-03.ascii %cd%\data\aoss\tower\level_00\version_00\2016\08rig_tower.2016-08-03.ascii
    bitsadmin /addfile myDownloadJob http://metobs.ssec.wisc.edu/pub/cache/aoss/tower/level_00/version_00/2016/08/rig_tower.2016-08-04.ascii %cd%\data\aoss\tower\level_00\version_00\2016\08rig_tower.2016-08-04.ascii
    bitsadmin /resume myDownloadJob
    bitsadmin /SetNotifyCmdLine myDownloadJob "%SystemRoot%\system32\bitsadmin.exe" "%SystemRoot%\syste,32\bitsadmin.exe /complete myDownloadJob"
    bitsadmin /monitor
                            
  • Getting Help

    If you have comments, suggestions, or require help, please contact the MetObs Webmaster.