/* * HEADER:100:spread:output:1:write text - spread sheet format into X (WxText enabled) */ int f_spread(ARG1) { unsigned int i; if (mode == -1) { if ((*local = (void *) ffopen(arg1,file_append ? "a" : "w")) == NULL) fatal_error("Could not open %s", arg1); WxText = latlon = decode = 1; } else if (mode == -2) { ffclose((FILE *) *local); } else if (mode >= 0) { if (lat == NULL || lon == NULL || data == NULL) { fprintf(stderr,"no code to determine lat-lon information, no spread sheet output\n"); return 0; } set_mode(0); f_var(call_ARG0(inv_out,NULL)); fprintf((FILE *) *local,"lon,lat,%s",inv_out); f_lev(call_ARG0(inv_out,NULL)); fprintf((FILE *) *local," %s", inv_out); f_t(call_ARG0(inv_out,NULL)); fprintf((FILE *) *local," %s", inv_out); f_ftime(call_ARG0(inv_out,NULL)); fprintf((FILE *) *local," %s\n", inv_out); if (WxNum > 0) { for (i = 0; i < ndata; i++) { if(!UNDEFINED_VAL(data[i])) fprintf((FILE *) *local,"%lf,%lf,\"%s\"\n",lon[i],lat[i],WxLabel(data[i])); } } else { for (i = 0; i < ndata; i++) { if(!UNDEFINED_VAL(data[i])) fprintf((FILE *) *local,"%lf,%lf,%g\n",lon[i],lat[i],data[i]); } } if (flush_mode) fflush((FILE *) *local); inv_out[0] = 0; set_mode(mode); } return 0; }
int f_S(ARG0) { if (mode >= 0) { f_T(CALL_ARG0); strcat(inv_out,item_deliminator); inv_out += strlen(inv_out); f_var(CALL_ARG0); strcat(inv_out,item_deliminator); inv_out += strlen(inv_out); f_lev(CALL_ARG0); strcat(inv_out,item_deliminator); inv_out += strlen(inv_out); f_ftime(CALL_ARG0); strcat(inv_out,item_deliminator); inv_out += strlen(inv_out); f_misc(CALL_ARG0); } return 0; }
int f_V(ARG0) { int oldmode; if (mode == -1) decode = 1; if (mode >= 0) { f_vt(CALL_ARG0); strcat(inv_out,item_deliminator); inv_out += strlen(inv_out); f_lev(CALL_ARG0); strcat(inv_out,item_deliminator); inv_out += strlen(inv_out); f_ftime(CALL_ARG0); strcat(inv_out,item_deliminator); inv_out += strlen(inv_out); oldmode=mode; mode=1; f_var(CALL_ARG0); strcat(inv_out,item_deliminator); inv_out += strlen(inv_out); mode=oldmode; f_ens(CALL_ARG0); strcat(inv_out,"\n "); inv_out += strlen(inv_out); f_stats(CALL_ARG0); strcat(inv_out,"\n "); inv_out += strlen(inv_out); f_grid(CALL_ARG0); strcat(inv_out,"\n"); } return 0; }