PollyNET / Pollynet_Processing_Chain

NRT lidar data processing program for multiwavelength polarization Raman lidar network (PollyNET)
https://polly.tropos.de/
GNU General Public License v3.0
20 stars 8 forks source link

Extract cloud geometrical properties from target classification products #21

Closed ZPYin closed 4 years ago

ZPYin commented 4 years ago

EARLINET database requires cloud base information for every single profiles. This can be extracted from target classifciation product, which contain the bits of cirrus and liquid water clouds.

This feature needs to be implemented to demontrate the functionality of Pollynet_Processing_Chain.

ZPYin commented 4 years ago

The cloud base&top height was extracted from target classification product. Meanwhille, the cloud phase information was also remained and exported along with the cloud geometrical properties.

The results were saved as netCDF file, with the file naming of '{pollyDataFilename}_cloudinfo.nc'. Below is the metadata for the netCDF file:

netcdf file:/Users/yinzhenping/Desktop/results_new/arielle/2018/05/14/2018_05_14_Mon_ARI_00_00_02_cloudinfo.nc {
  dimensions:
    time = 720;
    layer_index = 10;
    constant = 1;
  variables:
    double altitude(constant=1);
      :standard_name = "altitude";
      :long_name = "Height of lidar above mean sea level";
      :unit = "m";

    double longitude(constant=1);
      :long_name = "Longitude of the site";
      :standard_name = "longitude";
      :axis = "X";
      :unit = "degrees_east";

    double latitude(constant=1);
      :long_name = "Latitude of the site";
      :standard_name = "latitude";
      :axis = "Y";
      :unit = "degrees_north";

    double time(time=720);
      :unit = "seconds since 1970-01-01 00:00:00 UTC";
      :long_name = "Time UTC";
      :standard_name = "time";
      :axis = "T";
      :calendar = "julian";

    double layer_index(layer_index=10);
      :standard_name = "ith cloud";
      :axis = "Z";
      :unit = ;
      :long_name = "cloud layer index";

    double cloud_base_height(time=720, layer_index=10);
      :comment = "cloud base height for each classified cloud layer.";
      :source = "arielle";
      :long_name = "cloud base height";
      :standard_name = "H_cb";
      :_FillValue = NaN; // double
      :unit = "m";
      :_ChunkSizes = 720U, 10U; // uint

    double cloud_top_height(time=720, layer_index=10);
      :unit = "m";
      :long_name = "cloud top height";
      :standard_name = "H_ct";
      :source = "arielle";
      :comment = "cloud top height for each classified cloud layer.";
      :_FillValue = NaN; // double
      :_ChunkSizes = 720U, 10U; // uint

    double cloud_phase(time=720, layer_index=10);
      :unit = ;
      :long_name = "cloud phase";
      :standard_name = "cloud_phase";
      :source = "arielle";
      :comment = "cloud phase for each classified cloud layer (1: liquid; 2: ice; 3: mixed phase)";
      :_FillValue = NaN; // double
      :_ChunkSizes = 720U, 10U; // uint

    double cloud_phase_probability(time=720, layer_index=10);
      :unit = ;
      :long_name = "probability of cloud phase";
      :standard_name = "prob_cloud_phase";
      :source = "arielle";
      :comment = "probability for the cloud phase.";
      :_FillValue = NaN; // double
      :_ChunkSizes = 720U, 10U; // uint

  // global attributes:
  :Conventions = "CF-1.0";
  :location = "Polarstern";
  :institute = "Ground-based Remote Sensing Group (TROPOS)";
  :source = "arielle";
  :version = "1.3";
  :reference = "http://polly.rsd.tropos.de/";
  :contact = "Zhenping Yin <zhenping@tropos.de>";
  :history = "Last processing time at 2020-04-21 12:25:28 by pollyxt_save_cloudinfo, git branch: zhenping, git commit: 99a6bc353546d99934dc3b1af30533bb6984d5fa";
}