[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


NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.