An Advanced Simulation & Computing (ASC) Academic Strategic Alliances Program (ASAP) Center at The University of Chicago The Center for Astrophysical Thermonuclear.

Slides:



Advertisements
Similar presentations
Three types of remote process invocation
Advertisements

R4 Dynamically loading processes. Overview R4 is closely related to R3, much of what you have written for R3 applies to R4 In R3, we executed procedures.
Tutorial 8: Developing an Excel Application
Tutorial 12: Enhancing Excel with Visual Basic for Applications
Chapter 3 Loaders and Linkers
SYSTEM PROGRAMMING & SYSTEM ADMINISTRATION
The Functions and Purposes of Translators Code Generation (Intermediate Code, Optimisation, Final Code), Linkers & Loaders.
An Advanced Simulation & Computing (ASC) Academic Strategic Alliances Program (ASAP) Center at The University of Chicago The Center for Astrophysical Thermonuclear.
Chapter 5: Elementary Data Types Properties of types and objects –Data objects, variables and constants –Data types –Declarations –Type checking –Assignment.
By Hrishikesh Gadre Session II Department of Mechanical Engineering Louisiana State University Engineering Equation Solver Tutorials.
 2006 Pearson Education, Inc. All rights reserved Introduction to Classes and Objects.
Classes and Objects Systems Programming.
An Advanced Simulation & Computing (ASC) Academic Strategic Alliances Program (ASAP) Center at The University of Chicago The Center for Astrophysical Thermonuclear.
CS Lecture 03 Outline Sed and awk from previous lecture Writing simple bash script Assignment 1 discussion 1CS 311 Operating SystemsLecture 03.
An Advanced Simulation & Computing (ASC) Academic Strategic Alliances Program (ASAP) Center at The University of Chicago The Center for Astrophysical Thermonuclear.
An Advanced Simulation and Computing (ASC) Academic Strategic Alliances Program (ASAP) Center at The University of Chicago The Center for Astrophysical.
Using Objects and Properties
An Advanced Simulation & Computing (ASC) Academic Strategic Alliances Program (ASAP) Center at The University of Chicago The Center for Astrophysical Thermonuclear.
An Advanced Simulation & Computing (ASC) Academic Strategic Alliances Program (ASAP) Center at The University of Chicago The Center for Astrophysical Thermonuclear.
 2006 Pearson Education, Inc. All rights reserved Introduction to Classes and Objects.
An Advanced Simulation & Computing (ASC) Academic Strategic Alliances Program (ASAP) Center at The University of Chicago The Center for Astrophysical Thermonuclear.
FORTRAN Short Course Week 4 Kate Thayer-Calder March 10, 2009.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Guide To UNIX Using Linux Third Edition
Introduction to Classes and Objects CS-2303, C-Term Introduction to Classes and Objects CS-2303 System Programming Concepts (Slides include materials.
An Advanced Simulation & Computing (ASC) Academic Strategic Alliances Program (ASAP) Center at The University of Chicago The Center for Astrophysical Thermonuclear.
CSC 8310 Programming Languages Meeting 2 September 2/3, 2014.
1 Chapter One A First Program Using C#. 2 Objectives Learn about programming tasks Learn object-oriented programming concepts Learn about the C# programming.
Reusable Code For Your Appx Processes Presented By: Gary Rogers.
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Purpose  This training course describes how to configure the the C/C++ compiler options.
Capture and Replay Often used for regression test development –Tool used to capture interactions with the system under test. –Inputs must be captured;
1 Programming Languages Tevfik Koşar Lecture - II January 19 th, 2006.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Programming With C.
CIS-165 C++ Programming I CIS-165 C++ Programming I Bergen Community College Prof. Faisal Aljamal.
The european ITM Task Force data structure F. Imbeaux.
Unit-1 Introduction Prepared by: Prof. Harish I Rathod
Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic 2005, Third Edition.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Memory: Relocation.
Advanced Simulation and Computing (ASC) Academic Strategic Alliances Program (ASAP) Center at The University of Chicago The Center for Astrophysical Thermonuclear.
Some Fortran programming tips ATM 562 Fall 2015 Fovell (see also PDF file on class page) 1.
DBT544. DB2/400 Advanced Features Level Check Considerations Database Constraints File Overrides Object and Record Locks Trigger Programs.
Dissecting the Windows CE Build Process James Y. Wilson Principal Engineer, Windows Embedded MVP CalAmp, Inc. James Y. Wilson Principal Engineer, Windows.
S11-1 ADM , Section 11, August 2005 Copyright  2005 MSC.Software Corporation SECTION 11 MACROS: OVERVIEW.
 2008 Pearson Education, Inc. All rights reserved Introduction to Classes and Objects.
Chapter 11: Advanced Inheritance Concepts. Objectives Create and use abstract classes Use dynamic method binding Create arrays of subclass objects Use.
Sem 2v2 Chapter 5 Router Startup and Setup. A router initializes by loading the bootstrap, the operating system, and a configuration file. If the router.
Chapter – 8 Software Tools.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 2.
1 Asstt. Prof Navjot Kaur Computer Dept PRESENTED BY.
Chapter 3 Part II. 3.8 Placing a Class in a Separate File for Reusability.cpp file is known as a source-code file. Header files ◦ Separate files in which.
Overview of Compilation Prepared by Manuel E. Bermúdez, Ph.D. Associate Professor University of Florida Programming Language Principles Lecture 2.
Programming Fundamentals Enumerations and Functions.
Chapter 7 - Functions. Functions u Code group that performs single task u Specification refers to what goes into and out of function u Design refers to.
CEN6502, Spring Understanding the ORB: Client Side Structure of ORB (fig 4.1) Client requests may be passed to ORB via either SII or DII SII decide.
1 Types of Programming Language (1) Three types of programming languages 1.Machine languages Strings of numbers giving machine specific instructions Example:
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
13-1 ANSYS, Inc. Proprietary © 2009 ANSYS, Inc. All rights reserved. April 28, 2009 Inventory # Chapter 13 Solver.out File and CCL Introduction to.
Linux Administration Working with the BASH Shell.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
INTRODUCING Adams/CHASSIS
Router Startup and Setup
In-situ Visualization using VisIt
The Selection Structure
SECTION 3 MACROS: OVERVIEW.
WORKSHOP 3 GSE IMPORT.
Introduction to Classes and Objects
Router Startup and Setup
Classes and Objects Systems Programming.
SPL – PS1 Introduction to C++.
Presentation transcript:

An Advanced Simulation & Computing (ASC) Academic Strategic Alliances Program (ASAP) Center at The University of Chicago The Center for Astrophysical Thermonuclear Flashes Hands-On Flash Setting up Your Own Simulations

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago Outline  Setting up an out of the box simulation  Customizing Flash for a new simulation (i.e., how to set up your problem)  Simple visualization and analysis with idl using fidlr3.0

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago Setting up an out of the box problem

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago Flash Source to Executable  Flash comes as source code consisting of source code components known as units  Going from Flash source code to executable consists of  The setup step: specifying which source units to include in the application and linking together the source files  The compilation step: running make to compile the flash executable

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago The Setup Script The primary job of the setup script is to: qTraverse the FLASH source tree and link necessary files for a given application to the object directory qFind the target Makefile.h for a given machine. qGenerate the Makefile to make the FLASH executable. qGenerate files needed to add runtime parameters to a given simulation. qGenerate files needed to parse the runtime parameter file.

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago Example Makefile.h Located in FLASH3/sites/ MPI_PATH = /usr/local/mpich-intel HDF5_PATH = /usr/local/hdf5-icc NCMPI_PATH = /usr/local/pnetcdf-icc FCOMP = ${MPI_PATH}/bin/mpif90 CCOMP = ${MPI_PATH}/bin/mpicc CPPCOMP = ${MPI_PATH}/bin/mpiCC LINK = ${MPI_PATH}/bin/mpif90 FFLAGS_OPT = -c -r8 -i4 -O3 -real_size 64# -unroll -align -prefetch -pad -ip FFLAGS_DEBUG = -c -g -r8 -i4 -check bounds -check format -check output_conversion -warn all -real_size 64 FFLAGS_TEST = -c -r8 -i4 -O2 -real_size 64 CFLAGS_OPT = -c -O3 -D_LARGEFILE64_SOURCE CFLAGS_DEBUG = -c -g -debug extended -D_LARGEFILE64_SOURCE CFLAGS_TEST = -c -O2 -D_LARGEFILE64_SOURCE CFLAGS_HDF5 = -I $(HDF5_PATH)/include CFLAGS_NCMPI = -I $(NCMPI_PATH)/include CFLAGS_MPI = -I$(MPI_PATH)/include LFLAGS_OPT = -r8 -i4 -Vaxlib -lsvml -Ur -o LFLAGS_DEBUG = -r8 -i4 -Vaxlib -g -o LFLAGS_TEST = -r8 -i4 -Vaxlib -o LIB_HDF5 = -L $(HDF5_PATH)/lib -lhdf5 -lz LIB_MPI = -L$(MPI_PATH)/lib -lfmpich -lmpich LIB_NCMPI = -L$(NCMPI_PATH)/lib -lpnetcdf

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago First Setup Example  From the main flash directory, FLASH3/, type./setup Sedov -2d -auto command problem name dimensionSetup script determines which units to include based on the problem name (rather than manually) To run setup you shouldn’t need to modify the setup script (FLASH3/bin/setup.py)

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago Setup Options -autosetup script will automatically generate the Units file based on the problem you specify INCLUDE Driver/DriverMain/TimeDep INCLUDE Grid/GridMain/paramesh/Paramesh3/PM3_package/headers INCLUDE Grid/GridMain/paramesh/Paramesh3/PM3_package/mpi_source INCLUDE Grid/GridMain/paramesh/Paramesh3/PM3_package/source INCLUDE Grid/localAPI INCLUDE IO/IOMain/hdf5/serial/PM INCLUDE PhysicalConstants/PhysicalConstantsMain INCLUDE RuntimeParameters/RuntimeParametersMain INCLUDE Simulation/SimulationMain/Sedov INCLUDE flashUtilities/general INCLUDE physics/Eos/EosMain/Gamma INCLUDE physics/Hydro/HydroMain/split/PPM/PPMKernel INCLUDE physics/Hydro/HydroMain/utilities If you don’t use the -auto flag, you must have a valid Units file in the top FLASH directory (FLASH3/Units) Try manually changing IO/IOMain/hdf5/serial/PM to IO/IOMain/hdf5/parallel/PM - Then run setup without the - auto flag Sample Units File

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago Setup Options -unit= : force a specific unit to be used in setup  Another way to use a specific unit in setup is with the -unit option./setup Sedov -2d -auto -unit=IO/IOMain/hdf5/parallel/PM

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago More Setup Options -autoAutomatically generates the Units file -unit= Forces a specific unit to be used -[123]dSpecifies the dimension, default is 2d -nxb= -nyb= -nzb= Specifies number of zones/block, default is 8 -maxblocks= Assigns maxblocks per processor. Defaults are in place but you may want to modify depending on problem and machine specs -site= | -ostype= Allows you to directly specify the host or ostype. Typically setup finds this info but on some machines it isn’t directly accessible. -site=sphere.asci.uchicago.edu or -ostype=Linux -debug | -test-debug: makes compiler put debugging symbols in executable, possibly checks for array out of bounds conditions, etc -test: compiles code with no debugging or optimization options -opt: compiles code for highest performance (default) -portableNormally setup links files from the source directory to the object directory. With -portable files are copied to object dir instead -objdir= By default setup script links all files needed in compilation to the object directory. The -objdir flag allows you to specify a different or new directory -noclobberTo setup a simulation over a previous compiled object directory, so that previously included units are not recompiled, saving compilation time -verboseMore wordy explanations during setup

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago Even More Setup Options -parfile= This causes setup to copy the specified file in the simulation directory to the object directory as flash.par -datafiles= This causes setup to copy the specified files in the simulation directory to the object directory. This option is used to copy data files required by the application. -unitsfile= This causes setup to copy the specified file to the object directory as Units before setting up the problem. This option can be used when -auto is not used, to specify an alternate Units file.

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago Setup Shortcuts qThe Flash3 setup script includes a “shortcuts” feature qAllows many setup options to be included with one keyword qDefined in Flash3/bin/setup_shortcuts.txt qTo use a shortcut, add +shortcut to your setup line qExample: The shortcut ug is defined as: ug:--with-unit=Grid/GridMain/:Grid=UG:./setup Sod -auto +ug this is equivalent to typing in unit options with -unit=Grid/GridMain/UG -unit=IO/IOMain/hdf5/serial/UG (because the appropriate IO is included by default) qLook in Flash3/bin/setup_shortcuts.txt for more examples and to define your own

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago setup Generated Files contains the list of variables, fluxes, species, particle properties, and mass scalars used in the current setup, together with their descriptions setup_vars contains the list of runtime parameters defined in the Config files processed by setup setup_params contains the exact compiler and linker flagssetup_flags contains a list of all pre-process symbols passed to the compiler invocation directly setup_defines contains the list of all units which were included in the current setup setup_units contains the list of libraries and their arguments (if any) which was linked in to generate the executable setup_libraries contains the options with which setup was called and the command line resulting after shortcut expansion setup_call

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago Customizing Flash for a new simulation (i.e., how to set up your problem)

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago Adding a New Simulation  New Simulations are added by creating a directory in FLASH3/source/Simulation/SimulationMain  The Simulation directory gives people working on a particular problem a place to put problem specific code that replaces the default functionality in the main body of the code  It’s also a place to tell the setup script which units this problem will need from the rest of the code  In the Simulation directory, one needs to have:  A Config file to at least describe the units and runtime parameters needed by this problem  One or more flash.par files which each give a set of runtime parameter values for running the problem in different ways  Code specifying initial conditions and code for the simulation as a unit (e.g., initialization of the unit)

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago Config File Syntax DEFAULT sub-unitEvery unit and subunit designates one implementation to be the ``default''. If no specific implementation of the unit or its sub-units is selected by the application, the designated default implementation gets included EXCLUSIVE implementation… Specify a list of implementations that cannot be included together REQUIRES unit[/sub- unit[/implementation...]] [ OR unit[/sub-unit...]]... Specify a unit requirement. Unit requirements can be general, without asking for a specific implementation, so that unit dependencies are not tied to particular algorithms REQUESTS unit[/sub- unit[/implementation...]] Requests a unit to be added to the Simulation. All requests, are upgraded to a ``REQUIRES'' if they are not negated by a "- without-unit" option from the command line. If negated, the REQUEST is ignored. This can be used to turn off profilers and other ``optional'' units which are included by default. CONFLICTS unit1[/sub- unit[/implementation...]]... Specifies that the current unit, subunit or specific implementation is not compatible with the list of units, subunits or other implemenations list that follows. Setup issues an error if the user attempts to set up a conflicting unit configuration. PARAMETER name type [constant] default [range spec] Specify a runtime parameter. Parameter names are unique up to 20 characters and may not contain spaces. Admissible types include REAL, INTEGER, STRING, and BOOLEAN

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago More Config File Syntax VARIABLE name Register variable with the framework with name name. The setup script collects variables from all the included units, and creates a comprehensive list with no duplications. It then assigns defined constants to each variables and calculates the amount of storage required in the data strucures for storing the variables. The defined constants, and the calculates sizes are written to the file Flash.h. LIBRARY name Specify a library requirement. Different FLASH units require different libraries, and they must inform setup so it can link the libraries into the executable. Some valid library names are HDF5, MPI. FLUX name Register flux variable name with the framework. When using adaptive mesh, flux conservation is needed at fine-coarse boundaries. Paramesh uses a data structure for this purpose, the flux variables provide index into that data structure. DATAFILES wildcard Declare that all files matching the given wildcard in the unit directory should be copied over to the object directory. GRIDVAR name This keyword is used in connection with the grid scope scratch space supported by FLASH3 (This feature wasn't available in FLASH2). It lets you ask for scratch space for variables specified with this keyword.

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago Even More Config File Syntax SPECIES name An application that uses multiple species uses this keyword to define them MASS_SCALAR name If a quantity is defined with keywork MASS_SCALAR, space is created for it in the ``unk'' data structure. It is treated like any other variable by Paramesh, but the hydrodynamic unit treats it differently. It is advected, but other physical characteristics don't apply to it.

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago Required Code for a New Simulation  There are certain pieces of code that all simulations must implement:  Simulation_initBlock.F90: Sets initial conditions in a single block.  Simulation_init.F90: Reads the runtime parameters, and performs other necessary unit initializations.  Simulation_data.F90: A Fortran module which stores data and parameters specific to the Simulation.  Optionally, a sumulation could implement:  Simulation_initSpecies.F90: To give the properties of the species involved in a multispecies simulation

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago Customized Code for a new Simulation  In a FLASH simulation directory, you can place code that overrides the functionality you would pick up from other code units  In the custom code you can modify:  Boundary conditions (Grid_applyBCEdge.F90)  Refinement criterion (Grid_markRefineDerefine.F90)  Diagnostic integrated quanties for output (in the flash.dat file), e.g., total mass (a default) or vorticity (IO_writeIntegralQuantities.F90)  Diagnostics to compute new grid scope variables (Grid_computeUserVars.F90)  In general, this is a place to hack the code in ways specific to your problem, and you can hack basically anything

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago Example Non-trivial Setup: TwoGamma qTwoGamma is for a simple test of advecting two fluids having different gammas to investigate whether an instability develops at the interface between the two fluids. qThis Simulation implements: q Simulation_initSpecies.F90, because it has multiple fluids q and Grid_applyBCEdge.F90, because it needs custom boundary conditions on the lower x edge of the domain

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago TwoGamma Config File # configuration file for the TwoGamma target problem REQUIRES Driver REQUIRES physics/Hydro REQUIRES physics/Eos/EosMain/Multigamma REQUIRES Multispecies REQUESTS IO # Parameters D sim_p0 constant pressure PARAMETER sim_p0 REAL 2.5e-0 D sim_rho1 density of the first fluid PARAMETER sim_rho1 REAL 1.0e-0 D sim_rho2 density of the second fluid PARAMETER sim_rho2 REAL 1.0e-0 D sim_cvelx initial velocity PARAMETER sim_cvelx REAL 0.1e-0 SPECIES FLD1 SPECIES FLD2

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago TwoGamma flash.par # AMR parameters lrefine_max = 4 lrefine_min = 4 # simulation parameters basenm = "twogamma_" restart =.false. plotFileIntervalTime = 0.1 checkpointFileIntervalTime = 0.5 nend = tmax = 10.0 checkpointFileNumber = 0 plotFileNumber = 0 dtini = 1.e-10 dtmin = 1.e-10 cfl =.5 cvisc =.1

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago TwoGamma flash.par (Cont.) smlrho = 1.e-10 smallt = 1.e-10 xmin = 0.0e0 xmax = 1.0 ymin = 0.0e0 ymax = 1.0e0 geometry = "cartesian" # variables for plotting plot_var_1 = "dens" plot_var_2 = "temp" plot_var_3 = "ener" plot_var_4 = "pres" plot_var_5 = "velx" plot_var_6 = "fld1" plot_var_7 = "fld2" xl_boundary_type = "user" xr_boundary_type = "outflow" yl_boundary_type = "periodic" yr_boundary_type = "periodic"

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago TwoGamma Simulation_initSpecies.F90 subroutine Simulation_initSpecies() implicit none #include "Multispecies.h" #include "Flash.h" #include "Multispecies.h" #include "Multispecies_interface.h" call Multispecies_setProperty(FLD1_SPEC, A, 1.) call Multispecies_setProperty(FLD1_SPEC, Z, 1.) call Multispecies_setProperty(FLD1_SPEC, GAMMA, e0) call Multispecies_setProperty(FLD2_SPEC, A, 4.0) call Multispecies_setProperty(FLD2_SPEC, Z, 2.0) call Multispecies_setProperty(FLD2_SPEC, GAMMA, 2.0) end subroutine Simulation_initSpecies

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago TwoGamma Grid_applyBCEdge.F90 if(face==LOW) then select case (bcType) case(OUTFLOW) do i = 1,guard dataRow(i)= dataRow(guard+1) end do case(USER_DEFINED) select case(var) case(GAMC_VAR) dataRow(1:guard)=sim_gammac1 case(DENS_VAR) dataRow(1:guard)=sim_rho1 case(PRES_VAR) dataRow(1:guard)=sim_p0 case(VELX_VAR) dataRow(1:guard)=sim_cvelx case(VELY_VAR) dataRow(1:guard)=0.0 case(VELZ_VAR) dataRow(1:guard)=0.0 case(ENER_VAR) dataRow(1:guard)=max(0.5*(sim_cvelx**2)+sim_int1,sim_small)

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago Simple visualization and analysis with idl using fidlr3.0

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago Fidlr (Flash idl Routines) 3.0 q1 and 2d visualization q2d slices of 3d data qHas idl routines to read the HDF5 and NetCDF Flash checkpoint and plotfiles. qxflash3: Gui frontend qCan call load routines from idl command line and manipulate checkpoint data interactively qLives in tools/fidlr3.0 in your source

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago Setting up and Running idl for fidlr qSetting up environment correctly very important qTo get color, run idl with start_linux: q % idl start_linux q IDL> xflash3 setenv XFLASH3_DIR flash-root-path/tools/fidlr3 setenv IDL_DIR idl-root-path setenv IDL_PATH ${XFLASH3_DIR}:${IDL_DIR}:${IDL_DIR}/lib

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago xflash3 – the fidlr GUI

The ASC/Alliances Center for Astrophysical Thermonuclear Flashes The University of Chicago fidlr Interactive Examples Read in density from file, put it on a uniform grid, and make a contour plot: IDL> dens = loaddata(‘sedov_2d_6lev_chk_0001’, ‘dens’, XCOORDS = x, YCOORDS=y) IDL> contour, dens, x, y Read in a dataset, with full AMR details: IDL> read_amr, ‘sedov_2d_6lev_hdf5_chk_0001’, $ TREE=tree, PARAMETERS=params, DATA=data, STORED_VARS=vars