NeXus Code Camp - January 2020

The 2020 NeXus Code Camp is scheduled for 3 days in January 2020: Jan 21 (Tuesday) - 23 (Thursday). The code camp will take place at the Advanced Photon Source, Argonne National Laboratory, IL, USA (near Chicago).

(We used an online poll to help decide the exact dates.)


NeXus periodically convenes a Code Camp to develop NeXus software components through intense effort by small groups working on specific projects and tasks. It is expected that those attending the 2020 NeXus Code Camp will already have a strong foundation and understanding in aspects of the NeXus software and come ready with knowledge, tools, and ideas to make significant progress during the event.

Specific projects and tasks are described on the GitHub issue tracker. Issues for consideration at 2020 NeXus Code Camp will be added to the Code Camp’s Topics page (edit here). These issues will be prioritized on the first day for handling at the Code Camp.

(For more info on code camps, try searching Google for “code camp” or “codeathon”. Events such as the EPICS Codeathon would be reasonable templates for this NeXus code camp.)


The list of Attendees is here.

Remote Attendees

We will open certain time slots for remote attendees to participate using Bluejeans video conference software. Connection details will be provided here. Please make sure your computer is configured to run Bluejeans before the session.

Teleconference will be available during the organizational periods in the schedule listed below:


You must notify the host of your visit in advance to arrange site access. Also, see the section below titled ANL Visitor Registration.


ANL Visitor Registration

The Argonne visitor registration form is for individuals who are visiting employees.

Argonne visitor registration form:

Indicate that you are visiting Pete Jemian.


Meeting Place

Building 437 (LOM 437 on the sign), Conference Room C010 (Advanced Photon Source)

map: google

Please reserve your own rooms directly with the hotel:

Argonne Guest House
Argonne National Laboratory
9700 S. Cass Avenue - Building 460
Argonne, IL 60439
Web site:
telephone: +1-800-632-8990, +1-630-739-6000
fax: +1-630-739-1000
map: google
General information: Visiting the APS


Practical Matters


item quantity who provides?
projector & screen   host
LCD displays, keyboards, & mice   host
120 VAC, 60 Hz, US-style 3-prong extension cords sufficient host
foreign electrical power adapter as needed traveler
Wi-Fi connections sufficient hotel



Business Matters

Since this is not to be a meeting of the full NIAC, no business matters can be resolved.


Resolve issues and milestone to prepare next release of NXDL.



Here is the daily schedule (teleconference for remote attendees will be available during the organizational periods, see above for connection details). All times listed are Central Standard Time (CST):

time description comments
9:00 - 9:30 AM organizational daily planning (plenary)
9:30 - 10:15 AM meeting work on projects and tasks
10:15 - 10:45 AM morning break (included)
10:45 AM - 12:00 PM meeting work on projects and tasks
12:00 - 1:15 PM lunch offsite, traveler’s expense
1:15 - 3:15 PM meeting work on projects and tasks
3:15 - 3:30 PM afternoon break (included)
3:30 - 5:00 PM meeting work on projects and tasks
5:00 - 6:00 PM organizational daily summary (plenary)


  1. late-afternoon wrap-up (plenary) each day
  2. morning and afternoon breaks will be included in amenities charge
  3. breakfast, lunch, dinner will be in a local restaurant at traveler’s expense

Day 1

Day 2

Day 3

Minutes for the meeting

We don’t typically record minutes for the Code Camps.
Rather, the work progress is recorded in the GitHub issue trackers for the various repositories involved.

We’ll note here certain progress items or any questions or recommendations for the NIAC.

Code Camp Tasks

We list here the various tasks we handled during the code camp, with a disposition for each, as copied from the Google Sheet we shared.

repository task disposition
definitions NXDL data type vs NAPI type vs NeXus data type: clarify and simplify! Done
definitions more prominently document existing scheme for uncertainties Done
definitions Recording time-stamped data Done
definitions Create structure to incorporate PDB definitions into NeXus Done
definitions use consistent terms when names are flexible Done
definitions NIAC has decided about how to report errors/uncertainties Done
definitions [DOC] C example uses old style NXdata Done
definitions Added documentation for variants to datarules.rst Done
definitions How to specify per-shot wavelength Done
definitions close branch pixel_as_length_issue_511 Done
definitions integrate NIAC decision on errors & uncertainties Done
definitions NXDL release 2020.1 expected 2020-01-31
exampledata Can we remove the file trees from the readme files as they are out of date and need to be manually updated Done
exampledata separate out non-compliant data files Done
exampledata Example thaumatin multisample NXmx/NXreflections file. Done
definitions Clarify note on IUCr coordinate system. Done
definitions add “uncertainties” attribute to fieldType in nxdl.xsd closed as wontfix
definitions “Are there examples of NeXus data?” - asked at Nobugs 2018 Done
definitions “Are there examples of code that reads NeXus data?” - asked at Nobugs 2018 Done
definitions docs: add text when a group name is suggested Done
definitions can NXscan be extended to include 1-D data? moved to next milestone
definitions update Sphinx config Done
definitions consider publishing docs in GitHub pages Done
definitions examples of axes/AXISNAME_indices attributes moved to next milestone
definitions datarules.rst contains information on 2014 discussions moved to next milestone
definitions clarify how to name fields and groups NIAC to review
definitions clarify naming convention NIAC to review
exampledata some example files for NXptycho after code camp
definitions Is use of UPPER case names described in the manual? Done
definitions Need new links to h5toText program Done
exampledata was not working Done
definitions Slow/fast axis inconsistent in NXdetector_module Done
definitions adjust links for h5toText, now punx tree Done
definitions update copyright date to 2020 Done
definitions 2020 copyright Done
definitions some unit tests fail since flexible names are UPPER case Done
definitions certain unit tests had failed Done
definitions NXmx has fields that may not have to be required Done
definitions update Sphinx config to 2.3.1 Done
definitions DATASET_errors naming convention should appear in manual Done
definitions PDF manual does not build Done
definitions Remove references to NAPI from schema and documentation Done
definitions describe field suffixes reserved by NeXus Done
definitions Improved documentation about time stamped data Done
definitions cleanup in nxdl.xsd Done
definitions cleanup in nxdl.xsd (PR to #725) Done
definitions Remove some references to NAPI for #699 Done
definitions Makefile can’t build the PDF manual Done
definitions editing needed in datarules.rst new content Done
definitions Clarify the nature of NeXus application definitions Done
definitions Clarify the nature of NeXus application definitions Done
definitions GitHub API authentication has changed : affects the release process Done
definitions Revise release note scripting Done
definitions should use SHA credentials Done
definitions added type=”NX_FLOAT” Done
definitions NXstxm nxdl does not specify a type for the energy field for [/NXentry/NXinstrument/NXmonochromator/energy] Done
definitions cite API contributions Done
definitions Update example for new axes syntax and for HDF 1.8.0 and above Done
definitions Reduce number of mandatory fields in NXcxi_ptycho Done
definitions adjust doc string in NXcxi_ptycho Done
definitions writer_2_1 example broken Done
definitions Bad indentation in NXcxi_ptycho Done
definitions add h5py example reader using attributes to find default plottable data Done
definitions From code camp, clarify NXmx/NXdetector depends_on field. Done
definitions From code camp, Make NXmx/NXdata optional. Done
definitions From code camp, add note to NXmx that file_name and file_time are recommended Done
definitions in release notes, TOC link to each subsection Done
definitions in release notes TOC, add link to each subsection Done

page source: GitHub link