Skip to content
Snippets Groups Projects
cws_stats__constants.pro 5.68 KiB




pro cws_stats::constants



  grp = orderedhash()
  prd = orderedhash()
  reg = orderedhash()
    ; group list
  grpList =['CMS','EUM','OCA','MPF','FUB','DLR','MFR','RMB','AWG','UKM','GSF','LAR','COX','OCA2','KNM','TPS','SUI','CLV','LARN','MFRN']
  has_ctp = [1     ,1    ,1    ,1    ,0    ,1    ,0   ,0     ,1    ,1    ,0     ,1   ,0    ,0,     0    ,1     ,1   ,1     ,1, 0]
  has_ctt = [ 1   , 1    ,0    ,1    ,0    ,1    ,1   ,0     ,0    ,1    ,1     ,1   ,0    ,0,     0    ,1     ,0   ,1     ,1, 1]
  ;has_ctp = [0     ,0    ,0    ,0    ,0    ,0    ,0   ,0     ,1    ,0    ,0     ,1   ,0    ,0,     0    ,0     ,0   ,1     ,1]
  has_cmb = [1,     1,    1,    1,    0,    0,    0,    0,     0,   1,     0,    0,   0,     0,    0,    1,    1,    1,     1,  1]
  has_cph = [1,     1,    0,    1,    0,    0,    0,    0,     0,   1,     0,    0,   0,     0,    0,    1,    0,    1,     1,  0]
  has_cod = [1,0,1,0,0,0,0,1,1,1,1,1,0,0,0,1,0,1,1,1]
  version = [4,2,4,2,1,2,2,2,2,4,2,2,3,3,4,4,4,4,4,4]

              ;'CMS','EUM','OCA','MPF','FUB'
  colList   = ['Green',      'Red',         'Blue',           'Cyan',   'Gray',$
                 ; 'DLR','MFR','RMB','AWG','UKM'
           'Magenta',    'Dark Green',  'Cornflower', 'Brown',  'FIREBRICK'     ,$
             ;  GSF','LAR','COX','OCA2','KNM'
           'Dark Orchid','Tan',         'LightSeaGreen',  'Violet', 'Khaki',$

               ; 'TPS','SUI','CLV','LARN'
           'GOLDENROD', 'Hot Pink',    'DARK_MAGENTA',     'Olive Drab', 'Dark Gray' $


           , 'Black','Green','Tan']


  grpLong = ['Climate Monitoring - SAF', $
             'Eumetsat M?', $
             'Eumetsat OCA', $
             'Eumetsat MPEF', $
             'Free University Berlin', $
             'German Aerospace Center, APICS', $
             'Meteo France', $
             'Belgian Institute for Space Aeronomy', $
             'Algorithm Working Group, University Madison/Wisconsin', $
             'UK Met-Office', $
             'NASA, Goddard Space Flight Center', $
             'NASA, Langley Research Center', $
             'German Aerospace Center, COCS', $
             'Eumetsat OCA second cloud layer' $
             , 'KNMI' $
             , 'Tropos Leipzig' $
             , 'Meteo Suisse' $
             , 'CLAVR-x' $
             ,'NASA, Langley Research Center' $
             , 'Meteo France ICWG2 version '] ;  groups


  for i=0,n_elements(grpList) - 1 do grp[grpList[i],'longname'] = grpLong[i]
  for i=0,n_elements(grpList) - 1 do grp[grpList[i],'color'] = colList[i]
  for i=0,n_elements(grpList) - 1 do grp[grpList[i],'has_ctp'] = has_ctp[i]
  ; regions

  for cut =0,21 do begin

    @LIST_REGIONS
    reg[cut,'xrange'] = xrange
    reg[cut,'yrange'] = yrange


    @cws_stats_params

    reg[cut,'minCorr'] = minCorr[cut]
    ; more to follow

  endfor


  ; products

  prdList     = ['rgb','ovw',$
                  'cmb',  'ctp',  'cth',  'ctt',  'cod',  'ref',  'cph',  'lwp', $
                  'cmb2', 'ctp2', 'cth2', 'ctt2', 'cod2', 'ref2', 'cph2', 'lwp2',$  ; second cloud layer (at the moment only OCA)
                 'ucmb', 'uctp', 'ucth', 'uctt', 'ucod', 'uref', 'ucph', 'ulwp', $  ; uncertainty
                 'ucmb2','uctp2','ucth2','uctt2','ucod2','uref2','ucph2','ulwp2']   ; uncertainty, second cloud layer (at the moment only OCA)
              ;,'iwp','cty','cfr' $   ; next params exclusively DWD products!
              ;  ,'hbl','hhl','hml','hto','hts','rgb','lst','ovw']

  ; product listm, long string
  prdListLong = ['False Color Image', 'Atrain Overpass'$
                , 'Cloud Mask','Cloud Top Pressure','Cloud Top Height','Cloud Top Temperature' $
                ,'Cloud Optical Depth','Effective Radius','Cloud Phase','Cloud Water Path' $
                ,'Cloud Mask (2)','Cloud Top Pressure (2)','Cloud Top Height (2)','Cloud Top Temperature (2)' $
                ,'Cloud Optical Depth (2)','Effective Radius (2)','Cloud Phase (2)','Cloud Water Path (2)' $
                ,'Uncertainty of Cloud Mask','Uncertainty of Cloud Top Pressure'$
                ,'Uncertainty of Cloud Top Height','Uncertainty of Cloud Top Temperature' $
                ,'Uncertainty of Cloud Optical Depth','Uncertainty of Effective Radius'$
                ,'Uncertainty of Cloud Phase','Uncertainty of Cloud Water Path' $
                ,'Uncertainty of Cloud Mask (2)','Uncertainty of Cloud Top Pressure (2)'$
                ,'Uncertainty of Cloud Top Height (2)','Uncertainty of Cloud Top Temperature (2)' $
                ,'Uncertainty of Cloud Optical Depth (2)','Uncertainty of Effective Radius (2)'$
                ,'Uncertainty of Cloud Phase (2)','Uncertainty of Cloud Water Path (2)']


  for ii = 0,n_elements(prdList) -1 do begin
    prd[prdList[ii],'longname'] = prdListLong[ii]
  endfor

  for ii = 0,n_elements(version) -1 do  prd['ctp','groups',grplist[ii],'version'] = version[ii]
  for ii = 0,n_elements(has_cod) -1 do  prd['cod','groups',grplist[ii]] = has_cod[ii]

  for ii = 0,n_elements(has_ctp) -1 do begin
    prd['ctp','groups',grplist[ii]] = has_ctp[ii]
    prd['cth','groups',grplist[ii]] = has_ctp[ii]
    prd['ctt','groups',grplist[ii]] = has_ctt[ii]
    prd['cph','groups',grplist[ii]] = has_cph[ii]
   ; print,ii,grpList[ii]
  endfor

  for ii = 0,n_elements(has_cmb) -1 do begin
    prd['cmb','groups',grplist[ii]] = has_cmb[ii]
    print,ii,grpList[ii],  has_cmb[ii]
  endfor

 ; print,(prd['cmb','groups',grplist]).where(1)

  n_ctp = total(has_ctp)
  n_cmb = total(has_cmb)
  n_ctt  = total(has_ctt)
  prd['ctp','pmulti'] = [0,ceil((n_ctp+2)/3.),3]
  prd['cmb','pmulti'] = [0,ceil((n_ctp+2)/3.),3]
  prd['ctt','pmulti'] = [0,ceil((n_ctt+2)/3.),3]


  all_hash = hash()
  all_hash['grp'] = grp
  all_hash['prd'] = prd
  all_hash['reg'] = reg
  self.coef = all_hash

end