![]() |
Module that contains necessary subroutines to write abundances to an hdf5 file. More...
Functions/Subroutines | |
subroutine, public | init_hdf5_module () |
Initialize the hdf5 module. More... | |
subroutine, private | init_flow |
Initialize the flow output. More... | |
subroutine, private | init_nu_loss_gain |
Initialize neutrino loss/gain output. More... | |
subroutine, public | extend_nu_loss_gain (time, temp, dens, rad, the, heat, bet) |
Write neutrino gain and loss. More... | |
subroutine, private | write_nu_loss_gain |
Write the neutrino loss/gain into the hdf5 file. More... | |
subroutine, private | init_engen (include_decay) |
Initialize energy generation output. More... | |
subroutine, public | extend_engen (time, engen_tot, heat, engen_ng_gn, engen_pg_gp, engen_ag_ga, engen_np_pn, engen_an_na, engen_ap_pa, engen_beta, engen_fiss, det_bet_engen, det_ag_engen, det_pg_engen, det_ng_engen, det_pn_engen, det_ap_engen, det_an_engen, det_other_engen, det_fiss_engen, det_tot_engen, include_decay) |
Subroutine to write the energy generation per reaction type. More... | |
subroutine, private | write_engen (include_decay) |
Write energy generations and time into the hdf5 file. More... | |
subroutine, public | extend_flow (time, temp, dens, flow, n_flows, Y) |
Extend the flow in the file With every call a new group is created and the flows are written in this group. The group is named after the calls (the third call is then located in flows/3) More... | |
subroutine, private | init_snaps |
Initialize the snapshot hdf5 group. More... | |
subroutine, private | init_mainout |
Initialize the mainout hdf5 group. More... | |
subroutine, private | init_track_nuclei |
Initialize the tracked_nuclei hdf5 group. More... | |
subroutine, private | init_av_timescales |
Initialize the timescales hdf5 group. More... | |
subroutine, private | write_units () |
Write the units of the individual entries into the hdf5 file. More... | |
subroutine, public | write_finab (Y) |
Write final abundances into hdf5 file. More... | |
integer(hsize_t) function, private | create_1d_dataset (dsetname, group_id) |
Gets a dataset name and creates it. More... | |
integer(hsize_t) function, private | create_1d_int_dataset (dsetname, group_id) |
Gets a dataset name and creates an integer dataset. More... | |
subroutine, private | create_constant_1d_int_arrays (length, data, dsetname, group_id) |
Create a hdf5 entry with constant values. More... | |
subroutine, private | create_constant_1d_arrays (length, data, dsetname, group_id) |
Create a hdf5 entry with constant values. More... | |
subroutine, private | extend_1d_dataset (dset_id, value, in_size, chunksize) |
Extend a previously created 1D - dataset. More... | |
subroutine, private | extend_1d_int_dataset (dset_id, value, in_size, chunksize) |
Extend a previously created 1D integer - dataset. More... | |
subroutine, public | extend_av_timescales (time, tau_ga, tau_ag, tau_ng, tau_gn, tau_pg, tau_gp, tau_np, tau_pn, tau_an, tau_na, tau_ap, tau_pa, tau_beta, tau_alpha, tau_nfiss, tau_sfiss, tau_bfiss) |
Subroutine to write the average timescales (1/s) into the hdf5. More... | |
subroutine, private | write_av_timescales () |
Write average timescales and time into the hdf5 file. More... | |
subroutine, public | extend_track_nuclei (time, Y_array) |
Write tracked abundances and time into the hdf5 file. More... | |
subroutine, private | write_track_data () |
Write the abundances of track nuclei into a file. More... | |
subroutine, public | extend_snaps (time, Y_array) |
Write abundances and time into the hdf5 file. More... | |
subroutine, private | write_snaps () |
Write the abundances of all nuclei into a file. More... | |
subroutine, public | extend_mainout (cnt, time, temp, dens, entr, rad, Y) |
Write the mainout data to the hdf5. More... | |
subroutine, private | write_mainout_data () |
Write the mainout data into a file. More... | |
subroutine, private | extend_hdf5_y (dset_id, Y_array, nr_nuc, old_size, chunksize) |
Extend the Y dataset for the net timestep. More... | |
subroutine, public | hdf5_module_finalize () |
Finalize the hdf5 module. More... | |
Variables | |
integer(hid_t), private | file_id |
File identifier. More... | |
character(len=20), private | hdf5_filename ="WinNet_data.h5" |
Name of the hdf5 file. More... | |
logical, private | hdf5_output =.False. |
character(len= *), parameter, private | dsetname_u = "Units" |
Name of the units dataset. More... | |
integer(hsize_t), dimension(1), private | dims_1d =(/1/) |
Helper variable to specify 1 dimension. More... | |
integer(hid_t), private | dataspace |
Dataspace identifier. More... | |
integer(hid_t), private | crp_list |
Dataset creation property identifier. More... | |
integer(hsize_t), dimension(1:2), private | maxdims |
Maximum dimensions (later set to unlimited) More... | |
integer(hid_t), private | snaps_group_id |
The ID of the group. More... | |
integer, private | iter_snaps = 0 |
Iteration count, how often was already extended to the datasets? More... | |
integer, private | chunk_counter_snaps = 0 |
How full is the chunk already? More... | |
integer, parameter, private | chunk_size_snaps =200 |
Chunk size. More... | |
real(r_kind), dimension(chunk_size_snaps), private | chunk_store_snaps_time |
Storage for the chunk which is later written to the file. More... | |
real(r_kind), dimension(:,:), allocatable, private | chunk_store_snaps_y |
Storage for the chunk which is later written to the file. More... | |
integer(hid_t), private | dset_id_y |
Dataset identifier. More... | |
character(len= *), parameter, private | dsetname_y = "Y" |
Name of the dataset. More... | |
integer(hsize_t), dimension(1:2), private | dims_y |
Array dimensions (net_size) More... | |
character(len= *), parameter, private | snaps_dsetname_t = "time" |
Name of the dataset. More... | |
integer(hid_t), private | snaps_dset_id_t |
Dataset identifier. More... | |
integer(hid_t), private | mainout_group_id |
The ID of the group. More... | |
integer, private | iter_mainout = 0 |
Iteration count, how often was already extended to the datasets? More... | |
integer, private | chunk_counter_mainout = 0 |
How full is the chunk already? More... | |
integer, parameter, private | chunk_size_mainout =500 |
Chunk size. More... | |
real(r_kind), dimension(chunk_size_mainout, 13), private | chunk_store_mainout |
Storage for the chunk which is later written to the file. More... | |
integer, dimension(chunk_size_mainout), private | chunk_store_int_mainout |
Storage for integers in chunk which is later written to the file. More... | |
character(len= *), parameter, private | mainout_dsetname_iter = "iteration" |
Name of the dataset. More... | |
integer(hid_t), private | mainout_dset_id_iter |
Dataset identifier. More... | |
character(len= *), parameter, private | mainout_dsetname_t = "time" |
Name of the dataset. More... | |
integer(hid_t), private | mainout_dset_id_t |
Dataset identifier. More... | |
character(len= *), parameter, private | mainout_dsetname_temp = "temp" |
Name of the dataset. More... | |
integer(hid_t), private | mainout_dset_id_temp |
Dataset identifier. More... | |
character(len= *), parameter, private | mainout_dsetname_dens = "dens" |
Name of the dataset. More... | |
integer(hid_t), private | mainout_dset_id_dens |
Dataset identifier. More... | |
character(len= *), parameter, private | mainout_dsetname_entr = "entr" |
Name of the dataset. More... | |
integer(hid_t), private | mainout_dset_id_entr |
Dataset identifier. More... | |
character(len= *), parameter, private | mainout_dsetname_rad = "rad" |
Name of the dataset. More... | |
integer(hid_t), private | mainout_dset_id_rad |
Dataset identifier. More... | |
character(len= *), parameter, private | mainout_dsetname_ye = "ye" |
Name of the dataset. More... | |
integer(hid_t), private | mainout_dset_id_ye |
Dataset identifier. More... | |
character(len= *), parameter, private | mainout_dsetname_yn = "yn" |
Name of the dataset. More... | |
integer(hid_t), private | mainout_dset_id_yn |
Dataset identifier. More... | |
character(len= *), parameter, private | mainout_dsetname_yp = "yp" |
Name of the dataset. More... | |
integer(hid_t), private | mainout_dset_id_yp |
Dataset identifier. More... | |
character(len= *), parameter, private | mainout_dsetname_ya = "ya" |
Name of the dataset. More... | |
integer(hid_t), private | mainout_dset_id_ya |
Dataset identifier. More... | |
character(len= *), parameter, private | mainout_dsetname_ylight = "ylight" |
Name of the dataset. More... | |
integer(hid_t), private | mainout_dset_id_ylight |
Dataset identifier. More... | |
character(len= *), parameter, private | mainout_dsetname_yheavy = "yheavy" |
Name of the dataset. More... | |
integer(hid_t), private | mainout_dset_id_yheavy |
Dataset identifier. More... | |
character(len= *), parameter, private | mainout_dsetname_abar = "abar" |
Name of the dataset. More... | |
integer(hid_t), private | mainout_dset_id_abar |
Dataset identifier. More... | |
character(len= *), parameter, private | mainout_dsetname_zbar = "zbar" |
Name of the dataset. More... | |
integer(hid_t), private | mainout_dset_id_zbar |
Dataset identifier. More... | |
integer(hid_t), private | track_group_id |
The ID of the group. More... | |
integer, private | iter_tracked = 0 |
Iteration count, how often was already extended to the datasets? More... | |
integer, private | chunk_counter_track = 0 |
How full is the chunk already? More... | |
integer, parameter, private | chunk_size_track =500 |
Chunk size. More... | |
real(r_kind), dimension(:,:), allocatable, private | chunk_store_track |
Temporary storage for tracked nuclei. More... | |
character(len= *), parameter, private | tracked_dsetname_t = "time" |
Name of the dataset. More... | |
integer(hid_t), private | tracked_dset_id_t |
Dataset identifier. More... | |
integer(hsize_t), dimension(1:2), private | dims_track |
Array dimensions. More... | |
character(len=5), dimension(:), allocatable, private | tracked_names |
Names of the tracked nuclei. More... | |
integer(hid_t), private | tracked_abu_id |
Dataset identifier. More... | |
character(len= *), parameter, private | tracked_dsetname_y = "Y" |
Name of the dataset. More... | |
integer(hid_t), private | ts_group_id |
The ID of the group. More... | |
integer, private | iter_ts = 0 |
Iteration count, how often was already extended to the datasets? More... | |
integer, private | chunk_counter_ts = 0 |
How full is the chunk already? More... | |
integer, parameter, private | chunk_size_ts =500 |
Chunk size. More... | |
real(r_kind), dimension(chunk_size_ts, 18), private | chunk_store_ts |
Temporary storage for average timescales. More... | |
character(len= *), parameter, private | ts_dsetname_t = "time" |
Name of the dataset. More... | |
integer(hid_t), private | ts_dset_id_t |
Dataset identifier. More... | |
character(len=9), dimension(17), private | ts_names = (/"tau_ga ","tau_ag ","tau_ng ","tau_gn ","tau_pg ","tau_gp ","tau_np ", "tau_pn ","tau_an ","tau_na ","tau_ap ","tau_pa ","tau_beta ","tau_alpha", "tau_nfiss","tau_sfiss","tau_bfiss"/) |
Names of the timescales. More... | |
integer(hid_t), dimension(17), private | ts_reac_ids |
Dataset identifier. More... | |
integer(hid_t), private | en_group_id |
The ID of the group. More... | |
integer, private | iter_en = 0 |
Iteration count, how often was already extended to the datasets? More... | |
integer, private | chunk_counter_en = 0 |
How full is the chunk already? More... | |
integer, parameter, private | chunk_size_en =500 |
Chunk size. More... | |
real(r_kind), dimension(chunk_size_en, 11), private | chunk_store_en |
Temporary storage for energy generation. More... | |
real(r_kind), dimension(:,:), allocatable, private | chunk_store_en_bet |
real(r_kind), dimension(:,:), allocatable, private | chunk_store_en_ag |
real(r_kind), dimension(:,:), allocatable, private | chunk_store_en_pg |
real(r_kind), dimension(:,:), allocatable, private | chunk_store_en_ng |
real(r_kind), dimension(:,:), allocatable, private | chunk_store_en_pn |
real(r_kind), dimension(:,:), allocatable, private | chunk_store_en_ap |
real(r_kind), dimension(:,:), allocatable, private | chunk_store_en_an |
real(r_kind), dimension(:,:), allocatable, private | chunk_store_en_other |
real(r_kind), dimension(:,:), allocatable, private | chunk_store_en_fiss |
real(r_kind), dimension(:,:), allocatable, private | chunk_store_en_tot |
character(len= *), parameter, private | en_dsetname_t = "time" |
Name of the dataset. More... | |
integer(hid_t), private | en_dset_id_t |
Dataset identifier. More... | |
character(len=11), dimension(10), private | en_names = (/"engen_tot ","S_src ","engen_ng_gn","engen_pg_gp","engen_ag_ga", "engen_np_pn","engen_an_na","engen_ap_pa","engen_beta ", "engen_fiss "/) |
Name of the energy generations. More... | |
integer(hid_t), dimension(10), private | en_reac_ids |
Dataset identifier. More... | |
character(len=14), private | en_det_bet_name ="detailed decay" |
character(len=14), private | en_det_ag_name ="detailed (a,g)" |
character(len=14), private | en_det_pg_name ="detailed (p,g)" |
character(len=14), private | en_det_ng_name ="detailed (n,g)" |
character(len=14), private | en_det_pn_name ="detailed (p,n)" |
character(len=14), private | en_det_ap_name ="detailed (a,p)" |
character(len=14), private | en_det_an_name ="detailed (a,n)" |
character(len=14), private | en_det_other_name ="detailed other" |
character(len=14), private | en_det_fiss_name ="detailed fiss " |
character(len=14), private | en_det_tot_name ="detailed total" |
integer(hid_t), private | en_det_bet_id |
integer(hid_t), private | en_det_ag_id |
integer(hid_t), private | en_det_pg_id |
integer(hid_t), private | en_det_ng_id |
integer(hid_t), private | en_det_pn_id |
integer(hid_t), private | en_det_ap_id |
integer(hid_t), private | en_det_an_id |
integer(hid_t), private | en_det_other_id |
integer(hid_t), private | en_det_fiss_id |
integer(hid_t), private | en_det_tot_id |
integer(hid_t), private | flow_group_id |
The ID of the group. More... | |
integer, private | iter_flow = 0 |
Iteration count, how often was already extended to the datasets? More... | |
character(len= *), parameter, private | flow_dsetname_t = "time" |
Name of the dataset. More... | |
integer(hid_t), private | flow_dset_id_t |
Dataset identifier. More... | |
integer(hid_t), private | nuloss_group_id |
The ID of the group. More... | |
integer, private | iter_nuloss = 0 |
Iteration count, how often was already extended to the datasets? More... | |
integer, private | chunk_counter_nuloss = 0 |
How full is the chunk already? More... | |
integer, parameter, private | chunk_size_nuloss =500 |
Chunk size. More... | |
real(r_kind), dimension(chunk_size_nuloss), private | chunk_store_nuloss_t |
real(r_kind), dimension(chunk_size_nuloss), private | chunk_store_nuloss_temp |
real(r_kind), dimension(chunk_size_nuloss), private | chunk_store_nuloss_dens |
real(r_kind), dimension(chunk_size_nuloss), private | chunk_store_nuloss_rad |
real(r_kind), dimension(chunk_size_nuloss), private | chunk_store_nuloss_nut |
real(r_kind), dimension(chunk_size_nuloss), private | chunk_store_nuloss_bet |
real(r_kind), dimension(chunk_size_nuloss), private | chunk_store_nuloss_the |
real(r_kind), dimension(chunk_size_nuloss), private | chunk_store_nuloss_heat |
character(len= *), parameter, private | nuloss_dsetname_t = "time" |
Name of the dataset. More... | |
integer(hid_t), private | nuloss_dset_id_t |
Dataset identifier. More... | |
character(len= *), parameter, private | nuloss_dsetname_temp = "temp" |
Name of the dataset. More... | |
integer(hid_t), private | nuloss_dset_id_temp |
Dataset identifier. More... | |
character(len= *), parameter, private | nuloss_dsetname_dens = "dens" |
Name of the dataset. More... | |
integer(hid_t), private | nuloss_dset_id_dens |
Dataset identifier. More... | |
character(len= *), parameter, private | nuloss_dsetname_rad = "rad" |
Name of the dataset. More... | |
integer(hid_t), private | nuloss_dset_id_rad |
Dataset identifier. More... | |
character(len= *), parameter, private | nuloss_dsetname_nut = "nu_total" |
Name of the dataset. More... | |
integer(hid_t), private | nuloss_dset_id_nut |
Dataset identifier. More... | |
character(len= *), parameter, private | nuloss_dsetname_bet = "nu_beta" |
Name of the dataset. More... | |
integer(hid_t), private | nuloss_dset_id_bet |
Dataset identifier. More... | |
character(len= *), parameter, private | nuloss_dsetname_the = "nu_thermal" |
Name of the dataset. More... | |
integer(hid_t), private | nuloss_dset_id_the |
Dataset identifier. More... | |
character(len= *), parameter, private | nuloss_dsetname_heat = "nu_heat" |
Name of the dataset. More... | |
integer(hid_t), private | nuloss_dset_id_heat |
Dataset identifier. More... | |
integer(hid_t), private | finab_group_id |
The ID of the group. More... | |
Module that contains necessary subroutines to write abundances to an hdf5 file.
It is only included when the compilerflag "USE_HDF5" is set. For more information about the hdf5 format see What is HDF5?. There is a tradeoff between having the data in the memory and making an IO operation. Therefore, each output is first stored in a temporary array of a specific size (or chunksize) to prevent too much IO going on.
|
private |
Gets a dataset name and creates it.
Creates a 1d dataset in the hdf5 and returns its dataset ID.
[in] | dsetname | Name of the dataset |
[in] | group_id | Group identifier |
Definition at line 1403 of file hdf5_module.f90.
|
private |
Gets a dataset name and creates an integer dataset.
Creates a 1d dataset in the hdf5 and returns its dataset ID.
[in] | dsetname | Name of the dataset |
[in] | group_id | Group identifier |
Definition at line 1465 of file hdf5_module.f90.
|
private |
Create a hdf5 entry with constant values.
This is used for e.g., the flows
[in] | length | ID of the dataset |
[in] | data | Data values |
[in] | dsetname | Name of the dataset |
group_id | ID of the group |
Definition at line 1582 of file hdf5_module.f90.
|
private |
Create a hdf5 entry with constant values.
This is used for mass number, proton number, and neutron number.
[in] | length | ID of the dataset |
[in] | data | Data values |
[in] | dsetname | Name of the dataset |
group_id | ID of the group |
Definition at line 1525 of file hdf5_module.f90.
|
private |
Extend a previously created 1D - dataset.
The necessary input is the value and the id of the dataset only.
[in] | chunksize | Size of the amount of variables written |
[in] | value | New value that will get appended |
[in] | dset_id | ID of the dataset |
[in] | in_size | New size of the array |
Definition at line 1640 of file hdf5_module.f90.
|
private |
Extend a previously created 1D integer - dataset.
The necessary input is the value and the id of the dataset only.
[in] | chunksize | Size of the amount of variables written |
[in] | value | New value that will get appended |
[in] | dset_id | ID of the dataset |
[in] | in_size | New size of the array |
Definition at line 1698 of file hdf5_module.f90.
subroutine, public hdf5_module::extend_av_timescales | ( | real(r_kind), intent(in) | time, |
real(r_kind), intent(in) | tau_ga, | ||
real(r_kind), intent(in) | tau_ag, | ||
real(r_kind), intent(in) | tau_ng, | ||
real(r_kind), intent(in) | tau_gn, | ||
real(r_kind), intent(in) | tau_pg, | ||
real(r_kind), intent(in) | tau_gp, | ||
real(r_kind), intent(in) | tau_np, | ||
real(r_kind), intent(in) | tau_pn, | ||
real(r_kind), intent(in) | tau_an, | ||
real(r_kind), intent(in) | tau_na, | ||
real(r_kind), intent(in) | tau_ap, | ||
real(r_kind), intent(in) | tau_pa, | ||
real(r_kind), intent(in) | tau_beta, | ||
real(r_kind), intent(in) | tau_alpha, | ||
real(r_kind), intent(in) | tau_nfiss, | ||
real(r_kind), intent(in) | tau_sfiss, | ||
real(r_kind), intent(in) | tau_bfiss | ||
) |
Subroutine to write the average timescales (1/s) into the hdf5.
[in] | time | Time [s] |
[in] | tau_np | Timescales [1/s] |
[in] | tau_pa | Timescales [1/s] |
[in] | tau_alpha | Timescales [1/s] |
[in] | tau_bfiss | Timescales [1/s] |
Definition at line 1756 of file hdf5_module.f90.
subroutine, public hdf5_module::extend_engen | ( | real(r_kind), intent(in) | time, |
real(r_kind), intent(in) | engen_tot, | ||
real(r_kind), intent(in) | heat, | ||
real(r_kind), intent(in) | engen_ng_gn, | ||
real(r_kind), intent(in) | engen_pg_gp, | ||
real(r_kind), intent(in) | engen_ag_ga, | ||
real(r_kind), intent(in) | engen_np_pn, | ||
real(r_kind), intent(in) | engen_an_na, | ||
real(r_kind), intent(in) | engen_ap_pa, | ||
real(r_kind), intent(in) | engen_beta, | ||
real(r_kind), intent(in) | engen_fiss, | ||
real(r_kind), dimension(net_size), intent(in) | det_bet_engen, | ||
real(r_kind), dimension(net_size), intent(in) | det_ag_engen, | ||
real(r_kind), dimension(net_size), intent(in) | det_pg_engen, | ||
real(r_kind), dimension(net_size), intent(in) | det_ng_engen, | ||
real(r_kind), dimension(net_size), intent(in) | det_pn_engen, | ||
real(r_kind), dimension(net_size), intent(in) | det_ap_engen, | ||
real(r_kind), dimension(net_size), intent(in) | det_an_engen, | ||
real(r_kind), dimension(net_size), intent(in) | det_other_engen, | ||
real(r_kind), dimension(net_size), intent(in) | det_fiss_engen, | ||
real(r_kind), dimension(net_size), intent(in) | det_tot_engen, | ||
logical, intent(in) | include_decay | ||
) |
Subroutine to write the energy generation per reaction type.
[in] | time | Time [s] |
[in] | engen_pg_gp | Energy generation [erg/g/s] |
[in] | engen_an_na | Energy generation [erg/g/s] |
[in] | engen_fiss | Energy generation [erg/g/s] |
[in] | det_fiss_engen | Energy generation [erg/g/s] |
[in] | det_tot_engen | Energy generation [erg/g/s] |
[in] | include_decay | Write engen_decay_parents? |
Definition at line 657 of file hdf5_module.f90.
subroutine, public hdf5_module::extend_flow | ( | real(r_kind), intent(in) | time, |
real(r_kind), intent(in) | temp, | ||
real(r_kind), intent(in) | dens, | ||
type(flow_vector), dimension(n_flows), intent(in) | flow, | ||
integer, intent(in) | n_flows, | ||
real(r_kind), dimension(net_size), intent(in) | Y | ||
) |
Extend the flow in the file With every call a new group is created and the flows are written in this group. The group is named after the calls (the third call is then located in flows/3)
[in] | time | Value of the time |
[in] | temp | Value of the time |
[in] | dens | Value of the time |
[in] | n_flows | Maximum number of flows |
[in] | flow | Array with already calculated flows |
[in] | y | Array with abundances |
Definition at line 761 of file hdf5_module.f90.
|
private |
Extend the Y dataset for the net timestep.
The dimension of this is given by global_class::net_size and the current iteration iter.
[in] | dset_id | Dataset identifier |
[in] | nr_nuc | Amount of abundances |
[in] | old_size | Old length of arrays |
[in] | chunksize | Size of the chunk |
[in] | y_array | Abundance array to store |
Definition at line 2051 of file hdf5_module.f90.
subroutine, public hdf5_module::extend_mainout | ( | integer, intent(in) | cnt, |
real(r_kind), intent(in) | time, | ||
real(r_kind), intent(in) | temp, | ||
real(r_kind), intent(in) | dens, | ||
real(r_kind), intent(in) | entr, | ||
real(r_kind), intent(in) | rad, | ||
real(r_kind), dimension(net_size), intent(in) | Y | ||
) |
Write the mainout data to the hdf5.
This will write the iteration, time (s), temperature (GK), density (g/ccm), entropy(kB/nuc), radius (km), Ye, Yn, Yp, Ya, Ylight, Yheavy, abar, and zbar.
[in] | cnt | Iteration count |
[in] | time | Time [s] |
[in] | temp | Temperature [GK] |
[in] | dens | Density [g/ccm] |
[in] | entr | Entropy [kB/nuc] |
[in] | rad | Radius [km] |
[in] | y | Abundances |
Definition at line 1922 of file hdf5_module.f90.
subroutine, public hdf5_module::extend_nu_loss_gain | ( | real(r_kind), intent(in) | time, |
real(r_kind), intent(in) | temp, | ||
real(r_kind), intent(in) | dens, | ||
real(r_kind), intent(in) | rad, | ||
real(r_kind), intent(in) | the, | ||
real(r_kind), intent(in) | heat, | ||
real(r_kind), intent(in) | bet | ||
) |
Write neutrino gain and loss.
These values are stored in a separate group (called snapshots) that is initialized in init_hdf5_module.
[in] | time | Time [s] |
[in] | temp | Temperature [GK] |
[in] | dens | Density [g/cm^3] |
[in] | rad | Radius [km] |
[in] | the | Neutrino gain/loss thermal [MeV/baryon/s] |
[in] | heat | Neutrino gain/loss heating [MeV/baryon/s] |
[in] | bet | Neutrino gain/loss beta decay [MeV/baryon/s] |
Definition at line 414 of file hdf5_module.f90.
subroutine, public hdf5_module::extend_snaps | ( | real(r_kind), intent(in) | time, |
real(r_kind), dimension(net_size), intent(in) | Y_array | ||
) |
Write abundances and time into the hdf5 file.
These values are stored in a separate group (called snapshots) that is initialized in init_hdf5_module.
[in] | y_array | Abundance to store |
[in] | time | Time [s] |
Definition at line 1871 of file hdf5_module.f90.
subroutine, public hdf5_module::extend_track_nuclei | ( | real(r_kind), intent(in) | time, |
real(r_kind), dimension(net_size), intent(in) | Y_array | ||
) |
Write tracked abundances and time into the hdf5 file.
These values are stored in a separate group (called tracked_nuclei) that is initialized in init_hdf5_module.
[in] | y_array | Abundance to store |
[in] | time | Time [s] |
Definition at line 1812 of file hdf5_module.f90.
subroutine, public hdf5_module::hdf5_module_finalize |
Finalize the hdf5 module.
This subroutine closes all datasets, dataspaces, files and other things.
Definition at line 2096 of file hdf5_module.f90.
|
private |
Initialize the timescales hdf5 group.
This subroutine creates a timescales group and creates the dataspaces for all included timescales and the time.
Definition at line 1130 of file hdf5_module.f90.
|
private |
Initialize energy generation output.
[in] | include_decay | Flag that determines if decay energy per parent is written |
Definition at line 477 of file hdf5_module.f90.
|
private |
Initialize the flow output.
Definition at line 366 of file hdf5_module.f90.
subroutine, public hdf5_module::init_hdf5_module |
Initialize the hdf5 module.
Create the file and the datasets. Furthermore, initialize arrays.
Definition at line 292 of file hdf5_module.f90.
|
private |
Initialize the mainout hdf5 group.
This subroutine creates a mainout group and creates the dataspaces for all included quantities.
Definition at line 987 of file hdf5_module.f90.
|
private |
Initialize neutrino loss/gain output.
Definition at line 382 of file hdf5_module.f90.
|
private |
Initialize the snapshot hdf5 group.
This subroutine creates a snapshot group and writes mass number proton number and neutron number into it. Furthermore, it creates a dataspace for the abundances and the time. In addition a array that stores the abundances is initialized. This array is used to create larger chunks and reduce the IO when writing to the file on the cost of memory usage.
Definition at line 883 of file hdf5_module.f90.
|
private |
Initialize the tracked_nuclei hdf5 group.
This subroutine creates a tracked_nuclei group and creates the dataspaces for all included abundances and the time. Furthermore, it allocates a array to store the abundances over several iterations.
Definition at line 1034 of file hdf5_module.f90.
|
private |
Write average timescales and time into the hdf5 file.
These values are stored in a separate group (called timescales) that is initialized in init_hdf5_module.
Definition at line 1789 of file hdf5_module.f90.
|
private |
Write energy generations and time into the hdf5 file.
These values are stored in a separate group (called energy) that is initialized in init_hdf5_module.
[in] | include_decay | Write engen_decay? |
Definition at line 721 of file hdf5_module.f90.
subroutine, public hdf5_module::write_finab | ( | real(r_kind), dimension(net_size), intent(in) | Y | ) |
Write final abundances into hdf5 file.
This routine writes the final abundances of all nuclei (group:finab/finab), the final abundances summed over mass number (group:finab/finabsum), and the final abundances summed over equal proton numbers (group:finab/finabelem). These entries are similar to the ascii version the output (finabelem.dat,..)
[in] | y | Abundances |
Definition at line 1216 of file hdf5_module.f90.
|
private |
Write the mainout data into a file.
When this subroutine is called depends on the chunk size.
Definition at line 1990 of file hdf5_module.f90.
|
private |
Write the neutrino loss/gain into the hdf5 file.
These values are stored in a separate group (called nu_loss_gain) that is initialized in init_hdf5_module.
Definition at line 453 of file hdf5_module.f90.
|
private |
Write the abundances of all nuclei into a file.
When this subroutine is called depends on the chunk size.
Definition at line 1896 of file hdf5_module.f90.
|
private |
Write the abundances of track nuclei into a file.
When this subroutine is called depends on the chunk size.
Definition at line 1844 of file hdf5_module.f90.
|
private |
Write the units of the individual entries into the hdf5 file.
For example:
Temperature - GK
Entropy - kB/nuc
Definition at line 1162 of file hdf5_module.f90.
|
private |
How full is the chunk already?
Definition at line 178 of file hdf5_module.f90.
|
private |
How full is the chunk already?
Definition at line 80 of file hdf5_module.f90.
|
private |
How full is the chunk already?
Definition at line 226 of file hdf5_module.f90.
|
private |
How full is the chunk already?
Definition at line 57 of file hdf5_module.f90.
|
private |
How full is the chunk already?
Definition at line 137 of file hdf5_module.f90.
|
private |
How full is the chunk already?
Definition at line 156 of file hdf5_module.f90.
|
private |
Chunk size.
Definition at line 179 of file hdf5_module.f90.
|
private |
Chunk size.
Definition at line 81 of file hdf5_module.f90.
|
private |
Chunk size.
Definition at line 227 of file hdf5_module.f90.
|
private |
Chunk size.
Definition at line 58 of file hdf5_module.f90.
|
private |
Chunk size.
Definition at line 138 of file hdf5_module.f90.
|
private |
Chunk size.
Definition at line 157 of file hdf5_module.f90.
|
private |
Temporary storage for energy generation.
Definition at line 180 of file hdf5_module.f90.
|
private |
Definition at line 182 of file hdf5_module.f90.
|
private |
Definition at line 182 of file hdf5_module.f90.
|
private |
Definition at line 182 of file hdf5_module.f90.
|
private |
Definition at line 182 of file hdf5_module.f90.
|
private |
Definition at line 182 of file hdf5_module.f90.
|
private |
Definition at line 182 of file hdf5_module.f90.
|
private |
Definition at line 182 of file hdf5_module.f90.
|
private |
Definition at line 182 of file hdf5_module.f90.
|
private |
Definition at line 182 of file hdf5_module.f90.
|
private |
Definition at line 182 of file hdf5_module.f90.
|
private |
Storage for integers in chunk which is later written to the file.
Definition at line 85 of file hdf5_module.f90.
|
private |
Storage for the chunk which is later written to the file.
Definition at line 82 of file hdf5_module.f90.
|
private |
Definition at line 228 of file hdf5_module.f90.
|
private |
Definition at line 228 of file hdf5_module.f90.
|
private |
Definition at line 228 of file hdf5_module.f90.
|
private |
Definition at line 228 of file hdf5_module.f90.
|
private |
Definition at line 228 of file hdf5_module.f90.
|
private |
Definition at line 228 of file hdf5_module.f90.
|
private |
Definition at line 228 of file hdf5_module.f90.
|
private |
Definition at line 228 of file hdf5_module.f90.
|
private |
Storage for the chunk which is later written to the file.
Definition at line 59 of file hdf5_module.f90.
|
private |
Storage for the chunk which is later written to the file.
Definition at line 62 of file hdf5_module.f90.
|
private |
Temporary storage for tracked nuclei.
Definition at line 139 of file hdf5_module.f90.
|
private |
Temporary storage for average timescales.
Definition at line 158 of file hdf5_module.f90.
|
private |
Dataset creation property identifier.
Definition at line 48 of file hdf5_module.f90.
|
private |
Dataspace identifier.
Definition at line 47 of file hdf5_module.f90.
|
private |
Helper variable to specify 1 dimension.
Definition at line 46 of file hdf5_module.f90.
|
private |
Array dimensions.
Definition at line 146 of file hdf5_module.f90.
|
private |
Array dimensions (net_size)
Definition at line 69 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 67 of file hdf5_module.f90.
|
private |
Name of the units dataset.
Definition at line 43 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 68 of file hdf5_module.f90.
|
private |
Definition at line 205 of file hdf5_module.f90.
|
private |
Definition at line 199 of file hdf5_module.f90.
|
private |
Definition at line 205 of file hdf5_module.f90.
|
private |
Definition at line 199 of file hdf5_module.f90.
|
private |
Definition at line 205 of file hdf5_module.f90.
|
private |
Definition at line 199 of file hdf5_module.f90.
|
private |
Definition at line 205 of file hdf5_module.f90.
|
private |
Definition at line 199 of file hdf5_module.f90.
|
private |
Definition at line 205 of file hdf5_module.f90.
|
private |
Definition at line 199 of file hdf5_module.f90.
|
private |
Definition at line 205 of file hdf5_module.f90.
|
private |
Definition at line 199 of file hdf5_module.f90.
|
private |
Definition at line 205 of file hdf5_module.f90.
|
private |
Definition at line 199 of file hdf5_module.f90.
|
private |
Definition at line 205 of file hdf5_module.f90.
|
private |
Definition at line 199 of file hdf5_module.f90.
|
private |
Definition at line 205 of file hdf5_module.f90.
|
private |
Definition at line 199 of file hdf5_module.f90.
|
private |
Definition at line 205 of file hdf5_module.f90.
|
private |
Definition at line 199 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 190 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 189 of file hdf5_module.f90.
|
private |
The ID of the group.
Definition at line 174 of file hdf5_module.f90.
|
private |
Name of the energy generations.
Definition at line 192 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 197 of file hdf5_module.f90.
|
private |
File identifier.
Definition at line 37 of file hdf5_module.f90.
|
private |
The ID of the group.
Definition at line 264 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 218 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 217 of file hdf5_module.f90.
|
private |
The ID of the group.
Definition at line 212 of file hdf5_module.f90.
|
private |
Name of the hdf5 file.
Definition at line 38 of file hdf5_module.f90.
|
private |
Definition at line 41 of file hdf5_module.f90.
|
private |
Iteration count, how often was already extended to the datasets?
Definition at line 175 of file hdf5_module.f90.
|
private |
Iteration count, how often was already extended to the datasets?
Definition at line 213 of file hdf5_module.f90.
|
private |
Iteration count, how often was already extended to the datasets?
Definition at line 77 of file hdf5_module.f90.
|
private |
Iteration count, how often was already extended to the datasets?
Definition at line 223 of file hdf5_module.f90.
|
private |
Iteration count, how often was already extended to the datasets?
Definition at line 54 of file hdf5_module.f90.
|
private |
Iteration count, how often was already extended to the datasets?
Definition at line 134 of file hdf5_module.f90.
|
private |
Iteration count, how often was already extended to the datasets?
Definition at line 153 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 126 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 99 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 102 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 90 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 105 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 93 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 96 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 117 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 108 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 123 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 120 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 111 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 114 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 129 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 125 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 98 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 101 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 89 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 104 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 92 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 95 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 116 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 107 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 122 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 119 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 110 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 113 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 128 of file hdf5_module.f90.
|
private |
The ID of the group.
Definition at line 76 of file hdf5_module.f90.
|
private |
Maximum dimensions (later set to unlimited)
Definition at line 49 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 254 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 245 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 260 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 251 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 248 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 239 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 242 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 257 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 253 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 244 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 259 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 250 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 247 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 238 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 241 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 256 of file hdf5_module.f90.
|
private |
The ID of the group.
Definition at line 222 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 72 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 71 of file hdf5_module.f90.
|
private |
The ID of the group.
Definition at line 53 of file hdf5_module.f90.
|
private |
The ID of the group.
Definition at line 133 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 148 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 144 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 143 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 149 of file hdf5_module.f90.
|
private |
Names of the tracked nuclei.
Definition at line 147 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 163 of file hdf5_module.f90.
|
private |
Name of the dataset.
Definition at line 162 of file hdf5_module.f90.
|
private |
The ID of the group.
Definition at line 152 of file hdf5_module.f90.
|
private |
Names of the timescales.
Definition at line 165 of file hdf5_module.f90.
|
private |
Dataset identifier.
Definition at line 170 of file hdf5_module.f90.