def test_UpdateCustomBlockDataTest(self):

        originalFilename = "testdata/OresundHD.dfs2"
        filename = "testdata/testtmp/test_copy_OresundHD_cb.dfs2"

        testUtil.copy_file(originalFilename, filename)

        # Check initial value
        dfsFile = DfsFileFactory.DfsGenericOpen(filename)
        fileInfo = dfsFile.FileInfo
        customBlock = fileInfo.CustomBlocks[0]
        assert_equal(10, customBlock.Values[3])
        dfsFile.Close()

        # Modify value
        dfsFile = DfsFileFactory.DfsGenericOpenEdit(filename)
        fileInfo = dfsFile.FileInfo
        customBlock = fileInfo.CustomBlocks[0]
        customBlock.Values[3] = 25
        dfsFile.Close()

        # Check new value
        dfsFile = DfsFileFactory.DfsGenericOpen(filename)
        fileInfo = dfsFile.FileInfo
        customBlock = fileInfo.CustomBlocks[0]
        assert_equal(25, customBlock.Values[3])
        dfsFile.Close()
Example #2
0
def test_iteminfo():
    dfs = DfsFileFactory.DfsGenericOpen("testdata/TemporalEqCal.dfs0")
    #iinfo1 = dfs.GetItemInfo(1)  # Note 1-based
    iinfo1 = dfs.ItemInfo[0]

    dfs.Close()
    assert iinfo1.Name == "WaterLevel item"
Example #3
0
def test_read_itemtimestepnext():

    dfs = DfsFileFactory.DfsGenericOpen("testdata/TemporalEqCal.dfs0")
    dfs.Reset()

    data = dfs.ReadItemTimeStepNext()

    dfs.Close()

    assert data.Data.shape == (1, )
    def test_ModifyEqCalTest(self):
        sourcefilename = "testdata/TemporalEqCal.dfs0"
        filename = "testdata/testtmp/test_temporal_modifyEqCal.dfs0"

        testUtil.copy_file(sourcefilename, filename)

        dfsFile = DfsFileFactory.DfsGenericOpen(filename)
        timeAxis = dfsFile.FileInfo.TimeAxis

        assert_equal(0, timeAxis.FirstTimeStepIndex)
        assert_equal(4, timeAxis.StartTimeOffset)
        assert_equal(eumUnit.eumUsec, timeAxis.TimeUnit)
        assert_equal(datetime.datetime(2010, 1, 4, 12, 34, 00),
                     timeAxis.StartDateTime)
        assert_equal(10, timeAxis.TimeStep)

        dfsFile.Close()

        # Update temporal axis
        dfsFile = DfsFileFactory.DfsGenericOpenEdit(filename)
        timeAxis = dfsFile.FileInfo.TimeAxis

        timeAxis.FirstTimeStepIndex = 3
        timeAxis.StartTimeOffset = 6
        timeAxis.StartDateTime = datetime.datetime(2009, 2, 2, 21, 43, 00)
        timeAxis.TimeUnit = eumUnit.eumUminute
        timeAxis.TimeStep = 1

        dfsFile.Close()

        # Load file from disc again, and check time axis
        dfsFile = DfsFileFactory.DfsGenericOpen(filename)
        timeAxis = dfsFile.FileInfo.TimeAxis

        assert_equal(3, timeAxis.FirstTimeStepIndex)
        assert_equal(6, timeAxis.StartTimeOffset)
        assert_equal(eumUnit.eumUminute, timeAxis.TimeUnit)
        assert_equal(datetime.datetime(2009, 2, 2, 21, 43, 00),
                     timeAxis.StartDateTime)
        assert_equal(1, timeAxis.TimeStep)

        dfsFile.Close()
Example #5
0
def test_read_itemtimestep():

    dfs = DfsFileFactory.DfsGenericOpen("testdata/TemporalEqCal.dfs0")
    dfs.Reset()

    for _ in range(2 * 5):
        data = dfs.ReadItemTimeStepNext()

    dfs.Close()

    assert data.Data[0] == 104
    def test_dfsu(self):
        dfsFile = DfsFileFactory.DfsGenericOpen("testdata/OresundHD.dfsu")

        assert_equal(1, len(dfsFile.FileInfo.CustomBlocks))

        customBlock = dfsFile.FileInfo.CustomBlocks[0]
        assert_equal(DfsSimpleType.Int, customBlock.SimpleType)
        assert_equal("MIKE_FM", customBlock.Name)
        assert_equal(5, len(customBlock.Values))
        assert_equal(2057, customBlock.Values[0])
        assert_equal(3636, customBlock.Values[1])
        assert_equal(2, customBlock.Values[2])
        assert_equal(0, customBlock.Values[3])
        assert_equal(0, customBlock.Values[4])

        dfsFile.Close()
    def test_dfs2(self):
        dfsFile = DfsFileFactory.DfsGenericOpen("testdata/OresundHD.dfs2")

        assert_equal(1, len(dfsFile.FileInfo.CustomBlocks))

        customBlock = dfsFile.FileInfo.CustomBlocks[0]
        assert_equal("M21_Misc", customBlock.Name)
        assert_equal(DfsSimpleType.Float, customBlock.SimpleType)
        assert_equal(7, len(customBlock.Values))
        assert_equal(327, customBlock.Values[0]
                     )  # Orientation - matching that in the projection info
        assert_allclose(0.2, customBlock.Values[1])  # Drying depth
        assert_equal(-900, customBlock.Values[2]
                     )  # -900 = contains geographic information (projection)
        assert_equal(10, customBlock.Values[3])
        # Land value
        assert_equal(0, customBlock.Values[4])
        assert_equal(0, customBlock.Values[5])
        assert_equal(0, customBlock.Values[6])

        dfsFile.Close()
Example #8
0
def test_timeaxis():
    dfs = DfsFileFactory.DfsGenericOpen("testdata/TemporalEqCal.dfs0")
    timeaxistype = dfs.FileInfo.TimeAxis.TimeAxisType
    dfs.Close()

    assert timeaxistype == TimeAxisType.CalendarEquidistant
Example #9
0
    def test_static_item(self):
        dfsFile = DfsFileFactory.DfsGenericOpen("testdata/OresundHD.dfsu")

        staticItems = []
        staticItemNumber = 1
        while (True):
            varstaticItem = dfsFile.ReadStaticItem(staticItemNumber)
            if (varstaticItem is None):
                break
            staticItems.append(varstaticItem)
            staticItemNumber += 1

        assert staticItems != None
        assert 9 == len(staticItems)

        # Check x-coord static item
        staticItem = staticItems[1]
        assert 2 == staticItem.ItemNumber
        assert 2057 == staticItem.ElementCount
        #assert 2057 == staticItem.UsedElementCount
        assert "X-coord" == staticItem.Name

        if (eumItem.eumIItemUndefined == staticItem.Quantity.Item):
            assert eumUnit.eumUUnitUndefined == staticItem.Quantity.Unit
        elif (eumItem.eumIGeographicalCoordinate == staticItem.Quantity.Item):
            assert eumUnit.eumUmeter == staticItem.Quantity.Unit
        else:
            assert "X coordinate axis item type mismatch" == ""

        if (staticItem.DataType != DfsSimpleType.Double
                and staticItem.DataType != DfsSimpleType.Float):
            assert "DataType of X static item mismatch" == ""

        #assert deleteValueFloat == staticItem.ReferenceCoordinateX
        #assert deleteValueFloat == staticItem.ReferenceCoordinateY
        #assert deleteValueFloat == staticItem.ReferenceCoordinateZ
        #assert deleteValueFloat == staticItem.OrientationAlpha
        #assert deleteValueFloat == staticItem.OrientationPhi
        #assert deleteValueFloat == staticItem.OrientationTheta

        # Check dummy spatial axis
        axis = staticItem.SpatialAxis
        assert SpaceAxisType.EqD1 == axis.AxisType
        assert 1 == axis.Dimension
        assert 2057 == axis.XCount
        assert 0 == axis.X0
        assert 1 == axis.Dx

        # Check data - first and last coordinate
        assert_allclose(359978.8, staticItem.Data[0])
        assert_allclose(338109.5, staticItem.Data[2056])

        #--------------------------------------
        # Check element type static item
        staticItem = staticItems[6]
        assert 7 == staticItem.ItemNumber
        assert 3636 == staticItem.ElementCount
        #assert 3636 == staticItem.UsedElementCount

        if (eumItem.eumIItemUndefined == staticItem.Quantity.Item):
            assert eumUnit.eumUUnitUndefined == staticItem.Quantity.Unit
        elif (eumItem.eumIIntegerCode == staticItem.Quantity.Item):
            assert eumUnit.eumUintCode == staticItem.Quantity.Unit
        else:
            raise Exception("Element Type coordinate axis item type mismatch")

        assert DfsSimpleType.Int == staticItem.DataType
        assert "Element type" == staticItem.Name

        # Check dummy spatial axis
        axis = staticItem.SpatialAxis
        assert SpaceAxisType.EqD1 == axis.AxisType
        assert 3636, axis.XCount

        # Check data - first and last elements
        assert 21 == staticItem.Data[0]
        assert 21 == staticItem.Data[3635]

        #--------------------------------------
        # Check connectivity static item
        staticItem = staticItems[8]
        assert 9 == staticItem.ItemNumber
        assert 3 * 3636 == staticItem.ElementCount
        #assert 3 * 3636 == staticItem.UsedElementCount

        if (eumItem.eumIItemUndefined == staticItem.Quantity.Item):
            assert eumUnit.eumUUnitUndefined == staticItem.Quantity.Unit
        elif (eumItem.eumIIntegerCode == staticItem.Quantity.Item):
            assert eumUnit.eumUintCode == staticItem.Quantity.Unit
        else:
            raise Exception("Connectivity coordinate axis item type mismatch")

        assert DfsSimpleType.Int == staticItem.DataType
        assert "Connectivity" == staticItem.Name

        #assert deleteValueFloat == staticItem.ReferenceCoordinateX
        #assert deleteValueFloat == staticItem.ReferenceCoordinateY
        #assert deleteValueFloat == staticItem.ReferenceCoordinateZ
        #assert deleteValueFloat == staticItem.OrientationAlpha
        #assert deleteValueFloat == staticItem.OrientationPhi
        #assert deleteValueFloat == staticItem.OrientationTheta

        # Check dummy spatial axis
        axis = staticItem.SpatialAxis
        assert SpaceAxisType.EqD1 == axis.AxisType
        assert 1 == axis.Dimension
        # TODO: Assert.AreEqual(eumUnit.eumUmeter, axis.AxisUnit
        assert 3 * 3636 == axis.XCount
        assert 0 == axis.X0
        assert 1 == axis.Dx

        # Check data - first and last element
        assert 1 == staticItem.Data[0]
        assert 2 == staticItem.Data[1]
        assert 3 == staticItem.Data[2]
        assert 1698 == staticItem.Data[10905]
        assert 1697 == staticItem.Data[10906]
        assert 2056 == staticItem.Data[10907]