promotes=['*'])
        root.add('d_param%s' % i,
                 IndepVarComp('d_param%s' % i, d_param),
                 promotes=['*'])
        root.add('t_param%s' % i,
                 IndepVarComp('t_param%s' % i, t_param),
                 promotes=['*'])
        root.add('turbineH%s' % i,
                 IndepVarComp('turbineH%s' % i, float(turbineZ[i])),
                 promotes=['*'])
        root.add('rotorDiameter%s' % i,
                 IndepVarComp('rotorDiameter%s' % i, float(rotorDiameter[i])),
                 promotes=['*'])

    root.add('optCOE',
             optCOE(nGroups, nPoints, nFull, nTurbs, nDirections, nVertices,
                    minSpacing),
             promotes=['*'])

    print 'added'

    for i in range(nGroups):
        root.connect('rotorDiameter%s' % i, 'Rotor%s.rotorDiameter' % i)
        root.connect('ratedPower%s' % i, 'Rotor%s.turbineRating' % i)

        root.connect('rotorDiameter%s' % i,
                     'Myy_estimate%s.rotor_diameter' % i)
        root.connect('rotorDiameter%s' % i,
                     'bladeLengthComp%s.rotor_diameter' % i)
        root.connect('rotorDiameter%s' % i,
                     'freqConstraintGroup%s.diameter' % i)


    """OpenMDAO"""
    prob = Problem()
    root = prob.root = Group()

    # Design Variables
    for i in range(nGroups):
        root.add('ratedPower%s'%i, IndepVarComp('ratedPower%s'%i, float(ratedPower[i]), units='kW'), promotes=['*'])
        root.add('d_param%s'%i, IndepVarComp('d_param%s'%i, d_param), promotes=['*'])
        root.add('t_param%s'%i, IndepVarComp('t_param%s'%i, t_param), promotes=['*'])
        root.add('turbineH%s'%i, IndepVarComp('turbineH%s'%i, float(turbineZ[i])), promotes=['*'])
        root.add('rotorDiameter%s'%i, IndepVarComp('rotorDiameter%s'%i, float(rotorDiameter[i])), promotes=['*'])

    root.add('optCOE', optCOE(nGroups,nPoints,nFull,nTurbs,nDirections,nVertices,minSpacing),promotes=['*'])

    print 'added'

    for i in range(nGroups):
        root.connect('rotorDiameter%s'%i, 'Rotor%s.rotorDiameter'%i)
        root.connect('ratedPower%s'%i, 'Rotor%s.turbineRating'%i)

        root.connect('rotorDiameter%s'%i, 'Myy_estimate%s.rotor_diameter'%i)
        root.connect('rotorDiameter%s'%i,'bladeLengthComp%s.rotor_diameter'%i)
        root.connect('rotorDiameter%s'%i,'freqConstraintGroup%s.diameter'%i)

        root.connect('turbineH%s'%i, 'minHeight%s.height'%i)
        root.connect('rotorDiameter%s'%i, 'minHeight%s.diameter'%i)

    for i in range(nGroups):