- Timestamp:
- Oct 21, 2010, 2:45:13 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20100823/pstamp/scripts/detect_query_read
r28808 r29515 36 36 37 37 my $regtool = can_run('regtool') or (die "Can't find regtool"); 38 my $camtool = can_run('camtool') or (die "Can't find regtool"); 38 my $camtool = can_run('camtool') or (die "Can't find camtool"); 39 my $difftool = can_run('difftool') or (die "Can't find difftool"); 39 40 40 41 … … 164 165 } 165 166 elsif ($status == 219) { 166 @{ $colData{$col->{name}} } = map { "Not Set" } (0 .. $numRows - 1);167 @{ $colData{$col->{name}} } = map { "Not_Set" } (0 .. $numRows - 1); 167 168 $status = 0; 168 169 } … … 173 174 # Simple stuff first. 174 175 my %known_filters = (); 175 if ($colData{STAGE}[$i] eq "Not Set") {176 if ($colData{STAGE}[$i] eq "Not_Set") { 176 177 $colData{STAGE}[$i] = 'diff'; 177 178 } 178 if ($colData{OBSCODE}[$i] eq "Not Set") {179 if ($colData{OBSCODE}[$i] eq "Not_Set") { 179 180 $colData{OBSCODE}[$i] = 566; 180 181 } 181 182 # Define filter and MJD from FPA_ID 182 if (($colData{FILTER}[$i] eq "Not Set")&&($colData{FPA_ID}[$i] ne "NotSet")) {183 if (($colData{FILTER}[$i] eq "Not_Set")&&($colData{FPA_ID}[$i] ne "Not_Set")) { 183 184 if (exists($known_filters{$colData{FPA_ID}[$i]})) { 184 185 $colData{FILTER}[$i] = $known_filters{$colData{FPA_ID}[$i]}; … … 210 211 } 211 212 } 212 if (($colData{'MJD-OBS'}[$i] eq "Not Set")&&($colData{FPA_ID}[$i] ne "Not Set")) { 213 # Calculate a MJD 214 if (($colData{'MJD-OBS'}[$i] eq "Not_Set")&&($colData{FPA_ID}[$i] ne "Not_Set")) { 213 215 # HACK! 214 216 my $mjd = $colData{FPA_ID}[$i]; … … 217 219 $colData{'MJD-OBS'}[$i] = $mjd; 218 220 } 219 if (($colData{FPA_ID}[$i] eq "Not Set")&&(($colData{'FILTER'}[$i] ne "Not Set")&& 220 ($colData{'MJD-OBS'}[$i] ne "Not Set"))) { 221 # Calculate an exp_id 222 if (($colData{FPA_ID}[$i] eq "Not_Set")&&(($colData{'FILTER'}[$i] ne "Not_Set")&& 223 ($colData{'MJD-OBS'}[$i] ne "Not_Set"))) { 221 224 my $dateobs_begin = mjd_to_dateobs($colData{'MJD-OBS'}[$i]); 222 225 my $dateobs_end = mjd_to_dateobs($colData{'MJD-OBS'}[$i] + 1); … … 224 227 my $dec = $colData{'DEC1_DEG'}[$i]; 225 228 my $filter = $colData{'FILTER'}[$i] . ".00000"; 226 my $cmd = "$camtool -processedexp -dbname $dbname -filter $filter "; 227 $cmd .= " -dateobs_begin $dateobs_begin -dateobs_end $dateobs_end "; 228 $cmd .= " -ra $ra -decl $dec -radius 1.5 -limit 1"; 229 my $cmd; 230 if ($colData{STAGE}[$i] eq 'SSdiff') { 231 $cmd = "$difftool -listrun -dbname $dbname -filter $filter "; 232 $cmd .= " -dateobs_begin $dateobs_begin -dateobs_end $dateobs_end "; 233 $cmd .= " -ra $ra -decl $dec -radius 1.5 -limit 1 -diff_mode 4"; 234 } 235 elsif ($colData{STAGE}[$i] eq 'WSdiff') { 236 $cmd = "$difftool -listrun -dbname $dbname -filter $filter "; 237 $cmd .= " -dateobs_begin $dateobs_begin -dateobs_end $dateobs_end "; 238 $cmd .= " -ra $ra -decl $dec -radius 1.5 -limit 1 -diff_mode 2"; 239 } 240 elsif ($colData{STAGE}[$i] eq 'diff') { 241 $cmd = "$difftool -listrun -dbname $dbname -filter $filter "; 242 $cmd .= " -dateobs_begin $dateobs_begin -dateobs_end $dateobs_end "; 243 $cmd .= " -ra $ra -decl $dec -radius 1.5 -limit 1"; 244 } 245 else { 246 $cmd = "$camtool -processedexp -dbname $dbname -filter $filter "; 247 $cmd .= " -dateobs_begin $dateobs_begin -dateobs_end $dateobs_end "; 248 $cmd .= " -ra $ra -decl $dec -radius 1.5 -limit 1"; 249 } 229 250 my ( $success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) = 230 run(command => $cmd, verbose => 0);251 run(command => $cmd, verbose => 1); 231 252 unless ($success) { 232 253 # This is a problem, because I'm not sure how we handle a failure to read something. … … 243 264 my ($key,$type,$value) = @line; 244 265 # print "$entry => $key / $type / $value \n"; 245 if ($key =~ /exp_name/i) { 246 $colData{FPA_ID}[$i] = $value; 247 } 248 } 266 if ($colData{STAGE}[$i] =~ /diff/) { 267 if ($key =~ /diff_id/i) { 268 $colData{FPA_ID}[$i] = $value; 269 } 270 } 271 else { 272 if ($key =~ /exp_name/i) { 273 $colData{FPA_ID}[$i] = $value; 274 } 275 } 276 } 277 } 278 # Correct diff modes 279 if ($colData{STAGE}[$i] eq 'WSdiff') { 280 $colData{STAGE}[$i] = 'diff'; 281 } 282 elsif ($colData{STAGE}[$i] eq 'SSdiff') { 283 $colData{STAGE}[$i] = 'diff'; 249 284 } 250 285 }
Note:
See TracChangeset
for help on using the changeset viewer.
