脚本库

Demeter 批处理骨架

用 Bruce Ravel 的 Demeter Perl API 打开工程、归一化、导出。适合集群。

perldemeterprj

perl athena_batch.pl sample.prj

athena_batch.pl
#!/usr/bin/env perl
use Demeter;
use File::Basename qw(fileparse);

my $file = shift or die "usage: $0 project.prj\n";
my ($name, $dir) = fileparse($file, qr/\.prj$/);
my @groups = Demeter::Data->get_prj($file);

foreach my $d (@groups) {
  $d->po->e_norm(1);
  $d->po->e_flatten(1);
  $d->pre1(-150);
  $d->pre2(-30);
  $d->norm1(150);
  $d->norm2(800);
  $d->_update('post');
  my $out = "$dir$name_".$d->name.".nor";
  $d->save('xmu', $out);
  printf "%-24s  E0=%.2f  step=%.4f\n", $d->name, $d->bkg_e0, $d->bkg_step;
}