1.3 Missing Value Handling

In observation of natural phenomena, normal data acquisition may be hindered by malfunctions in observation instruments. In such a case, the data value may be filled by a specific value (such as 999) to indicate that normal data were not obtained. This value indicating "abnormal data" is called the missing value. Many packages of the DCL can handle data with such missing values.

Let's take the following data set as an example.



Monthly Average of Daily Maximum Temperature  
Month $\backslash$Point Sapporo Sendai Tokyo Nagoya Kyoto Fukuoka Kagoshima
Jan. -1.1 5.0 9.5 8.4 999. 9.3 12.2
July 24.8 25.6 28.8 999. 999. 30.6 31.4



This shows that normal data were not acquired for Kyoto in Jan. and July,  and Nagoya in July. The value 999. indicates that data are lacking for these points. When reading these data for Jan. and July into the arrays T1, T7 to calculate the average, the value 999 must be excluded since they are not valid data. In this case, you can calculate the average excluding 999 by using RAVE of REALIB  setting the internal variable 'LMISS' managed by GLpGET/GLpSET to .TRUE. (initial value .FALSE.

      CALL GLLSET('LMISS', .TRUE.)

      TAVE1 = RAVE(T1, 7, 1)

      TAVE7 = RAVE(T7, 7, 1)

Here, the functions that can handle missing values will return the missing value when all of the array elements take missing values.

Furthermore, when calculating , TX, which is the sum of arrays T1 and T7, set

      CALL GLLSET('LMISS', .TRUE.)

      CALL VRADD(T1, T7, TX, 7, 1, 1, 1)



By setting the value of  'LMISS ' .TRUE., VRADD  will return the missing value when one or both of the array elements  of T1 and T7 are missing values. So in this case, the array elements for TX corresponding to Nagoya and Kyoto will be missing values.

The missing values are specified by the internal variable 'RMISS' managed by GLpGET/GLpSET, and the initial value is 999. This value 999 is never encountered as air temperature so no problems are presented by its use in air temperature data. However, if this value falls in the range of valid data, the value for 'RMISS' must be changed.