docs: def main (args):
    """Usage: create_sedml2 output-filename
    """
    if (len(args) != 2):
      print(main.__doc__)
      sys.exit(1);
  
    # create the document
    doc = libsedml.SedDocument();
    doc.setLevel(1);
    doc.setVersion(3);
  
    # create a data description
    
    ddesc = doc.createDataDescription()
    ddesc.setId('data1')
    ddesc.setName('Oscli Timecourse data')
    ddesc.setSource('foo.numl')
    
    # create data source 
    dsource = ddesc.createDataSource()
    dsource.setId('dataS1')
    
    # create slice 
    slice = dsource.createSlice()
    slice.setReference('SpeciesIds')
    slice.setValue('S1')
    
    # specify mapping
    timeDesc = libsedml.CompositeDescription()
    timeDesc.setIndexType('double')
    timeDesc.setId('time')
    timeDesc.setName('time')
    
    speciesDesc = timeDesc.createCompositeDescription()
    speciesDesc.setIndexType('string')
    speciesDesc.setId('SpeciesIds')
    speciesDesc.setName('SpeciesIds')
    
    concentrationDesc = speciesDesc.createAtomicDescription()
    concentrationDesc.setValueType("double")
    concentrationDesc.setName("Concentrations")
    
    dimDesc = ddesc.createDimensionDescription()
    dimDesc.append(timeDesc)
    
    # write the document
    libsedml.writeSedML(doc, args[1]);