Unidata - To provide the data services, tools, and cyberinfrastructure leadership that advance Earth system science, enhance educational opportunities, and broaden participation. Unidata
         
  advanced  
 

Re: MathModel question

Hi John,

> I am debating between using the following MathModels for my data:
> 
> ((lat,lon) -> (val1, val2, ... , elevation) )
> 
> or
> 
> ( ((lat, lon) -> (val1, val2, ...)) , ((lat, lon) -> elevation))
> 
> where (val1, val2...) are some data value such as temperature or
> precipitation.
> 
> The reason I am having this debate is that I frequently will need to
> perform operations on just the val1 and val2 without changing
> elevation.  In the first case, this necessitates doing extract's and
> combine's each time I perform an op, whereas in the second case it is
> only necessary to do a getComponent() on the Tuple, followed by
> constructing a new Tuple after performing the operation(s).  It seems
> clear that the second choice would be more efficient, but i'm still
> inclined to go with the first, as it's more "standard" insofar as file
> storage goes.
> 
> So, I guess my question is, in the long run, am i going to take a big
> hit, efficiency-wise, if i go with the first MathModel and do all those
> extract's and combine's, or would a comparable number of those
> operations be performed anyway by the code that performs the ops ?

Yes, the time for extract and combine should be comparable
to the time for adding Fields, so its not going to be a lot
slower.  On the other hand, if your Fields are large so that
the time to add is large (do you notice delays?) then doing
extracts and combines may multiply delays by two or more.

Also, if you want to "color" an elevation surface with
val1 or val2, then you'll need the MathType:

  ((lat,lon) -> (val1, val2, ... , elevation) )

whereas if you want to see independent surfaces of val1 and
elevation, you'll need the MathType:

  ( ((lat, lon) -> (val1, val2, ...)) , ((lat, lon) -> elevation))

Cheers,
Bill
----------------------------------------------------------
Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI  53706
hibbard@xxxxxxxxxxxxxxxxx  608-263-4427  fax: 608-263-6738
http://www.ssec.wisc.edu/~billh/vis.html

 
 
  Contact Us     Site Map     Search     Terms and Conditions     Privacy Policy     Participation Policy
 
National Science Foundation (NSF) UCAR Community Programs   Unidata is a member of the UCAR Community Programs, is managed by the University Corporation for Atmospheric Research, and is sponsored by the National Science Foundation.
P.O. Box 3000     Boulder, CO 80307-3000 USA     Tel: 303-497-8643     Fax: 303-497-8690