def METHOD_NAME():  
    # test moduleFrameandOmegas. Requires metdata for boulder. 
    name = "_test_moduleFrameandOmegas"
    demo = bifacial_radiance.RadianceObj(name)
    #demo.setGround(0.2)
    zgap = 0.10
    loopaxisofRotation = [True, True, True, True, True, True, True, True]
    loopTorquetube = [True, True, True, True, False, False, False, False ]
    loopOmega = [omegaParams, omegaParams, None, None, omegaParams, omegaParams, None, None]
    loopFrame = [frameParams, None, frameParams, None, frameParams,  None, frameParams, None]
    expectedModuleZ = [3.179, 3.149, 3.179, 3.149, 3.129, 3.099, 3.129, 3.099]
    # test inverted=True on the first test
    loopOmega[0]['inverted'] = True
    sceneDict = {'tilt':0, 'pitch':3, 'clearance_height':3,'azimuth':90,
                 'nMods': 1, 'nRows': 1}
    for ii in range (0, len(loopOmega)):
        if loopTorquetube[ii] is False:
            diam = 0.0
        else:  diam = 0.1
        module = bifacial_radiance.ModuleObj(name='test-module',x=2, y=1, zgap = zgap,
                                             )
        module.addTorquetube(diameter=diam, axisofrotation=loopaxisofRotation[ii],
                             visible = loopTorquetube[ii]) 
        if loopFrame[ii]:
            module.addFrame(**loopFrame[ii])
        if loopOmega[ii]:
            module.addOmega(**loopOmega[ii])  #another way to add omega parameters
        scene = demo.makeScene(module,sceneDict)
        analysis = bifacial_radiance.AnalysisObj()  # return an analysis object including the scan dimensions for back irradiance
        frontscan, backscan = analysis.moduleAnalysis(scene, sensorsy=1) # Gives us the dictionaries with coordinates
        assert backscan['zstart'] == expectedModuleZ[ii]
        # read the data back from module.json and check again
        module = demo.makeModule(name='test-module')
        scene = demo.makeScene('test-module',sceneDict)
        analysis = bifacial_radiance.AnalysisObj()  # return an analysis object including the scan dimensions for back irradiance
        frontscan, backscan = analysis.moduleAnalysis(scene, sensorsy=1)
        assert backscan['zstart'] == expectedModuleZ[ii]
    # do it again by passing everying at once
    module = bifacial_radiance.ModuleObj(name='test-module',x=2, y=1, zgap = zgap,
                                          frameParams=frameParams, omegaParams=omegaParams,
                                          tubeParams={'diameter':0.1,
                                                      'axisofrotation':True})
    scene = demo.makeScene(module, sceneDict)
    analysis = bifacial_radiance.AnalysisObj()  # return an analysis object including the scan dimensions for back irradiance
    frontscan, backscan = analysis.moduleAnalysis(scene, sensorsy=1) # Gives us the dictionaries with coordinates
    assert backscan['zstart'] == expectedModuleZ[0]
    # omega default values
    module.addOmega()
    assert module.omega.x_omega1==0.003; assert module.omega.y_omega==0.5; assert module.omega.x_omega3==0.005; 
    module.addOmega(inverted=True)
    assert module.omega.x_omega1==0.005; assert module.omega.y_omega==0.5; assert module.omega.x_omega3==0.0015; 
    # test cellModulescan (sensorsy = numellsy)
    module.glass=True
    module.addCellModule(**cellParams)
    scene = demo.makeScene(module, sceneDict)
    analysis = bifacial_radiance.AnalysisObj()  # return an analysis object including the scan dimensions for back irradiance
    frontscan, backscan = analysis.moduleAnalysis(scene, sensorsy=10) # Gives us the dictionaries with coordinates
    assert backscan['xstart'] == pytest.approx(0.792