First, thanks to Jeff for summarizing all the API changes. I'm really excited about this -- I think it marks an important transition in the code.
As a followup to Jeff's email, I wanted to share a couple more changes. Because we're increasingly supporting non-Enzo codes, an effort has been made with this API re-shuffling to remove some "Enzo-isms." This will likely affect many of you.
Previously, the parameter file was meant to be accessed via a dictionary like method:
for instance. This is still going to be the case, but only for specific parameters in a given code. Fiducial values for simulation parameters will now be stored in attributes that hang off the StaticOutput instance. Specifically, the following changes have been made:
RefineBy => refine_by TopGridRank => dimensionality TopGridDimensions => domain_dimensions InitialTime => current_time DomainLeftEdge => domain_left_edge DomainRightEdge => domain_right_edge CurrentTimeIdentifier => unique_identifier CosmologyCurrentRedshift => current_redshift ComovingCoordinates => cosmological_simulation CosmologyOmegaMatterNow => omega_matter CosmologyOmegaLambdaNow => omega_lambda CosmologyHubbleConstantNow => hubble_constant
So in all of your internal code, instead of accessing:
you would access:
Or, for example, instead of the Enzo-ism pf["InitialTime"] you would access pf.current_time .
As one last quick comment, I've tried to make these changes throughout the code base. As testing continues, please feel free to change and update these. And, if you don't want to just yet, feel free to hg up to the branch named "stable" which is pre-reorganization. These parameters are designed to be general across codes, and with time they will mirror more closely those in the proposed GridDataFormat: http://yt.enzotools.org/wiki/GridDataFormat .
Thanks very much,