Version 35.0.1 writing .sdds files

Moderators: michael_borland, soliday

xhs05
Posts: 30
Joined: 29 Nov 2012, 21:43

Version 35.0.1 writing .sdds files

Post by xhs05 » 27 Feb 2019, 19:13

To whom it may concern,

Hello! I'm Haisheng Xu from IHEP who is using both elegant and Pelegant in my work. Recently, I found a problem after updating the code to version 35.0.1. Wish to get help from you!

The problem is that sometimes the data in .sdds output files are not able to be read by the sdds commands. I did some tests to confirm that the files were not empty. The possible reason in all my cases is the missing 'description' line. For example, if I use plain text editor (e.g. vim) to open an normal .sdds file, I could always see the first three lines are as follows:

1: SDDS1
2: !# little-endian
3: &description text="..." contents="...", &end

However, in the broken .sdds files, I got

1: SDDS1
2: !# little-endian
3: &end

The difference is the third line.

After I manually delete the third line "&end", I can use sdds commands to read the information in this file without any problem.

Further tests show that the problem happens only for the files generated by Pelegant. However, not all the files will have this problem. I found that in my case, the sdds files saving the coordinates of macroparticles and saving the frequency map information will always have this problem.

The attached scripts are one case from my side. I tried to run this script by both version 34.4.0 and version 35.0.1 of Pelegant. The abovementioned problem happened only when using version 35.0.1.

Look forward to your help!

Regards,
Haisheng
Attachments
frequencyMap.ele
(517 Bytes) Downloaded 263 times
booster_lat.lte
(24.23 KiB) Downloaded 251 times

soliday
Posts: 368
Joined: 28 May 2008, 09:15

Re: Version 35.0.1 writing .sdds files

Post by soliday » 06 Mar 2019, 15:03

I've located the problem. I will try and get new RPMs up soon for the affected systems.

xhs05
Posts: 30
Joined: 29 Nov 2012, 21:43

Re: Version 35.0.1 writing .sdds files

Post by xhs05 » 06 Mar 2019, 19:22

Great! Appreciate!

Haisheng

soliday
Posts: 368
Joined: 28 May 2008, 09:15

Re: Version 35.0.1 writing .sdds files

Post by soliday » 07 Mar 2019, 15:54

The new version has been posted.

xhs05
Posts: 30
Joined: 29 Nov 2012, 21:43

Re: Version 35.0.1 writing .sdds files

Post by xhs05 » 19 Mar 2019, 02:12

Hi,

We compiled the elegant version 2019.1.1 and sdds version 4.1 from the source code on our Scientific Linux Release 6.9 system. However, we still have the same problem.

May I ask that whether there is any special attention has to be paid in the compiling process?

Look forward to your kind help!

Regards,
Haisheng

soliday
Posts: 368
Joined: 28 May 2008, 09:15

Re: Version 35.0.1 writing .sdds files

Post by soliday » 19 Mar 2019, 09:16

Some of the Makefiles had to be changed because it was finding /usr/lib64/mpich/bin/mpicxx to link elegant instead of using the mpicxx that was in the path. This showed up in epics/extensions/src/SDDS/SDDSlib, epics/extensions/src/SDDS/pgapack and oag/apps/src/elegant. Make sure to redownload SDDS 4.1. The changes were backported into the source code since they were minor.

xhs05
Posts: 30
Joined: 29 Nov 2012, 21:43

Re: Version 35.0.1 writing .sdds files

Post by xhs05 » 19 Mar 2019, 19:59

Cool! Problem solved! Thanks a lot!

Regards,
Haisheng

wurtzw
Posts: 10
Joined: 16 Nov 2009, 16:50
Location: Canadian Light Source

Re: Version 35.0.1 writing .sdds files

Post by wurtzw » 30 Mar 2020, 15:30

Hello All,

I am also seeing this issue with version 2020.02.0. I have tried both the pre-built RPMs from the APS website and also RPMs built locally on my machine using Build-AOP-RPMs script.

I have attached my example files where I compare the output of elegant and Pelegant. In Pelegant, the output SDDS file contains an extra &end on line 3 and it doesn't work (i.e. I can't load it with jsddsEdit). If I delete line 3, I can view the contents of the file. The SDDS file produced by elegant functions as normal.

Example files:
test_Pelegant/elegant/runme --> Command to run elegant example
test_Pelegant/elegant/output.txt --> elegant output to console
test_Pelegant/elegant/cls.w1 --> SDDS file with the tracking results from elegant
test_Pelegant/Pelegant/runme --> Command to run Pelegant example
test_Pelegant/Pelegant/output.txt --> Pelegant output to console
test_Pelegant/Pelegant/cls.w1 --> SDDS file with the tracking results from Pelegant (extra &end on line 3)
test_Pelegant/Pelegant/cls_edited_by_hand.w1 -> cls.w1 edited by hand to remove &end on line 3
test_Pelegant/track.ele -> the instruction file used by both simulations
test_Pelegant/cls.lte -> the lattice file used by both simulations

Here is some system information

[wurtzw@localhost ~]$ cat /etc/redhat-release
CentOS Linux release 8.1.1911 (Core)

[wurtzw@localhost ~]$ yum list installed | grep -i 'sdds\|elegant\|oag'
OAGTclTk.x86_64 1.25-2 @System
SDDSJava.x86_64 3.0.1-1 @System
SDDSPython3.x86_64 4.0-1 @System
SDDSToolKit.x86_64 4.3-1 @System
elegant.x86_64 2020.2.0-1 @System

[wurtzw@localhost Pelegant]$ mpirun --version
HYDRA build details:
Version: 3.2.1
Release Date: Fri Nov 10 20:21:01 CST 2017
...

I am curious if this is something that is specific to my system or if others can reproduce this problem.

Cheers,
Ward
Attachments
test_Pelegant.tgz
(6.37 KiB) Downloaded 184 times

soliday
Posts: 368
Joined: 28 May 2008, 09:15

Re: Version 35.0.1 writing .sdds files

Post by soliday » 30 Mar 2020, 15:52

When you run Pelegant without any options, do you see:

Code: Select all

Running elegant at Mon Mar 30 15:46:41 2020

This is elegant 2020.2.0, Mar 23 2020, by M. Borland, J. Calvey, M. Carla', N. Carmignani, M. Ehrlichman, L. Emery, W. Guo, R. Lindberg, V. Sajaev, R. Soliday, Y.-P. Sun, C.-X. Wang, Y. Wang, Y. Wu, and A. Xiao.
...
MPI library version: MPICH Version:	3.2.1
MPICH Release date:	Fri Nov 10 20:21:01 CST 2017
MPICH Device:	ch3:nemesis
...
I am looking to verify that you are using 2020.2.0 and that this version was linked to MPICH 3.2.1 and not OpenMPI. We have different RPMs for both MPI versions.

wurtzw
Posts: 10
Joined: 16 Nov 2009, 16:50
Location: Canadian Light Source

Re: Version 35.0.1 writing .sdds files

Post by wurtzw » 30 Mar 2020, 16:29

This should be the Pelegant version I compiled today (March 30) and linked to mpich. Below is the (truncated) startup information for Pelegant.

[wurtzw@localhost ~]$ Pelegant
'Running elegant at Mon Mar 30 15:23:23 2020

This is elegant 2020.2.0, Mar 30 2020, by M. Borland, J. Calvey, M. Carla', N. Carmignani, M. Ehrlichman, L. Emery, W. Guo, R. Lindberg, V. Sajaev, R. Soliday, Y.-P. Sun, C.-X. Wang, Y. Wang, Y. Wu, and A. Xiao.
Parallelized by Y. Wang, H. Shang, and M. Borland.
usage: mpirun -np <number of processes> Pelegant <inputfile> [-macro=<tag>=<value>,[...]] [-rpnDefns=<filename>] [-configuration=<filename>]
=====================================================================================
Thanks for using Pelegant. Please cite the following references in your publications:
M. Borland, "elegant: A Flexible SDDS-Compliant Code for Accelerator Simulation,"
Advanced Photon Source LS-287, September 2000.
Y. Wang and M. Borland, "Pelegant: A Parallel Accelerator Simulation Code for
Electron Generation and Tracking", Proceedings of the 12th Advanced Accelerator
Concepts Workshop, AIP Conf. Proc. 877, 241 (2006).
If you use a modified version, please indicate this in all publications.
=====================================================================================
Link date: Mar 30 2020 12:43:37, SVN revision: unknown
MPI library version: MPICH Version: 3.2.1
MPICH Release date: Fri Nov 10 20:21:01 CST 2017
MPICH Device: ch3:nemesis
MPICH configure: [LOTS OF CONFIGURE INFORMATION...]

Post Reply