int main(int argc, char *argv[]) { int argPos = 0, argNum = argc; initMemInfo(); for (argPos = 1; argPos < argNum;) { if (NCcmArgTest(argv[argPos], "-d", "--debug")) { SetDebug(); NCcmArgShiftLeft(argPos, argv, argc); argNum--; continue; } if (NCcmArgTest(argv[argPos], "-h", "--help")) { if (argv[argPos + 1][0] == 'e') do_help(NCcmProgName(argv[0]), true); else do_help(NCcmProgName(argv[0]), false); cleanup(NCsucceeded); } if (NCcmArgTest(argv[argPos], "- ", "-- ")) { NCcmArgShiftLeft(argPos, argv, argc); argNum--; continue; } if ((argv[argPos][0] == '-') && (strlen(argv[argPos]) > 1)) { CMmsgPrint(CMmsgUsrError, "Unknown option: %s!", argv[argPos]); cleanup(NCfailed); } argPos++; } cleanup(NCsucceeded); }
int main(int argc, char* argv[]) { int argPos = 0, argNum = argc, ncid; char *fname = (char *) NULL, *tname = "time"; FILE *output = stdout; NCtable_t *tbl = (NCtable_t *) NULL; initMemInfo(); for(argPos = 1; argPos < argNum;) { if (CMargTest(argv[argPos],"-d","--debug")) { SetDebug(); CMargShiftLeft(argPos,argv,argc); argNum--; continue; } if (CMargTest(argv[argPos],"-h","--help")) { if((argPos + 1 < argNum) && (argv[argPos+1][0] == 'e')) doHelp (CMprgName(argv[0]),true); else doHelp (CMprgName (argv[0]),false); cleanup(NCsucceeded); } if (CMargTest(argv[argPos],"-t","--table")) { CMargShiftLeft(argPos,argv,argc); argNum--; tname = argv[argPos]; CMargShiftLeft(argPos,argv,argc); argNum--; continue; } if (CMargTest(argv[argPos],"-f","--file")) { if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos) { CMmsgPrint (CMmsgUsrError,"Missing file!"); return (CMfailed); } fname = argv[argPos]; if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos) break; continue; } if (CMargTest(argv[argPos],"-o","--output")) { if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos) { CMmsgPrint (CMmsgUsrError,"Missing output!"); return (CMfailed); } if(output != stdout) { CMmsgPrint (CMmsgUsrError, "Output file defined twice!"); cleanup(NCfailed); } if((output = fopen(argv[argPos],"w")) == (FILE *) NULL) { CMmsgPrint (CMmsgUsrError, "Cannot open for writing: %s",argv[argPos]); cleanup(NCfailed); } if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos) break; continue; } if ((argv[argPos][0] == '-') && (strlen (argv[argPos]) > 1)) { CMmsgPrint (CMmsgUsrError, "Unknown option: %s!",argv[argPos]); cleanup(NCfailed); } argPos++; } if(fname == (char *) NULL) { doHelp(argv[0],false); CMmsgPrint (CMmsgUsrError, "No file specified!"); cleanup(NCfailed); } if(nc_open(fname,NC_NOWRITE,&ncid) != NC_NOERR) { CMmsgPrint (CMmsgUsrError, "Error opening file!"); cleanup(NCfailed); } if((tbl = NCtableOpen(ncid,tname)) == (NCtable_t *) NULL) { CMmsgPrint (CMmsgUsrError, "Error opening table!"); cleanup(NCfailed); } if(GetDebug()) CMmsgPrint (CMmsgUsrError, "Loaded file!"); NCtableExportAscii(tbl,output); cleanup(NCsucceeded); }
int main(int argc, char* argv[]) { char *filename = (char *) NULL, *rename = (char *) NULL, *varname = (char *) NULL; int argPos = 0, argNum = argc, interval = NONE, ncid = 0, *dimIDs = (int *) NULL; // NCdsHandle_t *dsHandle; if(argNum == 1) { doHelp(CMfileName(argv[0])); return (NCsucceeded); } if ((argNum == 2) && (argv[1][0] == '-')) { if (CMargTest (argv[1],"-d","--debug")) SetDebug(); doHelp(CMfileName(argv[0])); return (NCsucceeded); } initMemInfo(); for(argPos = 1; argPos < argNum;) { if (CMargTest(argv[argPos],"-d","--debug")) { SetDebug(); CMargShiftLeft(argPos,argv,argc); argNum--; continue; } if (CMargTest(argv[argPos],"-h","--help")) { doHelp(CMfileName(argv[0])); cleanup(NCsucceeded); } if (CMargTest(argv[argPos],"-f","--file")) { if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos) { CMmsgPrint (CMmsgUsrError,"Missing file!"); return (CMfailed); } filename = argv[argPos]; if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos) break; continue; } if (CMargTest(argv[argPos],"-r","--rename")) { if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos) { CMmsgPrint (CMmsgUsrError,"Missing name!"); return (CMfailed); } if(rename == (char *) NULL) rename = argv[argPos]; else { CMmsgPrint (CMmsgUsrError, "Output field name defined twice!"); cleanup(NCfailed); } if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos) break; continue; } if (CMargTest(argv[argPos],"-s","--set")) { if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos) { CMmsgPrint (CMmsgUsrError,"Time step!"); return (CMfailed); } if(interval != NONE) { CMmsgPrint (CMmsgUsrError, "Interval already set!"); cleanup(NCfailed); } if(NCmathIsNumber(argv[argPos])) interval = atoi(argv[argPos]); else if (strcmp(argv[argPos],"hour") == 0) interval = HOUR; else if (strcmp(argv[argPos],"day") == 0) interval = DAY; else if (strcmp(argv[argPos],"month") == 0) interval = MONTH; else if (strcmp(argv[argPos],"year") == 0) interval = YEAR; else { CMmsgPrint (CMmsgUsrError, "Undefined time interval '%s'",argv[argPos]); cleanup(NCfailed); } if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos) { CMmsgPrint (CMmsgUsrError,"Missing variable!"); return (CMfailed); } if(varname == (char *) NULL) varname = argv[argPos]; else { CMmsgPrint (CMmsgUsrError, "Input field name defined twice!"); cleanup(NCfailed); } if ((argNum = CMargShiftLeft(argPos,argv,argc)) <= argPos) break; continue; } if ((argv[argPos][0] == '-') && (strlen (argv[argPos]) > 1)) { CMmsgPrint (CMmsgUsrError, "Unknown option: %s!",argv[argPos]); cleanup(NCfailed); } argPos++; } if(interval == NONE) { CMmsgPrint (CMmsgUsrError, "Invalid interval!"); cleanup(NCfailed); } if (filename != (char *) NULL) { if(nc_open(filename,NC_WRITE,&ncid) != NC_NOERR) { CMmsgPrint (CMmsgAppError, "Error opening file: %s!",filename); return (NCfailed); } } else if ((argNum > 1) && (strcmp(argv[1],"-") != 0)) { if(nc_open(argv[1],NC_WRITE,&ncid) != NC_NOERR) { CMmsgPrint (CMmsgUsrError, "Error opening file: %s!",argv[1]); return (NCfailed); } } else doHelp(CMfileName(argv[0])); // dsHandle = NCdsHandleOpenById (ncid); /* if((nc_inq_varid(ncid,varname,&inVar)) != NC_NOERR) { CMmsgPrint (CMmsgUsrError, "NC: Error getting varID!"); cleanup(NCfailed); } if(nc_inq_ndims(ncid,&ndims) != NC_NOERR) { CMmsPrint (CMmsgAppError, "Cannot get the ndims!",__FILE__,__LINE__); cleanup(NCfailed); } dimIDs = malloc(sizeof(int) * ndims); if((nc_inq_vardimid(ncid,inVar,dimIDs)) != NC_NOERR) { CMmsgPrint (CMmsgUsrError, "NC: Error getting dimIDs!"); cleanup(NCfailed); } if(nc_redef(ncid) != NC_NOERR) { CMmsgPrint (CMmsgAppError, "Cannot place into redef mode!"); cleanup(NCfailed); } CMmsgPrint (CMmsgUsrError, "id=%d ndims=%d, dimIDs[0]=%d dimIDs[1]=%d dimIDs[2]=%d",ncid,ndims, dimIDs[0],dimIDs[1],dimIDs[2]); if(rename == (char *) NULL) { if((nc_def_var(ncid,"Aggregate",NC_DOUBLE,ndims,dimIDs,&outVar)) != NC_NOERR) { CMmsgPrint (CMmsgUsrError, "NC: Error creating new variable!"); cleanup(NCfailed); } } else { if((nc_def_var(ncid,rename,NC_DOUBLE,ndims,dimIDs,&outVar)) != NC_NOERR) { CMmsgPrint (CMmsgUsrError, "NC: Error creating new variable!"); cleanup(NCfailed); } } CMmsgPrint (CMmsgUsrError, "id=%d ndims=%d, dimIDs[0]=%d dimIDs[1]=%d dimIDs[2]=%d",ncid,ndims, dimIDs[0],dimIDs[1],dimIDs[2]); //if(nc_enddef(ncid) != NC_NOERR) { CMmsgPrint (CMmsgAppError, "Cannot get out of redef mode!"); cleanup(NCfailed); } cleanup(NCsucceeded); if((nc_inq_dimlen(ncid,dimIDs[0],&bLen)) != NC_NOERR) { CMmsgPrint (CMmsgUsrError, "NC: Error getting length of dimension!"); cleanup(NCfailed); } for(i = 0; i < bLen; i++) { idx[0] = i; if(nc_get_var1_double(ncid,inVar,idx, &val) != NC_NOERR) { CMmsgPrint (CMmsgUsrError, "NC: There's a problem getting a value!"); cleanup(NCfailed); } printf("inVar: %d, outVar: %d, val: %f",inVar,outVar,val); }*/ // for (i = 0; i < dsHandle->ColNum * dsHandle->RowNum * dsHandle->TimeNum; i++) printf("i: %f",data[i]); cleanup(NCsucceeded); }