Difference between revisions of "Example CF-NetCDF for Satellite"

From Earth Science Information Partners (ESIP)
Line 3: Line 3:
 
A Real life example how to download and store satellite data.
 
A Real life example how to download and store satellite data.
  
== TOMS satellite ==
+
== Total Ozone Mapping Spectrometer (TOMS) satellite ==
 +
 
 +
http://ozoneaq.gsfc.nasa.gov/
  
 
ftp, url templates, file format
 
ftp, url templates, file format

Revision as of 07:59, July 6, 2011

Back to WCS Access to netCDF Files

A Real life example how to download and store satellite data.

Total Ozone Mapping Spectrometer (TOMS) satellite

http://ozoneaq.gsfc.nasa.gov/

ftp, url templates, file format

Creating Empty CF-NetCDF File

NCML

   <netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2">
       <explicit />
       <attribute name="title" type="string" value="NASA TOMS Project" />
       <attribute name="comment" type="string" value="NASA Total Ozone Mapping Spectrometer Project" />
       <attribute name="Conventions" type="string" value="CF-1.0" />
       <dimension name="time" length="0" isUnlimited="true" />
       <dimension name="lat" length="180" />
       <dimension name="lon" length="288" />
       <variable name="time" type="int" shape="time">
           <attribute name="standard_name" type="string" value="time" />
           <attribute name="long_name" type="string" value="time" />
           <attribute name="units" type="string" value="days since 1979-01-01" />
           <attribute name="axis" type="string" value="T" />
       </variable>
       <variable name="lat" type="double" shape="lat">
           <attribute name="standard_name" type="string" value="latitude" />
           <attribute name="long_name" type="string" value="latitude" />
           <attribute name="units" type="string" value="degrees_north" />
           <attribute name="axis" type="string" value="Y" />
           <values start="-89.5" increment="1" />
       </variable>
       <variable name="lon" type="double" shape="lon">
           <attribute name="standard_name" type="string" value="longitude" />
           <attribute name="long_name" type="string" value="longitude" />
           <attribute name="units" type="string" value="degrees_east" />
           <attribute name="axis" type="string" value="X" />
           <values start="-179.375" increment="1.25" />
       </variable>
       <variable name="AI" type="float" shape="time lat lon">
           <attribute name="long_name" type="string" value="Aerosol Index" />
           <attribute name="units" type="string" value="fraction" />
           <attribute name="_FillValue" type="float" value="NaN" />
           <attribute name="missing_value" type="float" value="NaN" />
       </variable>
   </netcdf>

Create Script AI_create.py

   from datafed import cf1
   
   def create():
       cf1.create_ncml22('AerosolIndex.nc', 'AerosolIndex.ncml', '64bitoffset')
   
   if __name__ == "__main__":
       create()

Download Procedure

Make URL from the Template

Download the Text File

Compile the Text File into an rectangular array

Append the time slice