Test+Problem+Reporting

=Test Problems: Reporting and Discussing Results= Pages: Workshop, Overview, CADAC, Data Access, Work Area Setup, Path Setup, Utilities, Grid Data, SPH Data, Running, **Reporting**, LOG

Please upload your simulation data to CADAC and analyze the results there, using the IDL and Fortran analysis procedures available at CADAC. To report your results, edit the page linked to your name on the overview page; uploading plots and images, etc.

//**NOTE: THE WEEK OF DECEMBER 3-7 THE SRB SYSTEM (AND HENCE ALSO /gpfs-wan) IS OFF-LINE FOR UPGRADES!**//

code Smkdir /CADAC/KITP07/dcollins                          # first time Scd /CADAC/KITP07/dcollins                             # change dir to there Sput -a PPML_test1_mhd1024_step1ProjectedDensity.save  # the "-a" is essential; it ensures that a backup is available code You are of course welcome and encourages to save also other data sets--including full 3-D snapshots from your runs--on the SRB system. Data that you consider not to be of general interest in the comparison may be saved under your home SRB home directory, using commands such as code Scd                                                    # change to your SRB home dir Smkdir some_run                                        # a subdir for one experiment Scd some_run                                           # go there Sput -a snapshot*.dat                                  # Sput a number of snapshot; the "-a" replicates to mass storage code
 * Nov. 30 2007:** Please upload these data products to CADAC at /CADAC/KITP07/your_name in the form of IDL save files; e.g.

An example of the IDL procedures for data analysis
IDL procedures that are to be used for analyzing the test results are available in two CADAC directories. To use these in your IDL_PATH, add this to your ~/.cshrc or ~/.tcshrc file: code setenv IDL_PATH "+/gpfs-wan/projects/cadac/software/contrib/aake/idl:$IDL_PATH" setenv IDL_PATH "+/gpfs-wan/projects/cadac/software/contrib/aake/codes/KITPcompare07/idl:$IDL_PATH" code and correspondingly for bash/ksh/sh. **NOTE:** If you add those directories in a different way than just copy&paste it is important to put the CADAC dirs ahead of you other dirs, since there could be name space overlap (if that breaks your other procedures then just comment out those lines when not working on the test problems).

More details are given elsewhere -- here just a single example, to illustrate the IDL vs. Fortran issue:

To compute the **power spectrum** of the 3-D array **ux**, compensated with a factor k^2.0, and fit a straight line over a given k-interval, do code g=read_grid('data/whatever_snapshot.dat',256)      ; the 2nd argument (resolution) is only needed if there is no .dim file power3d,g.ux,/aver,compensate=2.0,fit=[3,16]       ; compensating with k^2, fitting over k=3 to k=16 code To add up the contributions for all three components, plot the resulting power spectrum, and fit it with a power law, do code power3d,g.ux,g.uy,g.uz,/aver,compensate=2.0,fit=[3,20] code This, however, takes a rather long time (several minute), even with 256^3 data! Therefore, since we are going to need this kind of output for a number of snapshots, we recommend using the Fortran analysis utilities on **datastar** (which has 256 GB of memory and 64 cpus):

Fortran procedures for data analysis, and recommended data format
To speed up the analysis, and also to facilitate a standardized comparison of the results //**we recommended that you setup things so you can use the Fortran utilities on datastar**//. This only requires that you convert your results to the same (raw binary) format as is used for the initial value data. You may choose to do this either on the system where you run the simulations or on datastar. To make the conversion you may want to use this code snippet from io_grid.f90.

As an explicit example, here is an IDL procedure that produces the same power spectra plots that **plot_power.pro** can produce from the Fortran procedure output: code erase !p.multi=[5,3,2] power3d,rho,compensate=2. power3d,alog(rho),comp=2. power3d,ux,uy,uz,comp=2. rho2=sqrt(rho) power3d,rho2*ux,rho2*uy,rho2*uz,comp=2. rho3=rho^0.333333 power3d,rho3*ux,rho3*uy,rho3*uz,comp=2.

code Try this on 256^3 data, and you will find that it takes about four and a half minutes per snapshot (on **datastar**). With 500^3 data it would take at least 8 times longer, so over half an our per snapshot -- clearly not very convenient! Executing the corresponding Fortran procedure, on the other hand, using 8 CPUs on **datastar**, which is done with code setenv OMP_NUM_THREADS 8 g2p.x data/hd250m/snapshot-0009.g2p idl ... IDL> plot_power,'data/hd250m/snapshot-0009.pow' code takes less than 10 seconds with 500^3 data, and only a few seconds with 250^3 data.