Skip to content

First refl1d Code Camp

Brian Benjamin Maranville edited this page Sep 11, 2024 · 32 revisions

Refl1d Code Camp

We will be holding a small refl1d code camp at SNS in September 2024.

The refl1d package is firmly established as one of the main community tools for fitting reflectometry data. It is a flexible package that allows us to build complex models for both magnetic and non-magnetic specular reflectometry.

Within the last year, the developers of refl1d have started working on a browser-based application that lets users optimize their models. This application can run both locally on a user’s computer and be hosted as a web application. It offers rich functionality to optimize and visualize existing models. This code camp aims to jump-start that community effort by assembling representatives from different facilities to work together on the application. 

Dates

September 9 to 12 2024

Registration

Information will be available here: https://conference.sns.gov/event/441/

Accommodation

People are staying at various hotels in Oak Ridge

Agenda

September 9, 2024
Time Event Lead Place
8:15am – 8:45am Event Registration Abby Forgety Lobby, 8600
8:45am – 9:00am Opening Remarks Mathieu Doucet C156, 8600
9:00am – 9:30am Set up computers Brian Maranville (NIST) C156, 8600
9:30am – 10:00am Morning Break – Coffee and Drinks All C156, 8600
10:00am – 11:00am Set up computers (continued) All C156, 8600
11:00am – 12:00pm Refl1D Architecture Brian Maranville (NIST) C156, 8600
12:00pm – 12:45pm Git Tutorial and Lunch Pete Peterson C156, 8600
12:45pm – 15:00pm Go through tasks list and split in teams Brian, Andrew, and Mat C156, 8600
15:00pm – 15:20pm Afternoon Break – Coffee and Drinks All C156, 8600
15:20pm – 16:50pm Housekeeping: how to contribute, PRs, reviews, etc... Brian Maranville C156, 8600
16:50-17:00 Closing remarks Mathieu Doucet C156, 8600
September 10, 2024
Time Event Lead Place
9:00am – 9:10am Opening Remarks Mathieu Doucet C156, 8600
9:10am – 10:30am Architecture discussion – others may work on tasks All C156, 8600
10:30am – 11:00am Morning Break:
- Group photo in the lobby of Building 8600
- Coffee and Drinks
All SNS Lobby
11:00am – 12:00pm Architecture discussion – part II All C156, 8600
12:00pm – 13:00pm Lunch and Brian’s Talk
“Recent refl1d development”
Brian Maranville (NIST) C156, 8600
13:00pm – 13:30pm STFC update: Epic and Dev team structure Andrew Caruana (STFC) C156, 8600
15:00pm – 15:20pm Afternoon Break – Coffee and Drinks All C156, 8600
15:20pm – 16:50pm Nested sampler discussion – others may work on tasks All C156, 8600
16:50-17:00 Closing remarks Mathieu Doucet C156, 8600
September 11, 2024
Time Event Lead Place
8:45am – 9:00am Opening Remarks Mathieu Doucet C156, 8600
9:00am – 10:00am Molgroups modeling package David Hoogerheide (NIST) C156, 8600
10:00am – 10:30am Morning Break – Coffee and Drinks All C156, 8600
10:30am – 12:00pm Curated examples for LLMs – others may work on tasks All C156, 8600
12:00pm – 12:45pm Lunch & LLM presentation Changwoo Do C156, 8600
12:45pm – 15:00pm Architecture – part III All C156, 8600
15:00pm – 15:20pm Afternoon Break – Coffee and Drinks All C156, 8600
15:20pm – 16:50pm Architecture – part IV All C156, 8600
16:50-17:00 Closing remarks Mathieu Doucet C156, 8600
September 12, 2024
Time Event Lead Place
8:45am – 9:00am Opening Remarks Mathieu Doucet C156, 8600
9:00am – 10:00am Review PRs – finish work All C156, 8600
10:00am – 10:30am Morning Break – Coffee and Drinks All C156, 8600
10:30am – 12:00pm Review PRs – finish work All C156, 8600
12:00pm – 12:45pm Lunch & SasView development approach Jeff (NCNR) C156, 8600
12:45pm – 15:00pm Wrap-up: update on what was achieved All C156, 8600
15:00pm – 15:20pm Afternoon Break – Coffee and Drinks All C156, 8600
15:20pm – 16:50pm Wrap-up: planning for next steps All C156, 8600
16:50-17:00 Closing remarks Mathieu Doucet C156, 8600

Work packages

(tentative)

  • Release bumps dataclass branch as main
    • manually merge recent changes to master branch into webview (Kienzle)
    • publish to pypi
    • document changes
    • check conda-forge status
  • Release webview branch of refl1d as main
    • merge webview and master (Kienzle)
    • (publish to pypi) (Kienzle + Maranville)
    • document changes
    • register new conda-forge feedstock for refl1d
  • implement code signing workflow for MacOS (executables)
  • Defining an API for post-fit processing of parameter population statistics (generating graphs etc.)
  • First pass at implementing a model-selection framework (nested sampler?) (Caruana)
  • capturing fit output programmatically (Krzywon)
  • Adding features to the model-builder
  • Implement half-polarized probe, that sums e.g. ++ and +- theory xs to compare to + summed data (Caruana) [Assigned to Mat]
  • document:
    • oversampling: what it does, how to choose the right sampling density
    • different interpretations of roughness at an interface for Nevot-Croce (blending) vs. microsteps (rotation) in magnetic samples
  • Document/refactor existing layer types that are not commonly known/used.
  • Refactor "export" (Maranville)
  • merge cuda library backend (Maranville)
  • improvements to file access
    • remember working directory between starts
  • Create a new repo for curated examples to be used as a started point or for LLM training (Doucet)
  • implement "resume fit" for DREAM (Dave)
  • formalize "custom plot" for Fitness/Experiment classes (custom plot panels in GUI - Dave)

Organizers

  • Brian Maranville [NIST]
  • Andrew Caruana [ISIS]
  • Mat Doucet [ORNL - local organizer]