def run(objFormSlc1,
        objFormSlc2,
        orbit1,
        orbit2,
        ellipsoid,
        averageHeight,
        peg,
        stdWriter,
        catalog=None,
        sceneid='NO_ID'):
    logger.info("Calculating Baseline: %s" % sceneid)

    # schPositions computed in orbit2sch
    # objFormSlc's  created during formSlc

    mocompPosition1 = objFormSlc1.getMocompPosition()
    mocompIndex1 = objFormSlc1.getMocompIndex()
    mocompPosition2 = objFormSlc2.getMocompPosition()
    mocompIndex2 = objFormSlc2.getMocompIndex()

    objMocompbaseline = stdproc.createMocompbaseline()

    objMocompbaseline.setMocompPosition1(mocompPosition1[posIndx])
    objMocompbaseline.setMocompPositionIndex1(mocompIndex1)
    objMocompbaseline.setMocompPosition2(mocompPosition2[posIndx])
    objMocompbaseline.setMocompPositionIndex2(mocompIndex2)

    objMocompbaseline.wireInputPort(name='masterOrbit', object=orbit1)
    objMocompbaseline.wireInputPort(name='slaveOrbit', object=orbit2)
    objMocompbaseline.wireInputPort(name='ellipsoid', object=ellipsoid)
    objMocompbaseline.wireInputPort(name='peg', object=peg)
    objMocompbaseline.setHeight(averageHeight)

    #set the tag used in the outfile. each message is precided by this tag
    #is the writer is not of "file" type the call has no effect
    objMocompbaseline.stdWriter = stdWriter.set_file_tags(
        "mocompbaseline", "log", "err", "out")

    objMocompbaseline.mocompbaseline()

    if catalog is not None:
        # Record the inputs and outputs
        isceobj.Catalog.recordInputsAndOutputs(
            catalog, objMocompbaseline, "runMocompbaseline.%s" % sceneid,
            logger, "runMocompbaseline.%s" % sceneid)

    return objMocompbaseline
def runMocompbaseline(self):
    logger.info("Calculating Baseline")
    ellipsoid = self._insar.getMasterFrame().getInstrument().getPlatform(
    ).getPlanet().get_elp()
    # schPositions computed in orbit2sch
    # objFormSlc's  created during formSlc

    h = self.insar.averageHeight
    objFormSlc1 = self.insar.formSLC1
    objFormSlc2 = self.insar.formSLC2
    mocompPosition1 = objFormSlc1.getMocompPosition()
    mocompIndex1 = objFormSlc1.getMocompIndex()
    mocompPosition2 = objFormSlc2.getMocompPosition()
    mocompIndex2 = objFormSlc2.getMocompIndex()

    objMocompbaseline = stdproc.createMocompbaseline()

    objMocompbaseline.setMocompPosition1(mocompPosition1[posIndx])
    objMocompbaseline.setMocompPositionIndex1(mocompIndex1)
    objMocompbaseline.setMocompPosition2(mocompPosition2[posIndx])
    objMocompbaseline.setMocompPositionIndex2(mocompIndex2)

    objMocompbaseline.wireInputPort(name='masterOrbit',
                                    object=self.insar.masterOrbit)
    objMocompbaseline.wireInputPort(name='slaveOrbit',
                                    object=self.insar.slaveOrbit)
    objMocompbaseline.wireInputPort(name='ellipsoid', object=ellipsoid)
    objMocompbaseline.wireInputPort(name='peg', object=self.insar.peg)
    objMocompbaseline.setHeight(h)

    #set the tag used in the outfile. each message is precided by this tag
    #is the writer is not of "file" type the call has no effect
    self._stdWriter.setFileTag("mocompbaseline", "log")
    self._stdWriter.setFileTag("mocompbaseline", "err")
    self._stdWriter.setFileTag("mocompbaseline", "out")
    objMocompbaseline.setStdWriter(self._stdWriter)

    objMocompbaseline.mocompbaseline()

    # Record the inputs and outputs
    from isceobj.Catalog import recordInputsAndOutputs
    recordInputsAndOutputs(self._insar.procDoc, objMocompbaseline,
                           "runMocompbaseline", logger, "runMocompbaseline")

    self.insar.mocompBaseline = objMocompbaseline
    return None