Changeset 5969 for trunk/psLib/psTableParse.c
- Timestamp:
- Jan 12, 2006, 10:40:13 AM (21 years ago)
- File:
-
- 1 edited
-
trunk/psLib/psTableParse.c (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psLib/psTableParse.c
r5892 r5969 1 1 /** @file psTableParse.c 2 2 * 3 * @brief Parses input data tables and outputs .datfiles for specified format3 * @brief Parses input data tables (finals2000A.data) and outputs files for specified format 4 4 * 5 5 * @ingroup psTableParse … … 7 7 * @author Dave Robbins, MHPCC 8 8 * 9 * @version $Revision: 1. 2$ $Name: not supported by cvs2svn $10 * @date $Date: 2006-01- 04 22:59:31$9 * @version $Revision: 1.3 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2006-01-12 20:40:12 $ 11 11 * 12 12 * Copyright 2005 Maui High Performance Computing Center, University of Hawaii … … 19 19 #include <math.h> 20 20 21 static FILE *output = NULL; 22 static FILE *input = NULL; 23 24 static void printHeader(char *filename); 25 21 26 int main(int argc, char *argv[]) 22 27 { … … 26 31 } 27 32 if (!strncmp(argv[1], "-h", 2) ) { 28 printf("\n Usage: psTableParse inputTable.data outputTable.dat columnNumbers.\n");33 printf("\n Usage: psTableParse inputTable.data outputTable.dat <Sections>.\n"); 29 34 printf(" i.e. psTableParse finals.data finals.dat 1 3 4 8\n"); 35 printf("\n Sections:\n 1)MJD Date 2)X (Bull A) 3)Y (Bull A)"); 36 printf("\n 4)X (Bull B) 5)Y (Bull B) 6)dX (Bull A)"); 37 printf("\n 7)dY (Bull A) 8)dX (Bull B) 9)dY (Bull B)"); 38 printf("\n 10)UT1-UTC (Bull A) 11)UT1-UTC (Bull B)\n"); 30 39 return 0; 31 40 } 32 33 FILE *output;34 FILE *input;35 41 input = fopen(argv[1], "r"); 36 42 output = fopen(argv[2], "w"); 37 // char data;38 43 char data2[200]; 44 printHeader(argv[1]); 45 fprintf(output, "# "); 46 for (int i = 3; i < argc; i++) { 47 if(!strncmp(argv[i], "1", 2)) { 48 fprintf(output, "MJD "); 49 } 50 if(!strncmp(argv[i], "2", 2)) { 51 fprintf(output, " X (A) "); 52 } 53 if(!strncmp(argv[i], "3", 2)) { 54 fprintf(output, " Y (A) "); 55 } 56 if(!strncmp(argv[i], "4", 2)) { 57 fprintf(output, " X (B) "); 58 } 59 if(!strncmp(argv[i], "5", 2)) { 60 fprintf(output, " Y (B) "); 61 } 62 if(!strncmp(argv[i], "6", 2)) { 63 fprintf(output, " dX (A) "); 64 } 65 if(!strncmp(argv[i], "7", 2)) { 66 fprintf(output, " dY (A) "); 67 } 68 if(!strncmp(argv[i], "8", 2)) { 69 fprintf(output, " dX (B) "); 70 } 71 if(!strncmp(argv[i], "9", 2)) { 72 fprintf(output, " dY (B) "); 73 } 74 if(!strncmp(argv[i], "10", 2)) { 75 fprintf(output, "UT1-UTC (A) "); 76 } 77 if(!strncmp(argv[i], "11", 2)) { 78 fprintf(output, "UT1-UTC (B) "); 79 } 80 } 81 fprintf(output, "\n#\n#\n"); 39 82 int i; 40 83 while ( fscanf(input, "%188c", data2) != EOF) { 41 for (i = 7; i <= 14; i++) { 42 fprintf(output, "%c", data2[i]); 43 } 44 fprintf(output, " "); 45 for (i = 97; i <= 105; i++) { 46 if (data2[102] == ' ') { 47 fprintf(output, " 0.000 "); 48 i = 106; 49 } else { 50 fprintf(output, "%c", data2[i]); 51 } 52 } 53 fprintf(output, " "); 54 for (i = 116; i <= 124; i++) { 55 if (data2[121] == ' ') { 56 fprintf(output, " 0.000"); 57 i = 125; 58 } else { 59 fprintf(output, "%c", data2[i]); 60 } 61 } 62 fprintf(output, " "); 63 for (i = 165; i <= 174; i++) { 64 if (data2[170] == ' ') { 65 fprintf(output, " 0.000 "); 66 i = 175; 67 } else { 68 fprintf(output, "%c", data2[i]); 69 } 70 } 71 fprintf(output, " "); 72 for (i = 175; i <= 184; i++) { 73 if (data2[180] == ' ') { 74 fprintf(output, " 0.000 "); 75 i = 185; 76 } else { 77 fprintf(output, "%c", data2[i]); 78 } 79 } 80 81 84 85 for(int j = 3; j < argc; j++) { 86 if(!strncmp(argv[j], "1", 2) ) { 87 for (i = 7; i <= 14; i++) { 88 fprintf(output, "%c", data2[i]); 89 } 90 } 91 if(!strncmp(argv[j], "2", 2) ) { 92 if (data2[23] == ' ') { 93 fprintf(output, " 0.000 "); 94 } else { 95 for (i = 18; i <= 26; i++) { 96 if (i == 18 && data2[i+1] == '-' && data2[i+2] == '.') { 97 fprintf(output, "-0."); 98 i = 21; 99 } 100 if (i == 19) { 101 if (data2[i] == ' ' && data2[i+1] == '.') { 102 fprintf(output, "0"); 103 i++; 104 } 105 } 106 fprintf(output, "%c", data2[i]); 107 } 108 } 109 } 110 if(!strncmp(argv[j], "3", 2) ) { 111 if (data2[42] == ' ') { 112 fprintf(output, " 0.000 "); 113 } else { 114 for (i = 37; i <= 45; i++) { 115 if (i == 37 && data2[i+1] == '-' && data2[i+2] == '.') { 116 fprintf(output, "-0."); 117 i = 40; 118 } 119 if (i == 38) { 120 if (data2[i] == ' ' && data2[i+1] == '.') { 121 fprintf(output, "0"); 122 i++; 123 } 124 } 125 fprintf(output, "%c", data2[i]); 126 } 127 } 128 } 129 if(!strncmp(argv[j], "4", 2) ) { 130 if (data2[139] == ' ') { 131 fprintf(output, " 0.000 "); 132 // i = 144; 133 } else { 134 for (i = 134; i <= 143; i++) { 135 if (i == 135 && data2[i+1] == '-' && data2[i+2] == '.') { 136 fprintf(output, "-0."); 137 i = 138; 138 } 139 if (i == 136) { 140 if (data2[i] == ' ' && data2[i+1] == '.') { 141 fprintf(output, "0"); 142 i++; 143 } 144 } 145 fprintf(output, "%c", data2[i]); 146 } 147 } 148 } 149 if(!strncmp(argv[j], "5", 2) ) { 150 if (data2[149] == ' ') { 151 fprintf(output, " 0.000 "); 152 } else { 153 for (i = 144; i <= 153; i++) { 154 if (i == 145 && data2[i+1] == '-' && data2[i+2] == '.') { 155 fprintf(output, "-0."); 156 i = 148; 157 } 158 if (i == 146) { 159 if (data2[i] == ' ' && data2[i+1] == '.') { 160 fprintf(output, "0"); 161 i++; 162 } 163 } 164 fprintf(output, "%c", data2[i]); 165 } 166 } 167 } 168 if(!strncmp(argv[j], "6", 2) ) { 169 if (data2[102] == ' ') { 170 fprintf(output, " 0.000 "); 171 } else { 172 for (i = 97; i <= 105; i++) { 173 fprintf(output, "%c", data2[i]); 174 } 175 } 176 } 177 if(!strncmp(argv[j], "7", 2) ) { 178 if (data2[121] == ' ') { 179 fprintf(output, " 0.000 "); 180 } else { 181 for (i = 116; i <= 124; i++) { 182 fprintf(output, "%c", data2[i]); 183 } 184 } 185 } 186 if(!strncmp(argv[j], "8", 2) ) { 187 if (data2[170] == ' ') { 188 fprintf(output, " 0.000 "); 189 } else { 190 for (i = 165; i <= 174; i++) { 191 fprintf(output, "%c", data2[i]); 192 } 193 } 194 } 195 if(!strncmp(argv[j], "9", 2) ) { 196 if (data2[180] == ' ') { 197 fprintf(output, " 0.000 "); 198 } else { 199 for (i = 175; i <= 184; i++) { 200 fprintf(output, "%c", data2[i]); 201 } 202 } 203 } 204 if(!strncmp(argv[j], "10", 2) ) { 205 if (data2[63] == ' ') { 206 fprintf(output, " 0.000 "); 207 } else { 208 for (i = 58; i <= 67; i++) { 209 if (i == 58 && data2[i+1] == '-' && data2[i+2] == '.') { 210 fprintf(output, "-0."); 211 i = 61; 212 } 213 if (i == 59) { 214 if (data2[i] == ' ' && data2[i+1] == '.') { 215 fprintf(output, "0"); 216 i++; 217 } 218 } 219 fprintf(output, "%c", data2[i]); 220 } 221 } 222 } 223 if(!strncmp(argv[j], "11", 2) ) { 224 if (data2[159] == ' ') { 225 fprintf(output, " 0.000 "); 226 } else { 227 for (i = 154; i <= 164; i++) { 228 if (i == 155 && data2[i+1] == '-' && data2[i+2] == '.') { 229 fprintf(output, "-0."); 230 i = 158; 231 } 232 if (i == 156) { 233 if (data2[i] == ' ' && data2[i+1] == '.') { 234 fprintf(output, "0"); 235 i++; 236 } 237 } 238 fprintf(output, "%c", data2[i]); 239 } 240 } 241 } 242 fprintf(output, " "); 243 } 82 244 fprintf(output, "\n"); 83 245 } … … 88 250 } 89 251 252 void printHeader(char *filename) 253 { 254 if (output == NULL) { 255 printf("\n Unable to access output file. Output is NULL.\n"); 256 } else { 257 fprintf(output, "#\n# Stripped version of %s file\n#\n#\n", filename); 258 } 259 } 260
Note:
See TracChangeset
for help on using the changeset viewer.
