Doxygen Source Code Documentation
t_nc.c File Reference
#include <stdio.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include "netcdf.h"
Go to the source code of this file.
Data Structures | |
union | getret |
struct | tcdfvar |
Defines | |
#define | REDEF |
#define | MAXSHORT 32767 |
#define | MAXINT 2147483647 |
#define | MAXBYTE 127 |
#define | FNAME "test.nc" |
#define | NUM_DIMS 3 |
#define | DONT_CARE -1 |
#define | NUM_RECS 8 |
#define | SIZE_1 7 |
#define | SIZE_2 8 |
#define | NUM_RATTRS 6 |
#define | Byte_id 0 |
#define | Char_id 1 |
#define | Short_id 2 |
#define | Long_id 3 |
#define | Float_id 4 |
#define | Double_id 5 |
#define | NUM_TESTVARS 6 |
#define | M_E 2.7182818284590452354 |
Functions | |
void | chkgot (nc_type type, union getret got, double check) |
void | createtestdims (int cdfid, size_t num_dims, size_t *sizes, char *dim_names[]) |
void | testdims (int cdfid, size_t num_dims, size_t *sizes, char *dim_names[]) |
void | createtestvars (int id, struct tcdfvar *testvars, size_t count) |
void | parray (char *label, size_t count, size_t array[]) |
void | fill_seq (int id) |
void | check_fill_seq (int id) |
int | main (int ac, char *av[]) |
Variables | |
struct { | |
int num_dims | |
int num_vars | |
int num_attrs | |
int xtendim | |
} | cdesc [1] |
struct { | |
char mnem [NC_MAX_NAME] | |
nc_type type | |
int ndims | |
int dims [NC_MAX_DIMS] | |
int num_attrs | |
} | vdesc [1] |
struct { | |
char mnem [NC_MAX_NAME] | |
nc_type type | |
size_t len | |
} | adesc [1] |
char * | fname = FNAME |
size_t | sizes [] = { NC_UNLIMITED, SIZE_1 , SIZE_2 } |
char * | dim_names [] = { "record", "ixx", "iyy"} |
char * | reqattr [] |
tcdfvar | testvars [] |
size_t | indices [][3] |
char | chs [] = {'A','B', ((char)0xff) } |
size_t | s_start [] = {0,1} |
size_t | s_edges [] = {NUM_RECS, SIZE_1 - 1} |
char | sentence [NUM_RECS *SIZE_1-1] |
short | shs [] = {97, 99} |
int | birthday = 82555 |
float | e = (float) M_E |
double | pinot = 3.25 |
double | zed = 0.0 |
Define Documentation
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Definition at line 37 of file t_nc.c. Referenced by check_fill_seq(), fill_seq(), and main(). |
|
|
|
Definition at line 40 of file t_nc.c. Referenced by check_fill_seq(), fill_seq(), and main(). |
|
Definition at line 191 of file t_nc.c. Referenced by main(). |
|
|
|
|
|
Definition at line 41 of file t_nc.c. Referenced by fill_seq(), and main(). |
|
Definition at line 42 of file t_nc.c. Referenced by fill_seq(), and main(). |
Function Documentation
|
Definition at line 271 of file t_nc.c. References getret::fl, nc_get_var1_float(), num_dims, NUM_DIMS, NUM_RECS, parray(), and sizes. Referenced by main().
00272 { 00273 size_t vindices[NUM_DIMS]; 00274 size_t *cc, *mm; 00275 union getret got; 00276 int ii = 0; 00277 float val; 00278 00279 sizes[0] = NUM_RECS; 00280 cc = vindices; 00281 while (cc < &vindices[num_dims]) 00282 *cc++ = 0; 00283 00284 /* ripple counter */ 00285 cc = vindices; 00286 mm = sizes; 00287 while (*vindices < *sizes) 00288 { 00289 while (*cc < *mm) 00290 { 00291 if (mm == &sizes[num_dims - 1]) 00292 { 00293 if(nc_get_var1_float(id, Float_id, vindices, &got.fl[0]) == -1) 00294 goto bad_ret; 00295 val = (float) ii; 00296 if(val != got.fl[0]) 00297 { 00298 parray("indices", NUM_DIMS, vindices); 00299 (void) printf("\t%f != %f\n", val, got.fl[0]); 00300 } 00301 (*cc)++; ii++; 00302 continue; 00303 } 00304 cc++; 00305 mm++; 00306 } 00307 if(cc == vindices) 00308 break; 00309 *cc = 0; 00310 cc--; 00311 mm--; 00312 (*cc)++; 00313 } 00314 return; 00315 bad_ret : 00316 (void) printf("couldn't get a var in check_fill_seq() %d\n", 00317 ii); 00318 return; 00319 } |
|
Definition at line 76 of file t_nc.c. References getret::by, check, getret::dbl, getret::fl, getret::in, getret::sh, and type. Referenced by main().
00077 { 00078 switch(type){ 00079 case NC_BYTE : 00080 assert( (char)check == got.by[0] ); 00081 break; 00082 case NC_CHAR : /* TODO */ 00083 assert( (char)check == got.by[0] ); 00084 break; 00085 case NC_SHORT : 00086 assert( (short)check == got.sh[0] ); 00087 break; 00088 case NC_INT : 00089 assert( (int)check == got.in[0] ); 00090 break; 00091 case NC_FLOAT : 00092 assert( (float)check == got.fl[0] ); 00093 break; 00094 case NC_DOUBLE : 00095 assert( check == got.dbl ); 00096 break; 00097 default: 00098 break; 00099 } 00100 } |
|
Definition at line 110 of file t_nc.c. References dim_names, nc_def_dim(), num_dims, and sizes. Referenced by main().
00111 { 00112 int dimid; 00113 while(num_dims-- != 0) 00114 { 00115 assert( nc_def_dim(cdfid, *dim_names++, *sizes, &dimid) 00116 == NC_NOERR); 00117 sizes++; 00118 } 00119 00120 } |
|
Definition at line 194 of file t_nc.c. References tcdfvar::dims, tcdfvar::fieldnam, tcdfvar::mnem, nc_def_var(), nc_put_att_double(), nc_put_att_text(), tcdfvar::ndims, reqattr, tcdfvar::scalemax, tcdfvar::scalemin, testvars, tcdfvar::type, tcdfvar::units, tcdfvar::validmax, and tcdfvar::validmin. Referenced by main().
00195 { 00196 int ii; 00197 int varid; 00198 struct tcdfvar *vp = testvars; 00199 00200 for(ii = 0; (size_t) ii < count; ii++, vp++ ) 00201 { 00202 assert(nc_def_var(id, vp->mnem, vp->type, vp->ndims, vp->dims, 00203 &varid) 00204 == NC_NOERR ); 00205 00206 assert( 00207 nc_put_att_text(id,ii,reqattr[0],strlen(vp->units), 00208 vp->units) 00209 == NC_NOERR); 00210 assert( 00211 nc_put_att_double(id,ii,reqattr[1],NC_DOUBLE,1, 00212 &vp->validmin) 00213 == NC_NOERR); 00214 assert( 00215 nc_put_att_double(id,ii,reqattr[2],NC_DOUBLE,1, 00216 &vp->validmax) 00217 == NC_NOERR); 00218 assert( 00219 nc_put_att_double(id,ii,reqattr[3],NC_DOUBLE,1, 00220 &vp->scalemin) 00221 == NC_NOERR); 00222 assert( 00223 nc_put_att_double(id,ii,reqattr[4],NC_DOUBLE,1, 00224 &vp->scalemax) 00225 == NC_NOERR); 00226 assert( 00227 nc_put_att_text(id,ii,reqattr[5],strlen(vp->fieldnam), 00228 vp->fieldnam) 00229 == NC_NOERR); 00230 } 00231 } |
|
Definition at line 244 of file t_nc.c. References nc_put_vara_float(), num_dims, NUM_DIMS, NUM_RECS, SIZE_1, SIZE_2, and sizes. Referenced by main().
00245 { 00246 float values[NUM_RECS * SIZE_1 * SIZE_2]; 00247 size_t vindices[NUM_DIMS]; 00248 00249 { 00250 size_t ii = 0; 00251 for(; ii < sizeof(values)/sizeof(values[0]); ii++) 00252 { 00253 values[ii] = (float) ii; 00254 } 00255 } 00256 00257 /* zero the vindices */ 00258 { 00259 size_t *cc = vindices; 00260 while (cc < &vindices[num_dims]) 00261 *cc++ = 0; 00262 } 00263 00264 sizes[0] = NUM_RECS; 00265 00266 assert( nc_put_vara_float(id, Float_id, vindices, sizes, values)== NC_NOERR); 00267 00268 } |
|
\** File : SUMA.c
Input paramters :
Definition at line 346 of file t_nc.c. References adesc, birthday, getret::by, cdesc, check_fill_seq(), chkgot(), chs, createtestdims(), createtestvars(), getret::dbl, dim_names, tcdfvar::dims, e, tcdfvar::fieldnam, fill_seq(), getret::fl, fname, getret::in, indices, tcdfvar::mnem, nc__create(), nc__enddef(), nc__open(), nc_close(), nc_del_att(), nc_get_att_double(), nc_get_att_text(), nc_get_var1_double(), nc_get_var1_float(), nc_get_var1_int(), nc_get_var1_schar(), nc_get_var1_short(), nc_get_var1_text(), nc_get_var_double(), nc_get_vara_schar(), nc_get_vara_text(), nc_inq(), nc_inq_att(), nc_inq_attname(), nc_inq_dim(), nc_inq_var(), nc_put_att_double(), nc_put_att_int(), nc_put_att_text(), nc_put_var1_double(), nc_put_var1_float(), nc_put_var1_int(), nc_put_var1_schar(), nc_put_var1_short(), nc_put_var1_text(), nc_put_vara_schar(), nc_put_vara_text(), nc_redef(), nc_rename_att(), nc_rename_dim(), nc_strerror(), nc_sync(), num_dims, NUM_DIMS, NUM_RECS, NUM_TESTVARS, pinot, reqattr, s_edges, s_start, tcdfvar::scalemax, tcdfvar::scalemin, sentence, getret::sh, shs, SIZE_1, SIZE_2, sizes, testdims(), testvars, tcdfvar::type, tcdfvar::units, tcdfvar::validmax, tcdfvar::validmin, vdesc, and zed.
00347 { 00348 int ret; 00349 int id; 00350 char buf[256]; 00351 #ifdef SYNCDEBUG 00352 char *str = "one"; 00353 #endif 00354 int ii; 00355 size_t ui; 00356 struct tcdfvar *tvp = testvars; 00357 union getret got; 00358 const size_t initialsz = 8192; 00359 size_t chunksz = 8192; 00360 size_t align = 8192/32; 00361 00362 ret = nc__create(fname,NC_NOCLOBBER, initialsz, &chunksz, &id); 00363 if(ret != NC_NOERR) { 00364 (void) fprintf(stderr, "trying again\n"); 00365 ret = nc__create(fname,NC_CLOBBER, initialsz, &chunksz, &id); 00366 } 00367 if(ret != NC_NOERR) 00368 exit(ret); 00369 00370 assert( nc_put_att_text(id, NC_GLOBAL, 00371 "TITLE", 12, "another name") == NC_NOERR); 00372 assert( nc_get_att_text(id, NC_GLOBAL, 00373 "TITLE", buf) == NC_NOERR); 00374 /* (void) printf("title 1 \"%s\"\n", buf); */ 00375 assert( nc_put_att_text(id, NC_GLOBAL, 00376 "TITLE", strlen(fname), fname) == NC_NOERR); 00377 assert( nc_get_att_text(id, NC_GLOBAL, 00378 "TITLE", buf) == NC_NOERR); 00379 buf[strlen(fname)] = 0; 00380 /* (void) printf("title 2 \"%s\"\n", buf); */ 00381 assert( strcmp(fname, buf) == 0); 00382 00383 createtestdims(id, NUM_DIMS, sizes, dim_names); 00384 testdims(id, NUM_DIMS, sizes, dim_names); 00385 00386 createtestvars(id, testvars, NUM_TESTVARS); 00387 00388 { 00389 int ifill = -1; double dfill = -9999; 00390 assert( nc_put_att_int(id, Long_id, 00391 _FillValue, NC_INT, 1, &ifill) == NC_NOERR); 00392 assert( nc_put_att_double(id, Double_id, 00393 _FillValue, NC_DOUBLE, 1, &dfill) == NC_NOERR); 00394 } 00395 00396 #ifdef REDEF 00397 assert( nc__enddef(id, 0, align, 0, 2*align) == NC_NOERR ); 00398 assert( nc_put_var1_int(id, Long_id, indices[3], &birthday) 00399 == NC_NOERR ); 00400 fill_seq(id); 00401 assert( nc_redef(id) == NC_NOERR ); 00402 /* assert( nc_rename_dim(id,2, "a long dim name") == NC_NOERR); */ 00403 #endif 00404 00405 assert( nc_rename_dim(id,1, "IXX") == NC_NOERR); 00406 assert( nc_inq_dim(id, 1, buf, &ui) == NC_NOERR); 00407 (void) printf("dimrename: %s\n", buf); 00408 assert( nc_rename_dim(id,1, dim_names[1]) == NC_NOERR); 00409 00410 #ifdef ATTRX 00411 assert( nc_rename_att(id, 1, "UNITS", "units") == NC_NOERR); 00412 assert( nc_del_att(id, 4, "FIELDNAM")== NC_NOERR); 00413 assert( nc_del_att(id, 2, "SCALEMIN")== NC_NOERR); 00414 assert( nc_del_att(id, 2, "SCALEMAX")== NC_NOERR); 00415 #endif /* ATTRX */ 00416 00417 assert( nc__enddef(id, 0, align, 0, 2*align) == NC_NOERR ); 00418 00419 #ifndef REDEF 00420 fill_seq(id); 00421 assert( nc_put_var1_int(id, Long_id, indices[3], &birthday)== NC_NOERR ); 00422 #endif 00423 00424 assert( nc_put_vara_schar(id, Byte_id, s_start, s_edges, 00425 (signed char *)sentence) 00426 == NC_NOERR); 00427 assert( nc_put_var1_schar(id, Byte_id, indices[6], (signed char *)(chs+1)) 00428 == NC_NOERR); 00429 assert( nc_put_var1_schar(id, Byte_id, indices[5], (signed char *)chs) 00430 == NC_NOERR); 00431 00432 assert( nc_put_vara_text(id, Char_id, s_start, s_edges, sentence) 00433 == NC_NOERR); 00434 assert( nc_put_var1_text(id, Char_id, indices[6], (chs+1)) 00435 == NC_NOERR) ; 00436 assert( nc_put_var1_text(id, Char_id, indices[5], chs) 00437 == NC_NOERR); 00438 00439 assert( nc_put_var1_short(id, Short_id, indices[4], shs) 00440 == NC_NOERR); 00441 00442 assert( nc_put_var1_float(id, Float_id, indices[2], &e) 00443 == NC_NOERR); 00444 00445 assert( nc_put_var1_double(id, Double_id, indices[1], &zed) 00446 == NC_NOERR); 00447 assert( nc_put_var1_double(id, Double_id, indices[0], &pinot) 00448 == NC_NOERR); 00449 00450 00451 #ifdef SYNCDEBUG 00452 (void) printf("Hit Return to sync\n"); 00453 gets(str); 00454 nc_sync(id,0); 00455 (void) printf("Sync done. Hit Return to continue\n"); 00456 gets(str); 00457 #endif /* SYNCDEBUG */ 00458 00459 ret = nc_close(id); 00460 (void) printf("nc_close ret = %d\n\n", ret); 00461 00462 00463 /* 00464 * read it 00465 */ 00466 ret = nc__open(fname,NC_NOWRITE, &chunksz, &id); 00467 if(ret != NC_NOERR) 00468 { 00469 (void) printf("Could not open %s: %s\n", fname, 00470 nc_strerror(ret)); 00471 exit(1); 00472 } 00473 (void) printf("reopen id = %d for filename %s\n", 00474 id, fname); 00475 00476 /* NC */ 00477 (void) printf("NC "); 00478 assert( nc_inq(id, &(cdesc->num_dims), &(cdesc->num_vars), 00479 &(cdesc->num_attrs), &(cdesc->xtendim) ) == NC_NOERR); 00480 assert((size_t) cdesc->num_dims == num_dims); 00481 assert(cdesc->num_attrs == 1); 00482 assert(cdesc->num_vars == NUM_TESTVARS); 00483 (void) printf("done\n"); 00484 00485 /* GATTR */ 00486 (void) printf("GATTR "); 00487 00488 assert( nc_inq_attname(id, NC_GLOBAL, 0, adesc->mnem) == 0); 00489 assert(strcmp("TITLE",adesc->mnem) == 0); 00490 assert( nc_inq_att(id, NC_GLOBAL, adesc->mnem, &(adesc->type), &(adesc->len))== NC_NOERR); 00491 assert( adesc->type == NC_CHAR ); 00492 assert( adesc->len == strlen(fname) ); 00493 assert( nc_get_att_text(id, NC_GLOBAL, "TITLE", buf)== NC_NOERR); 00494 buf[adesc->len] = 0; 00495 assert( strcmp(fname, buf) == 0); 00496 00497 /* VAR */ 00498 (void) printf("VAR "); 00499 assert( cdesc->num_vars == NUM_TESTVARS ); 00500 00501 for(ii = 0; ii < cdesc->num_vars; ii++, tvp++ ) 00502 { 00503 int jj; 00504 assert( nc_inq_var(id, ii, 00505 vdesc->mnem, 00506 &(vdesc->type), 00507 &(vdesc->ndims), 00508 vdesc->dims, 00509 &(vdesc->num_attrs)) == NC_NOERR); 00510 if(strcmp(tvp->mnem , vdesc->mnem) != 0) 00511 { 00512 (void) printf("attr %d mnem mismatch %s, %s\n", 00513 ii, tvp->mnem, vdesc->mnem); 00514 continue; 00515 } 00516 if(tvp->type != vdesc->type) 00517 { 00518 (void) printf("attr %d type mismatch %d, %d\n", 00519 ii, tvp->type, vdesc->type); 00520 continue; 00521 } 00522 for(jj = 0; jj < vdesc->ndims; jj++ ) 00523 { 00524 if(tvp->dims[jj] != vdesc->dims[jj] ) 00525 { 00526 (void) printf( 00527 "inconsistant dim[%d] for variable %d: %d != %d\n", 00528 jj, ii, tvp->dims[jj], vdesc->dims[jj] ); 00529 continue; 00530 } 00531 } 00532 00533 /* VATTR */ 00534 (void) printf("VATTR\n"); 00535 for(jj=0; jj<vdesc->num_attrs; jj++ ) 00536 { 00537 assert( nc_inq_attname(id, ii, jj, adesc->mnem) == NC_NOERR); 00538 if( strcmp(adesc->mnem, reqattr[jj]) != 0 ) 00539 { 00540 (void) printf("var %d attr %d mismatch %s != %s\n", 00541 ii, jj, adesc->mnem, reqattr[jj] ); 00542 break; 00543 } 00544 } 00545 00546 if( nc_inq_att(id, ii, reqattr[0], &(adesc->type), &(adesc->len)) 00547 != -1) { 00548 assert( adesc->type == NC_CHAR ); 00549 assert( adesc->len == strlen(tvp->units) ); 00550 assert( nc_get_att_text(id,ii,reqattr[0],buf)== NC_NOERR); 00551 buf[adesc->len] = 0; 00552 assert( strcmp(tvp->units, buf) == 0); 00553 } 00554 00555 if( 00556 nc_inq_att(id, ii, reqattr[1], &(adesc->type), &(adesc->len)) 00557 != -1) 00558 { 00559 assert( adesc->type == NC_DOUBLE ); 00560 assert( adesc->len == 1 ); 00561 assert( nc_get_att_double(id, ii, reqattr[1], &got.dbl)== NC_NOERR); 00562 chkgot(adesc->type, got, tvp->validmin); 00563 } 00564 00565 if( 00566 nc_inq_att(id, ii, reqattr[2], &(adesc->type), &(adesc->len)) 00567 != -1) 00568 { 00569 assert( adesc->type == NC_DOUBLE ); 00570 assert( adesc->len == 1 ); 00571 assert( nc_get_att_double(id, ii, reqattr[2], &got.dbl)== NC_NOERR); 00572 chkgot(adesc->type, got, tvp->validmax); 00573 } 00574 00575 if( 00576 nc_inq_att(id, ii, reqattr[3], &(adesc->type), &(adesc->len)) 00577 != -1) 00578 { 00579 assert( adesc->type == NC_DOUBLE ); 00580 assert( adesc->len ==1 ); 00581 assert( nc_get_att_double(id, ii, reqattr[3], &got.dbl)== NC_NOERR); 00582 chkgot(adesc->type, got, tvp->scalemin); 00583 } 00584 00585 if( 00586 nc_inq_att(id, ii, reqattr[4], &(adesc->type), &(adesc->len)) 00587 != -1) 00588 { 00589 assert( adesc->type == NC_DOUBLE ); 00590 assert( adesc->len == 1 ); 00591 assert( nc_get_att_double(id, ii, reqattr[4], &got.dbl)== NC_NOERR); 00592 chkgot(adesc->type, got, tvp->scalemax); 00593 } 00594 00595 if( nc_inq_att(id, ii, reqattr[5], &(adesc->type), &(adesc->len))== NC_NOERR) 00596 { 00597 assert( adesc->type == NC_CHAR ); 00598 assert( adesc->len == strlen(tvp->fieldnam) ); 00599 assert( nc_get_att_text(id,ii,reqattr[5],buf)== NC_NOERR); 00600 buf[adesc->len] = 0; 00601 assert( strcmp(tvp->fieldnam, buf) == 0); 00602 } 00603 } 00604 00605 (void) printf("fill_seq "); 00606 check_fill_seq(id); 00607 (void) printf("Done\n"); 00608 00609 assert( nc_get_var1_double(id, Double_id, indices[0], &got.dbl)== NC_NOERR); 00610 (void) printf("got val = %f\n", got.dbl ); 00611 00612 assert( nc_get_var1_double(id, Double_id, indices[1], &got.dbl)== NC_NOERR); 00613 (void) printf("got val = %f\n", got.dbl ); 00614 00615 assert( nc_get_var1_float(id, Float_id, indices[2], &got.fl[0])== NC_NOERR); 00616 (void) printf("got val = %f\n", got.fl[0] ); 00617 00618 assert( nc_get_var1_int(id, Long_id, indices[3], &got.in[0])== NC_NOERR); 00619 (void) printf("got val = %d\n", got.in[0] ); 00620 00621 assert( nc_get_var1_short(id, Short_id, indices[4], &got.sh[0])== NC_NOERR); 00622 (void) printf("got val = %d\n", got.sh[0] ); 00623 00624 assert( nc_get_var1_text(id, Char_id, indices[5], &got.by[0]) == NC_NOERR); 00625 (void) printf("got NC_CHAR val = %c (0x%02x) \n", 00626 got.by[0] , got.by[0]); 00627 00628 assert( nc_get_var1_text(id, Char_id, indices[6], &got.by[0]) == NC_NOERR); 00629 (void) printf("got NC_CHAR val = %c (0x%02x) \n", 00630 got.by[0], got.by[0] ); 00631 00632 (void) memset(buf,0,sizeof(buf)); 00633 assert( nc_get_vara_text(id, Char_id, s_start, s_edges, buf) == NC_NOERR); 00634 (void) printf("got NC_CHAR val = \"%s\"\n", buf); 00635 00636 assert( nc_get_var1_schar(id, Byte_id, indices[5], 00637 (signed char *)&got.by[0])== NC_NOERR); 00638 (void) printf("got val = %c (0x%02x) \n", got.by[0] , got.by[0]); 00639 00640 assert( nc_get_var1_schar(id, Byte_id, indices[6], 00641 (signed char *)&got.by[0])== NC_NOERR); 00642 (void) printf("got val = %c (0x%02x) \n", got.by[0], got.by[0] ); 00643 00644 (void) memset(buf,0,sizeof(buf)); 00645 assert( nc_get_vara_schar(id, Byte_id, s_start, s_edges, 00646 (signed char *)buf)== NC_NOERR ); 00647 (void) printf("got val = \"%s\"\n", buf); 00648 00649 { 00650 double dbuf[NUM_RECS * SIZE_1 * SIZE_2]; 00651 assert(nc_get_var_double(id, Float_id, dbuf) == NC_NOERR); 00652 (void) printf("got vals = %f ... %f\n", dbuf[0], 00653 dbuf[NUM_RECS * SIZE_1 * SIZE_2 -1] ); 00654 } 00655 00656 ret = nc_close(id); 00657 (void) printf("re nc_close ret = %d\n", ret); 00658 00659 return 0; 00660 } |
|
Definition at line 234 of file t_nc.c. References array. Referenced by check_fill_seq().
|
|
Definition at line 124 of file t_nc.c. References dim_names, nc_inq_dim(), num_dims, and sizes. Referenced by main().
00125 { 00126 int ii; 00127 size_t size; 00128 char cp[NC_MAX_NAME]; 00129 for(ii=0; (size_t) ii < num_dims; ii++, sizes++) 00130 { 00131 assert( nc_inq_dim(cdfid, ii, cp, &size) == NC_NOERR); 00132 if( size != *sizes) 00133 (void) fprintf(stderr, "%d: %lu != %lu\n", 00134 ii, (unsigned long)size, (unsigned long)*sizes); 00135 assert( size == *sizes); 00136 assert( strcmp(cp, *dim_names++) == 0); 00137 } 00138 00139 } |
Variable Documentation
|
Referenced by main(). |
|
Definition at line 337 of file t_nc.c. Referenced by main(). |
|
Referenced by main(). |
|
Definition at line 331 of file t_nc.c. Referenced by main(). |
|
Definition at line 107 of file t_nc.c. Referenced by createtestdims(), main(), and testdims(). |
|
|
|
Definition at line 339 of file t_nc.c. Referenced by main(). |
|
Definition at line 102 of file t_nc.c. Referenced by main(). |
|
Initial value: { {0, 1, 3}, {0, 3, 0}, {1, 2, 3}, {3, 2, 1}, {2, 1, 3}, {1, 0, 0}, {0, 0, 0}, } Definition at line 321 of file t_nc.c. Referenced by main(). |
|
|
|
|
|
Definition at line 54 of file t_nc.c. Referenced by do_ncdump(), nc_def_var(), ncinquire(), ncvardef(), ncvarget(), ncvarget1(), ncvargetg(), ncvargets(), ncvarinq(), ncvarput(), ncvarput1(), ncvarputg(), ncvarputs(), new_NC_var(), new_x_NC_var(), upcorner(), and v1h_get_NC_var(). |
|
|
|
Definition at line 105 of file t_nc.c. Referenced by check_fill_seq(), createtestdims(), fill_seq(), main(), and testdims(). |
|
|
|
Definition at line 340 of file t_nc.c. Referenced by main(). |
|
Initial value: { "UNITS", "VALIDMIN", "VALIDMAX", "SCALEMIN", "SCALEMAX", "FIELDNAM", _FillValue } Definition at line 143 of file t_nc.c. Referenced by createtestvars(), and main(). |
|
Definition at line 333 of file t_nc.c. Referenced by main(). |
|
Definition at line 332 of file t_nc.c. Referenced by main(). |
|
Initial value:
"The red death had long devastated the country." Definition at line 334 of file t_nc.c. Referenced by main(). |
|
Definition at line 336 of file t_nc.c. Referenced by main(). |
|
Definition at line 106 of file t_nc.c. Referenced by check_fill_seq(), createtestdims(), fill_seq(), main(), and testdims(). |
|
Referenced by createtestvars(), and main(). |
|
Definition at line 61 of file t_nc.c. Referenced by chkgot(). |
|
Referenced by main(). |
|
|
|
Definition at line 341 of file t_nc.c. Referenced by main(). |