Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
4764400
Updated Annotation Engine module to reflect upstream changes
olekshche Aug 25, 2025
96ff704
Optimized version of calculations for ...nc tab
olekshche Aug 26, 2025
7baf23d
feat: support vertical levels in NetCDF vars (UI + annotation)
olekshche Sep 1, 2025
a5aeb7d
Merge pull request #185 from olekshche/develop
jemissik Sep 3, 2025
9796b36
Merge branch 'develop' into annotation
jemissik Jan 20, 2026
e671115
annotation app: updated selection of env coordinate names
jemissik Jan 22, 2026
4cbeecd
Add option for bilinear interpolation in projected datasets (e.g. NARR)
jemissik Jan 22, 2026
bb06c55
make sure set_time_encoding_modis function uses float dtype
jemissik Apr 9, 2026
a916a19
Add Presence Data Preparation, Multidimensional Annotation, and NC Bu…
olekshche May 13, 2026
9a6e5bd
Fix cleanup of temporary trimmed CSV file
olekshche May 13, 2026
9c8cd62
Update pip install options in dev environment file
jemissik May 13, 2026
d007e92
Adapt the projected x/y bilinear interpolation logic from #191 to the…
olekshche May 15, 2026
33dc09d
Merge branch 'annotation' into develop
olekshche May 15, 2026
e03ff8d
Restore robust NetCDF coordinate selection
jemissik May 19, 2026
6cb0201
Move editable install out of conda dev env
jemissik May 19, 2026
933c86b
Add app manuals to documentation
jemissik May 19, 2026
f5bf9c5
Merge pull request #192 from olekshche/develop
jemissik May 19, 2026
438e927
Update macOS constructor runner labels
jemissik May 20, 2026
5215deb
Improve prerelease constructor installs
jemissik May 29, 2026
1439035
Fix prerelease installer smoke test
jemissik May 29, 2026
ef28ec1
Fix Windows CI conda setup
jemissik May 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci_conda_constructor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
ARCH: x86_64
OS_NAME: "Linux"
# x86_64 MACOS
- os: macos-13
- os: macos-15-intel
ARCH: x86_64
OS_NAME: "MacOSX"
# ARM MACOS
Expand Down
65 changes: 62 additions & 3 deletions .github/workflows/ci_conda_constructor_prerelease.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ on:
workflow_dispatch:
inputs:
branch:
description: 'Branch of Release'
description: 'Git ref to install into the prerelease environment (branch, tag, or commit SHA)'
default: 'develop'
required: true

Expand All @@ -25,7 +25,7 @@ jobs:
ARCH: x86_64
OS_NAME: "Linux"
# x86_64 MACOS
- os: macos-13
- os: macos-15-intel
ARCH: x86_64
OS_NAME: "MacOSX"
# ARM MACOS
Expand All @@ -52,6 +52,29 @@ jobs:
run: |
cd scripts
bash build_dev.sh ${{ inputs.branch }}

- name: Test installer
shell: bash -l {0}
run: |
installer="$(find scripts -maxdepth 1 -type f -name 'ecodata*.sh' | head -n 1)"
if [ -z "$installer" ]; then
echo "No shell installer found in scripts/"
find scripts -maxdepth 1 -type f -name 'ecodata*' -print
exit 1
fi

prefix="$RUNNER_TEMP/ecodata-prerelease-install"
rm -rf "$prefix"

bash "$installer" -b -f -p "$prefix"

smoke_dir="$RUNNER_TEMP/ecodata-prerelease-smoke"
rm -rf "$smoke_dir"
mkdir -p "$smoke_dir"
cd "$smoke_dir"

"$prefix/bin/python" -c "import ecodata; from ecodata.app.apps import applications; print('Installed ecodata:', getattr(ecodata, '__version__', 'unknown'), ecodata.__file__); print('Registered apps:', ', '.join(sorted(applications))); assert applications"

- name: upload artifacts
uses: actions/upload-artifact@v4
with:
Expand Down Expand Up @@ -88,8 +111,44 @@ jobs:
run: |
cd scripts
.\build_dev.ps1 ${{ inputs.branch }}

- name: Test installer
shell: pwsh
run: |
$installer = Get-ChildItem -Path scripts -Filter "ecodata*.exe" | Select-Object -First 1
if (-not $installer) {
Write-Host "No Windows installer found in scripts/"
Get-ChildItem -Path scripts -Filter "ecodata*"
exit 1
}

$prefix = Join-Path $env:RUNNER_TEMP "ecodata-prerelease-install"
if (Test-Path $prefix) {
Remove-Item -Recurse -Force $prefix
}

$process = Start-Process `
-FilePath $installer.FullName `
-ArgumentList "/S", "/InstallationType=JustMe", "/NoShortcuts=1", "/D=$prefix" `
-NoNewWindow `
-Wait `
-PassThru

if ($process.ExitCode -ne 0) {
throw "Installer failed with exit code $($process.ExitCode)"
}

$smokeDir = Join-Path $env:RUNNER_TEMP "ecodata-prerelease-smoke"
if (Test-Path $smokeDir) {
Remove-Item -Recurse -Force $smokeDir
}
New-Item -ItemType Directory -Path $smokeDir | Out-Null
Set-Location $smokeDir

& "$prefix\python.exe" -c "import ecodata; from ecodata.app.apps import applications; print('Installed ecodata:', getattr(ecodata, '__version__', 'unknown'), ecodata.__file__); print('Registered apps:', ', '.join(sorted(applications))); assert applications"

- name: upload artifacts
uses: actions/upload-artifact@v4
with:
path: scripts/ecodata*
name: ecodata-dev-${{ matrix.OS_NAME }}-${{ matrix.ARCH }}
name: ecodata-dev-${{ matrix.OS_NAME }}-${{ matrix.ARCH }}
6 changes: 3 additions & 3 deletions .github/workflows/ci_deploy_win.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Setup Miniconda
- uses: conda-incubator/setup-miniconda@v3
uses: conda-incubator/setup-miniconda@v3
with:
auto-update-conda: true
activate-environment: eco-dev
Expand All @@ -38,5 +38,5 @@ jobs:
cd ~
pwd
ls
pip install git+https://github.com/jemissik/ecodata.git@${{ github.sha }}
python -c 'import ecodata; print(ecodata.available()); import ecodata.app.apps.tracks_explorer_app'
conda run -n eco-dev python -m pip install --no-deps git+https://github.com/jemissik/ecodata.git@${{ github.sha }}
conda run -n eco-dev python -c 'import ecodata; print(ecodata.available()); import ecodata.app.apps.tracks_explorer_app'
4 changes: 4 additions & 0 deletions .github/workflows/ci_linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,10 @@ jobs:
- name: Update base environment
run: conda env update -n eco-dev -f ecodata-dev-env.yml

- name: Install ecodata editable
shell: bash -el {0}
run: python -m pip install --no-deps -e .

- name: Run tests
shell: bash -el {0}
run: |
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/ci_mac.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@ jobs:
- name: Update base environment
run: conda env update -n eco-dev -f ecodata-dev-env.yml

- name: Install ecodata editable
shell: bash -el {0}
run: python -m pip install --no-deps -e .

- name: Run tests
shell: bash -el {0}
run: pytest -s
11 changes: 8 additions & 3 deletions .github/workflows/ci_win.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,15 +27,20 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Setup Miniconda
- uses: conda-incubator/setup-miniconda@v3
uses: conda-incubator/setup-miniconda@v3
with:
auto-update-conda: true
activate-environment: eco-dev
environment-file: ecodata-env.yml

- name: Update base environment
shell: pwsh
run: conda env update -n eco-dev -f ecodata-dev-env.yml

- name: Install ecodata editable
shell: pwsh
run: conda run -n eco-dev python -m pip install --no-deps -e .

- name: Run tests
shell: sh -l {0}
run: pytest -s
shell: pwsh
run: conda run -n eco-dev pytest -s
3 changes: 2 additions & 1 deletion .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,11 @@ build:
jobs:
post_install:
- conda env update --name ${READTHEDOCS_VERSION} --file ecodata-dev-env.yml
- python -m pip install --no-deps -e .
- conda list

conda:
environment: ecodata-env.yml

# Build all downloadable formats
formats: all
formats: all
1 change: 1 addition & 0 deletions docs/apps/developer_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ If you have an existing conda installation, it's strongly recommended to make su

```
conda env update --name eco-dev --file ecodata-dev-env.yml
python -m pip install --no-deps -e .
```

### Launching the apps
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/apps/images/annotation_engine_crop_top.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/apps/images/annotation_engine_merge_csv.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/apps/images/annotation_engine_nc_loaded.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/apps/images/annotation_engine_tif_loaded.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/apps/images/nc_builder_input_files.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/apps/images/nc_builder_level_detection.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/apps/images/nc_builder_output_settings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/apps/images/nc_builder_overview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/apps/images/nc_builder_spatial_subset.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/apps/images/nc_builder_status_panels.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/apps/images/nc_builder_time_detection.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/apps/images/nc_builder_time_subset.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/apps/images/presence_actions.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/apps/images/presence_apps_panel.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/apps/images/presence_bounding_box.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/apps/images/presence_input_files.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/apps/images/presence_output_settings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/apps/images/presence_region_polygon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/apps/images/presence_vetting_filters.png
Loading
Loading