1netcdf tst_calendars { // test climate calendars and CDL time with -t option
2dimensions:
3	time = 1;
4	bnds = 2 ; // for cell bounds on t3 time coordinate variable
5	t3 = unlimited ;
6variables:
7  double t1_days(time);
8     t1_days:units = "days since 1500-1-1";
9  double t1_st_days(time);
10     t1_st_days:calendar = "standard" ; // mixed julian-gregorian
11     t1_st_days:units = "days since 1500-01-01 00:00:00";
12  double t1_gr_days(time);
13     t1_gr_days:calendar = "gregorian" ; // same as "standard"
14     t1_gr_days:units = "days since 1500-01-01 00:00:00";
15  double t1_pg_days(time);
16     t1_pg_days:calendar = "proleptic_gregorian" ;
17     t1_pg_days:units = "days since 1500-01-01 00:00:00";
18  double t1_nl_days(time);
19     t1_nl_days:calendar = "noleap" ;
20     t1_nl_days:units = "days since 1500-01-01 00:00:00";
21  double t1_365_days(time);
22     t1_365_days:calendar = "365_day" ; // same as "noleap"
23     t1_365_days:units = "days since 1500-01-01 00:00:00";
24  double t1_al_days(time);
25     t1_al_days:calendar = "all_leap" ;
26     t1_al_days:units = "days since 1500-01-01 00:00:00";
27  double t1_366_days(time);
28     t1_366_days:calendar = "366_day" ; // same as "all_leap"
29     t1_366_days:units = "days since 1500-01-01 00:00:00";
30  double t1_360_days(time);
31     t1_360_days:calendar = "360_day" ;
32     t1_360_days:units = "days since 1500-01-01 00:00:00";
33  double t1_jl_days(time);
34     t1_jl_days:calendar = "julian" ;
35     t1_jl_days:units = "days since 1500-01-01 00:00:00";
36
37  double t2_days(time);
38     t2_days:units = "days since 2000-6-15 12:00";
39  double t2_st_days(time);
40     t2_st_days:calendar = "standard" ; // mixed julian-gregorian
41     t2_st_days:units = "days since 2000-06-15 12:00:00";
42  double t2_gr_days(time);
43     t2_gr_days:calendar = "gregorian" ; // same as "standard"
44     t2_gr_days:units = "days since 2000-06-15 12:00:00";
45  double t2_pg_days(time);
46     t2_pg_days:calendar = "proleptic_gregorian" ;
47     t2_pg_days:units = "days since 2000-06-15 12:00:00";
48  double t2_pgt_days(time);
49     t2_pgt_days:calendar = "proleptic_gregorian" ;
50     t2_pgt_days:units = "days since 2000-06-15T12:00:00";
51  double t2_nl_days(time);
52     t2_nl_days:calendar = "noleap" ;
53     t2_nl_days:units = "days since 2000-06-15 12:00:00";
54  double t2_365_days(time);
55     t2_365_days:calendar = "365_day" ; // same as "noleap"
56     t2_365_days:units = "days since 2000-06-15 12:00:00";
57  double t2_al_days(time);   // *** no year, 07-29 12:00
58     t2_al_days:calendar = "all_leap" ; // seems wrong, same as gregorian
59     t2_al_days:units = "days since 2000-06-15 12:00:00";
60  double t2_366_days(time);   // *** no year, 07-29 12:00
61     t2_366_days:calendar = "366_day" ; // omits years, same as "clim"??
62     t2_366_days:units = "days since 2000-06-15 12:00:00";
63  double t2_360_days(time);
64     t2_360_days:calendar = "360_day" ; // omits years, same as "clim"??
65     t2_360_days:units = "days since 2000-06-15 12:00:00";
66  double t2_jl_days(time);
67     t2_jl_days:calendar = "julian" ;
68     t2_jl_days:units = "days since 2000-06-15 12:00:00";
69
70//  double t1_none_days(time);
71//     t1_none_days:calendar = "none" ;
72//     t1_none_days:units = "days since 1500-01-01 00:00:00";
73//  double t2_none_days(time);
74//     t2_none_days:calendar = "none" ;
75//     t2_none_days:units = "days since 2000-06-15 12:00:00";
76
77//  test -t option on numeric attributes of a time-valued variable
78    int t3(t3) ;
79       t3:units = "days since 1804-1-1" ;
80       t3:calendar = "gregorian" ;
81       t3:bounds = "t3_bnds" ;
82       t3:time1 = 1 ;
83       t3:time2 = 5, 6 ;
84       t3:time3 = 7.125f, 8.75f ;
85       t3:time4 = 58.5, 59.5, 60.5 ;
86       t3:time5 = 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120 ;
87    double t3_bnds(t3, bnds) ;  // no attributes, since a cell bounds variable
88
89// test -t bug fix, time unit without base time should not interpret numeric atts as times
90    int t4 ;
91       t4:units = "days" ;
92       t4:att1 = 1 ;
93       t4:att2 = 5, 6 ;
94       t4:att3 = 7.125f, 8.75f ;
95
96data:
97   // Should all represent 2009-01-01 00:00:00
98	t1_days = 185900;
99	t1_st_days = 185900;
100	t1_gr_days = 185900;
101	t1_pg_days = 185909;
102	t1_nl_days = 185785;
103	t1_365_days = 185785;
104	t1_366_days = 186294;
105	t1_al_days = 186294;
106        t1_360_days = 183240;
107	t1_jl_days = 185913;
108
109	t2_days = 3121.5;
110	t2_st_days = 3121.5;
111	t2_gr_days = 3121.5;
112	t2_pg_days = 3121.5;
113	t2_pgt_days = 3121.5;
114	t2_nl_days = 3119.5;
115	t2_365_days = 3119.5;
116	t2_366_days = 3127.5;
117	t2_al_days = 3127.5;
118        t2_360_days = 3075.5;
119	t2_jl_days = 3121.5;
120
121//  Not sure what these should represent yet ...
122//	t1_none_days = 185900;
123//	t2_none_days = 3121.5;
124
125	t3 = 10, 11, 12;
126        t3_bnds = 9.5, 10.5, 10.5, 11.5, 11.5, 12.5 ;
127}
128
129