IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jan 12, 2006, 10:40:13 AM (21 years ago)
Author:
drobbin
Message:

Updated fxns in EOC. Updated/expanded TableParser.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psLib/psTableParse.c

    r5892 r5969  
    11/** @file  psTableParse.c
    22 *
    3  *  @brief Parses input data tables and outputs .dat files for specified format
     3 *  @brief Parses input data tables (finals2000A.data) and outputs files for specified format
    44 *
    55 *  @ingroup psTableParse
     
    77 *  @author Dave Robbins, MHPCC
    88 *
    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 $
    1111 *
    1212 *  Copyright 2005 Maui High Performance Computing Center, University of Hawaii
     
    1919#include <math.h>
    2020
     21static FILE *output = NULL;
     22static FILE *input = NULL;
     23
     24static void printHeader(char *filename);
     25
    2126int main(int argc, char *argv[])
    2227{
     
    2631    }
    2732    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");
    2934        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");
    3039        return 0;
    3140    }
    32 
    33     FILE *output;
    34     FILE *input;
    3541    input = fopen(argv[1], "r");
    3642    output = fopen(argv[2], "w");
    37     //    char data;
    3843    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");
    3982    int i;
    4083    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        }
    82244        fprintf(output, "\n");
    83245    }
     
    88250}
    89251
     252void 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.