Most of our work has resulted in scholarly publications. On this page you can review our publications to get an idea about our work.
Communication-Aware Agentic Multi-Source Tracking with Hybrid Quantum–Classical Multi-Agent Learning
November, 2026 • Journal
Do, Duong The, Nguyen, Duong Tung
Self-adaptive sensor networks must decide when to sense, at what fidelity, and when to transmit information under partial observability, finite energy, unreliable links, sensor failures, and corrupted…
Self-adaptive sensor networks must decide when to sense, at what fidelity, and when to transmit information under partial observability, finite energy, unreliable links, sensor failures, and corrupted measurements. We formulate communication-aware agentic multi-source tracking as a constrained cooperative decentralized partially observable Markov decision process (Dec-POMDP) and propose HQ-MAPPO, a hybrid quantum--classical multi-agent learning framework for distributed sensor intelligence. Each sensor uses a decentralized actor for factored sensing and communication decisions, while centralized training uses a permutation-invariant set critic to support execution across network sizes. Communication is treated as part of the physical information process: only delivered measurements contribute to tracking, and per-agent token budgets guarantee pathwise communication feasibility. The actor uses a six-qubit variational feature map with trainable RZZ interactions, compared against exact separable and structured classical controls to isolate representation effects. Policies trained with 12 sensors are evaluated without retraining on up to 24 sensors under nominal and stressed regimes. At 24 sensors, the RZZ actor improves return and tracking RMSE over the exact separable surrogate under nominal and in-distribution stress, with consistent gains across all three training seeds; severe distribution shift favors hand-designed heuristics. The results support communication-aware hybrid multi-agent learning for resource-constrained self-adaptive sensor tracking while clarifying the robustness boundary of trainable interaction representations.
Terra Scientific Pipelines Service
Overview
Terra Scientific Pipelines Service, or Teaspoons, facilitates running a number of defined scientific pipelines
on behalf of users that users can't run them…
Terra Scientific Pipelines Service
Overview
Terra Scientific Pipelines Service, or Teaspoons, facilitates running a number of defined scientific pipelines
on behalf of users that users can't run themselves in Terra. The most common reason for this is that the pipeline
accesses proprietary data that users are not allowed to access directly, but that may be used as e.g. a reference panel
for imputation.
Supported pipelines
Current supported pipelines are:
Array Imputation with the All of Us + AnVIL Reference Panel
Architecture
Architecture Doc
Architecture Diagram
Development
This codebase is in initial development.
Requirements
Technical
This service is written in Java 17, and uses Postgres 15.
To run locally, you'll also need:
jq - install with brew install jq
Java 17 - can be installed manually or through IntelliJ which will do it for you when importing the project
Postgres 15 - multiple solutions here as long as you have a postgres instance running on localhost:5432 the local app will connect appropriately. Be sure to use Postgres 15 (as of Feb 2025, Postgres 17 did not work)
Download Postgres.app (recommended) from https://postgresapp.com/
Brew https://formulae.brew.sh/formula/postgresql@15
External Services
Terra services
Sam
Used to authn users connecting to the service and authz users for admin endpoints
Rawls
Used to handle workspace interactions
creating methods
data tables
workflow submission
Cromwell
Used through Rawls to run submissions
Thurloe
Used to send notification emails to users
Tech stack
Java 17 temurin
Postgres 15
Gradle - build automation tool
SonarQube - static code security and coverage
Trivy - security scanner for docker images
Jib - docker image builder for Java
Local development
To run locally:
Make sure you have the requirements installed from above. We recommend IntelliJ as an IDE.
Clone the repo (if you see broken inputs build the project to get the generated sources)
Spin up a local postgres instance (NOTE: use version 15)
Run the commands in scripts/postgres-init.sql in your local postgres instance. You will need to be authenticated to access GSM.
Run scripts/write-config.sh
Run ./gradlew bootRun to spin up the server.
Navigate to http://localhost:8080/#
If this is your first time deploying to any environment, be sure to use the admin endpoint /api/admin/v1/pipelines/{pipelineName}/{pipelineVersion} to set your pipeline's workspace id.
To run this endpoint, you need to be authenticated using your firecloud test account. A list of accounts that developers typically need is here. Further, a list of resources that are generally useful is stored here
This endpoint requires two parameters directly, and three in the message body:
pipelineName can be retrieved by querying the /api/pipelines/v1 endpoint.
pipelineVersion can also be retrieved from the /api/pipelines/v1 endpoint.
workspaceBillingProject is listed in the Teaspoons Resources document linked above
workspaceName is also listed in the Teaspoons Resources document, and can be found through the Terra UI workspace dashboard
wdlMethodVersion is found for the specific workflow as listed in the Terra UI page for workflows.
Back up local Postgres databases before testing/refactors
Before running local migrations/refactors, take backups of both local databases so you can restore quickly.
Defaults in this repo (see service/src/main/resources/application.yml and scripts/postgres-init.sql):
host 127.0.0.1, port 5432
pipelines_db user/pass: dbuser / dbpwd
teaspoons_stairway_db user/pass: stairwayuser / stairwaypwd
Backup and verify:
ts="$(date +%Y%m%d_%H%M%S)"
backup_dir="$HOME/teaspoons-db-backups/$ts"
mkdir -p "$backup_dir"
PGHOST=127.0.0.1 PGPORT=5432 PGUSER=dbuser PGPASSWORD=dbpwd \
pg_dump -Fc -f "$backup_dir/pipelines_db.dump" pipelines_db
PGHOST=127.0.0.1 PGPORT=5432 PGUSER=stairwayuser PGPASSWORD=stairwaypwd \
pg_dump -Fc -f "$backup_dir/teaspoons_stairway_db.dump" teaspoons_stairway_db
pg_restore -l "$backup_dir/pipelines_db.dump" | head
pg_restore -l "$backup_dir/teaspoons_stairway_db.dump" | head
echo "Backups written to: $backup_dir"
Restore later (replace <admin_password>):
PGHOST=127.0.0.1 PGPORT=5432 PGUSER=postgres PGPASSWORD=<admin_password> dropdb --if-exists pipelines_db
PGHOST=127.0.0.1 PGPORT=5432 PGUSER=postgres PGPASSWORD=<admin_password> createdb -O dbuser pipelines_db
PGHOST=127.0.0.1 PGPORT=5432 PGUSER=dbuser PGPASSWORD=dbpwd \
pg_restore --clean --if-exists --no-owner -d pipelines_db "$backup_dir/pipelines_db.dump"
PGHOST=127.0.0.1 PGPORT=5432 PGUSER=postgres PGPASSWORD=<admin_password> dropdb --if-exists teaspoons_stairway_db
PGHOST=127.0.0.1 PGPORT=5432 PGUSER=postgres PGPASSWORD=<admin_password> createdb -O stairwayuser teaspoons_stairway_db
PGHOST=127.0.0.1 PGPORT=5432 PGUSER=stairwayuser PGPASSWORD=stairwaypwd \
pg_restore --clean --if-exists --no-owner -d teaspoons_stairway_db "$backup_dir/teaspoons_stairway_db.dump"
Local development with the UI
When running terra-ui locally against a local teaspoons backend, CORS-related errors can arise. To get around this, run the following command to copy a configuration file that allows requests from localhost:
./scripts/local-dev/copy_web_config.sh
Note that this file at the destination path (next to App.java) is ignored via .gitignore, since it should not be used in deployed environments.
Local development with debugging
If using Intellij (only IDE we use on the team), you can run the server with a debugger. Follow
the steps above but instead of running ./gradlew bootRun to spin up the server, you can run
(debug) the App.java class through intellij and set breakpoints in the code. Be sure to set the
GOOGLE_APPLICATION_CREDENTIALS=config/teaspoons-sa.json in the Run/Debug configuration Environment Variables.
Testing the CLI locally
If you make changes to openapi.yml, you should test the CLI locally.
To create the autogenerated Python client files locally, run
./gradlew :python-client:openApiGenerate
The files will be generated in python-client/generated and are ignored from being checked into the repo.
(Note: the unqualified ./gradlew openApiGenerate now regenerates all four codegen modules —
python-client, rawls-client, client, and service — so qualify the task when you only want the Python client.)
To test with the CLI, follow the instructions in the CLI repo: DataBiosphere/terra-scientific-pipelines-service-cli.
Running Tests Locally
Run ./gradlew service:test to run tests
Note: If you encounter errors indicating a failure to load the ApplicationContext due to an error while preparing a database cluster caused by a missing Docker environment,
this may be related to newer Docker versions (for example, 29.0.0 and above). To resolve this issue, override the
Docker API version in the $HOME/.docker-java.properties file. If the file does not already exist, create it and add the following line:
api.version=1.44
If the file mentioned already exists with above line, and the tests are still failing in the same way, try restarting Docker.
Running Linter Locally
Run ./gradlew spotlessCheck to run linter checks
Run ./gradlew :service:spotlessApply to apply fix any issues the linter finds
(Optional) Install pre-commit hooks
[scripts/git-hooks/pre-commit] has been provided to help ensure all submitted changes are formatted correctly. To install all hooks in [scripts/git-hooks], run:
git config core.hooksPath scripts/git-hooks
Running SonarQube locally
SonarQube is a static analysis code that scans code for a wide
range of issues, including maintainability and possible bugs. Get more information from
DSP SonarQube Docs
If you get a build failure due to
SonarQube and want to debug the problem locally, you need to get the sonar token from GSM
before running the gradle task.
export SONAR_TOKEN=$(gcloud secrets versions access latest --project="broad-dsde-dev" --secret="teaspoons-sonarcloud" | jq '.sonar_token')
./gradlew sonarqube
Running this task produces no output unless your project has errors. To
generate a report, run using --info:
./gradlew sonarqube --info
Connecting to the database
To connect to the Teaspoons database, we have a script in dsp-scripts that
does all the setup for you. Clone that repo and make sure you're either on Broad Internal wifi or connected
to the VPN. Then run the following command:
./db/psql-connect.sh dev teaspoons
Deploying to dev
Upon merging to main, the dev environment will be automatically deployed via the GitHub Action Bump, Tag, Publish, and Deploy
(that workflow is defined here).
The two tasks report-to-sherlock and set-version-in-dev will prompt Sherlock to deploy the new version to dev.
You can check the status of the deployment in Beehive and in
ArgoCD.
For more information about deployment to dev, check out DevOps' excellent documentation.
Tracing
We use OpenTelemetry for tracing, so that every request has a tracing span that can
be viewed in Google Cloud Trace.
See this DSP blog post for more info.
Running the BEE end-to-end tests
The end-to-end test that runs against a BEE is specified in .github/workflows/run-bee-e2e-tests.yaml. It calls the workflow defined
in the terra-github-workflows repo.
The end-to-end test is automatically run nightly on the dev environment.
To run the test against a specific feature branch:
Grab the image tag for your feature branch.
If you've opened a PR, you can find the image tag as follows:
go to the Bump, Tag, Publish, and Deploy workflow that's triggered each time you push to your branch
From there, go to the tag-publish-docker-deploy task
Expand the "Construct docker image name and tag" step
The first line should contain the image tag, something like "0.0.81-6761487".
Navigate to the e2e-test GHA workflow
Click on the "Run workflow" button and select your branch from the dropdown
Enter the image tag from step 1 in the "Custom image tag" field
If you've updated the end-to-end test in the dsp-resuable-workflows repo, enter either a commit hash or your git
branch name. If you don't need to change the test, leave the default as main.
Click the green "Run workflow" button.
Python clients
We publish a "thin", auto-generated Python client that wraps the Teaspoons APIs. This client is published to
PyPi and can be installed with
pip install teaspoons_client, although this is not meant to be user-facing. The thin api client is generated from
the OpenAPI spec in the openapi directory.
Publishing occurs automatically when a new version of the service is deployed, via the
release-python-client GHA.
We also have a user-facing, "thick" CLI whose code lives in a separate repository: DataBiosphere/terra-scientific-pipelines-service-cli.
This high-resolution snow dataset provides daily estimates of snow depth, snow water equivalent, snow cover fraction, and snowmelt runoff for Switzerland and hydrologically connected bordering regions…
This high-resolution snow dataset provides daily estimates of snow depth, snow water equivalent, snow cover fraction, and snowmelt runoff for Switzerland and hydrologically connected bordering regions, covering water years 2016 to 2025. The dataset is based on fully distributed simulations at 250 m resolution using the multi-layer, physics-based snow model FSM2OSHD, operated by the Swiss Operational Snow Hydrological Service. To capture the high spatial heterogeneity of snow cover dynamics in complex mountainous terrain, the modeling framework combines dedicated dynamical and statistical downscaling of numerical weather prediction data with the upscaling of hyper-resolution terrain, forest, and light-availability datasets, explicitly accounting for subgrid variability. The particle filter-based assimilation of in situ snow depth observations from 444 monitoring stations across the domain dynamically corrects spatiotemporal error patterns in the meteorological forcing data. This approach ensures consistent input data quality over the entire 10-year period and mitigates potential discontinuities caused by changes within the numerical weather prediction system.
Version notes:
Version 1.1 (November 2026): corrected northing coordinates. In version 1.0, the values were offset by −2000 m (8 grid cells, i.e., 2 km too far south) and the geospatial_lat_min/geospatial_lat_max attributes were affected accordingly. Data values (hs, swe, scf, smro), the easting coordinates, and the digital elevation model (OSHD_MODEL_DOMAIN.tif) are unchanged. Also, in version 1.1, the northing dimension is stored in ascending order (south to north). Code that accesses the data by array index rather than by coordinate may need to be adapted.
Version 1.0 (October 2025): Initial release. ⚠️ The northing coordinates are offset by −2000 m. Please use version 1.1, or correct with northing + 2000.
Alginate from polysaccharides has the property of forming hydrogels. Alginate is highly valued in the agro-industry as an absorbent polymer. It is used in agriculture as a coating for vegetables, frui…
Alginate from polysaccharides has the property of forming hydrogels. Alginate is highly valued in the agro-industry as an absorbent polymer. It is used in agriculture as a coating for vegetables, fruits and seeds, as a carrier of fungi and bacteria, as a biocontrol and a plant growth stimulator. In addition, alginate increases soil fertility, improves its quality, provides plants with adequate nutrition. from the soil and is used more to prevent the occurrence of phytopathogens. At the same time, a decrease in yield is possible due to improper post-harvest processing. prevents. In this experiment, we explain the technique of forming hydrogels using alginate.
Profesjonalizacja zarządzania a potencjał dalszego skalowania przedsiębiorstwa
November, 2026 • Report
Nawrocki, Łukasz, Weinert, Adam
Studium przypadku analizuje napięcie między dotychczasowym, silnie związanym z osobistą aktywnością Właściciela modelem zarządzania a potencjałem dalszego skalowania przedsiębiorstwa. Materiał opisuje…
Studium przypadku analizuje napięcie między dotychczasowym, silnie związanym z osobistą aktywnością Właściciela modelem zarządzania a potencjałem dalszego skalowania przedsiębiorstwa. Materiał opisuje rozwój organizacji, możliwości rynkowe oraz wyzwania związane z koncentracją decyzji, nie w pełni sformalizowanym podziałem odpowiedzialności, ograniczoną samodzielnością menedżerską i zdolnością do równoległej realizacji przedsięwzięć.
Na podstawie wybranych diagnoz i rekomendacji eksperckich opracowanie rekonstruuje profesjonalizację zarządzania jako jeden z możliwych kierunków wzmacniania zdolności operacyjnej: poprzez delegowanie uprawnień, porządkowanie procesów, rozwój kompetencji menedżerskich i koordynację wykorzystania zasobów. Centralne pytanie dotyczy zakresu przekazywania odpowiedzialności przy jednoczesnym zachowaniu przedsiębiorczości, elastyczności i wpływu właścicielskiego na kierunki rozwoju.
Publikacja rozróżnia wzrost potencjału organizacyjnego, możliwe korzyści ekonomiczne i rzeczywisty wzrost wartości przedsiębiorstwa. Nie dokumentuje wdrożenia profesjonalizacji, jej ekonomicznych rezultatów ani późniejszej decyzji Właściciela. Przedstawiona sekwencja zagadnień ma charakter analityczny, nie jest dowodem chronologii zdarzeń ani związków przyczynowo-skutkowych. Studium stanowi interpretację diagnozy strategicznej w ramach VBM Sprint®.
New
Plot groups: several channels in one shared plot (field "Plot group" in the channel display settings), with a legend and a shared Y scale
Channel table: swap hardware channels and move …
New
Plot groups: several channels in one shared plot (field "Plot group" in the channel display settings), with a legend and a shared Y scale
Channel table: swap hardware channels and move rows
User manual (PDF) under Help → User Manual, or press F1
Plots in the same grid column are now aligned exactly below each other
Improved
Much smoother live view while recording, especially with many channels and high sample rates
Saving to CSV no longer blocks the user interface
Parquet files are written with large row groups: smaller files and much faster loading (e.g. in MATLAB). Existing files can be rewritten losslessly with tools/rewrite_parquet.py
Analysis view: adding channels stays fast even for long measurements; an active measurement cursor no longer disappears when the plot changes
Installation
Download and run ezDAQ-Setup-0.6.2.exe. It replaces an existing installation; channel configurations are kept. The NI-DAQmx driver still has to be installed separately.
Maqolada umumiy örta va professional ta'lim muassasalarida ösmirlar deviant xulq-atvorining profilaktikasini taşkil etişda amaliyotçi psixologlar, pedagoglar hamda ta'lim muassasasi ma'muriyati hamkor…
Maqolada umumiy örta va professional ta'lim muassasalarida ösmirlar deviant xulq-atvorining profilaktikasini taşkil etişda amaliyotçi psixologlar, pedagoglar hamda ta'lim muassasasi ma'muriyati hamkorligining nazariy va taşkiliy asoslari tahlil qilinadi. Ösmirlik davrining ijtimoiy-psixologik xususiyatlari, ta'lim bosqiçlari almaşinuvi jarayonida yuzaga kelişi mumkin bölgan moslaşuv qiyinçiliklari, agressiv xatti-harakatlar, ijtimoiy çekiniş va raqamli muhitdan muammoli foydalaniş xavflari yoritiladi. Mavzuga oid ilmiy adabiyotlar hamda xalqaro taşkilotlarning tavsiyalari asosida profilaktikaning tizimli, köp darajali va uzluksiz yondaşuvi asoslanadi. Maktabdan professional ta'lim muassasasiga ötiş davrida psixologik-pedagogik kuzatuvning davomiyligini ta'minlaş, xavf omillarini erta aniql aş, öquvçini qöllab-quvvatlovçi muhit yaratiş va zarur hollarda tegşli mutaxassislarga yönaltiriş mexanizmlari taklif etiladi. Maqolada muassasalararo hamkorlikning taşkiliy modeli işlab çiqilib, uning bosqiçlari, iştirokçilari va funksional vazifalari tavsiflanadi. Taklif etilgan yondaşuv empirik samaradorligi isbotlangan tajriba natijasi sifatida emas, balki ilmiy manbalar tahliliga tayangan konseptual-amaliy model sifatida taqdim etiladi. Kalit sözlar: deviant xulq-atvor, ösmirlik davri, profilaktika, maktab psixologi, professional ta'lim, pedagogik hamkorlik, psixologik moslaşuv, raqamli muhit.
deviant xulq-atvorösmirlik davriprofilaktikamaktab psixologiprofessional ta'lim
(2026-2015) _ The Holocaust of Jewish Greeks and Jews of Thessaloniki: Italian truncated, selective and hybrid Humanity, Spanish adaptable Citizenship _ Diplomats, Italiani Brava Gente, Francoist Spain claims of Jewish Rescue
November, 2026 • Book
Hagouel, Paul Isaac
2026-2015 Updated and Augmented
The role that Italy played in the Holocaust of the Jews of Thessaloniki has not been documented. Jewish Greeks of Thessaloniki and other nearby locales did not be…
2026-2015 Updated and Augmented
The role that Italy played in the Holocaust of the Jews of Thessaloniki has not been documented. Jewish Greeks of Thessaloniki and other nearby locales did not benefit either by Italian or Spanish Diplomacy and the Diplomats. The unfortunate indirect role that Italy played in the Annihilation of Jewish Greeks will be demonstrated. The adaptability, along with the fortunes of war, and, consequently, its interpretation at will by the Spanish Administration, of the Spanish Citizenship (its rights and privileges) of Jewish Thessalonikians is also demonstrated. It is regrettable that the self–evident and obvious duty of a Country – State to protect its own citizens had to be transubstantiated into and elevated to the realm of Humanity and Saving and Rescue.
plus the three diplomats: Sebastián de Romero Radigales, Giuseppe Castruccio, Guelfo ZamboniItaliani Brava Gente in the 21st Century, the durability of the controversy of the Francoist Spain Jewish Rescue during WWII
There is an increasing interest in upgrading the EModel, a parametric tool for speech quality estimation, to the wideband and super-wideband contexts. The
Contemporary models of Unmanned Aerial Vehicles (UAVs) are largely developed using simulators. In a typical scheme, a flight simulator is dovetailed with a
Undertaking engineering research can be compounding for beginning graduate students and thwarting even for seasoned researchers. With a wealth of academic
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional
Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes.The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.