[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

19990323: ARAOPT function arguments



>From: Craig Motell <address@hidden>
>Organization: University of Hawaii
>Keywords: 199903240923.CAA06475 McIDAS ARAOPT

Craig,

>I would like to ask you some questions about the Mcidas function: ARAOPT.
>
>1) A sample program as the following:
>
>CALL ARAOPT(SAREA1,1,'SPAC',4)
>CALL ARAOPT(SAREA1,1,'UNIT',LIT('BRIT'))

This snippit combined with your earlier reference to the statement function
'getval' tells me that you are looking at nortel.pgm.

>The keyword SPAC is defined by man pages as:
>
>'SPAC'  spacing of output data (1, 2 or 4 bytes)
>
>Can you tell me if 
>
>1)SPAC = number of bytes?

Number of bytes that represent a pixel, yes.

>2)why define the spacing of output data when this is used as an input
>dataset?

When you read the data, you will have to already specified the number
of bytes per pixel that represents the data in the array into which you
are reading information.  REDARA (the routine that reads data out of an
open AREA) calls MPIXEL to do a conversion if the output number of
bytes per pixel ('SPAC') is different from the input number of bytes
per pixel ('PREC').

>In the case of GOES-10 GVAR data we have 2byte integer a 4km, I suppose
>then the 4 refers to size resolution?

Where are you getting the '4 km' information (the correct answer depends
on how you are interpreting this).  If, for instance, you are using
infrared data (given your desire to difference channels 4 and 5 below),
then yes, the resolution of the data is 4 km AT THE SUB-SATELLITE POINT.

>Lastly, if I wanted to create a new dataset which is a linear
>combination of channel 4 and 5 (e.g., (ch4 - ch5)*cos(sun_angle)
>
>would I need to do something like:
>
>CALL OPNARA(outarea)           ! a new file area number (e.g., AREA0006)
>CALL ARAOPT(outarea,1,'UNIT',LIT('MINE'))

You could do this, but then you would have to write a calibration routine
that understood the 'MINE' calibration type when you go to interrogate
the values from the file (using IMGPROBE, for instance).  OK, I see that
this is, in fact, what you are proposing to do below.

>CALL ARAOPT(outarea,1,'PREC',2)

You want the output data to be represented by two bytes per pixel.

>Here I want to use a new calibration that I will set up, and
>a byte precision of 2, assuming of coarse I already create, dir,nav,aux,
>block.

OK, then yes to the above.

>3) Please just give me some comments on the things I will want to think
>about before creating a new AREA file?

For one thing, writing the calibration routine and getting understood
by McIDAS is not trivial.  It is not overwhelmingly hard; it is just
not trivial.

I assume that you need to write your own routine since routines like
IMGOPER (ADDE) and IMGPRO (non-ADDE) do not have the sun angle as a
readily available quantity; true?

>Thankyou,

What it seems like you are attempting to do looks interesting.  Please
don't hesitate to ask for information if you run into things which
don't make sense (this is more fun than the mundane sorts of questions
that we usually get :-).  If I can't help, I will blast your question
up to SSEC for them to comment on.

Tom Yoksas