Annotation of researchv10no/cmd/sky/stars.c, revision 1.1.1.1

1.1       root        1: #include "sky.h"
                      2: #include <stdio.h>
                      3: 
                      4: stars()
                      5: {
                      6:        char starname[13];
                      7:        register i;
                      8:        double temp1;
                      9:        FILE *f;
                     10: 
                     11:        starname[12] = 0;
                     12:        object = starname;
                     13: 
                     14: 
                     15: /*
                     16:  *     read epoch of star table
                     17:  *     and convert to internal format
                     18:  *     epoch 1900.0 is J.D. 2415020.313
                     19:  */
                     20: 
                     21:        f = fopen(startab, "r");
                     22:        if(f == NULL) {
                     23:                printf("%s?\n", startab);
                     24:                return;
                     25:        }
                     26:        rline(f);
                     27:        epoch = atof(line);
                     28:        epoch = (epoch-1900.0) * 365.2422 + 0.313;
                     29: 
                     30: /*
                     31:  *     read mean places of stars at epoch of star table
                     32:  */
                     33: 
                     34: loop:
                     35:        if(rline(f)) {
                     36:                fclose(f);
                     37:                return;
                     38:        }
                     39:        for(i=0;i<12;i++){
                     40:                starname[i] = line[i];
                     41:        }
                     42:        agc = (long)atof(line+12);
                     43:        rah = atof(line+17);
                     44:        ram = atof(line+20);
                     45:        ras = atof(line+23);
                     46:        da = atof(line+30);
                     47:        dday = atof(line+37);
                     48:        dmin = atof(line+41);
                     49:        dsec = atof(line+44);
                     50:        dd = atof(line+50);
                     51:        px = atof(line+57);
                     52:        mag = atof(line+64);
                     53:        const = (int)atof(line+70);
                     54: 
                     55: /*
                     56:  *     convert rt ascension and declination to internal format
                     57:  */
                     58: 
                     59:        alpha = rah + ram/60. + ras/3600.;
                     60: 
                     61: 
                     62:        delta = fabs(dday) + dmin/60. + dsec/3600.;
                     63:        if(dday < 0.)
                     64:                delta = -delta;
                     65:        alpha *= 15.*radian;
                     66:        delta *= radian;
                     67: 
                     68:        star();
                     69:        output();
                     70: /*
                     71:  *     Check for occultation.
                     72:  */
                     73: 
                     74:        if(!((flags&GEO)||(flags&HELIO))){
                     75:                temp1 = sin(decl2)*sin(moonde) + cos(decl2)*cos(moonde)*cos(ra-moonra);
                     76:                temp1 = atan2(sqrt(1.-temp1*temp1),temp1)/radsec;
                     77:                temp1 = temp1/moonsd;
                     78:                if(temp1 <= 1.0){
                     79:                        printf("Occultation: Dist. = %.4f\n", temp1);
                     80:                }else if(temp1 <= 1.2){
                     81:                        printf("Near occultation: Dist. = %.4f\n", temp1);
                     82:                }
                     83:        }
                     84: 
                     85:        goto loop;
                     86: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.