pro calc_tc_ak_test ; calculates total column AK based on full AK matrix in V7 file ; find randomly-selected retrieval where psfc < 900 hPa infile = '/MOPITT/V7T/Archive/L2/201608/0801/MOP02T-20160801-L2V17.9.1.he5' lattest = 61.3339 & lontest = -45.8285 & pstest = 899.942 file_id = H5F_OPEN(infile) dataset_id = H5D_OPEN(file_id, '/HDFEOS/SWATHS/MOP02/Geolocation Fields/Latitude') lat = H5D_Read(dataset_id) H5D_CLOSE, dataset_id dataset_id = H5D_OPEN(file_id, '/HDFEOS/SWATHS/MOP02/Geolocation Fields/Longitude') lon = H5D_Read(dataset_id) H5D_CLOSE, dataset_id dataset_id = H5D_OPEN(file_id, '/HDFEOS/SWATHS/MOP02/Data Fields/SurfacePressure') psfc = H5D_Read(dataset_id) H5D_CLOSE, dataset_id dataset_id = H5D_OPEN(file_id, '/HDFEOS/SWATHS/MOP02/Data Fields/RetrievedCOMixingRatioProfile') co_rtv = H5D_Read(dataset_id) H5D_CLOSE, dataset_id dataset_id = H5D_OPEN(file_id, '/HDFEOS/SWATHS/MOP02/Data Fields/RetrievedCOSurfaceMixingRatio') co_rtv_sfc = H5D_Read(dataset_id) H5D_CLOSE, dataset_id dataset_id = H5D_OPEN(file_id, '/HDFEOS/SWATHS/MOP02/Data Fields/RetrievalAveragingKernelMatrix') akmatx = H5D_Read(dataset_id) H5D_CLOSE, dataset_id H5F_CLOSE, file_id imatch = where(abs(lat - lattest) lt 0.01 and abs(lon - lontest) lt 0.01 and abs(psfc - pstest) lt 0.01, nmatch) print, nmatch, imatch(0) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; co_rtv_test = fltarr(9) co_rtv_test(0) = co_rtv_sfc(0,imatch(0)) ; first level in co_rtv for this obs is missing co_rtv_test(1:8) = co_rtv(0,1:8,imatch(0)) ;print, co_rtv_test ak1 = reform(akmatx(0:9,0:9,imatch(0)),10,10) ; exclude missing row and column since psfc < 900 hPa ak_test = ak1(1:9,1:9) ;print, ak1 ;print, ak_test dp = fltarr(9) dp(0) = psfc(imatch(0)) - 800. dp(1:7) = 100. dp(8) = 74. ;print, dp ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ak_colm = fltarr(9) log10e = alog10(exp(1.)) for i = 0, 8 do begin ak_colm(i) = (2.12e13/log10e) * total(dp(0:8)*co_rtv_test(0:8)*reform(ak_test(0:8,i))) endfor print, ak_colm ; code should return following 9-element vector for ak_colm: ; 7.06917e+15 7.90464e+16 1.30641e+17 1.78081e+17 2.47164e+17 3.13068e+17 2.90009e+17 7.87349e+16 5.35976e+15 return end