feat: read data in sigma layer blocks

This commit is contained in:
Stig Rune Jensen
2023-03-07 17:09:33 +01:00
parent e9f10c8f12
commit e16a61cbdf

View File

@@ -146,6 +146,48 @@ let readOmegas (ds: DataSet) t l es =
Log.Error $"{e}"
Array.empty
let readU (ds: DataSet) t l =
try
let n = ds.Dimensions["nele"].Length
let u = ds[ "u" ].GetData([| t; l; 0 |], [| 1; 1; n |]) :?> single [,,]
u[0, 0, *]
with
| e ->
Log.Error $"{e}"
Array.empty
let readUBlock (ds: DataSet) t =
try
let n = ds.Dimensions["nele"].Length
let l = ds.Dimensions["siglay"].Length
let u = ds[ "u" ].GetData([| t; 0; 0 |], [| 1; l; n |]) :?> single [,,]
u[0, *, *]
with
| e ->
Log.Error $"{e}"
Array2D.zeroCreate 0 0
let readV (ds: DataSet) t l =
try
let n = ds.Dimensions["nele"].Length
let v = ds[ "v" ].GetData([| t; l; 0 |], [| 1; 1; n |]) :?> single [,,]
v[0, 0, *]
with
| e ->
Log.Error $"{e}"
Array.empty
let readVBlock (ds: DataSet) t =
try
let n = ds.Dimensions["nele"].Length
let l = ds.Dimensions["siglay"].Length
let v = ds[ "v" ].GetData([| t; 0; 0 |], [| 1; l; n |]) :?> single [,,]
v[0, *, *]
with
| e ->
Log.Error $"{e}"
Array2D.zeroCreate 0 0
let readWw (ds: DataSet) t l =
try
let n = ds.Dimensions["nele"].Length
@@ -156,6 +198,17 @@ let readWw (ds: DataSet) t l =
Log.Error $"{e}"
Array.empty
let readWwBlock (ds: DataSet) t =
try
let n = ds.Dimensions["nele"].Length
let l = ds.Dimensions["siglay"].Length
let w = ds[ "ww" ].GetData([| t; 0; 0 |], [| 1; l; n |]) :?> single [,,]
w[0, *, *]
with
| e ->
Log.Error $"{e}"
Array2D.zeroCreate 0 0
let readWws (ds: DataSet) t l es =
try
let n = ds.Dimensions["nele"].Length
@@ -215,6 +268,20 @@ let readTemp (ds: DataSet) t l =
Log.Error $"{e}"
Array.empty
let readTempBlock (ds: DataSet) t =
try
let n = ds.Dimensions["node"].Length
let l = ds.Dimensions["siglay"].Length
let sal =
ds["temp"]
.GetData([| t; 0; 0 |], [| 1; l; n |])
:?> single [,,]
sal[0, *, *]
with
| e ->
Log.Error $"{e}"
Array2D.zeroCreate 0 0
let readSalinity (ds: DataSet) t l =
try
let n = ds.Dimensions["node"].Length
@@ -228,6 +295,21 @@ let readSalinity (ds: DataSet) t l =
Log.Error $"{e}"
Array.empty
let readSalinityBlock (ds: DataSet) t =
try
let n = ds.Dimensions["node"].Length
let l = ds.Dimensions["siglay"].Length
let sal =
ds["salinity"]
.GetData([| t; 0; 0 |], [| 1; l; n |])
:?> single [,,]
sal[0, *, *]
with
| e ->
Log.Error $"{e}"
Array2D.zeroCreate 0 0
let readArt1 (ds: DataSet) =
try
ds[ "art1" ].GetData() :?> single []