Wrote vietlaos2, to gather data from the cells AND stations. It also gets the climatology. Initially
it only gathered 13 stations with data in 1991/2, using 'VIETNAM' and 'LAOS' to select on country
name. However, taking the cell [214,574] in December 1991 as the peak incident, we can use those
coordinates (17.25N, 107.25E) to centre a bounding box for station selection. A box 10degs square
yields only 17 stations, none of which have anything remotely spikey in Dec 1991. A box 20degs
square (some would say unfeasibly large) yields 98 stations, one of which does have a bit of a spike
in Dec 91.. not impressively so though, and it's a long way away:
4855200 853 9993 3 NAKHON SI THAMMARAT THAILAND 1912 2000 -999 -999.00
Over 10.5 degrees South and over 7 degrees West of the target cell. Not very convincing, especially
as closer stations are bound to have masked it.
One FINAL try with vietlaos3.for. Just looking at December, now, and getting the original station
normals as well as the climatological ones. The whole chain. This proves to be surprisingly
complicated.
On a parallel track (this would really have been better as a blog), Tim O has found that the binary
grids of primary vars (used in synthetic production of secondary parameters) should be produced with
'binfac' set to 10 for TMP and DTR. This may explain the poor performance and coverage of VAP in
particular.
Back to VietLaos.. the station output from vietlaos3.for had a couple of stations with missing
anomaly values:
LAT LON ALT NORM VAL ANOM
17.15 104.13 171.00 29.00 62.00 -9999.00
15.80 102.03 182.00 45.00 40.70 -9999.00
I eventually worked out that I hadn't collapsed a universal probability, it was just the 4 standard
deviation screen in anomdtb (4 for precip, 3 for temp). To confirm, I did a short anomdtb run (just
for 1991) with the sd limit set to 10, and sure enough:
17.15 104.13 171.0 2037.900024835600
15.80 102.03 182.0 804.400024840300
They both look high enough to trigger the 4sd cap. However, since the spike we're investigating is
from a regular process run, where that limit was in place, we can't use those values. Program is thus
amended to omit any stations without anomalies (for Dec 1991)
Next issue is to make sense of the output. The first line from the station file is (headings added):
LAT LON ALT NORM VAL ANOM
22.60 114.10 25.00 29.00 21.60 -25.50
Remembering it's percentage anomalies! So 25.5% of 29 is 29*.255 = 7.395. Add that to 21.6? 29.0 🙂
By contract, the cell file looks like this:
ROW COL LAT LON VAL NORM
220 561 20.25 100.75 12.90 15.00
There are 63 stations and 204 cells (196 when missing values (sea) eliminated). I guess one approach
would be to grid the anomalies, to see if a peak is visible. I did. It is. The simple interpolation
in Matlab puts the peak at 17.25N, 105.25E - matches the grid peak for lat and a little west for lon.
The nearest high station anomaly is 2369.2, that's from:
4838300 1653 10472 138 MUKDAHAN THAILAND 1934 2000 -999 -999.00
6190 34 127 290 907 1813 2900 2271 3353 2596 886 84 13
1934 0 100 0 500 3150 2940 2460 2980 3320 350 0 20
1935 0 0 0 440 1920 1560 3220 580 1770 0 170 0
1936 0 0 820 0 2320 1900 3460 810 2120 0 0 0
1937 0 0 350 660 3640 740 1920 2890 4470 330 0 0
1938 0 0 550 1300 730 1720 2340 400 2030 810 0 0
1939 0 280 700 230 1320 420 2480 4190 2130 0 0 0
1940-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999
1941 0 0 530 590 1800 2710 420 2790 650 750 0 0
1942 0 0 540 660 1650 3200 1200 1730 1990 0 0 0
1943 0 0 1600 1300 1960 1880 2000 2200 2600 0 0 0
1944 0-9999 0 320 2210 1040 1700 2500 2150 820 50 0
1945 70 600 0 340 0 2470 3400 2780 1620 20 330 500
1946 0 0 1360 0-9999 1720 1070 3330 2870 1260 0 0
1947 0 180 50 1390 3200 1530 3520 1150-9999 50 0 0
1948-9999-9999 0 1630 3520 1040 2900 3980 2160 380 10 0
1949 0 200 170 470 3000 2720 3110 4920 360 690 90-9999
1950 0 70 0 250 1610 2090 1040 1390 3500 1960 20 0
1951 0 340 770 1380 530 3380 1590 1950 3580 1430 20 0
1952 0 0 1170 660 1640 3160 2320 4150 3510 860 30 0
1953 260 110 430 630 1010 2200 1480 2780 1180 310 10 0
1954 460 10 30 1100 1950 2870 1120 2640 4220 620 0 0
1955 0 0 280 580 2180 4100 2900 2570 1810 270 20 0
1956 0 420 150 1000 3000 2930 3980 3840 2020 220 0 0
1957 0 30 1210 630 1690 2130 2090 3030 3240 460 0 0
1958 70 50 10 1090 1060 1690 2670 910 2750 700 0 0
1959 0 430 730 290 2300 1540 2080 2030 3910 280 0 0
1960 0 190 550 650 1230 1750 3750 5090 2190 700 90 0
1961 0 0 590 660 2190 5880 2150 4310 4030 1140 0 0
1962 0 20 120 880 2200 2690 2780 4770-9999 360 50 0
1963 0 0 610 600 1010 3480 2130 3410 1250 220 150 0
1964 0 0 740 910 3370 2600 630 2050 4700 1120 20 0
1965 0 250 660 780 2120 2700 2110 2810 2210 1350 0 0
1966 0 610 310 730 3340 1370 3100 4010 2020 510 40 110
1967 0 0 50 870 1810 1800 1540 1960 3270 150 130 0
1968 10 70 50 170 1770 2320 1140 2360 5140 700 0 0
1969 0 20 290 260 1850 1990 3430 2060 3470 290 30 0
1970 0 10 90 1150 2210 3620 2610 4310 1290 340 10 0
1971 0 730 570 740 2130 3580 4060 2100 3240 510 30 170
1972 0 550 460 1280 1040 3470 3250 3640 2980 2340 20 0
1973 0 0 10 1080 2650 1990 2460 2050 2090 190 0 0
1974 400 0 60 2160 1160 2520 3070 6110 1920 570 260 0
1975 20 350 360 410 2200 3340 3230 3560 940 520 20 40
1976 0 210 380 1700 1160 1460 2430 3720 3250 780 60 0
1977 20 10 90 1000 620 620 1470 3980 4010 100 0 0
1978 0 100 920 650 1710 3690 2960 4420 2190 110 0 0
1979 10 140 50 900 2000 4230 1230 2540 2910 0 0 0
1980 0 50 190 1040 1440 3490 3310 930 6130 1830 170 20
1981 0 210 220 720 2630 4730 2490 1750 610 1260 90 0
1982 0 0 290 840 1330 2160 390 4390 3400 1720 370 0
1983 90 30 0 550 1360 2700 830 5200 1380 1680 0 0
1984 10 0 350 1270 2030 2290 2900 3880 2130 1380 650 0
1985 380 50 170 860 1100 4270 1580 3350 900 1170 0 0
1986 0 0 120 1650 2120 2210 1830 2980 1760 1700 240 10
1987 0 110 290 360 1090 4210 2670 3640 2140 1040 20 0
1988 0 30 90 1170 1130 1790 1800 3580 740 1730 0 0
1989-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999
1990-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999-9999
1991 0-9999 105 226 1370 2079 1452 4190 3799 1610-9999 321
1992 328 314 150 637 1968 1906 2366 4973 1287 238 0 216
1993-9999 5 476 768 2438 1169 3671 2463 2215 13 22-9999
1994 0 781 274 409 1837 2297 1625 5755 1709 216-9999-9999
1995 0 140 834 672 1556 1606 4439 2848 681 857 69 0
1996 12 2 660 2394 1566 1526 1960 3350 4843 724 476-9999
1997 35 321 458 642 1154 2832 1197 4071 1722 1800 0-9999
1998 0 346 154 241 2174 3348 813 2153 2231 276 85 37
1999 63 0 182 1025 3449 1207 3681 1570 2628 299 109-9999
2000-9999 95 48 2742 2816 1852 1725 1903 2903 391 0 0
Note that the Dec 1991 value is anomalous, but not as extreme as the 1945 datum,
which would get the same treatment with normals and climatologies, so should
produce an even bigger spike for 1945 DJF! Unless of course it's screened out by
the 4SD rule.. which it is! Well - no value in pre.1945.12.txt for this location.
Anyway.. this is the highest value in the Vietnam/Laos cells for Dec 1991:
ROW COL LAT LON VAL NORM
198 571 9.25 105.75 63.50 130.00
With a normal of 130, that makes the anomaly -48.85. Now I'm confused. How can
an anomalously high value be well below the 61-90 mean? Aaarrgghhhh. Perhaps I
should look at the highest anomaly. That turns out to be 80, from here:
216 563 18.25 101.75 1.80 1.00
Not exactly a show stopper. Time to look at the .glo files, which glo2abs processes
into absolutes. Here's a Far-Eastern region with a spike:
>> glod3(210:216,567:573)
567 568 569 570 571 572 573
216 1393.6 1791.6 1757.4 1723.2 1674.5 1553.2 1431.9
215 1501.7 1899.8 1927.3 1893.1 1786.3 1665 1505.3
214 1609.9 2007.9 2097.2 2019.5 1885.4 1712.8 1540.2
213 1359.4 2116.1 2252.6 2092.9 1920.3 1747.7 1575.1
212 80.145 1195.5 1796.1 1882 1955.2 1782.6 1610
211 -6.125 -36.614 563.99 649.87 735.75 821.63 907.5
210 -59.833 -90.333 -89.649 -83.283 -76.929 -70.576 -64.223
The spike is at [213,569]. Yes, I know, it's the n-th set of coordinates. You should see the
plots! But looking at the anomalies is the closest we'll get to what Tim's program was doing,
ie, calculating DJF standard deviations. Or something. Now, the coordinates are 16.75N, 104.75E.
And wouldn't you know it, our prime suspect (see above) is on top of it:
4838300 1653 10472 138 MUKDAHAN THAILAND 1934 2000 -999 -999.00
So OK, here we go with the full run-down for December 1991, in the 16.75N,105.75E region:
TYPE VALUE COMMENT
Raw data: 321 Highest unscreened December for this station (67 years)
Normal: 13 Looks right - of course, very low for the target data!
Anomaly: 2369.2 Correctly calculated
Gridded anomaly: 2252.6 Believable interpolation
Gridded actual: er... Strangely, it seems to be 0.
Ah well - had enough. It looks like it's an extreme but believable event in a Thai station, let's
leave it like that.