GitHub

ALCF

Automatic Lidar and Ceilometer
Framework

Command line interface

alcf-lidar – Process lidar data.

Synopsis

alcf lidar <type> [<options>] [<algorithm_options>] [--] <lidar> <output>

Description

The processing is done in the following order:

  • noise removal
  • calibration
  • time resampling
  • height resampling
  • cloud detection
  • cloud base detection

Arguments following -- are treated as literal strings. Use this delimiter if the input or output file names might otherwise be interpreted as non-strings, e.g. purely numerical file names.

Arguments

  • type: Lidar type (see Types below).
  • lidar: Input lidar data directory or filename. If a directory, only .nc files in the directory are processed. If the option -r is supplied, the directory is processed recursively.
  • output: Output filename or directory.
  • options: See Options below.
  • algorithm_options: See Algorithm options below.

Types

  • blview: Vaisala BL-VIEW L2 product.
  • chm15k: Lufft CHM 15k.
  • ct25k: Vaisala CT25K.
  • cl31: Vaisala CL31.
  • cl51: Vaisala CL51.
  • cl61: Vaisala CL61.
  • cn_chm15k: Cloudnet Lufft CHM 15k.
  • cn_ct25k: Cloudnet Vaisala CT25K.
  • cn_cl31: Cloudnet Vaisala CL31.
  • cn_cl51: Cloudnet Vaisala CL51.
  • cn_cl61: Cloudnet Vaisala CL61.
  • cn_minimpl: Cloudnet Sigma Space MiniMPL.
  • cosp: COSP simulated lidar.
  • default: The same format as the output of alcf lidar.
  • minimpl: Sigma Space MiniMPL (converted via SigmaMPL).
  • mpl: Sigma Space MPL (converted via SigmaMPL).
  • mpl2nc: Sigma Space MPL and MiniMPL (converted via mpl2nc).

Options

  • align_output: <value>: Align output time periods to the nearest multiple of output_sampling. Default: true.
  • altitude: <altitude>: Altitude of the instrument (m). Default: Taken from lidar data or 0 if not available. If defined, the values in the input data is overriden.
  • bsd: <value>: Assume a given standard deviation of backscatter noise when detecting clouds or none to use the value calculated by the noise removal algorithm from observed backscatter if available (m^-1.sr^-1). The value applies at height bsd_z and is range-scaled for other heights. A suitable value can be taken from a plot generated by alcf plot backscatter_sd_hist. Default: none.
  • bsd_z: <value>: Height at which bsd applies (m). Default: 8000.
  • calibration: <algorithm>: Backscatter calibration algorithm. Available algorithms: default, none. Default: default.
  • couple: <directory>: Couple to other lidar data. Default: none.
  • cl_crit_range: <range>: Critical range for the fix_cl_range option (m). Default: 6000.
  • cloud_detection: <algorithm>: Cloud detection algorithm. Available algorithms: default, none. Default: default.
  • cloud_base_detection: <algorithm>: Cloud base detection algorithm. Available algorithms: default, none. Default: default.
  • --fix_cl_range: Fix CL31/CL51 range correction (if noise_h2 firmware option if off). The critical range is taken from cl_crit_range.
  • interp: <value>: Vertical interpolation method. area_block for area-weighting with block interpolation, area_linear for area-weighting with linear interpolation or linear for simple linear interpolation. Default: area_linear.
  • keep_vars: { <var>... }: Keep the listed input variables. The variable must be numerical and have a time dimension. The variable is resampled in the same way as backscatter along their time and level dimensions. The data type is changed to float64. Its name is prefixed with input_, except for type default, in which it is expected to be already prefixed in the input. When processing alcf simulate output, the variables need to be kept by the model reading module (by changing the code) and by alcf simulate (by using the keep_vars option). Default: { }.
  • lat: <lat>: Latitude of the instrument (degrees North). Default: Taken from lidar data or none if not available. If defined, the values in the input data is overriden.
  • lon: <lon>: Longitude of the instrument (degrees East). Default: Taken from lidar data or none if not available. If defined, the values in the input data is overriden.
  • noise_removal: <algorithm>: Noise removal algorithm. Available algorithms: default, none. Default: default.
  • output_sampling: <period>: Output sampling period (seconds). Default: 86400 (24 hours).
  • -r: Process the input directory recursively.
  • time: { <low> <high> }: Time limits (see Time format below). Default: none.
  • track: <file>, track: { <file>... }: One or more track NetCDF files (see Files below). Longitude and latitude is assigned to the profiles based on the track and profile time. If multiple files are supplied and time_bnds is not present in the files, they are assumed to be multiple segments of a discontinous track unless the last and first time of adjacent tracks are the same. track takes precedence over lat and lon. Default: none.
  • track_gap: <interval>: If the interval is not 0, a track file is supplied, the time_bnds variable is not defined in the file and any two adjacent points are separated by more than the specified time interval (seconds), then a gap is assumed to be present between the two data points, instead of interpolating location between the two points. Default: 21600 (6 hours).
  • tres: <tres>: Time resolution (seconds). Default: 300 (5 min).
  • tshift: <tshift>: Time shift (seconds). Default: 0.
  • zlim: { <low> <high> }: Height limits (m). Default: { 0 15000 }.
  • zres: <zres>: Height resolution (m). Default: 50.

Cloud detection options

  • default: Cloud detection based on backscatter threshold.
  • none: Disable cloud detection.

Cloud detection default options

  • cloud_nsd: <n>: Number of noise standard deviations to subtract. Default: 5.
  • cloud_threshold: <threshold>: Cloud detection threshold (m^-1.sr^-1). Default: 2e-6.
  • cloud_threshold_exp: { <x> <y> <h> }: Cloud detection threshold exponentially decaying with height (sr^-1.m^-1). If not none, this supersedes cloud_threshold. The threshold is <x> at surface level, decaying exponentially to <y> at infinite height with half-height <h>. Default: none.

Cloud base detection options

  • default: Cloud base detection based cloud mask produced by the cloud detection algorithm.
  • none: Disable cloud base detection.

Calibration options

  • default: Multiply backscatter by a calibration coefficient.
  • none: Disable calibration.

Calibration default options

  • calibration_file: <file>: Calibration file.

Noise removal options

  • default: Noise removal based on noise distribution on the highest level.
  • none: Disable noise removal.

Noise removal default options

  • noise_removal_sampling: <period>: Sampling period for noise removal (seconds). Default: 300.
  • near_noise: { <scale> <range> } : Assume additional exponentially-decaying near-range noise. The first argument is the value at zero range (sr^-1.m^-1). The second argument is range at which the function decays to a half (m). Default: { 0 0 }.

Time format

YYYY-MM-DD[THH:MM[:SS]], where YYYY is year, MM is month, DD is day, HH is hour, MM is minute, SS is second. Example: 2000-01-01T00:00:00.

Files

The track file is a NetCDF file containing 1D variables lon, lat, time, and optionally time_bnds. time and time_bnds are time in format conforming with the CF Conventions (has a valid units attribute and optional calendar attribute), lon is longitude between 0 and 360 degrees and lat is latitude between -90 and 90 degrees. If time_bnds is provided, discontinous track segments can be specified if adjacent time bounds are not coincident. The variables lon, lat and time have a single dimension time. The variable time_bnds has dimensions (time, bnds).

Examples

Process Vaisala CL51 data in cl51_nc and store the output in cl51_alcf_lidar, assuming instrument altitude of 100 m above sea level.

alcf lidar cl51 cl51_nc cl51_alcf_lidar altitude: 100