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

[McIDAS #SKX-144523]: himawari data tranfers from open archive



Hi Nick,

re:
> I’ve decoded most of the Himawari Area File, but I can’t find any 
> documentation
> on the ‘Calibration Block’ in the AREA file.

Ordinarily, one would find the information on the various header blocks in
an AREA file in the McIDAS Programmer's Manual:

http://www.ssec.wisc.edu/mcidas/doc/prog_man.html

The Himawari server is new enough that the Programmer's Manual has not
yet been updated to include the information you are looking for.

But, since you have installed McIDAS-X v2015, you have the McIDAS source
code that contains enough information to figure out what the calibration
block values are and how they can be used to calculate calibrate values
from pixel bits.  The relevant files in McIDAS-X are:

~mcidas/mcidas2015/src:

wariadir.cp  - listing server
wariaget.cp  - data get server
kbxwari.dlm  - calibration

'integer function kbxcal' contains the lines that "define" (but don't explain)
the values in the calibration block in a Himawari AREA file:

c ------ values from CAL block go into JMA cal common
         calb_BlockLen     = cal_block(2)
         calb_bandNo       = cal_block(3)
         calb_bitPix       = cal_block(4)
         calb_errorCount   = cal_block(5)
         calb_outCount     = cal_block(6)
         calb_invalidValue = cal_block(7)

         calb_waveLen      = DBLE(cal_block(8)) *0.0000001D0
         calb_gainCnt2rad  = DBLE(cal_block(9)) *0.0000001D0
         calb_cnstCnt2rad  = DBLE(cal_block(10))*0.0000001D0
         calb_rad2btpC0    = DBLE(cal_block(11))*0.0000001D0
         calb_rad2btpC1    = DBLE(cal_block(12))*0.0000001D0
         calb_rad2btpC2    = DBLE(cal_block(13))*0.000000000001D0
         calb_btp2radC0    = DBLE(cal_block(14))*0.0000001D0
         calb_btp2radC1    = DBLE(cal_block(15))*0.0000001D0
         calb_btp2radC2    = DBLE(cal_block(16))*0.0000001D0
         calb_rad2albedo   = DBLE(cal_block(17))*0.0000001D0

The subroutine 'maktbl' contains the code that uses these parameters
to convert from pixel counts to the various calibrated values:

RAW
RAW to RAD
RAD to ALB/BRIT
RAD to TEMP/BRIT

The code seems easy enough to follow, so you should be able to get
what you need.

> I am attaching Matlab
> code that can decode the Directory block and saves the pixel data, so
> i just need to know how to decode the (sensor specific) Calibratoin block 
> ‘gain’ and
> ‘constant’ offset data to get the final radiance values.
> 
> Please let me know what byte fields these might be?

Please let me know if what I wrote above is enough to get you going.

Cheers,

Tom
--
****************************************************************************
Unidata User Support                                    UCAR Unidata Program
(303) 497-8642                                                 P.O. Box 3000
address@hidden                                   Boulder, CO 80307
----------------------------------------------------------------------------
Unidata HomePage                       http://www.unidata.ucar.edu
****************************************************************************


Ticket Details
===================
Ticket ID: SKX-144523
Department: Support McIDAS
Priority: Normal
Status: Closed