Re: gridding large amounts of data [message #2808 is a reply to message #2805] |
Wed, 05 October 1994 17:06   |
candey
Messages: 6 Registered: March 1994
|
Junior Member |
|
|
Several ideas. First, to get more than 32,767 values in the loop, declare the index variable as a long (for i=1L,num do $)
A second idea is to check the ROSAT IDL library and Astro library for suitable routines. As far as my understanding goes, ROSAT has large lists of hits with position info that are converted to a matrix like yours. See (from Astronomy lib's Other_sources.txt:
Gail Reichert at the GSFC High Energy Astrophysics Science Archive
Research Center (HEASARC) has been developing software to analyze
ROSAT data using IDL. People interested in this software can contact her
at HEASRC::REICHERT (=15552::REICHERT) or reichert@heasrc.gsfc.nasa.gov
The files are available via Decnet on node HEASRC in the directory
IDL:[IDL...]. The procedures are found in the directory
heasrc::idl:[lib.rosat.experimental]
and an extensive LaTeX guide to the procedures can be found in the file
heasrc::idl:[lib.rosat.doc]idl_recipes.tex
The procedures are also available via anonymous FTP on the
machine legacy.gsfc.nasa.gov in the subdirectory rosat/software/idl.
The LaTeX guide is found on the same machine in the software/idl directory.
____________
In article <36v30k$14n@danberg.llnl.gov>, dan@danberg.llnl.gov (Dan Bergmann) wrote:
> I have a large table of data in the form
>
> LATITUDE LONGITUDE VALUE
>
> There can be a million rows of entries in this 3 colum table.
> I would like to put the data into a 1x1 degree array (fltarr(360,180))
> If there are multiple entries for a particular longitude and latitude
> I would like to sum the values. I could do this in an ugly do loop that
> looked like
>
> data=fltarr(360,180)
> for i=1,num do $
> data(longitude(i),latitude(i)) = data(longitude(i),latitude(i)) + value(i)
>
> This works fine for small values of num, but for num>32,767 I get an error
> saying my do loop index is too large. Can I write do loops with limits
> greater than 32,767 ?? Could I rewrite this in vector syntax using the
> where statement ??
> --
> ************************************************************ ***
> ** Dan Bergmann dbergmann@llnl.gov **
> ** Global Climate Research fax (510) 422-5844 **
> ** Lawrence Livermore National Lab human (510) 423-6765 **
|
|
|