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 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.)
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.