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
Let's take the following data set as an example.
|Monthly Average of Daily Maximum Temperature|
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.)
NumRu::DCL.gllset(cp,lpara) TAVE1 = return_value = NumRu::DCL.rave(rx,n,jx) TAVE7 = return_value = NumRu::DCL.rave(rx,n,jx)
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
NumRu::DCL.gllset(cp,lpara) rz = NumRu::DCL.vradd(rx,ry,n,jx,jy,jz)
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.