simapy 4.6.1.dev2__py3-none-any.whl → 4.8.0.dev0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. simapy/sima/command/blueprints/exportblueprintcommand.py +1 -1
  2. simapy/sima/command/exportblueprintcommand.py +12 -12
  3. simapy/sima/environment/__init__.py +1 -1
  4. simapy/sima/environment/blueprints/esduwind.py +3 -2
  5. simapy/sima/environment/blueprints/{npdwind.py → iso199011wind.py} +3 -3
  6. simapy/sima/environment/blueprints/numericalwave.py +3 -1
  7. simapy/sima/environment/esduwind.py +26 -12
  8. simapy/sima/environment/{npdwind.py → iso199011wind.py} +4 -4
  9. simapy/sima/environment/numericalwave.py +27 -1
  10. simapy/sima/graph/__init__.py +2 -0
  11. simapy/sima/{report/blueprints/formula.py → graph/blueprints/nodeinputslot.py} +5 -6
  12. simapy/sima/graph/blueprints/nodeoutputslot.py +17 -0
  13. simapy/sima/{report/linkable.py → graph/nodeinputslot.py} +13 -13
  14. simapy/sima/{report/formula.py → graph/nodeoutputslot.py} +13 -26
  15. simapy/sima/metocean/blueprints/longtermstatisticscalculation.py +1 -1
  16. simapy/sima/metocean/longtermstatisticscalculation.py +2 -2
  17. simapy/sima/package_info.py +3 -1
  18. simapy/sima/post/__init__.py +2 -0
  19. simapy/sima/post/blueprints/distancelinetolinefilter.py +1 -1
  20. simapy/sima/post/blueprints/fileoutput.py +2 -1
  21. simapy/sima/post/blueprints/inputslot.py +2 -2
  22. simapy/sima/post/blueprints/outputslot.py +2 -2
  23. simapy/sima/post/blueprints/signalfiltersetup.py +22 -0
  24. simapy/sima/post/distancelinetolinefilter.py +2 -2
  25. simapy/sima/post/fileoutput.py +14 -1
  26. simapy/sima/post/filtering.py +21 -0
  27. simapy/sima/post/inputslot.py +2 -2
  28. simapy/sima/post/outputslot.py +2 -2
  29. simapy/sima/post/signalfiltersetup.py +134 -0
  30. simapy/sima/report/__init__.py +0 -2
  31. simapy/sima/report/appendix.py +1 -15
  32. simapy/sima/report/blueprints/appendix.py +1 -3
  33. simapy/sima/report/blueprints/plot.py +0 -1
  34. simapy/sima/report/blueprints/section.py +2 -4
  35. simapy/sima/report/blueprints/table.py +0 -1
  36. simapy/sima/report/plot.py +1 -14
  37. simapy/sima/report/section.py +3 -17
  38. simapy/sima/report/table.py +1 -14
  39. simapy/sima/riflex/__init__.py +8 -0
  40. simapy/sima/riflex/axisymmetriccrosssection.py +12 -12
  41. simapy/sima/riflex/blueprints/axisymmetriccrosssection.py +2 -2
  42. simapy/sima/riflex/blueprints/bottomcontactforcestorage.py +23 -0
  43. simapy/sima/riflex/blueprints/bottomcontactstorage.py +21 -0
  44. simapy/sima/riflex/blueprints/chaincrosssection.py +20 -0
  45. simapy/sima/riflex/blueprints/coupledaxialtorsionstrainmodel.py +2 -2
  46. simapy/sima/riflex/blueprints/crsmassdamping.py +1 -1
  47. simapy/sima/riflex/blueprints/crsstiffnessdamping.py +1 -1
  48. simapy/sima/riflex/blueprints/doublesymmetriccrosssection.py +2 -2
  49. simapy/sima/riflex/blueprints/doublesymmetricstiffnessdamping.py +21 -0
  50. simapy/sima/riflex/blueprints/fatigueproperties.py +1 -1
  51. simapy/sima/riflex/blueprints/fibrerope.py +2 -2
  52. simapy/sima/riflex/blueprints/forceresponsestorage.py +0 -1
  53. simapy/sima/riflex/blueprints/generalcrosssection.py +2 -2
  54. simapy/sima/riflex/blueprints/generalcrosssectionstiffnessdamping.py +20 -0
  55. simapy/sima/riflex/blueprints/geotechnicalspring.py +1 -2
  56. simapy/sima/riflex/blueprints/globalspringstiffnessitem.py +2 -2
  57. simapy/sima/riflex/blueprints/horizontalaxiscontroller.py +1 -0
  58. simapy/sima/riflex/blueprints/riflexdynamiccalculationparameters.py +2 -1
  59. simapy/sima/riflex/blueprints/riflextask.py +0 -1
  60. simapy/sima/riflex/blueprints/staticloadtypeitem.py +1 -1
  61. simapy/sima/riflex/blueprints/thinwalledpipe.py +2 -2
  62. simapy/sima/riflex/blueprints/touchdownpointstorage.py +18 -0
  63. simapy/sima/riflex/blueprints/windturbine.py +2 -0
  64. simapy/sima/riflex/bottomcontactforcestorage.py +151 -0
  65. simapy/sima/riflex/bottomcontactstorage.py +127 -0
  66. simapy/sima/riflex/chaincrosssection.py +107 -0
  67. simapy/sima/riflex/constructiontype.py +15 -0
  68. simapy/sima/riflex/coupledaxialtorsionstrainmodel.py +12 -12
  69. simapy/sima/riflex/crsmassdamping.py +2 -2
  70. simapy/sima/riflex/crsstiffnessdamping.py +2 -2
  71. simapy/sima/riflex/doublesymmetriccrosssection.py +13 -13
  72. simapy/sima/riflex/doublesymmetricstiffnessdamping.py +121 -0
  73. simapy/sima/riflex/fatigueproperties.py +2 -2
  74. simapy/sima/riflex/fibrerope.py +12 -12
  75. simapy/sima/riflex/forceresponsestorage.py +1 -14
  76. simapy/sima/riflex/generalcrosssection.py +13 -13
  77. simapy/sima/riflex/generalcrosssectionstiffnessdamping.py +107 -0
  78. simapy/sima/riflex/geotechnicalspring.py +12 -25
  79. simapy/sima/riflex/globalspringstiffnessitem.py +4 -4
  80. simapy/sima/riflex/horizontalaxiscontroller.py +14 -1
  81. simapy/sima/riflex/riflexdynamiccalculationparameters.py +13 -0
  82. simapy/sima/riflex/riflextask.py +1 -14
  83. simapy/sima/riflex/staticloadtypeitem.py +12 -12
  84. simapy/sima/riflex/steelgrade.py +24 -0
  85. simapy/sima/riflex/thinwalledpipe.py +12 -12
  86. simapy/sima/riflex/touchdownpointstorage.py +85 -0
  87. simapy/sima/riflex/windturbine.py +27 -1
  88. simapy/sima/signals/report/appendix.py +14 -1
  89. simapy/sima/signals/report/blueprints/appendix.py +2 -1
  90. simapy/sima/signals/report/blueprints/font.py +1 -0
  91. simapy/sima/signals/report/blueprints/lineplot.py +2 -2
  92. simapy/sima/signals/report/blueprints/plotline.py +1 -0
  93. simapy/sima/signals/report/blueprints/report.py +1 -1
  94. simapy/sima/signals/report/blueprints/section.py +2 -1
  95. simapy/sima/signals/report/font.py +13 -0
  96. simapy/sima/signals/report/lineplot.py +2 -2
  97. simapy/sima/signals/report/plotline.py +13 -0
  98. simapy/sima/signals/report/section.py +14 -1
  99. simapy/sima/sima/__init__.py +7 -1
  100. simapy/sima/sima/blueprints/csvresult.py +25 -0
  101. simapy/sima/sima/blueprints/intvalue.py +18 -0
  102. simapy/sima/sima/blueprints/numbervalue.py +19 -0
  103. simapy/sima/sima/blueprints/scriptablevalue.py +0 -1
  104. simapy/sima/sima/blueprints/scriptingpreference.py +0 -1
  105. simapy/sima/{report/blueprints/linkable.py → sima/blueprints/singlevalue.py} +5 -5
  106. simapy/sima/sima/blueprints/stringvalue.py +18 -0
  107. simapy/sima/sima/blueprints/value.py +17 -0
  108. simapy/sima/sima/blueprints/valuecontainer.py +18 -0
  109. simapy/sima/sima/csvresult.py +176 -0
  110. simapy/sima/sima/intvalue.py +81 -0
  111. simapy/sima/sima/lengthunit.py +4 -1
  112. simapy/sima/sima/numbervalue.py +94 -0
  113. simapy/sima/sima/scriptablevalue.py +0 -13
  114. simapy/sima/sima/scriptingpreference.py +1 -14
  115. simapy/sima/sima/singlevalue.py +68 -0
  116. simapy/sima/sima/stringvalue.py +81 -0
  117. simapy/sima/sima/{moaofolder.py → value.py} +20 -5
  118. simapy/sima/sima/valuecontainer.py +82 -0
  119. simapy/sima/simo/__init__.py +3 -1
  120. simapy/sima/simo/ballasttank.py +15 -0
  121. simapy/sima/simo/ballasttankpressuremeasurement.py +107 -0
  122. simapy/sima/simo/blueprints/ballasttank.py +2 -1
  123. simapy/sima/simo/blueprints/ballasttankpressuremeasurement.py +20 -0
  124. simapy/sima/simo/blueprints/catenaryline.py +0 -1
  125. simapy/sima/simo/blueprints/externaldllforce.py +5 -5
  126. simapy/sima/simo/blueprints/externalforcefromfile.py +1 -1
  127. simapy/sima/simo/blueprints/externalpythonforce.py +20 -0
  128. simapy/sima/simo/blueprints/guidepoint.py +3 -3
  129. simapy/sima/simo/blueprints/linesegment.py +1 -1
  130. simapy/sima/simo/blueprints/simobody.py +1 -1
  131. simapy/sima/simo/blueprints/simobodypoint.py +3 -3
  132. simapy/sima/simo/blueprints/simostaticcalculationparameters.py +2 -1
  133. simapy/sima/simo/blueprints/simostaticresultstorageparameters.py +17 -0
  134. simapy/sima/simo/blueprints/simotask.py +1 -2
  135. simapy/sima/simo/blueprints/stringdoubleitem.py +2 -1
  136. simapy/sima/simo/bodyresult.py +1 -4
  137. simapy/sima/simo/catenaryline.py +1 -14
  138. simapy/sima/simo/externaldllforce.py +53 -53
  139. simapy/sima/simo/externalforcefromfile.py +23 -23
  140. simapy/sima/simo/externalpythonforce.py +109 -0
  141. simapy/sima/simo/guidepoint.py +6 -6
  142. simapy/sima/simo/linesegment.py +2 -2
  143. simapy/sima/simo/simobody.py +10 -13
  144. simapy/sima/simo/simobodypoint.py +6 -6
  145. simapy/sima/simo/simostaticcalculationparameters.py +13 -0
  146. simapy/sima/simo/simostaticresultstorageparameters.py +68 -0
  147. simapy/sima/simo/simotask.py +1 -14
  148. simapy/sima/simo/stringdoubleitem.py +14 -1
  149. simapy/sima/windpark/__init__.py +1 -1
  150. simapy/sima/windpark/blueprints/generator.py +4 -1
  151. simapy/sima/windpark/blueprints/windturbinetype.py +2 -1
  152. simapy/sima/windpark/blueprints/{performancerelation.py → yawperformancerelation.py} +3 -3
  153. simapy/sima/windpark/generator.py +40 -1
  154. simapy/sima/windpark/windturbinetype.py +19 -4
  155. simapy/sima/windpark/{performancerelation.py → yawperformancerelation.py} +4 -4
  156. simapy/sima/windturbine/blueprints/horizontalaxiswindturbinecontroller.py +1 -0
  157. simapy/sima/windturbine/horizontalaxiswindturbinecontroller.py +14 -1
  158. simapy/sima/workflow/__init__.py +1 -0
  159. simapy/sima/workflow/blueprints/fileoutputnode.py +1 -0
  160. simapy/sima/workflow/blueprints/pythonprogramnode.py +26 -0
  161. simapy/sima/workflow/blueprints/reportfragmentnode.py +2 -2
  162. simapy/sima/workflow/fileoutputnode.py +14 -1
  163. simapy/sima/workflow/pythonprogramnode.py +193 -0
  164. simapy/sima/workflow/reportfragmentnode.py +1 -1
  165. simapy/sre.py +17 -7
  166. {simapy-4.6.1.dev2.dist-info → simapy-4.8.0.dev0.dist-info}/METADATA +1 -1
  167. {simapy-4.6.1.dev2.dist-info → simapy-4.8.0.dev0.dist-info}/RECORD +170 -135
  168. simapy/sima/sima/blueprints/moaofolder.py +0 -16
  169. simapy/sima/simo/blueprints/externalhlaforce.py +0 -30
  170. simapy/sima/simo/externalhlaforce.py +0 -245
  171. {simapy-4.6.1.dev2.dist-info → simapy-4.8.0.dev0.dist-info}/LICENSE +0 -0
  172. {simapy-4.6.1.dev2.dist-info → simapy-4.8.0.dev0.dist-info}/WHEEL +0 -0
  173. {simapy-4.6.1.dev2.dist-info → simapy-4.8.0.dev0.dist-info}/top_level.txt +0 -0
@@ -17,4 +17,4 @@ class ExportBlueprintCommandBlueprint(CommandBlueprint):
17
17
  self.add_attribute(Attribute("name","string",""))
18
18
  self.add_attribute(BlueprintAttribute("parameters","sima/sima/Property","Additional parameters",True,Dimension("*")))
19
19
  self.add_attribute(Attribute("output","string","Optional output directory. If not specified the blueprints will be imported into the current workspace"))
20
- self.add_attribute(Attribute("versions","boolean","Write package version files",default=False))
20
+ self.add_attribute(Attribute("delete","boolean","Delete the content of the output folder before exporting",default=False))
@@ -22,18 +22,18 @@ class ExportBlueprintCommand(Command):
22
22
  Additional parameters
23
23
  output : str
24
24
  Optional output directory. If not specified the blueprints will be imported into the current workspace(default None)
25
- versions : bool
26
- Write package version files(default False)
25
+ delete : bool
26
+ Delete the content of the output folder before exporting(default False)
27
27
  """
28
28
 
29
- def __init__(self , description="", versions=False, **kwargs):
29
+ def __init__(self , description="", delete=False, **kwargs):
30
30
  super().__init__(**kwargs)
31
31
  self.description = description
32
32
  self.scriptableValues = list()
33
33
  self.name = None
34
34
  self.parameters = list()
35
35
  self.output = None
36
- self.versions = versions
36
+ self.delete = delete
37
37
  for key, value in kwargs.items():
38
38
  if not isinstance(value, Dict):
39
39
  setattr(self, key, value)
@@ -100,11 +100,11 @@ class ExportBlueprintCommand(Command):
100
100
  self.__output = value
101
101
 
102
102
  @property
103
- def versions(self) -> bool:
104
- """Write package version files"""
105
- return self.__versions
106
-
107
- @versions.setter
108
- def versions(self, value: bool):
109
- """Set versions"""
110
- self.__versions = bool(value)
103
+ def delete(self) -> bool:
104
+ """Delete the content of the output folder before exporting"""
105
+ return self.__delete
106
+
107
+ @delete.setter
108
+ def delete(self, value: bool):
109
+ """Set delete"""
110
+ self.__delete = bool(value)
@@ -14,11 +14,11 @@ from .fluctuatingthreecomponent import FluctuatingThreeComponent # noqa
14
14
  from .fluctuatingtwocomponent import FluctuatingTwoComponent # noqa
15
15
  from .fluctuatingwindvelocityprofile import FluctuatingWindVelocityProfile # noqa
16
16
  from .harris import Harris # noqa
17
+ from .iso199011wind import ISO199011Wind # noqa
17
18
  from .jonswap import Jonswap # noqa
18
19
  from .jonswap3p import Jonswap3P # noqa
19
20
  from .jonswap6p import Jonswap6P # noqa
20
21
  from .jonswapdoublepeaked import JonswapDoublePeaked # noqa
21
- from .npdwind import NPDWind # noqa
22
22
  from .numericalwave import NumericalWave # noqa
23
23
  from .ochi import Ochi # noqa
24
24
  from .piersonmoskowitz import PiersonMoskowitz # noqa
@@ -16,5 +16,6 @@ class ESDUWindBlueprint(WindBlueprint):
16
16
  self.add_attribute(BlueprintAttribute("scriptableValues","sima/sima/ScriptableValue","",True,Dimension("*")))
17
17
  self.add_attribute(Attribute("direction","number","Wind propagation direction",default=0.0))
18
18
  self.add_attribute(Attribute("averageVelocity","number","Average velocity at reference height",default=0.0))
19
- self.add_attribute(Attribute("psi","number","Site latitude in decimal degrees",default=0.0))
20
- self.add_attribute(Attribute("friction","number","Surface drag coefficient used for transverse gust spectrum",default=0.002))
19
+ self.add_attribute(Attribute("profileExponent","number","Wind profile exponent",default=0.11))
20
+ self.add_attribute(Attribute("friction","number","Surface drag coefficient.\nAlso used for transverse gust spectrum, if specified.",default=0.002))
21
+ self.add_attribute(Attribute("psi","number","Site latitude in decimal degrees",default=0.0))
@@ -1,5 +1,5 @@
1
1
  #
2
- # Generated with NPDWindBlueprint
2
+ # Generated with ISO199011WindBlueprint
3
3
  from dmt.blueprint import Blueprint
4
4
  from dmt.dimension import Dimension
5
5
  from dmt.attribute import Attribute
@@ -7,10 +7,10 @@ from dmt.enum_attribute import EnumAttribute
7
7
  from dmt.blueprint_attribute import BlueprintAttribute
8
8
  from .wind import WindBlueprint
9
9
 
10
- class NPDWindBlueprint(WindBlueprint):
10
+ class ISO199011WindBlueprint(WindBlueprint):
11
11
  """"""
12
12
 
13
- def __init__(self, name="NPDWind", package_path="sima/environment", description=""):
13
+ def __init__(self, name="ISO199011Wind", package_path="sima/environment", description=""):
14
14
  super().__init__(name,package_path,description)
15
15
  self.add_attribute(Attribute("description","string","",default=""))
16
16
  self.add_attribute(BlueprintAttribute("scriptableValues","sima/sima/ScriptableValue","",True,Dimension("*")))
@@ -14,6 +14,8 @@ class NumericalWaveBlueprint(WaveBlueprint):
14
14
  super().__init__(name,package_path,description)
15
15
  self.add_attribute(Attribute("description","string","",default=""))
16
16
  self.add_attribute(BlueprintAttribute("scriptableValues","sima/sima/ScriptableValue","",True,Dimension("*")))
17
+ self.add_attribute(Attribute("fromFile","boolean","Define numerical spectrum in external file",default=False))
17
18
  self.add_attribute(Attribute("directions","number","Number of wave directions",Dimension("*"),default=0.0))
18
19
  self.add_attribute(Attribute("frequencies","number","Number of wave frequencies",Dimension("*"),default=0.0))
19
- self.add_attribute(Attribute("values","number","",Dimension("*"),default=0.0))
20
+ self.add_attribute(Attribute("values","number","",Dimension("*"),default=0.0))
21
+ self.add_attribute(Attribute("file","string","Name of external file with specified numerical spectrum data"))
@@ -19,20 +19,23 @@ class ESDUWind(Wind):
19
19
  Wind propagation direction(default 0.0)
20
20
  averageVelocity : float
21
21
  Average velocity at reference height(default 0.0)
22
+ profileExponent : float
23
+ Wind profile exponent(default 0.11)
24
+ friction : float
25
+ Surface drag coefficient.\nAlso used for transverse gust spectrum, if specified.(default 0.002)
22
26
  psi : float
23
27
  Site latitude in decimal degrees(default 0.0)
24
- friction : float
25
- Surface drag coefficient used for transverse gust spectrum(default 0.002)
26
28
  """
27
29
 
28
- def __init__(self , description="", direction=0.0, averageVelocity=0.0, psi=0.0, friction=0.002, **kwargs):
30
+ def __init__(self , description="", direction=0.0, averageVelocity=0.0, profileExponent=0.11, friction=0.002, psi=0.0, **kwargs):
29
31
  super().__init__(**kwargs)
30
32
  self.description = description
31
33
  self.scriptableValues = list()
32
34
  self.direction = direction
33
35
  self.averageVelocity = averageVelocity
34
- self.psi = psi
36
+ self.profileExponent = profileExponent
35
37
  self.friction = friction
38
+ self.psi = psi
36
39
  for key, value in kwargs.items():
37
40
  if not isinstance(value, Dict):
38
41
  setattr(self, key, value)
@@ -87,21 +90,32 @@ class ESDUWind(Wind):
87
90
  self.__averageVelocity = float(value)
88
91
 
89
92
  @property
90
- def psi(self) -> float:
91
- """Site latitude in decimal degrees"""
92
- return self.__psi
93
+ def profileExponent(self) -> float:
94
+ """Wind profile exponent"""
95
+ return self.__profileExponent
93
96
 
94
- @psi.setter
95
- def psi(self, value: float):
96
- """Set psi"""
97
- self.__psi = float(value)
97
+ @profileExponent.setter
98
+ def profileExponent(self, value: float):
99
+ """Set profileExponent"""
100
+ self.__profileExponent = float(value)
98
101
 
99
102
  @property
100
103
  def friction(self) -> float:
101
- """Surface drag coefficient used for transverse gust spectrum"""
104
+ """Surface drag coefficient.
105
+ Also used for transverse gust spectrum, if specified."""
102
106
  return self.__friction
103
107
 
104
108
  @friction.setter
105
109
  def friction(self, value: float):
106
110
  """Set friction"""
107
111
  self.__friction = float(value)
112
+
113
+ @property
114
+ def psi(self) -> float:
115
+ """Site latitude in decimal degrees"""
116
+ return self.__psi
117
+
118
+ @psi.setter
119
+ def psi(self, value: float):
120
+ """Set psi"""
121
+ self.__psi = float(value)
@@ -1,14 +1,14 @@
1
1
  # This an autogenerated file
2
2
  #
3
- # Generated with NPDWind
3
+ # Generated with ISO199011Wind
4
4
  from typing import Dict,Sequence,List
5
5
  from dmt.blueprint import Blueprint
6
- from .blueprints.npdwind import NPDWindBlueprint
6
+ from .blueprints.iso199011wind import ISO199011WindBlueprint
7
7
  from typing import Dict
8
8
  from ..sima import ScriptableValue
9
9
  from .wind import Wind
10
10
 
11
- class NPDWind(Wind):
11
+ class ISO199011Wind(Wind):
12
12
  """
13
13
  Keyword arguments
14
14
  -----------------
@@ -44,7 +44,7 @@ class NPDWind(Wind):
44
44
  @property
45
45
  def blueprint(self) -> Blueprint:
46
46
  """Return blueprint that this entity represents"""
47
- return NPDWindBlueprint()
47
+ return ISO199011WindBlueprint()
48
48
 
49
49
 
50
50
  @property
@@ -15,20 +15,26 @@ class NumericalWave(Wave):
15
15
  description : str
16
16
  (default "")
17
17
  scriptableValues : List[ScriptableValue]
18
+ fromFile : bool
19
+ Define numerical spectrum in external file(default False)
18
20
  directions : ndarray of float
19
21
  Number of wave directions
20
22
  frequencies : ndarray of float
21
23
  Number of wave frequencies
22
24
  values : ndarray of float
25
+ file : str
26
+ Name of external file with specified numerical spectrum data(default None)
23
27
  """
24
28
 
25
- def __init__(self , description="", **kwargs):
29
+ def __init__(self , description="", fromFile=False, **kwargs):
26
30
  super().__init__(**kwargs)
27
31
  self.description = description
28
32
  self.scriptableValues = list()
33
+ self.fromFile = fromFile
29
34
  self.directions = []
30
35
  self.frequencies = []
31
36
  self.values = []
37
+ self.file = None
32
38
  for key, value in kwargs.items():
33
39
  if not isinstance(value, Dict):
34
40
  setattr(self, key, value)
@@ -62,6 +68,16 @@ class NumericalWave(Wave):
62
68
  raise ValueError("Expected sequense, but was " , type(value))
63
69
  self.__scriptableValues = value
64
70
 
71
+ @property
72
+ def fromFile(self) -> bool:
73
+ """Define numerical spectrum in external file"""
74
+ return self.__fromFile
75
+
76
+ @fromFile.setter
77
+ def fromFile(self, value: bool):
78
+ """Set fromFile"""
79
+ self.__fromFile = bool(value)
80
+
65
81
  @property
66
82
  def directions(self) -> ndarray:
67
83
  """Number of wave directions"""
@@ -100,3 +116,13 @@ class NumericalWave(Wave):
100
116
  if len(array) > 0 and array.ndim != 1:
101
117
  raise ValueError("Expected array with 1 dimensions")
102
118
  self.__values = array
119
+
120
+ @property
121
+ def file(self) -> str:
122
+ """Name of external file with specified numerical spectrum data"""
123
+ return self.__file
124
+
125
+ @file.setter
126
+ def file(self, value: str):
127
+ """Set file"""
128
+ self.__file = value
@@ -1,2 +1,4 @@
1
1
 
2
+ from .nodeinputslot import NodeInputSlot # noqa
3
+ from .nodeoutputslot import NodeOutputSlot # noqa
2
4
  from .point import Point # noqa
@@ -1,18 +1,17 @@
1
1
  #
2
- # Generated with FormulaBlueprint
2
+ # Generated with NodeInputSlotBlueprint
3
3
  from dmt.blueprint import Blueprint
4
4
  from dmt.dimension import Dimension
5
5
  from dmt.attribute import Attribute
6
6
  from dmt.enum_attribute import EnumAttribute
7
7
  from dmt.blueprint_attribute import BlueprintAttribute
8
- from .reportitem import ReportItemBlueprint
8
+ from ...sima.blueprints.named import NamedBlueprint
9
9
 
10
- class FormulaBlueprint(ReportItemBlueprint):
10
+ class NodeInputSlotBlueprint(NamedBlueprint):
11
11
  """"""
12
12
 
13
- def __init__(self, name="Formula", package_path="sima/report", description=""):
13
+ def __init__(self, name="NodeInputSlot", package_path="sima/graph", description=""):
14
14
  super().__init__(name,package_path,description)
15
15
  self.add_attribute(Attribute("description","string","",default=""))
16
16
  self.add_attribute(BlueprintAttribute("scriptableValues","sima/sima/ScriptableValue","",True,Dimension("*")))
17
- self.add_attribute(Attribute("latex","string",""))
18
- self.add_attribute(Attribute("caption","string","Caption"))
17
+ self.add_attribute(Attribute("name","string",""))
@@ -0,0 +1,17 @@
1
+ #
2
+ # Generated with NodeOutputSlotBlueprint
3
+ from dmt.blueprint import Blueprint
4
+ from dmt.dimension import Dimension
5
+ from dmt.attribute import Attribute
6
+ from dmt.enum_attribute import EnumAttribute
7
+ from dmt.blueprint_attribute import BlueprintAttribute
8
+ from ...sima.blueprints.named import NamedBlueprint
9
+
10
+ class NodeOutputSlotBlueprint(NamedBlueprint):
11
+ """"""
12
+
13
+ def __init__(self, name="NodeOutputSlot", package_path="sima/graph", description=""):
14
+ super().__init__(name,package_path,description)
15
+ self.add_attribute(Attribute("description","string","",default=""))
16
+ self.add_attribute(BlueprintAttribute("scriptableValues","sima/sima/ScriptableValue","",True,Dimension("*")))
17
+ self.add_attribute(Attribute("name","string",""))
@@ -1,21 +1,21 @@
1
1
  # This an autogenerated file
2
2
  #
3
- # Generated with Linkable
3
+ # Generated with NodeInputSlot
4
4
  from typing import Dict,Sequence,List
5
5
  from dmt.blueprint import Blueprint
6
- from .blueprints.linkable import LinkableBlueprint
6
+ from .blueprints.nodeinputslot import NodeInputSlotBlueprint
7
7
  from typing import Dict
8
- from ..sima import MOAO
8
+ from ..sima import Named
9
9
  from ..sima import ScriptableValue
10
10
 
11
- class Linkable(MOAO):
11
+ class NodeInputSlot(Named):
12
12
  """
13
13
  Keyword arguments
14
14
  -----------------
15
15
  description : str
16
16
  (default "")
17
17
  scriptableValues : List[ScriptableValue]
18
- identifier : str
18
+ name : str
19
19
  (default None)
20
20
  """
21
21
 
@@ -23,7 +23,7 @@ class Linkable(MOAO):
23
23
  super().__init__(**kwargs)
24
24
  self.description = description
25
25
  self.scriptableValues = list()
26
- self.identifier = None
26
+ self.name = None
27
27
  for key, value in kwargs.items():
28
28
  if not isinstance(value, Dict):
29
29
  setattr(self, key, value)
@@ -32,7 +32,7 @@ class Linkable(MOAO):
32
32
  @property
33
33
  def blueprint(self) -> Blueprint:
34
34
  """Return blueprint that this entity represents"""
35
- return LinkableBlueprint()
35
+ return NodeInputSlotBlueprint()
36
36
 
37
37
 
38
38
  @property
@@ -58,11 +58,11 @@ class Linkable(MOAO):
58
58
  self.__scriptableValues = value
59
59
 
60
60
  @property
61
- def identifier(self) -> str:
61
+ def name(self) -> str:
62
62
  """"""
63
- return self.__identifier
63
+ return self.__name
64
64
 
65
- @identifier.setter
66
- def identifier(self, value: str):
67
- """Set identifier"""
68
- self.__identifier = value
65
+ @name.setter
66
+ def name(self, value: str):
67
+ """Set name"""
68
+ self.__name = value
@@ -1,32 +1,29 @@
1
1
  # This an autogenerated file
2
2
  #
3
- # Generated with Formula
3
+ # Generated with NodeOutputSlot
4
4
  from typing import Dict,Sequence,List
5
5
  from dmt.blueprint import Blueprint
6
- from .blueprints.formula import FormulaBlueprint
6
+ from .blueprints.nodeoutputslot import NodeOutputSlotBlueprint
7
7
  from typing import Dict
8
+ from ..sima import Named
8
9
  from ..sima import ScriptableValue
9
- from .reportitem import ReportItem
10
10
 
11
- class Formula(ReportItem):
11
+ class NodeOutputSlot(Named):
12
12
  """
13
13
  Keyword arguments
14
14
  -----------------
15
15
  description : str
16
16
  (default "")
17
17
  scriptableValues : List[ScriptableValue]
18
- latex : str
18
+ name : str
19
19
  (default None)
20
- caption : str
21
- Caption(default None)
22
20
  """
23
21
 
24
22
  def __init__(self , description="", **kwargs):
25
23
  super().__init__(**kwargs)
26
24
  self.description = description
27
25
  self.scriptableValues = list()
28
- self.latex = None
29
- self.caption = None
26
+ self.name = None
30
27
  for key, value in kwargs.items():
31
28
  if not isinstance(value, Dict):
32
29
  setattr(self, key, value)
@@ -35,7 +32,7 @@ class Formula(ReportItem):
35
32
  @property
36
33
  def blueprint(self) -> Blueprint:
37
34
  """Return blueprint that this entity represents"""
38
- return FormulaBlueprint()
35
+ return NodeOutputSlotBlueprint()
39
36
 
40
37
 
41
38
  @property
@@ -61,21 +58,11 @@ class Formula(ReportItem):
61
58
  self.__scriptableValues = value
62
59
 
63
60
  @property
64
- def latex(self) -> str:
61
+ def name(self) -> str:
65
62
  """"""
66
- return self.__latex
63
+ return self.__name
67
64
 
68
- @latex.setter
69
- def latex(self, value: str):
70
- """Set latex"""
71
- self.__latex = value
72
-
73
- @property
74
- def caption(self) -> str:
75
- """Caption"""
76
- return self.__caption
77
-
78
- @caption.setter
79
- def caption(self, value: str):
80
- """Set caption"""
81
- self.__caption = value
65
+ @name.setter
66
+ def name(self, value: str):
67
+ """Set name"""
68
+ self.__name = value
@@ -18,7 +18,7 @@ class LongTermStatisticsCalculationBlueprint(NamedObjectBlueprint,ConditionSelec
18
18
  self.add_attribute(Attribute("name","string",""))
19
19
  self.add_attribute(Attribute("relativeCompassAngle","number","Relative angle between analysis x-axis and north direction in anti-clockwise direction.\nShould match the angle given in the recieving SIMA task location.",default=0.0))
20
20
  self.add_attribute(EnumAttribute("inputReferenceSystem","sima/metocean/InputReferenceSystem","Defines the input reference system of the data.\nIf the data is defined in the Metocean system the corresponding SIMA coordinate system data is generated"))
21
- self.add_attribute(Attribute("applyNorsok","boolean"," Apply NORSOK N-006",default=True))
21
+ self.add_attribute(Attribute("applyNorsok","boolean"," Apply NORSOK N-006 ( A directional factor of 6 (corresponding to 12 directions) is applied to the return period)",default=True))
22
22
  self.add_attribute(BlueprintAttribute("longTermStatistics","sima/metocean/LongTermStatistics","",False))
23
23
  self.add_attribute(BlueprintAttribute("period","sima/metocean/LongTermStatisticsPeriod","",False))
24
24
  self.add_attribute(BlueprintAttribute("waveCalculation","sima/metocean/LongTermStatisticsWaveCalculation","",True))
@@ -32,7 +32,7 @@ class LongTermStatisticsCalculation(NamedObject,ConditionSelectable):
32
32
  inputReferenceSystem : InputReferenceSystem
33
33
  Defines the input reference system of the data.\nIf the data is defined in the Metocean system the corresponding SIMA coordinate system data is generated
34
34
  applyNorsok : bool
35
- Apply NORSOK N-006(default True)
35
+ Apply NORSOK N-006 ( A directional factor of 6 (corresponding to 12 directions) is applied to the return period)(default True)
36
36
  longTermStatistics : LongTermStatistics
37
37
  period : LongTermStatisticsPeriod
38
38
  waveCalculation : LongTermStatisticsWaveCalculation
@@ -120,7 +120,7 @@ If the data is defined in the Metocean system the corresponding SIMA coordinate
120
120
 
121
121
  @property
122
122
  def applyNorsok(self) -> bool:
123
- """ Apply NORSOK N-006"""
123
+ """ Apply NORSOK N-006 ( A directional factor of 6 (corresponding to 12 directions) is applied to the return period)"""
124
124
  return self.__applyNorsok
125
125
 
126
126
  @applyNorsok.setter
@@ -1 +1,3 @@
1
- packages = {'command': 1, 'condition': 19,'custom': 12,'doc': 11,'environment': 22,'graph': 4,'hla': 24,'hydro': 28,'metocean': 10,'optimization': 1,'post': 27,'report': 11,'riflex': 43,'signals': 2, 'sima': 24,'simo': 45,'wamit': 14,'windpark': 1,'windturbine': 10,'workflow': 19}
1
+
2
+ version = "4.8.0"
3
+ packages = {'command': 2, 'condition': 20, 'custom': 13, 'doc': 12, 'environment': 23, 'graph': 5, 'hla': 25, 'hydro': 29, 'metocean': 11, 'optimization': 1, 'post': 28, 'report': 12, 'riflex': 44, 'signals': 2, 'sima': 25, 'simo': 46, 'wamit': 15, 'windpark': 1, 'windturbine': 11, 'workflow': 20}
@@ -86,6 +86,7 @@ from .rotationmatrix import RotationMatrix # noqa
86
86
  from .runnode import RunNode # noqa
87
87
  from .samplecountoperation import SampleCountOperation # noqa
88
88
  from .scalefilter import ScaleFilter # noqa
89
+ from .signalfiltersetup import SignalFilterSetup # noqa
89
90
  from .signalgenerator import SignalGenerator # noqa
90
91
  from .signalgeneratorcontainer import SignalGeneratorContainer # noqa
91
92
  from .signalinputoperation import SignalInputOperation # noqa
@@ -135,6 +136,7 @@ from .fabricationfactor import FabricationFactor # noqa
135
136
  from .fatiguelimitindicator import FatigueLimitIndicator # noqa
136
137
  from .fileformat import FileFormat # noqa
137
138
  from .fileinputformat import FileInputFormat # noqa
139
+ from .filtering import Filtering # noqa
138
140
  from .gumbelmethod import GumbelMethod # noqa
139
141
  from .internalpressuredesignfactor import InternalPressureDesignFactor # noqa
140
142
  from .iso19901_7_analysis import ISO19901_7_analysis # noqa
@@ -22,4 +22,4 @@ class DistanceLineToLineFilterBlueprint(OperationNodeBlueprint):
22
22
  self.add_attribute(BlueprintAttribute("controlSignalInputSlots","sima/post/ControlSignalInputSlot","",True,Dimension("*")))
23
23
  self.add_attribute(BlueprintAttribute("filterInputSlots","sima/post/InputSlot","",True,Dimension("*")))
24
24
  self.add_attribute(BlueprintAttribute("filterOutputSlots","sima/post/OutputSlot","",True,Dimension("*")))
25
- self.add_attribute(Attribute("outputVector","boolean","",default=False))
25
+ self.add_attribute(Attribute("outputVector","boolean","Output the distance vector",default=False))
@@ -33,4 +33,5 @@ class FileOutputBlueprint(OperationNodeBlueprint,OutputNodeBlueprint,SignalPrope
33
33
  self.add_attribute(Attribute("skipHeader","boolean","Do not write a header on the file",default=False))
34
34
  self.add_attribute(Attribute("specifyAdditionalProperties","boolean","Specify additional properties in the file root",default=False))
35
35
  self.add_attribute(Attribute("writeRawText","boolean","Writes a single input string into the given file",default=False))
36
- self.add_attribute(Attribute("indent","boolean","Indent the output text",default=False))
36
+ self.add_attribute(Attribute("indent","boolean","Indent the output text",default=False))
37
+ self.add_attribute(Attribute("directModelExport","boolean","Drop the extra signal layer If a model is encountered in the output",default=False))
@@ -5,9 +5,9 @@ from dmt.dimension import Dimension
5
5
  from dmt.attribute import Attribute
6
6
  from dmt.enum_attribute import EnumAttribute
7
7
  from dmt.blueprint_attribute import BlueprintAttribute
8
- from ...sima.blueprints.named import NamedBlueprint
8
+ from ...graph.blueprints.nodeinputslot import NodeInputSlotBlueprint
9
9
 
10
- class InputSlotBlueprint(NamedBlueprint):
10
+ class InputSlotBlueprint(NodeInputSlotBlueprint):
11
11
  """"""
12
12
 
13
13
  def __init__(self, name="InputSlot", package_path="sima/post", description=""):
@@ -5,9 +5,9 @@ from dmt.dimension import Dimension
5
5
  from dmt.attribute import Attribute
6
6
  from dmt.enum_attribute import EnumAttribute
7
7
  from dmt.blueprint_attribute import BlueprintAttribute
8
- from ...sima.blueprints.named import NamedBlueprint
8
+ from ...graph.blueprints.nodeoutputslot import NodeOutputSlotBlueprint
9
9
 
10
- class OutputSlotBlueprint(NamedBlueprint):
10
+ class OutputSlotBlueprint(NodeOutputSlotBlueprint):
11
11
  """"""
12
12
 
13
13
  def __init__(self, name="OutputSlot", package_path="sima/post", description=""):
@@ -0,0 +1,22 @@
1
+ #
2
+ # Generated with SignalFilterSetupBlueprint
3
+ from dmt.blueprint import Blueprint
4
+ from dmt.dimension import Dimension
5
+ from dmt.attribute import Attribute
6
+ from dmt.enum_attribute import EnumAttribute
7
+ from dmt.blueprint_attribute import BlueprintAttribute
8
+ from ...sima.blueprints.moao import MOAOBlueprint
9
+
10
+ class SignalFilterSetupBlueprint(MOAOBlueprint):
11
+ """"""
12
+
13
+ def __init__(self, name="SignalFilterSetup", package_path="sima/post", description=""):
14
+ super().__init__(name,package_path,description)
15
+ self.add_attribute(Attribute("description","string","",default=""))
16
+ self.add_attribute(BlueprintAttribute("scriptableValues","sima/sima/ScriptableValue","",True,Dimension("*")))
17
+ self.add_attribute(Attribute("start","number","",default=0.0))
18
+ self.add_attribute(Attribute("end","number","",default=0.0))
19
+ self.add_attribute(EnumAttribute("filtering","sima/post/Filtering","Filter signal using lower and upper cut off"))
20
+ self.add_attribute(Attribute("lowerCutoffFrequency","number","",default=0.0))
21
+ self.add_attribute(Attribute("upperCutoffFrequency","number","",default=0.0))
22
+ self.add_attribute(Attribute("showFullPath","boolean","Show full path when selecting signals",default=False))
@@ -32,7 +32,7 @@ class DistanceLineToLineFilter(OperationNode):
32
32
  filterInputSlots : List[InputSlot]
33
33
  filterOutputSlots : List[OutputSlot]
34
34
  outputVector : bool
35
- (default False)
35
+ Output the distance vector(default False)
36
36
  """
37
37
 
38
38
  def __init__(self , description="", x=0, y=0, h=0, w=0, outputVector=False, **kwargs):
@@ -169,7 +169,7 @@ class DistanceLineToLineFilter(OperationNode):
169
169
 
170
170
  @property
171
171
  def outputVector(self) -> bool:
172
- """"""
172
+ """Output the distance vector"""
173
173
  return self.__outputVector
174
174
 
175
175
  @outputVector.setter
@@ -55,9 +55,11 @@ class FileOutput(OperationNode,OutputNode,SignalPropertiesContainer):
55
55
  Writes a single input string into the given file(default False)
56
56
  indent : bool
57
57
  Indent the output text(default False)
58
+ directModelExport : bool
59
+ Drop the extra signal layer If a model is encountered in the output(default False)
58
60
  """
59
61
 
60
- def __init__(self , description="", x=0, y=0, h=0, w=0, fileFormat=FileFormat.CSV, addMetaTags=False, decimalSeparator=DecimalSeparator.PERIOD, skipHeader=False, specifyAdditionalProperties=False, writeRawText=False, indent=False, **kwargs):
62
+ def __init__(self , description="", x=0, y=0, h=0, w=0, fileFormat=FileFormat.CSV, addMetaTags=False, decimalSeparator=DecimalSeparator.PERIOD, skipHeader=False, specifyAdditionalProperties=False, writeRawText=False, indent=False, directModelExport=False, **kwargs):
61
63
  super().__init__(**kwargs)
62
64
  self.description = description
63
65
  self.scriptableValues = list()
@@ -79,6 +81,7 @@ class FileOutput(OperationNode,OutputNode,SignalPropertiesContainer):
79
81
  self.specifyAdditionalProperties = specifyAdditionalProperties
80
82
  self.writeRawText = writeRawText
81
83
  self.indent = indent
84
+ self.directModelExport = directModelExport
82
85
  for key, value in kwargs.items():
83
86
  if not isinstance(value, Dict):
84
87
  setattr(self, key, value)
@@ -300,3 +303,13 @@ decimal-separator will make semicolon the value-separator."""
300
303
  def indent(self, value: bool):
301
304
  """Set indent"""
302
305
  self.__indent = bool(value)
306
+
307
+ @property
308
+ def directModelExport(self) -> bool:
309
+ """Drop the extra signal layer If a model is encountered in the output"""
310
+ return self.__directModelExport
311
+
312
+ @directModelExport.setter
313
+ def directModelExport(self, value: bool):
314
+ """Set directModelExport"""
315
+ self.__directModelExport = bool(value)
@@ -0,0 +1,21 @@
1
+ # Generated with Filtering
2
+ #
3
+ from enum import Enum
4
+ from enum import auto
5
+
6
+ class Filtering(Enum):
7
+ """"""
8
+ NONE = auto()
9
+ LOWPASS = auto()
10
+ HIGHPASS = auto()
11
+ BANDPASS = auto()
12
+
13
+ def label(self):
14
+ if self == Filtering.NONE:
15
+ return "None"
16
+ if self == Filtering.LOWPASS:
17
+ return "Low-pass"
18
+ if self == Filtering.HIGHPASS:
19
+ return "High-pass"
20
+ if self == Filtering.BANDPASS:
21
+ return "Band-pass"