| 1 | < | #!/usr/bin/env python | 
| 1 | > | #!@PYTHON_EXECUTABLE@ | 
| 2 |  | """MD File Splitter | 
| 3 |  |  | 
| 4 |  | Splits MD file frames into seperate md files | 
| 17 |  | """ | 
| 18 |  |  | 
| 19 |  | __author__ = "Charles Vardeman (cvardema@nd.edu)" | 
| 20 | < | __version__ = "$Revision: 1.1 $" | 
| 21 | < | __date__ = "$Date: 2006-10-06 21:29:14 $" | 
| 20 | > | __version__ = "$Revision$" | 
| 21 | > | __date__ = "$Date$" | 
| 22 |  | __copyright__ = "Copyright (c) 2006 by the University of Notre Dame" | 
| 23 | < | __license__ = "OOPSE" | 
| 23 | > | __license__ = "OpenMD" | 
| 24 |  |  | 
| 25 |  | import sys | 
| 26 |  | import getopt | 
| 38 |  |  | 
| 39 |  | def splitFile(mdFileName,skipFrameNumber): | 
| 40 |  | mdFile = open(mdFileName, 'r') | 
| 41 | + |  | 
| 42 | + | (filepath, filename) = os.path.split(mdFileName) | 
| 43 |  |  | 
| 44 | < | outfilePrefix,ext = os.path.splitext(mdFileName) | 
| 44 | > | (outfilePrefix,ext)  = os.path.splitext(filename) | 
| 45 |  |  | 
| 46 |  |  | 
| 47 |  |  | 
| 48 |  | metaDataFrame = [] | 
| 49 |  | haveMetaData = 0 | 
| 50 |  | haveMetaDataEnd = 0 | 
| 51 | < | # Find OOPSE version info first | 
| 51 | > | # Find OpenMD version info first | 
| 52 |  | line = mdFile.readline() | 
| 53 |  | while 1: | 
| 54 | < | if '<OOPSE version=' in line: | 
| 55 | < | OOPSEversion = line | 
| 54 | > | if '<OOPSE version=' in line or '<OpenMD version=' in line: | 
| 55 | > | OpenMDversion = line | 
| 56 |  | break | 
| 57 |  | line = mdFile.readline() | 
| 58 |  |  | 
| 85 |  | foundFrames += 1 | 
| 86 |  | division,remainder=divmod(foundFrames,int(skipFrameNumber)) | 
| 87 |  | if (remainder == 0): | 
| 88 | < | outfilename = outfilePrefix + "_" +repr(foundFrames) + ext | 
| 88 | > | outfilename = outfilePrefix + "_" + "%04d" % foundFrames + ext | 
| 89 |  | outFile = open(outfilename,'w') | 
| 90 | + | outFile.write(OpenMDversion) | 
| 91 |  | for metaline in metaDataFrame: | 
| 92 |  | outFile.write(metaline) | 
| 93 |  | while not '</Snapshot>' in line: | 
| 94 |  | outFile.write(line) | 
| 95 |  | line = mdFile.readline() | 
| 96 |  | outFile.write(line) | 
| 97 | + | outFile.write("</OpenMD>") | 
| 98 |  | outFile.close() | 
| 99 |  | line = mdFile.readline() | 
| 100 |  | if not line: break | 
| 101 | < |  | 
| 101 | > |  | 
| 102 |  | mdFile.close() | 
| 103 |  |  | 
| 104 |  |  |