1/* This is part of the netCDF package.
2   Copyright 2006 University Corporation for Atmospheric Research/Unidata.
3   See COPYRIGHT file for conditions of use.
4
5   This is a very simple example which writes a netCDF file with
6   Unicode names encoded with UTF-8. It is the NETCDF3 equivalent
7   of tst_unicode.c
8
9   $Id: tst_atts.c 2792 2014-10-27 06:02:59Z wkliao $
10*/
11
12#include <nc_tests.h>
13#include "err_macros.h"
14#include <stdlib.h>
15#include <string.h>
16
17/* The data file we will create. */
18#define FILE_NAME "tst_atts.nc"
19
20void
21check_err(const int stat, const int line, const char *file) {
22   if (stat != NC_NOERR) {
23      (void)fprintf(stderr,"line %d of %s: %s\n", linefilenc_strerror(stat));
24      fflush(stderr);
25      exit(1);
26   }
27}
28
29int
30create_file()
31{
32    int  stat;  /* return status */
33    int  ncid;  /* netCDF id */
34
35    /* dimension ids */
36    int Dr_dim;
37    int D1_dim;
38    int D2_dim;
39    int D3_dim;
40    int D4_dim;
41
42    /* dimension lengths */
43    size_t Dr_len = NC_UNLIMITED;
44    size_t D1_len = 1;
45    size_t D2_len = 2;
46    size_t D3_len = 3;
47    size_t D4_len = 4;
48
49    /* variable ids */
50    int c_id;
51    int b_id;
52    int s_id;
53    int i_id;
54    int f_id;
55    int d_id;
56    int cr_id;
57    int br_id;
58    int sr_id;
59    int ir_id;
60    int fr_id;
61    int dr_id;
62    int c1_id;
63    int b1_id;
64    int s1_id;
65    int i1_id;
66    int f1_id;
67    int d1_id;
68    int c2_id;
69    int b2_id;
70    int s2_id;
71    int i2_id;
72    int f2_id;
73    int d2_id;
74    int c3_id;
75    int b3_id;
76    int s3_id;
77    int i3_id;
78    int f3_id;
79    int d3_id;
80    int c4_id;
81    int b4_id;
82    int s4_id;
83    int i4_id;
84    int f4_id;
85    int d4_id;
86    int cr1_id;
87    int br2_id;
88    int sr3_id;
89    int ir4_id;
90    int f11_id;
91    int d12_id;
92    int c13_id;
93    int b14_id;
94    int s21_id;
95    int i22_id;
96    int f23_id;
97    int d24_id;
98    int c31_id;
99    int b32_id;
100    int s33_id;
101    int i34_id;
102    int f41_id;
103    int d42_id;
104    int c43_id;
105    int b44_id;
106    int sr11_id;
107    int ir12_id;
108    int fr13_id;
109    int dr14_id;
110    int cr21_id;
111    int br22_id;
112    int sr23_id;
113    int ir24_id;
114    int fr31_id;
115    int dr32_id;
116    int cr33_id;
117    int br34_id;
118    int sr41_id;
119    int ir42_id;
120    int fr43_id;
121    int dr44_id;
122    int c111_id;
123    int b112_id;
124    int s113_id;
125    int i114_id;
126    int f121_id;
127    int d122_id;
128    int c123_id;
129    int b124_id;
130    int s131_id;
131    int i132_id;
132    int f133_id;
133    int d134_id;
134    int c141_id;
135    int b142_id;
136    int s143_id;
137    int i144_id;
138    int f211_id;
139    int d212_id;
140    int c213_id;
141    int b214_id;
142    int s221_id;
143    int i222_id;
144    int f223_id;
145    int d224_id;
146    int c231_id;
147    int b232_id;
148    int s233_id;
149    int i234_id;
150    int f241_id;
151    int d242_id;
152    int c243_id;
153    int b244_id;
154    int s311_id;
155    int i312_id;
156    int f313_id;
157    int d314_id;
158    int c321_id;
159    int b322_id;
160    int s323_id;
161    int i324_id;
162    int f331_id;
163    int d332_id;
164    int c333_id;
165    int b334_id;
166    int s341_id;
167    int i342_id;
168    int f343_id;
169    int d344_id;
170    int c411_id;
171    int b412_id;
172    int s413_id;
173    int i414_id;
174    int f421_id;
175    int d422_id;
176    int c423_id;
177    int b424_id;
178    int s431_id;
179    int i432_id;
180    int f433_id;
181    int d434_id;
182    int c441_id;
183    int b442_id;
184    int s443_id;
185    int i444_id;
186
187    /* rank (number of dimensions) for each variable */
188#   define RANK_c 0
189#   define RANK_b 0
190#   define RANK_s 0
191#   define RANK_i 0
192#   define RANK_f 0
193#   define RANK_d 0
194#   define RANK_cr 1
195#   define RANK_br 1
196#   define RANK_sr 1
197#   define RANK_ir 1
198#   define RANK_fr 1
199#   define RANK_dr 1
200#   define RANK_c1 1
201#   define RANK_b1 1
202#   define RANK_s1 1
203#   define RANK_i1 1
204#   define RANK_f1 1
205#   define RANK_d1 1
206#   define RANK_c2 1
207#   define RANK_b2 1
208#   define RANK_s2 1
209#   define RANK_i2 1
210#   define RANK_f2 1
211#   define RANK_d2 1
212#   define RANK_c3 1
213#   define RANK_b3 1
214#   define RANK_s3 1
215#   define RANK_i3 1
216#   define RANK_f3 1
217#   define RANK_d3 1
218#   define RANK_c4 1
219#   define RANK_b4 1
220#   define RANK_s4 1
221#   define RANK_i4 1
222#   define RANK_f4 1
223#   define RANK_d4 1
224#   define RANK_cr1 2
225#   define RANK_br2 2
226#   define RANK_sr3 2
227#   define RANK_ir4 2
228#   define RANK_f11 2
229#   define RANK_d12 2
230#   define RANK_c13 2
231#   define RANK_b14 2
232#   define RANK_s21 2
233#   define RANK_i22 2
234#   define RANK_f23 2
235#   define RANK_d24 2
236#   define RANK_c31 2
237#   define RANK_b32 2
238#   define RANK_s33 2
239#   define RANK_i34 2
240#   define RANK_f41 2
241#   define RANK_d42 2
242#   define RANK_c43 2
243#   define RANK_b44 2
244#   define RANK_sr11 3
245#   define RANK_ir12 3
246#   define RANK_fr13 3
247#   define RANK_dr14 3
248#   define RANK_cr21 3
249#   define RANK_br22 3
250#   define RANK_sr23 3
251#   define RANK_ir24 3
252#   define RANK_fr31 3
253#   define RANK_dr32 3
254#   define RANK_cr33 3
255#   define RANK_br34 3
256#   define RANK_sr41 3
257#   define RANK_ir42 3
258#   define RANK_fr43 3
259#   define RANK_dr44 3
260#   define RANK_c111 3
261#   define RANK_b112 3
262#   define RANK_s113 3
263#   define RANK_i114 3
264#   define RANK_f121 3
265#   define RANK_d122 3
266#   define RANK_c123 3
267#   define RANK_b124 3
268#   define RANK_s131 3
269#   define RANK_i132 3
270#   define RANK_f133 3
271#   define RANK_d134 3
272#   define RANK_c141 3
273#   define RANK_b142 3
274#   define RANK_s143 3
275#   define RANK_i144 3
276#   define RANK_f211 3
277#   define RANK_d212 3
278#   define RANK_c213 3
279#   define RANK_b214 3
280#   define RANK_s221 3
281#   define RANK_i222 3
282#   define RANK_f223 3
283#   define RANK_d224 3
284#   define RANK_c231 3
285#   define RANK_b232 3
286#   define RANK_s233 3
287#   define RANK_i234 3
288#   define RANK_f241 3
289#   define RANK_d242 3
290#   define RANK_c243 3
291#   define RANK_b244 3
292#   define RANK_s311 3
293#   define RANK_i312 3
294#   define RANK_f313 3
295#   define RANK_d314 3
296#   define RANK_c321 3
297#   define RANK_b322 3
298#   define RANK_s323 3
299#   define RANK_i324 3
300#   define RANK_f331 3
301#   define RANK_d332 3
302#   define RANK_c333 3
303#   define RANK_b334 3
304#   define RANK_s341 3
305#   define RANK_i342 3
306#   define RANK_f343 3
307#   define RANK_d344 3
308#   define RANK_c411 3
309#   define RANK_b412 3
310#   define RANK_s413 3
311#   define RANK_i414 3
312#   define RANK_f421 3
313#   define RANK_d422 3
314#   define RANK_c423 3
315#   define RANK_b424 3
316#   define RANK_s431 3
317#   define RANK_i432 3
318#   define RANK_f433 3
319#   define RANK_d434 3
320#   define RANK_c441 3
321#   define RANK_b442 3
322#   define RANK_s443 3
323#   define RANK_i444 3
324
325    /* variable shapes */
326    int cr_dims[RANK_cr];
327    int br_dims[RANK_br];
328    int sr_dims[RANK_sr];
329    int ir_dims[RANK_ir];
330    int fr_dims[RANK_fr];
331    int dr_dims[RANK_dr];
332    int c1_dims[RANK_c1];
333    int b1_dims[RANK_b1];
334    int s1_dims[RANK_s1];
335    int i1_dims[RANK_i1];
336    int f1_dims[RANK_f1];
337    int d1_dims[RANK_d1];
338    int c2_dims[RANK_c2];
339    int b2_dims[RANK_b2];
340    int s2_dims[RANK_s2];
341    int i2_dims[RANK_i2];
342    int f2_dims[RANK_f2];
343    int d2_dims[RANK_d2];
344    int c3_dims[RANK_c3];
345    int b3_dims[RANK_b3];
346    int s3_dims[RANK_s3];
347    int i3_dims[RANK_i3];
348    int f3_dims[RANK_f3];
349    int d3_dims[RANK_d3];
350    int c4_dims[RANK_c4];
351    int b4_dims[RANK_b4];
352    int s4_dims[RANK_s4];
353    int i4_dims[RANK_i4];
354    int f4_dims[RANK_f4];
355    int d4_dims[RANK_d4];
356    int cr1_dims[RANK_cr1];
357    int br2_dims[RANK_br2];
358    int sr3_dims[RANK_sr3];
359    int ir4_dims[RANK_ir4];
360    int f11_dims[RANK_f11];
361    int d12_dims[RANK_d12];
362    int c13_dims[RANK_c13];
363    int b14_dims[RANK_b14];
364    int s21_dims[RANK_s21];
365    int i22_dims[RANK_i22];
366    int f23_dims[RANK_f23];
367    int d24_dims[RANK_d24];
368    int c31_dims[RANK_c31];
369    int b32_dims[RANK_b32];
370    int s33_dims[RANK_s33];
371    int i34_dims[RANK_i34];
372    int f41_dims[RANK_f41];
373    int d42_dims[RANK_d42];
374    int c43_dims[RANK_c43];
375    int b44_dims[RANK_b44];
376    int sr11_dims[RANK_sr11];
377    int ir12_dims[RANK_ir12];
378    int fr13_dims[RANK_fr13];
379    int dr14_dims[RANK_dr14];
380    int cr21_dims[RANK_cr21];
381    int br22_dims[RANK_br22];
382    int sr23_dims[RANK_sr23];
383    int ir24_dims[RANK_ir24];
384    int fr31_dims[RANK_fr31];
385    int dr32_dims[RANK_dr32];
386    int cr33_dims[RANK_cr33];
387    int br34_dims[RANK_br34];
388    int sr41_dims[RANK_sr41];
389    int ir42_dims[RANK_ir42];
390    int fr43_dims[RANK_fr43];
391    int dr44_dims[RANK_dr44];
392    int c111_dims[RANK_c111];
393    int b112_dims[RANK_b112];
394    int s113_dims[RANK_s113];
395    int i114_dims[RANK_i114];
396    int f121_dims[RANK_f121];
397    int d122_dims[RANK_d122];
398    int c123_dims[RANK_c123];
399    int b124_dims[RANK_b124];
400    int s131_dims[RANK_s131];
401    int i132_dims[RANK_i132];
402    int f133_dims[RANK_f133];
403    int d134_dims[RANK_d134];
404    int c141_dims[RANK_c141];
405    int b142_dims[RANK_b142];
406    int s143_dims[RANK_s143];
407    int i144_dims[RANK_i144];
408    int f211_dims[RANK_f211];
409    int d212_dims[RANK_d212];
410    int c213_dims[RANK_c213];
411    int b214_dims[RANK_b214];
412    int s221_dims[RANK_s221];
413    int i222_dims[RANK_i222];
414    int f223_dims[RANK_f223];
415    int d224_dims[RANK_d224];
416    int c231_dims[RANK_c231];
417    int b232_dims[RANK_b232];
418    int s233_dims[RANK_s233];
419    int i234_dims[RANK_i234];
420    int f241_dims[RANK_f241];
421    int d242_dims[RANK_d242];
422    int c243_dims[RANK_c243];
423    int b244_dims[RANK_b244];
424    int s311_dims[RANK_s311];
425    int i312_dims[RANK_i312];
426    int f313_dims[RANK_f313];
427    int d314_dims[RANK_d314];
428    int c321_dims[RANK_c321];
429    int b322_dims[RANK_b322];
430    int s323_dims[RANK_s323];
431    int i324_dims[RANK_i324];
432    int f331_dims[RANK_f331];
433    int d332_dims[RANK_d332];
434    int c333_dims[RANK_c333];
435    int b334_dims[RANK_b334];
436    int s341_dims[RANK_s341];
437    int i342_dims[RANK_i342];
438    int f343_dims[RANK_f343];
439    int d344_dims[RANK_d344];
440    int c411_dims[RANK_c411];
441    int b412_dims[RANK_b412];
442    int s413_dims[RANK_s413];
443    int i414_dims[RANK_i414];
444    int f421_dims[RANK_f421];
445    int d422_dims[RANK_d422];
446    int c423_dims[RANK_c423];
447    int b424_dims[RANK_b424];
448    int s431_dims[RANK_s431];
449    int i432_dims[RANK_i432];
450    int f433_dims[RANK_f433];
451    int d434_dims[RANK_d434];
452    int c441_dims[RANK_c441];
453    int b442_dims[RANK_b442];
454    int s443_dims[RANK_s443];
455    int i444_dims[RANK_i444];
456
457    /* enter define mode */
458#ifdef TEST_PNETCDF
459    stat = nc_create_par(FILE_NAMENC_CLOBBER|NC_PNETCDFMPI_COMM_WORLDMPI_INFO_NULL, &ncid);
460#else
461    stat = nc_create(FILE_NAMENC_CLOBBER, &ncid);
462#endif
463    check_err(stat,__LINE__,__FILE__);
464
465    /* define dimensions */
466    stat = nc_def_dim(ncid, "Dr", Dr_len, &Dr_dim);
467    check_err(stat,__LINE__,__FILE__);
468    stat = nc_def_dim(ncid, "D1", D1_len, &D1_dim);
469    check_err(stat,__LINE__,__FILE__);
470    stat = nc_def_dim(ncid, "D2", D2_len, &D2_dim);
471    check_err(stat,__LINE__,__FILE__);
472    stat = nc_def_dim(ncid, "D3", D3_len, &D3_dim);
473    check_err(stat,__LINE__,__FILE__);
474    stat = nc_def_dim(ncid, "D4", D4_len, &D4_dim);
475    check_err(stat,__LINE__,__FILE__);
476
477    /* define variables */
478
479    stat = nc_def_var(ncid, "c", NC_CHARRANK_c, 0, &c_id);
480    check_err(stat,__LINE__,__FILE__);
481
482    stat = nc_def_var(ncid, "b", NC_BYTERANK_b, 0, &b_id);
483    check_err(stat,__LINE__,__FILE__);
484
485    stat = nc_def_var(ncid, "s", NC_SHORTRANK_s, 0, &s_id);
486    check_err(stat,__LINE__,__FILE__);
487
488    stat = nc_def_var(ncid, "i", NC_INTRANK_i, 0, &i_id);
489    check_err(stat,__LINE__,__FILE__);
490
491    stat = nc_def_var(ncid, "f", NC_FLOATRANK_f, 0, &f_id);
492    check_err(stat,__LINE__,__FILE__);
493
494    stat = nc_def_var(ncid, "d", NC_DOUBLERANK_d, 0, &d_id);
495    check_err(stat,__LINE__,__FILE__);
496
497    cr_dims[0] = Dr_dim;
498    stat = nc_def_var(ncid, "cr", NC_CHARRANK_crcr_dims, &cr_id);
499    check_err(stat,__LINE__,__FILE__);
500
501    br_dims[0] = Dr_dim;
502    stat = nc_def_var(ncid, "br", NC_BYTERANK_brbr_dims, &br_id);
503    check_err(stat,__LINE__,__FILE__);
504
505    sr_dims[0] = Dr_dim;
506    stat = nc_def_var(ncid, "sr", NC_SHORTRANK_srsr_dims, &sr_id);
507    check_err(stat,__LINE__,__FILE__);
508
509    ir_dims[0] = Dr_dim;
510    stat = nc_def_var(ncid, "ir", NC_INTRANK_irir_dims, &ir_id);
511    check_err(stat,__LINE__,__FILE__);
512
513    fr_dims[0] = Dr_dim;
514    stat = nc_def_var(ncid, "fr", NC_FLOATRANK_frfr_dims, &fr_id);
515    check_err(stat,__LINE__,__FILE__);
516
517    dr_dims[0] = Dr_dim;
518    stat = nc_def_var(ncid, "dr", NC_DOUBLERANK_drdr_dims, &dr_id);
519    check_err(stat,__LINE__,__FILE__);
520
521    c1_dims[0] = D1_dim;
522    stat = nc_def_var(ncid, "c1", NC_CHARRANK_c1c1_dims, &c1_id);
523    check_err(stat,__LINE__,__FILE__);
524
525    b1_dims[0] = D1_dim;
526    stat = nc_def_var(ncid, "b1", NC_BYTERANK_b1b1_dims, &b1_id);
527    check_err(stat,__LINE__,__FILE__);
528
529    s1_dims[0] = D1_dim;
530    stat = nc_def_var(ncid, "s1", NC_SHORTRANK_s1s1_dims, &s1_id);
531    check_err(stat,__LINE__,__FILE__);
532
533    i1_dims[0] = D1_dim;
534    stat = nc_def_var(ncid, "i1", NC_INTRANK_i1i1_dims, &i1_id);
535    check_err(stat,__LINE__,__FILE__);
536
537    f1_dims[0] = D1_dim;
538    stat = nc_def_var(ncid, "f1", NC_FLOATRANK_f1f1_dims, &f1_id);
539    check_err(stat,__LINE__,__FILE__);
540
541    d1_dims[0] = D1_dim;
542    stat = nc_def_var(ncid, "d1", NC_DOUBLERANK_d1d1_dims, &d1_id);
543    check_err(stat,__LINE__,__FILE__);
544
545    c2_dims[0] = D2_dim;
546    stat = nc_def_var(ncid, "c2", NC_CHARRANK_c2c2_dims, &c2_id);
547    check_err(stat,__LINE__,__FILE__);
548
549    b2_dims[0] = D2_dim;
550    stat = nc_def_var(ncid, "b2", NC_BYTERANK_b2b2_dims, &b2_id);
551    check_err(stat,__LINE__,__FILE__);
552
553    s2_dims[0] = D2_dim;
554    stat = nc_def_var(ncid, "s2", NC_SHORTRANK_s2s2_dims, &s2_id);
555    check_err(stat,__LINE__,__FILE__);
556
557    i2_dims[0] = D2_dim;
558    stat = nc_def_var(ncid, "i2", NC_INTRANK_i2i2_dims, &i2_id);
559    check_err(stat,__LINE__,__FILE__);
560
561    f2_dims[0] = D2_dim;
562    stat = nc_def_var(ncid, "f2", NC_FLOATRANK_f2f2_dims, &f2_id);
563    check_err(stat,__LINE__,__FILE__);
564
565    d2_dims[0] = D2_dim;
566    stat = nc_def_var(ncid, "d2", NC_DOUBLERANK_d2d2_dims, &d2_id);
567    check_err(stat,__LINE__,__FILE__);
568
569    c3_dims[0] = D3_dim;
570    stat = nc_def_var(ncid, "c3", NC_CHARRANK_c3c3_dims, &c3_id);
571    check_err(stat,__LINE__,__FILE__);
572
573    b3_dims[0] = D3_dim;
574    stat = nc_def_var(ncid, "b3", NC_BYTERANK_b3b3_dims, &b3_id);
575    check_err(stat,__LINE__,__FILE__);
576
577    s3_dims[0] = D3_dim;
578    stat = nc_def_var(ncid, "s3", NC_SHORTRANK_s3s3_dims, &s3_id);
579    check_err(stat,__LINE__,__FILE__);
580
581    i3_dims[0] = D3_dim;
582    stat = nc_def_var(ncid, "i3", NC_INTRANK_i3i3_dims, &i3_id);
583    check_err(stat,__LINE__,__FILE__);
584
585    f3_dims[0] = D3_dim;
586    stat = nc_def_var(ncid, "f3", NC_FLOATRANK_f3f3_dims, &f3_id);
587    check_err(stat,__LINE__,__FILE__);
588
589    d3_dims[0] = D3_dim;
590    stat = nc_def_var(ncid, "d3", NC_DOUBLERANK_d3d3_dims, &d3_id);
591    check_err(stat,__LINE__,__FILE__);
592
593    c4_dims[0] = D4_dim;
594    stat = nc_def_var(ncid, "c4", NC_CHARRANK_c4c4_dims, &c4_id);
595    check_err(stat,__LINE__,__FILE__);
596
597    b4_dims[0] = D4_dim;
598    stat = nc_def_var(ncid, "b4", NC_BYTERANK_b4b4_dims, &b4_id);
599    check_err(stat,__LINE__,__FILE__);
600
601    s4_dims[0] = D4_dim;
602    stat = nc_def_var(ncid, "s4", NC_SHORTRANK_s4s4_dims, &s4_id);
603    check_err(stat,__LINE__,__FILE__);
604
605    i4_dims[0] = D4_dim;
606    stat = nc_def_var(ncid, "i4", NC_INTRANK_i4i4_dims, &i4_id);
607    check_err(stat,__LINE__,__FILE__);
608
609    f4_dims[0] = D4_dim;
610    stat = nc_def_var(ncid, "f4", NC_FLOATRANK_f4f4_dims, &f4_id);
611    check_err(stat,__LINE__,__FILE__);
612
613    d4_dims[0] = D4_dim;
614    stat = nc_def_var(ncid, "d4", NC_DOUBLERANK_d4d4_dims, &d4_id);
615    check_err(stat,__LINE__,__FILE__);
616
617    cr1_dims[0] = Dr_dim;
618    cr1_dims[1] = D1_dim;
619    stat = nc_def_var(ncid, "cr1", NC_CHARRANK_cr1cr1_dims, &cr1_id);
620    check_err(stat,__LINE__,__FILE__);
621
622    br2_dims[0] = Dr_dim;
623    br2_dims[1] = D2_dim;
624    stat = nc_def_var(ncid, "br2", NC_BYTERANK_br2br2_dims, &br2_id);
625    check_err(stat,__LINE__,__FILE__);
626
627    sr3_dims[0] = Dr_dim;
628    sr3_dims[1] = D3_dim;
629    stat = nc_def_var(ncid, "sr3", NC_SHORTRANK_sr3sr3_dims, &sr3_id);
630    check_err(stat,__LINE__,__FILE__);
631
632    ir4_dims[0] = Dr_dim;
633    ir4_dims[1] = D4_dim;
634    stat = nc_def_var(ncid, "ir4", NC_INTRANK_ir4ir4_dims, &ir4_id);
635    check_err(stat,__LINE__,__FILE__);
636
637    f11_dims[0] = D1_dim;
638    f11_dims[1] = D1_dim;
639    stat = nc_def_var(ncid, "f11", NC_FLOATRANK_f11f11_dims, &f11_id);
640    check_err(stat,__LINE__,__FILE__);
641
642    d12_dims[0] = D1_dim;
643    d12_dims[1] = D2_dim;
644    stat = nc_def_var(ncid, "d12", NC_DOUBLERANK_d12d12_dims, &d12_id);
645    check_err(stat,__LINE__,__FILE__);
646
647    c13_dims[0] = D1_dim;
648    c13_dims[1] = D3_dim;
649    stat = nc_def_var(ncid, "c13", NC_CHARRANK_c13c13_dims, &c13_id);
650    check_err(stat,__LINE__,__FILE__);
651
652    b14_dims[0] = D1_dim;
653    b14_dims[1] = D4_dim;
654    stat = nc_def_var(ncid, "b14", NC_BYTERANK_b14b14_dims, &b14_id);
655    check_err(stat,__LINE__,__FILE__);
656
657    s21_dims[0] = D2_dim;
658    s21_dims[1] = D1_dim;
659    stat = nc_def_var(ncid, "s21", NC_SHORTRANK_s21s21_dims, &s21_id);
660    check_err(stat,__LINE__,__FILE__);
661
662    i22_dims[0] = D2_dim;
663    i22_dims[1] = D2_dim;
664    stat = nc_def_var(ncid, "i22", NC_INTRANK_i22i22_dims, &i22_id);
665    check_err(stat,__LINE__,__FILE__);
666
667    f23_dims[0] = D2_dim;
668    f23_dims[1] = D3_dim;
669    stat = nc_def_var(ncid, "f23", NC_FLOATRANK_f23f23_dims, &f23_id);
670    check_err(stat,__LINE__,__FILE__);
671
672    d24_dims[0] = D2_dim;
673    d24_dims[1] = D4_dim;
674    stat = nc_def_var(ncid, "d24", NC_DOUBLERANK_d24d24_dims, &d24_id);
675    check_err(stat,__LINE__,__FILE__);
676
677    c31_dims[0] = D3_dim;
678    c31_dims[1] = D1_dim;
679    stat = nc_def_var(ncid, "c31", NC_CHARRANK_c31c31_dims, &c31_id);
680    check_err(stat,__LINE__,__FILE__);
681
682    b32_dims[0] = D3_dim;
683    b32_dims[1] = D2_dim;
684    stat = nc_def_var(ncid, "b32", NC_BYTERANK_b32b32_dims, &b32_id);
685    check_err(stat,__LINE__,__FILE__);
686
687    s33_dims[0] = D3_dim;
688    s33_dims[1] = D3_dim;
689    stat = nc_def_var(ncid, "s33", NC_SHORTRANK_s33s33_dims, &s33_id);
690    check_err(stat,__LINE__,__FILE__);
691
692    i34_dims[0] = D3_dim;
693    i34_dims[1] = D4_dim;
694    stat = nc_def_var(ncid, "i34", NC_INTRANK_i34i34_dims, &i34_id);
695    check_err(stat,__LINE__,__FILE__);
696
697    f41_dims[0] = D4_dim;
698    f41_dims[1] = D1_dim;
699    stat = nc_def_var(ncid, "f41", NC_FLOATRANK_f41f41_dims, &f41_id);
700    check_err(stat,__LINE__,__FILE__);
701
702    d42_dims[0] = D4_dim;
703    d42_dims[1] = D2_dim;
704    stat = nc_def_var(ncid, "d42", NC_DOUBLERANK_d42d42_dims, &d42_id);
705    check_err(stat,__LINE__,__FILE__);
706
707    c43_dims[0] = D4_dim;
708    c43_dims[1] = D3_dim;
709    stat = nc_def_var(ncid, "c43", NC_CHARRANK_c43c43_dims, &c43_id);
710    check_err(stat,__LINE__,__FILE__);
711
712    b44_dims[0] = D4_dim;
713    b44_dims[1] = D4_dim;
714    stat = nc_def_var(ncid, "b44", NC_BYTERANK_b44b44_dims, &b44_id);
715    check_err(stat,__LINE__,__FILE__);
716
717    sr11_dims[0] = Dr_dim;
718    sr11_dims[1] = D1_dim;
719    sr11_dims[2] = D1_dim;
720    stat = nc_def_var(ncid, "sr11", NC_SHORTRANK_sr11sr11_dims, &sr11_id);
721    check_err(stat,__LINE__,__FILE__);
722
723    ir12_dims[0] = Dr_dim;
724    ir12_dims[1] = D1_dim;
725    ir12_dims[2] = D2_dim;
726    stat = nc_def_var(ncid, "ir12", NC_INTRANK_ir12ir12_dims, &ir12_id);
727    check_err(stat,__LINE__,__FILE__);
728
729    fr13_dims[0] = Dr_dim;
730    fr13_dims[1] = D1_dim;
731    fr13_dims[2] = D3_dim;
732    stat = nc_def_var(ncid, "fr13", NC_FLOATRANK_fr13fr13_dims, &fr13_id);
733    check_err(stat,__LINE__,__FILE__);
734
735    dr14_dims[0] = Dr_dim;
736    dr14_dims[1] = D1_dim;
737    dr14_dims[2] = D4_dim;
738    stat = nc_def_var(ncid, "dr14", NC_DOUBLERANK_dr14dr14_dims, &dr14_id);
739    check_err(stat,__LINE__,__FILE__);
740
741    cr21_dims[0] = Dr_dim;
742    cr21_dims[1] = D2_dim;
743    cr21_dims[2] = D1_dim;
744    stat = nc_def_var(ncid, "cr21", NC_CHARRANK_cr21cr21_dims, &cr21_id);
745    check_err(stat,__LINE__,__FILE__);
746
747    br22_dims[0] = Dr_dim;
748    br22_dims[1] = D2_dim;
749    br22_dims[2] = D2_dim;
750    stat = nc_def_var(ncid, "br22", NC_BYTERANK_br22br22_dims, &br22_id);
751    check_err(stat,__LINE__,__FILE__);
752
753    sr23_dims[0] = Dr_dim;
754    sr23_dims[1] = D2_dim;
755    sr23_dims[2] = D3_dim;
756    stat = nc_def_var(ncid, "sr23", NC_SHORTRANK_sr23sr23_dims, &sr23_id);
757    check_err(stat,__LINE__,__FILE__);
758
759    ir24_dims[0] = Dr_dim;
760    ir24_dims[1] = D2_dim;
761    ir24_dims[2] = D4_dim;
762    stat = nc_def_var(ncid, "ir24", NC_INTRANK_ir24ir24_dims, &ir24_id);
763    check_err(stat,__LINE__,__FILE__);
764
765    fr31_dims[0] = Dr_dim;
766    fr31_dims[1] = D3_dim;
767    fr31_dims[2] = D1_dim;
768    stat = nc_def_var(ncid, "fr31", NC_FLOATRANK_fr31fr31_dims, &fr31_id);
769    check_err(stat,__LINE__,__FILE__);
770
771    dr32_dims[0] = Dr_dim;
772    dr32_dims[1] = D3_dim;
773    dr32_dims[2] = D2_dim;
774    stat = nc_def_var(ncid, "dr32", NC_DOUBLERANK_dr32dr32_dims, &dr32_id);
775    check_err(stat,__LINE__,__FILE__);
776
777    cr33_dims[0] = Dr_dim;
778    cr33_dims[1] = D3_dim;
779    cr33_dims[2] = D3_dim;
780    stat = nc_def_var(ncid, "cr33", NC_CHARRANK_cr33cr33_dims, &cr33_id);
781    check_err(stat,__LINE__,__FILE__);
782
783    br34_dims[0] = Dr_dim;
784    br34_dims[1] = D3_dim;
785    br34_dims[2] = D4_dim;
786    stat = nc_def_var(ncid, "br34", NC_BYTERANK_br34br34_dims, &br34_id);
787    check_err(stat,__LINE__,__FILE__);
788
789    sr41_dims[0] = Dr_dim;
790    sr41_dims[1] = D4_dim;
791    sr41_dims[2] = D1_dim;
792    stat = nc_def_var(ncid, "sr41", NC_SHORTRANK_sr41sr41_dims, &sr41_id);
793    check_err(stat,__LINE__,__FILE__);
794
795    ir42_dims[0] = Dr_dim;
796    ir42_dims[1] = D4_dim;
797    ir42_dims[2] = D2_dim;
798    stat = nc_def_var(ncid, "ir42", NC_INTRANK_ir42ir42_dims, &ir42_id);
799    check_err(stat,__LINE__,__FILE__);
800
801    fr43_dims[0] = Dr_dim;
802    fr43_dims[1] = D4_dim;
803    fr43_dims[2] = D3_dim;
804    stat = nc_def_var(ncid, "fr43", NC_FLOATRANK_fr43fr43_dims, &fr43_id);
805    check_err(stat,__LINE__,__FILE__);
806
807    dr44_dims[0] = Dr_dim;
808    dr44_dims[1] = D4_dim;
809    dr44_dims[2] = D4_dim;
810    stat = nc_def_var(ncid, "dr44", NC_DOUBLERANK_dr44dr44_dims, &dr44_id);
811    check_err(stat,__LINE__,__FILE__);
812
813    c111_dims[0] = D1_dim;
814    c111_dims[1] = D1_dim;
815    c111_dims[2] = D1_dim;
816    stat = nc_def_var(ncid, "c111", NC_CHARRANK_c111c111_dims, &c111_id);
817    check_err(stat,__LINE__,__FILE__);
818
819    b112_dims[0] = D1_dim;
820    b112_dims[1] = D1_dim;
821    b112_dims[2] = D2_dim;
822    stat = nc_def_var(ncid, "b112", NC_BYTERANK_b112b112_dims, &b112_id);
823    check_err(stat,__LINE__,__FILE__);
824
825    s113_dims[0] = D1_dim;
826    s113_dims[1] = D1_dim;
827    s113_dims[2] = D3_dim;
828    stat = nc_def_var(ncid, "s113", NC_SHORTRANK_s113s113_dims, &s113_id);
829    check_err(stat,__LINE__,__FILE__);
830
831    i114_dims[0] = D1_dim;
832    i114_dims[1] = D1_dim;
833    i114_dims[2] = D4_dim;
834    stat = nc_def_var(ncid, "i114", NC_INTRANK_i114i114_dims, &i114_id);
835    check_err(stat,__LINE__,__FILE__);
836
837    f121_dims[0] = D1_dim;
838    f121_dims[1] = D2_dim;
839    f121_dims[2] = D1_dim;
840    stat = nc_def_var(ncid, "f121", NC_FLOATRANK_f121f121_dims, &f121_id);
841    check_err(stat,__LINE__,__FILE__);
842
843    d122_dims[0] = D1_dim;
844    d122_dims[1] = D2_dim;
845    d122_dims[2] = D2_dim;
846    stat = nc_def_var(ncid, "d122", NC_DOUBLERANK_d122d122_dims, &d122_id);
847    check_err(stat,__LINE__,__FILE__);
848
849    c123_dims[0] = D1_dim;
850    c123_dims[1] = D2_dim;
851    c123_dims[2] = D3_dim;
852    stat = nc_def_var(ncid, "c123", NC_CHARRANK_c123c123_dims, &c123_id);
853    check_err(stat,__LINE__,__FILE__);
854
855    b124_dims[0] = D1_dim;
856    b124_dims[1] = D2_dim;
857    b124_dims[2] = D4_dim;
858    stat = nc_def_var(ncid, "b124", NC_BYTERANK_b124b124_dims, &b124_id);
859    check_err(stat,__LINE__,__FILE__);
860
861    s131_dims[0] = D1_dim;
862    s131_dims[1] = D3_dim;
863    s131_dims[2] = D1_dim;
864    stat = nc_def_var(ncid, "s131", NC_SHORTRANK_s131s131_dims, &s131_id);
865    check_err(stat,__LINE__,__FILE__);
866
867    i132_dims[0] = D1_dim;
868    i132_dims[1] = D3_dim;
869    i132_dims[2] = D2_dim;
870    stat = nc_def_var(ncid, "i132", NC_INTRANK_i132i132_dims, &i132_id);
871    check_err(stat,__LINE__,__FILE__);
872
873    f133_dims[0] = D1_dim;
874    f133_dims[1] = D3_dim;
875    f133_dims[2] = D3_dim;
876    stat = nc_def_var(ncid, "f133", NC_FLOATRANK_f133f133_dims, &f133_id);
877    check_err(stat,__LINE__,__FILE__);
878
879    d134_dims[0] = D1_dim;
880    d134_dims[1] = D3_dim;
881    d134_dims[2] = D4_dim;
882    stat = nc_def_var(ncid, "d134", NC_DOUBLERANK_d134d134_dims, &d134_id);
883    check_err(stat,__LINE__,__FILE__);
884
885    c141_dims[0] = D1_dim;
886    c141_dims[1] = D4_dim;
887    c141_dims[2] = D1_dim;
888    stat = nc_def_var(ncid, "c141", NC_CHARRANK_c141c141_dims, &c141_id);
889    check_err(stat,__LINE__,__FILE__);
890
891    b142_dims[0] = D1_dim;
892    b142_dims[1] = D4_dim;
893    b142_dims[2] = D2_dim;
894    stat = nc_def_var(ncid, "b142", NC_BYTERANK_b142b142_dims, &b142_id);
895    check_err(stat,__LINE__,__FILE__);
896
897    s143_dims[0] = D1_dim;
898    s143_dims[1] = D4_dim;
899    s143_dims[2] = D3_dim;
900    stat = nc_def_var(ncid, "s143", NC_SHORTRANK_s143s143_dims, &s143_id);
901    check_err(stat,__LINE__,__FILE__);
902
903    i144_dims[0] = D1_dim;
904    i144_dims[1] = D4_dim;
905    i144_dims[2] = D4_dim;
906    stat = nc_def_var(ncid, "i144", NC_INTRANK_i144i144_dims, &i144_id);
907    check_err(stat,__LINE__,__FILE__);
908
909    f211_dims[0] = D2_dim;
910    f211_dims[1] = D1_dim;
911    f211_dims[2] = D1_dim;
912    stat = nc_def_var(ncid, "f211", NC_FLOATRANK_f211f211_dims, &f211_id);
913    check_err(stat,__LINE__,__FILE__);
914
915    d212_dims[0] = D2_dim;
916    d212_dims[1] = D1_dim;
917    d212_dims[2] = D2_dim;
918    stat = nc_def_var(ncid, "d212", NC_DOUBLERANK_d212d212_dims, &d212_id);
919    check_err(stat,__LINE__,__FILE__);
920
921    c213_dims[0] = D2_dim;
922    c213_dims[1] = D1_dim;
923    c213_dims[2] = D3_dim;
924    stat = nc_def_var(ncid, "c213", NC_CHARRANK_c213c213_dims, &c213_id);
925    check_err(stat,__LINE__,__FILE__);
926
927    b214_dims[0] = D2_dim;
928    b214_dims[1] = D1_dim;
929    b214_dims[2] = D4_dim;
930    stat = nc_def_var(ncid, "b214", NC_BYTERANK_b214b214_dims, &b214_id);
931    check_err(stat,__LINE__,__FILE__);
932
933    s221_dims[0] = D2_dim;
934    s221_dims[1] = D2_dim;
935    s221_dims[2] = D1_dim;
936    stat = nc_def_var(ncid, "s221", NC_SHORTRANK_s221s221_dims, &s221_id);
937    check_err(stat,__LINE__,__FILE__);
938
939    i222_dims[0] = D2_dim;
940    i222_dims[1] = D2_dim;
941    i222_dims[2] = D2_dim;
942    stat = nc_def_var(ncid, "i222", NC_INTRANK_i222i222_dims, &i222_id);
943    check_err(stat,__LINE__,__FILE__);
944
945    f223_dims[0] = D2_dim;
946    f223_dims[1] = D2_dim;
947    f223_dims[2] = D3_dim;
948    stat = nc_def_var(ncid, "f223", NC_FLOATRANK_f223f223_dims, &f223_id);
949    check_err(stat,__LINE__,__FILE__);
950
951    d224_dims[0] = D2_dim;
952    d224_dims[1] = D2_dim;
953    d224_dims[2] = D4_dim;
954    stat = nc_def_var(ncid, "d224", NC_DOUBLERANK_d224d224_dims, &d224_id);
955    check_err(stat,__LINE__,__FILE__);
956
957    c231_dims[0] = D2_dim;
958    c231_dims[1] = D3_dim;
959    c231_dims[2] = D1_dim;
960    stat = nc_def_var(ncid, "c231", NC_CHARRANK_c231c231_dims, &c231_id);
961    check_err(stat,__LINE__,__FILE__);
962
963    b232_dims[0] = D2_dim;
964    b232_dims[1] = D3_dim;
965    b232_dims[2] = D2_dim;
966    stat = nc_def_var(ncid, "b232", NC_BYTERANK_b232b232_dims, &b232_id);
967    check_err(stat,__LINE__,__FILE__);
968
969    s233_dims[0] = D2_dim;
970    s233_dims[1] = D3_dim;
971    s233_dims[2] = D3_dim;
972    stat = nc_def_var(ncid, "s233", NC_SHORTRANK_s233s233_dims, &s233_id);
973    check_err(stat,__LINE__,__FILE__);
974
975    i234_dims[0] = D2_dim;
976    i234_dims[1] = D3_dim;
977    i234_dims[2] = D4_dim;
978    stat = nc_def_var(ncid, "i234", NC_INTRANK_i234i234_dims, &i234_id);
979    check_err(stat,__LINE__,__FILE__);
980
981    f241_dims[0] = D2_dim;
982    f241_dims[1] = D4_dim;
983    f241_dims[2] = D1_dim;
984    stat = nc_def_var(ncid, "f241", NC_FLOATRANK_f241f241_dims, &f241_id);
985    check_err(stat,__LINE__,__FILE__);
986
987    d242_dims[0] = D2_dim;
988    d242_dims[1] = D4_dim;
989    d242_dims[2] = D2_dim;
990    stat = nc_def_var(ncid, "d242", NC_DOUBLERANK_d242d242_dims, &d242_id);
991    check_err(stat,__LINE__,__FILE__);
992
993    c243_dims[0] = D2_dim;
994    c243_dims[1] = D4_dim;
995    c243_dims[2] = D3_dim;
996    stat = nc_def_var(ncid, "c243", NC_CHARRANK_c243c243_dims, &c243_id);
997    check_err(stat,__LINE__,__FILE__);
998
999    b244_dims[0] = D2_dim;
1000    b244_dims[1] = D4_dim;
1001    b244_dims[2] = D4_dim;
1002    stat = nc_def_var(ncid, "b244", NC_BYTERANK_b244b244_dims, &b244_id);
1003    check_err(stat,__LINE__,__FILE__);
1004
1005    s311_dims[0] = D3_dim;
1006    s311_dims[1] = D1_dim;
1007    s311_dims[2] = D1_dim;
1008    stat = nc_def_var(ncid, "s311", NC_SHORTRANK_s311s311_dims, &s311_id);
1009    check_err(stat,__LINE__,__FILE__);
1010
1011    i312_dims[0] = D3_dim;
1012    i312_dims[1] = D1_dim;
1013    i312_dims[2] = D2_dim;
1014    stat = nc_def_var(ncid, "i312", NC_INTRANK_i312i312_dims, &i312_id);
1015    check_err(stat,__LINE__,__FILE__);
1016
1017    f313_dims[0] = D3_dim;
1018    f313_dims[1] = D1_dim;
1019    f313_dims[2] = D3_dim;
1020    stat = nc_def_var(ncid, "f313", NC_FLOATRANK_f313f313_dims, &f313_id);
1021    check_err(stat,__LINE__,__FILE__);
1022
1023    d314_dims[0] = D3_dim;
1024    d314_dims[1] = D1_dim;
1025    d314_dims[2] = D4_dim;
1026    stat = nc_def_var(ncid, "d314", NC_DOUBLERANK_d314d314_dims, &d314_id);
1027    check_err(stat,__LINE__,__FILE__);
1028
1029    c321_dims[0] = D3_dim;
1030    c321_dims[1] = D2_dim;
1031    c321_dims[2] = D1_dim;
1032    stat = nc_def_var(ncid, "c321", NC_CHARRANK_c321c321_dims, &c321_id);
1033    check_err(stat,__LINE__,__FILE__);
1034
1035    b322_dims[0] = D3_dim;
1036    b322_dims[1] = D2_dim;
1037    b322_dims[2] = D2_dim;
1038    stat = nc_def_var(ncid, "b322", NC_BYTERANK_b322b322_dims, &b322_id);
1039    check_err(stat,__LINE__,__FILE__);
1040
1041    s323_dims[0] = D3_dim;
1042    s323_dims[1] = D2_dim;
1043    s323_dims[2] = D3_dim;
1044    stat = nc_def_var(ncid, "s323", NC_SHORTRANK_s323s323_dims, &s323_id);
1045    check_err(stat,__LINE__,__FILE__);
1046
1047    i324_dims[0] = D3_dim;
1048    i324_dims[1] = D2_dim;
1049    i324_dims[2] = D4_dim;
1050    stat = nc_def_var(ncid, "i324", NC_INTRANK_i324i324_dims, &i324_id);
1051    check_err(stat,__LINE__,__FILE__);
1052
1053    f331_dims[0] = D3_dim;
1054    f331_dims[1] = D3_dim;
1055    f331_dims[2] = D1_dim;
1056    stat = nc_def_var(ncid, "f331", NC_FLOATRANK_f331f331_dims, &f331_id);
1057    check_err(stat,__LINE__,__FILE__);
1058
1059    d332_dims[0] = D3_dim;
1060    d332_dims[1] = D3_dim;
1061    d332_dims[2] = D2_dim;
1062    stat = nc_def_var(ncid, "d332", NC_DOUBLERANK_d332d332_dims, &d332_id);
1063    check_err(stat,__LINE__,__FILE__);
1064
1065    c333_dims[0] = D3_dim;
1066    c333_dims[1] = D3_dim;
1067    c333_dims[2] = D3_dim;
1068    stat = nc_def_var(ncid, "c333", NC_CHARRANK_c333c333_dims, &c333_id);
1069    check_err(stat,__LINE__,__FILE__);
1070
1071    b334_dims[0] = D3_dim;
1072    b334_dims[1] = D3_dim;
1073    b334_dims[2] = D4_dim;
1074    stat = nc_def_var(ncid, "b334", NC_BYTERANK_b334b334_dims, &b334_id);
1075    check_err(stat,__LINE__,__FILE__);
1076
1077    s341_dims[0] = D3_dim;
1078    s341_dims[1] = D4_dim;
1079    s341_dims[2] = D1_dim;
1080    stat = nc_def_var(ncid, "s341", NC_SHORTRANK_s341s341_dims, &s341_id);
1081    check_err(stat,__LINE__,__FILE__);
1082
1083    i342_dims[0] = D3_dim;
1084    i342_dims[1] = D4_dim;
1085    i342_dims[2] = D2_dim;
1086    stat = nc_def_var(ncid, "i342", NC_INTRANK_i342i342_dims, &i342_id);
1087    check_err(stat,__LINE__,__FILE__);
1088
1089    f343_dims[0] = D3_dim;
1090    f343_dims[1] = D4_dim;
1091    f343_dims[2] = D3_dim;
1092    stat = nc_def_var(ncid, "f343", NC_FLOATRANK_f343f343_dims, &f343_id);
1093    check_err(stat,__LINE__,__FILE__);
1094
1095    d344_dims[0] = D3_dim;
1096    d344_dims[1] = D4_dim;
1097    d344_dims[2] = D4_dim;
1098    stat = nc_def_var(ncid, "d344", NC_DOUBLERANK_d344d344_dims, &d344_id);
1099    check_err(stat,__LINE__,__FILE__);
1100
1101    c411_dims[0] = D4_dim;
1102    c411_dims[1] = D1_dim;
1103    c411_dims[2] = D1_dim;
1104    stat = nc_def_var(ncid, "c411", NC_CHARRANK_c411c411_dims, &c411_id);
1105    check_err(stat,__LINE__,__FILE__);
1106
1107    b412_dims[0] = D4_dim;
1108    b412_dims[1] = D1_dim;
1109    b412_dims[2] = D2_dim;
1110    stat = nc_def_var(ncid, "b412", NC_BYTERANK_b412b412_dims, &b412_id);
1111    check_err(stat,__LINE__,__FILE__);
1112
1113    s413_dims[0] = D4_dim;
1114    s413_dims[1] = D1_dim;
1115    s413_dims[2] = D3_dim;
1116    stat = nc_def_var(ncid, "s413", NC_SHORTRANK_s413s413_dims, &s413_id);
1117    check_err(stat,__LINE__,__FILE__);
1118
1119    i414_dims[0] = D4_dim;
1120    i414_dims[1] = D1_dim;
1121    i414_dims[2] = D4_dim;
1122    stat = nc_def_var(ncid, "i414", NC_INTRANK_i414i414_dims, &i414_id);
1123    check_err(stat,__LINE__,__FILE__);
1124
1125    f421_dims[0] = D4_dim;
1126    f421_dims[1] = D2_dim;
1127    f421_dims[2] = D1_dim;
1128    stat = nc_def_var(ncid, "f421", NC_FLOATRANK_f421f421_dims, &f421_id);
1129    check_err(stat,__LINE__,__FILE__);
1130
1131    d422_dims[0] = D4_dim;
1132    d422_dims[1] = D2_dim;
1133    d422_dims[2] = D2_dim;
1134    stat = nc_def_var(ncid, "d422", NC_DOUBLERANK_d422d422_dims, &d422_id);
1135    check_err(stat,__LINE__,__FILE__);
1136
1137    c423_dims[0] = D4_dim;
1138    c423_dims[1] = D2_dim;
1139    c423_dims[2] = D3_dim;
1140    stat = nc_def_var(ncid, "c423", NC_CHARRANK_c423c423_dims, &c423_id);
1141    check_err(stat,__LINE__,__FILE__);
1142
1143    b424_dims[0] = D4_dim;
1144    b424_dims[1] = D2_dim;
1145    b424_dims[2] = D4_dim;
1146    stat = nc_def_var(ncid, "b424", NC_BYTERANK_b424b424_dims, &b424_id);
1147    check_err(stat,__LINE__,__FILE__);
1148
1149    s431_dims[0] = D4_dim;
1150    s431_dims[1] = D3_dim;
1151    s431_dims[2] = D1_dim;
1152    stat = nc_def_var(ncid, "s431", NC_SHORTRANK_s431s431_dims, &s431_id);
1153    check_err(stat,__LINE__,__FILE__);
1154
1155    i432_dims[0] = D4_dim;
1156    i432_dims[1] = D3_dim;
1157    i432_dims[2] = D2_dim;
1158    stat = nc_def_var(ncid, "i432", NC_INTRANK_i432i432_dims, &i432_id);
1159    check_err(stat,__LINE__,__FILE__);
1160
1161    f433_dims[0] = D4_dim;
1162    f433_dims[1] = D3_dim;
1163    f433_dims[2] = D3_dim;
1164    stat = nc_def_var(ncid, "f433", NC_FLOATRANK_f433f433_dims, &f433_id);
1165    check_err(stat,__LINE__,__FILE__);
1166
1167    d434_dims[0] = D4_dim;
1168    d434_dims[1] = D3_dim;
1169    d434_dims[2] = D4_dim;
1170    stat = nc_def_var(ncid, "d434", NC_DOUBLERANK_d434d434_dims, &d434_id);
1171    check_err(stat,__LINE__,__FILE__);
1172
1173    c441_dims[0] = D4_dim;
1174    c441_dims[1] = D4_dim;
1175    c441_dims[2] = D1_dim;
1176    stat = nc_def_var(ncid, "c441", NC_CHARRANK_c441c441_dims, &c441_id);
1177    check_err(stat,__LINE__,__FILE__);
1178
1179    b442_dims[0] = D4_dim;
1180    b442_dims[1] = D4_dim;
1181    b442_dims[2] = D2_dim;
1182    stat = nc_def_var(ncid, "b442", NC_BYTERANK_b442b442_dims, &b442_id);
1183    check_err(stat,__LINE__,__FILE__);
1184
1185    s443_dims[0] = D4_dim;
1186    s443_dims[1] = D4_dim;
1187    s443_dims[2] = D3_dim;
1188    stat = nc_def_var(ncid, "s443", NC_SHORTRANK_s443s443_dims, &s443_id);
1189    check_err(stat,__LINE__,__FILE__);
1190
1191    i444_dims[0] = D4_dim;
1192    i444_dims[1] = D4_dim;
1193    i444_dims[2] = D4_dim;
1194    stat = nc_def_var(ncid, "i444", NC_INTRANK_i444i444_dims, &i444_id);
1195    check_err(stat,__LINE__,__FILE__);
1196
1197    /* assign global attributes */
1198    { /* Gc */
1199    stat = nc_put_att_text(ncidNC_GLOBAL, "Gc", 1, "\177");
1200    check_err(stat,__LINE__,__FILE__);
1201    }
1202    { /* Gb */
1203    static const signed char Gb_att[2] = {-128, 127} ;
1204    stat = nc_put_att_schar(ncidNC_GLOBAL, "Gb", NC_BYTE, 2, Gb_att);
1205    check_err(stat,__LINE__,__FILE__);
1206    }
1207    { /* Gs */
1208    static const short Gs_att[3] = {-32768, 32767, 32767} ;
1209    stat = nc_put_att_short(ncidNC_GLOBAL, "Gs", NC_SHORT, 3, Gs_att);
1210    check_err(stat,__LINE__,__FILE__);
1211    }
1212    { /* Gi */
1213    static const int Gi_att[4] = {-2147483648, 2147483647, -2147483648, -2147483648} ;
1214    stat = nc_put_att_int(ncidNC_GLOBAL, "Gi", NC_INT, 4, Gi_att);
1215    check_err(stat,__LINE__,__FILE__);
1216    }
1217    { /* Gf */
1218    static const float Gf_att[5] = {-3.4028231e+38, 3.4028231e+38, -9.96921e+36, 9.96921e+36, 531} ;
1219    stat = nc_put_att_float(ncidNC_GLOBAL, "Gf", NC_FLOAT, 5, Gf_att);
1220    check_err(stat,__LINE__,__FILE__);
1221    }
1222    { /* Gd */
1223    static const double Gd_att[6] = {-42, 42, -1, 1, 660, 650} ;
1224    stat = nc_put_att_double(ncidNC_GLOBAL, "Gd", NC_DOUBLE, 6, Gd_att);
1225    check_err(stat,__LINE__,__FILE__);
1226    }
1227
1228
1229    /* assign per-variable attributes */
1230    { /* c */
1231    stat = nc_put_att_text(ncidb_id, "c", 0, "");
1232    check_err(stat,__LINE__,__FILE__);
1233    }
1234    { /* b */
1235    static const signed char s_b_att[1] = {-128} ;
1236    stat = nc_put_att_schar(ncids_id, "b", NC_BYTE, 1, s_b_att);
1237    check_err(stat,__LINE__,__FILE__);
1238    }
1239    { /* s */
1240    static const short s_s_att[2] = {-32768, 32767} ;
1241    stat = nc_put_att_short(ncids_id, "s", NC_SHORT, 2, s_s_att);
1242    check_err(stat,__LINE__,__FILE__);
1243    }
1244    { /* i */
1245    static const int i_i_att[3] = {-2147483648, 2147483647, -2147483648} ;
1246    stat = nc_put_att_int(ncidi_id, "i", NC_INT, 3, i_i_att);
1247    check_err(stat,__LINE__,__FILE__);
1248    }
1249    { /* f */
1250    static const float i_f_att[4] = {-3.4028231e+38, 3.4028231e+38, -9.96921e+36, 9.96921e+36} ;
1251    stat = nc_put_att_float(ncidi_id, "f", NC_FLOAT, 4, i_f_att);
1252    check_err(stat,__LINE__,__FILE__);
1253    }
1254    { /* d */
1255    static const double i_d_att[5] = {-42, 42, -1, 1, 660} ;
1256    stat = nc_put_att_double(ncidi_id, "d", NC_DOUBLE, 5, i_d_att);
1257    check_err(stat,__LINE__,__FILE__);
1258    }
1259    { /* c */
1260    stat = nc_put_att_text(ncidd_id, "c", 6, "blahhh");
1261    check_err(stat,__LINE__,__FILE__);
1262    }
1263
1264
1265    /* leave define mode */
1266    stat = nc_enddef (ncid);
1267    check_err(stat,__LINE__,__FILE__);
1268
1269    /* assign variable data */
1270    {
1271    size_t zero = 0;
1272    static char c_data[1] = {'\002'};
1273    stat = nc_put_var1(ncidc_id, &zeroc_data);    check_err(stat,__LINE__,__FILE__);
1274    }
1275    {
1276    size_t zero = 0;
1277    static signed char b_data[1] = {-2};
1278    stat = nc_put_var1(ncidb_id, &zerob_data);    check_err(stat,__LINE__,__FILE__);
1279    }
1280    {
1281    size_t zero = 0;
1282    static short s_data[1] = {-5};
1283    stat = nc_put_var1(ncids_id, &zeros_data);    check_err(stat,__LINE__,__FILE__);
1284    }
1285    {
1286    size_t zero = 0;
1287    static int i_data[1] = {-20};
1288    stat = nc_put_var1(ncidi_id, &zeroi_data);    check_err(stat,__LINE__,__FILE__);
1289    }
1290    {
1291    size_t zero = 0;
1292    static float f_data[1] = {-9};
1293    stat = nc_put_var1(ncidf_id, &zerof_data);    check_err(stat,__LINE__,__FILE__);
1294    }
1295    {
1296    size_t zero = 0;
1297    static double d_data[1] = {-10};
1298    stat = nc_put_var1(ncidd_id, &zerod_data);    check_err(stat,__LINE__,__FILE__);
1299    }
1300    {
1301    char cr_data[2] = "\177\177" ;
1302    size_t cr_startset[1] = {0} ;
1303    size_t cr_countset[1] = {2} ;
1304    stat = nc_put_vara(ncidcr_idcr_startsetcr_countsetcr_data);
1305    check_err(stat,__LINE__,__FILE__);
1306    }
1307
1308    {
1309    signed char br_data[2] = {-128, 127} ;
1310    size_t br_startset[1] = {0} ;
1311    size_t br_countset[1] = {2} ;
1312    stat = nc_put_vara(ncidbr_idbr_startsetbr_countsetbr_data);
1313    check_err(stat,__LINE__,__FILE__);
1314    }
1315
1316    {
1317    short sr_data[2] = {-32768, 32767} ;
1318    size_t sr_startset[1] = {0} ;
1319    size_t sr_countset[1] = {2} ;
1320    stat = nc_put_vara(ncidsr_idsr_startsetsr_countsetsr_data);
1321    check_err(stat,__LINE__,__FILE__);
1322    }
1323
1324    {
1325    int ir_data[2] = {-2147483648, 2147483647} ;
1326    size_t ir_startset[1] = {0} ;
1327    size_t ir_countset[1] = {2} ;
1328    stat = nc_put_vara(ncidir_idir_startsetir_countsetir_data);
1329    check_err(stat,__LINE__,__FILE__);
1330    }
1331
1332    {
1333    float fr_data[2] = {-3.4028231e+38, 3.4028231e+38} ;
1334    size_t fr_startset[1] = {0} ;
1335    size_t fr_countset[1] = {2} ;
1336    stat = nc_put_vara(ncidfr_idfr_startsetfr_countsetfr_data);
1337    check_err(stat,__LINE__,__FILE__);
1338    }
1339
1340    {
1341    double dr_data[2] = {-42, 42} ;
1342    size_t dr_startset[1] = {0} ;
1343    size_t dr_countset[1] = {2} ;
1344    stat = nc_put_vara(nciddr_iddr_startsetdr_countsetdr_data);
1345    check_err(stat,__LINE__,__FILE__);
1346    }
1347
1348    {
1349    char c1_data[1] = "\177" ;
1350    size_t c1_startset[1] = {0} ;
1351    size_t c1_countset[1] = {1} ;
1352    stat = nc_put_vara(ncidc1_idc1_startsetc1_countsetc1_data);
1353    check_err(stat,__LINE__,__FILE__);
1354    }
1355
1356    {
1357    signed char b1_data[1] = {-128} ;
1358    size_t b1_startset[1] = {0} ;
1359    size_t b1_countset[1] = {1} ;
1360    stat = nc_put_vara(ncidb1_idb1_startsetb1_countsetb1_data);
1361    check_err(stat,__LINE__,__FILE__);
1362    }
1363
1364    {
1365    short s1_data[1] = {-32768} ;
1366    size_t s1_startset[1] = {0} ;
1367    size_t s1_countset[1] = {1} ;
1368    stat = nc_put_vara(ncids1_ids1_startsets1_countsets1_data);
1369    check_err(stat,__LINE__,__FILE__);
1370    }
1371
1372    {
1373    int i1_data[1] = {-2147483648} ;
1374    size_t i1_startset[1] = {0} ;
1375    size_t i1_countset[1] = {1} ;
1376    stat = nc_put_vara(ncidi1_idi1_startseti1_countseti1_data);
1377    check_err(stat,__LINE__,__FILE__);
1378    }
1379
1380    {
1381    float f1_data[1] = {-3.4028231e+38} ;
1382    size_t f1_startset[1] = {0} ;
1383    size_t f1_countset[1] = {1} ;
1384    stat = nc_put_vara(ncidf1_idf1_startsetf1_countsetf1_data);
1385    check_err(stat,__LINE__,__FILE__);
1386    }
1387
1388    {
1389    double d1_data[1] = {-42} ;
1390    size_t d1_startset[1] = {0} ;
1391    size_t d1_countset[1] = {1} ;
1392    stat = nc_put_vara(ncidd1_idd1_startsetd1_countsetd1_data);
1393    check_err(stat,__LINE__,__FILE__);
1394    }
1395
1396    {
1397    char c2_data[2] = "\177\177" ;
1398    size_t c2_startset[1] = {0} ;
1399    size_t c2_countset[1] = {2} ;
1400    stat = nc_put_vara(ncidc2_idc2_startsetc2_countsetc2_data);
1401    check_err(stat,__LINE__,__FILE__);
1402    }
1403
1404    {
1405    signed char b2_data[2] = {-128, 127} ;
1406    size_t b2_startset[1] = {0} ;
1407    size_t b2_countset[1] = {2} ;
1408    stat = nc_put_vara(ncidb2_idb2_startsetb2_countsetb2_data);
1409    check_err(stat,__LINE__,__FILE__);
1410    }
1411
1412    {
1413    short s2_data[2] = {-32768, 32767} ;
1414    size_t s2_startset[1] = {0} ;
1415    size_t s2_countset[1] = {2} ;
1416    stat = nc_put_vara(ncids2_ids2_startsets2_countsets2_data);
1417    check_err(stat,__LINE__,__FILE__);
1418    }
1419
1420    {
1421    int i2_data[2] = {-2147483648, 2147483647} ;
1422    size_t i2_startset[1] = {0} ;
1423    size_t i2_countset[1] = {2} ;
1424    stat = nc_put_vara(ncidi2_idi2_startseti2_countseti2_data);
1425    check_err(stat,__LINE__,__FILE__);
1426    }
1427
1428    {
1429    float f2_data[2] = {-3.4028231e+38, 3.4028231e+38} ;
1430    size_t f2_startset[1] = {0} ;
1431    size_t f2_countset[1] = {2} ;
1432    stat = nc_put_vara(ncidf2_idf2_startsetf2_countsetf2_data);
1433    check_err(stat,__LINE__,__FILE__);
1434    }
1435
1436    {
1437    double d2_data[2] = {-42, 42} ;
1438    size_t d2_startset[1] = {0} ;
1439    size_t d2_countset[1] = {2} ;
1440    stat = nc_put_vara(ncidd2_idd2_startsetd2_countsetd2_data);
1441    check_err(stat,__LINE__,__FILE__);
1442    }
1443
1444    {
1445    char c3_data[3] = "\177\177A" ;
1446    size_t c3_startset[1] = {0} ;
1447    size_t c3_countset[1] = {3} ;
1448    stat = nc_put_vara(ncidc3_idc3_startsetc3_countsetc3_data);
1449    check_err(stat,__LINE__,__FILE__);
1450    }
1451
1452    {
1453    signed char b3_data[3] = {-128, 127, 127} ;
1454    size_t b3_startset[1] = {0} ;
1455    size_t b3_countset[1] = {3} ;
1456    stat = nc_put_vara(ncidb3_idb3_startsetb3_countsetb3_data);
1457    check_err(stat,__LINE__,__FILE__);
1458    }
1459
1460    {
1461    short s3_data[3] = {-32768, 32767, 32767} ;
1462    size_t s3_startset[1] = {0} ;
1463    size_t s3_countset[1] = {3} ;
1464    stat = nc_put_vara(ncids3_ids3_startsets3_countsets3_data);
1465    check_err(stat,__LINE__,__FILE__);
1466    }
1467
1468    {
1469    int i3_data[3] = {-2147483648, 2147483647, -2147483648} ;
1470    size_t i3_startset[1] = {0} ;
1471    size_t i3_countset[1] = {3} ;
1472    stat = nc_put_vara(ncidi3_idi3_startseti3_countseti3_data);
1473    check_err(stat,__LINE__,__FILE__);
1474    }
1475
1476    {
1477    float f3_data[3] = {-3.4028231e+38, 3.4028231e+38, -9.96921e+36} ;
1478    size_t f3_startset[1] = {0} ;
1479    size_t f3_countset[1] = {3} ;
1480    stat = nc_put_vara(ncidf3_idf3_startsetf3_countsetf3_data);
1481    check_err(stat,__LINE__,__FILE__);
1482    }
1483
1484    {
1485    double d3_data[3] = {-42, 42, -1} ;
1486    size_t d3_startset[1] = {0} ;
1487    size_t d3_countset[1] = {3} ;
1488    stat = nc_put_vara(ncidd3_idd3_startsetd3_countsetd3_data);
1489    check_err(stat,__LINE__,__FILE__);
1490    }
1491
1492    {
1493    char c4_data[4] = "\177\177AZ" ;
1494    size_t c4_startset[1] = {0} ;
1495    size_t c4_countset[1] = {4} ;
1496    stat = nc_put_vara(ncidc4_idc4_startsetc4_countsetc4_data);
1497    check_err(stat,__LINE__,__FILE__);
1498    }
1499
1500    {
1501    signed char b4_data[4] = {-128, 127, 127, -128} ;
1502    size_t b4_startset[1] = {0} ;
1503    size_t b4_countset[1] = {4} ;
1504    stat = nc_put_vara(ncidb4_idb4_startsetb4_countsetb4_data);
1505    check_err(stat,__LINE__,__FILE__);
1506    }
1507
1508    {
1509    short s4_data[4] = {-32768, 32767, 32767, -32768} ;
1510    size_t s4_startset[1] = {0} ;
1511    size_t s4_countset[1] = {4} ;
1512    stat = nc_put_vara(ncids4_ids4_startsets4_countsets4_data);
1513    check_err(stat,__LINE__,__FILE__);
1514    }
1515
1516    {
1517    int i4_data[4] = {-2147483648, 2147483647, -2147483648, -2147483648} ;
1518    size_t i4_startset[1] = {0} ;
1519    size_t i4_countset[1] = {4} ;
1520    stat = nc_put_vara(ncidi4_idi4_startseti4_countseti4_data);
1521    check_err(stat,__LINE__,__FILE__);
1522    }
1523
1524    {
1525    float f4_data[4] = {-3.4028231e+38, 3.4028231e+38, -9.96921e+36, 9.96921e+36} ;
1526    size_t f4_startset[1] = {0} ;
1527    size_t f4_countset[1] = {4} ;
1528    stat = nc_put_vara(ncidf4_idf4_startsetf4_countsetf4_data);
1529    check_err(stat,__LINE__,__FILE__);
1530    }
1531
1532    {
1533    double d4_data[4] = {-42, 42, -1, 1} ;
1534    size_t d4_startset[1] = {0} ;
1535    size_t d4_countset[1] = {4} ;
1536    stat = nc_put_vara(ncidd4_idd4_startsetd4_countsetd4_data);
1537    check_err(stat,__LINE__,__FILE__);
1538    }
1539
1540    {
1541    char cr1_data[2] = "\030\034" ;
1542    size_t cr1_startset[2] = {0, 0} ;
1543    size_t cr1_countset[2] = {2, 1} ;
1544    stat = nc_put_vara(ncidcr1_idcr1_startsetcr1_countsetcr1_data);
1545    check_err(stat,__LINE__,__FILE__);
1546    }
1547
1548    {
1549    signed char br2_data[4] = {-24, -26, -20, -22} ;
1550    size_t br2_startset[2] = {0, 0} ;
1551    size_t br2_countset[2] = {2, 2} ;
1552    stat = nc_put_vara(ncidbr2_idbr2_startsetbr2_countsetbr2_data);
1553    check_err(stat,__LINE__,__FILE__);
1554    }
1555
1556    {
1557    short sr3_data[6] = {-375, -380, -385, -350, -355, -360} ;
1558    size_t sr3_startset[2] = {0, 0} ;
1559    size_t sr3_countset[2] = {2, 3} ;
1560    stat = nc_put_vara(ncidsr3_idsr3_startsetsr3_countsetsr3_data);
1561    check_err(stat,__LINE__,__FILE__);
1562    }
1563
1564    {
1565    int ir4_data[8] = {-24000, -24020, -24040, -24060, -23600, -23620, -23640, -23660} ;
1566    size_t ir4_startset[2] = {0, 0} ;
1567    size_t ir4_countset[2] = {2, 4} ;
1568    stat = nc_put_vara(ncidir4_idir4_startsetir4_countsetir4_data);
1569    check_err(stat,__LINE__,__FILE__);
1570    }
1571
1572    {
1573    float f11_data[1] = {-2187} ;
1574    size_t f11_startset[2] = {0, 0} ;
1575    size_t f11_countset[2] = {1, 1} ;
1576    stat = nc_put_vara(ncidf11_idf11_startsetf11_countsetf11_data);
1577    check_err(stat,__LINE__,__FILE__);
1578    }
1579
1580    {
1581    double d12_data[2] = {-3000, -3010} ;
1582    size_t d12_startset[2] = {0, 0} ;
1583    size_t d12_countset[2] = {1, 2} ;
1584    stat = nc_put_vara(ncidd12_idd12_startsetd12_countsetd12_data);
1585    check_err(stat,__LINE__,__FILE__);
1586    }
1587
1588    {
1589    char c13_data[3] = "\030\032\034" ;
1590    size_t c13_startset[2] = {0, 0} ;
1591    size_t c13_countset[2] = {1, 3} ;
1592    stat = nc_put_vara(ncidc13_idc13_startsetc13_countsetc13_data);
1593    check_err(stat,__LINE__,__FILE__);
1594    }
1595
1596    {
1597    signed char b14_data[4] = {-24, -26, -28, -30} ;
1598    size_t b14_startset[2] = {0, 0} ;
1599    size_t b14_countset[2] = {1, 4} ;
1600    stat = nc_put_vara(ncidb14_idb14_startsetb14_countsetb14_data);
1601    check_err(stat,__LINE__,__FILE__);
1602    }
1603
1604    {
1605    short s21_data[2] = {-375, -350} ;
1606    size_t s21_startset[2] = {0, 0} ;
1607    size_t s21_countset[2] = {2, 1} ;
1608    stat = nc_put_vara(ncids21_ids21_startsets21_countsets21_data);
1609    check_err(stat,__LINE__,__FILE__);
1610    }
1611
1612    {
1613    int i22_data[4] = {-24000, -24020, -23600, -23620} ;
1614    size_t i22_startset[2] = {0, 0} ;
1615    size_t i22_countset[2] = {2, 2} ;
1616    stat = nc_put_vara(ncidi22_idi22_startseti22_countseti22_data);
1617    check_err(stat,__LINE__,__FILE__);
1618    }
1619
1620    {
1621    float f23_data[6] = {-2187, -2196, -2205, -2106, -2115, -2124} ;
1622    size_t f23_startset[2] = {0, 0} ;
1623    size_t f23_countset[2] = {2, 3} ;
1624    stat = nc_put_vara(ncidf23_idf23_startsetf23_countsetf23_data);
1625    check_err(stat,__LINE__,__FILE__);
1626    }
1627
1628    {
1629    double d24_data[8] = {-3000, -3010, -3020, -3030, -2900, -2910, -2920, -2930} ;
1630    size_t d24_startset[2] = {0, 0} ;
1631    size_t d24_countset[2] = {2, 4} ;
1632    stat = nc_put_vara(ncidd24_idd24_startsetd24_countsetd24_data);
1633    check_err(stat,__LINE__,__FILE__);
1634    }
1635
1636    {
1637    char c31_data[3] = "\030\034 " ;
1638    size_t c31_startset[2] = {0, 0} ;
1639    size_t c31_countset[2] = {3, 1} ;
1640    stat = nc_put_vara(ncidc31_idc31_startsetc31_countsetc31_data);
1641    check_err(stat,__LINE__,__FILE__);
1642    }
1643
1644    {
1645    signed char b32_data[6] = {-24, -26, -20, -22, -16, -18} ;
1646    size_t b32_startset[2] = {0, 0} ;
1647    size_t b32_countset[2] = {3, 2} ;
1648    stat = nc_put_vara(ncidb32_idb32_startsetb32_countsetb32_data);
1649    check_err(stat,__LINE__,__FILE__);
1650    }
1651
1652    {
1653    short s33_data[9] = {-375, -380, -385, -350, -355, -360, -325, -330, -335} ;
1654    size_t s33_startset[2] = {0, 0} ;
1655    size_t s33_countset[2] = {3, 3} ;
1656    stat = nc_put_vara(ncids33_ids33_startsets33_countsets33_data);
1657    check_err(stat,__LINE__,__FILE__);
1658    }
1659
1660    {
1661    int i34_data[12] = {-24000, -24020, -24040, -24060, -23600, -23620, -23640, -23660, -23200, -23220, -23240, -23260} ;
1662    size_t i34_startset[2] = {0, 0} ;
1663    size_t i34_countset[2] = {3, 4} ;
1664    stat = nc_put_vara(ncidi34_idi34_startseti34_countseti34_data);
1665    check_err(stat,__LINE__,__FILE__);
1666    }
1667
1668    {
1669    float f41_data[4] = {-2187, -2106, -2025, -1944} ;
1670    size_t f41_startset[2] = {0, 0} ;
1671    size_t f41_countset[2] = {4, 1} ;
1672    stat = nc_put_vara(ncidf41_idf41_startsetf41_countsetf41_data);
1673    check_err(stat,__LINE__,__FILE__);
1674    }
1675
1676    {
1677    double d42_data[8] = {-3000, -3010, -2900, -2910, -2800, -2810, -2700, -2710} ;
1678    size_t d42_startset[2] = {0, 0} ;
1679    size_t d42_countset[2] = {4, 2} ;
1680    stat = nc_put_vara(ncidd42_idd42_startsetd42_countsetd42_data);
1681    check_err(stat,__LINE__,__FILE__);
1682    }
1683
1684    {
1685    char c43_data[12] = "\030\032\034\034\036  \"$$&(" ;
1686    size_t c43_startset[2] = {0, 0} ;
1687    size_t c43_countset[2] = {4, 3} ;
1688    stat = nc_put_vara(ncidc43_idc43_startsetc43_countsetc43_data);
1689    check_err(stat,__LINE__,__FILE__);
1690    }
1691
1692    {
1693    signed char b44_data[16] = {-24, -26, -28, -30, -20, -22, -24, -26, -16, -18, -20, -22, -12, -14, -16, -18} ;
1694    size_t b44_startset[2] = {0, 0} ;
1695    size_t b44_countset[2] = {4, 4} ;
1696    stat = nc_put_vara(ncidb44_idb44_startsetb44_countsetb44_data);
1697    check_err(stat,__LINE__,__FILE__);
1698    }
1699
1700    {
1701    short sr11_data[2] = {2500, 2375} ;
1702    size_t sr11_startset[3] = {0, 0, 0} ;
1703    size_t sr11_countset[3] = {2, 1, 1} ;
1704    stat = nc_put_vara(ncidsr11_idsr11_startsetsr11_countsetsr11_data);
1705    check_err(stat,__LINE__,__FILE__);
1706    }
1707
1708    {
1709    int ir12_data[4] = {640000, 639980, 632000, 631980} ;
1710    size_t ir12_startset[3] = {0, 0, 0} ;
1711    size_t ir12_countset[3] = {2, 1, 2} ;
1712    stat = nc_put_vara(ncidir12_idir12_startsetir12_countsetir12_data);
1713    check_err(stat,__LINE__,__FILE__);
1714    }
1715
1716    {
1717    float fr13_data[6] = {26244, 26235, 26226, 25515, 25506, 25497} ;
1718    size_t fr13_startset[3] = {0, 0, 0} ;
1719    size_t fr13_countset[3] = {2, 1, 3} ;
1720    stat = nc_put_vara(ncidfr13_idfr13_startsetfr13_countsetfr13_data);
1721    check_err(stat,__LINE__,__FILE__);
1722    }
1723
1724    {
1725    double dr14_data[8] = {40000, 39990, 39980, 39970, 39000, 38990, 38980, 38970} ;
1726    size_t dr14_startset[3] = {0, 0, 0} ;
1727    size_t dr14_countset[3] = {2, 1, 4} ;
1728    stat = nc_put_vara(nciddr14_iddr14_startsetdr14_countsetdr14_data);
1729    check_err(stat,__LINE__,__FILE__);
1730    }
1731
1732    {
1733    char cr21_data[4] = "@DHL" ;
1734    size_t cr21_startset[3] = {0, 0, 0} ;
1735    size_t cr21_countset[3] = {2, 2, 1} ;
1736    stat = nc_put_vara(ncidcr21_idcr21_startsetcr21_countsetcr21_data);
1737    check_err(stat,__LINE__,__FILE__);
1738    }
1739
1740    {
1741    signed char br22_data[8] = {64, 62, 68, 66, 56, 54, 60, 58} ;
1742    size_t br22_startset[3] = {0, 0, 0} ;
1743    size_t br22_countset[3] = {2, 2, 2} ;
1744    stat = nc_put_vara(ncidbr22_idbr22_startsetbr22_countsetbr22_data);
1745    check_err(stat,__LINE__,__FILE__);
1746    }
1747
1748    {
1749    short sr23_data[12] = {2500, 2495, 2490, 2525, 2520, 2515, 2375, 2370, 2365, 2400, 2395, 2390} ;
1750    size_t sr23_startset[3] = {0, 0, 0} ;
1751    size_t sr23_countset[3] = {2, 2, 3} ;
1752    stat = nc_put_vara(ncidsr23_idsr23_startsetsr23_countsetsr23_data);
1753    check_err(stat,__LINE__,__FILE__);
1754    }
1755
1756    {
1757    int ir24_data[16] = {640000, 639980, 639960, 639940, 640400, 640380, 640360, 640340, 632000, 631980, 631960, 631940, 632400, 632380, 632360, 632340} ;
1758    size_t ir24_startset[3] = {0, 0, 0} ;
1759    size_t ir24_countset[3] = {2, 2, 4} ;
1760    stat = nc_put_vara(ncidir24_idir24_startsetir24_countsetir24_data);
1761    check_err(stat,__LINE__,__FILE__);
1762    }
1763
1764    {
1765    float fr31_data[6] = {26244, 26325, 26406, 25515, 25596, 25677} ;
1766    size_t fr31_startset[3] = {0, 0, 0} ;
1767    size_t fr31_countset[3] = {2, 3, 1} ;
1768    stat = nc_put_vara(ncidfr31_idfr31_startsetfr31_countsetfr31_data);
1769    check_err(stat,__LINE__,__FILE__);
1770    }
1771
1772    {
1773    double dr32_data[12] = {40000, 39990, 40100, 40090, 40200, 40190, 39000, 38990, 39100, 39090, 39200, 39190} ;
1774    size_t dr32_startset[3] = {0, 0, 0} ;
1775    size_t dr32_countset[3] = {2, 3, 2} ;
1776    stat = nc_put_vara(nciddr32_iddr32_startsetdr32_countsetdr32_data);
1777    check_err(stat,__LINE__,__FILE__);
1778    }
1779
1780    {
1781    char cr33_data[18] = "@BDDFHHJLHJLLNPPRT" ;
1782    size_t cr33_startset[3] = {0, 0, 0} ;
1783    size_t cr33_countset[3] = {2, 3, 3} ;
1784    stat = nc_put_vara(ncidcr33_idcr33_startsetcr33_countsetcr33_data);
1785    check_err(stat,__LINE__,__FILE__);
1786    }
1787
1788    {
1789    signed char br34_data[24] = {64, 62, 60, 58, 68, 66, 64, 62, 72, 70, 68, 66, 56, 54, 52, 50, 60, 58, 56, 54, 64, 62, 60, 58} ;
1790    size_t br34_startset[3] = {0, 0, 0} ;
1791    size_t br34_countset[3] = {2, 3, 4} ;
1792    stat = nc_put_vara(ncidbr34_idbr34_startsetbr34_countsetbr34_data);
1793    check_err(stat,__LINE__,__FILE__);
1794    }
1795
1796    {
1797    short sr41_data[8] = {2500, 2525, 2550, 2575, 2375, 2400, 2425, 2450} ;
1798    size_t sr41_startset[3] = {0, 0, 0} ;
1799    size_t sr41_countset[3] = {2, 4, 1} ;
1800    stat = nc_put_vara(ncidsr41_idsr41_startsetsr41_countsetsr41_data);
1801    check_err(stat,__LINE__,__FILE__);
1802    }
1803
1804    {
1805    int ir42_data[16] = {640000, 639980, 640400, 640380, 640800, 640780, 641200, 641180, 632000, 631980, 632400, 632380, 632800, 632780, 633200, 633180} ;
1806    size_t ir42_startset[3] = {0, 0, 0} ;
1807    size_t ir42_countset[3] = {2, 4, 2} ;
1808    stat = nc_put_vara(ncidir42_idir42_startsetir42_countsetir42_data);
1809    check_err(stat,__LINE__,__FILE__);
1810    }
1811
1812    {
1813    float fr43_data[24] = {26244, 26235, 26226, 26325, 26316, 26307, 26406, 26397, 26388, 26487, 26478, 26469, 25515, 25506, 25497, 25596, 25587, 25578, 25677, 25668, 25659, 25758, 25749, 25740} ;
1814    size_t fr43_startset[3] = {0, 0, 0} ;
1815    size_t fr43_countset[3] = {2, 4, 3} ;
1816    stat = nc_put_vara(ncidfr43_idfr43_startsetfr43_countsetfr43_data);
1817    check_err(stat,__LINE__,__FILE__);
1818    }
1819
1820    {
1821    double dr44_data[32] = {40000, 39990, 39980, 39970, 40100, 40090, 40080, 40070, 40200, 40190, 40180, 40170, 40300, 40290, 40280, 40270, 39000, 38990, 38980, 38970, 39100, 39090, 39080, 39070, 39200, 39190, 39180, 39170, 39300, 39290, 39280, 39270} ;
1822    size_t dr44_startset[3] = {0, 0, 0} ;
1823    size_t dr44_countset[3] = {2, 4, 4} ;
1824    stat = nc_put_vara(nciddr44_iddr44_startsetdr44_countsetdr44_data);
1825    check_err(stat,__LINE__,__FILE__);
1826    }
1827
1828    {
1829    char c111_data[1] = "@" ;
1830    size_t c111_startset[3] = {0, 0, 0} ;
1831    size_t c111_countset[3] = {1, 1, 1} ;
1832    stat = nc_put_vara(ncidc111_idc111_startsetc111_countsetc111_data);
1833    check_err(stat,__LINE__,__FILE__);
1834    }
1835
1836    {
1837    signed char b112_data[2] = {64, 62} ;
1838    size_t b112_startset[3] = {0, 0, 0} ;
1839    size_t b112_countset[3] = {1, 1, 2} ;
1840    stat = nc_put_vara(ncidb112_idb112_startsetb112_countsetb112_data);
1841    check_err(stat,__LINE__,__FILE__);
1842    }
1843
1844    {
1845    short s113_data[3] = {2500, 2495, 2490} ;
1846    size_t s113_startset[3] = {0, 0, 0} ;
1847    size_t s113_countset[3] = {1, 1, 3} ;
1848    stat = nc_put_vara(ncids113_ids113_startsets113_countsets113_data);
1849    check_err(stat,__LINE__,__FILE__);
1850    }
1851
1852    {
1853    int i114_data[4] = {640000, 639980, 639960, 639940} ;
1854    size_t i114_startset[3] = {0, 0, 0} ;
1855    size_t i114_countset[3] = {1, 1, 4} ;
1856    stat = nc_put_vara(ncidi114_idi114_startseti114_countseti114_data);
1857    check_err(stat,__LINE__,__FILE__);
1858    }
1859
1860    {
1861    float f121_data[2] = {26244, 26325} ;
1862    size_t f121_startset[3] = {0, 0, 0} ;
1863    size_t f121_countset[3] = {1, 2, 1} ;
1864    stat = nc_put_vara(ncidf121_idf121_startsetf121_countsetf121_data);
1865    check_err(stat,__LINE__,__FILE__);
1866    }
1867
1868    {
1869    double d122_data[4] = {40000, 39990, 40100, 40090} ;
1870    size_t d122_startset[3] = {0, 0, 0} ;
1871    size_t d122_countset[3] = {1, 2, 2} ;
1872    stat = nc_put_vara(ncidd122_idd122_startsetd122_countsetd122_data);
1873    check_err(stat,__LINE__,__FILE__);
1874    }
1875
1876    {
1877    char c123_data[6] = "@BDDFH" ;
1878    size_t c123_startset[3] = {0, 0, 0} ;
1879    size_t c123_countset[3] = {1, 2, 3} ;
1880    stat = nc_put_vara(ncidc123_idc123_startsetc123_countsetc123_data);
1881    check_err(stat,__LINE__,__FILE__);
1882    }
1883
1884    {
1885    signed char b124_data[8] = {64, 62, 60, 58, 68, 66, 64, 62} ;
1886    size_t b124_startset[3] = {0, 0, 0} ;
1887    size_t b124_countset[3] = {1, 2, 4} ;
1888    stat = nc_put_vara(ncidb124_idb124_startsetb124_countsetb124_data);
1889    check_err(stat,__LINE__,__FILE__);
1890    }
1891
1892    {
1893    short s131_data[3] = {2500, 2525, 2550} ;
1894    size_t s131_startset[3] = {0, 0, 0} ;
1895    size_t s131_countset[3] = {1, 3, 1} ;
1896    stat = nc_put_vara(ncids131_ids131_startsets131_countsets131_data);
1897    check_err(stat,__LINE__,__FILE__);
1898    }
1899
1900    {
1901    int i132_data[6] = {640000, 639980, 640400, 640380, 640800, 640780} ;
1902    size_t i132_startset[3] = {0, 0, 0} ;
1903    size_t i132_countset[3] = {1, 3, 2} ;
1904    stat = nc_put_vara(ncidi132_idi132_startseti132_countseti132_data);
1905    check_err(stat,__LINE__,__FILE__);
1906    }
1907
1908    {
1909    float f133_data[9] = {26244, 26235, 26226, 26325, 26316, 26307, 26406, 26397, 26388} ;
1910    size_t f133_startset[3] = {0, 0, 0} ;
1911    size_t f133_countset[3] = {1, 3, 3} ;
1912    stat = nc_put_vara(ncidf133_idf133_startsetf133_countsetf133_data);
1913    check_err(stat,__LINE__,__FILE__);
1914    }
1915
1916    {
1917    double d134_data[12] = {40000, 39990, 39980, 39970, 40100, 40090, 40080, 40070, 40200, 40190, 40180, 40170} ;
1918    size_t d134_startset[3] = {0, 0, 0} ;
1919    size_t d134_countset[3] = {1, 3, 4} ;
1920    stat = nc_put_vara(ncidd134_idd134_startsetd134_countsetd134_data);
1921    check_err(stat,__LINE__,__FILE__);
1922    }
1923
1924    {
1925    char c141_data[4] = "@DHL" ;
1926    size_t c141_startset[3] = {0, 0, 0} ;
1927    size_t c141_countset[3] = {1, 4, 1} ;
1928    stat = nc_put_vara(ncidc141_idc141_startsetc141_countsetc141_data);
1929    check_err(stat,__LINE__,__FILE__);
1930    }
1931
1932    {
1933    signed char b142_data[8] = {64, 62, 68, 66, 72, 70, 76, 74} ;
1934    size_t b142_startset[3] = {0, 0, 0} ;
1935    size_t b142_countset[3] = {1, 4, 2} ;
1936    stat = nc_put_vara(ncidb142_idb142_startsetb142_countsetb142_data);
1937    check_err(stat,__LINE__,__FILE__);
1938    }
1939
1940    {
1941    short s143_data[12] = {2500, 2495, 2490, 2525, 2520, 2515, 2550, 2545, 2540, 2575, 2570, 2565} ;
1942    size_t s143_startset[3] = {0, 0, 0} ;
1943    size_t s143_countset[3] = {1, 4, 3} ;
1944    stat = nc_put_vara(ncids143_ids143_startsets143_countsets143_data);
1945    check_err(stat,__LINE__,__FILE__);
1946    }
1947
1948    {
1949    int i144_data[16] = {640000, 639980, 639960, 639940, 640400, 640380, 640360, 640340, 640800, 640780, 640760, 640740, 641200, 641180, 641160, 641140} ;
1950    size_t i144_startset[3] = {0, 0, 0} ;
1951    size_t i144_countset[3] = {1, 4, 4} ;
1952    stat = nc_put_vara(ncidi144_idi144_startseti144_countseti144_data);
1953    check_err(stat,__LINE__,__FILE__);
1954    }
1955
1956    {
1957    float f211_data[2] = {26244, 25515} ;
1958    size_t f211_startset[3] = {0, 0, 0} ;
1959    size_t f211_countset[3] = {2, 1, 1} ;
1960    stat = nc_put_vara(ncidf211_idf211_startsetf211_countsetf211_data);
1961    check_err(stat,__LINE__,__FILE__);
1962    }
1963
1964    {
1965    double d212_data[4] = {40000, 39990, 39000, 38990} ;
1966    size_t d212_startset[3] = {0, 0, 0} ;
1967    size_t d212_countset[3] = {2, 1, 2} ;
1968    stat = nc_put_vara(ncidd212_idd212_startsetd212_countsetd212_data);
1969    check_err(stat,__LINE__,__FILE__);
1970    }
1971
1972    {
1973    char c213_data[6] = "@BDHJL" ;
1974    size_t c213_startset[3] = {0, 0, 0} ;
1975    size_t c213_countset[3] = {2, 1, 3} ;
1976    stat = nc_put_vara(ncidc213_idc213_startsetc213_countsetc213_data);
1977    check_err(stat,__LINE__,__FILE__);
1978    }
1979
1980    {
1981    signed char b214_data[8] = {64, 62, 60, 58, 56, 54, 52, 50} ;
1982    size_t b214_startset[3] = {0, 0, 0} ;
1983    size_t b214_countset[3] = {2, 1, 4} ;
1984    stat = nc_put_vara(ncidb214_idb214_startsetb214_countsetb214_data);
1985    check_err(stat,__LINE__,__FILE__);
1986    }
1987
1988    {
1989    short s221_data[4] = {2500, 2525, 2375, 2400} ;
1990    size_t s221_startset[3] = {0, 0, 0} ;
1991    size_t s221_countset[3] = {2, 2, 1} ;
1992    stat = nc_put_vara(ncids221_ids221_startsets221_countsets221_data);
1993    check_err(stat,__LINE__,__FILE__);
1994    }
1995
1996    {
1997    int i222_data[8] = {640000, 639980, 640400, 640380, 632000, 631980, 632400, 632380} ;
1998    size_t i222_startset[3] = {0, 0, 0} ;
1999    size_t i222_countset[3] = {2, 2, 2} ;
2000    stat = nc_put_vara(ncidi222_idi222_startseti222_countseti222_data);
2001    check_err(stat,__LINE__,__FILE__);
2002    }
2003
2004    {
2005    float f223_data[12] = {26244, 26235, 26226, 26325, 26316, 26307, 25515, 25506, 25497, 25596, 25587, 25578} ;
2006    size_t f223_startset[3] = {0, 0, 0} ;
2007    size_t f223_countset[3] = {2, 2, 3} ;
2008    stat = nc_put_vara(ncidf223_idf223_startsetf223_countsetf223_data);
2009    check_err(stat,__LINE__,__FILE__);
2010    }
2011
2012    {
2013    double d224_data[16] = {40000, 39990, 39980, 39970, 40100, 40090, 40080, 40070, 39000, 38990, 38980, 38970, 39100, 39090, 39080, 39070} ;
2014    size_t d224_startset[3] = {0, 0, 0} ;
2015    size_t d224_countset[3] = {2, 2, 4} ;
2016    stat = nc_put_vara(ncidd224_idd224_startsetd224_countsetd224_data);
2017    check_err(stat,__LINE__,__FILE__);
2018    }
2019
2020    {
2021    char c231_data[6] = "@DHHLP" ;
2022    size_t c231_startset[3] = {0, 0, 0} ;
2023    size_t c231_countset[3] = {2, 3, 1} ;
2024    stat = nc_put_vara(ncidc231_idc231_startsetc231_countsetc231_data);
2025    check_err(stat,__LINE__,__FILE__);
2026    }
2027
2028    {
2029    signed char b232_data[12] = {64, 62, 68, 66, 72, 70, 56, 54, 60, 58, 64, 62} ;
2030    size_t b232_startset[3] = {0, 0, 0} ;
2031    size_t b232_countset[3] = {2, 3, 2} ;
2032    stat = nc_put_vara(ncidb232_idb232_startsetb232_countsetb232_data);
2033    check_err(stat,__LINE__,__FILE__);
2034    }
2035
2036    {
2037    short s233_data[18] = {2500, 2495, 2490, 2525, 2520, 2515, 2550, 2545, 2540, 2375, 2370, 2365, 2400, 2395, 2390, 2425, 2420, 2415} ;
2038    size_t s233_startset[3] = {0, 0, 0} ;
2039    size_t s233_countset[3] = {2, 3, 3} ;
2040    stat = nc_put_vara(ncids233_ids233_startsets233_countsets233_data);
2041    check_err(stat,__LINE__,__FILE__);
2042    }
2043
2044    {
2045    int i234_data[24] = {640000, 639980, 639960, 639940, 640400, 640380, 640360, 640340, 640800, 640780, 640760, 640740, 632000, 631980, 631960, 631940, 632400, 632380, 632360, 632340, 632800, 632780, 632760, 632740} ;
2046    size_t i234_startset[3] = {0, 0, 0} ;
2047    size_t i234_countset[3] = {2, 3, 4} ;
2048    stat = nc_put_vara(ncidi234_idi234_startseti234_countseti234_data);
2049    check_err(stat,__LINE__,__FILE__);
2050    }
2051
2052    {
2053    float f241_data[8] = {26244, 26325, 26406, 26487, 25515, 25596, 25677, 25758} ;
2054    size_t f241_startset[3] = {0, 0, 0} ;
2055    size_t f241_countset[3] = {2, 4, 1} ;
2056    stat = nc_put_vara(ncidf241_idf241_startsetf241_countsetf241_data);
2057    check_err(stat,__LINE__,__FILE__);
2058    }
2059
2060    {
2061    double d242_data[16] = {40000, 39990, 40100, 40090, 40200, 40190, 40300, 40290, 39000, 38990, 39100, 39090, 39200, 39190, 39300, 39290} ;
2062    size_t d242_startset[3] = {0, 0, 0} ;
2063    size_t d242_countset[3] = {2, 4, 2} ;
2064    stat = nc_put_vara(ncidd242_idd242_startsetd242_countsetd242_data);
2065    check_err(stat,__LINE__,__FILE__);
2066    }
2067
2068    {
2069    char c243_data[24] = "@BDDFHHJLLNPHJLLNPPRTTVX" ;
2070    size_t c243_startset[3] = {0, 0, 0} ;
2071    size_t c243_countset[3] = {2, 4, 3} ;
2072    stat = nc_put_vara(ncidc243_idc243_startsetc243_countsetc243_data);
2073    check_err(stat,__LINE__,__FILE__);
2074    }
2075
2076    {
2077    signed char b244_data[32] = {64, 62, 60, 58, 68, 66, 64, 62, 72, 70, 68, 66, 76, 74, 72, 70, 56, 54, 52, 50, 60, 58, 56, 54, 64, 62, 60, 58, 68, 66, 64, 62} ;
2078    size_t b244_startset[3] = {0, 0, 0} ;
2079    size_t b244_countset[3] = {2, 4, 4} ;
2080    stat = nc_put_vara(ncidb244_idb244_startsetb244_countsetb244_data);
2081    check_err(stat,__LINE__,__FILE__);
2082    }
2083
2084    {
2085    short s311_data[3] = {2500, 2375, 2250} ;
2086    size_t s311_startset[3] = {0, 0, 0} ;
2087    size_t s311_countset[3] = {3, 1, 1} ;
2088    stat = nc_put_vara(ncids311_ids311_startsets311_countsets311_data);
2089    check_err(stat,__LINE__,__FILE__);
2090    }
2091
2092    {
2093    int i312_data[6] = {640000, 639980, 632000, 631980, 624000, 623980} ;
2094    size_t i312_startset[3] = {0, 0, 0} ;
2095    size_t i312_countset[3] = {3, 1, 2} ;
2096    stat = nc_put_vara(ncidi312_idi312_startseti312_countseti312_data);
2097    check_err(stat,__LINE__,__FILE__);
2098    }
2099
2100    {
2101    float f313_data[9] = {26244, 26235, 26226, 25515, 25506, 25497, 24786, 24777, 24768} ;
2102    size_t f313_startset[3] = {0, 0, 0} ;
2103    size_t f313_countset[3] = {3, 1, 3} ;
2104    stat = nc_put_vara(ncidf313_idf313_startsetf313_countsetf313_data);
2105    check_err(stat,__LINE__,__FILE__);
2106    }
2107
2108    {
2109    double d314_data[12] = {40000, 39990, 39980, 39970, 39000, 38990, 38980, 38970, 38000, 37990, 37980, 37970} ;
2110    size_t d314_startset[3] = {0, 0, 0} ;
2111    size_t d314_countset[3] = {3, 1, 4} ;
2112    stat = nc_put_vara(ncidd314_idd314_startsetd314_countsetd314_data);
2113    check_err(stat,__LINE__,__FILE__);
2114    }
2115
2116    {
2117    char c321_data[6] = "@DHLPT" ;
2118    size_t c321_startset[3] = {0, 0, 0} ;
2119    size_t c321_countset[3] = {3, 2, 1} ;
2120    stat = nc_put_vara(ncidc321_idc321_startsetc321_countsetc321_data);
2121    check_err(stat,__LINE__,__FILE__);
2122    }
2123
2124    {
2125    signed char b322_data[12] = {64, 62, 68, 66, 56, 54, 60, 58, 48, 46, 52, 50} ;
2126    size_t b322_startset[3] = {0, 0, 0} ;
2127    size_t b322_countset[3] = {3, 2, 2} ;
2128    stat = nc_put_vara(ncidb322_idb322_startsetb322_countsetb322_data);
2129    check_err(stat,__LINE__,__FILE__);
2130    }
2131
2132    {
2133    short s323_data[18] = {2500, 2495, 2490, 2525, 2520, 2515, 2375, 2370, 2365, 2400, 2395, 2390, 2250, 2245, 2240, 2275, 2270, 2265} ;
2134    size_t s323_startset[3] = {0, 0, 0} ;
2135    size_t s323_countset[3] = {3, 2, 3} ;
2136    stat = nc_put_vara(ncids323_ids323_startsets323_countsets323_data);
2137    check_err(stat,__LINE__,__FILE__);
2138    }
2139
2140    {
2141    int i324_data[24] = {640000, 639980, 639960, 639940, 640400, 640380, 640360, 640340, 632000, 631980, 631960, 631940, 632400, 632380, 632360, 632340, 624000, 623980, 623960, 623940, 624400, 624380, 624360, 624340} ;
2142    size_t i324_startset[3] = {0, 0, 0} ;
2143    size_t i324_countset[3] = {3, 2, 4} ;
2144    stat = nc_put_vara(ncidi324_idi324_startseti324_countseti324_data);
2145    check_err(stat,__LINE__,__FILE__);
2146    }
2147
2148    {
2149    float f331_data[9] = {26244, 26325, 26406, 25515, 25596, 25677, 24786, 24867, 24948} ;
2150    size_t f331_startset[3] = {0, 0, 0} ;
2151    size_t f331_countset[3] = {3, 3, 1} ;
2152    stat = nc_put_vara(ncidf331_idf331_startsetf331_countsetf331_data);
2153    check_err(stat,__LINE__,__FILE__);
2154    }
2155
2156    {
2157    double d332_data[18] = {40000, 39990, 40100, 40090, 40200, 40190, 39000, 38990, 39100, 39090, 39200, 39190, 38000, 37990, 38100, 38090, 38200, 38190} ;
2158    size_t d332_startset[3] = {0, 0, 0} ;
2159    size_t d332_countset[3] = {3, 3, 2} ;
2160    stat = nc_put_vara(ncidd332_idd332_startsetd332_countsetd332_data);
2161    check_err(stat,__LINE__,__FILE__);
2162    }
2163
2164    {
2165    char c333_data[27] = "@BDDFHHJLHJLLNPPRTPRTTVXXZ\\" ;
2166    size_t c333_startset[3] = {0, 0, 0} ;
2167    size_t c333_countset[3] = {3, 3, 3} ;
2168    stat = nc_put_vara(ncidc333_idc333_startsetc333_countsetc333_data);
2169    check_err(stat,__LINE__,__FILE__);
2170    }
2171
2172    {
2173    signed char b334_data[36] = {64, 62, 60, 58, 68, 66, 64, 62, 72, 70, 68, 66, 56, 54, 52, 50, 60, 58, 56, 54, 64, 62, 60, 58, 48, 46, 44, 42, 52, 50, 48, 46, 56, 54, 52, 50} ;
2174    size_t b334_startset[3] = {0, 0, 0} ;
2175    size_t b334_countset[3] = {3, 3, 4} ;
2176    stat = nc_put_vara(ncidb334_idb334_startsetb334_countsetb334_data);
2177    check_err(stat,__LINE__,__FILE__);
2178    }
2179
2180    {
2181    short s341_data[12] = {2500, 2525, 2550, 2575, 2375, 2400, 2425, 2450, 2250, 2275, 2300, 2325} ;
2182    size_t s341_startset[3] = {0, 0, 0} ;
2183    size_t s341_countset[3] = {3, 4, 1} ;
2184    stat = nc_put_vara(ncids341_ids341_startsets341_countsets341_data);
2185    check_err(stat,__LINE__,__FILE__);
2186    }
2187
2188    {
2189    int i342_data[24] = {640000, 639980, 640400, 640380, 640800, 640780, 641200, 641180, 632000, 631980, 632400, 632380, 632800, 632780, 633200, 633180, 624000, 623980, 624400, 624380, 624800, 624780, 625200, 625180} ;
2190    size_t i342_startset[3] = {0, 0, 0} ;
2191    size_t i342_countset[3] = {3, 4, 2} ;
2192    stat = nc_put_vara(ncidi342_idi342_startseti342_countseti342_data);
2193    check_err(stat,__LINE__,__FILE__);
2194    }
2195
2196    {
2197    float f343_data[36] = {26244, 26235, 26226, 26325, 26316, 26307, 26406, 26397, 26388, 26487, 26478, 26469, 25515, 25506, 25497, 25596, 25587, 25578, 25677, 25668, 25659, 25758, 25749, 25740, 24786, 24777, 24768, 24867, 24858, 24849, 24948, 24939, 24930, 25029, 25020, 25011} ;
2198    size_t f343_startset[3] = {0, 0, 0} ;
2199    size_t f343_countset[3] = {3, 4, 3} ;
2200    stat = nc_put_vara(ncidf343_idf343_startsetf343_countsetf343_data);
2201    check_err(stat,__LINE__,__FILE__);
2202    }
2203
2204    {
2205    double d344_data[48] = {40000, 39990, 39980, 39970, 40100, 40090, 40080, 40070, 40200, 40190, 40180, 40170, 40300, 40290, 40280, 40270, 39000, 38990, 38980, 38970, 39100, 39090, 39080, 39070, 39200, 39190, 39180, 39170, 39300, 39290, 39280, 39270, 38000, 37990, 37980, 37970, 38100, 38090, 38080, 38070, 38200, 38190, 38180, 38170, 38300, 38290, 38280, 38270} ;
2206    size_t d344_startset[3] = {0, 0, 0} ;
2207    size_t d344_countset[3] = {3, 4, 4} ;
2208    stat = nc_put_vara(ncidd344_idd344_startsetd344_countsetd344_data);
2209    check_err(stat,__LINE__,__FILE__);
2210    }
2211
2212    {
2213    char c411_data[4] = "@HPX" ;
2214    size_t c411_startset[3] = {0, 0, 0} ;
2215    size_t c411_countset[3] = {4, 1, 1} ;
2216    stat = nc_put_vara(ncidc411_idc411_startsetc411_countsetc411_data);
2217    check_err(stat,__LINE__,__FILE__);
2218    }
2219
2220    {
2221    signed char b412_data[8] = {64, 62, 56, 54, 48, 46, 40, 38} ;
2222    size_t b412_startset[3] = {0, 0, 0} ;
2223    size_t b412_countset[3] = {4, 1, 2} ;
2224    stat = nc_put_vara(ncidb412_idb412_startsetb412_countsetb412_data);
2225    check_err(stat,__LINE__,__FILE__);
2226    }
2227
2228    {
2229    short s413_data[12] = {2500, 2495, 2490, 2375, 2370, 2365, 2250, 2245, 2240, 2125, 2120, 2115} ;
2230    size_t s413_startset[3] = {0, 0, 0} ;
2231    size_t s413_countset[3] = {4, 1, 3} ;
2232    stat = nc_put_vara(ncids413_ids413_startsets413_countsets413_data);
2233    check_err(stat,__LINE__,__FILE__);
2234    }
2235
2236    {
2237    int i414_data[16] = {640000, 639980, 639960, 639940, 632000, 631980, 631960, 631940, 624000, 623980, 623960, 623940, 616000, 615980, 615960, 615940} ;
2238    size_t i414_startset[3] = {0, 0, 0} ;
2239    size_t i414_countset[3] = {4, 1, 4} ;
2240    stat = nc_put_vara(ncidi414_idi414_startseti414_countseti414_data);
2241    check_err(stat,__LINE__,__FILE__);
2242    }
2243
2244    {
2245    float f421_data[8] = {26244, 26325, 25515, 25596, 24786, 24867, 24057, 24138} ;
2246    size_t f421_startset[3] = {0, 0, 0} ;
2247    size_t f421_countset[3] = {4, 2, 1} ;
2248    stat = nc_put_vara(ncidf421_idf421_startsetf421_countsetf421_data);
2249    check_err(stat,__LINE__,__FILE__);
2250    }
2251
2252    {
2253    double d422_data[16] = {40000, 39990, 40100, 40090, 39000, 38990, 39100, 39090, 38000, 37990, 38100, 38090, 37000, 36990, 37100, 37090} ;
2254    size_t d422_startset[3] = {0, 0, 0} ;
2255    size_t d422_countset[3] = {4, 2, 2} ;
2256    stat = nc_put_vara(ncidd422_idd422_startsetd422_countsetd422_data);
2257    check_err(stat,__LINE__,__FILE__);
2258    }
2259
2260    {
2261    char c423_data[24] = "@BDDFHHJLLNPPRTTVXXZ\\\\^`" ;
2262    size_t c423_startset[3] = {0, 0, 0} ;
2263    size_t c423_countset[3] = {4, 2, 3} ;
2264    stat = nc_put_vara(ncidc423_idc423_startsetc423_countsetc423_data);
2265    check_err(stat,__LINE__,__FILE__);
2266    }
2267
2268    {
2269    signed char b424_data[32] = {64, 62, 60, 58, 68, 66, 64, 62, 56, 54, 52, 50, 60, 58, 56, 54, 48, 46, 44, 42, 52, 50, 48, 46, 40, 38, 36, 34, 44, 42, 40, 38} ;
2270    size_t b424_startset[3] = {0, 0, 0} ;
2271    size_t b424_countset[3] = {4, 2, 4} ;
2272    stat = nc_put_vara(ncidb424_idb424_startsetb424_countsetb424_data);
2273    check_err(stat,__LINE__,__FILE__);
2274    }
2275
2276    {
2277    short s431_data[12] = {2500, 2525, 2550, 2375, 2400, 2425, 2250, 2275, 2300, 2125, 2150, 2175} ;
2278    size_t s431_startset[3] = {0, 0, 0} ;
2279    size_t s431_countset[3] = {4, 3, 1} ;
2280    stat = nc_put_vara(ncids431_ids431_startsets431_countsets431_data);
2281    check_err(stat,__LINE__,__FILE__);
2282    }
2283
2284    {
2285    int i432_data[24] = {640000, 639980, 640400, 640380, 640800, 640780, 632000, 631980, 632400, 632380, 632800, 632780, 624000, 623980, 624400, 624380, 624800, 624780, 616000, 615980, 616400, 616380, 616800, 616780} ;
2286    size_t i432_startset[3] = {0, 0, 0} ;
2287    size_t i432_countset[3] = {4, 3, 2} ;
2288    stat = nc_put_vara(ncidi432_idi432_startseti432_countseti432_data);
2289    check_err(stat,__LINE__,__FILE__);
2290    }
2291
2292    {
2293    float f433_data[36] = {26244, 26235, 26226, 26325, 26316, 26307, 26406, 26397, 26388, 25515, 25506, 25497, 25596, 25587, 25578, 25677, 25668, 25659, 24786, 24777, 24768, 24867, 24858, 24849, 24948, 24939, 24930, 24057, 24048, 24039, 24138, 24129, 24120, 24219, 24210, 24201} ;
2294    size_t f433_startset[3] = {0, 0, 0} ;
2295    size_t f433_countset[3] = {4, 3, 3} ;
2296    stat = nc_put_vara(ncidf433_idf433_startsetf433_countsetf433_data);
2297    check_err(stat,__LINE__,__FILE__);
2298    }
2299
2300    {
2301    double d434_data[48] = {40000, 39990, 39980, 39970, 40100, 40090, 40080, 40070, 40200, 40190, 40180, 40170, 39000, 38990, 38980, 38970, 39100, 39090, 39080, 39070, 39200, 39190, 39180, 39170, 38000, 37990, 37980, 37970, 38100, 38090, 38080, 38070, 38200, 38190, 38180, 38170, 37000, 36990, 36980, 36970, 37100, 37090, 37080, 37070, 37200, 37190, 37180, 37170} ;
2302    size_t d434_startset[3] = {0, 0, 0} ;
2303    size_t d434_countset[3] = {4, 3, 4} ;
2304    stat = nc_put_vara(ncidd434_idd434_startsetd434_countsetd434_data);
2305    check_err(stat,__LINE__,__FILE__);
2306    }
2307
2308    {
2309    char c441_data[16] = "@DHLHLPTPTX\\X\\`d" ;
2310    size_t c441_startset[3] = {0, 0, 0} ;
2311    size_t c441_countset[3] = {4, 4, 1} ;
2312    stat = nc_put_vara(ncidc441_idc441_startsetc441_countsetc441_data);
2313    check_err(stat,__LINE__,__FILE__);
2314    }
2315
2316    {
2317    signed char b442_data[32] = {64, 62, 68, 66, 72, 70, 76, 74, 56, 54, 60, 58, 64, 62, 68, 66, 48, 46, 52, 50, 56, 54, 60, 58, 40, 38, 44, 42, 48, 46, 52, 50} ;
2318    size_t b442_startset[3] = {0, 0, 0} ;
2319    size_t b442_countset[3] = {4, 4, 2} ;
2320    stat = nc_put_vara(ncidb442_idb442_startsetb442_countsetb442_data);
2321    check_err(stat,__LINE__,__FILE__);
2322    }
2323
2324    {
2325    short s443_data[48] = {2500, 2495, 2490, 2525, 2520, 2515, 2550, 2545, 2540, 2575, 2570, 2565, 2375, 2370, 2365, 2400, 2395, 2390, 2425, 2420, 2415, 2450, 2445, 2440, 2250, 2245, 2240, 2275, 2270, 2265, 2300, 2295, 2290, 2325, 2320, 2315, 2125, 2120, 2115, 2150, 2145, 2140, 2175, 2170, 2165, 2200, 2195, 2190} ;
2326    size_t s443_startset[3] = {0, 0, 0} ;
2327    size_t s443_countset[3] = {4, 4, 3} ;
2328    stat = nc_put_vara(ncids443_ids443_startsets443_countsets443_data);
2329    check_err(stat,__LINE__,__FILE__);
2330    }
2331
2332    {
2333    int i444_data[64] = {640000, 639980, 639960, 639940, 640400, 640380, 640360, 640340, 640800, 640780, 640760, 640740, 641200, 641180, 641160, 641140, 632000, 631980, 631960, 631940, 632400, 632380, 632360, 632340, 632800, 632780, 632760, 632740, 633200, 633180, 633160, 633140, 624000, 623980, 623960, 623940, 624400, 624380, 624360, 624340, 624800, 624780, 624760, 624740, 625200, 625180, 625160, 625140, 616000, 615980, 615960, 615940, 616400, 616380, 616360, 616340, 616800, 616780, 616760, 616740, 617200, 617180, 617160, 617140} ;
2334    size_t i444_startset[3] = {0, 0, 0} ;
2335    size_t i444_countset[3] = {4, 4, 4} ;
2336    stat = nc_put_vara(ncidi444_idi444_startseti444_countseti444_data);
2337    check_err(stat,__LINE__,__FILE__);
2338    }
2339
2340
2341    stat = nc_close(ncid);
2342    check_err(stat,__LINE__,__FILE__);
2343    return 0;
2344
2345}
2346
2347int
2348main(int argc, char **argv)
2349{
2350#ifdef TEST_PNETCDF
2351   MPI_Init(&argc, &argv);
2352#endif
2353   printf("\n*** Testing netCDF attributes.\n");
2354   printf("*** testing attribute renaming for memory leak, like nc_test...");
2355   {
2356#define A1_NAME "a"
2357#define B1_NAME "b"
2358#define VAR_NAME "var"
2359
2360      int ncidnvarsvnattsvarid;
2361      char name_in[NC_MAX_NAME + 1];
2362      char char_data = 'a';
2363
2364      /* Create a file with a var with two atts. */
2365#ifdef TEST_PNETCDF
2366      if (nc_create_par(FILE_NAMENC_CLOBBER|NC_PNETCDFMPI_COMM_WORLDMPI_INFO_NULL, &ncid)) ERR;
2367#else
2368      if (nc_create(FILE_NAMENC_NETCDF4|NC_CLASSIC_MODEL|NC_CLOBBER, &ncid)) ERR;
2369#endif
2370      if (nc_def_var(ncidVAR_NAMENC_INT, 0, NULL, &varid)) ERR;
2371      if (nc_put_att(ncidvaridA1_NAMENC_CHAR, 1, &char_data)) ERR;
2372      if (nc_put_att(ncidvaridB1_NAMENC_CHAR, 1, &char_data)) ERR;
2373
2374      /* Add a global attribute A1_NAME. */
2375      if (nc_put_att(ncidNC_GLOBALA1_NAMENC_CHAR, 1, &char_data)) ERR;
2376
2377      /* Change the name of the first att of each variable to
2378       * A1_NAME. Then copy the global att called A1_NAME, overwriting
2379       * the one we just changed. */
2380      if (nc_inq_nvars(ncid, &nvars)) ERR;
2381      if (nvars != 1) ERR_RET;
2382      if (nc_inq_varnatts(ncid, 0, &natts)) ERR;
2383      if (natts != 2) ERR;
2384      if (nc_copy_att(ncidNC_GLOBALA1_NAMEncid, 0)) ERR;
2385
2386      /* Also test for fix of another bug, allowing invalid _FillValue
2387       * attribute (not of same type as variable or with 0 values or more
2388       * than 1 value) to be created. */
2389      {
2390   static const int var_FillValue_atts[] = {42, -99} ;
2391   float var_FillValue_att = -99 ;
2392   int res = 0;
2393   /* This should return error, because attribute has too many values */
2394#if 1
2395   res=nc_put_att_int(ncidvarid, "_FillValue", NC_INT, 2, var_FillValue_atts);
2396   if(res != NC_EINVALERR;
2397#else
2398   if ((res=nc_put_att_int(ncidvarid, "_FillValue", NC_INT, 2, var_FillValue_atts))
2399       != NC_EINVALERR;
2400#endif
2401   /* This also should return error, because types don't match */
2402   if (nc_put_att_float(ncidvarid, "_FillValue", NC_FLOAT, 1, &var_FillValue_att)
2403       != NC_EBADTYPEERR;
2404   /* This should succeed, _FillValue is valid */
2405   if (nc_put_att_int(ncidvarid, "_FillValue", NC_INT, 1, var_FillValue_atts)) ERR;
2406      }
2407
2408      if (nc_close(ncid)) ERR;
2409
2410      /* Reopen the file and check it. */
2411#ifdef TEST_PNETCDF
2412      if (nc_open_par(FILE_NAMENC_WRITE|NC_PNETCDFMPI_COMM_WORLDMPI_INFO_NULL, &ncid)) ERR;
2413#else
2414      if (nc_open(FILE_NAMENC_WRITE, &ncid)) ERR;
2415#endif
2416      if (nc_inq_nvars(ncid, &nvars)) ERR;
2417      if (nvars != 1) ERR_RET;
2418      for (v = 0; v < nvarsv++)
2419      {
2420        if (nc_inq_varnatts(ncidv, &natts)) ERR_RET;
2421        if (natts)
2422        {
2423           if (nc_inq_attname(ncidv, 0, name_in)) ERR_RET;
2424           if (strcmp(name_inA1_NAME)) ERR_RET;
2425        }
2426      }
2427      if (nc_close(ncid)) ERR;
2428
2429   }
2430   SUMMARIZE_ERR;
2431   printf("*** testing attribute renaming for memory leak, like nc_test...");
2432   {
2433#define NVARS 136
2434#define A_NAME "a"
2435      int ncidnvarsvnatts;
2436      char name_in[NC_MAX_NAME + 1];
2437      char char_data = 'a';
2438
2439      /* Create the same file as nc_test uses (almost). */
2440      if (create_file()) ERR;
2441
2442      /* Open the file. */
2443#ifdef TEST_PNETCDF
2444      if (nc_open_par(FILE_NAMENC_WRITE|NC_PNETCDFMPI_COMM_WORLDMPI_INFO_NULL, &ncid)) ERR;
2445#else
2446      if (nc_open(FILE_NAMENC_WRITE, &ncid)) ERR;
2447#endif
2448      if (nc_redef(ncid)) ERR;
2449
2450      /* Add a global attribute A_NAME. */
2451      if (nc_put_att(ncidNC_GLOBALA_NAMENC_CHAR, 1,
2452      &char_data)) ERR;
2453
2454      /* Change the name of the first att of each variable to
2455       * A_NAME. Then copy the global att called A_NAME, overwriting
2456       * the one we just changed. */
2457      if (nc_inq_nvars(ncid, &nvars)) ERR;
2458      if (nvars != NVARSERR_RET;
2459      for (v = 0; v < nvarsv++)
2460      {
2461  if (nc_inq_varnatts(ncidv, &natts)) ERR_RET;
2462  if (natts)
2463  {
2464     if (nc_inq_attname(ncidv, 0, name_in)) ERR_RET;
2465     if (nc_rename_att(ncidvname_inA_NAME)) ERR_RET;
2466     if (nc_copy_att(ncidNC_GLOBALA_NAMEncidv)) ERR_RET;
2467  }
2468      }
2469      if (nc_close(ncid)) ERR;
2470
2471      /* Reopen the file and check it. */
2472#ifdef TEST_PNETCDF
2473      if (nc_open_par(FILE_NAMENC_WRITE|NC_PNETCDFMPI_COMM_WORLDMPI_INFO_NULL, &ncid)) ERR;
2474#else
2475      if (nc_open(FILE_NAMENC_WRITE, &ncid)) ERR;
2476#endif
2477      if (nc_inq_nvars(ncid, &nvars)) ERR;
2478      if (nvars != NVARSERR_RET;
2479      for (v = 0; v < nvarsv++)
2480      {
2481  if (nc_inq_varnatts(ncidv, &natts)) ERR_RET;
2482  if (natts)
2483  {
2484     if (nc_inq_attname(ncidv, 0, name_in)) ERR_RET;
2485     if (strcmp(name_inA_NAME)) ERR_RET;
2486  }
2487      }
2488      if (nc_close(ncid)) ERR;
2489
2490   }
2491   SUMMARIZE_ERR;
2492#ifdef TEST_PNETCDF
2493   MPI_Finalize();
2494#endif
2495   FINAL_RESULTS;
2496}


HyperKWIC - Version 7.20DA executed at 11:37 on 27 Oct 2017 | Polyhedron Solutions - INTERNAL USE | COMMERCIAL (Any O/S) SN 4AKIed