grackle-project / grackle_data_files Goto Github PK
View Code? Open in Web Editor NEWInput and testing files for grackle.
Input and testing files for grackle.
Hi everyone,
I'm a PhD student, I'm new with Grackle, and i'm currently trying to add it on my PDR code to add chemistry and H2 cooling.
Maybe I got something wrong (and I'm not familiar with HDF5), but I encountered an issue when trying to execute my code with the new input data file CloudyData_UVB=HM2012_high_density.h5
, instead of the default CloudyData_UVB=HM2012.h5
(I really need to deal with higher densities physics).
For my code, I need to enable dust chemistry and metal cooling.
More precisely, there is no issue during execution when I set grackle_data%grackle_data_file = CloudyData_UVB=HM2012.h5
. But when I set grackle_data%grackle_data_file = CloudyData_UVB=HM2012_high_density.h5
, I get that HDF5 can't open redshift dataset ('z'), with the following shell output (displayed when executing iresult = initialize_chemistry_data(my_units)
) :
The Grackle Version 3.2.dev2
Git Branch main
Git Revision f9c828a4155747071c41407269625a867541c634
Initializing grackle data.
Dust chemistry enabled, setting photoelectric_heating to 2.
Dust chemistry enabled, setting dust_recombination_cooling to 1.
Dust chemistry enabled, setting h2_on_dust to 1.
Initializing Cloudy cooling: Metals.
cloudy_table_file: ../../input/CloudyData_UVB=HM2012_high_density.h5.
Cloudy cooling grid rank: 3.
Cloudy cooling grid dimensions: 42 26 161.
Parameter1: -10 to 10 (42 steps).
Parameter2: 0 to 15 (26 steps).
Temperature: 1 to 9 (161 steps).
Reading Cloudy Cooling dataset.
Reading Cloudy Heating dataset.
Initializing UV background.
Reading UV background data from ../../input/CloudyData_UVB=HM2012_high_density.h5.
HDF5-DIAG: Error detected in HDF5 (1.10.4) thread 140689315553280:
#000: ../../../src/H5Ddeprec.c line 195 in H5Dopen1(): unable to open dataset
major: Dataset
minor: Can't open object
#001: ../../../src/H5Dint.c line 1205 in H5D__open_name(): not found
major: Dataset
minor: Object not found
#002: ../../../src/H5Gloc.c line 422 in H5G_loc_find(): can't find object
major: Symbol table
minor: Object not found
#003: ../../../src/H5Gtraverse.c line 851 in H5G_traverse(): internal path traversal failed
major: Symbol table
minor: Object not found
#004: ../../../src/H5Gtraverse.c line 627 in H5G__traverse_real(): traversal operator failed
major: Symbol table
minor: Callback failed
#005: ../../../src/H5Gloc.c line 378 in H5G__loc_find_cb(): object 'z' doesn't exist
major: Symbol table
minor: Object not found
Can't open redshift dataset ('z') in ../../input/CloudyData_UVB=HM2012_high_density.h5.
Error in initialize_UVbackground_data.
Error in _initialize_chemistry_data.
Error in initialize_chemistry_data.
I tried to look at the content of the two .h5
files with h5web Jupyter extension, but as you can see it below, CloudyData_UVB=HM2012_high_density.h5
really misses a 'z' entry under the 'UVBrates' group, while it is clearly here for CloudyData_UVB=HM2012.h5
:
How may I deal with this issue, please ?
Any assistance would be appreciated. Thank you !
The CloudyData_UVB=HM2012_shielded.h5
data file has "0" for the MMW array for the highest density, highest redshift column.
Repeat by (in python with the h5py module):
>>> import h5py
>>> f = h5py.File('CloudyData_UVB=HM2012_shielded.h5',mode="r")
>>> cr = f['CoolingRates']
>>> mmw = cr['Primordial']['MMW']
>>> mmw[-1][-1]
array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0.])
Those zeros will cause havoc when trying to get a temperature at high density and high redshfit.
Low-density and low-temperature gas is overheated with the _shielded tables, which is also very odd because shielding is not expected to have any effect in this regime. There is no issue with the Cloudy tables that do not include shielding.
As an example of what kind of impact this can have, I am showing here the evolution of gas temperature at mean cosmic density as a function of redshift for a cosmological simulation that only includes gas cooling (no star formation, no feedback). It is clear that the shielded tables overheat this low-density gas.
Thanks to Volker Springel, Yves Revaz, and Matthew Smith for discovering and investigating this problem.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.