comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: storing in array
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: storing in array [message #60235 is a reply to message #60233] Sun, 11 May 2008 14:26 Go to previous messageGo to previous message
kishore1818 is currently offline  kishore1818
Messages: 24
Registered: June 2007
Junior Member
On May 11, 5:11 am, Spon <christoph.b...@gmail.com> wrote:
> On May 11, 12:48 am, kishore1...@gmail.com wrote:
>
>
>
>> Hi,
>
>> I am new in IDL language. For reading the CALIPSO satellite data sets
>> in that what type of cloud type for that they provided read routine.
>> If I use this routine it is printing on IDL log window. How to store
>> this information into an string array.
>> This is the routine
>> vfm_feature_flags,36282
>> The output is like this:
>> Bit set:        2
>> Bit set:        4
>> Bit set:        5
>> Bit set:        6
>> Bit set:        8
>> Bit set:        9
>> Bit set:       11
>> Bit set:       12
>> Bit set:       16
>> Feature Type : cloud
>> Feature Subtype : cirrus (transparent)
>> Feature Type QA : high
>> Ice/Water Phase : ice
>> Ice/Water Phase QA: high
>> Cloud/Aerosol/PSC Type QA : not confident
>> Horizontal averaging required for detection: 20 km
>
>> The above information i want to store in string array.
>
>> ;************************routine********************
>> pro vfm_feature_flags,val
>> ;  this routine demonstrates how to read and extract values from a
>> feature
>> ;  classification flag 16-bit integer value in CALIPSO Level 2
>> Vertical
>> ;  Feature Mask files
>> ;
>> ;  INPUT:
>> ;  val - the feature classification flag value to be decoded
>> ;
>> ;  OUTPUT:
>> ;  all information is printed into the IDL log window
>
>> print, val
>
>> feature_type = 0
>> feature_type_qa = 0
>> ice_water_phase = 0
>> ice_water_phase_qa = 0
>> feature_subtype = 0
>> cloud_aerosol_psc_type_qa = 0
>> horizontal_averaging = 0
>
>> for i=0,15 do begin
>>   if ((val and 2L^i) NE 0) then begin
>>     print,'Bit set: ',i+1
>>     case i+1 of
>>     1 : feature_type = feature_type + 1
>>     2 : feature_type = feature_type + 2
>>     3 : feature_type = feature_type + 4
>>     4 : feature_type_qa = feature_type_qa + 1
>>     5 : feature_type_qa = feature_type_qa + 2
>>     6 : ice_water_phase = ice_water_phase + 1
>>     7 : ice_water_phase = ice_water_phase + 2
>>     8 : ice_water_phase_qa = ice_water_phase_qa + 1
>>     9 : ice_water_phase_qa = ice_water_phase_qa + 2
>>     10 : feature_subtype = feature_subtype + 1
>>     11 : feature_subtype = feature_subtype + 2
>>     12 : feature_subtype = feature_subtype + 4
>>     13 : cloud_aerosol_psc_type_qa = cloud_aerosol_psc_type_qa + 1
>>     14 : horizontal_averaging = horizontal_averaging + 1
>>     15 : horizontal_averaging = horizontal_averaging + 2
>>     16: horizontal_averaging = horizontal_averaging + 4
>>     else:
>>     endcase
>>   endif
>> endfor
>
>> case feature_type of
>> 0 : print,"Feature Type : invalid (bad or missing data)"
>> 1 : print,"Feature Type : clear air"
>> 2 : begin
>>       print,"Feature Type : cloud"
>>       case feature_subtype of
>>       0 : print, "Feature Subtype : low overcast, transparent"
>>       1 : print, "Feature Subtype : low overcast, opaque"
>>       2 : print, "Feature Subtype : transition stratocumulus"
>>       3 : print, "Feature Subtype : low, broken cumulus"
>>       4 : print, "Feature Subtype : altocumulus (transparent)"
>>       5 : print, "Feature Subtype : altostratus (opaque)"
>>       6 : print, "Feature Subtype : cirrus (transparent)"
>>       7 : print, "Feature Subtype : deep convective (opaque)"
>>       else : print,"*** error getting Feature Subtype"
>>       endcase
>>     end
>> 3 : begin
>>       print,"Feature Type : aerosol"
>>       case feature_subtype of
>>       0 : print, "Feature Subtype : not determined"
>>       1 : print, "Feature Subtype : clean marine"
>>       2 : print, "Feature Subtype : dust"
>>       3 : print, "Feature Subtype : polluted continental"
>>       4 : print, "Feature Subtype : clean continental"
>>       5 : print, "Feature Subtype : polluted dust"
>>       6 : print, "Feature Subtype : smoke"
>>       7 : print, "Feature Subtype : other"
>>       else : print,"*** error getting Feature Subtype"
>>       endcase
>>     end
>> 4 : begin
>>       print,"Feature Type : stratospheric feature--PSC or
>> stratospheric aerosol"
>>       case feature_subtype of
>>       0 : print, "Feature Subtype : not determined"
>>       1 : print, "Feature Subtype : non-depolarizing PSC"
>>       2 : print, "Feature Subtype : depolarizing PSC"
>>       3 : print, "Feature Subtype : non-depolarizing aerosol"
>>       4 : print, "Feature Subtype : depolarizing aerosol"
>>       5 : print, "Feature Subtype : spare"
>>       6 : print, "Feature Subtype : spare"
>>       7 : print, "Feature Subtype : other"
>>       else : print,"*** error getting Feature Subtype"
>>       endcase
>>     end
>> 5 : print,"Feature Type : surface"
>> 6 : print,"Feature Type : subsurface"
>> 7 : print,"Feature Type : no signal (totally attenuated)"
>> else : print,"*** error getting Feature Type"
>> endcase
>
>> case feature_type_qa of
>> 0 : print,"Feature Type QA : none"
>> 1 : print,"Feature Type QA : low"
>> 2 : print,"Feature Type QA : medium"
>> 3 : print,"Feature Type QA : high"
>> else : print,"*** error getting Feature Type QA"
>> endcase
>
>> case ice_water_phase of
>> 0 : print,"Ice/Water Phase : unknown/not determined"
>> 1 : print,"Ice/Water Phase : ice"
>> 2 : print,"Ice/Water Phase : water"
>> 3 : print,"Ice/Water Phase : mixed phase"
>> else : print,"*** error getting Ice/Water Phase"
>> endcase
>
>> case ice_water_phase_qa of
>> 0 : print,"Ice/Water Phase QA: none"
>> 1 : print,"Ice/Water Phase QA: low"
>> 2 : print,"Ice/Water Phase QA: medium"
>> 3 : print,"Ice/Water Phase QA: high"
>> else : print,"*** error getting Ice/Water Phase QA"
>> endcase
>
>> if (cloud_aerosol_psc_type_qa eq 0) then begin
>>   print,"Cloud/Aerosol/PSC Type QA : not confident"
>> endif else begin
>>   print,"Cloud/Aerosol/PSC Type QA : confident"
>> endelse
>
>> case horizontal_averaging of
>> 0 : print,"Horizontal averaging required for detection: not
>> applicable"
>> 1 : print,"Horizontal averaging required for detection: 1/3 km"
>> 2 : print,"Horizontal averaging required for detection: 1 km"
>> 3 : print,"Horizontal averaging required for detection: 5 km"
>> 4 : print,"Horizontal averaging required for detection: 20 km"
>> 5 : print,"Horizontal averaging required for detection: 80 km"
>> else : print,"*** error getting Horizontal averaging"
>> endcase
>> end
>
> Rather than a string array, I would use an anonymous structure for
> this sort of information:
>
> e.g.
> Data = {Type:"", Subtype:"", QA:"", Phase:"", PhaseQA:"", TypeQA:""} ;
> etc
> This creates a set of empty string fields.
>
> then you can read in your strings like this:
> data.type = 'cloud'
>
> and retrieve your information like this:
> help, data, /struct
> IDL> ** Structure <ff8a18>, 6 tags, length=72, data length=72, refs=1:
>    TYPE            STRING    'cloud'
>    SUBTYPE         STRING    ''
>    QA              STRING    ''
>    PHASE           STRING    ''
>    PHASEQA         STRING    ''
>    TYPEQA          STRING    ''
>
> Reading in your strings could probably be done into a string array
> either if you really want to:
> Result = STRARR[n]
> FOR i = 0, n-1 DO BEGIN
> Result[i] = 'Cloud'
> ENDFOR ; etc.
>
> Also, you can probably use format codes to convert your bytes/integers
> to set bits, something along the lines of:
> CloudBits = STRING(CloudByte, FORMAT='(B0)')
> NCloudBits = STRLEN(CloudBits)
>
> Which I can imagine would make determining your string contents a bit
> easier. I can't remember exactly, and I'm stuck with demo-mode only
> today(!), so you'll have to play around with it yourself, unless
> someone more knowledgeable jumps in with a fuller explanation.
>
> Good luck!
> Chris

Hi Chris,
Thanks for your quick reply.
I am using this routine in my program "vfm_feature_flags,36282"
This one is changing every time. Just I want to store o/p information
into a string.
Your program is simple, but I could not understand clearly. For
example I want to store "Feature Subtype : cirrus (transparent) " and
this one is changing every time. Some times cirrus and some times
convective ..

Could you give me little clearly then I can follow.

Thanking you,

Kishore
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: How to HIDE a WIDGET_BUTTON and dont hide the widget hierarchy ?
Next Topic: Re: not yet another workbench workspace question!?!

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Fri Oct 10 15:06:33 PDT 2025

Total time taken to generate the page: 1.43850 seconds