Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit b3e2ec9

Browse files
committed
Area spectra
1 parent 974d6ed commit b3e2ec9

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

mikecore/DfsuBuilder.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -433,10 +433,10 @@ def SetupBuilder(self):
433433
elif self.__dfsuFileType == DfsuFileType.Dfsu3DSigmaZ:
434434
maxNumberOfLayers = DfsuUtil.FindMaxNumberOfLayers(DfsuUtil.FindTopLayerElements(self.__connectivity))
435435
dfsBuilder.AddCreateCustomBlock("MIKE_FM",np.array([ self.__x.size, len(self.__connectivity), 3, maxNumberOfLayers, self.__numberOfSigmaLayers ], np.int32))
436-
elif self.__dfsuFileType in (DfsuFileType.DfsuSpectral0D, DfsuFileType.DfsuSpectral1D, DfsuFileType.DfsuSpectral2D):
437-
# TODO should "nlayers" be 0, 1, 2 for point, line, area?
438-
nlayers = 1
439-
dfsBuilder.AddCreateCustomBlock("MIKE_FM",np.array([ self.__x.size, len(self.__connectivity), nlayers, 0, len(self.__frequencies), len(self.__directions)], np.int32))
436+
elif self.__dfsuFileType == DfsuFileType.DfsuSpectral1D:
437+
dfsBuilder.AddCreateCustomBlock("MIKE_FM",np.array([ self.__x.size, len(self.__connectivity), 1, 0, len(self.__frequencies), len(self.__directions)], np.int32))
438+
elif self.__dfsuFileType == DfsuFileType.DfsuSpectral2D:
439+
dfsBuilder.AddCreateCustomBlock("MIKE_FM",np.array([ self.__x.size, len(self.__connectivity), 2, 0, len(self.__frequencies), len(self.__directions)], np.int32))
440440
else:
441441
raise Exception()
442442

@@ -473,14 +473,20 @@ def SetupBuilder(self):
473473
# dfsItem.SetAxis(factory.CreateAxisDummy(len(self.__connectivity)))
474474
#else
475475
# Set axis to have meter unit (not necessary, just to make file exactly equal)
476-
# TODO adjust size of spatial axis for spectral data {n_nodes, n_elements} * n_freq * n_dir
477476
if self.__dfsuFileType == DfsuFileType.DfsuSpectral1D:
478477
size = self.__x.size
479478
if self.__frequencies is not None:
480479
size *= len(self.__frequencies)
481480
if self.__directions is not None:
482481
size *= len(self.__directions)
483482

483+
if self.__dfsuFileType == DfsuFileType.DfsuSpectral2D:
484+
size = len(self.__connectivity)
485+
if self.__frequencies is not None:
486+
size *= len(self.__frequencies)
487+
if self.__directions is not None:
488+
size *= len(self.__directions)
489+
484490
dfsItem.SetAxis(factory.CreateAxisEqD1(eumUnit.eumUmeter, size, 0, 1))
485491
else:
486492
dfsItem.SetAxis(factory.CreateAxisEqD1(eumUnit.eumUmeter, len(self.__connectivity), 0, 1))
@@ -550,7 +556,6 @@ def CreateDfsu(self, dfsBuilder, elementType, nodesPerElmt, connectivityArray):
550556
connectivityItem = dfsBuilder.AddCreateStaticItem("Connectivity", intCode, connectivityArray)
551557

552558
# Spectral
553-
554559
frequencyItem = dfsBuilder.AddCreateStaticItem("Frequency", eumQuantity(eumItem.eumIFrequency, eumUnit.eumUhertz), self.__frequencies) if self.__frequencies is not None else None
555560

556561
# TODO unit

0 commit comments

Comments
 (0)