For many airports and other weather stations, a ceilometer is often used in to measure the height of the cloud base above the weather station. The ceilometer works by shooting a laser pulse directly upwards and then measures the time it takes for the pulse to return. This time is then used to calculate the distance to the clouds overhead. When there are multiple layers of clouds in the atmosphere, the ceilometer will detect multiple returned pulses due to the varied return times and it will differentiate these as different cloud layers. Because the ceilometer is limited to only detecting the clouds directly above it, they generally use time-averaged values to report the cloud coverage.

For stations that report cloud height and coverage observations, the Mesonet API will return this data in the variables cloud_layer_1_code, cloud_layer_2_code, and cloud_layer_3_code. On our legacy website these variables were named, respectively, CHC1, CHC2, CHC3. These cloud variables provide information about both the height and coverage observations. Here we will cover how to separate these two distinct pieces of information from one returned variable.

The last number returned always gives the sky coverage code, which are the following:

0 = missing
1 = clear
2 = scattered
3 = broken
4 = overcast
5 = obscured
6 = thin scattered
7 = thin broken
8 = thin overcast
9 = thin obscured

All digits except the last refer to the cloud height, which is the height given in units of hundreds of feet. That unique unit comes from aviation and other similar fields which historically established the standard practice to express flight level in units of hecto-feet or hundreds of feet.

Below are some examples to illustrate what these variables mean:

  • cloud_layer_1_code = 222
    Cloud layer #1 is at a height of 22 hundreds of feet = 2200 ft.
    The last digit 2 indicates a cloud coverage code scattered.

  • cloud_layer_2_code = 807 Cloud layer #2 is at a height of 80 hundreds of feet = 8000 ft.
    The last digit 7 indicates a cloud coverage code thin broken.

  • cloud_layer_3_code = 2504 Cloud layer #3 is at a height of 250 hundreds of feet = 25000 ft.
    The last digit 4 indicates a cloud coverage code of overcast.