diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 363ded8..f74a9ae 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,65 +15,69 @@ jobs: steps: # Checkout the code - - name: Checkout code - uses: actions/checkout@v4 + - name: Checkout code + uses: actions/checkout@v4 - uses: mamba-org/setup-micromamba@v1 with: micromamba-version: "1.5.9-1" # any version from https://github.com/mamba-org/micromamba-releases - channels: tcevaer, conda-forge, defaults + channels: tcevaer, conda-forge init-shell: bash post-cleanup: "all" + - name: Configure Conda channel priority to disabled + run: | + conda config --set channel_priority disabled + - name: Create environment and install tools - run: micromamba create -n grdwind_env pytest conda-build boa python=3.10 -y -c tcevaer -c conda-forge + run: micromamba create -n grdwind_env pytest conda-build boa python=3.10 -y - name: Build package run: | cd recipe eval "$(micromamba shell hook --shell bash)" micromamba activate grdwind_env - conda mambabuild . -c tcevaer -c conda-forge + conda mambabuild . # Install the built package into the environment - name: Install the built package run: | eval "$(micromamba shell hook --shell bash)" micromamba activate grdwind_env - conda install --use-local grdwindinversion -y -c tcevaer -c conda-forge + conda install --use-local grdwindinversion -y # Cache the test data if previously downloaded (up to 10 GB limit for the cache) # WARNING : modify the key if the data is modified !! - - name: Cache test data - uses: actions/cache@v4 - id: cache - with: - path: ./test_data - key: test-data-v3 - restore-keys: test-data-v3 + - name: Cache test data + uses: actions/cache@v4 + id: cache + with: + path: ./test_data + key: test-data-v3 + restore-keys: test-data-v3 # Download test data if not already cached - - name: Download test data - if: steps.cache.outputs.cache-hit != 'true' # Only download if cache miss - run: | + - name: Download test data + if: steps.cache.outputs.cache-hit != 'true' # Only download if cache miss + run: | mkdir -p ./test_data/ wget https://cloud.ifremer.fr/index.php/s/ExLQ2TnYAqozPWE/download -O /tmp/ecmwf.zip unzip /tmp/ecmwf.zip -d ./test_data/ wget https://cloud.ifremer.fr/index.php/s/kRgdOOPsjoZieZR/download -O /tmp/l1.zip unzip /tmp/l1.zip -d ./test_data/ - timeout-minutes: 200 # Adjust depending on the size of your data + timeout-minutes: 200 # Adjust depending on the size of your data # Set up xsar configuration - - name: Setup xsar configuration - run: | + - name: Setup xsar configuration + run: | mkdir -p ~/.xsar echo "data_dir: /tmp" > ~/.xsar/config.yaml echo "auxiliary_dir: ./test_data/auxiliary" >> ~/.xsar/config.yaml echo "path_dataframe_aux: ./test_data/auxiliary/active_aux.csv" >> ~/.xsar/config.yaml # Set up grdwindinversion configuration - - name: Setup grdwindinversion configuration - run: | + - name: Setup grdwindinversion configuration + run: | mkdir -p ~/.grdwindinversion echo "'ecmwf_0100_1h': ./test_data/ECMWF/forecast/hourly/0100deg/netcdf_light/%Y/%j/ECMWF_FORECAST_0100_%Y%m%d%H%M_10U_10V.nc" > ~/.grdwindinversion/data_config.yaml echo "'ecmwf_0125_1h': ./test_data/ECMWF/0.125deg/1h/forecasts/%Y/%j/ecmwf_%Y%m%d%H%M.nc" >> ~/.grdwindinversion/data_config.yaml @@ -82,8 +86,8 @@ jobs: #echo "'lut_ms1ahw_path': './test_data/GMFS/v1.6/GMF_cmodms1ahw'" >> ~/.grdwindinversion/data_config.yaml # Run the tests - - name: Run tests - run: | + - name: Run tests + run: | eval "$(micromamba shell hook --shell bash)" micromamba activate grdwind_env pytest diff --git a/grdwindinversion/inversion.py b/grdwindinversion/inversion.py index 3239239..3e294e6 100644 --- a/grdwindinversion/inversion.py +++ b/grdwindinversion/inversion.py @@ -101,7 +101,7 @@ def getOutputName2(input_file, outdir, sensor, meta, subdir=True): "${MISSIONID}_OK${DATA1}_PK${DATA2}_${DATA3}_${BEAM}_${DATE}_${TIME}_${POLARIZATION1}_${POLARIZATION2}_${PRODUCT}") match = regex.match(basename_match) MISSIONID, DATA1, DATA2, DATA3, BEAM_MODE, DATE, TIME, POLARIZATION1, POLARIZATION2, LAST = match.groups() - new_format = f"{MISSIONID.lower()}-{BEAM.lower()}-owi-xx-{meta_start_date.lower()}-{meta_stop_date.lower()}-_____-_____.nc" + new_format = f"{MISSIONID.lower()}-{BEAM_MODE.lower()}-owi-xx-{meta_start_date.lower()}-{meta_stop_date.lower()}-_____-_____.nc" else: raise ValueError( "sensor must be S1A|S1B|RS2|RCM, got sensor %s" % sensor)