package edu.sc.seis.sod.tools;
import java.util.HashMap;
import java.util.Map;
import com.martiansoftware.jsap.FlaggedOption;
import com.martiansoftware.jsap.JSAP;
import com.martiansoftware.jsap.JSAPException;
import edu.sc.seis.sod.process.waveform.AbstractFileWriter;
import edu.sc.seis.sod.process.waveform.PrintlineSeismogramProcess;
import edu.sc.seis.sod.process.waveform.SacWriter;
public class find_seismograms extends CommandLineTool {
public find_seismograms(String[] args) throws JSAPException {
super(args);
requiresStdin = true;
}
protected boolean requiresAtLeastOneArg() {
return false;
}
protected void addParams() throws JSAPException {
super.addParams();
add(PhaseTimeParser.createParam("begin",
"-2ttp",
"Phase name and offset for the seismogram's begin"));
add(PhaseTimeParser.createParam("end",
"+5tts",
"Phase name and offset for the seismogram's end"));
add(createListOption("sites",
'l',
"sites",
"The codes of sites(location codes) to retrieve",
null,
new SiteCodeParser()));
add(createListOption("channels",
'c',
"channels",
"The codes of channels to retrieve",
"BH*"));
add(new FlaggedOption("seismogramFilename",
JSAP.STRING_PARSER,
AbstractFileWriter.DEFAULT_WORKING_DIR
+ SacWriter.DEFAULT_FILE_TEMPLATE,
false,
'f',
"filename",
"Filename template for seismograms"));
add(createListOption("mark-phases",
JSAP.NO_SHORTFLAG,
"mark-phases",
"Phase arrival times to record in the SAC t headers",
null,
new SetSACParser()));
Map shortcuts = new HashMap();
shortcuts.put("counter", PrintlineSeismogramProcess.DEFAULT_TEMPLATE);
add(OutputFormatParser.createParam(shortcuts, "counter"));
}
public static void main(String[] args) throws Exception {
CommandLineTool.run(new find_seismograms(args));
}
}