Beispiel #1
0
    def ModifyDfs2ItemAxis(filename):

        file = DfsFileFactory.Dfs2FileOpenEdit(filename)

        axisEqD2 = (file.SpatialAxis)
        axisEqD2.X0 = 55
        axisEqD2.Dx = 905
        axisEqD2.Y0 = -55
        axisEqD2.Dy = 915

        file.Close()
Beispiel #2
0
    def ModifyDfs2ItemInfo(filename):

        # Open the file for editing
        file = DfsFileFactory.Dfs2FileOpenEdit(filename)

        # Original name is "Landuse" (7 characters), "GroundUse" is truncated to "GroundU"
        file.ItemInfo[0].Name = "GroundUse"
        # Provide a new quantity (updating the item and unit of the quantity directly does not work!)
        file.ItemInfo[0].Quantity = eumQuantity(eumItem.eumIAreaFraction,
                                                eumUnit.eumUPerCent)

        # done
        file.Close()
Beispiel #3
0
    def ModifyDfs2FileData(filename):

        # Open the file for editing
        file = DfsFileFactory.Dfs2FileOpenEdit(filename)

        # Load and modify data from the first item and timestep
        data2D = file.ReadItemTimeStepNext(reshape=True)
        data2D.Data[21, 61] = 7
        data2D.Data[21, 62] = 6
        data2D.Data[21, 63] = 5
        data2D.Data[21, 64] = 4
        data2D.Data[21, 65] = 3

        # Write modified data back
        file.WriteItemTimeStep(1, 0, data2D.Time, data2D.Data)

        # done
        file.Close()
Beispiel #4
0
    def ModifyDfs2Bathymetry(bathyFilename):

        # Open file
        dfs2 = DfsFileFactory.Dfs2FileOpenEdit(bathyFilename)

        # Second custom block (index 1) contains the M21_MISC values,
        # where the 4th (index 3) is the land value
        landValue = dfs2.FileInfo.CustomBlocks[1][3]

        # Read bathymetry data
        bathyData = dfs2.ReadItemTimeStepNext()

        # Modify bathymetry data
        for i in range(bathyData.Data.size):
            if (bathyData.Data[i] != landValue):
                bathyData.Data[i] -= 5.61

        # Write back bathymetry data
        dfs2.WriteItemTimeStep(1, 0, 0, bathyData.Data)
        dfs2.Close()