Remove commented-out ESMF coordinate extraction block from cece_cap.F90 #185
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Run all CI tests | |
| on: | |
| push: | |
| branches: [main, develop] | |
| pull_request: | |
| workflow_dispatch: | |
| jobs: | |
| run_all_tests: | |
| runs-on: ubuntu-latest | |
| name: Full CI (CECE) | |
| container: jcsda/docker-gnu-openmpi-dev:1.9 | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| with: | |
| submodules: recursive | |
| - name: Cache dependencies and build | |
| uses: actions/cache@v5 | |
| with: | |
| path: | | |
| build/_deps | |
| build/lib | |
| build/bin | |
| key: ${{ runner.os }}-cece-deps-${{ hashFiles('**/CMakeLists.txt', 'cmake/*.cmake') }} | |
| restore-keys: | | |
| ${{ runner.os }}-cece-deps- | |
| - name: Install Python dependencies | |
| run: | | |
| source /opt/spack-environment/activate.sh | |
| python3 -m pip install --upgrade pip | |
| python3 -m pip install jinja2 numpy # for scripts run outside ctest | |
| python3 -m pip install clang-tidy # custom CMake target created if detected | |
| # pytest and pyyaml are installed into a build-dir venv by ctest fixtures | |
| - name: Configure and build CECE | |
| run: | | |
| source /opt/spack-environment/activate.sh | |
| # The image doesn't have spack itself | |
| # spack install cdeps && spack load cdeps | |
| # Ensure build directory exists | |
| mkdir -p build | |
| cd build | |
| # Configure CECE. CMake will detect if it's already configured. | |
| cmake .. -DCMAKE_BUILD_TYPE=Release -DKokkos_ENABLE_SERIAL=ON | |
| # Build. Make will only build what has changed. | |
| make -j$(nproc) | |
| # This needs to run after build, because it uses build/compile_commands.json | |
| # and any generated headers | |
| - name: Run static analysis (clang-tidy) | |
| run: | | |
| source /opt/spack-environment/activate.sh | |
| cd build | |
| make clang-tidy | |
| - name: Run All Tests | |
| run: | | |
| source /opt/spack-environment/activate.sh | |
| cd build | |
| ctest --output-on-failure | |
| - name: Generate test coverage report | |
| run: | | |
| source /opt/spack-environment/activate.sh | |
| cd build | |
| # Generate coverage report if gcov is available | |
| if command -v gcov &> /dev/null; then | |
| echo "Generating coverage report..." | |
| # Coverage report generation would go here | |
| echo "Coverage report generated" | |
| fi | |
| - name: Run HEMCO parity examples | |
| run: | | |
| source /opt/spack-environment/activate.sh | |
| ./scripts/setup_hemco_examples.sh | |
| ./scripts/data_download/download_ex1.sh | |
| # Mock scale factor for CI. We need a variable named HOURLY_SCALFACT. | |
| # Since we don't have nco/cdo in the container easily, we'll use a python script | |
| # to create a compliant mock file with correct dimensions. | |
| python3 -c "import netCDF4 as nc; ds_out = nc.Dataset('data/hourly.nc', 'w'); ds_out.createDimension('lon', 72); ds_out.createDimension('lat', 46); ds_out.createDimension('lev', 1); out_v = ds_out.createVariable('HOURLY_SCALFACT', 'f8', ('lon', 'lat', 'lev')); out_v[:] = 1.0; ds_out.close()" | |
| cp examples/cece_config_ex1.yaml cece_config.yaml | |
| export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$(pwd)/build | |
| build/bin/cece_nuopc_app |