IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Sep 24, 2016, 3:29:05 PM (10 years ago)
Author:
eugene
Message:

merging changes from trunk

Location:
branches/czw_branch/20160809
Files:
41 edited
9 copied

Legend:

Unmodified
Added
Removed
  • branches/czw_branch/20160809

  • branches/czw_branch/20160809/DataStoreServer/scripts/dsprodindex

    r26926 r39719  
    7575        #
    7676        # XXX: the spec doesn't say what should happen in this case.
    77         # Here we follow the conductor implementation and return the whole list.
    78         # This may not be the right thing to do. It might be better to throw an error
     77        # We used to follow the conductor implementation and return the whole list.
     78        # but that is definitely not the right thing to do in our context.
     79        # Exit with an error
     80        exit 404;
    7981    }
    8082}
  • branches/czw_branch/20160809/DataStoreServer/scripts/dsrootindex

    r17381 r39719  
    1414my $PS_EXIT_CONFIG_ERROR = 3;
    1515
     16# set this variable to redirect listings of the root datastore directory
     17# to the password protected php page on the postage stamp server web site.
     18# Since the data store is restricted by IP address now this is no longer necessary
     19my $redirect_root_to_pstamp = 0;
     20if ($redirect_root_to_pstamp) {
     21
     22        print '
     23        <html>
     24        <head>
     25        <meta HTTP-EQUIV="REFRESH" content="0; url=http://pstamp.ipp.ifa.hawaii.edu/dsroot.php">
     26        </head>
     27        </html>
     28        ';
     29
     30        exit 0;
     31}
     32
    1633my $dbh = getDBHandle();
    1734
    18 my $stmt = $dbh->prepare("SELECT * FROM dsProduct");
     35my $stmt = $dbh->prepare("SELECT * FROM dsProduct ORDER BY type");
    1936$stmt->execute();
    2037
     
    3653        $row->{type}, $row->{description};
    3754
     55    # XXX EAM : security by obfuscation
    3856    print $line;
    3957}
  • branches/czw_branch/20160809/DataStoreServer/web/cgi/dsgetindex

    r25366 r39719  
    2020my $PS_EXIT_CONFIG_ERROR = 3;
    2121my $PS_EXIT_DATA_ERROR = 5;
     22
     23my $redirect_root_to_pstamp = 0;
    2224
    2325my $uri = shift;
     
    132134            print @$stdout_buf;
    133135        }
     136        $error_code = 0 if !defined $error_code;
    134137    } else {
    135138        if (0 && $html_mode) {
     
    199202
    200203        # return link
    201         print a({-href=>"./index.txt"}, "Text Version");
     204        if (!$redirect_root_to_pstamp || $program ne "dsrootindex") {
     205            print a({-href=>"./index.txt"}, "Text Version");
     206        }
    202207
    203208        if ($#path >= 1) {
    204             print "&nbsp&nbsp&nbsp&nbsp\n";
    205 
    206             my $up = join('/', @path[0..$#path-1]);
    207             print a({-href=>".."}, "Up to $up");
    208 
     209            # including the up links in the data store display causes
     210            # wget -r to follow them up which makes a mess
     211            # Turn them off if the user agent looks like wget
     212            my $display_up_links = (lc($ENV{HTTP_USER_AGENT}) =~ /wget/) ? 0 : 1;
     213            if ($display_up_links) {
     214                print "&nbsp&nbsp&nbsp&nbsp\n";
     215                my $up = join('/', @path[0..$#path-1]);
     216                if ($redirect_root_to_pstamp and $program eq "dsprodindex") {
     217                    print a({-href=>"http://pstamp.ipp.ifa.hawaii.edu/dsroot.php"}, "Up to $up");
     218                } elsif ($program eq 'dsrootindex') {
     219                    # no up link in dsroot
     220                } else {
     221                    print a({-href=>".."}, "Up to $up");
     222                }
     223            }
    209224        }
    210225        print "</p>\n";
     
    244259    if ($nolink) {
    245260       print $toks[0];
    246     }
    247 
    248     else {
    249                 # assumes id is always first field
    250             my $wpath = "./$toks[0]";
    251 
    252             # if this is a file request, use a download cgi
    253             if ($wpath =~ /\.fits\s*$/) {
    254                 # This doesn't work through the proxy
    255                 # The /ds-cgi gets tried on alala
    256                 #    $wpath = '/ds-cgi/dsfits.cgi?'.substr($wpath, 4); # strip' /ds/'
     261    } else {
     262         # First column is link to an entity down one level in data store (product, fileset, file)
     263         # assumes id is always first field
     264         my $wpath = "./$toks[0]";
     265
     266         # if this is a file request, use a download cgi
     267         my $fits = 0;
     268         if ($wpath =~ /\.fits\s*$/) {
     269             # This doesn't work through the proxy
     270             # The /ds-cgi gets tried on alala
     271             #    $wpath = '/ds-cgi/dsfits.cgi?'.substr($wpath, 4); # strip' /ds/'
     272             $fits = 1;
     273         }
     274
     275        if ($fits) {
     276            print a({-href=>$wpath, -type=>'image/x-fits'}, $toks[0]);
     277        } else {
     278            print a({-href=>$wpath}, $toks[0]);
     279        }
     280
     281        if ($program eq 'dsrootindex') {
     282            # for root listing make most recent fileset a link as well unless there are no filesets
     283            my $fileset = $toks[1];
     284            $fileset =~ s/^\s+//;
     285            $fileset =~ s/\s+$//;
     286            if ($fileset ne 'none') {
     287                print "</$celltag>";
     288                print "<$celltag>";
     289                # drop the product from the list of tokens
     290                my $product = shift @toks;
     291                # elmiminate any whitesapace
     292                $product =~ s/^\s+//;
     293                $product =~ s/\s+$//;
     294                print a({-href=>"./$product/$fileset"}, $fileset);
    257295            }
    258 
    259         print a({-href=>$wpath, -type=>'image/x-fits'}, $toks[0]);
    260     }
     296        }
     297    }
     298    shift @toks;
    261299
    262300    print "</$celltag>";
    263301
    264     foreach my $val (@toks[1..$#toks]) {
     302    # foreach my $val (@toks[1..$#toks]) {
     303    foreach my $val (@toks) {
    265304                print "<$celltag>";
    266305                print $val;
  • branches/czw_branch/20160809/DataStoreServer/web/cgi/findsmf.pl

    r35241 r39719  
    3535
    3636# NOTE: We do not use the ipp configuration to simplify running from a CGI script
    37 my $dbname = "XXX";
    38 my $dbserver = "XXX";
    39 my $dbuser = "XXX";
    40 my $dbpassword = "XXX";
     37my $dbname = "gpc1";
     38my $dbserver = "scidbm";
     39my $dbuser = "ippuser";
     40my $dbpassword = "ippuser";
    4141
    4242
     
    7777        exit 2 if (!$resolved)
    7878    }
     79    # HERE IS THE OUTPUT FOR A SUCCESSFUL LOOKUP
    7980    print "$filename $resolved";
    8081} else {
  • branches/czw_branch/20160809/DataStoreServer/web/php/getsmf.php

    r35330 r39719  
    55// To just list use wget 'http://ippc17/ipp-misc/getsmf.php?exp_name=o5732g0036o&list=1'
    66
    7 // Only configuration variable here, the location of the cgi script to find smf files
    8 $command = "/data/ippc17.0/datastore/ds-cgi/findsmf.pl";
    9 
    10 $rvar_exp_name = "";
    11 $rvar_cam_id = "";
    12 $rvar_data_group = "";
    13 $rvar_list = 0;
    147
    158$error_string = "";
    169$debug = 0;
    17 
    18 # import_request_variables("g", "rvar_");
    1910
    2011$rvar_exp_name = getVar('exp_name');
     
    2415$rvar_data_group = getVar('data_group');
    2516$rvar_list = getVar('list');
     17
     18$command = "/data/ippc17.0/datastore/ds-cgi/findsmf.pl";
    2619
    2720# cam_id takes priority
     
    3831if ($command) {
    3932    if ($rvar_release) {
    40         $command .= " --release $release";
     33        if ($rvar_release == "3PI.GR1") {
     34            $rvar_release = "3PI.PV1";
     35        }
     36        $command .= " --release $rvar_release";
    4137    }
    4238    if ($rvar_data_group) {
     
    6965            }
    7066        } else {
    71             echo "unexpected output from $command: $output[0] $output[1]\n";
     67            echo "<br>unexpected output from $command: $output[0] $output[1]\n";
    7268        }
    7369    } else {
    7470        if ($debug) {
    75             echo "command failed $command_status\n";
     71            echo "<br>command failed $command_status\n";
    7672        }
    7773    }
     
    9288        readfile($pathname);
    9389    } else {
    94         echo "smf file name is $filename<br>\nfile is $pathname\n";
     90        echo "smf : $filename\n";
     91        # echo "path: $pathname\n";
    9592    }
    96 
    9793} else {
    9894    // XXX: Figure out how to stop wget from redirecting these error
  • branches/czw_branch/20160809/Nebulous-Server

    • Property svn:mergeinfo deleted
  • branches/czw_branch/20160809/Nebulous-Server/bin/neb-initdb

    r18386 r39719  
    1818
    1919my ($db, $dbhost, $dbuser, $dbpass);
    20 
    21 $db     = $ENV{'NEB_DB'} unless $db;
    22 $dbhost = $ENV{'NEB_DBHOST'} || 'localhost';
    23 $dbuser = $ENV{'NEB_USER'} unless $dbuser;
    24 $dbpass = $ENV{'NEB_PASS'} unless $dbpass;
     20my ($trap, $actually_do_it);
     21# Removed default options using environment variables because it's too dangerous.
    2522
    2623GetOptions(
     
    2926    'user=s'    => \$dbuser,
    3027    'pass=s'    => \$dbpass,
     28    'yes_i_know_what_im_doing'  => \$trap,
     29    'yes_i_know_what_im_doing_really=s' => \$actually_do_it,
    3130) || pod2usage( 2 );
    3231
    3332pod2usage( -msg => "Unknown option: @ARGV", -exitval => 2 ) if @ARGV;
    34 pod2usage( -msg => "Required options: --db --user --pass", -exitval => 2 )
    35     unless $db && $dbuser && $dbpass;
     33pod2usage( -msg => "Required options: --db --user --pass --host", -exitval => 2 )
     34    unless $db && $dbuser && $dbpass && $dbhost;
     35pod2usage( -msg => "Aborting due to mistake in options.  Check code.", -exitval => 2) if ($trap);
     36pod2usage( -msg => "Aborting due to mistake in options.  Check code.", -exitval => 2) unless (defined($actually_do_it));
     37if ($actually_do_it ne 'this_is_intentionally_difficult') {
     38    pod2usage( -msg => "Aborting due to mistake in options.  Check code.", -exitval => 2);
     39}
    3640
    3741my $dbh = DBI->connect(
     
    4852my $sql = Nebulous::Server::SQL->new();
    4953
    50 print "Dropping any existing tables...";
     54print "Not dropping any existing tables because that's dangerous...";
     55#
     56#foreach my $statement (@{ $sql->get_db_clear }) {
     57#    $dbh->do( $statement );
     58#}
    5159
    52 foreach my $statement (@{ $sql->get_db_clear }) {
    53     $dbh->do( $statement );
    54 }
    55 
    56 print " OK\nCreating new tables...";
     60print " OK!\nCreating new tables...";
    5761
    5862foreach my $statement (@{ $sql->get_db_schema }) {
    59     $dbh->do( $statement );
     63    eval {
     64        $dbh->do( $statement );
     65    };
     66    if ($@) {
     67        die "Error received: $@\n";
     68    }
    6069}
    6170
     
    7281=head1 SYNOPSIS
    7382
    74     neb-initdb [--db <database>] [--user <username>] [--pass <password>]
     83    neb-initdb [--db <database>] [--user <username>] [--pass <password>] [--host <dbhost>]
    7584
    7685=head1 DESCRIPTION
     
    7887This program initialize a database for use by L<Nebulous::Server> by creating
    7988the appropriate set of tables.  Any pre-existing tables with conflicting names
    80 are first removed.
     89are first removed.  This help file intentionally does not tell you how to make
     90the program actually work.
    8191
    8292=head1 OPTIONS
     
    8494=over 4
    8595
    86 =item * --db|-d <database>
     96=item * --db <database>
    8797
    8898Name of database (C<namespace>) to create tables in.
    8999
    90 Optional if the appropriate environment variable is set.
    91100
    92 =item * --user|-u <username>
     101=item * --user <username>
    93102
    94103Username to authenticate with.
    95104
    96 Optional if the appropriate environment variable is set.
    97105
    98 =item * --pass|-p <password>
     106=item * --pass <password>
    99107
    100108Password to authenticate with.
    101109
    102 Optional if the appropriate environment variable is set.
     110=item * --host <dbhost>
     111
     112Host to generate the database tables on.
    103113
    104114=back
     
    106116=head1 ENVIRONMENT
    107117
    108 These environment variables may be used in place of the specified command line
    109 options.  All command line option will override the corresponding environment
    110 value.
    111 
    112 =over 4
    113 
    114 =item * C<NEB_DB>
    115 
    116 Equivalent to --db|-d
    117 
    118 =item * C<NEB_USER>
    119 
    120 Equivalent to --user|-u
    121 
    122 =item * C<NEB_PASS>
    123 
    124 Equivalent to --pass|-p
    125 
    126 =back
    127 
    128 =head1 CREDITS
    129 
    130 Just me, myself, and I.
     118No environment variables interact with this program.
    131119
    132120=head1 SUPPORT
     
    134122Please contact the author directly via e-mail.
    135123
    136 =head1 AUTHOR
    137 
    138 Joshua Hoblitt <jhoblitt@cpan.org>
    139 
    140124=head1 COPYRIGHT
    141125
    142 Copyright (C) 2005-2007  Joshua Hoblitt.  All rights reserved.
     126Copyright (C) 2005-2016  IPP.  All rights reserved.
    143127
    144128This program is free software; you can redistribute it and/or modify it under
  • branches/czw_branch/20160809/Nebulous-Server/bin/neb-voladm

    r34800 r39719  
    6868        if (defined $allocate and $allocate !~ m/^[01]$/)
    6969        or (defined $available and $available !~ m/^[01]$/)
    70         or (defined $xattr and $xattr !~ m/^[0123]$/);
     70        or (defined $xattr and $xattr !~ m/^[01235]$/);
    7171}
    7272
  • branches/czw_branch/20160809/Nebulous-Server/bin/nebdiskd

    r35130 r39719  
    198198            # there may be multiple vol_ids per mountpoint but we only need to
    199199            # check each mountpoint once
    200             my $query = $dbh->prepare_cached("SELECT DISTINCT host, mountpoint FROM volume");
     200            my $query = $dbh->prepare_cached("SELECT DISTINCT host, mountpoint FROM volume WHERE xattr != 5");
    201201            $query->execute;
    202202            while (my $row = $query->fetchrow_hashref) {
  • branches/czw_branch/20160809/Ohana

  • branches/czw_branch/20160809/Ohana/src/delstar/Makefile

    r35758 r39719  
    3131$(SRC)/delete_duplicate_images.$(ARCH).o \
    3232$(SRC)/delete_duplicate_measures.$(ARCH).o \
     33$(SRC)/delete_measures_by_match.$(ARCH).o \
    3334$(SRC)/delete_fix_LAP.$(ARCH).o \
    3435$(SRC)/delete_fix_LAP_edges.$(ARCH).o \
     
    5657$(SRC)/delete_duplicate_images.$(ARCH).o \
    5758$(SRC)/delete_duplicate_measures.$(ARCH).o \
     59$(SRC)/delete_measures_by_match.$(ARCH).o \
    5860$(SRC)/delete_fix_LAP.$(ARCH).o \
    5961$(SRC)/delete_fix_LAP_edges.$(ARCH).o \
  • branches/czw_branch/20160809/Ohana/src/delstar/include/delstar.h

    r39717 r39719  
    9393
    9494int   SAVE_DUPLICATES;
     95int   SAVE_DELETES;
    9596int   SKIP_IMAGES;
    9697char *BACKUP_EXTNAME;
     
    104105
    105106int    MODE;
    106 enum {MODE_NONE, MODE_IMAGENAME, MODE_IMAGEFILE, MODE_TIME, MODE_ORPHAN, MODE_MISSED, MODE_PHOTCODES, MODE_DUP_IMAGES, MODE_DUP_MEASURES, MODE_FIX_LAP, MODE_FIX_LAP_STATS, MODE_FIX_LAP_EDGES, MODE_FIX_LAP_EDGES_DELETE};
     107enum {MODE_NONE, MODE_IMAGENAME, MODE_IMAGEFILE, MODE_TIME, MODE_ORPHAN, MODE_MISSED, MODE_PHOTCODES, MODE_DUP_IMAGES, MODE_DUP_MEASURES, MODE_DELETE_MEASURES_BY_MATCH, MODE_FIX_LAP, MODE_FIX_LAP_STATS, MODE_FIX_LAP_EDGES, MODE_FIX_LAP_EDGES_DELETE};
    107108
    108109char DateKeyword[64], DateMode[64], UTKeyword[64], MJDKeyword[64], JDKeyword[64];
     
    185186int ImageIDSave(char *filename, IndexArray *imageID);
    186187
     188int delete_measures_by_match ();
     189int delete_measures_by_match_parallel (SkyList *sky);
     190DeleteMeasureResult delete_measures_by_match_catalog (Catalog *catalog);
     191
    187192int delete_duplicate_measures ();
    188193int delete_duplicate_measures_parallel (SkyList *sky);
  • branches/czw_branch/20160809/Ohana/src/delstar/src/args.c

    r39717 r39719  
    1212  fprintf (stderr, "  delstar -dup-images : delete duplicate images (by externID)\n\n");
    1313  fprintf (stderr, "  delstar -dup-measures : delete duplicate measures (by imageID + detID)\n\n");
     14  fprintf (stderr, "  delstar -delete-measures-by-match : delete duplicate measures by imageID, photcode, time constratins\n\n");
    1415  fprintf (stderr, "  optional flags:\n");
    1516  fprintf (stderr, "  -v               : verbose mode\n");
     
    194195    SKIP_IMAGES = TRUE; // we do not need to load the images for -dup-measures
    195196  }
     197  if ((N = get_argument (argc, argv, "-delete-measures-by-match"))) {
     198    if (MODE != MODE_NONE) usage();
     199    MODE = MODE_DELETE_MEASURES_BY_MATCH;
     200    remove_argument (N, &argc, argv);
     201    SKIP_IMAGES = TRUE; // we do not need to load the images for -dup-measures
     202  }
    196203
    197204  DELETE_MIN_DET_ID = 0;
     
    222229    remove_argument (N, &argc, argv);
    223230  }
     231
    224232  BACKUP_EXTNAME = NULL;
    225233  if ((N = get_argument (argc, argv, "-backup-extname"))) {
     
    229237  }
    230238  if (!BACKUP_EXTNAME) BACKUP_EXTNAME = strcreate (".bck");
     239
     240  SAVE_DELETES = FALSE;
     241  if ((N = get_argument (argc, argv, "-save-deletes"))) {
     242    SAVE_DELETES = TRUE;
     243    remove_argument (N, &argc, argv);
     244  }
    231245
    232246  if ((N = get_argument (argc, argv, "-fix-LAP"))) {
  • branches/czw_branch/20160809/Ohana/src/delstar/src/delete_duplicate_measures.c

    r39717 r39719  
    373373  }
    374374   
    375 # if (0)
     375# if (1)
    376376  FILE *fsave = NULL;
    377377  if (SAVE_DUPLICATES) {
     
    408408    off_t N = measure[j].averef;
    409409    if (VERBOSE) fprintf (stderr, "0x%08x 0x%08x %8.4f %8.4f %5d\n", measure[j].imageID, measure[j].detID, average[N].R, average[N].D, measure[j].photcode);
    410 //  if (fsave) {
    411 //    fprintf (fsave, "0x%08x 0x%08x %8.4f %8.4f %5d\n", measure[j].imageID, measure[j].detID, average[N].R, average[N].D, measure[j].photcode);
    412 //  }
     410    if (fsave) {
     411      fprintf (fsave, "0x%08x 0x%08x %8.4f %8.4f %5d\n", measure[j].imageID, measure[j].detID, average[N].R, average[N].D, measure[j].photcode);
     412    }
    413413    if (isGPC1chip(measure[j].photcode)) {
    414414      result.NdelChip ++;
     
    426426  }
    427427 
    428   // if (fsave) fclose (fsave);
     428  if (fsave) fclose (fsave);
    429429
    430430  // set up the measure sequence lists
  • branches/czw_branch/20160809/Ohana/src/delstar/src/delstar.c

    r39579 r39719  
    2727    case MODE_DUP_MEASURES:
    2828      if (!delete_duplicate_measures ()) exit (1);
     29      delstar_args_free ();
     30      ohana_memcheck (TRUE);
     31      ohana_memdump (TRUE);
     32      exit (0);
     33      break;
     34    case MODE_DELETE_MEASURES_BY_MATCH:
     35      if (!delete_measures_by_match ()) exit (1);
    2936      delstar_args_free ();
    3037      ohana_memcheck (TRUE);
  • branches/czw_branch/20160809/Ohana/src/delstar/src/delstar_client.c

    r39579 r39719  
    3131      if (!delete_duplicate_measures ()) exit (1);
    3232      delstar_client_args_free ();
     33      ohana_memcheck (TRUE);
     34      ohana_memdump (TRUE);
     35      exit (0);
     36      break;
     37    case MODE_DELETE_MEASURES_BY_MATCH:
     38      if (!delete_measures_by_match ()) exit (1);
     39      delstar_args_free ();
    3340      ohana_memcheck (TRUE);
    3441      ohana_memdump (TRUE);
  • branches/czw_branch/20160809/Ohana/src/kapa2/src/Graphs.c

    r38986 r39719  
    2626    graph[0].axis[i].fMinor = 5.0;
    2727  }   
    28   graph[0].data.ticktextPad = NAN;
    2928
    30   graph[0].data.labelPadXm = NAN;
    31   graph[0].data.labelPadXp = NAN;
    32   graph[0].data.labelPadYm = NAN;
    33   graph[0].data.labelPadYp = NAN;
    34 
    35   graph[0].data.padXm = NAN;
    36   graph[0].data.padXp = NAN;
    37   graph[0].data.padYm = NAN;
    38   graph[0].data.padYp = NAN;
    39 
    40   graph[0].data.fLabelRangeXm = 1.0;
    41   graph[0].data.fLabelRangeXp = 1.0;
    42   graph[0].data.fLabelRangeYm = 1.0;
    43   graph[0].data.fLabelRangeYp = 1.0;
    44 
    45   graph[0].data.fMinorXm = 5.0;
    46   graph[0].data.fMinorXp = 5.0;
    47   graph[0].data.fMinorYm = 5.0;
    48   graph[0].data.fMinorYp = 5.0;
     29  KapaInitGraph (&graph[0].data);
    4930
    5031  for (i = 0; i < 8; i++) {
    5132    strcpy (graph[0].label[i].text, "");
    5233  }
    53 
    54   graph[0].data.xmin = 0.0;
    55   graph[0].data.xmax = 1.0;
    56   graph[0].data.ymin = 0.0;
    57   graph[0].data.ymax = 1.0;
    58 
    59   graph[0].data.style   = 2;            // points
    60   graph[0].data.ptype   = 2;            // + for points
    61   graph[0].data.ltype   = 0;            // solid line
    62   graph[0].data.etype   = 0;            // no error bars
    63   graph[0].data.ebar    = 0;            // no cross bar
    64   graph[0].data.color   = 0;            // black
    65   graph[0].data.lweight = 0.5;          // line weight of 0.5
    66   graph[0].data.size    = 1.0;          // point size of 1.0
    67 
    68   graph[0].data.flipeast = TRUE;        // +East  = -X by default
    69   graph[0].data.flipnorth = FALSE;      // +North = +Y by default
    70 
    71   InitCoords (&graph[0].data.coords, "DEC--LIN");
    72   strcpy (graph[0].data.axis, "2222");
    73   strcpy (graph[0].data.ticks, "2222");
    74   strcpy (graph[0].data.labels, "2222");
    7534
    7635  graph[0].Nobjects = 0;
  • branches/czw_branch/20160809/Ohana/src/libdvo/include/dvo.h

    r39637 r39719  
    921921float PhotFluxCatErr (Measure *measure, dvoMagClassType class);
    922922float PhotFluxAveErr (PhotCode *code, Average *average, SecFilt *secfilt, dvoMagClassType class, dvoMagSourceType source);
     923float PhotFluxSysErr (Measure *measure, Average *average, SecFilt *secfilt, dvoMagClassType class);
     924float PhotFluxRelErr (Measure *measure, Average *average, SecFilt *secfilt, dvoMagClassType class);
    923925
    924926float PhotXm (PhotCode *code, Average *average, SecFilt *secfilt);
  • branches/czw_branch/20160809/Ohana/src/libdvo/src/dbExtractMeasures.c

    r39633 r39719  
    228228              break;
    229229            case MAG_LEVEL_SYS:
     230              value.Flt = PhotFluxSysErr (measure, average, secfilt, field->magClass);
     231              break;
    230232            case MAG_LEVEL_REL:
     233              value.Flt = PhotFluxRelErr (measure, average, secfilt, field->magClass);
     234              break;
    231235            case MAG_LEVEL_CAL:
    232               // value.Flt = PhotFluxErr (measure, field->magClass); 
     236              // XXX not defined
    233237              break;
    234238            case MAG_LEVEL_AVE:
     239              value.Flt = PhotFluxAveErr (equiv, average, secfilt, field->magClass, field->magSource); 
     240              break;
    235241            case MAG_LEVEL_REF:
    236               // value.Flt = PhotFluxAveErr (equiv, average, secfilt, field->magClass, field->magSource); 
     242              // XXX not defined
    237243              break;
    238244            case MAG_LEVEL_NONE:
  • branches/czw_branch/20160809/Ohana/src/libdvo/src/dvo_photcode_ops.c

    r39633 r39719  
    15071507  }
    15081508  return (dFcat);
     1509}
     1510
     1511float PhotFluxSysErr (Measure *measure, Average *average, SecFilt *secfilt, dvoMagClassType class) {
     1512
     1513  int Np = photcodes[0].hashcode[measure[0].photcode];
     1514  if (Np == -1) return (NAN);
     1515  PhotCode *code = &photcodes[0].code[Np];
     1516
     1517  // measure.M has the static ZERO_POINT (25.0) applied, but not measure.Flux
     1518  float Mcal = code[0].K*(measure[0].airmass - 1.000) + SCALE*code[0].C;
     1519  float Moff = Mcal - ZERO_POINT + 8.9;
     1520  float Foff = 3630.8 * MagToFlux(Mcal);
     1521
     1522  // use dFlux if we can, but use dMag if we must:
     1523  // dFlux = Flux * dMag
     1524
     1525  float dFcat = NAN;
     1526  switch (class) {
     1527    case MAG_CLASS_PSF:
     1528      if (isnan (measure[0].dFluxPSF)) {
     1529        float Finst = MagToFlux(measure[0].M + Moff);
     1530        dFcat = measure[0].dM * Finst;
     1531      } else {
     1532        dFcat = measure[0].dFluxPSF * Foff;
     1533      }
     1534      break;
     1535    case MAG_CLASS_KRON:
     1536      if (isnan (measure[0].dFluxKron)) {
     1537        float Finst = MagToFlux(measure[0].Mkron + Moff);
     1538        dFcat = measure[0].dMkron * Finst;
     1539      } else {
     1540        dFcat = measure[0].dFluxKron * Foff;
     1541      }
     1542      break;
     1543    case MAG_CLASS_APER:
     1544      if (isnan (measure[0].dFluxAp)) {
     1545        float Finst = MagToFlux(measure[0].Map + Moff);
     1546        dFcat = measure[0].dMap * Finst;
     1547      } else {
     1548        dFcat = measure[0].dFluxAp * Foff;
     1549      }
     1550      break;
     1551    default:
     1552      break;
     1553  }
     1554
     1555  /* color correction */
     1556  float mc = PhotColorForCode (average, secfilt, NULL, code);
     1557  if (isnan(mc)) return (dFcat);
     1558  mc -= SCALE*code[0].dX;
     1559
     1560  double Mc = mc;
     1561  float Mcol = 0;
     1562  int i = 0;
     1563  for (i = 0; i < code[0].Nc; i++) {
     1564    Mcol += code[0].X[i]*Mc;
     1565    Mc *= mc;
     1566  }
     1567  float Fcol = MagToFlux (Mcol);
     1568
     1569  float dFsys = dFcat * Fcol;
     1570
     1571  return (dFsys);
     1572}
     1573
     1574float PhotFluxRelErr (Measure *measure, Average *average, SecFilt *secfilt, dvoMagClassType class) {
     1575
     1576  int Np = photcodes[0].hashcode[measure[0].photcode];
     1577  if (Np == -1) return (NAN);
     1578  PhotCode *code = &photcodes[0].code[Np];
     1579
     1580  // measure.M has the static ZERO_POINT (25.0) applied, but not measure.Flux
     1581  float Mflat = isfinite(measure[0].Mflat) ? measure[0].Mflat : 0.0;
     1582  float Mcal = code[0].K*(measure[0].airmass - 1.000) + SCALE*code[0].C - measure[0].Mcal - Mflat;
     1583  float Moff = Mcal - ZERO_POINT + 8.9;
     1584  float Foff = 3630.8 * MagToFlux(Mcal);
     1585
     1586  // use dFlux if we can, but use dMag if we must:
     1587  // dFlux = Flux * dMag
     1588
     1589  float dFcat = NAN;
     1590  switch (class) {
     1591    case MAG_CLASS_PSF:
     1592      if (isnan (measure[0].dFluxPSF)) {
     1593        float Finst = MagToFlux(measure[0].M + Moff);
     1594        dFcat = measure[0].dM * Finst;
     1595      } else {
     1596        dFcat = measure[0].dFluxPSF * Foff;
     1597      }
     1598      break;
     1599    case MAG_CLASS_KRON:
     1600      if (isnan (measure[0].dFluxKron)) {
     1601        float Finst = MagToFlux(measure[0].Mkron + Moff);
     1602        dFcat = measure[0].dMkron * Finst;
     1603      } else {
     1604        dFcat = measure[0].dFluxKron * Foff;
     1605      }
     1606      break;
     1607    case MAG_CLASS_APER:
     1608      if (isnan (measure[0].dFluxAp)) {
     1609        float Finst = MagToFlux(measure[0].Map + Moff);
     1610        dFcat = measure[0].dMap * Finst;
     1611      } else {
     1612        dFcat = measure[0].dFluxAp * Foff;
     1613      }
     1614      break;
     1615    default:
     1616      break;
     1617  }
     1618
     1619  /* color correction */
     1620  float mc = PhotColorForCode (average, secfilt, NULL, code);
     1621  if (isnan(mc)) return (dFcat);
     1622  mc -= SCALE*code[0].dX;
     1623
     1624  double Mc = mc;
     1625  float Mcol = 0;
     1626  int i = 0;
     1627  for (i = 0; i < code[0].Nc; i++) {
     1628    Mcol += code[0].X[i]*Mc;
     1629    Mc *= mc;
     1630  }
     1631  float Fcol = MagToFlux (Mcol);
     1632
     1633  float dFrel = dFcat * Fcol;
     1634
     1635  return (dFrel);
    15091636}
    15101637
  • branches/czw_branch/20160809/Ohana/src/libkapa/src/KapaWindow.c

    r38986 r39719  
    9393  graphdata[0].xmin = graphdata[0].ymin = 0.0;
    9494  graphdata[0].xmax = graphdata[0].ymax = 1.0;
    95   graphdata[0].style = graphdata[0].ptype = 0;
     95
     96  graphdata[0].style = graphdata[0].ptype = 2;
    9697  graphdata[0].ltype = graphdata[0].color = 0;
    9798  graphdata[0].etype = graphdata[0].ebar = 0;
     
    117118  graphdata[0].padYm = NAN;
    118119  graphdata[0].padYp = NAN;
     120
     121  graphdata[0].fLabelRangeXm = 1.0;
     122  graphdata[0].fLabelRangeXp = 1.0;
     123  graphdata[0].fLabelRangeYm = 1.0;
     124  graphdata[0].fLabelRangeYp = 1.0;
     125
     126  graphdata[0].fMinorXm = 5.0;
     127  graphdata[0].fMinorXp = 5.0;
     128  graphdata[0].fMinorYm = 5.0;
     129  graphdata[0].fMinorYp = 5.0;
    119130
    120131  return (TRUE);
  • branches/czw_branch/20160809/Ohana/src/relastro/Makefile

    r39619 r39719  
    2626RELASTRO = \
    2727$(SRC)/CheckMeasureToImage.$(ARCH).o \
     28$(SRC)/RepairObjectIDs.$(ARCH).o \
     29$(SRC)/RepairStacks.$(ARCH).o \
    2830$(SRC)/RepairStackMeasures.$(ARCH).o \
    2931$(SRC)/StackImageMaps.$(ARCH).o \
     
    114116RELASTRO_CLIENT = \
    115117$(SRC)/CheckMeasureToImage.$(ARCH).o \
     118$(SRC)/RepairObjectIDs.$(ARCH).o \
     119$(SRC)/RepairStacks.$(ARCH).o \
    116120$(SRC)/RepairStackMeasures.$(ARCH).o \
    117121$(SRC)/StackImageMaps.$(ARCH).o \
  • branches/czw_branch/20160809/Ohana/src/relastro/include/relastro.h

    r39619 r39719  
    3131typedef enum {FIT_NONE, FIT_AVERAGE, FIT_PM_ONLY, FIT_PAR_ONLY, FIT_PM_AND_PAR} FitMode;
    3232
    33 typedef enum {OP_NONE, OP_IMAGES, OP_HIGH_SPEED, OP_MERGE_SOURCE, OP_UPDATE_OBJECTS, OP_UPDATE_OFFSETS, OP_LOAD_OBJECTS, OP_HPM, OP_PARALLEL_REGIONS, OP_PARALLEL_IMAGES, OP_REPAIR_WARPS} RelastroOp;
     33typedef enum {OP_NONE, OP_IMAGES, OP_HIGH_SPEED, OP_MERGE_SOURCE, OP_UPDATE_OBJECTS, OP_UPDATE_OFFSETS, OP_LOAD_OBJECTS, OP_HPM, OP_PARALLEL_REGIONS, OP_PARALLEL_IMAGES, OP_REPAIR_STACKS, OP_REPAIR_WARPS, OP_REPAIR_OBJECT_ID} RelastroOp;
    3434
    3535typedef enum {TARGET_NONE, TARGET_SIMPLE, TARGET_CHIPS, TARGET_MOSAICS} FitTarget;
     
    864864uint64_t CreatePSPSDetectionID(double tobs, int ccdid, int detID);
    865865
     866int RepairStacks (SkyList *skylist, int hostID, char *hostpath);
     867
     868int RepairObjectIDs (SkyList *skylist, int hostID, char *hostpath);
     869
    866870void sort_by_ra (double *R, double *D, int *I, int *S, int N);
    867871void FreeStackGroups (void);
  • branches/czw_branch/20160809/Ohana/src/relastro/src

  • branches/czw_branch/20160809/Ohana/src/relastro/src/StackImageMaps.c

    r39619 r39719  
    8787  // we have the stack centers; find all stacks within 0.3 degrees of this point
    8888  Rstk = ohana_normalize_angle (Rstk);
    89   double dD = 0.3;
     89  double dD = 0.4;
    9090  double dR = dD / cos(RAD_DEG*Dstk);
    9191  double Rmin = Rstk - dR;
     
    9393  double Dmin = Dstk - dD;
    9494  double Dmax = Dstk + dD;
     95
     96  // for the north pole, just test the whole circle
     97  if (Dstk > 88) {
     98    Rmin = 0.0;
     99    Rmax = 360.0;
     100  }
    95101
    96102  double dPosMin = NAN;
  • branches/czw_branch/20160809/Ohana/src/relastro/src/UpdateObjectOffsets.c

    r39623 r39719  
    194194    if (USE_FIXED_PIXCOORDS) strextend (&command, "-D USE_FIXED_PIXCOORDS 1");
    195195
    196     if (REPAIR_STACKS)          strextend (&command, "-repair-stacks");
     196    if (REPAIR_STACKS)          strextend (&command, "-repair-stacks-on-update");
    197197    if (CHECK_MEASURE_TO_IMAGE) strextend (&command, "-check-measures");
    198198
     
    324324    if (ExcludeBogus)    strextend (&command, "-exclude-bogus %f", ExcludeBogusRadius);
    325325   
     326    if (USE_ALL_IMAGES)      strextend (&command, "-use-all-images");
    326327    if (USE_FIXED_PIXCOORDS) strextend (&command, "-D USE_FIXED_PIXCOORDS 1");
    327328
    328     if (REPAIR_STACKS)          strextend (&command, "-repair-stacks");
     329    if (REPAIR_STACKS)          strextend (&command, "-repair-stacks-on-update");
    329330    if (CHECK_MEASURE_TO_IMAGE) strextend (&command, "-check-measures");
    330331
  • branches/czw_branch/20160809/Ohana/src/relastro/src/args.c

    r39619 r39719  
    5353  }
    5454
     55  if ((N = get_argument (argc, argv, "-repair-stacks"))) {
     56    remove_argument (N, &argc, argv);
     57    RELASTRO_OP = OP_REPAIR_STACKS;
     58  }
     59  if ((N = get_argument (argc, argv, "-repair-object-id"))) {
     60    remove_argument (N, &argc, argv);
     61    RELASTRO_OP = OP_REPAIR_OBJECT_ID;
     62  }
     63
    5564  if ((N = get_argument (argc, argv, "-repair-warps"))) {
    5665    remove_argument (N, &argc, argv);
     
    5968
    6069  REPAIR_STACKS = FALSE;
    61   if ((N = get_argument (argc, argv, "-repair-stacks"))) {
     70  if ((N = get_argument (argc, argv, "-repair-stacks-on-update"))) {
    6271    remove_argument (N, &argc, argv);
    6372    REPAIR_STACKS = TRUE;
     
    691700  }
    692701
     702  if ((N = get_argument (argc, argv, "-repair-stacks"))) {
     703    remove_argument (N, &argc, argv);
     704    RELASTRO_OP = OP_REPAIR_STACKS;
     705  }
     706
     707  if ((N = get_argument (argc, argv, "-repair-object-id"))) {
     708    remove_argument (N, &argc, argv);
     709    RELASTRO_OP = OP_REPAIR_OBJECT_ID;
     710  }
     711
    693712  if ((N = get_argument (argc, argv, "-repair-warps"))) {
    694713    remove_argument (N, &argc, argv);
     
    697716
    698717  REPAIR_STACKS = FALSE;
    699   if ((N = get_argument (argc, argv, "-repair-stacks"))) {
     718  if ((N = get_argument (argc, argv, "-repair-stacks-on-update"))) {
    700719    remove_argument (N, &argc, argv);
    701720    REPAIR_STACKS = TRUE;
  • branches/czw_branch/20160809/Ohana/src/relastro/src/relastro.c

    r39619 r39719  
    104104    }
    105105
     106    case OP_REPAIR_STACKS: {
     107      FITS_DB db;
     108      if (!PARALLEL) {
     109     
     110        set_db (&db);
     111        gfits_db_init (&db);
     112
     113        /* lock and load the image db table */
     114        int status = dvo_image_lock (&db, ImageCat, 60.0, LCK_SOFT);
     115        if (!status) Shutdown ("ERROR: failure to lock image catalog %s", db.filename);
     116        if (db.dbstate == LCK_EMPTY) Shutdown ("ERROR: No images in catalog %s (1)", db.filename);
     117        if (!dvo_image_load (&db, VERBOSE, FALSE)) Shutdown ("can't read image catalog %s", db.filename);
     118        // the raw FITS data is freed by dvo_image_load, leaving only the Image structure data
     119
     120        /* load regions and images based on specified sky patch (default depth) */
     121        load_images (&db, skylist, FALSE, USE_ALL_IMAGES);
     122      }
     123
     124      // iterate over catalogs to make detection coordinates consistant
     125      RepairStacks (skylist, 0, NULL);
     126
     127      if (!PARALLEL) {
     128        freeImages (db.ftable.buffer);
     129        gfits_db_free (&db);
     130        freeMosaics ();
     131      }
     132
     133      relastro_free (sky, skylist);
     134      exit (0);
     135    }
     136
     137    case OP_REPAIR_OBJECT_ID: {
     138
     139      // iterate over catalogs to make detection coordinates consistant
     140      RepairObjectIDs (skylist, 0, NULL);
     141
     142      relastro_free (sky, skylist);
     143      exit (0);
     144    }
     145
    106146    case OP_HIGH_SPEED:
    107147      /* high-speed is a 2pt cross-correlation process for linking moving objects (high PM) */
  • branches/czw_branch/20160809/Ohana/src/relastro/src/relastro_client.c

    r39619 r39719  
    104104    }
    105105
     106    case OP_REPAIR_OBJECT_ID: {
     107
     108      // iterate over catalogs to make detection coordinates consistant
     109      RepairObjectIDs (skylist, HOST_ID, HOSTDIR);
     110
     111      relastro_free (sky, skylist);
     112      exit (0);
     113    }
     114
     115      // XXX loading the images is fairly costly -- see if we can do an image subset?
     116    case OP_REPAIR_STACKS: {
     117      FITS_DB db;
     118     
     119      set_db (&db);
     120      gfits_db_init (&db);
     121
     122      /* lock and load the image db table */
     123      int status = dvo_image_lock (&db, ImageCat, 60.0, LCK_SOFT);
     124      if (!status) Shutdown ("ERROR: failure to lock image catalog %s", db.filename);
     125      if (db.dbstate == LCK_EMPTY) Shutdown ("ERROR: No images in catalog %s (1)", db.filename);
     126      if (!dvo_image_load (&db, VERBOSE, FALSE)) Shutdown ("can't read image catalog %s", db.filename);
     127      // the raw FITS data is freed by dvo_image_load, leaving only the Image structure data
     128
     129      /* load regions and images based on specified sky patch (default depth) */
     130      load_images (&db, skylist, FALSE, USE_ALL_IMAGES);
     131
     132      RepairStacks (skylist, HOST_ID, HOSTDIR);
     133     
     134      freeImages (db.ftable.buffer);
     135      gfits_db_free (&db);
     136      freeMosaics ();
     137
     138      relastro_client_free (sky, skylist);
     139      break;
     140    }
     141
    106142      // XXX loading the images is fairly costly -- see if we can do an image subset?
    107143    case OP_REPAIR_WARPS: {
  • branches/czw_branch/20160809/ippToPsps/jython/fits.py

    r39303 r39719  
    55import shutil
    66import hashlib
     7import time
    78from subprocess import call, PIPE, Popen
    89
     
    2021    '''
    2122    def __init__(self, logger, config, originalPath):
    22 
    2323       # set class variables
    2424       self.originalPath = originalPath
     
    2727       self.header = None
    2828
     29       numtries = 0
     30       success = 0
     31       time_wait=30
     32       while (numtries < 5 and success == 0):
     33           numtries = numtries +1
     34           self.logger.infoPair("Attempting to read file, attempt #",str(numtries))
     35           if os.path.isfile(self.originalPath):
     36               success = 1
     37               self.logger.infoPair("success to read file", self.originalPath)
     38           else:  #if it fails, wait 30 seconds before looping
     39               time.sleep(time_wait)
     40               time_wait= 120 #(first time, wait 30 seconds)
     41
     42       if success == 0:
     43           self.logger.errorPair("Cannot read file", self.originalPath)
     44           return           
     45
    2946       # does this file even exist?
    30        if not os.path.isfile(self.originalPath):
    31            self.logger.errorPair("Cannot read file", self.originalPath)
    32            return
     47       #if not os.path.isfile(self.originalPath):
     48        #   self.logger.errorPair("Cannot read file", self.originalPath)
     49         #  return
     50
     51
    3352
    3453       # ok, we have a file, now copy it locally to save on NFS overhead
  • branches/czw_branch/20160809/ippToPsps/jython/objectbatch.py

    r39565 r39719  
    318318        sqlLine.group("decMeanErr",      "DEC_ERR")
    319319        sqlLine.group("posMeanChisq",    "CHISQ_POS")
    320         sqlLine.group("nStackObjectRows", "'0'") # XXX I need to add / define this in dvopsps
     320        sqlLine.group("nStackObjectRows", "'-999'") # XXX I need to add / define this in dvopsps # HAF set to -999 as required for pv3
    321321        sqlLine.group("nStackDetections", "'0'")
    322322        sqlLine.group("nDetections",      "'0'")
  • branches/czw_branch/20160809/ippconfig/Makefile.am

    r37415 r39719  
    2222        ssp \
    2323        uh8k \
    24         suprime
     24        suprime  \
     25        hsc
    2526
    2627install_files = \
  • branches/czw_branch/20160809/ippconfig/configure.ac

    r37418 r39719  
    3434  uh8k/Makefile
    3535  suprime/Makefile
     36  hsc/Makefile
    3637])
    3738AC_OUTPUT
  • branches/czw_branch/20160809/ippconfig/dvo.photcodes

    r39716 r39719  
    15511551  24110 HSC.y.110            dep  25.000  0.000 0.000     -     - 0.0000     0     5   0.000 0.000 0.000  0.000   0x0000 0x0000  0x0000 0x0000
    15521552  24111 HSC.y.111            dep  25.000  0.000 0.000     -     - 0.0000     0     5   0.000 0.000 0.000  0.000   0x0000 0x0000  0x0000 0x0000
     1553
  • branches/czw_branch/20160809/ippconfig/hsc/camera.config

    r39704 r39719  
    132132FILTER.ID       METADATA
    133133   g        STR   HSC-g
     134   r        MULTI
    134135   r        STR   HSC-r
     136   r        STR   HSC-r2
    135137   i        MULTI
    136138   i        STR   HSC-i
    137139   i        STR   HSC-i2
    138140   z        STR   HSC-z
     141   y        STR   HSC-Y
    139142END
    140143
  • branches/czw_branch/20160809/ippconfig/hsc/format_mef.config

    r39702 r39719  
    148148                CELL.BIASSEC.SOURCE     STR     VALUE
    149149                CELL.TRIMSEC.SOURCE     STR     VALUE
    150                 CELL.BIASSEC            STR     [512:536,50:4225]
     150                CELL.BIASSEC            STR     [521:536,50:4225]
    151151                CELL.TRIMSEC            STR     [9:520,50:4225]
    152152                CELL.GAIN.SOURCE        STR     HEADER
  • branches/czw_branch/20160809/ippconfig/recipes/nightly_science.config

    r39490 r39719  
    129129TARGETS METADATA
    130130  NAME         STR  QUB
    131   DISTRIBUTION STR  QUBtests
     131  DISTRIBUTION STR  NODIST
    132132  TESS         STR  RINGS.V3
    133133  OBSMODE      STR  QUB
     
    137137  REDUCTION STR QUB_DEFAULT
    138138  DIST           S16  15
    139   CHIP           S16  3
    140   WARP           S16  3
    141   DIFF           S16  3
     139  CHIP           S16  5
     140  WARP           S16  5
     141  DIFF           S16  5
    142142END
    143143TARGETS METADATA
     
    349349  ADDITIONAL_STACK_LABEL STR ecliptic.rp
    350350#  REDUCTION STR SSTF_4SIG
     351END
     352TARGETS METADATA
     353  NAME         STR FSS
     354  DISTRIBUTION STR SweetSpot
     355  TESS         STR RINGS.V3
     356  OBSMODE      STR FSS
     357  STACKABLE   BOOL FALSE
     358  DIFFABLE    BOOL FALSE
     359  OFFNIGHT_DIFFS BOOL FALSE
     360  REDUCTION STR SWEETSPOT
     361  CHIP      S16 5
     362  WARP      S16 5
     363  DIFF      S16 5
    351364END
    352365TARGETS METADATA
  • branches/czw_branch/20160809/ippconfig/tc3/Makefile.am

    r37414 r39719  
    77        format.config     \
    88        format_ps2.config \
     9        format_tc1.config \
    910        ppImage.config    \
    1011        ppMerge.config
  • branches/czw_branch/20160809/psconfig/tagsets/ipp-3.0.dist

    r38043 r39719  
    6666  YYYYY  ippScripts             ipp-2-9          -0
    6767  YYYYY  ippTasks               ipp-2-9          -0
    68   NNYYN  ippToPsps              ipp-2-9          -0
     68  YYYYY  ippToPsps              ipp-2-9          -0
    6969         
    7070  YYYYY  ippconfig              ipp-2-9          -0
  • branches/czw_branch/20160809/tools/heather/pv3slicer/slicebatch_ST.py

    r39571 r39719  
    4040image_data [:] = image_data_decfix
    4141   
    42 decmin = -55
     42decmin = -35
    4343xmin = decmin + 90
    4444#print "full total", np.nansum(image_data,dtype='double')
     
    6363        decmin = dec
    6464        sumtotal = sumtotal + sumcheck
    65         segsize = sumcheck/2.
     65        segsize = sumcheck/4.
    6666        jj =0
    6767        sumtotalra = 0
     
    8787                decccmin=imin-90
    8888                decccmax = i-90
    89                 PSPS = "PSPS_PV3_OB_ra"+str(360-armax)+"to"+str(360-armin)+"dec"+str(imin-90)+"to"+str(i-90)
    90                 PSPS2 = "PSPS_PV3_OB_SLICE_"+str(slicecnt)
     89                #PSPS = "PSPS_PV3_OB_ra"+str(360-armax)+"to"+str(360-armin)+"dec"+str(imin-90)+"to"+str(i-90)
     90                PSPS2 = "PSPS_PV3_ST_SLICE_"+str(slicecnt)
    9191               
    9292                print str(ramin).ljust(5), str(ramax).ljust(5),str(decccmin).ljust(5), str(decccmax).ljust(5),PSPS2,newsumcheckra, datamachines[dmcnt]
Note: See TracChangeset for help on using the changeset viewer.