Dear all,
Attached is my FORTRAN subroutine for writing compound datatypes in HDF5
format and its output dumped in ascii file. The dataset "ep_data" is
written without problem. However, my "den_data" dataset, which I
mimicked as a simple compound type in the h5write subroutine, actually
has variable length arrays and 1-member scalar fields. That is to say:
den_data(1)%biomass(5)
den_data(1)%age_start(5)
den_data(1)%mortality(5)
den_data(1)%qob(5)
den_data(1)%leading(5)
den_data(1)%vbk
den_data(1)%rec_power
den_data(1)%rel_ba
den_data(1)%Wage(120)
den_data(1)%WWa(120)
den_data(1)%survive(120)
den_data(1)%splitno(120)
and in den_data(2) the fields are also variable in length and has
different lengths from the fields of den_data(1), like:
den_data(2)%biomass(3)
den_data(2)%age_start(3)
den_data(2)%mortality(3)
den_data(2)%qob(3)
den_data(2)%leading(3)
den_data(2)%vbk
den_data(2)%rec_power
den_data(2)%rel_ba
den_data(2)%Wage(90)
den_data(2)%WWa(90)
den_data(2)%survive(90)
den_data(2)%splitno(90)
and it keeps continuing up to den_data(n). I kindly ask your suggestions
about storing this data as a compound type with variable length fields
without using pointers as explained in h5ex_t_vlen_F03.f90
<http://www.hdfgroup.org/ftp/HDF5/examples/examples-by-api/hdf5-examples/1_8/FORTRAN/H5T/h5ex_t_vlen_F03.f90>
example script on HDF GROUP web site. Thank you in advance for your
concerns.
Best regards,
--
*Ekin Akoglu*
Research Assistant
Institute of Marine Sciences
Middle East Technical University
P.O. Box 28, 33731
Erdemli, Mersin
Turkey
Web: www.ims.metu.edu.tr
Email: [email protected] <mailto:[email protected]>
Phone: +90 324 521 34 34
GSM: +90 506 554 03 90
Fax: +90 324 521 23 27
subroutine h5write(nvars, nstanzas, drows, dcols, ep_data, ms_data, ep_diet)
use statevartypesEcopath_mod
use iso_c_binding
use hdf5
implicit none
type deneme
real :: biomass
real :: age_start
real :: mortality
real :: qob
integer :: leading
real :: vbk
real :: rec_power
real :: rel_ba
real :: Wage
real :: WWa
real :: survive
real :: splitno
end type deneme
! This is the name of the data file we will read.
character (len = 9), parameter :: filename = "ep_res.h5"
character (len = 7), parameter :: dsetname0 = "ep_data" ! name of the Ecopath base dataset
character (len = 7), parameter :: dsetname1 = "ms_data" ! name of the Ecopath multistanza dataset
! variables inherited from Ecopath model
integer(8), intent(in) :: nvars, nstanzas, drows, dcols
type(ecopath_data), intent(in), target :: ep_data
type(multi_stanza), intent(in), target :: ms_data(nstanzas)
type(deneme), target :: den_data(4)
real(4), intent(in), target :: ep_diet(drows, dcols)
! in-subroutine variable declarations for ep_data
integer(8), parameter :: ep_dim0 = 52 ! dimension of ep_data
integer :: hdferr ! variable to handle errors
integer(hid_t) :: file_id, plist_id ! file identifier of the output file
integer(hid_t) :: dset_id ! dataset identifier
integer(hid_t) :: dtype_id, dt1_id ! dataset type identifier
integer(4) :: dspace_id ! dataspace identifier
integer(hid_t) :: memtype
integer(8) :: type_size, offset
integer(8) :: type_sizei, type_sizer
integer(hsize_t), DIMENSION(1) :: ep_dims = (/ep_dim0/)
type(c_ptr) :: f_ptr
! in-subroutine variable declarations for ms_data
integer , parameter :: ms_dim0 = 4 ! number of stanzas
integer(hid_t) :: file, filetype, space, dset ! Handles
integer(hsize_t), dimension(1:1) :: ms_dims = (/ms_dim0/)
integer(hsize_t), dimension(1:2) :: maxdims
! initialize FORTRAN interface
call h5open_f(hdferr)
call h5pcreate_f(H5P_DATASET_XFER_F, plist_id, hdferr)
call h5pset_preserve_f(plist_id, .TRUE., hdferr)
! create file, if it already exists overwrite (H%F_ACC_TRUNC_F)
call h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, hdferr)
! get size of each member in the compound datatype
call h5tget_size_f(H5T_NATIVE_INTEGER, type_sizei, hdferr)
call h5tget_size_f(H5T_NATIVE_REAL, type_sizer, hdferr)
type_size = (19 * type_sizer) + (5 * type_sizei)
! create the compound datatype for memory
call h5tcreate_f(H5T_COMPOUND_F, type_size, memtype, hdferr)
! insert members
offset = 0
call h5tinsert_f(memtype, "biomass", offset, H5T_NATIVE_REAL, hdferr)
offset = offset + type_sizer
call h5tinsert_f(memtype, "pob", offset, H5T_NATIVE_REAL, hdferr)
offset = offset + type_sizer
call h5tinsert_f(memtype, "qob", offset, H5T_NATIVE_REAL, hdferr)
offset = offset + type_sizer
call h5tinsert_f(memtype, "ee", offset, H5T_NATIVE_REAL, hdferr)
offset = offset + type_sizer
call h5tinsert_f(memtype, "poq", offset, H5T_NATIVE_REAL, hdferr)
offset = offset + type_sizer
call h5tinsert_f(memtype, "unass_q", offset, H5T_NATIVE_REAL, hdferr)
offset = offset + type_sizer
call h5tinsert_f(memtype, "detritus_import", offset, H5T_NATIVE_REAL, hdferr)
offset = offset + type_sizer
call h5tinsert_f(memtype, "immig", offset, H5T_NATIVE_REAL, hdferr)
offset = offset + type_sizer
call h5tinsert_f(memtype, "emig", offset, H5T_NATIVE_REAL, hdferr)
offset = offset + type_sizer
call h5tinsert_f(memtype, "emig_rate", offset, H5T_NATIVE_REAL, hdferr)
offset = offset + type_sizer
call h5tinsert_f(memtype, "ba", offset, H5T_NATIVE_REAL, hdferr)
offset = offset + type_sizer
call h5tinsert_f(memtype, "ba_rate", offset, H5T_NATIVE_REAL, hdferr)
offset = offset + type_sizer
call h5tinsert_f(memtype, "landings", offset, H5T_NATIVE_REAL, hdferr)
offset = offset + type_sizei
call h5tinsert_f(memtype, "org_type", offset, H5T_NATIVE_INTEGER, hdferr)
offset = offset + type_sizei
call h5tinsert_f(memtype, "stanza", offset, H5T_NATIVE_INTEGER, hdferr)
offset = offset + type_sizei
call h5tinsert_f(memtype, "stanza_no", offset, H5T_NATIVE_INTEGER, hdferr)
offset = offset + type_sizei
call h5tinsert_f(memtype, "age_start", offset, H5T_NATIVE_INTEGER, hdferr)
offset = offset + type_sizei
call h5tinsert_f(memtype, "leading", offset, H5T_NATIVE_INTEGER, hdferr)
offset = offset + type_sizer
call h5tinsert_f(memtype, "production", offset, H5T_NATIVE_REAL, hdferr)
offset = offset + type_sizer
call h5tinsert_f(memtype, "consumption", offset, H5T_NATIVE_REAL, hdferr)
offset = offset + type_sizer
call h5tinsert_f(memtype, "respiration", offset, H5T_NATIVE_REAL, hdferr)
offset = offset + type_sizer
call h5tinsert_f(memtype, "assimilation", offset, H5T_NATIVE_REAL, hdferr)
offset = offset + type_sizer
call h5tinsert_f(memtype, "eatenof", offset, H5T_NATIVE_REAL, hdferr)
offset = offset + type_sizer
call h5tinsert_f(memtype, "eatenby", offset, H5T_NATIVE_REAL, hdferr)
call h5screate_simple_f(1, ep_dims, dspace_id, hdferr)
call h5dcreate_f(file_id, dsetname0, memtype, dspace_id, dset_id, hdferr)
f_ptr = C_LOC(ep_data)
call h5dwrite_f(dset_id, memtype, f_ptr, hdferr)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! second data
den_data(1)%biomass = 3.1
den_data(1)%age_start = 3.2
den_data(1)%mortality = 3.3
den_data(1)%qob = 3.4
den_data(1)%leading = 1
den_data(1)%vbk = 3.5
den_data(1)%rec_power = 3.6
den_data(1)%rel_ba = 3.7
den_data(1)%Wage = 3.8
den_data(1)%WWa = 3.9
den_data(1)%survive = 4.0
den_data(1)%splitno = 4.1
den_data(2)%biomass = 3.1
den_data(2)%age_start = 3.2
den_data(2)%mortality = 3.3
den_data(2)%qob = 3.4
den_data(2)%leading = 1
den_data(2)%vbk = 3.5
den_data(2)%rec_power = 3.6
den_data(2)%rel_ba = 3.7
den_data(2)%Wage = 3.8
den_data(2)%WWa = 3.9
den_data(2)%survive = 4.0
den_data(2)%splitno = 4.1
den_data(3)%biomass = 3.1
den_data(3)%age_start = 3.2
den_data(3)%mortality = 3.3
den_data(3)%qob = 3.4
den_data(3)%leading = 1
den_data(3)%vbk = 3.5
den_data(3)%rec_power = 3.6
den_data(3)%rel_ba = 3.7
den_data(3)%Wage = 3.8
den_data(3)%WWa = 3.9
den_data(3)%survive = 4.0
den_data(3)%splitno = 4.1
den_data(4)%biomass = 3.1
den_data(4)%age_start = 3.2
den_data(4)%mortality = 3.3
den_data(4)%qob = 3.4
den_data(4)%leading = 1
den_data(4)%vbk = 3.5
den_data(4)%rec_power = 3.6
den_data(4)%rel_ba = 3.7
den_data(4)%Wage = 3.8
den_data(4)%WWa = 3.9
den_data(4)%survive = 4.0
den_data(4)%splitno = 4.1
! Create the compound datatype for memory.
!
CALL h5tcreate_f(H5T_COMPOUND_F, H5OFFSETOF(C_LOC(den_data(1)), C_LOC(den_data(2))), memtype, hdferr)
CALL h5tinsert_f(memtype, "biomass", &
H5OFFSETOF(C_LOC(den_data(1)),C_LOC(den_data(1)%biomass)), H5T_NATIVE_REAL, hdferr)
CALL h5tinsert_f(memtype, "age_start", &
H5OFFSETOF(C_LOC(den_data(1)),C_LOC(den_data(1)%age_start)), H5T_NATIVE_REAL, hdferr)
CALL h5tinsert_f(memtype, "mortality", &
H5OFFSETOF(C_LOC(den_data(1)),C_LOC(den_data(1)%mortality)), H5T_NATIVE_REAL, hdferr)
CALL h5tinsert_f(memtype, "qob", &
H5OFFSETOF(C_LOC(den_data(1)),C_LOC(den_data(1)%qob)), H5T_NATIVE_REAL, hdferr)
CALL h5tinsert_f(memtype, "leading", &
H5OFFSETOF(C_LOC(den_data(1)),C_LOC(den_data(1)%leading)), H5T_NATIVE_INTEGER, hdferr)
CALL h5tinsert_f(memtype, "vbk", &
H5OFFSETOF(C_LOC(den_data(1)),C_LOC(den_data(1)%vbk)), H5T_NATIVE_REAL, hdferr)
CALL h5tinsert_f(memtype, "rec_power", &
H5OFFSETOF(C_LOC(den_data(1)),C_LOC(den_data(1)%rec_power)), H5T_NATIVE_REAL, hdferr)
CALL h5tinsert_f(memtype, "rel_ba", &
H5OFFSETOF(C_LOC(den_data(1)),C_LOC(den_data(1)%rel_ba)), H5T_NATIVE_REAL, hdferr)
CALL h5tinsert_f(memtype, "Wage", &
H5OFFSETOF(C_LOC(den_data(1)),C_LOC(den_data(1)%Wage)), H5T_NATIVE_REAL, hdferr)
CALL h5tinsert_f(memtype, "WWa", &
H5OFFSETOF(C_LOC(den_data(1)),C_LOC(den_data(1)%WWa)), H5T_NATIVE_REAL, hdferr)
CALL h5tinsert_f(memtype, "survive", &
H5OFFSETOF(C_LOC(den_data(1)),C_LOC(den_data(1)%survive)), H5T_NATIVE_REAL, hdferr)
CALL h5tinsert_f(memtype, "splitno", &
H5OFFSETOF(C_LOC(den_data(1)),C_LOC(den_data(1)%splitno)), H5T_NATIVE_REAL, hdferr)
! Create array datatypes for file and memory.
!
!CALL H5Tarray_create_f(INT(H5T_STD_I64LE, HID_T), 2, ms_adims, filetype, hdferr)
!CALL H5Tarray_create_f(H5T_NATIVE_INTEGER, 2, ms_adims, memtype, hdferr)
!
! Create dataspace. Setting maximum size to be the current size.
!
CALL h5screate_simple_f(1, ms_dims, space, hdferr)
!
! Create the dataset and write the array data to it.
!
CALL h5dcreate_f(file_id, dsetname1, memtype, space, dset, hdferr)
f_ptr = C_LOC(den_data(1))
CALL h5dwrite_f(dset, memtype, f_ptr, hdferr)
end subroutine h5write
HDF5 "ep_res.h5" {
GROUP "/" {
DATASET "ep_data" {
DATATYPE H5T_COMPOUND {
H5T_IEEE_F32LE "biomass";
H5T_IEEE_F32LE "pob";
H5T_IEEE_F32LE "qob";
H5T_IEEE_F32LE "ee";
H5T_IEEE_F32LE "poq";
H5T_IEEE_F32LE "unass_q";
H5T_IEEE_F32LE "detritus_import";
H5T_IEEE_F32LE "immig";
H5T_IEEE_F32LE "emig";
H5T_IEEE_F32LE "emig_rate";
H5T_IEEE_F32LE "ba";
H5T_IEEE_F32LE "ba_rate";
H5T_IEEE_F32LE "landings";
H5T_STD_I32LE "org_type";
H5T_STD_I32LE "stanza";
H5T_STD_I32LE "stanza_no";
H5T_STD_I32LE "age_start";
H5T_STD_I32LE "leading";
H5T_IEEE_F32LE "production";
H5T_IEEE_F32LE "consumption";
H5T_IEEE_F32LE "respiration";
H5T_IEEE_F32LE "assimilation";
H5T_IEEE_F32LE "eatenof";
H5T_IEEE_F32LE "eatenby";
}
DATASPACE SIMPLE { ( 52 ) / ( 52 ) }
DATA {
(0): {
0.000216966,
5,
25.5103,
0.106864,
0.195999,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
1,
1,
0,
0,
0.00108483,
0.00553488,
0.00334307,
0.00442791,
0.000115929,
0.00553488
},
(1): {
0.0184969,
2,
6.2675,
0.00797311,
0.319107,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
1,
1,
3,
0,
0.0369937,
0.115929,
0.0557495,
0.0927432,
0.000294955,
0.115929
},
(2): {
0.227182,
0.9,
2.36258,
0,
0.380939,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
1,
1,
12,
0,
0.204464,
0.536735,
0.224925,
0.429388,
0,
0.536735
},
(3): {
0.0984331,
0.62,
1.4981,
0.573503,
0.413857,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0.035,
2,
1,
1,
48,
0,
0.0610285,
0.147463,
0.0569416,
0.11797,
0,
0.147463
},
(4): {
0.02,
0.6,
1.3,
0,
0.461538,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
1,
1,
90,
1,
0.012,
0.026,
0.0088,
0.0208,
0,
0.026
},
(5): {
0.000273548,
8,
17.5197,
0.112451,
0.456629,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
1,
2,
0,
0,
0.00218839,
0.00479249,
0.0016456,
0.00383399,
0.000246085,
0.00479249
},
(6): {
0.00415257,
3.5,
5.91079,
0.00329216,
0.592137,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
1,
2,
3,
0,
0.014534,
0.0245449,
0.00510198,
0.019636,
4.78482e-05,
0.0245449
},
(7): {
0.0272239,
1.1,
2.63693,
0,
0.417152,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
1,
2,
8,
0,
0.0299463,
0.0717874,
0.0274837,
0.0574299,
0,
0.0717874
},
(8): {
0.108115,
0.6,
1.51459,
0.0770783,
0.396146,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0.005,
2,
1,
2,
18,
0,
0.0648691,
0.16375,
0.0661312,
0.131,
0,
0.16375
},
(9): {
0.3,
0.55,
0.98,
0.0030303,
0.561225,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0.0005,
2,
1,
2,
36,
1,
0.165,
0.294,
0.0702,
0.2352,
0,
0.294
},
(10): {
9.0944e-05,
6,
23.1713,
0.366563,
0.258941,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
1,
3,
0,
0,
0.000545664,
0.00210729,
0.00114017,
0.00168583,
0.00020002,
0.00210729
},
(11): {
0.0259649,
1.4,
4.01172,
0.135283,
0.348977,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
1,
3,
3,
0,
0.0363508,
0.104164,
0.0469803,
0.0833311,
0.00491765,
0.104164
},
(12): {
0.22,
0.7,
1.6,
0.330324,
0.4375,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0.05,
2,
1,
3,
18,
1,
0.154,
0.352,
0.1276,
0.2816,
0.000869924,
0.352
},
(13): {
1.96918e-05,
5,
37.8702,
0.22502,
0.13203,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
1,
4,
0,
0,
9.84591e-05,
0.000745733,
0.000498127,
0.000596587,
2.21552e-05,
0.000745733
},
(14): {
0.00252294,
1.2,
8.78064,
0.428396,
0.136664,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
1,
4,
3,
0,
0.00302752,
0.022153,
0.0146949,
0.0177224,
0.00129698,
0.022153
},
(15): {
0.1,
0.7,
2.7,
0.237085,
0.259259,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0.0165,
2,
1,
4,
12,
1,
0.07,
0.27,
0.146,
0.216,
9.59223e-05,
0.27
},
(16): {
0.064843,
6.7,
56.6665,
0.109991,
0.118236,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
1,
5,
0,
0,
0.434448,
3.67442,
2.50509,
2.93954,
0.0477852,
3.67442
},
(17): {
0.522367,
1.8,
18.2253,
0.283774,
0.0987637,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0.25,
2,
1,
5,
6,
0,
0.94026,
9.5203,
6.67598,
7.61624,
0.0168217,
9.5203
},
(18): {
2.8,
0.8,
8,
0.223662,
0.1,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0.5,
2,
1,
5,
18,
1,
2.24,
22.4,
15.68,
17.92,
0.00100244,
22.4
},
(19): {
1.24145e-06,
4,
82.5582,
0.096346,
0.0484506,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
1,
6,
0,
0,
4.96579e-06,
0.000102492,
7.70276e-05,
8.19933e-05,
4.78434e-07,
0.000102492
},
(20): {
0.0183,
0.5,
6,
0.546448,
0.0833333,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0.005,
2,
1,
6,
3,
1,
0.00915,
0.1098,
0.07869,
0.08784,
0,
0.1098
},
(21): {
0.00978702,
2.8,
17.8409,
0.113569,
0.156943,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
1,
7,
0,
0,
0.0274037,
0.174609,
0.112284,
0.139687,
0.00311219,
0.174609
},
(22): {
0.089,
1.6,
6,
0.0836668,
0.266667,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0.01,
2,
1,
7,
10,
1,
0.1424,
0.534,
0.2848,
0.4272,
0.00191415,
0.534
},
(23): {
0.0239217,
0.6,
2,
0.6,
0.3,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
0,
-999,
-999,
-999,
0.014353,
0.0478434,
0.0239217,
0.0382747,
0.00842042,
0.0478434
},
(24): {
0.38501,
2.53,
14,
0.6,
0.180714,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0.02,
2,
0,
-999,
-999,
-999,
0.974076,
5.39014,
3.33804,
4.31211,
0.564446,
5.39014
},
(25): {
0.32,
1.019,
8,
0.564425,
0.127375,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0.001,
2,
0,
-999,
-999,
-999,
0.32608,
2.56,
1.72192,
2.048,
0.183048,
2.56
},
(26): {
0.69,
1.1,
12,
0.163605,
0.0916667,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
0,
-999,
-999,
-999,
0.759,
8.28,
5.865,
6.624,
0.124176,
8.28
},
(27): {
0.09,
1.4,
9,
0.937981,
0.155556,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0.001,
2,
0,
-999,
-999,
-999,
0.126,
0.81,
0.522,
0.648,
0.117186,
0.81
},
(28): {
0.08,
1.6,
12.106,
0.580881,
0.132166,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0.001,
2,
0,
-999,
-999,
-999,
0.128,
0.96848,
0.646784,
0.774784,
0.0733527,
0.96848
},
(29): {
0.1815,
1.9,
15,
0.440273,
0.126667,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
0,
-999,
-999,
-999,
0.34485,
2.7225,
1.83315,
2.178,
0.151828,
2.7225
},
(30): {
0.0389,
1.31,
12.5,
0.185395,
0.1048,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
0,
-999,
-999,
-999,
0.050959,
0.48625,
0.338041,
0.389,
0.00944756,
0.48625
},
(31): {
0.12079,
1.2,
14,
0.6,
0.0857143,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0.01,
2,
0,
-999,
-999,
-999,
0.144948,
1.69106,
1.2079,
1.35285,
0.076969,
1.69106
},
(32): {
0.13644,
2.3,
16,
0.488413,
0.14375,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
0,
-999,
-999,
-999,
0.313812,
2.18304,
1.43262,
1.74643,
0.15327,
2.18304
},
(33): {
0.0565,
0.8,
7.6,
0.0140064,
0.105263,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
0,
-999,
-999,
-999,
0.0452,
0.4294,
0.29832,
0.34352,
0.000633087,
0.4294
},
(34): {
0.037,
1.2,
12,
0.24932,
0.1,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
0,
-999,
-999,
-999,
0.0444,
0.444,
0.3108,
0.3552,
0.0110698,
0.444
},
(35): {
1.25845,
2.4,
18,
0.6,
0.133333,
0.4,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
0,
-999,
-999,
-999,
3.02029,
22.6522,
10.571,
13.5913,
1.81217,
22.6522
},
(36): {
0.08,
5.2,
19.2,
0.900074,
0.270833,
0.4,
-999,
-999,
-999,
-999,
-999,
-999,
0.001,
2,
0,
-999,
-999,
-999,
0.416,
1.536,
0.5056,
0.9216,
0.373431,
1.536
},
(37): {
0.0824825,
2,
7,
0.4,
0.285714,
0.35,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
0,
-999,
-999,
-999,
0.164965,
0.577378,
0.21033,
0.375295,
0.0648312,
0.577378
},
(38): {
0.122,
2.4,
8.5,
0.789686,
0.282353,
0.35,
-999,
-999,
-999,
-999,
-999,
-999,
0.099,
2,
0,
-999,
-999,
-999,
0.2928,
1.037,
0.38125,
0.67405,
0.13222,
1.037
},
(39): {
0.9,
2.5,
10,
0.0791861,
0.25,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
0,
-999,
-999,
-999,
2.25,
9,
4.95,
7.2,
0.178169,
9
},
(40): {
0.05,
2.5,
10,
0.425705,
0.25,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
0,
-999,
-999,
-999,
0.125,
0.5,
0.275,
0.4,
0.0532132,
0.5
},
(41): {
0.1,
0.8,
4,
0.968066,
0.2,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
0,
-999,
-999,
-999,
0.08,
0.4,
0.24,
0.32,
0.0774453,
0.4
},
(42): {
0.0256354,
1.5,
7.5,
0.75,
0.2,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
0,
-999,
-999,
-999,
0.038453,
0.192265,
0.115359,
0.153812,
0.0288398,
0.192265
},
(43): {
4,
0.3,
1,
0,
0.3,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
0,
-999,
-999,
-999,
1.2,
4,
2,
3.2,
0,
4
},
(44): {
6.4804,
4.5,
22,
0.8,
0.204545,
0.4,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
0,
-999,
-999,
-999,
29.1618,
142.569,
56.3795,
85.5413,
21.4335,
142.569
},
(45): {
1.20711,
22,
67,
0.6,
0.328358,
0.4,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
0,
-999,
-999,
-999,
26.5564,
80.8762,
21.9694,
48.5257,
15.9338,
80.8762
},
(46): {
0.786134,
36,
89,
0.6,
0.404494,
0.4,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
0,
-999,
-999,
-999,
28.3008,
69.9659,
13.6787,
41.9795,
16.9105,
69.9659
},
(47): {
20,
2,
10,
0.1,
0.2,
0.2,
-999,
-999,
-999,
-999,
-999,
-999,
0,
2,
0,
-999,
-999,
-999,
40,
200,
120,
160,
4,
200
},
(48): {
29.778,
25,
-999,
0.058693,
-999,
-999,
-999,
-999,
-999,
-999,
-999,
-999,
0,
1,
0,
-999,
-999,
-999,
744.45,
0,
0,
0,
43.694,
0
},
(49): {
175.617,
9.014,
-999,
0.0020575,
-999,
-999,
-999,
-999,
-999,
-999,
-999,
-999,
0,
1,
0,
-999,
-999,
-999,
1583.01,
0,
0,
0,
3.25704,
0
},
(50): {
25,
182.13,
-999,
0.0773705,
-999,
-999,
-999,
-999,
-999,
-999,
-999,
-999,
0,
1,
0,
-999,
-999,
-999,
4553.25,
0,
0,
0,
352.287,
0
},
(51): {
10,
-999,
-999,
0.0198823,
-999,
-999,
0,
-999,
-999,
-999,
-999,
-999,
0,
0,
0,
-999,
-999,
-999,
0,
0,
0,
0,
133.983,
0
}
}
}
DATASET "ms_data" {
DATATYPE H5T_COMPOUND {
H5T_IEEE_F32LE "biomass";
H5T_IEEE_F32LE "age_start";
H5T_IEEE_F32LE "mortality";
H5T_IEEE_F32LE "qob";
H5T_STD_I32LE "leading";
H5T_IEEE_F32LE "vbk";
H5T_IEEE_F32LE "rec_power";
H5T_IEEE_F32LE "rel_ba";
H5T_IEEE_F32LE "Wage";
H5T_IEEE_F32LE "WWa";
H5T_IEEE_F32LE "survive";
H5T_IEEE_F32LE "splitno";
}
DATASPACE SIMPLE { ( 4 ) / ( 4 ) }
DATA {
(0): {
3.1,
3.2,
3.3,
3.4,
1,
3.5,
3.6,
3.7,
3.8,
3.9,
4,
4.1
},
(1): {
3.1,
3.2,
3.3,
3.4,
1,
3.5,
3.6,
3.7,
3.8,
3.9,
4,
4.1
},
(2): {
3.1,
3.2,
3.3,
3.4,
1,
3.5,
3.6,
3.7,
3.8,
3.9,
4,
4.1
},
(3): {
3.1,
3.2,
3.3,
3.4,
1,
3.5,
3.6,
3.7,
3.8,
3.9,
4,
4.1
}
}
}
}
}
_______________________________________________
Hdf-forum is for HDF software users discussion.
[email protected]
http://mail.hdfgroup.org/mailman/listinfo/hdf-forum_hdfgroup.org