diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 750aec00b64aad2141e3398b211e2580011cdd0c..c133a786bb6739ee1679902dc78858a9e2fb050a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -44,9 +44,6 @@ build-tag: - docker push "$IMAGE_7":$CI_COMMIT_TAG only: - tags - artifacts: - paths: - - /tmp/*.log build-master-staging: image: registry.gitlab.eox.at/esa/prism/vs/docker-base-testing:latest stage: build @@ -92,8 +89,13 @@ build-master-staging: except: - tags artifacts: + when: always + expire_in: 4 week paths: - - /tmp/*.log + - emg-pvs_database.txt + - emg-pvs_preprocessor.txt + - emg-pvs_registrar.txt + - emg-pvs_renderer.txt build: image: registry.gitlab.eox.at/esa/prism/vs/docker-base-testing:latest stage: build @@ -130,15 +132,17 @@ build: - staging - master artifacts: + when: always + expire_in: 4 week paths: - # - /tmp/emg-pvs_cache - # - /tmp/emg-pvs_client - - /tmp/emg-pvs_database - # - /tmp/emg-pvs_fluentd - # - /tmp/emg-pvs_ingestor - - /tmp/emg-pvs_preprocessor - # - /tmp/emg-pvs_redis - - /tmp/emg-pvs_registrar - - /tmp/emg-pvs_renderer - # - /tmp/emg-pvs_seeder - # - /tmp/emg-pvs_sftp + # - emg-pvs_cache.txt + # - emg-pvs_client.txt + - emg-pvs_database.txt + # - emg-pvs_fluentd.txt + # - emg-pvs_ingestor.txt + - emg-pvs_preprocessor.txt + # - emg-pvs_redis.txt + - emg-pvs_registrar.txt + - emg-pvs_renderer.txt + # - emg-pvs_seeder.txt + # - emg-pvs_sftp.txt diff --git a/config/dem_init-db.sh b/config/dem_init-db.sh index cfc2c4ec310c545a05bd12d87fff5a562f8ca72f..21ee5fa372d26f5bb24617847074e0bf40856a9d 100644 --- a/config/dem_init-db.sh +++ b/config/dem_init-db.sh @@ -1,71 +1,71 @@ # Check if collection exits in database and initialize database only if not -if python3 manage.py id check "${COLLECTION}"; then - echo "Initialize database" - - python3 manage.py coveragetype import /rgbnir_definition.json --traceback - - if [ "${COLLECTION}" == "DEM" ]; then - echo "Initializing collection '${COLLECTION}'." - - python3 manage.py producttype create "${COLLECTION}"_Product_COP-DEM_GLO-30-DTED --traceback \ - --coverage-type "int16_grayscale" - python3 manage.py browsetype create "${COLLECTION}"_Product_COP-DEM_GLO-30-DTED --traceback \ - --red "gray" \ - --red-range -100 4000 \ - --red-nodata 0 - python3 manage.py producttype create "${COLLECTION}"_Product_COP-DEM_GLO-90-DTED --traceback \ - --coverage-type "int16_grayscale" - python3 manage.py browsetype create "${COLLECTION}"_Product_COP-DEM_GLO-90-DTED --traceback \ - --red "gray" \ - --red-range -100 4000 \ - --red-nodata 0 - python3 manage.py producttype create "${COLLECTION}"_Product_COP-DEM_EEA-10-DGED --traceback \ - --coverage-type "float32_grayscale" - python3 manage.py browsetype create "${COLLECTION}"_Product_COP-DEM_EEA-10-DGED --traceback \ - --red "gray" \ - --red-range -100 4000 \ - --red-nodata 0 - python3 manage.py producttype create "${COLLECTION}"_Product_COP-DEM_EEA-10-INSP --traceback \ - --coverage-type "float32_grayscale" - python3 manage.py browsetype create "${COLLECTION}"_Product_COP-DEM_EEA-10-INSP --traceback \ - --red "gray" \ - --red-range -100 4000 \ - --red-nodata 0 - python3 manage.py producttype create "${COLLECTION}"_Product_COP-DEM_GLO-30-DGED --traceback \ - --coverage-type "float32_grayscale" - python3 manage.py browsetype create "${COLLECTION}"_Product_COP-DEM_GLO-30-DGED --traceback \ - --red "gray" \ - --red-range -100 4000 \ - --red-nodata 0 - python3 manage.py producttype create "${COLLECTION}"_Product_COP-DEM_GLO-90-DGED --traceback \ - --coverage-type "float32_grayscale" - python3 manage.py browsetype create "${COLLECTION}"_Product_COP-DEM_GLO-90-DGED --traceback \ - --red "gray" \ - --red-range -100 4000 \ - --red-nodata 0 - - python3 manage.py collectiontype create "${COLLECTION}"_Collection --traceback \ - --coverage-type "float32_grayscale" \ - --coverage-type "int16_grayscale" \ - --product-type "${COLLECTION}"_Product_COP-DEM_GLO-30-DTED \ - --product-type "${COLLECTION}"_Product_COP-DEM_GLO-90-DTED \ - --product-type "${COLLECTION}"_Product_COP-DEM_EEA-10-DGED \ - --product-type "${COLLECTION}"_Product_COP-DEM_EEA-10-INSP \ - --product-type "${COLLECTION}"_Product_COP-DEM_GLO-30-DGED \ - --product-type "${COLLECTION}"_Product_COP-DEM_GLO-90-DGED - - python3 manage.py collection create "${COLLECTION}" --type "${COLLECTION}"_Collection --traceback - python3 manage.py collection create "${COLLECTION}_COP-DEM_EEA-10-DGED" --type "${COLLECTION}"_Collection --traceback - python3 manage.py collection create "${COLLECTION}_COP-DEM_EEA-10-INSP" --type "${COLLECTION}"_Collection --traceback - python3 manage.py collection create "${COLLECTION}_COP-DEM_GLO-30-DGED" --type "${COLLECTION}"_Collection --traceback - python3 manage.py collection create "${COLLECTION}_COP-DEM_GLO-30-DTED" --type "${COLLECTION}"_Collection --traceback - python3 manage.py collection create "${COLLECTION}_COP-DEM_GLO-90-DGED" --type "${COLLECTION}"_Collection --traceback - python3 manage.py collection create "${COLLECTION}_COP-DEM_GLO-90-DTED" --type "${COLLECTION}"_Collection --traceback - - else - echo "Provided collection '${COLLECTION}' not valid." - fi +# on command fail restart service +function initialize { + echo "Initialize coverage types" + python3 manage.py coveragetype import /rgbnir_definition.json --traceback + echo "Initializing collection '${COLLECTION}'." + python3 manage.py producttype create "${COLLECTION}"_Product_COP-DEM_GLO-30-DTED --traceback \ + --coverage-type "int16_grayscale" + python3 manage.py browsetype create "${COLLECTION}"_Product_COP-DEM_GLO-30-DTED --traceback \ + --red "gray" \ + --red-range -100 4000 \ + --red-nodata 0 + python3 manage.py producttype create "${COLLECTION}"_Product_COP-DEM_GLO-90-DTED --traceback \ + --coverage-type "int16_grayscale" + python3 manage.py browsetype create "${COLLECTION}"_Product_COP-DEM_GLO-90-DTED --traceback \ + --red "gray" \ + --red-range -100 4000 \ + --red-nodata 0 + python3 manage.py producttype create "${COLLECTION}"_Product_COP-DEM_EEA-10-DGED --traceback \ + --coverage-type "float32_grayscale" + python3 manage.py browsetype create "${COLLECTION}"_Product_COP-DEM_EEA-10-DGED --traceback \ + --red "gray" \ + --red-range -100 4000 \ + --red-nodata 0 + python3 manage.py producttype create "${COLLECTION}"_Product_COP-DEM_EEA-10-INSP --traceback \ + --coverage-type "float32_grayscale" + python3 manage.py browsetype create "${COLLECTION}"_Product_COP-DEM_EEA-10-INSP --traceback \ + --red "gray" \ + --red-range -100 4000 \ + --red-nodata 0 + python3 manage.py producttype create "${COLLECTION}"_Product_COP-DEM_GLO-30-DGED --traceback \ + --coverage-type "float32_grayscale" + python3 manage.py browsetype create "${COLLECTION}"_Product_COP-DEM_GLO-30-DGED --traceback \ + --red "gray" \ + --red-range -100 4000 \ + --red-nodata 0 + python3 manage.py producttype create "${COLLECTION}"_Product_COP-DEM_GLO-90-DGED --traceback \ + --coverage-type "float32_grayscale" + python3 manage.py browsetype create "${COLLECTION}"_Product_COP-DEM_GLO-90-DGED --traceback \ + --red "gray" \ + --red-range -100 4000 \ + --red-nodata 0 + python3 manage.py collectiontype create "${COLLECTION}"_Collection --traceback \ + --coverage-type "float32_grayscale" \ + --coverage-type "int16_grayscale" \ + --product-type "${COLLECTION}"_Product_COP-DEM_GLO-30-DTED \ + --product-type "${COLLECTION}"_Product_COP-DEM_GLO-90-DTED \ + --product-type "${COLLECTION}"_Product_COP-DEM_EEA-10-DGED \ + --product-type "${COLLECTION}"_Product_COP-DEM_EEA-10-INSP \ + --product-type "${COLLECTION}"_Product_COP-DEM_GLO-30-DGED \ + --product-type "${COLLECTION}"_Product_COP-DEM_GLO-90-DGED + python3 manage.py collection create "${COLLECTION}" --type "${COLLECTION}"_Collection --traceback + python3 manage.py collection create "${COLLECTION}_COP-DEM_EEA-10-DGED" --type "${COLLECTION}"_Collection --traceback + python3 manage.py collection create "${COLLECTION}_COP-DEM_EEA-10-INSP" --type "${COLLECTION}"_Collection --traceback + python3 manage.py collection create "${COLLECTION}_COP-DEM_GLO-30-DGED" --type "${COLLECTION}"_Collection --traceback + python3 manage.py collection create "${COLLECTION}_COP-DEM_GLO-30-DTED" --type "${COLLECTION}"_Collection --traceback + python3 manage.py collection create "${COLLECTION}_COP-DEM_GLO-90-DGED" --type "${COLLECTION}"_Collection --traceback + python3 manage.py collection create "${COLLECTION}_COP-DEM_GLO-90-DTED" --type "${COLLECTION}"_Collection --traceback +} +id_check=$(python3 manage.py id check "${COLLECTION}") +if [[ $id_check == *"is already in use by a 'Collection'"* ]]; then + # name is already taken + echo "Using existing database" +elif [[ $id_check == *"is currently not in use"* ]]; then + initialize else - echo "Using existing database" + echo "Restarting service inside init-db by emitting an error" + set -eo pipefail + false fi diff --git a/config/emg_init-db.sh b/config/emg_init-db.sh index 8b5cbc8d9295c2e950265d0b8bf160f5f2c80b60..c66dae4ff701fc4a230b1da645f4b538e096a078 100644 --- a/config/emg_init-db.sh +++ b/config/emg_init-db.sh @@ -1,805 +1,807 @@ # Check if collection exits in database and initialize database only if not -if python3 manage.py id check "${COLLECTION}"; then - echo "Initialize database" +# on command fail restart service +function initialize { + echo "Initialize coverage types" + python3 manage.py coveragetype import /rgbnir_definition.json --traceback + echo "Initializing collection '${COLLECTION}'." + python3 manage.py producttype create "${COLLECTION}"_Product_CS00 --traceback \ + --coverage-type "sar_hh_gray" + python3 manage.py browsetype create "${COLLECTION}"_Product_CS00 --traceback \ + --red "gray" \ + --red-range 1 65535 \ + --red-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_CS00 "TRUE_COLOR" --traceback \ + --red "gray" \ + --red-range 1 65535 \ + --red-nodata 0 + # CS01 + python3 manage.py producttype create "${COLLECTION}"_Product_CS01 --traceback \ + --coverage-type "sar_hh_gray" + python3 manage.py browsetype create "${COLLECTION}"_Product_CS01 --traceback \ + --red "gray" \ + --red-range 1 65535 \ + --red-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_CS01 "TRUE_COLOR" --traceback \ + --red "gray" \ + --red-range 1 65535 \ + --red-nodata 0 + # CS02 + python3 manage.py producttype create "${COLLECTION}"_Product_CS02 --traceback \ + --coverage-type "sar_hh_gray" + python3 manage.py browsetype create "${COLLECTION}"_Product_CS02 --traceback \ + --red "gray" \ + --red-range 1 65535 \ + --red-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_CS02 "TRUE_COLOR" --traceback \ + --red "gray" \ + --red-range 1 65535 \ + --red-nodata 0 + # CS03 + python3 manage.py producttype create "${COLLECTION}"_Product_CS03 --traceback \ + --coverage-type "sar_hh_gray" + python3 manage.py browsetype create "${COLLECTION}"_Product_CS03 --traceback \ + --red "gray" \ + --red-range 1 65535 \ + --red-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_CS03 "TRUE_COLOR" --traceback \ + --red "gray" \ + --red-range 1 65535 \ + --red-nodata 0 + # CS04 + python3 manage.py producttype create "${COLLECTION}"_Product_CS04 --traceback \ + --coverage-type "sar_hh_gray" + python3 manage.py browsetype create "${COLLECTION}"_Product_CS04 --traceback \ + --red "gray" \ + --red-range 1 65535 \ + --red-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_CS04 "TRUE_COLOR" --traceback \ + --red "gray" \ + --red-range 1 65535 \ + --red-nodata 0 + # DM01 + python3 manage.py producttype create "${COLLECTION}"_Product_DM01 --traceback \ + --coverage-type "RGNirByte" + python3 manage.py browsetype create "${COLLECTION}"_Product_DM01 --traceback \ + --red "nir" \ + --green "red" \ + --blue "green" \ + --red-range 0 255 \ + --green-range 0 255 \ + --blue-range 0 255 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_DM01 "TRUE_COLOR" --traceback \ + --red "nir" \ + --green "green" \ + --blue "red" \ + --red-range 0 255 \ + --green-range 0 255 \ + --blue-range 0 255 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_DM01 "FALSE_COLOR" --traceback \ + --red "nir" \ + --green "red" \ + --blue "green" \ + --red-range 0 255 \ + --green-range 0 255 \ + --blue-range 0 255 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + # EQ02 + python3 manage.py producttype create "${COLLECTION}"_Product_EQ02 --traceback \ + --coverage-type "BGRNir" \ + --coverage-type "RGB" + python3 manage.py browsetype create "${COLLECTION}"_Product_EQ02 --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 0 500 \ + --green-range 0 600 \ + --blue-range 0 500 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_EQ02 "TRUE_COLOR" --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 0 500 \ + --green-range 0 600 \ + --blue-range 0 500 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_EQ02 "FALSE_COLOR" --traceback \ + --red "nir" \ + --green "red" \ + --blue "green" \ + --red-range 0 700 \ + --green-range 0 500 \ + --blue-range 0 600 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_EQ02 "NDVI" --traceback \ + --grey "(nir-red)/(nir+red)" --grey-range -1 1 + # EW01 + python3 manage.py producttype create "${COLLECTION}"_Product_EW01 --traceback \ + --coverage-type "grayscale" + python3 manage.py browsetype create "${COLLECTION}"_Product_EW01 --traceback \ + --red "gray" \ + --red-range 0 1500 \ + --red-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_EW01 "TRUE_COLOR" --traceback \ + --red "gray" \ + --red-range 0 1500 \ + --red-nodata 0 + # EW02 + python3 manage.py producttype create "${COLLECTION}"_Product_EW02 --traceback \ + --coverage-type "BGRNir" \ + --coverage-type "RGB" \ + --coverage-type "CBGYRReNirNir2" + python3 manage.py browsetype create "${COLLECTION}"_Product_EW02 --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 100 700 \ + --green-range 100 600 \ + --blue-range 100 700 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_EW02 "TRUE_COLOR" --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 100 700 \ + --green-range 100 600 \ + --blue-range 100 700 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_EW02 "FALSE_COLOR" --traceback \ + --red "nir" \ + --green "red" \ + --blue "green" \ + --red-range 100 700 \ + --green-range 100 600 \ + --blue-range 100 700 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_EW02 "NDVI" --traceback \ + --grey "(nir-blue)/(nir+blue)" --grey-range -1 1 + # EW03 + python3 manage.py producttype create "${COLLECTION}"_Product_EW03 --traceback \ + --coverage-type "BGRNir" \ + --coverage-type "RGB" \ + --coverage-type "CBGYRReNirNir2" + python3 manage.py browsetype create "${COLLECTION}"_Product_EW03 --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 100 700 \ + --green-range 100 600 \ + --blue-range 100 700 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_EW03 "TRUE_COLOR" --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 100 700 \ + --green-range 100 600 \ + --blue-range 100 700 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_EW03 "FALSE_COLOR" --traceback \ + --red "nir" \ + --green "red" \ + --blue "green" \ + --red-range 100 700 \ + --green-range 100 600 \ + --blue-range 100 700 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_EW03 "NDVI" --traceback \ + --grey "(nir-blue)/(nir+blue)" --grey-range -1 1 + python3 manage.py producttype create "${COLLECTION}"_Product_GE01 --traceback \ + --coverage-type "BGRNir" \ + --coverage-type "RGB" + python3 manage.py browsetype create "${COLLECTION}"_Product_GE01 --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 0 600 \ + --green-range 0 700 \ + --blue-range 0 800 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_GE01 "TRUE_COLOR" --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 0 600 \ + --green-range 0 700 \ + --blue-range 0 800 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_GE01 "FALSE_COLOR" --traceback \ + --red "nir" \ + --green "red" \ + --blue "green" \ + --red-range 0 1000 \ + --green-range 0 600 \ + --blue-range 0 700 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_GE01 "NDVI" --traceback \ + --grey "(nir-red)/(nir+red)" --grey-range -1 1 + # GY01 + python3 manage.py producttype create "${COLLECTION}"_Product_GY01 --traceback \ + --coverage-type "BGRNir" \ + --coverage-type "RGB" + python3 manage.py browsetype create "${COLLECTION}"_Product_GY01 --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 50 600 \ + --green-range 50 600 \ + --blue-range 50 600 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_GY01 "TRUE_COLOR" --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 50 600 \ + --green-range 50 600 \ + --blue-range 50 600 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_GY01 "FALSE_COLOR" --traceback \ + --red "nir" \ + --green "red" \ + --blue "green" \ + --red-range 50 800 \ + --green-range 50 600 \ + --blue-range 50 600 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_GY01 "NDVI" --traceback \ + --grey "(nir-red)/(nir+red)" --grey-range -1 1 + # IK02 + python3 manage.py producttype create "${COLLECTION}"_Product_IK02 --traceback \ + --coverage-type "RGBNir" + python3 manage.py browsetype create "${COLLECTION}"_Product_IK02 --traceback \ + --red "blue" \ + --green "green" \ + --blue "red" \ + --red-range 0 700 \ + --green-range 0 800 \ + --blue-range 0 900 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_IK02 "TRUE_COLOR" --traceback \ + --red "blue" \ + --green "green" \ + --blue "red" \ + --red-range 0 700 \ + --green-range 0 800 \ + --blue-range 0 900 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_IK02 "FALSE_COLOR" --traceback \ + --red "nir" \ + --green "blue" \ + --blue "green" \ + --red-range 0 1000 \ + --green-range 0 700 \ + --blue-range 0 800 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_IK02 "NDVI" --traceback \ + --grey "(nir-blue)/(nir+blue)" --grey-range -1 1 + # RE00 + python3 manage.py producttype create "${COLLECTION}"_Product_RE00 --traceback \ + --coverage-type "BGRReNir" + python3 manage.py browsetype create "${COLLECTION}"_Product_RE00 --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 1000 8000 \ + --green-range 1000 8000 \ + --blue-range 1000 10000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_RE00 "TRUE_COLOR" --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 1000 8000 \ + --green-range 1000 8000 \ + --blue-range 1000 10000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_RE00 "FALSE_COLOR" --traceback \ + --red "nir" \ + --green "red" \ + --blue "green" \ + --red-range 1000 8000 \ + --green-range 1000 8000 \ + --blue-range 1000 8000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_RE00 "NDVI" --traceback \ + --grey "(nir-red)/(nir+red)" --grey-range -1 1 + # RS02 + python3 manage.py producttype create "${COLLECTION}"_Product_RS02 --traceback \ + --coverage-type "sar_hh_gray" \ + --coverage-type "sar_hh_vv_gray" \ + --coverage-type "sar_hh_hv_vh_vv_gray" - python3 manage.py coveragetype import /rgbnir_definition.json --traceback - - if [ "${COLLECTION}" == "Emergency" ]; then - echo "Initializing collection '${COLLECTION}'." - python3 manage.py producttype create "${COLLECTION}"_Product_CS00 --traceback \ - --coverage-type "sar_hh_gray" - python3 manage.py browsetype create "${COLLECTION}"_Product_CS00 --traceback \ - --red "gray" \ - --red-range 1 65535 \ - --red-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_CS00 "TRUE_COLOR" --traceback \ - --red "gray" \ - --red-range 1 65535 \ - --red-nodata 0 - # CS01 - python3 manage.py producttype create "${COLLECTION}"_Product_CS01 --traceback \ - --coverage-type "sar_hh_gray" - python3 manage.py browsetype create "${COLLECTION}"_Product_CS01 --traceback \ - --red "gray" \ - --red-range 1 65535 \ - --red-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_CS01 "TRUE_COLOR" --traceback \ - --red "gray" \ - --red-range 1 65535 \ - --red-nodata 0 - # CS02 - python3 manage.py producttype create "${COLLECTION}"_Product_CS02 --traceback \ - --coverage-type "sar_hh_gray" - python3 manage.py browsetype create "${COLLECTION}"_Product_CS02 --traceback \ - --red "gray" \ - --red-range 1 65535 \ - --red-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_CS02 "TRUE_COLOR" --traceback \ - --red "gray" \ - --red-range 1 65535 \ - --red-nodata 0 - # CS03 - python3 manage.py producttype create "${COLLECTION}"_Product_CS03 --traceback \ - --coverage-type "sar_hh_gray" - python3 manage.py browsetype create "${COLLECTION}"_Product_CS03 --traceback \ - --red "gray" \ - --red-range 1 65535 \ - --red-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_CS03 "TRUE_COLOR" --traceback \ - --red "gray" \ - --red-range 1 65535 \ - --red-nodata 0 - # CS04 - python3 manage.py producttype create "${COLLECTION}"_Product_CS04 --traceback \ - --coverage-type "sar_hh_gray" - python3 manage.py browsetype create "${COLLECTION}"_Product_CS04 --traceback \ - --red "gray" \ - --red-range 1 65535 \ - --red-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_CS04 "TRUE_COLOR" --traceback \ - --red "gray" \ - --red-range 1 65535 \ - --red-nodata 0 - # DM01 - python3 manage.py producttype create "${COLLECTION}"_Product_DM01 --traceback \ - --coverage-type "RGNirByte" - python3 manage.py browsetype create "${COLLECTION}"_Product_DM01 --traceback \ - --red "nir" \ - --green "red" \ - --blue "green" \ - --red-range 0 255 \ - --green-range 0 255 \ - --blue-range 0 255 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_DM01 "TRUE_COLOR" --traceback \ - --red "nir" \ - --green "green" \ - --blue "red" \ - --red-range 0 255 \ - --green-range 0 255 \ - --blue-range 0 255 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_DM01 "FALSE_COLOR" --traceback \ - --red "nir" \ - --green "red" \ - --blue "green" \ - --red-range 0 255 \ - --green-range 0 255 \ - --blue-range 0 255 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - # EQ02 - python3 manage.py producttype create "${COLLECTION}"_Product_EQ02 --traceback \ - --coverage-type "BGRNir" \ - --coverage-type "RGB" - python3 manage.py browsetype create "${COLLECTION}"_Product_EQ02 --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 0 500 \ - --green-range 0 600 \ - --blue-range 0 500 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_EQ02 "TRUE_COLOR" --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 0 500 \ - --green-range 0 600 \ - --blue-range 0 500 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_EQ02 "FALSE_COLOR" --traceback \ - --red "nir" \ - --green "red" \ - --blue "green" \ - --red-range 0 700 \ - --green-range 0 500 \ - --blue-range 0 600 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_EQ02 "NDVI" --traceback \ - --grey "(nir-red)/(nir+red)" --grey-range -1 1 - # EW01 - python3 manage.py producttype create "${COLLECTION}"_Product_EW01 --traceback \ - --coverage-type "grayscale" - python3 manage.py browsetype create "${COLLECTION}"_Product_EW01 --traceback \ - --red "gray" \ - --red-range 0 1500 \ - --red-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_EW01 "TRUE_COLOR" --traceback \ - --red "gray" \ - --red-range 0 1500 \ - --red-nodata 0 - # EW02 - python3 manage.py producttype create "${COLLECTION}"_Product_EW02 --traceback \ - --coverage-type "BGRNir" \ - --coverage-type "RGB" \ - --coverage-type "CBGYRReNirNir2" - python3 manage.py browsetype create "${COLLECTION}"_Product_EW02 --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 100 700 \ - --green-range 100 600 \ - --blue-range 100 700 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_EW02 "TRUE_COLOR" --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 100 700 \ - --green-range 100 600 \ - --blue-range 100 700 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_EW02 "FALSE_COLOR" --traceback \ - --red "nir" \ - --green "red" \ - --blue "green" \ - --red-range 100 700 \ - --green-range 100 600 \ - --blue-range 100 700 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_EW02 "NDVI" --traceback \ - --grey "(nir-blue)/(nir+blue)" --grey-range -1 1 - # EW03 - python3 manage.py producttype create "${COLLECTION}"_Product_EW03 --traceback \ - --coverage-type "BGRNir" \ - --coverage-type "RGB" \ - --coverage-type "CBGYRReNirNir2" - python3 manage.py browsetype create "${COLLECTION}"_Product_EW03 --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 100 700 \ - --green-range 100 600 \ - --blue-range 100 700 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_EW03 "TRUE_COLOR" --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 100 700 \ - --green-range 100 600 \ - --blue-range 100 700 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_EW03 "FALSE_COLOR" --traceback \ - --red "nir" \ - --green "red" \ - --blue "green" \ - --red-range 100 700 \ - --green-range 100 600 \ - --blue-range 100 700 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_EW03 "NDVI" --traceback \ - --grey "(nir-blue)/(nir+blue)" --grey-range -1 1 - python3 manage.py producttype create "${COLLECTION}"_Product_GE01 --traceback \ - --coverage-type "BGRNir" \ - --coverage-type "RGB" - python3 manage.py browsetype create "${COLLECTION}"_Product_GE01 --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 0 600 \ - --green-range 0 700 \ - --blue-range 0 800 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_GE01 "TRUE_COLOR" --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 0 600 \ - --green-range 0 700 \ - --blue-range 0 800 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_GE01 "FALSE_COLOR" --traceback \ - --red "nir" \ - --green "red" \ - --blue "green" \ - --red-range 0 1000 \ - --green-range 0 600 \ - --blue-range 0 700 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_GE01 "NDVI" --traceback \ - --grey "(nir-red)/(nir+red)" --grey-range -1 1 - # GY01 - python3 manage.py producttype create "${COLLECTION}"_Product_GY01 --traceback \ - --coverage-type "BGRNir" \ - --coverage-type "RGB" - python3 manage.py browsetype create "${COLLECTION}"_Product_GY01 --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 50 600 \ - --green-range 50 600 \ - --blue-range 50 600 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_GY01 "TRUE_COLOR" --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 50 600 \ - --green-range 50 600 \ - --blue-range 50 600 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_GY01 "FALSE_COLOR" --traceback \ - --red "nir" \ - --green "red" \ - --blue "green" \ - --red-range 50 800 \ - --green-range 50 600 \ - --blue-range 50 600 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_GY01 "NDVI" --traceback \ - --grey "(nir-red)/(nir+red)" --grey-range -1 1 - # IK02 - python3 manage.py producttype create "${COLLECTION}"_Product_IK02 --traceback \ - --coverage-type "RGBNir" - python3 manage.py browsetype create "${COLLECTION}"_Product_IK02 --traceback \ - --red "blue" \ - --green "green" \ - --blue "red" \ - --red-range 0 700 \ - --green-range 0 800 \ - --blue-range 0 900 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_IK02 "TRUE_COLOR" --traceback \ - --red "blue" \ - --green "green" \ - --blue "red" \ - --red-range 0 700 \ - --green-range 0 800 \ - --blue-range 0 900 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_IK02 "FALSE_COLOR" --traceback \ - --red "nir" \ - --green "blue" \ - --blue "green" \ - --red-range 0 1000 \ - --green-range 0 700 \ - --blue-range 0 800 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_IK02 "NDVI" --traceback \ - --grey "(nir-blue)/(nir+blue)" --grey-range -1 1 - # RE00 - python3 manage.py producttype create "${COLLECTION}"_Product_RE00 --traceback \ - --coverage-type "BGRReNir" - python3 manage.py browsetype create "${COLLECTION}"_Product_RE00 --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 1000 8000 \ - --green-range 1000 8000 \ - --blue-range 1000 10000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_RE00 "TRUE_COLOR" --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 1000 8000 \ - --green-range 1000 8000 \ - --blue-range 1000 10000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_RE00 "FALSE_COLOR" --traceback \ - --red "nir" \ - --green "red" \ - --blue "green" \ - --red-range 1000 8000 \ - --green-range 1000 8000 \ - --blue-range 1000 8000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_RE00 "NDVI" --traceback \ - --grey "(nir-red)/(nir+red)" --grey-range -1 1 - # RS02 - python3 manage.py producttype create "${COLLECTION}"_Product_RS02 --traceback \ - --coverage-type "sar_hh_gray" \ - --coverage-type "sar_hh_vv_gray" \ - --coverage-type "sar_hh_hv_vh_vv_gray" - - python3 manage.py browsetype create "${COLLECTION}"_Product_RS02 --traceback \ - --red "gray" \ - --red-range 1 65535 \ - --red-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_RS02 "TRUE_COLOR" --traceback \ - --red "gray" \ - --red-range 1 65535 \ - --red-nodata 0 - # SP04 - python3 manage.py producttype create "${COLLECTION}"_Product_SP04 --traceback \ - --coverage-type "RGBNirByte" - python3 manage.py browsetype create "${COLLECTION}"_Product_SP04 --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 0 255 \ - --green-range 0 255 \ - --blue-range 0 255 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_SP04 "TRUE_COLOR" --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 0 255 \ - --green-range 0 255 \ - --blue-range 0 255 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_SP04 "FALSE_COLOR" --traceback \ - --red "nir" \ - --green "red" \ - --blue "green" \ - --red-range 0 255 \ - --green-range 0 255 \ - --blue-range 0 255 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_SP04 "NDVI" --traceback \ - --grey "(nir-red)/(nir+red)" --grey-range -1 1 - # SP05 - nir is blue - python3 manage.py producttype create "${COLLECTION}"_Product_SP05 --traceback \ - --coverage-type "RGNirByte" - python3 manage.py browsetype create "${COLLECTION}"_Product_SP05 --traceback \ - --red "red" \ - --green "green" \ - --blue "nir" \ - --red-range 0 120 \ - --green-range 0 120 \ - --blue-range 0 120 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_SP05 "TRUE_COLOR" --traceback \ - --red "red" \ - --green "green" \ - --blue "nir" \ - --red-range 0 120 \ - --green-range 0 120 \ - --blue-range 0 120 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - # TX01 - python3 manage.py producttype create "${COLLECTION}"_Product_TX01 --traceback \ - --coverage-type "sar_hh_gray" \ - --coverage-type "sar_hh_vv_gray" \ - --coverage-type "sar_hh_hv_vh_vv_gray" - python3 manage.py browsetype create "${COLLECTION}"_Product_TX01 --traceback \ - --red "gray" \ - --red-range 1 65535 \ - --red-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_TX01 "TRUE_COLOR" --traceback \ - --red "gray" \ - --red-range 1 65535 \ - --red-nodata 0 - # DM02 - python3 manage.py producttype create "${COLLECTION}"_Product_DM02 --traceback \ - --coverage-type "RGBNir" - python3 manage.py browsetype create "${COLLECTION}"_Product_DM02 --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 2000 15000 \ - --green-range 1000 7000 \ - --blue-range 1000 7000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_DM02 "TRUE_COLOR" --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 2000 15000 \ - --green-range 1000 7000 \ - --blue-range 1000 7000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_DM02 "FALSE_COLOR" --traceback \ - --red "nir" \ - --green "red" \ - --blue "green" \ - --red-range 1000 7000 \ - --green-range 2000 15000 \ - --blue-range 1000 7000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_DM02 "NDVI" --traceback \ - --grey "(nir-red)/(nir+red)" --grey-range -1 1 - # KS03 - bands are alphabetically BGNR, hence shift below - python3 manage.py producttype create "${COLLECTION}"_Product_KS03 --traceback \ - --coverage-type "RGBNir" - python3 manage.py browsetype create "${COLLECTION}"_Product_KS03 --traceback \ - --red "nir" \ - --green "green" \ - --blue "red" \ - --red-range 1000 10000 \ - --green-range 1000 8000 \ - --blue-range 1000 12000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_KS03 "TRUE_COLOR" --traceback \ - --red "nir" \ - --green "green" \ - --blue "red" \ - --red-range 1000 10000 \ - --green-range 1000 8000 \ - --blue-range 1000 12000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_KS03 "FALSE_COLOR" --traceback \ - --red "blue" \ - --green "nir" \ - --blue "green" \ - --red-range 1000 10000 \ - --green-range 1000 10000 \ - --blue-range 1000 8000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_KS03 "NDVI" --traceback \ - --grey "(blue-nir)/(blue+nir)" --grey-range -1 1 - # SP06 - python3 manage.py producttype create "${COLLECTION}"_Product_SP06 --traceback \ - --coverage-type "RGBNir" - python3 manage.py browsetype create "${COLLECTION}"_Product_SP06 --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 100 1000 \ - --green-range 100 1000 \ - --blue-range 100 1000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_SP06 "TRUE_COLOR" --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 100 1000 \ - --green-range 100 1000 \ - --blue-range 100 1000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_SP06 "FALSE_COLOR" --traceback \ - --red "nir" \ - --green "red" \ - --blue "green" \ - --red-range 100 1200 \ - --green-range 100 1000 \ - --blue-range 100 1000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_SP06 "NDVI" --traceback \ - --grey "(nir-red)/(nir+red)" --grey-range -1 1 - # SP07 - python3 manage.py producttype create "${COLLECTION}"_Product_SP07 --traceback \ - --coverage-type "RGBNir" - python3 manage.py browsetype create "${COLLECTION}"_Product_SP07 --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 0 900 \ - --green-range 0 900 \ - --blue-range 0 1000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_SP07 "TRUE_COLOR" --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 0 900 \ - --green-range 0 900 \ - --blue-range 0 1000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_SP07 "FALSE_COLOR" --traceback \ - --red "nir" \ - --green "red" \ - --blue "green" \ - --red-range 0 1200 \ - --green-range 0 900 \ - --blue-range 0 900 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_SP07 "NDVI" --traceback \ - --grey "(nir-red)/(nir+red)" --grey-range -1 1 - # PH1A - python3 manage.py producttype create "${COLLECTION}"_Product_PH1A --traceback \ - --coverage-type "RGBNir" - python3 manage.py browsetype create "${COLLECTION}"_Product_PH1A --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 1 2000 \ - --green-range 1 2000 \ - --blue-range 1 2000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_PH1A "TRUE_COLOR" --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 1 2000 \ - --green-range 1 2000 \ - --blue-range 1 2000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_PH1A "FALSE_COLOR" --traceback \ - --red "nir" \ - --green "red" \ - --blue "green" \ - --red-range 1 2000 \ - --green-range 1 2000 \ - --blue-range 1 2000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_PH1A "NDVI" --traceback \ - --grey "(nir-red)/(nir+red)" --grey-range -1 1 - # PH1B - python3 manage.py producttype create "${COLLECTION}"_Product_PH1B --traceback \ - --coverage-type "RGBNir" - python3 manage.py browsetype create "${COLLECTION}"_Product_PH1B --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 1 2000 \ - --green-range 1 2000 \ - --blue-range 1 2000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_PH1B "TRUE_COLOR" --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 1 2000 \ - --green-range 1 2000 \ - --blue-range 1 2000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_PH1B "FALSE_COLOR" --traceback \ - --red "nir" \ - --green "red" \ - --blue "green" \ - --red-range 1 2000 \ - --green-range 1 2000 \ - --blue-range 1 2000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_PH1B "NDVI" --traceback \ - --grey "(nir-red)/(nir+red)" --grey-range -1 1 - # SK00 - python3 manage.py producttype create "${COLLECTION}"_Product_SK00 --traceback \ - --coverage-type "RGBNir" - python3 manage.py browsetype create "${COLLECTION}"_Product_SK00 --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 1 600 \ - --green-range 1 600 \ - --blue-range 1 600 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_SK00 "TRUE_COLOR" --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 1 600 \ - --green-range 1 600 \ - --blue-range 1 600 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_SK00 "FALSE_COLOR" --traceback \ - --red "nir" \ - --green "red" \ - --blue "green" \ - --red-range 1 600 \ - --green-range 1 600 \ - --blue-range 1 600 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_SK00 "NDVI" --traceback \ - --grey "(nir-red)/(nir+red)" --grey-range -1 1 - # SW03 - python3 manage.py producttype create "${COLLECTION}"_Product_SW03 --traceback \ - --coverage-type "RGBNir" - python3 manage.py browsetype create "${COLLECTION}"_Product_SW03 --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 1 1000 \ - --green-range 1 1000 \ - --blue-range 1 1000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_SW03 "TRUE_COLOR" --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 1 1000 \ - --green-range 1 1000 \ - --blue-range 1 1000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_SW03 "FALSE_COLOR" --traceback \ - --red "nir" \ - --green "red" \ - --blue "green" \ - --red-range 1 1000 \ - --green-range 1 1000 \ - --blue-range 1 1000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_SW03 "NDVI" --traceback \ - --grey "(nir-red)/(nir+red)" --grey-range -1 1 - # PL00 bands go in order b,g,r,nir - python3 manage.py producttype create "${COLLECTION}"_Product_PL00 --traceback \ - --coverage-type "RGBNir" - python3 manage.py browsetype create "${COLLECTION}"_Product_PL00 --traceback \ - --red "blue" \ - --green "green" \ - --blue "red" \ - --red-range 1500 15000 \ - --green-range 1500 15000 \ - --blue-range 1500 15000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_PL00 "TRUE_COLOR" --traceback \ - --red "blue" \ - --green "green" \ - --blue "red" \ - --red-range 1500 15000 \ - --green-range 1500 15000 \ - --blue-range 1500 15000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_PL00 "FALSE_COLOR" --traceback \ - --red "nir" \ - --green "blue" \ - --blue "green" \ - --red-range 1500 20000 \ - --green-range 1500 15000 \ - --blue-range 1500 15000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_PL00 "NDVI" --traceback \ - --grey "(nir-blue)/(nir+blue)" --grey-range -1 1 - python3 manage.py collectiontype create "${COLLECTION}"_Collection --traceback \ - --coverage-type "RGBNir" \ - --coverage-type "RGNirByte" \ - --coverage-type "RGBNirByte" \ - --coverage-type "RGB" \ - --coverage-type "grayscale" \ - --coverage-type "CBGYRReNirNir2" \ - --coverage-type "BGRReNir" \ - --coverage-type "sar_hh_gray" \ - --coverage-type "sar_hh_vv_gray" \ - --coverage-type "sar_hh_hv_vh_vv_gray" \ - --product-type "${COLLECTION}"_Product_PH1A \ - --product-type "${COLLECTION}"_Product_PH1B \ - --product-type "${COLLECTION}"_Product_DM02 \ - --product-type "${COLLECTION}"_Product_DM01 \ - --product-type "${COLLECTION}"_Product_CS00 \ - --product-type "${COLLECTION}"_Product_CS01 \ - --product-type "${COLLECTION}"_Product_CS02 \ - --product-type "${COLLECTION}"_Product_CS03 \ - --product-type "${COLLECTION}"_Product_CS04 \ - --product-type "${COLLECTION}"_Product_EW01 \ - --product-type "${COLLECTION}"_Product_EW02 \ - --product-type "${COLLECTION}"_Product_EW03 \ - --product-type "${COLLECTION}"_Product_EQ02 \ - --product-type "${COLLECTION}"_Product_GE01 \ - --product-type "${COLLECTION}"_Product_GY01 \ - --product-type "${COLLECTION}"_Product_TX01 \ - --product-type "${COLLECTION}"_Product_IK02 \ - --product-type "${COLLECTION}"_Product_RE00 \ - --product-type "${COLLECTION}"_Product_RS02 \ - --product-type "${COLLECTION}"_Product_SP04 \ - --product-type "${COLLECTION}"_Product_SP05 \ - --product-type "${COLLECTION}"_Product_SP06 \ - --product-type "${COLLECTION}"_Product_SP07 \ - --product-type "${COLLECTION}"_Product_SK00 \ - --product-type "${COLLECTION}"_Product_SW03 \ - --product-type "${COLLECTION}"_Product_PL00 \ - --product-type "${COLLECTION}"_Product_KS03 - - python3 manage.py collection create "${COLLECTION}" --type "${COLLECTION}"_Collection --traceback - - else - echo "Provided collection '${COLLECTION}' not valid." - fi + python3 manage.py browsetype create "${COLLECTION}"_Product_RS02 --traceback \ + --red "gray" \ + --red-range 1 65535 \ + --red-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_RS02 "TRUE_COLOR" --traceback \ + --red "gray" \ + --red-range 1 65535 \ + --red-nodata 0 + # SP04 + python3 manage.py producttype create "${COLLECTION}"_Product_SP04 --traceback \ + --coverage-type "RGBNirByte" + python3 manage.py browsetype create "${COLLECTION}"_Product_SP04 --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 0 255 \ + --green-range 0 255 \ + --blue-range 0 255 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_SP04 "TRUE_COLOR" --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 0 255 \ + --green-range 0 255 \ + --blue-range 0 255 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_SP04 "FALSE_COLOR" --traceback \ + --red "nir" \ + --green "red" \ + --blue "green" \ + --red-range 0 255 \ + --green-range 0 255 \ + --blue-range 0 255 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_SP04 "NDVI" --traceback \ + --grey "(nir-red)/(nir+red)" --grey-range -1 1 + # SP05 - nir is blue + python3 manage.py producttype create "${COLLECTION}"_Product_SP05 --traceback \ + --coverage-type "RGNirByte" + python3 manage.py browsetype create "${COLLECTION}"_Product_SP05 --traceback \ + --red "red" \ + --green "green" \ + --blue "nir" \ + --red-range 0 120 \ + --green-range 0 120 \ + --blue-range 0 120 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_SP05 "TRUE_COLOR" --traceback \ + --red "red" \ + --green "green" \ + --blue "nir" \ + --red-range 0 120 \ + --green-range 0 120 \ + --blue-range 0 120 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + # TX01 + python3 manage.py producttype create "${COLLECTION}"_Product_TX01 --traceback \ + --coverage-type "sar_hh_gray" \ + --coverage-type "sar_hh_vv_gray" \ + --coverage-type "sar_hh_hv_vh_vv_gray" + python3 manage.py browsetype create "${COLLECTION}"_Product_TX01 --traceback \ + --red "gray" \ + --red-range 1 65535 \ + --red-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_TX01 "TRUE_COLOR" --traceback \ + --red "gray" \ + --red-range 1 65535 \ + --red-nodata 0 + # DM02 + python3 manage.py producttype create "${COLLECTION}"_Product_DM02 --traceback \ + --coverage-type "RGBNir" + python3 manage.py browsetype create "${COLLECTION}"_Product_DM02 --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 2000 15000 \ + --green-range 1000 7000 \ + --blue-range 1000 7000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_DM02 "TRUE_COLOR" --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 2000 15000 \ + --green-range 1000 7000 \ + --blue-range 1000 7000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_DM02 "FALSE_COLOR" --traceback \ + --red "nir" \ + --green "red" \ + --blue "green" \ + --red-range 1000 7000 \ + --green-range 2000 15000 \ + --blue-range 1000 7000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_DM02 "NDVI" --traceback \ + --grey "(nir-red)/(nir+red)" --grey-range -1 1 + # KS03 - bands are alphabetically BGNR, hence shift below + python3 manage.py producttype create "${COLLECTION}"_Product_KS03 --traceback \ + --coverage-type "RGBNir" + python3 manage.py browsetype create "${COLLECTION}"_Product_KS03 --traceback \ + --red "nir" \ + --green "green" \ + --blue "red" \ + --red-range 1000 10000 \ + --green-range 1000 8000 \ + --blue-range 1000 12000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_KS03 "TRUE_COLOR" --traceback \ + --red "nir" \ + --green "green" \ + --blue "red" \ + --red-range 1000 10000 \ + --green-range 1000 8000 \ + --blue-range 1000 12000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_KS03 "FALSE_COLOR" --traceback \ + --red "blue" \ + --green "nir" \ + --blue "green" \ + --red-range 1000 10000 \ + --green-range 1000 10000 \ + --blue-range 1000 8000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_KS03 "NDVI" --traceback \ + --grey "(blue-nir)/(blue+nir)" --grey-range -1 1 + # SP06 + python3 manage.py producttype create "${COLLECTION}"_Product_SP06 --traceback \ + --coverage-type "RGBNir" + python3 manage.py browsetype create "${COLLECTION}"_Product_SP06 --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 100 1000 \ + --green-range 100 1000 \ + --blue-range 100 1000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_SP06 "TRUE_COLOR" --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 100 1000 \ + --green-range 100 1000 \ + --blue-range 100 1000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_SP06 "FALSE_COLOR" --traceback \ + --red "nir" \ + --green "red" \ + --blue "green" \ + --red-range 100 1200 \ + --green-range 100 1000 \ + --blue-range 100 1000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_SP06 "NDVI" --traceback \ + --grey "(nir-red)/(nir+red)" --grey-range -1 1 + # SP07 + python3 manage.py producttype create "${COLLECTION}"_Product_SP07 --traceback \ + --coverage-type "RGBNir" + python3 manage.py browsetype create "${COLLECTION}"_Product_SP07 --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 0 900 \ + --green-range 0 900 \ + --blue-range 0 1000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_SP07 "TRUE_COLOR" --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 0 900 \ + --green-range 0 900 \ + --blue-range 0 1000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_SP07 "FALSE_COLOR" --traceback \ + --red "nir" \ + --green "red" \ + --blue "green" \ + --red-range 0 1200 \ + --green-range 0 900 \ + --blue-range 0 900 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_SP07 "NDVI" --traceback \ + --grey "(nir-red)/(nir+red)" --grey-range -1 1 + # PH1A + python3 manage.py producttype create "${COLLECTION}"_Product_PH1A --traceback \ + --coverage-type "RGBNir" + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1A --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 1 2000 \ + --green-range 1 2000 \ + --blue-range 1 2000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1A "TRUE_COLOR" --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 1 2000 \ + --green-range 1 2000 \ + --blue-range 1 2000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1A "FALSE_COLOR" --traceback \ + --red "nir" \ + --green "red" \ + --blue "green" \ + --red-range 1 2000 \ + --green-range 1 2000 \ + --blue-range 1 2000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1A "NDVI" --traceback \ + --grey "(nir-red)/(nir+red)" --grey-range -1 1 + # PH1B + python3 manage.py producttype create "${COLLECTION}"_Product_PH1B --traceback \ + --coverage-type "RGBNir" + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1B --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 1 2000 \ + --green-range 1 2000 \ + --blue-range 1 2000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1B "TRUE_COLOR" --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 1 2000 \ + --green-range 1 2000 \ + --blue-range 1 2000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1B "FALSE_COLOR" --traceback \ + --red "nir" \ + --green "red" \ + --blue "green" \ + --red-range 1 2000 \ + --green-range 1 2000 \ + --blue-range 1 2000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1B "NDVI" --traceback \ + --grey "(nir-red)/(nir+red)" --grey-range -1 1 + # SK00 + python3 manage.py producttype create "${COLLECTION}"_Product_SK00 --traceback \ + --coverage-type "RGBNir" + python3 manage.py browsetype create "${COLLECTION}"_Product_SK00 --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 1 600 \ + --green-range 1 600 \ + --blue-range 1 600 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_SK00 "TRUE_COLOR" --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 1 600 \ + --green-range 1 600 \ + --blue-range 1 600 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_SK00 "FALSE_COLOR" --traceback \ + --red "nir" \ + --green "red" \ + --blue "green" \ + --red-range 1 600 \ + --green-range 1 600 \ + --blue-range 1 600 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_SK00 "NDVI" --traceback \ + --grey "(nir-red)/(nir+red)" --grey-range -1 1 + # SW03 + python3 manage.py producttype create "${COLLECTION}"_Product_SW03 --traceback \ + --coverage-type "RGBNir" + python3 manage.py browsetype create "${COLLECTION}"_Product_SW03 --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 1 1000 \ + --green-range 1 1000 \ + --blue-range 1 1000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_SW03 "TRUE_COLOR" --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 1 1000 \ + --green-range 1 1000 \ + --blue-range 1 1000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_SW03 "FALSE_COLOR" --traceback \ + --red "nir" \ + --green "red" \ + --blue "green" \ + --red-range 1 1000 \ + --green-range 1 1000 \ + --blue-range 1 1000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_SW03 "NDVI" --traceback \ + --grey "(nir-red)/(nir+red)" --grey-range -1 1 + # PL00 bands go in order b,g,r,nir + python3 manage.py producttype create "${COLLECTION}"_Product_PL00 --traceback \ + --coverage-type "RGBNir" + python3 manage.py browsetype create "${COLLECTION}"_Product_PL00 --traceback \ + --red "blue" \ + --green "green" \ + --blue "red" \ + --red-range 1500 15000 \ + --green-range 1500 15000 \ + --blue-range 1500 15000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_PL00 "TRUE_COLOR" --traceback \ + --red "blue" \ + --green "green" \ + --blue "red" \ + --red-range 1500 15000 \ + --green-range 1500 15000 \ + --blue-range 1500 15000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_PL00 "FALSE_COLOR" --traceback \ + --red "nir" \ + --green "blue" \ + --blue "green" \ + --red-range 1500 20000 \ + --green-range 1500 15000 \ + --blue-range 1500 15000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_PL00 "NDVI" --traceback \ + --grey "(nir-blue)/(nir+blue)" --grey-range -1 1 + python3 manage.py collectiontype create "${COLLECTION}"_Collection --traceback \ + --coverage-type "RGBNir" \ + --coverage-type "RGNirByte" \ + --coverage-type "RGBNirByte" \ + --coverage-type "RGB" \ + --coverage-type "grayscale" \ + --coverage-type "CBGYRReNirNir2" \ + --coverage-type "BGRReNir" \ + --coverage-type "sar_hh_gray" \ + --coverage-type "sar_hh_vv_gray" \ + --coverage-type "sar_hh_hv_vh_vv_gray" \ + --product-type "${COLLECTION}"_Product_PH1A \ + --product-type "${COLLECTION}"_Product_PH1B \ + --product-type "${COLLECTION}"_Product_DM02 \ + --product-type "${COLLECTION}"_Product_DM01 \ + --product-type "${COLLECTION}"_Product_CS00 \ + --product-type "${COLLECTION}"_Product_CS01 \ + --product-type "${COLLECTION}"_Product_CS02 \ + --product-type "${COLLECTION}"_Product_CS03 \ + --product-type "${COLLECTION}"_Product_CS04 \ + --product-type "${COLLECTION}"_Product_EW01 \ + --product-type "${COLLECTION}"_Product_EW02 \ + --product-type "${COLLECTION}"_Product_EW03 \ + --product-type "${COLLECTION}"_Product_EQ02 \ + --product-type "${COLLECTION}"_Product_GE01 \ + --product-type "${COLLECTION}"_Product_GY01 \ + --product-type "${COLLECTION}"_Product_TX01 \ + --product-type "${COLLECTION}"_Product_IK02 \ + --product-type "${COLLECTION}"_Product_RE00 \ + --product-type "${COLLECTION}"_Product_RS02 \ + --product-type "${COLLECTION}"_Product_SP04 \ + --product-type "${COLLECTION}"_Product_SP05 \ + --product-type "${COLLECTION}"_Product_SP06 \ + --product-type "${COLLECTION}"_Product_SP07 \ + --product-type "${COLLECTION}"_Product_SK00 \ + --product-type "${COLLECTION}"_Product_SW03 \ + --product-type "${COLLECTION}"_Product_PL00 \ + --product-type "${COLLECTION}"_Product_KS03 + python3 manage.py collection create "${COLLECTION}" --type "${COLLECTION}"_Collection --traceback +} +id_check=$(python3 manage.py id check "${COLLECTION}") +if [[ $id_check == *"is already in use by a 'Collection'"* ]]; then + # name is already taken + echo "Using existing database" +elif [[ $id_check == *"is currently not in use"* ]]; then + initialize else - echo "Using existing database" -fi \ No newline at end of file + echo "Restarting service inside init-db by emitting an error" + set -eo pipefail + false +fi diff --git a/config/vhr18_init-db.sh b/config/vhr18_init-db.sh index 3f1451dfd7a0e3afe7286672fc546bdbdfe75fab..e74165486e3ca33bd2270de2ad67de5a489bf3dc 100644 --- a/config/vhr18_init-db.sh +++ b/config/vhr18_init-db.sh @@ -1,406 +1,395 @@ # Check if collection exits in database and initialize database only if not -if python3 manage.py id check "${COLLECTION}"; then - echo "Initialize database" - - python3 manage.py coveragetype import /rgbnir_definition.json --traceback - - if [ "${COLLECTION}" == "VHR_IMAGE_2018" ]; then - echo "Initializing collection '${COLLECTION}'." - - # PL00 - python3 manage.py producttype create "${COLLECTION}"_Product_PL00 --traceback \ - --coverage-type "RGBNir" - python3 manage.py browsetype create "${COLLECTION}"_Product_PL00 --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 1000 15000 \ - --green-range 1000 15000 \ - --blue-range 1000 15000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_PL00 "TRUE_COLOR" --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 1000 15000 \ - --green-range 1000 15000 \ - --blue-range 1000 15000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_PL00 "FALSE_COLOR" --traceback \ - --red "nir" \ - --green "red" \ - --blue "green" \ - --red-range 1000 15000 \ - --green-range 1000 15000 \ - --blue-range 1000 15000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_PL00 "NDVI" --traceback \ - --grey "(nir-red)/(nir+red)" --grey-range -1 1 - - # DM02 - python3 manage.py producttype create "${COLLECTION}"_Product_DM02 --traceback \ - --coverage-type "RGBNir" - python3 manage.py browsetype create "${COLLECTION}"_Product_DM02 --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 250 11500 \ - --green-range 600 10000 \ - --blue-range 1300 8500 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_DM02 "TRUE_COLOR" --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 250 11500 \ - --green-range 600 10000 \ - --blue-range 1300 8500 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_DM02 "FALSE_COLOR" --traceback \ - --red "nir" \ - --green "red" \ - --blue "green" \ - --red-range 400 28000 \ - --green-range 250 11500 \ - --blue-range 600 10000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_DM02 "NDVI" --traceback \ - --grey "(nir-red)/(nir+red)" --grey-range -1 1 - - # KS03 - python3 manage.py producttype create "${COLLECTION}"_Product_KS03 --traceback \ - --coverage-type "RGBNir" - python3 manage.py browsetype create "${COLLECTION}"_Product_KS03 --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 1 10000 \ - --green-range 1 10000 \ - --blue-range 1 10000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_KS03 "TRUE_COLOR" --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 1 10000 \ - --green-range 1 10000 \ - --blue-range 1 10000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_KS03 "FALSE_COLOR" --traceback \ - --red "nir" \ - --green "red" \ - --blue "green" \ - --red-range 1 10000 \ - --green-range 1 10000 \ - --blue-range 1 10000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_KS03 "NDVI" --traceback \ - --grey "(nir-red)/(nir+red)" --grey-range -1 1 - - # KS04 - python3 manage.py producttype create "${COLLECTION}"_Product_KS04 --traceback \ - --coverage-type "RGBNir" - python3 manage.py browsetype create "${COLLECTION}"_Product_KS04 --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 1 10000 \ - --green-range 1 10000 \ - --blue-range 1 10000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_KS04 "TRUE_COLOR" --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 1 10000 \ - --green-range 1 10000 \ - --blue-range 1 10000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_KS04 "FALSE_COLOR" --traceback \ - --red "nir" \ - --green "red" \ - --blue "green" \ - --red-range 1 10000 \ - --green-range 1 10000 \ - --blue-range 1 10000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_KS04 "NDVI" --traceback \ - --grey "(nir-red)/(nir+red)" --grey-range -1 1 - - # PH1A - python3 manage.py producttype create "${COLLECTION}"_Product_PH1A --traceback \ - --coverage-type "RGBNir" - python3 manage.py browsetype create "${COLLECTION}"_Product_PH1A --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 1 2000 \ - --green-range 1 2000 \ - --blue-range 1 2000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_PH1A "TRUE_COLOR" --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 1 2000 \ - --green-range 1 2000 \ - --blue-range 1 2000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_PH1A "FALSE_COLOR" --traceback \ - --red "nir" \ - --green "red" \ - --blue "green" \ - --red-range 1 2000 \ - --green-range 1 2000 \ - --blue-range 1 2000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_PH1A "NDVI" --traceback \ - --grey "(nir-red)/(nir+red)" --grey-range -1 1 - - # PH1B - python3 manage.py producttype create "${COLLECTION}"_Product_PH1B --traceback \ - --coverage-type "RGBNir" - python3 manage.py browsetype create "${COLLECTION}"_Product_PH1B --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 1 2000 \ - --green-range 1 2000 \ - --blue-range 1 2000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_PH1B "TRUE_COLOR" --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 1 2000 \ - --green-range 1 2000 \ - --blue-range 1 2000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_PH1B "FALSE_COLOR" --traceback \ - --red "nir" \ - --green "red" \ - --blue "green" \ - --red-range 1 2000 \ - --green-range 1 2000 \ - --blue-range 1 2000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_PH1B "NDVI" --traceback \ - --grey "(nir-red)/(nir+red)" --grey-range -1 1 - - # SP06 - python3 manage.py producttype create "${COLLECTION}"_Product_SP06 --traceback \ - --coverage-type "RGBNir" - python3 manage.py browsetype create "${COLLECTION}"_Product_SP06 --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 1000 20000 \ - --green-range 1000 20000 \ - --blue-range 1000 20000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_SP06 "TRUE_COLOR" --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 1000 20000 \ - --green-range 1000 20000 \ - --blue-range 1000 20000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_SP06 "FALSE_COLOR" --traceback \ - --red "nir" \ - --green "red" \ - --blue "green" \ - --red-range 1000 20000 \ - --green-range 1000 20000 \ - --blue-range 1000 20000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_SP06 "NDVI" --traceback \ - --grey "(nir-red)/(nir+red)" --grey-range -1 1 - - # SP07 - python3 manage.py producttype create "${COLLECTION}"_Product_SP07 --traceback \ - --coverage-type "RGBNir" - python3 manage.py browsetype create "${COLLECTION}"_Product_SP07 --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 1000 20000 \ - --green-range 1000 20000 \ - --blue-range 1000 20000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_SP07 "TRUE_COLOR" --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 1000 20000 \ - --green-range 1000 20000 \ - --blue-range 1000 20000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_SP07 "FALSE_COLOR" --traceback \ - --red "nir" \ - --green "red" \ - --blue "green" \ - --red-range 1000 20000 \ - --green-range 1000 20000 \ - --blue-range 1000 20000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_SP07 "NDVI" --traceback \ - --grey "(nir-red)/(nir+red)" --grey-range -1 1 - - # SW00 - python3 manage.py producttype create "${COLLECTION}"_Product_SW00 --traceback \ - --coverage-type "RGBNir" - python3 manage.py browsetype create "${COLLECTION}"_Product_SW00 --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 100 1500 \ - --green-range 100 1500 \ - --blue-range 100 1500 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_SW00 "TRUE_COLOR" --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 100 1500 \ - --green-range 100 1500 \ - --blue-range 100 1500 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_SW00 "FALSE_COLOR" --traceback \ - --red "nir" \ - --green "red" \ - --blue "green" \ - --red-range 100 1500 \ - --green-range 100 1500 \ - --blue-range 100 1500 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_SW00 "NDVI" --traceback \ - --grey "(nir-red)/(nir+red)" --grey-range -1 1 - - # TR00 - python3 manage.py producttype create "${COLLECTION}"_Product_TR00 --traceback \ - --coverage-type "RGBNir" - python3 manage.py browsetype create "${COLLECTION}"_Product_TR00 --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 1 3000 \ - --green-range 1 3000 \ - --blue-range 1 3000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_TR00 "TRUE_COLOR" --traceback \ - --red "red" \ - --green "green" \ - --blue "blue" \ - --red-range 1 3000 \ - --green-range 1 3000 \ - --blue-range 1 3000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_TR00 "FALSE_COLOR" --traceback \ - --red "nir" \ - --green "red" \ - --blue "green" \ - --red-range 1 3000 \ - --green-range 1 3000 \ - --blue-range 1 3000 \ - --red-nodata 0 \ - --green-nodata 0 \ - --blue-nodata 0 - python3 manage.py browsetype create "${COLLECTION}"_Product_TR00 "NDVI" --traceback \ - --grey "(nir-red)/(nir+red)" --grey-range -1 1 - - python3 manage.py collectiontype create "${COLLECTION}"_Collection --traceback \ - --coverage-type "RGBNir" \ - --product-type "${COLLECTION}"_Product_PL00 \ - --product-type "${COLLECTION}"_Product_DM02 \ - --product-type "${COLLECTION}"_Product_KS03 \ - --product-type "${COLLECTION}"_Product_KS04 \ - --product-type "${COLLECTION}"_Product_PH1A \ - --product-type "${COLLECTION}"_Product_PH1B \ - --product-type "${COLLECTION}"_Product_SP06 \ - --product-type "${COLLECTION}"_Product_SP07 \ - --product-type "${COLLECTION}"_Product_SW00 \ - --product-type "${COLLECTION}"_Product_TR00 - - # Create collections for all/Level-1/Level-3 products - python3 manage.py collection create "${COLLECTION}" --type "${COLLECTION}"_Collection --traceback - python3 manage.py collection create "${COLLECTION}_Level_1" --type "${COLLECTION}"_Collection --traceback - python3 manage.py collection create "${COLLECTION}_Level_3" --type "${COLLECTION}"_Collection --traceback - - # Register mask type - python3 manage.py masktype create --validity "${COLLECTION}"_Product_PL00 validity - python3 manage.py masktype create --validity "${COLLECTION}"_Product_DM02 validity - python3 manage.py masktype create --validity "${COLLECTION}"_Product_KS03 validity - python3 manage.py masktype create --validity "${COLLECTION}"_Product_KS04 validity - python3 manage.py masktype create --validity "${COLLECTION}"_Product_PH1A validity - python3 manage.py masktype create --validity "${COLLECTION}"_Product_PH1B validity - python3 manage.py masktype create --validity "${COLLECTION}"_Product_SP06 validity - python3 manage.py masktype create --validity "${COLLECTION}"_Product_SP07 validity - python3 manage.py masktype create --validity "${COLLECTION}"_Product_SW00 validity - python3 manage.py masktype create --validity "${COLLECTION}"_Product_TR00 validity - - else - echo "Provided collection '${COLLECTION}' not valid." - fi +# on command fail restart service +function initialize { + echo "Initialize coverage types" + python3 manage.py coveragetype import /rgbnir_definition.json --traceback + # PL00 + python3 manage.py producttype create "${COLLECTION}"_Product_PL00 --traceback \ + --coverage-type "RGBNir" + python3 manage.py browsetype create "${COLLECTION}"_Product_PL00 --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 1000 15000 \ + --green-range 1000 15000 \ + --blue-range 1000 15000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_PL00 "TRUE_COLOR" --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 1000 15000 \ + --green-range 1000 15000 \ + --blue-range 1000 15000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_PL00 "FALSE_COLOR" --traceback \ + --red "nir" \ + --green "red" \ + --blue "green" \ + --red-range 1000 15000 \ + --green-range 1000 15000 \ + --blue-range 1000 15000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_PL00 "NDVI" --traceback \ + --grey "(nir-red)/(nir+red)" --grey-range -1 1 + # DM02 + python3 manage.py producttype create "${COLLECTION}"_Product_DM02 --traceback \ + --coverage-type "RGBNir" + python3 manage.py browsetype create "${COLLECTION}"_Product_DM02 --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 250 11500 \ + --green-range 600 10000 \ + --blue-range 1300 8500 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_DM02 "TRUE_COLOR" --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 250 11500 \ + --green-range 600 10000 \ + --blue-range 1300 8500 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_DM02 "FALSE_COLOR" --traceback \ + --red "nir" \ + --green "red" \ + --blue "green" \ + --red-range 400 28000 \ + --green-range 250 11500 \ + --blue-range 600 10000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_DM02 "NDVI" --traceback \ + --grey "(nir-red)/(nir+red)" --grey-range -1 1 + # KS03 + python3 manage.py producttype create "${COLLECTION}"_Product_KS03 --traceback \ + --coverage-type "RGBNir" + python3 manage.py browsetype create "${COLLECTION}"_Product_KS03 --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 1 10000 \ + --green-range 1 10000 \ + --blue-range 1 10000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_KS03 "TRUE_COLOR" --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 1 10000 \ + --green-range 1 10000 \ + --blue-range 1 10000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_KS03 "FALSE_COLOR" --traceback \ + --red "nir" \ + --green "red" \ + --blue "green" \ + --red-range 1 10000 \ + --green-range 1 10000 \ + --blue-range 1 10000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_KS03 "NDVI" --traceback \ + --grey "(nir-red)/(nir+red)" --grey-range -1 1 + # KS04 + python3 manage.py producttype create "${COLLECTION}"_Product_KS04 --traceback \ + --coverage-type "RGBNir" + python3 manage.py browsetype create "${COLLECTION}"_Product_KS04 --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 1 10000 \ + --green-range 1 10000 \ + --blue-range 1 10000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_KS04 "TRUE_COLOR" --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 1 10000 \ + --green-range 1 10000 \ + --blue-range 1 10000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_KS04 "FALSE_COLOR" --traceback \ + --red "nir" \ + --green "red" \ + --blue "green" \ + --red-range 1 10000 \ + --green-range 1 10000 \ + --blue-range 1 10000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_KS04 "NDVI" --traceback \ + --grey "(nir-red)/(nir+red)" --grey-range -1 1 + # PH1A + python3 manage.py producttype create "${COLLECTION}"_Product_PH1A --traceback \ + --coverage-type "RGBNir" + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1A --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 1 2000 \ + --green-range 1 2000 \ + --blue-range 1 2000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1A "TRUE_COLOR" --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 1 2000 \ + --green-range 1 2000 \ + --blue-range 1 2000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1A "FALSE_COLOR" --traceback \ + --red "nir" \ + --green "red" \ + --blue "green" \ + --red-range 1 2000 \ + --green-range 1 2000 \ + --blue-range 1 2000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1A "NDVI" --traceback \ + --grey "(nir-red)/(nir+red)" --grey-range -1 1 + # PH1B + python3 manage.py producttype create "${COLLECTION}"_Product_PH1B --traceback \ + --coverage-type "RGBNir" + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1B --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 1 2000 \ + --green-range 1 2000 \ + --blue-range 1 2000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1B "TRUE_COLOR" --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 1 2000 \ + --green-range 1 2000 \ + --blue-range 1 2000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1B "FALSE_COLOR" --traceback \ + --red "nir" \ + --green "red" \ + --blue "green" \ + --red-range 1 2000 \ + --green-range 1 2000 \ + --blue-range 1 2000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_PH1B "NDVI" --traceback \ + --grey "(nir-red)/(nir+red)" --grey-range -1 1 + # SP06 + python3 manage.py producttype create "${COLLECTION}"_Product_SP06 --traceback \ + --coverage-type "RGBNir" + python3 manage.py browsetype create "${COLLECTION}"_Product_SP06 --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 1000 20000 \ + --green-range 1000 20000 \ + --blue-range 1000 20000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_SP06 "TRUE_COLOR" --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 1000 20000 \ + --green-range 1000 20000 \ + --blue-range 1000 20000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_SP06 "FALSE_COLOR" --traceback \ + --red "nir" \ + --green "red" \ + --blue "green" \ + --red-range 1000 20000 \ + --green-range 1000 20000 \ + --blue-range 1000 20000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_SP06 "NDVI" --traceback \ + --grey "(nir-red)/(nir+red)" --grey-range -1 1 + # SP07 + python3 manage.py producttype create "${COLLECTION}"_Product_SP07 --traceback \ + --coverage-type "RGBNir" + python3 manage.py browsetype create "${COLLECTION}"_Product_SP07 --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 1000 20000 \ + --green-range 1000 20000 \ + --blue-range 1000 20000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_SP07 "TRUE_COLOR" --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 1000 20000 \ + --green-range 1000 20000 \ + --blue-range 1000 20000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_SP07 "FALSE_COLOR" --traceback \ + --red "nir" \ + --green "red" \ + --blue "green" \ + --red-range 1000 20000 \ + --green-range 1000 20000 \ + --blue-range 1000 20000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_SP07 "NDVI" --traceback \ + --grey "(nir-red)/(nir+red)" --grey-range -1 1 + # SW00 + python3 manage.py producttype create "${COLLECTION}"_Product_SW00 --traceback \ + --coverage-type "RGBNir" + python3 manage.py browsetype create "${COLLECTION}"_Product_SW00 --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 100 1500 \ + --green-range 100 1500 \ + --blue-range 100 1500 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_SW00 "TRUE_COLOR" --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 100 1500 \ + --green-range 100 1500 \ + --blue-range 100 1500 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_SW00 "FALSE_COLOR" --traceback \ + --red "nir" \ + --green "red" \ + --blue "green" \ + --red-range 100 1500 \ + --green-range 100 1500 \ + --blue-range 100 1500 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_SW00 "NDVI" --traceback \ + --grey "(nir-red)/(nir+red)" --grey-range -1 1 + # TR00 + python3 manage.py producttype create "${COLLECTION}"_Product_TR00 --traceback \ + --coverage-type "RGBNir" + python3 manage.py browsetype create "${COLLECTION}"_Product_TR00 --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 1 3000 \ + --green-range 1 3000 \ + --blue-range 1 3000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_TR00 "TRUE_COLOR" --traceback \ + --red "red" \ + --green "green" \ + --blue "blue" \ + --red-range 1 3000 \ + --green-range 1 3000 \ + --blue-range 1 3000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_TR00 "FALSE_COLOR" --traceback \ + --red "nir" \ + --green "red" \ + --blue "green" \ + --red-range 1 3000 \ + --green-range 1 3000 \ + --blue-range 1 3000 \ + --red-nodata 0 \ + --green-nodata 0 \ + --blue-nodata 0 + python3 manage.py browsetype create "${COLLECTION}"_Product_TR00 "NDVI" --traceback \ + --grey "(nir-red)/(nir+red)" --grey-range -1 1 + python3 manage.py collectiontype create "${COLLECTION}"_Collection --traceback \ + --coverage-type "RGBNir" \ + --product-type "${COLLECTION}"_Product_PL00 \ + --product-type "${COLLECTION}"_Product_DM02 \ + --product-type "${COLLECTION}"_Product_KS03 \ + --product-type "${COLLECTION}"_Product_KS04 \ + --product-type "${COLLECTION}"_Product_PH1A \ + --product-type "${COLLECTION}"_Product_PH1B \ + --product-type "${COLLECTION}"_Product_SP06 \ + --product-type "${COLLECTION}"_Product_SP07 \ + --product-type "${COLLECTION}"_Product_SW00 \ + --product-type "${COLLECTION}"_Product_TR00 + # Create collections for all/Level-1/Level-3 products + python3 manage.py collection create "${COLLECTION}" --type "${COLLECTION}"_Collection --traceback + python3 manage.py collection create "${COLLECTION}_Level_1" --type "${COLLECTION}"_Collection --traceback + python3 manage.py collection create "${COLLECTION}_Level_3" --type "${COLLECTION}"_Collection --traceback + # Register mask type + python3 manage.py masktype create --validity "${COLLECTION}"_Product_PL00 validity + python3 manage.py masktype create --validity "${COLLECTION}"_Product_DM02 validity + python3 manage.py masktype create --validity "${COLLECTION}"_Product_KS03 validity + python3 manage.py masktype create --validity "${COLLECTION}"_Product_KS04 validity + python3 manage.py masktype create --validity "${COLLECTION}"_Product_PH1A validity + python3 manage.py masktype create --validity "${COLLECTION}"_Product_PH1B validity + python3 manage.py masktype create --validity "${COLLECTION}"_Product_SP06 validity + python3 manage.py masktype create --validity "${COLLECTION}"_Product_SP07 validity + python3 manage.py masktype create --validity "${COLLECTION}"_Product_SW00 validity + python3 manage.py masktype create --validity "${COLLECTION}"_Product_TR00 validity +} +id_check=$(python3 manage.py id check "${COLLECTION}") +if [[ $id_check == *"is already in use by a 'Collection'"* ]]; then + # name is already taken + echo "Using existing database" +elif [[ $id_check == *"is currently not in use"* ]]; then + initialize else - echo "Using existing database" + echo "Restarting service inside init-db by emitting an error" + set -eo pipefail + false fi diff --git a/core/entrypoint.sh b/core/entrypoint.sh index 26f543877bd487207f67c4508c6cfadf10e5d9c4..d14c6a1d68943db77b217be016a2f25c19501060 100644 --- a/core/entrypoint.sh +++ b/core/entrypoint.sh @@ -40,4 +40,4 @@ EOF file_env "OS_PASSWORD" file_env "DJANGO_PASSWORD" -eval "/opt/eoxserver/eoxserver-entrypoint.sh $@" +eval "/opt/eoxserver/eoxserver-entrypoint.sh $@" >&2 diff --git a/docker-compose.dem.yml b/docker-compose.dem.yml index 190ff1481776a380871621c6d65c1666f421f2b0..2aa1f035abdbc09fb173b90a981f15cb8da6ac56 100644 --- a/docker-compose.dem.yml +++ b/docker-compose.dem.yml @@ -43,13 +43,14 @@ services: - env/dem_obs.env secrets: - DJANGO_PASSWORD - - OS_PASSWORD + - OS_PASSWORD environment: INSTANCE_ID: "prism-view-server_renderer" INSTALL_DIR: "/var/www/pvs/dev/" INIT_SCRIPTS: "/configure.sh /init-db.sh /initialized.sh" STARTUP_SCRIPTS: "/wait-initialized.sh" WAIT_SERVICES: "database:5432" + WAIT_TIMEOUT: 60 DJANGO_PASSWORD_FILE: "/run/secrets/DJANGO_PASSWORD" OS_PASSWORD_FILE: "/run/secrets/OS_PASSWORD" configs: @@ -151,6 +152,7 @@ services: INIT_SCRIPTS: "/configure.sh /init-db.sh /initialized.sh" STARTUP_SCRIPTS: "/wait-initialized.sh" WAIT_SERVICES: "redis:6379 database:5432" + WAIT_TIMEOUT: 60 OS_PASSWORD_FILE: "/run/secrets/OS_PASSWORD" DJANGO_PASSWORD_FILE: "/run/secrets/DJANGO_PASSWORD" REPORTING_DIR: "/mnt/reports/" diff --git a/docker-compose.emg.yml b/docker-compose.emg.yml index 008d03365a3b8c28b40a14daf98342673447db42..425c915c16470fa1e2e35df0ddb50aa369084cee 100644 --- a/docker-compose.emg.yml +++ b/docker-compose.emg.yml @@ -50,6 +50,7 @@ services: INIT_SCRIPTS: "/configure.sh /init-db.sh /initialized.sh" STARTUP_SCRIPTS: "/wait-initialized.sh" WAIT_SERVICES: "database:5432" + WAIT_TIMEOUT: 60 DJANGO_PASSWORD_FILE: "/run/secrets/DJANGO_PASSWORD" OS_PASSWORD_FILE: "/run/secrets/OS_PASSWORD" configs: @@ -165,6 +166,7 @@ services: INIT_SCRIPTS: "/configure.sh /init-db.sh /initialized.sh" STARTUP_SCRIPTS: "/wait-initialized.sh" WAIT_SERVICES: "redis:6379 database:5432" + WAIT_TIMEOUT: 60 OS_PASSWORD_FILE: "/run/secrets/OS_PASSWORD" DJANGO_PASSWORD_FILE: "/run/secrets/DJANGO_PASSWORD" REPORTING_DIR: "/mnt/reports/" diff --git a/docker-compose.vhr18.yml b/docker-compose.vhr18.yml index 7deb310298a498e8563463e104fab39cea7d8ab4..3dde19a945b25b3509f14baee13dcb531aeda606 100644 --- a/docker-compose.vhr18.yml +++ b/docker-compose.vhr18.yml @@ -50,6 +50,7 @@ services: INIT_SCRIPTS: "/configure.sh /init-db.sh /initialized.sh" STARTUP_SCRIPTS: "/wait-initialized.sh" WAIT_SERVICES: "database:5432" + WAIT_TIMEOUT: 60 DJANGO_PASSWORD_FILE: "/run/secrets/DJANGO_PASSWORD" OS_PASSWORD_FILE: "/run/secrets/OS_PASSWORD" configs: @@ -168,6 +169,7 @@ services: INIT_SCRIPTS: "/configure.sh /init-db.sh /initialized.sh" STARTUP_SCRIPTS: "/wait-initialized.sh" WAIT_SERVICES: "redis:6379 database:5432" + WAIT_TIMEOUT: 60 OS_PASSWORD_FILE: "/run/secrets/OS_PASSWORD" DJANGO_PASSWORD_FILE: "/run/secrets/DJANGO_PASSWORD" REPORTING_DIR: "/mnt/reports/" diff --git a/testing/gitlab_test.sh b/testing/gitlab_test.sh index c9b51338f341ed031f95c97f801dc7c3824f1de6..5637e626c0701fed5dfcca00223fcc0092d4b99f 100755 --- a/testing/gitlab_test.sh +++ b/testing/gitlab_test.sh @@ -1,18 +1,5 @@ #!/bin/sh - -function log_services () { - if [ $? -ne 0 ] - then - echo "Failure in tests, logging from services:" - for service in $(docker service ls --format "{{.Name}}"); do - docker service ps $service --no-trunc >> "/tmp/$service.log" - docker service logs $service >> "/tmp/$service.log" - docker service ps $service --no-trunc - docker service logs $service - done - exit 1 - fi -} +any_test_failed=1 # false # fetch secrets and write them to their according files cat $vhr18_db > ../env/vhr18_db.env cat $vhr18_django > ../env/vhr18_django.env @@ -53,29 +40,30 @@ cat ./testing_preprocessor_config.yml>../config/emg_preprocessor-config.yml # deploy the stack docker stack deploy -c ../docker-compose.emg.yml -c ../docker-compose.emg.dev.yml emg-pvs -./docker-stack-wait.sh -n renderer -n registrar -n preprocessor -n database -n sftp emg-pvs +./docker-stack-wait.sh -n renderer -n registrar -n preprocessor -n database -n sftp -n ingestor emg-pvs -docker service ls # perform the testing +swift delete preprocessor_results bash ./preprocessor_prep.sh preprocessed_list.csv bash ./registrar_prep.sh product_list.csv pytest registrar_test.py preprocessor_test.py renderer_test.py - -log_services +if [ $? -ne 0 ]; then any_test_failed=0;fi swift delete preprocessor_results - # ingest an item python3 ingestor_prep.py # wait for the process to complete -sleep 90 +sleep 60 # test the existance of ingested item pytest ingestor_test.py +if [ $? -ne 0 ]; then any_test_failed=0;fi -log_services - +for service in $(docker service ls --format "{{.Name}}"); do + docker service ps $service --no-trunc >> "$CI_PROJECT_DIR/$service.txt" + docker service logs $service --timestamps >> "$CI_PROJECT_DIR/$service.txt" +done -swift delete preprocessor_results \ No newline at end of file +if [ $any_test_failed -ne 1 ]; then echo "Some test failed"; exit 1;fi diff --git a/testing/tpzonlineitem.xml b/testing/tpzonlineitem.xml index 4dbd7ae3e6f105791c07d4472043667b26ef8321..9b67e3104533eab8e724bb3c5e1ef5201fa765de 100644 --- a/testing/tpzonlineitem.xml +++ b/testing/tpzonlineitem.xml @@ -1,12 +1,10 @@ <?xml version="1.0" encoding="UTF-8"?> <!--Sample XML file generated by XMLSpy v2013 sp1 (http://www.altova.com)--> -<OnLineArchiveItem xsi:schemaLocation="http://www.telespazio.com/CSCDA/CDD/PDAS PDAS_interfaces%2020190924_1916.xsd" xmlns="http://www.telespazio.com/CSCDA/CDD/PDAS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - <identifier>urn:eop:KGS:K3_20160101113014_19339_02281264_L0F_28E2 -</identifier> - <path> - <Service>OS</Service> - <URL>KS03_AIS_PSH_1G_20160101T113020_20160101T113022_KGS_019339_75CE.tar -</URL> - </path> - <status>added</status> +<OnLineArchiveItem xmlns="http://www.telespazio.com/CSCDA/CDD/PDAS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.telespazio.com/CSCDA/CDD/PDAS PDAS_interfaces%2020190924_1916.xsd"> + <identifier>urn:eop:KGS:K3_20160101113014_19339_02281264_L0F_28E2</identifier> + <path> + <Service>OS</Service> + <URL>KS03_AIS_PSH_1G_20160101T113020_20160101T113022_KGS_019339_75CE.tar</URL> + </path> + <status>added</status> </OnLineArchiveItem>