Showing entries tagged [tds]

Plotting GINI Water Vapor Imagery (Part 1)

Water Vapor Sample Image

This is the first of what we hope will be a series of posts showing how to use Python for weather analysis and create graphics for a variety of purposes. In this two-part post, we demonstrate plotting a water vapor satellite image, specifically using GINI formatted data. GINI is the format currently used for satellite data transmitted across NOAAPORT, and is available on Unidata's demonstration THREDDS server. This first part focuses on accessing the data using Siphon and MetPy; the second part will introduce plotting using CartoPy.

[Read More]

Exploring Python as an Interface to Unidata Technologies

EDEX SkewT
An example EdexPy interface (click to enlarge)

It is hard to believe my time here at Unidata has come and gone so quickly! Next week, I imagine it will be back to the “harsh” reality of being a student — sitting on a beach somewhere near Monterey or perhaps fly fishing the Sierras over the next twenty days awaiting the start of my first year of graduate school at San Jose State. What a terrible reality that will be!

This experience at Unidata and UCAR has been an incredible opportunity and I am privileged to have been afforded these ten weeks. When I started here, I envisioned an entirely different internship than what previous interns had completed. Rather than developing one particular project, I focused my time on gaining a greater understanding of software engineering as a whole and contributing to existing Unidata projects. I found a comfortable spot working with Unidata Python developers Ryan May and Sean Arms, and within one week I had learned a great deal about unit testing, code health, automated testing, and version control. Later, I would implement these principles in my first Python library, MesoPy.

[Read More]

THREDDS and Java 8 plans

THREDDS development is now switching to version 5.0 which will require Java 8. Version 5 is a major upgrade and some of the APIs will change. Deprecated classes will be moved to a legacy jar and will not be supported. If you are a developer, you will need to test the new version against your code. We expect to have an alpha release out by July for that purpose.
[Read More]

Multithreaded Client Access (2)

A more realistic test is to ask for successive slices of some data, and see if multithreading speeds things up. So I made a test that makes data requests like send:

http://motherlode.ucar.edu:8081/thredds/dodsC/fmrc/NCEP/GFS/Global_0p5deg/files/GFS_Global_0p5deg_20090115_0000.grib2.dods?

Absolute_vorticity[0][0][0:1:360][0:1:719]
Absolute_vorticity[1][0][0:1:360][0:1:719]
...

Each request is 1 Mbyte. These are  grib2 files, which may be jpeg2000 encoded (im not sure in this particular file).

So each thread makes 20 requests of successive slices, and I try this with 1-14 simultaneous threads. The plot below is the speedup factor. Its pretty impressively linear, up to about 9 threads, then things get slower but then recover again. Not sure if that's meaningful - I need to run this 100 times and average.

 

 

Multithreaded TDS Clients (1)

Jeff McWhirter was studying whether he could speed up IDV data access by multithreading on the client. He put together a test which fetched the same data over and over, with 1-10 client threads.

This is hitting motherlode TDS, which has 2 quad-core processors, running solaris x86 and ZFS. It asks for one field from an NCEP model file, stored in GRIB1 compression, so theres some amount of computation. Actual URL:

http://motherlode.ucar.edu:8081/thredds/dodsC/model/NCEP/NAM/CONUS_80km/NAM_CONUS_80km_20090313_1200.grib1.dods?Temperature[0:1:0][0:1:18][0:1:64][0:1:92]

19 * 65 *93  = 114855 floats = 459K bytes.

The result shows that you can't get more than 2.5x speedup in this particular case. I will try this on netcdf files, which should be only pure IO. Also interesting to see if the opendap stack causes significant overhead.

A more realistic test is to ask for successive time slices of non-cached data. These may be better opportunities for overlapping IO.

Unidata Developer's Blog
A weblog about software development by Unidata developers*
Unidata Developer's Blog
A weblog about software development by Unidata developers*

Welcome

FAQs

News@Unidata blog

Take a poll!

What if we had an ongoing user poll in here?

Browse By Topic
Browse by Topic
« April 2024
SunMonTueWedThuFriSat
 
2
3
4
5
6
7
8
9
10
11
12
13
14
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
    
       
Today