Skip to content

Commit b57aaa1

Browse files
authored
Merge branch 'CDCgov:main' into main
2 parents ae737e7 + 4a98829 commit b57aaa1

27 files changed

Lines changed: 97660 additions & 231 deletions

.github/workflows/actionlint.yaml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: "Lint GitHub Actions Workflows"
2+
on:
3+
pull_request:
4+
push:
5+
branches: [main]
6+
7+
8+
jobs:
9+
actionlint:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- uses: actions/checkout@v6
13+
- name: "Download actionlint"
14+
id: get_actionlint
15+
run: bash <(curl https://raw.githubusercontent.com/rhysd/actionlint/main/scripts/download-actionlint.bash)
16+
shell: bash
17+
- name: "Check Workflow Files"
18+
run: ${{ steps.get_actionlint.outputs.executable }} -color -ignore "SC2086" -ignore "timezone"
19+
shell: bash

.github/workflows/cache-hubval-deps.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ on:
55
paths:
66
- '.github/workflows/cache-hubval-deps.yaml'
77
schedule:
8-
- cron: "10 0 * * *" # run daily at 12:10 AM UTC (7:10 PM EST)
8+
- cron: "10 19 * * *" # run daily at 7:10 PM ET
9+
timezone: "America/New_York"
910

1011
jobs:
1112
build-deps-cache-on-main:

.github/workflows/create-baseline.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ on:
1313
default: ""
1414
type: string
1515
schedule:
16-
- cron: "30 20 * * 3" # run every Wednesday at 8:30 PM UTC (3:30 PM EST)
16+
- cron: "30 15 * * 3" # run every Wednesday at 3:30 PM ET
17+
timezone: "America/New_York"
1718

1819
jobs:
1920
generate-baseline-forecasts:

.github/workflows/create-ensemble.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ on:
1313
default: ""
1414
type: string
1515
schedule:
16-
- cron: "30 13 * * 4" # run every Thursday at 1:30 PM UTC (8:30 AM EST)
16+
- cron: "45 9 * * 4" # run every Thursday at 9:45 AM ET
17+
timezone: "America/New_York"
1718

1819
jobs:
1920
generate-ensemble-forecasts:

.github/workflows/hubverse-aws-upload.yaml

Lines changed: 56 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -16,67 +16,67 @@ permissions:
1616

1717
jobs:
1818
upload:
19-
# Don't run on forked repositories
19+
# don't run on forked repositories
2020
if: github.event.repository.fork != true
2121
runs-on: ubuntu-latest
2222

2323
steps:
24-
- name: "Checkout"
25-
uses: actions/checkout@v6
24+
- name: "Checkout"
25+
uses: actions/checkout@v6
2626

27-
- name: "Get hub cloud config"
28-
# save cloud-related fields from admin config as environment variables
29-
# (jq json parser is installed on Github-hosted runners)
30-
run: |
31-
cloud_enabled=$(cat ./hub-config/admin.json | jq -r '.cloud.enabled') \
32-
&& echo "CLOUD_ENABLED=$cloud_enabled"
33-
cloud_storage_location=$(cat ./hub-config/admin.json | jq -r '.cloud.host.storage_location') \
34-
&& echo "CLOUD_STORAGE_LOCATION=$cloud_storage_location"
35-
echo "CLOUD_ENABLED=$cloud_enabled" >> $GITHUB_ENV
36-
echo "CLOUD_STORAGE_LOCATION=$cloud_storage_location" >> $GITHUB_ENV
27+
- name: "Get Hub Cloud Config"
28+
# save cloud-related fields from admin config as environment variables
29+
# (jq json parser is installed on Github-hosted runners)
30+
run: |
31+
cloud_enabled=$(jq -r '.cloud.enabled' ./hub-config/admin.json) \
32+
&& echo "CLOUD_ENABLED=$cloud_enabled"
33+
cloud_storage_location=$(jq -r '.cloud.host.storage_location' ./hub-config/admin.json) \
34+
&& echo "CLOUD_STORAGE_LOCATION=$cloud_storage_location"
35+
echo "CLOUD_ENABLED=$cloud_enabled" >> $GITHUB_ENV
36+
echo "CLOUD_STORAGE_LOCATION=$cloud_storage_location" >> $GITHUB_ENV
3737
38-
- name: "Configure AWS credentials"
39-
# request credentials to assume the hub's AWS role via OpenID Connect
40-
if: env.CLOUD_ENABLED == 'true'
41-
uses: aws-actions/configure-aws-credentials@v6
42-
with:
43-
role-to-assume: arn:aws:iam::${{ env.AWS_ACCOUNT }}:role/${{ env.CLOUD_STORAGE_LOCATION }}
44-
aws-region: us-east-1
38+
- name: "Configure AWS Credentials"
39+
# request credentials to assume the hub's AWS role via OpenID Connect
40+
if: env.CLOUD_ENABLED == 'true'
41+
uses: aws-actions/configure-aws-credentials@v6
42+
with:
43+
role-to-assume: arn:aws:iam::${{ env.AWS_ACCOUNT }}:role/${{ env.CLOUD_STORAGE_LOCATION }}
44+
aws-region: us-east-1
4545

46-
- name: "Install rclone"
47-
if: env.CLOUD_ENABLED == 'true'
48-
run: |
49-
# debian version of rclone is outdated and will result in config name errors
50-
# https://github.com/rclone/rclone/issues/6060
51-
curl https://rclone.org/install.sh | sudo bash
52-
rclone version
46+
- name: "Install rclone"
47+
if: env.CLOUD_ENABLED == 'true'
48+
run: |
49+
# debian version of rclone is outdated and will result in config name errors
50+
# https://github.com/rclone/rclone/issues/6060
51+
curl https://rclone.org/install.sh | sudo bash
52+
rclone version
5353
54-
- name: "Sync files to cloud storage"
55-
# sync specified hub directories to S3
56-
# (to exclude a directory, remove it from the hub_directories list below)
57-
if: env.CLOUD_ENABLED == 'true'
58-
run: |
59-
hub_directories=(
60-
'auxiliary-data'
61-
'hub-config'
62-
'model-abstracts'
63-
'model-metadata'
64-
'target-data'
65-
)
66-
for DIRECTORY in "${hub_directories[@]}"
67-
do
68-
if [ -d "./$DIRECTORY" ]
69-
then
70-
rclone sync \
71-
"./$DIRECTORY/" \
72-
":s3,provider=AWS,env_auth:$BUCKET_NAME/$DIRECTORY" \
73-
--checksum --verbose --stats-one-line --config=/dev/null
74-
fi
75-
done
76-
# unlike other data, model-outputs are synced to a "raw" location
77-
# so we can transform it before presenting to users
78-
rclone sync ./model-output/ ":s3,provider=AWS,env_auth:$BUCKET_NAME/raw/model-output" \
79-
--checksum --verbose --stats-one-line --config=/dev/null
80-
shell: bash
81-
env:
82-
BUCKET_NAME: ${{ env.CLOUD_STORAGE_LOCATION }}
54+
- name: "Sync Files To Cloud Storage"
55+
# sync specified hub directories to S3
56+
# (to exclude a directory, remove it from the hub_directories list below)
57+
if: env.CLOUD_ENABLED == 'true'
58+
run: |
59+
hub_directories=(
60+
'auxiliary-data'
61+
'hub-config'
62+
'model-abstracts'
63+
'model-metadata'
64+
'target-data'
65+
)
66+
for DIRECTORY in "${hub_directories[@]}"
67+
do
68+
if [ -d "./$DIRECTORY" ]
69+
then
70+
rclone sync \
71+
"./$DIRECTORY/" \
72+
":s3,provider=AWS,env_auth:$BUCKET_NAME/$DIRECTORY" \
73+
--checksum --verbose --stats-one-line --config=/dev/null
74+
fi
75+
done
76+
# unlike other data, model-outputs are synced to a "raw" location
77+
# so we can transform it before presenting to users
78+
rclone sync ./model-output/ ":s3,provider=AWS,env_auth:$BUCKET_NAME/raw/model-output" \
79+
--checksum --verbose --stats-one-line --config=/dev/null
80+
shell: bash
81+
env:
82+
BUCKET_NAME: ${{ env.CLOUD_STORAGE_LOCATION }}

.github/workflows/update-target-data.yaml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ on:
88
type: boolean
99
default: true
1010
schedule:
11-
- cron: "00 17 * * 3" # run every Wednesday at 5:00 PM UTC (1:00 PM EST)
11+
- cron: "00 13 * * 3" # run every Wednesday at 1:00 PM ET
12+
timezone: "America/New_York"
1213

1314
jobs:
1415
update-target-data:
@@ -39,3 +40,7 @@ jobs:
3940
api_key_secret: ${{ secrets.NHSN_API_KEY_SECRET }}
4041
legacy_file: "true"
4142
nssp_update_local: ${{ inputs.nssp_update_local || 'true' }}
43+
# JSON array (e.g., '["VI", "GU"]') excludes from all targets.
44+
# JSON object (e.g., '{"all": ["VI"], "wk inc covid hosp": ["GU"]}')
45+
# supports target-specific exclusions.
46+
excluded_locations: '["VI", "GU", "AS", "MP", "UM"]'
217 KB
Binary file not shown.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
model_id,designated_model,target
2+
CADPH-CovidCAT_Ensemble,TRUE,wk inc covid hosp
3+
CEPH-Rtrend_covid,TRUE,wk inc covid hosp
4+
CFA-EpiAutoGP,TRUE,wk inc covid hosp
5+
CFA_Pyrenew-Pyrenew_HE_COVID,TRUE,wk inc covid hosp
6+
CFA_Pyrenew-Pyrenew_H_COVID,FALSE,wk inc covid hosp
7+
CMU-TimeSeries,TRUE,wk inc covid hosp
8+
CovidHub-baseline,FALSE,wk inc covid hosp
9+
Google_SAI-Ensemble,TRUE,wk inc covid hosp
10+
NEU_ISI-AdaptiveEnsemble,TRUE,wk inc covid hosp
11+
OHT_JHU-nbxd,TRUE,wk inc covid hosp
12+
UGA_flucast-INFLAenza,TRUE,wk inc covid hosp
13+
UM-DeepOutbreak,TRUE,wk inc covid hosp
14+
UMass-ar6_pooled,TRUE,wk inc covid hosp
15+
UMass-gbqr,TRUE,wk inc covid hosp
16+
CFA_Pyrenew-Pyrenew_E_COVID,FALSE,wk inc covid prop ed visits
17+
CFA_Pyrenew-Pyrenew_HE_COVID,TRUE,wk inc covid prop ed visits
18+
CMU-TimeSeries,TRUE,wk inc covid prop ed visits
19+
CovidHub-baseline,FALSE,wk inc covid prop ed visits
20+
UGA_flucast-INFLAenza,TRUE,wk inc covid prop ed visits
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
"reference_date","target","horizon","target_end_date","location","output_type","output_type_id","value"
2+
2026-04-04,"wk inc covid hosp",0,2026-04-04,"06","quantile",0.01,71.1129078111157
3+
2026-04-04,"wk inc covid hosp",0,2026-04-04,"06","quantile",0.025,74.736567793583
4+
2026-04-04,"wk inc covid hosp",0,2026-04-04,"06","quantile",0.05,78.23633360302
5+
2026-04-04,"wk inc covid hosp",0,2026-04-04,"06","quantile",0.1,82.3247127163511
6+
2026-04-04,"wk inc covid hosp",0,2026-04-04,"06","quantile",0.15,85.2756689226037
7+
2026-04-04,"wk inc covid hosp",0,2026-04-04,"06","quantile",0.2,87.6969272396646
8+
2026-04-04,"wk inc covid hosp",0,2026-04-04,"06","quantile",0.25,89.8289770797168
9+
2026-04-04,"wk inc covid hosp",0,2026-04-04,"06","quantile",0.3,91.7437913472933
10+
2026-04-04,"wk inc covid hosp",0,2026-04-04,"06","quantile",0.35,93.5321515095574
11+
2026-04-04,"wk inc covid hosp",0,2026-04-04,"06","quantile",0.4,95.2765622215838
12+
2026-04-04,"wk inc covid hosp",0,2026-04-04,"06","quantile",0.45,96.990214426584
13+
2026-04-04,"wk inc covid hosp",0,2026-04-04,"06","quantile",0.5,98.812580929932
14+
2026-04-04,"wk inc covid hosp",0,2026-04-04,"06","quantile",0.55,100.551866111295
15+
2026-04-04,"wk inc covid hosp",0,2026-04-04,"06","quantile",0.6,102.35841887818
16+
2026-04-04,"wk inc covid hosp",0,2026-04-04,"06","quantile",0.65,104.279136232323
17+
2026-04-04,"wk inc covid hosp",0,2026-04-04,"06","quantile",0.7,106.317947493455
18+
2026-04-04,"wk inc covid hosp",0,2026-04-04,"06","quantile",0.75,108.603523524445
19+
2026-04-04,"wk inc covid hosp",0,2026-04-04,"06","quantile",0.8,111.272183923983
20+
2026-04-04,"wk inc covid hosp",0,2026-04-04,"06","quantile",0.85,114.407914484415
21+
2026-04-04,"wk inc covid hosp",0,2026-04-04,"06","quantile",0.9,118.468749024362
22+
2026-04-04,"wk inc covid hosp",0,2026-04-04,"06","quantile",0.95,124.727951191312
23+
2026-04-04,"wk inc covid hosp",0,2026-04-04,"06","quantile",0.975,130.181553199048
24+
2026-04-04,"wk inc covid hosp",0,2026-04-04,"06","quantile",0.99,136.956551943212
25+
2026-04-04,"wk inc covid hosp",1,2026-04-11,"06","quantile",0.01,50.1105124472673
26+
2026-04-04,"wk inc covid hosp",1,2026-04-11,"06","quantile",0.025,53.7882942648696
27+
2026-04-04,"wk inc covid hosp",1,2026-04-11,"06","quantile",0.05,57.6452483930072
28+
2026-04-04,"wk inc covid hosp",1,2026-04-11,"06","quantile",0.1,62.336459115263
29+
2026-04-04,"wk inc covid hosp",1,2026-04-11,"06","quantile",0.15,65.8210624195844
30+
2026-04-04,"wk inc covid hosp",1,2026-04-11,"06","quantile",0.2,68.7927402548316
31+
2026-04-04,"wk inc covid hosp",1,2026-04-11,"06","quantile",0.25,71.4294754895045
32+
2026-04-04,"wk inc covid hosp",1,2026-04-11,"06","quantile",0.3,73.9994217558229
33+
2026-04-04,"wk inc covid hosp",1,2026-04-11,"06","quantile",0.35,76.3085913670353
34+
2026-04-04,"wk inc covid hosp",1,2026-04-11,"06","quantile",0.4,78.7778184931867
35+
2026-04-04,"wk inc covid hosp",1,2026-04-11,"06","quantile",0.45,81.1223964026666
36+
2026-04-04,"wk inc covid hosp",1,2026-04-11,"06","quantile",0.5,83.5232831417435
37+
2026-04-04,"wk inc covid hosp",1,2026-04-11,"06","quantile",0.55,85.9920367828532
38+
2026-04-04,"wk inc covid hosp",1,2026-04-11,"06","quantile",0.6,88.5215888632877
39+
2026-04-04,"wk inc covid hosp",1,2026-04-11,"06","quantile",0.65,91.2069748726711
40+
2026-04-04,"wk inc covid hosp",1,2026-04-11,"06","quantile",0.7,94.2032055435601
41+
2026-04-04,"wk inc covid hosp",1,2026-04-11,"06","quantile",0.75,97.5059423609345
42+
2026-04-04,"wk inc covid hosp",1,2026-04-11,"06","quantile",0.8,101.268511182957
43+
2026-04-04,"wk inc covid hosp",1,2026-04-11,"06","quantile",0.85,105.900799551889
44+
2026-04-04,"wk inc covid hosp",1,2026-04-11,"06","quantile",0.9,111.884574760719
45+
2026-04-04,"wk inc covid hosp",1,2026-04-11,"06","quantile",0.95,121.630356360632
46+
2026-04-04,"wk inc covid hosp",1,2026-04-11,"06","quantile",0.975,130.310762056168
47+
2026-04-04,"wk inc covid hosp",1,2026-04-11,"06","quantile",0.99,141.199013871096
48+
2026-04-04,"wk inc covid hosp",2,2026-04-18,"06","quantile",0.01,36.8380156747834
49+
2026-04-04,"wk inc covid hosp",2,2026-04-18,"06","quantile",0.025,40.0283479136355
50+
2026-04-04,"wk inc covid hosp",2,2026-04-18,"06","quantile",0.05,43.3638513660655
51+
2026-04-04,"wk inc covid hosp",2,2026-04-18,"06","quantile",0.1,48.0148535967993
52+
2026-04-04,"wk inc covid hosp",2,2026-04-18,"06","quantile",0.15,51.5024465909321
53+
2026-04-04,"wk inc covid hosp",2,2026-04-18,"06","quantile",0.2,54.5583776998348
54+
2026-04-04,"wk inc covid hosp",2,2026-04-18,"06","quantile",0.25,57.4177530532217
55+
2026-04-04,"wk inc covid hosp",2,2026-04-18,"06","quantile",0.3,60.0813580646942
56+
2026-04-04,"wk inc covid hosp",2,2026-04-18,"06","quantile",0.35,62.6493684896497
57+
2026-04-04,"wk inc covid hosp",2,2026-04-18,"06","quantile",0.4,65.2508721894755
58+
2026-04-04,"wk inc covid hosp",2,2026-04-18,"06","quantile",0.45,67.9362977739911
59+
2026-04-04,"wk inc covid hosp",2,2026-04-18,"06","quantile",0.5,70.5312681602777
60+
2026-04-04,"wk inc covid hosp",2,2026-04-18,"06","quantile",0.55,73.4720836279795
61+
2026-04-04,"wk inc covid hosp",2,2026-04-18,"06","quantile",0.6,76.3778910476035
62+
2026-04-04,"wk inc covid hosp",2,2026-04-18,"06","quantile",0.65,79.5035249854776
63+
2026-04-04,"wk inc covid hosp",2,2026-04-18,"06","quantile",0.7,82.9973954751612
64+
2026-04-04,"wk inc covid hosp",2,2026-04-18,"06","quantile",0.75,86.9435095688471
65+
2026-04-04,"wk inc covid hosp",2,2026-04-18,"06","quantile",0.8,91.4512388521501
66+
2026-04-04,"wk inc covid hosp",2,2026-04-18,"06","quantile",0.85,96.9848304379833
67+
2026-04-04,"wk inc covid hosp",2,2026-04-18,"06","quantile",0.9,104.58282497684
68+
2026-04-04,"wk inc covid hosp",2,2026-04-18,"06","quantile",0.95,116.630976715807
69+
2026-04-04,"wk inc covid hosp",2,2026-04-18,"06","quantile",0.975,127.759163356159
70+
2026-04-04,"wk inc covid hosp",2,2026-04-18,"06","quantile",0.99,142.853555970721
71+
2026-04-04,"wk inc covid hosp",3,2026-04-25,"06","quantile",0.01,29.6926911207556
72+
2026-04-04,"wk inc covid hosp",3,2026-04-25,"06","quantile",0.025,32.6176711022205
73+
2026-04-04,"wk inc covid hosp",3,2026-04-25,"06","quantile",0.05,35.4900153864744
74+
2026-04-04,"wk inc covid hosp",3,2026-04-25,"06","quantile",0.1,39.6861646559083
75+
2026-04-04,"wk inc covid hosp",3,2026-04-25,"06","quantile",0.15,43.0195559285366
76+
2026-04-04,"wk inc covid hosp",3,2026-04-25,"06","quantile",0.2,46.1300506323518
77+
2026-04-04,"wk inc covid hosp",3,2026-04-25,"06","quantile",0.25,48.9661585397726
78+
2026-04-04,"wk inc covid hosp",3,2026-04-25,"06","quantile",0.3,51.7057813211915
79+
2026-04-04,"wk inc covid hosp",3,2026-04-25,"06","quantile",0.35,54.4541777914449
80+
2026-04-04,"wk inc covid hosp",3,2026-04-25,"06","quantile",0.4,57.2497768980894
81+
2026-04-04,"wk inc covid hosp",3,2026-04-25,"06","quantile",0.45,60.0512304091141
82+
2026-04-04,"wk inc covid hosp",3,2026-04-25,"06","quantile",0.5,62.9067217266092
83+
2026-04-04,"wk inc covid hosp",3,2026-04-25,"06","quantile",0.55,66.0717751139374
84+
2026-04-04,"wk inc covid hosp",3,2026-04-25,"06","quantile",0.6,69.2879526575499
85+
2026-04-04,"wk inc covid hosp",3,2026-04-25,"06","quantile",0.65,72.8589479543789
86+
2026-04-04,"wk inc covid hosp",3,2026-04-25,"06","quantile",0.7,76.8295732184075
87+
2026-04-04,"wk inc covid hosp",3,2026-04-25,"06","quantile",0.75,81.3967151374679
88+
2026-04-04,"wk inc covid hosp",3,2026-04-25,"06","quantile",0.8,86.6629914659948
89+
2026-04-04,"wk inc covid hosp",3,2026-04-25,"06","quantile",0.85,93.2190119811787
90+
2026-04-04,"wk inc covid hosp",3,2026-04-25,"06","quantile",0.9,102.111499689969
91+
2026-04-04,"wk inc covid hosp",3,2026-04-25,"06","quantile",0.95,116.793010908382
92+
2026-04-04,"wk inc covid hosp",3,2026-04-25,"06","quantile",0.975,130.660815876919
93+
2026-04-04,"wk inc covid hosp",3,2026-04-25,"06","quantile",0.99,148.900066031035

0 commit comments

Comments
 (0)