From 06d19211ffe2c159ab25e350abb1f91067a342e1 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Mon, 12 Feb 2024 16:32:25 +1100 Subject: [PATCH 001/143] Moved some QA content from the Details tab to the Quality tab --- .../_details.md | 20 ------------------ .../_quality.md | 21 ++++++++++++++++++- 2 files changed, 20 insertions(+), 21 deletions(-) diff --git a/docs/data/product/dea-fractional-cover-percentiles-landsat/_details.md b/docs/data/product/dea-fractional-cover-percentiles-landsat/_details.md index 82bc9320b..53cfc39a8 100644 --- a/docs/data/product/dea-fractional-cover-percentiles-landsat/_details.md +++ b/docs/data/product/dea-fractional-cover-percentiles-landsat/_details.md @@ -103,26 +103,6 @@ DEA Water Observations are used to identify clear pixels from DEA Fractional Cov * Please note, no land/sea masking is applied * Observation dates for given percentiles are not captured -### QA enumeration - -To assist with the downstream calculation of the [DEA Mangrove Canopy Cover](/data/product/dea-mangrove-canopy-cover-landsat/) product, each pixel has an additional enumeration associated with it: - -* **0** - Not enough observations to calculate percentiles (less than 3 clear and dry observations), and there is at least one observation that has been identified as wet. Defined in ODC configuration as: insufficient observations wet. -* **1** \- Not enough observations to calculate percentiles (less than 3 clear and dry observations), but never identified as wet. Defined in ODC configuration as: insufficient observations dry. -* **2** \- There are sufficient observations to compute percentiles (3 or more clear and dry observations). Defined in ODC configuration as: sufficient observations - -This enumeration assists in quantifying uncertainty within the [DEA Mangrove Canopy Cover](/data/product/dea-mangrove-canopy-cover-landsat/) (see Mangrove Canopy Cover definition). - -### Side car files - -Collection 3 Fractional Cover Percentiles will be accompanied by the following metadata, presentation and quality assurance side car files: - -* `*.odc-metadata.yaml`: EODatasets 3 compatible ODC dataset definition -* `*.odc-proc-info.yaml`: Listing of python libraries and versions used by software to generate -* `*.sha1`: Cryptographic hash of data to validate distributed data -* `*.thumbnail.jpg`: Quick look thumbnail of a scaled RGB rendering of R = `bs_pc_50`, G= `pv_pc_50` and B = `npv_pc_50` -* `*.stac-item.json`: STAC 1.0.0 STAC document - ### Temporal period Will be calculated from the 1st of January to the 31st of December (inclusive) for every available year of DEA Landsat Collection 3 Water Observations and DEA Landsat Collection 3 Fractional Cover observations. diff --git a/docs/data/product/dea-fractional-cover-percentiles-landsat/_quality.md b/docs/data/product/dea-fractional-cover-percentiles-landsat/_quality.md index 93e03affd..cdd9fba91 100644 --- a/docs/data/product/dea-fractional-cover-percentiles-landsat/_quality.md +++ b/docs/data/product/dea-fractional-cover-percentiles-landsat/_quality.md @@ -1,4 +1,23 @@ % ## Accuracy -% ## Quality assurance +## Quality assurance +### QA enumeration + +To assist with the downstream calculation of the [DEA Mangrove Canopy Cover](/data/product/dea-mangrove-canopy-cover-landsat/) product, each pixel has an additional enumeration associated with it: + +* **0** - Not enough observations to calculate percentiles (less than 3 clear and dry observations), and there is at least one observation that has been identified as wet. Defined in ODC configuration as: insufficient observations wet. +* **1** \- Not enough observations to calculate percentiles (less than 3 clear and dry observations), but never identified as wet. Defined in ODC configuration as: insufficient observations dry. +* **2** \- There are sufficient observations to compute percentiles (3 or more clear and dry observations). Defined in ODC configuration as: sufficient observations + +This enumeration assists in quantifying uncertainty within the [DEA Mangrove Canopy Cover](/data/product/dea-mangrove-canopy-cover-landsat/) (see Mangrove Canopy Cover definition). + +### Side car files + +Collection 3 Fractional Cover Percentiles will be accompanied by the following metadata, presentation and quality assurance side car files: + +* `*.odc-metadata.yaml`: EODatasets 3 compatible ODC dataset definition +* `*.odc-proc-info.yaml`: Listing of python libraries and versions used by software to generate +* `*.sha1`: Cryptographic hash of data to validate distributed data +* `*.thumbnail.jpg`: Quick look thumbnail of a scaled RGB rendering of R = `bs_pc_50`, G= `pv_pc_50` and B = `npv_pc_50` +* `*.stac-item.json`: STAC 1.0.0 STAC document From cc84c4792872270185386a7c37923fd0a27f8e6c Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Mon, 12 Feb 2024 16:38:10 +1100 Subject: [PATCH 002/143] Formatted the QA content into tables --- .../_quality.md | 33 ++++++++++++++----- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/docs/data/product/dea-fractional-cover-percentiles-landsat/_quality.md b/docs/data/product/dea-fractional-cover-percentiles-landsat/_quality.md index cdd9fba91..313b5ba23 100644 --- a/docs/data/product/dea-fractional-cover-percentiles-landsat/_quality.md +++ b/docs/data/product/dea-fractional-cover-percentiles-landsat/_quality.md @@ -6,18 +6,33 @@ To assist with the downstream calculation of the [DEA Mangrove Canopy Cover](/data/product/dea-mangrove-canopy-cover-landsat/) product, each pixel has an additional enumeration associated with it: -* **0** - Not enough observations to calculate percentiles (less than 3 clear and dry observations), and there is at least one observation that has been identified as wet. Defined in ODC configuration as: insufficient observations wet. -* **1** \- Not enough observations to calculate percentiles (less than 3 clear and dry observations), but never identified as wet. Defined in ODC configuration as: insufficient observations dry. -* **2** \- There are sufficient observations to compute percentiles (3 or more clear and dry observations). Defined in ODC configuration as: sufficient observations +:::{list-table} + +* - **0** + - Not enough observations to calculate percentiles (less than 3 clear and dry observations), and there is at least one observation that has been identified as wet. Defined in ODC configuration as: insufficient observations wet. +* - **1** + - Not enough observations to calculate percentiles (less than 3 clear and dry observations), but never identified as wet. Defined in ODC configuration as: insufficient observations dry. +* - **2** + - There are sufficient observations to compute percentiles (3 or more clear and dry observations). Defined in ODC configuration as: sufficient observations +::: This enumeration assists in quantifying uncertainty within the [DEA Mangrove Canopy Cover](/data/product/dea-mangrove-canopy-cover-landsat/) (see Mangrove Canopy Cover definition). ### Side car files -Collection 3 Fractional Cover Percentiles will be accompanied by the following metadata, presentation and quality assurance side car files: +Collection 3 Fractional Cover Percentiles will be accompanied by the following metadata, presentation and quality assurance side car files: + +:::{list-table} + +* - `*.odc-metadata.yaml` + - EODatasets 3 compatible ODC dataset definition +* - `*.odc-proc-info.yaml` + - Listing of python libraries and versions used by software to generate +* - `*.sha1` + - Cryptographic hash of data to validate distributed data +* - `*.thumbnail.jpg` + - Quick look thumbnail of a scaled RGB rendering of R = `bs_pc_50`, G= `pv_pc_50` and B = `npv_pc_50` +* - `*.stac-item.json` + - STAC 1.0.0 STAC document +::: -* `*.odc-metadata.yaml`: EODatasets 3 compatible ODC dataset definition -* `*.odc-proc-info.yaml`: Listing of python libraries and versions used by software to generate -* `*.sha1`: Cryptographic hash of data to validate distributed data -* `*.thumbnail.jpg`: Quick look thumbnail of a scaled RGB rendering of R = `bs_pc_50`, G= `pv_pc_50` and B = `npv_pc_50` -* `*.stac-item.json`: STAC 1.0.0 STAC document From 127fff19bf77f80815e6565bd3c865156be020b4 Mon Sep 17 00:00:00 2001 From: geoscience-aman <96451725+geoscience-aman@users.noreply.github.com> Date: Mon, 19 Feb 2024 14:27:09 +1100 Subject: [PATCH 003/143] Preview contig fix changelog --- .../reprocessing/S2A_contig_reprocessing.csv | 11 +++++++++ .../_history.md | 23 ++++++++++++++++++- 2 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 docs/_files/reprocessing/S2A_contig_reprocessing.csv diff --git a/docs/_files/reprocessing/S2A_contig_reprocessing.csv b/docs/_files/reprocessing/S2A_contig_reprocessing.csv new file mode 100644 index 000000000..a0fed469c --- /dev/null +++ b/docs/_files/reprocessing/S2A_contig_reprocessing.csv @@ -0,0 +1,11 @@ +Product Label,Satellite Acquisition Date,ARD Generation Date,ARD Re-generation Date +ga_s2am_ard_3-2-1_52KED_2017-01-02_final,02/01/2017,23/08/2022,16/01/2024 +ga_s2am_ard_3-2-1_52JFM_2017-01-02_final,02/01/2017,23/08/2022,05/01/2024 +ga_s2am_ard_3-2-1_52KHD_2017-01-02_final,02/01/2017,23/08/2022,05/01/2024 +ga_s2am_ard_3-2-1_53KKU_2017-01-02_final,02/01/2017,23/08/2022,16/01/2024 +ga_s2am_ard_3-2-1_52KGD_2017-01-02_final,02/01/2017,23/08/2022,05/01/2024 +ga_s2am_ard_3-2-1_52KFD_2017-01-02_final,02/01/2017,23/08/2022,05/01/2024 +ga_s2am_ard_3-2-1_52JDL_2017-01-02_final,02/01/2017,23/08/2022,16/01/2024 +ga_s2am_ard_3-2-1_52JBL_2017-01-02_final,02/01/2017,23/08/2022,16/01/2024 +ga_s2am_ard_3-2-1_52JEL_2017-01-02_final,02/01/2017,23/08/2022,16/01/2024 +ga_s2am_ard_3-2-1_51HYD_2017-01-02_final,02/01/2017,23/08/2022,05/01/2024 \ No newline at end of file diff --git a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md index 06c307340..814010649 100644 --- a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md +++ b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md @@ -1,2 +1,23 @@ -% ## Changelog +## Changelog +### Reprocessing complete, released 19 February 2024 +Reprocessing for the Sentinel-2 contiguity fix is complete. +Please find below the list of affected scenes. + +[Link to report](/docs/_files/reprocessing/S2A_contig_reprocessing.csv) + +
View list of affected scenes + +| | | | | +|----------------------------------------------|--------------------------------|-------------------------|----------------------------| +| **Product Label** | **Satellite Acquisition Date** | **ARD Generation Date** | **ARD Re-generation Date** | +| **ga_s2am_ard_3-2-1_52KED_2017-01-02_final** | 02/01/2017 | 23/08/2022 | 16/01/2024 | +| **ga_s2am_ard_3-2-1_52JFM_2017-01-02_final** | 02/01/2017 | 23/08/2022 | 05/01/2024 | +| **ga_s2am_ard_3-2-1_52KHD_2017-01-02_final** | 02/01/2017 | 23/08/2022 | 05/01/2024 | +| **ga_s2am_ard_3-2-1_53KKU_2017-01-02_final** | 02/01/2017 | 23/08/2022 | 16/01/2024 | +| **ga_s2am_ard_3-2-1_52KGD_2017-01-02_final** | 02/01/2017 | 23/08/2022 | 05/01/2024 | +| **ga_s2am_ard_3-2-1_52KFD_2017-01-02_final** | 02/01/2017 | 23/08/2022 | 05/01/2024 | +| **ga_s2am_ard_3-2-1_52JDL_2017-01-02_final** | 02/01/2017 | 23/08/2022 | 16/01/2024 | +| **ga_s2am_ard_3-2-1_52JBL_2017-01-02_final** | 02/01/2017 | 23/08/2022 | 16/01/2024 | +| **ga_s2am_ard_3-2-1_52JEL_2017-01-02_final** | 02/01/2017 | 23/08/2022 | 16/01/2024 | +| **ga_s2am_ard_3-2-1_51HYD_2017-01-02_final** | 02/01/2017 | 23/08/2022 | 05/01/2024 | \ No newline at end of file From 3629c085582c7ac1123175b09ccc88f269b73369 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Tue, 20 Feb 2024 11:17:35 +1100 Subject: [PATCH 004/143] Removed the table because it will contain too many rows in the future --- .../_history.md | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md index 814010649..fed70ac22 100644 --- a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md +++ b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md @@ -6,18 +6,3 @@ Please find below the list of affected scenes. [Link to report](/docs/_files/reprocessing/S2A_contig_reprocessing.csv) -
View list of affected scenes - -| | | | | -|----------------------------------------------|--------------------------------|-------------------------|----------------------------| -| **Product Label** | **Satellite Acquisition Date** | **ARD Generation Date** | **ARD Re-generation Date** | -| **ga_s2am_ard_3-2-1_52KED_2017-01-02_final** | 02/01/2017 | 23/08/2022 | 16/01/2024 | -| **ga_s2am_ard_3-2-1_52JFM_2017-01-02_final** | 02/01/2017 | 23/08/2022 | 05/01/2024 | -| **ga_s2am_ard_3-2-1_52KHD_2017-01-02_final** | 02/01/2017 | 23/08/2022 | 05/01/2024 | -| **ga_s2am_ard_3-2-1_53KKU_2017-01-02_final** | 02/01/2017 | 23/08/2022 | 16/01/2024 | -| **ga_s2am_ard_3-2-1_52KGD_2017-01-02_final** | 02/01/2017 | 23/08/2022 | 05/01/2024 | -| **ga_s2am_ard_3-2-1_52KFD_2017-01-02_final** | 02/01/2017 | 23/08/2022 | 05/01/2024 | -| **ga_s2am_ard_3-2-1_52JDL_2017-01-02_final** | 02/01/2017 | 23/08/2022 | 16/01/2024 | -| **ga_s2am_ard_3-2-1_52JBL_2017-01-02_final** | 02/01/2017 | 23/08/2022 | 16/01/2024 | -| **ga_s2am_ard_3-2-1_52JEL_2017-01-02_final** | 02/01/2017 | 23/08/2022 | 16/01/2024 | -| **ga_s2am_ard_3-2-1_51HYD_2017-01-02_final** | 02/01/2017 | 23/08/2022 | 05/01/2024 | \ No newline at end of file From 8b10af41409dfdb27382e03325abce9e6d793f68 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Tue, 20 Feb 2024 11:19:39 +1100 Subject: [PATCH 005/143] [skip ci] Minor markdown formatting and wording --- .../_history.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md index fed70ac22..43d0e5e75 100644 --- a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md +++ b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md @@ -1,8 +1,8 @@ ## Changelog -### Reprocessing complete, released 19 February 2024 -Reprocessing for the Sentinel-2 contiguity fix is complete. -Please find below the list of affected scenes. +### 2024-02-19: Reprocessing complete + +Reprocessing for the Sentinel-2 contiguity fix is complete. Download the list of affected scenes below. [Link to report](/docs/_files/reprocessing/S2A_contig_reprocessing.csv) From e0bdf40b5eed8b791864fdaa55522633927d2d66 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Tue, 20 Feb 2024 11:57:31 +1100 Subject: [PATCH 006/143] Editing the download link and wording --- .../_history.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md index 43d0e5e75..f55d9c0d7 100644 --- a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md +++ b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md @@ -2,7 +2,9 @@ ### 2024-02-19: Reprocessing complete -Reprocessing for the Sentinel-2 contiguity fix is complete. Download the list of affected scenes below. +Reprocessing for the Sentinel-2 contiguity fix is complete. To find out which scenes were affected, download the CSV file below. -[Link to report](/docs/_files/reprocessing/S2A_contig_reprocessing.csv) +:::{eval-rst} +{download}`Download the list of affected scenes (CSV) ` +::: From 06304920a1df0371b4a04f5ae40b134d4a973074 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Tue, 20 Feb 2024 12:21:26 +1100 Subject: [PATCH 007/143] [skip ci] Made the download link work (locally) using eval-rst directive --- .../_history.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md index f55d9c0d7..8aa020951 100644 --- a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md +++ b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md @@ -4,7 +4,8 @@ Reprocessing for the Sentinel-2 contiguity fix is complete. To find out which scenes were affected, download the CSV file below. -:::{eval-rst} -{download}`Download the list of affected scenes (CSV) ` -::: +```{eval-rst} +:download:`Download the list of affected scenes (CSV) ` + +``` From 72e8bc1c2090764772d3c903de356b63a50aa6b1 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Tue, 20 Feb 2024 13:11:04 +1100 Subject: [PATCH 008/143] Styled download links to look like normal links --- docs/_static/styles/components/_links.scss | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/_static/styles/components/_links.scss b/docs/_static/styles/components/_links.scss index 5fefad6f7..1af263288 100644 --- a/docs/_static/styles/components/_links.scss +++ b/docs/_static/styles/components/_links.scss @@ -11,5 +11,21 @@ a { &[data-link-type="internal"] {} &[data-link-type="external"] {} + + &.download { + &:before { + content: none !important; + } + + code { + background-color: initial; + border: none; + padding: 0; + font-size: 1em; + color: var(--pst-color-link); + font-weight: normal; + font-family: var(--pst-font-family-base-system); + } + } } From 4ecf34862f97d7fe9a26623634e8bd1608c4741e Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Tue, 20 Feb 2024 14:32:34 +1100 Subject: [PATCH 009/143] Added a preview image of the CSV file --- .../S2A_contig_reprocessing_preview.jpg | Bin 0 -> 102814 bytes .../_history.md | 2 ++ 2 files changed, 2 insertions(+) create mode 100644 docs/_files/reprocessing/S2A_contig_reprocessing_preview.jpg diff --git a/docs/_files/reprocessing/S2A_contig_reprocessing_preview.jpg b/docs/_files/reprocessing/S2A_contig_reprocessing_preview.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6519e8fa4e4ad9dd3f35c4503bc3806d946a8aad GIT binary patch literal 102814 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%0AOZ(mcGT!OPh|S;FbD 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
I_pul}sd|IWd$d@{1*Iiw2{&~$Sv?0o2>=)tt zo}rtix{yU#S$nxKUCcStw35lE>dWoq=q^f&iP;FMgC4*xpw!y*YxeBv9{-B5v<;i5 zzfJ}evs@#R)2CGukjenEoiSt9@1niu-UP#Y2UEO0GZhGk%tJ9ygs$+fmz}%MTkP1{ z$f;VVm9_M!3B@c+42IR&S0|-ini+f{)NX2rL#Za>EH>+=!}zEyE`4=7d>H);U=wZc z0T$_IxK%x7yP7n&E+wS+%Fz#2KZgDVlrKRms0hW*S%SfB4w<`O{o6yVd!JAr-dMmK zrIj3V9}lQ9U&^k?R7{IYV@%HTM_nSSJ$NayacD~#pKzC8g{0y6EPV!Y6-jshW;&oJ}#PCWf=OyRg97w_rTTrrxs#8!xOZ2(D(*#JbqB61tVX=nip;6o6I$%)5ZXKGElMNOBB@ z4VMz58xEGAKBRZoUjUVydM_%;wIO8VQ%e{RXy3g6(pWb)@{gnyzP5*g0-Y)AlT!;p!H#cR+Qy z+u0aW!|Ibm8+f2^Kpvkf|FU<)yqeQPw8(+jL$usuLwO<44=F8JRV|AcTMWy30}&U; zLhA|c0%L`4(jdV)TRJyk_z_1&6YdX|@DTg%mC5b}t8a{ac}be zoAo{NoahTS3J6QpX@<~g$`wqG$jsC&4}MVCB-+Fb7JGZ9A-zpA%Z%&U9DhIRE(j7`YHBU$;z9~$ zIVuRfDEMDNIHtP$zOOupeOu((vZlAhncQUwQU#TY?b%rrh-_oNm_QCC)aP8bs)^^? zU)?L8o|R_n@beW$`~Ax-S)FZ-AP4q{R zA%;CcA0ORi!z5RL8M${{r)OGiK*c)mAv|p(dol0X`5l}pW6TuCK(HMy+WntJV&j0* zHgu>g_s6d&z(0jgmDCN^cVK)Kf&)D)%*{MJBS)tH}}g}pom68@0yQ7ylfIQ zJO#@_*jyhl|Z-e#1q*_ZdT09}p5oC}$+zCmk9da}oAw!BMe<9`jYRnM{ zRiRI7VuXjBVeR(K2nZ`mq$a&GA_IfTd&rWmeFZi;9F8a(pDDTE%Q+*s5{g$yFPH(H z+GllzTkTohSE--q3}iX~9O_ffq(E<`@5&0EV*`S7@&I09MA%QN`D>^Eczk(nXj;UR z{L{#2iCQ_0!?d{Cq`Zl1&&#MN#MGHs0aMd&3t&VX=brO+?35}a$%(^d-1SPUn(7@J zFm>Vb2NJAL4i<(_Oi3D}hv&#i+II%;(^(0?T)IJ_HO03VS}3v_n_c|}l-aL{D%pd{ zoq3S|-3}6^$KtA*@R~j|4Maq^qn~l*+g*@YLS5y1You0_3OgM_U~>hXTB&x#n$1?{ zNr}9SdR>^!9u~G{X@zn%=p%1(rleH$naN0~RfoR0ZZ7kEb^C`s{y91lDLMN!#Z3>% zi|T?z=}$b|ZPY)vi!n410>SPb0+Q_A86R#6Tf%r}NWk`Q`>O*QszU%o6RRVXfk~BG zrVL5z4?k{^FCWUG)Rs#4M#mWdyIfnV|hMw((!ZZ656haf9amR+>pqTIgvl9+Y zf0TS?GR87&cBm6`9c}`3b#VdWM_&EtpY}Qv_iFbbZ*g|}_8J3({a#~e|w)d<9CJ&YMV2VGUC@hXb2ix}RTb^}S=<$D9U zHZU&|vUpeqL!B2e(t|zM?5}dza02qZBaEfg}R5Uv3OUzXyU)JhT?-+~37| zneB+4^EqfW)3l<#-4}*pN5>dTeW<@1kZk@!i$TsSB?G})e|7q%yoWe`DxQdMEW|3} zKn1HX(;LkrT6Yz6a z56v2yx)l0v-x5$wVH6QI`kooWpcML{!J-DihDMs%4hxmz z0>7g#cfr?9$s1qMO~zMPxSI?JaLH%}LQ03>uy+&wnPp!QtZ1-B*@IV99sJ>aeMi1Z zHyU=3z&>L$&?7)iLlL(e>;yju?q>y929SDYSmB20;!y3xu+ydjn>Q6Js#k0~oLyUu z5S4*qmw{-fiCAz_9fFjtJNC=B5M=Mx&dx$4@)4~Rx?}~BdMxS z4xM{$h%>g^ht8GJXDih`NDrdMn9gJmkbb25AsSL>jmd~^9h>+WOGh)z&fFWtQ0eGJr(%;4kvrI`oFhvy|tRS7-Y@6Tm= z2ruJoXQAeNJ!4$~-aNJJf6`&cD(_V@B-dB?=-?CexFycBCvT#a7G++DAG};axVl}w zlEBRHazVI^S6ZY0Mh6po+l7!6%7G3iF(Pjd3&nV?*0>e1NmY!+mn z^G{gBXJU1qCXrN7eTG`ndTeT-gOVU>NfcwD(!KoJtk{x!d#c8i8{G{aw2W3U#eTbm zgC;CV0?yr|oM_?KtOJU?47m=&8?qRDFi0pud z;(%CBi?^VH)|Kj2+rdkt@aSG`X?#}}y@PZ`T3y+e_)$IEG~}G`wWZIUakGADR-qe~ zQAbr1ZtyRl@&%OGfC&jHTCaUVb%DKPGOqeiK?!c74njaL5h#VuDW0%BuXC#LnE?~OT5Sw+&6`24T`2XF;Jw#5~9Vb4D=lFho75Z52Tcg*dhDurLo zXw(l}qN?wcsi>ODy)OuMWW0e0ywYilQ`Q*`8f>;sYHD`rA6Z#JpScB%z*7#Xu4rd- zD0jO>enx+wC{{l`2SJ7)_~iEju+ilfo->Tl9s!U?6xn|PNJxJHM^zslgeBD2t8@x> z(;hur&D-`I<_(6m;d*EmA#}~RAm;gO&M8G(shVSwRxl}-Fi!4ye>>@1BK<1va^Iw< z7?BAzpM!n*C-QTsS8Gkr=SUDH9q;meRLJ}-XL;zwh&p6WeVD#m*ZR7)nCP(uNFV6Y z=A^2Q?jYaxs5W#RR#Il2)_FI>yJ>^zU!_u!T$hzTTgr$@X zS1qXUsq%rElO9Q&$vknz_S~#k9l4~dZ^-3KeKDu|?_eE|IRD+$%jL^&XL9L<%mfE^d}ja}?de@KT`&N z>6e0a=ZLQ-wMI_-U)m^71PmV9{GFRX6Gz`~K*=mMuSS79%81fZlAjB`O+*caZFSvGQt`^;T#{Gxq9-`*EP=|E4a~tQ_R%}NAoIJz zj3&fru_GK@(9AAg@J#818@U(}MS$$1ke6kf{#APM zgLR|#Q$S=(YxE{0bh%i=`s_+w-B9N6`&`_O&LUn4Y0~b5rOC~3g!B2D|B<`fgl(ad z^~HV!#krJGtrjBHsk$un<*0`0C%9Be-2RGI@rp38Ne&m1QLVl;yLsVc85^@N1CLVh zK-@qT+hcI1nAVOvv2TR<{0Fb>F||S$WwtC>>JS6w-~hiOvAcHnaGc?nxQ%~Phi7-X z>=EC4sziB1f7!-b#@hu70*b;*Y;VVVQgB0-J>b_L{H5hDiZ)u}$Hq9!GvzS3xEdQ=B* z!4gDMvC2XV+Y_XU5{MW2i1vm*Qy1rrVZQbwx_N!G+-(*ABSEnMY`p+?LCj(k;LMd> z0LR$q=m58n)6r%PI|FStbz~n_Eu2Y=2BYb8C=yj%4GiD#_)>2riqZ1EMzd2&o^$pxxg;}#r^j<9j!)T!Lc7yJL%xK8GT}92Ir+8`~%l;`e|(%`ZgX-hiDwM1^P@jpLqkWcyN` zt>7-8s8j!*m;d$QF5z1W!c z65=HyhL(~maaGQx^!YM+o$5+tR;wN!SGm(6_BDUx1j}0pC{Kt(dNm-S)VH{3B?M9FRM&CKDzAF!ptGoEe$XvaK z1nYyx@p8ccFC&nt$^D7e)C-~GGBoIuJO!Pu{cqR|;qXFeUw+!zmaJxLWTe+o;ilwf zn5`Q6<3G`&8W;?27F?I8FOe($GwG7C@Cd>qLoD#{@;^eaRfJeXtJl5P5Z&UfG7yhY zkh8hGsg?N1{>;>eg|>D=qRc2iVX=3Qt6i2s)-wDw*w0-R@GBalQM>yF^aOhu;O3cH z5(;FY+fRsT1wlFAVe5*O(j9oSUPN1{X>e*KE0Fl}7noyXZ~q01ZFOfAnG%a8>%{Gux8I+HTokM%$f9K8XF@chX?r%wu7z zYq6*RceDhKK<;8HADsDy>rJRASrG9PM@Fh;z^;G^87PKPcRnH&HKR!^>Bo)miRb$5 zA{P1|2sD%hVxRlWIAwbF!vS zFz{AoH;v`zFJ+_ZVXSvrs{Nq;X;V?B z{ma}U+o)T|WX{^!3HxcRN$ zA{jl8?zTKD5K_bcaKg&><*b~H$Pr+3Fxih?Lgnyd0o{vL0mb-d@CBO8jA zD{x-@F|W(Tzgzg(vj@>=L^04W{)U2}`nHO)G6Gm1)xt$!7i)tc-PF(t?1>b9_BWPT z#5&rbveVN`TgjuQUaO#rK})y{oJUdv>LyEoIlG=SZ!O!YC@5Vm^ix`V@sH7ePZ(H7 z3mDwG6i$(KB@rks_z^t6f+E~gMJU9+VnRBXSHLnu#&@IWNzlNQ^|gOGXVg768u{5*LCZ6cW=;Fy1vu8@seW5f zcX{a5@fapbwR2p*TDFc^B|V@hSr2%(L=lx8hHuKIPHRU1tL5Gg%y!)k(sSP-j4|=f z*L~0*{}=KcT2~=?!T?5M>k}Z)DR3-lkp(K^RV%3G-C+ln%$vv>kb$Et()pa6qAgNM zY62rlbBwaMqXbV&+k|Er4&mDEH6vrxtJ_QHzy$4`uqCFL9f zG+|V;?br--4=eZ4V5sn?B%WD#@z$yzuah za0MfF4t8eRJDR;=tnx|F5Fk>OY!&cq@T8XD#0c$Nk9IP(}2TnN+JF=WEPfGt*D`ol0zi9|EhRi z!ffZ?MQve)A!oe4&D5n98qkZiYl7Tr5s!6o=9=hBt+jyvwP7@j|IG{j)x7BL|LMg4 zv?Cz-UqG6C&a@cVrT^Z> zN}C)>juIOZ576kv&kIi|@z9F)-_N_c+nH;Q*uU_lC>>t()AqCb?(t*Q<)SuN+vR;- z6a0?7=13!%vR7@xNRS{S+`iP)AA?(3s_Li~K0FvlN(?>k>d7AiRCP8T>XQguyX_j; z%v!nLp;8BdyIxliEV#OA5O!_pZw9^-`VmOGfNA?2c_EgHM6A;Z5{BQ{06YQ2M7Fv` zGMM@%rGgGgU41`+$VELBW(nY-^-Wi5?~Pqmk7VK|<`9{MnV z^%#lab03`7`i=fKv8^#(@WW_UFM6_pzQyK_A`9Iq2aB zphy4e;4i?(A(L%pVjQThW-7+q|9i!EzD6cJcsK;u>mUs;fGQ3WY*Jpfg�C8~C=5 zDs;PmQrXxO-uef7j~*>Txx;0uf01^{{L{jKIG zFmZGg?XBK>E79Gacley9dv)#LZ94Djc-iIPhm7gr8|Bm!MdnFr`1m0qZ=T4C(vvzA zh0ueP2ep}Na_mKDBZ?ZJTNC1?zq-&?Y1WidNsF>K;G69N_8_W-dekc|6#!ihM5?M) z3)HGnjChT*W^JZD*vcwjfk)6{C43}u`%AbxdzI^s9uE?Fq6$i~Lo>+Vrd=M&a^%f8 zA2dM7l$uoi`!9$qNxLKReS$XPCQgn)t=*Qx%~g3TWAc%VrTyV05$N9)z`^Ns(MUG- z(>o_=N!l*V5vm=Q(h#=M5RnRFF82$+sm;ShT7Kdu(%DK7e{^H9QXc7oF`84W3X6=3 z$m*)^ADM|qRJWKUSZKv3C6h3FYXR3Ago4Y#rhVbVzj_>*K0T`0b244fU4|HMH3q z^1R}{55()}R748g%-Z~kut~;btykNL=Jh+0&$G0Uo z5z7HCRX2Z~l=utS`o~5Tl0hJ3ua75hP_!wlbs-CR*Jx7o)zBuTmB_k%PnP29hoU(e zaHUf1$2YyOeOg@AR+=qLwwGD)3zn`0X>yjXn{mM%N9YyuZHP+bOS4^93r=XyxTc(G zRGg;dZVT3O35Qg|>q6_DbEWYNU8c&WCPZTQd6R3MW82k+@^iS%bEA~-T?Ug4R0u5v z`zMDUgpGoq;wY2XnlMyPG#10<3O0{%>CFMZHLqc~`cbW+&h^;rKam6ON9DPp9y_{u zK&=brv@V}IR{Wzxy;71oMXo03Rug`vWlMySF${0D?pc$rXIJR^RXc|3$F{Ai%ml|& z(9+Aalq0UnO9oI|tjdb`b>hT!P$LYSUg~)_=hz|tij^|1$&R6E@ulNuOl_jLSW~1- z4ml>@xhkV}_*BHw8p{)T92I47fMm*3?M)|6uUg2D
  • R0;JonyPDXiLn=JlD9!MX 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 mkTiR6TT|(q + ```{eval-rst} :download:`Download the list of affected scenes (CSV) ` From 72bd926cd17d3f0d0eca4670f55355ed1c3475a3 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Tue, 20 Feb 2024 14:34:12 +1100 Subject: [PATCH 010/143] Minor wording --- .../dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md index 50ee6424d..14189c60d 100644 --- a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md +++ b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md @@ -2,7 +2,7 @@ ### 2024-02-19: Reprocessing complete -Reprocessing for the Sentinel-2 contiguity fix is complete. To find out which scenes were affected, download the CSV file below. +Reprocessing for the Sentinel-2 contiguity fix is complete. All scenes that were affected are listed in the CSV file below. A preview of the list of affected scenes CSV file. From 7894a3563953620a38baa05f498a3b833d887d7e Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Tue, 20 Feb 2024 14:36:58 +1100 Subject: [PATCH 011/143] Fixing the preview image --- .../dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md index 14189c60d..7050ea6af 100644 --- a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md +++ b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md @@ -4,7 +4,7 @@ Reprocessing for the Sentinel-2 contiguity fix is complete. All scenes that were affected are listed in the CSV file below. -A preview of the list of affected scenes CSV file. +![A preview of the list of affected scenes CSV file.](/_files/reprocessing/S2A_contig_reprocessing_preview.jpg) ```{eval-rst} :download:`Download the list of affected scenes (CSV) ` From 096448efb3383ac76042226f02081ec3d1a96192 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Tue, 20 Feb 2024 14:50:05 +1100 Subject: [PATCH 012/143] Left-aligned the figures --- docs/_static/styles/global/_global.scss | 3 +++ .../_history.md | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/docs/_static/styles/global/_global.scss b/docs/_static/styles/global/_global.scss index 566156123..f02ce23c6 100644 --- a/docs/_static/styles/global/_global.scss +++ b/docs/_static/styles/global/_global.scss @@ -46,3 +46,6 @@ dt:target, span.highlighted { outline: none; } +figure { + text-align: left !important; +} diff --git a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md index 7050ea6af..8a0f0383a 100644 --- a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md +++ b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md @@ -4,7 +4,11 @@ Reprocessing for the Sentinel-2 contiguity fix is complete. All scenes that were affected are listed in the CSV file below. -![A preview of the list of affected scenes CSV file.](/_files/reprocessing/S2A_contig_reprocessing_preview.jpg) +:::{figure} /_files/reprocessing/S2A_contig_reprocessing_preview.jpg +:alt: A preview of the 'list of affected scenes' CSV file. + +A preview of the CSV file. +::: ```{eval-rst} :download:`Download the list of affected scenes (CSV) ` From f5364d9299f59fd021606374fb80d4542bb30665 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Tue, 20 Feb 2024 15:04:43 +1100 Subject: [PATCH 013/143] Rewording for clarity --- .../dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md index 8a0f0383a..0446ac814 100644 --- a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md +++ b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md @@ -2,10 +2,10 @@ ### 2024-02-19: Reprocessing complete -Reprocessing for the Sentinel-2 contiguity fix is complete. All scenes that were affected are listed in the CSV file below. +Reprocessing for the Sentinel-2 contiguity fix is complete. For a list of all scenes that were affected, download the CSV file below. :::{figure} /_files/reprocessing/S2A_contig_reprocessing_preview.jpg -:alt: A preview of the 'list of affected scenes' CSV file. +:alt: The first rows of the CSV file that lists all scenes that were affected. A preview of the CSV file. ::: From a2caad4339bc7f56f9544412e66a8cff181ee74b Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Tue, 20 Feb 2024 20:14:19 +1100 Subject: [PATCH 014/143] Wrote changelog entry --- docs/tech-alerts-changelog/_tech_alerts_changelog.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/tech-alerts-changelog/_tech_alerts_changelog.md b/docs/tech-alerts-changelog/_tech_alerts_changelog.md index de269c8f9..8c535a1bc 100644 --- a/docs/tech-alerts-changelog/_tech_alerts_changelog.md +++ b/docs/tech-alerts-changelog/_tech_alerts_changelog.md @@ -17,6 +17,14 @@ See the [DEA monitoring dashboard](https://monitoring.dea.ga.gov.au/). See [alert dated 2024-01-10](./#sentinel-2-contiguity-fix-reprocessing-commenced) for more details. ::: +## 2024-02-20: DEA Notebooks update + +The main changes included in this update are as follows. + +* The DEA Tools `datahandling` module was updated along with the accompanying API documentation. +* The DEA Sandbox now has a new start page which you will see when you start a new session. (It is the `DEA_Sandbox.ipynb` notebook file.) +* The [pull request template](https://github.com/GeoscienceAustralia/dea-notebooks/blob/stable/.github/PULL_REQUEST_TEMPLATE.md) now recommends that you spellcheck your work using the DEA Sandbox's inbuilt spellchecker. + ## 2024-02-20: New external land use and bathymetry datasets added to DEA Sandbox Two new external datasets have been added to the DEA Sandbox: the [2020 ABARES Catchment Scale Land Use of Australia 50m](https://explorer.dea.ga.gov.au/products/abares_clum_2020/datasets/225c3043-6e3f-5cc4-95d0-fa64d79b7d38) From 0017af032e97a85a3388f6d19b7e2ab5e6124b1d Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Tue, 20 Feb 2024 20:22:50 +1100 Subject: [PATCH 015/143] Grammarly check --- docs/tech-alerts-changelog/_tech_alerts_changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tech-alerts-changelog/_tech_alerts_changelog.md b/docs/tech-alerts-changelog/_tech_alerts_changelog.md index 8c535a1bc..d6e539031 100644 --- a/docs/tech-alerts-changelog/_tech_alerts_changelog.md +++ b/docs/tech-alerts-changelog/_tech_alerts_changelog.md @@ -23,7 +23,7 @@ The main changes included in this update are as follows. * The DEA Tools `datahandling` module was updated along with the accompanying API documentation. * The DEA Sandbox now has a new start page which you will see when you start a new session. (It is the `DEA_Sandbox.ipynb` notebook file.) -* The [pull request template](https://github.com/GeoscienceAustralia/dea-notebooks/blob/stable/.github/PULL_REQUEST_TEMPLATE.md) now recommends that you spellcheck your work using the DEA Sandbox's inbuilt spellchecker. +* The [pull request template](https://github.com/GeoscienceAustralia/dea-notebooks/blob/stable/.github/PULL_REQUEST_TEMPLATE.md) now recommends that you spellcheck your work using the DEA Sandbox's built-in spellchecker. ## 2024-02-20: New external land use and bathymetry datasets added to DEA Sandbox From 25d96a586475f1ece45584717e329ddfd634d1ac Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Wed, 21 Feb 2024 13:21:09 +1100 Subject: [PATCH 016/143] Added subheadings to the Old versions and Tags sidebars --- docs/table_of_contents.yaml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/table_of_contents.yaml b/docs/table_of_contents.yaml index a1734eb19..90e947267 100644 --- a/docs/table_of_contents.yaml +++ b/docs/table_of_contents.yaml @@ -205,8 +205,10 @@ entries: # Tags - file: tags/index - entries: - - glob: tags/* + subtrees: + - caption: Tags + entries: + - glob: tags/* # DEA Tech Alerts and Changelog @@ -224,5 +226,7 @@ entries: # Old versions of products - file: data/old-version/index - entries: - - glob: data/old-version/*/index + subtrees: + - caption: Old versions + entries: + - glob: data/old-version/*/index From 50d4beeb131f4999018fc7cc3c6ddad79661ac54 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Wed, 21 Feb 2024 13:27:30 +1100 Subject: [PATCH 017/143] Grouped Old versions sidebar by alphabet letter --- docs/table_of_contents.yaml | 105 +++++++++++++++++++++++++++++++++++- 1 file changed, 103 insertions(+), 2 deletions(-) diff --git a/docs/table_of_contents.yaml b/docs/table_of_contents.yaml index 90e947267..b80432c7c 100644 --- a/docs/table_of_contents.yaml +++ b/docs/table_of_contents.yaml @@ -227,6 +227,107 @@ entries: - file: data/old-version/index subtrees: - - caption: Old versions + - caption: A entries: - - glob: data/old-version/*/index + - glob: data/old-version/a*/index + + - caption: B + entries: + - glob: data/old-version/b*/index + + - caption: C + entries: + - glob: data/old-version/c*/index + + - caption: D + entries: + - glob: data/old-version/d*/index + + - caption: E + entries: + - glob: data/old-version/e*/index + + - caption: F + entries: + - glob: data/old-version/f*/index + + - caption: G + entries: + - glob: data/old-version/g*/index + + - caption: H + entries: + - glob: data/old-version/h*/index + + - caption: I + entries: + - glob: data/old-version/i*/index + + - caption: J + entries: + - glob: data/old-version/j*/index + + - caption: K + entries: + - glob: data/old-version/k*/index + + - caption: L + entries: + - glob: data/old-version/l*/index + + - caption: M + entries: + - glob: data/old-version/m*/index + + - caption: N + entries: + - glob: data/old-version/n*/index + + - caption: O + entries: + - glob: data/old-version/o*/index + + - caption: P + entries: + - glob: data/old-version/p*/index + + - caption: Q + entries: + - glob: data/old-version/q*/index + + - caption: R + entries: + - glob: data/old-version/r*/index + + - caption: S + entries: + - glob: data/old-version/s*/index + + - caption: T + entries: + - glob: data/old-version/t*/index + + - caption: U + entries: + - glob: data/old-version/u*/index + + - caption: V + entries: + - glob: data/old-version/v*/index + + - caption: W + entries: + - glob: data/old-version/w*/index + + - caption: X + entries: + - glob: data/old-version/x*/index + + - caption: Y + entries: + - glob: data/old-version/y*/index + + - caption: Z + entries: + - glob: data/old-version/z*/index + From a39d25e9596cb14ebe7e44691595c8480ea5b40d Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Wed, 21 Feb 2024 13:54:53 +1100 Subject: [PATCH 018/143] Updating the changelog entry based on feedback on PR --- docs/tech-alerts-changelog/_tech_alerts_changelog.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/docs/tech-alerts-changelog/_tech_alerts_changelog.md b/docs/tech-alerts-changelog/_tech_alerts_changelog.md index d6e539031..19034cf21 100644 --- a/docs/tech-alerts-changelog/_tech_alerts_changelog.md +++ b/docs/tech-alerts-changelog/_tech_alerts_changelog.md @@ -19,11 +19,7 @@ See [alert dated 2024-01-10](./#sentinel-2-contiguity-fix-reprocessing-commenced ## 2024-02-20: DEA Notebooks update -The main changes included in this update are as follows. - -* The DEA Tools `datahandling` module was updated along with the accompanying API documentation. -* The DEA Sandbox now has a new start page which you will see when you start a new session. (It is the `DEA_Sandbox.ipynb` notebook file.) -* The [pull request template](https://github.com/GeoscienceAustralia/dea-notebooks/blob/stable/.github/PULL_REQUEST_TEMPLATE.md) now recommends that you spellcheck your work using the DEA Sandbox's built-in spellchecker. +A minor update to the DEA Tools package that includes updates to tide modelling and parallel processing functions. It updates the `datahandling` module. For more detail, see the [dea-notebooks 0.3.1 release notes](https://github.com/GeoscienceAustralia/dea-notebooks/releases/tag/0.3.1). ## 2024-02-20: New external land use and bathymetry datasets added to DEA Sandbox From 7e17618b4417609d913269c275ba528ead857eaa Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Wed, 21 Feb 2024 14:02:59 +1100 Subject: [PATCH 019/143] Added Tech Alerts and Changelog and DEA Sandbox to the PR template --- .github/pull_request_template.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index c95e8841e..da37eefdf 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,3 +1,7 @@ -- [ ] I have spellchecked my content using Microsoft Word, Grammarly, or otherwise. +* [ ] I have spellchecked my content using Microsoft Word, Grammarly, or otherwise. +* [ ] If required, update the [DEA Tech Alerts and Changelog](TechAlertsChangelog) and the [DEA Sandbox Updates banner](SandboxUpdatesBanner). + +[TechAlertsChangelog]: https://github.com/GeoscienceAustralia/dea-docs/blob/main/docs/tech-alerts-changelog/_tech_alerts_changelog.md +[SandboxUpdatesBanner]: https://bitbucket.org/geoscienceaustralia/datakube-apps/src/64c28bbf3d0e019d8940547a22f78b9bfd58d739/clusters/dea-sandbox/sandbox.yaml From e42c19890ece831e0ceeb856de82a3922bf4da4f Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Wed, 21 Feb 2024 15:47:10 +1100 Subject: [PATCH 020/143] Updated changelog based on Robbi's suggestion - https://github.com/GeoscienceAustralia/dea-docs/pull/118#discussion_r1496892180 --- docs/tech-alerts-changelog/_tech_alerts_changelog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tech-alerts-changelog/_tech_alerts_changelog.md b/docs/tech-alerts-changelog/_tech_alerts_changelog.md index 19034cf21..e76f8516e 100644 --- a/docs/tech-alerts-changelog/_tech_alerts_changelog.md +++ b/docs/tech-alerts-changelog/_tech_alerts_changelog.md @@ -19,7 +19,7 @@ See [alert dated 2024-01-10](./#sentinel-2-contiguity-fix-reprocessing-commenced ## 2024-02-20: DEA Notebooks update -A minor update to the DEA Tools package that includes updates to tide modelling and parallel processing functions. It updates the `datahandling` module. For more detail, see the [dea-notebooks 0.3.1 release notes](https://github.com/GeoscienceAustralia/dea-notebooks/releases/tag/0.3.1). +A minor update to the DEA Tools package that includes updates to tide modelling and parallel processing functions. It also adds a new `load_reproject` function to the `datahandling` module which allows reading and reprojecting external raster data. For more detail, see the [dea-notebooks 0.3.1 release notes](https://github.com/GeoscienceAustralia/dea-notebooks/releases/tag/0.3.1). ## 2024-02-20: New external land use and bathymetry datasets added to DEA Sandbox From 532c72fc2ec7030421c50806f1abe693fdd97499 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Wed, 21 Feb 2024 15:58:31 +1100 Subject: [PATCH 021/143] Making the Old version alphabet categories work better with ga-* and dea-* prefixed URL slugs --- docs/table_of_contents.yaml | 77 +++++++++++++++++++++++++------------ 1 file changed, 52 insertions(+), 25 deletions(-) diff --git a/docs/table_of_contents.yaml b/docs/table_of_contents.yaml index b80432c7c..09f926cca 100644 --- a/docs/table_of_contents.yaml +++ b/docs/table_of_contents.yaml @@ -229,105 +229,132 @@ entries: subtrees: - caption: A entries: + - glob: data/old-version/ga-a*/index + - glob: data/old-version/dea-a*/index - glob: data/old-version/a*/index - - caption: B entries: + - glob: data/old-version/ga-b*/index + - glob: data/old-version/dea-b*/index - glob: data/old-version/b*/index - - caption: C entries: + - glob: data/old-version/ga-c*/index + - glob: data/old-version/dea-c*/index - glob: data/old-version/c*/index - - caption: D entries: + - glob: data/old-version/ga-d*/index + - glob: data/old-version/dea-d*/index - glob: data/old-version/d*/index - - caption: E entries: + - glob: data/old-version/ga-e*/index + - glob: data/old-version/dea-e*/index - glob: data/old-version/e*/index - - caption: F entries: + - glob: data/old-version/ga-f*/index + - glob: data/old-version/dea-f*/index - glob: data/old-version/f*/index - - caption: G entries: + - glob: data/old-version/ga-g*/index + - glob: data/old-version/dea-g*/index - glob: data/old-version/g*/index - - caption: H entries: + - glob: data/old-version/ga-h*/index + - glob: data/old-version/dea-h*/index - glob: data/old-version/h*/index - - caption: I entries: + - glob: data/old-version/ga-i*/index + - glob: data/old-version/dea-i*/index - glob: data/old-version/i*/index - - caption: J entries: + - glob: data/old-version/ga-j*/index + - glob: data/old-version/dea-j*/index - glob: data/old-version/j*/index - - caption: K entries: + - glob: data/old-version/ga-k*/index + - glob: data/old-version/dea-k*/index - glob: data/old-version/k*/index - - caption: L entries: + - glob: data/old-version/ga-l*/index + - glob: data/old-version/dea-l*/index - glob: data/old-version/l*/index - - caption: M entries: + - glob: data/old-version/ga-m*/index + - glob: data/old-version/dea-m*/index - glob: data/old-version/m*/index - - caption: N entries: + - glob: data/old-version/ga-n*/index + - glob: data/old-version/dea-n*/index - glob: data/old-version/n*/index - - caption: O entries: + - glob: data/old-version/ga-o*/index + - glob: data/old-version/dea-o*/index - glob: data/old-version/o*/index - - caption: P entries: + - glob: data/old-version/ga-p*/index + - glob: data/old-version/dea-p*/index - glob: data/old-version/p*/index - - caption: Q entries: + - glob: data/old-version/ga-q*/index + - glob: data/old-version/dea-q*/index - glob: data/old-version/q*/index - - caption: R entries: + - glob: data/old-version/ga-r*/index + - glob: data/old-version/dea-r*/index - glob: data/old-version/r*/index - - caption: S entries: + - glob: data/old-version/ga-s*/index + - glob: data/old-version/dea-s*/index - glob: data/old-version/s*/index - - caption: T entries: + - glob: data/old-version/ga-t*/index + - glob: data/old-version/dea-t*/index - glob: data/old-version/t*/index - - caption: U entries: + - glob: data/old-version/ga-u*/index + - glob: data/old-version/dea-u*/index - glob: data/old-version/u*/index - - caption: V entries: + - glob: data/old-version/ga-v*/index + - glob: data/old-version/dea-v*/index - glob: data/old-version/v*/index - - caption: W entries: + - glob: data/old-version/ga-w*/index + - glob: data/old-version/dea-w*/index - glob: data/old-version/w*/index - - caption: X entries: + - glob: data/old-version/ga-x*/index + - glob: data/old-version/dea-x*/index - glob: data/old-version/x*/index - - caption: Y entries: + - glob: data/old-version/ga-y*/index + - glob: data/old-version/dea-y*/index - glob: data/old-version/y*/index - - caption: Z entries: + - glob: data/old-version/ga-z*/index + - glob: data/old-version/dea-z*/index - glob: data/old-version/z*/index From 36d9ae02e8ebd3f84591ccdd60166f376a06f1d6 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Wed, 21 Feb 2024 16:42:21 +1100 Subject: [PATCH 022/143] Improved the comment about how the deploy workflow is triggered by dea-notebooks --- .github/workflows/deploy-production.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-production.yaml b/.github/workflows/deploy-production.yaml index 8a4ded837..84949d89b 100644 --- a/.github/workflows/deploy-production.yaml +++ b/.github/workflows/deploy-production.yaml @@ -3,7 +3,7 @@ name: Deploy to Production on: workflow_dispatch: repository_dispatch: - types: [republish-docs] # Triggered from the dea-notebooks repo + types: [republish-docs] # Triggered by the dea-notebooks repo - https://github.com/GeoscienceAustralia/dea-notebooks/blob/develop/.github/workflows/trigger_docs.yaml push: branches: [main] From cd661abf090330ceea9121efdff11ec28e9d2dbb Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Wed, 21 Feb 2024 16:57:58 +1100 Subject: [PATCH 023/143] Removed ignore = untracked from the .gitmodules because that may be causing the problem --- .gitmodules | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitmodules b/.gitmodules index a056d1fed..d409705eb 100644 --- a/.gitmodules +++ b/.gitmodules @@ -3,4 +3,3 @@ url = https://github.com/GeoscienceAustralia/dea-notebooks.git branch = stable shallow = true - ignore = untracked From b7f26cf711e38359f4d19012dd756cdc2f06ceba Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Wed, 21 Feb 2024 17:08:20 +1100 Subject: [PATCH 024/143] Added a github workflow step to update all submodules to latest --- .github/workflows/deploy-production.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/deploy-production.yaml b/.github/workflows/deploy-production.yaml index 84949d89b..25a62b2db 100644 --- a/.github/workflows/deploy-production.yaml +++ b/.github/workflows/deploy-production.yaml @@ -24,6 +24,9 @@ jobs: with: submodules: true + - name: Pull latest from submodules + run: git submodule update --recursive --remote + - name: Install Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: From 9a222c13f71abd59f47e844a4fd70e3d19085ce1 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Wed, 21 Feb 2024 17:29:57 +1100 Subject: [PATCH 025/143] Added missing Python library rioxarray to mock_imports and now several DEA Tools are generating and are no longer hidden --- docs/_modules/mock_imports.py | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/_modules/mock_imports.py b/docs/_modules/mock_imports.py index 3fd1ee347..03b3f7de3 100644 --- a/docs/_modules/mock_imports.py +++ b/docs/_modules/mock_imports.py @@ -42,6 +42,7 @@ "rasterstats", "requests", "rios", + "rioxarray", "rsgislib", "scikit_learn", "sklearn", From 8333dc25c6424c250bbbb7b787b9cf0b197d258c Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 22 Feb 2024 09:24:39 +1100 Subject: [PATCH 026/143] Removed git action 'Pull latest from submodules' since it is not needed --- .github/workflows/deploy-production.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/deploy-production.yaml b/.github/workflows/deploy-production.yaml index 25a62b2db..84949d89b 100644 --- a/.github/workflows/deploy-production.yaml +++ b/.github/workflows/deploy-production.yaml @@ -24,9 +24,6 @@ jobs: with: submodules: true - - name: Pull latest from submodules - run: git submodule update --recursive --remote - - name: Install Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: From 3184419e311730c1156e27eb939bcd85cee712e0 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 22 Feb 2024 10:16:50 +1100 Subject: [PATCH 027/143] Moving mock imports to a .mock-imports file but not working yet --- .mock-imports | 55 +++++++++++++++++++++++++ docs/_modules/mock_imports.py | 75 +++++++++-------------------------- docs/conf.py | 2 +- 3 files changed, 74 insertions(+), 58 deletions(-) create mode 100644 .mock-imports diff --git a/.mock-imports b/.mock-imports new file mode 100644 index 000000000..157b7d60e --- /dev/null +++ b/.mock-imports @@ -0,0 +1,55 @@ +aiohttp +boto3 +botocore +branca +ciso8601 +dask +dask_gateway +dask_ml +datacube +dill +distutils +fsspec +fiona +folium +geopandas +geopy +hdstats +ipyleaflet +ipython +ipywidgets +joblib +lxml +matplotlib +mpl_toolkits +numexpr +numpy +odc +osgeo +otps +OWSLib +owslib +packaging +pandas +pathos +pyproj +python_dateutil +psycopg2 +pyTMD +pytz +rasterio +rasterstats +requests +rios +rioxarray +rsgislib +scikit_learn +sklearn +scipy +setuptools +setuptools_scm +shapely +skimage +tqdm +traitlets +xarray diff --git a/docs/_modules/mock_imports.py b/docs/_modules/mock_imports.py index 03b3f7de3..ab012bcd7 100644 --- a/docs/_modules/mock_imports.py +++ b/docs/_modules/mock_imports.py @@ -1,57 +1,18 @@ -mock_imports = [ - "aiohttp", - "boto3", - "botocore", - "branca", - "ciso8601", - "dask", - "dask_gateway", - "dask_ml", - "datacube", - "dill", - "distutils", - "fsspec", - "fiona", - "folium", - "geopandas", - "geopy", - "hdstats", - "ipyleaflet", - "ipython", - "ipywidgets", - "joblib", - "lxml", - "matplotlib", - "mpl_toolkits", - "numexpr", - "numpy", - "odc", - "osgeo", - "otps", - "OWSLib", - "owslib", - "packaging", - "pandas", - "pathos", - "pyproj", - "python_dateutil", - "psycopg2", - "pyTMD", - "pytz", - "rasterio", - "rasterstats", - "requests", - "rios", - "rioxarray", - "rsgislib", - "scikit_learn", - "sklearn", - "scipy", - "setuptools", - "setuptools_scm", - "shapely", - "skimage", - "tqdm", - "traitlets", - "xarray", -] +import os + +mock_imports_file = ".mock-imports" +comment_symbol = "#" + +mock_imports = [] + +try: + project_root = os.path.dirname(os.path.dirname(__file__)) + mock_imports_file_path = os.path.join(project_root, mock_imports_file) + with open(mock_imports_file_path, 'r') as file: + mock_imports = file.read().splitlines() + mock_imports = [line.strip() for line in mock_imports] # Ignore blank lines + mock_imports = [line for line in mock_imports if not line.startswith(comment_symbol)] # Ignore commented lines + print(mock_imports) +except FileNotFoundError: + print(f"File '{mock_imports_file}' not found in root folder of project.") + diff --git a/docs/conf.py b/docs/conf.py index 65a6d373f..14d9b5c26 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -103,7 +103,7 @@ "members": True, } autodoc_mock_imports = mock_imports.mock_imports -autosummary_mock_imports = autodoc_mock_imports +autosummary_mock_imports = mock_imports.mock_imports napoleon_google_docstring = False napoleon_numpy_docstring = True From a2273baf25591021750f07bd76044bf9a0ef3617 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 22 Feb 2024 10:18:03 +1100 Subject: [PATCH 028/143] Added missing Python library rioxarray to mock_imports and now several DEA Tools are generating and are no longer hidden --- docs/_modules/mock_imports.py | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/_modules/mock_imports.py b/docs/_modules/mock_imports.py index 3fd1ee347..03b3f7de3 100644 --- a/docs/_modules/mock_imports.py +++ b/docs/_modules/mock_imports.py @@ -42,6 +42,7 @@ "rasterstats", "requests", "rios", + "rioxarray", "rsgislib", "scikit_learn", "sklearn", From 6a4166788e1b6180f87e85a13fdaa23ed59369ec Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 22 Feb 2024 10:27:09 +1100 Subject: [PATCH 029/143] Tidied up the mock imports code --- .mock-imports => docs/.mock-imports | 0 docs/_modules/mock_imports.py | 12 ++++++------ 2 files changed, 6 insertions(+), 6 deletions(-) rename .mock-imports => docs/.mock-imports (100%) diff --git a/.mock-imports b/docs/.mock-imports similarity index 100% rename from .mock-imports rename to docs/.mock-imports diff --git a/docs/_modules/mock_imports.py b/docs/_modules/mock_imports.py index ab012bcd7..3ce9205e7 100644 --- a/docs/_modules/mock_imports.py +++ b/docs/_modules/mock_imports.py @@ -4,15 +4,15 @@ comment_symbol = "#" mock_imports = [] +project_root = os.path.dirname(os.path.dirname(__file__)) +mock_imports_file_path = os.path.join(project_root, mock_imports_file) try: - project_root = os.path.dirname(os.path.dirname(__file__)) - mock_imports_file_path = os.path.join(project_root, mock_imports_file) with open(mock_imports_file_path, 'r') as file: - mock_imports = file.read().splitlines() - mock_imports = [line.strip() for line in mock_imports] # Ignore blank lines - mock_imports = [line for line in mock_imports if not line.startswith(comment_symbol)] # Ignore commented lines - print(mock_imports) + lines = file.read().splitlines() + lines = [line.strip() for line in mock_imports] # Ignore blank lines + lines = [line for line in mock_imports if not line.startswith(comment_symbol)] # Ignore commented lines + mock_imports = lines except FileNotFoundError: print(f"File '{mock_imports_file}' not found in root folder of project.") From b148c41716928f3511027eb338d1c414b493384f Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 22 Feb 2024 10:49:45 +1100 Subject: [PATCH 030/143] Mock imports module now working --- docs/.mock-imports | 4 ++++ docs/_modules/mock_imports.py | 8 +++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/docs/.mock-imports b/docs/.mock-imports index 157b7d60e..b452e0aa7 100644 --- a/docs/.mock-imports +++ b/docs/.mock-imports @@ -1,3 +1,6 @@ +# Mock Imports +# All Python libraries used in the DEA Notebooks and DEA Tools must be added here; otherwise, pages that depend on the library may not display on the Knowledge Hub. + aiohttp boto3 botocore @@ -53,3 +56,4 @@ skimage tqdm traitlets xarray + diff --git a/docs/_modules/mock_imports.py b/docs/_modules/mock_imports.py index 3ce9205e7..ca4f91d7d 100644 --- a/docs/_modules/mock_imports.py +++ b/docs/_modules/mock_imports.py @@ -10,9 +10,11 @@ try: with open(mock_imports_file_path, 'r') as file: lines = file.read().splitlines() - lines = [line.strip() for line in mock_imports] # Ignore blank lines - lines = [line for line in mock_imports if not line.startswith(comment_symbol)] # Ignore commented lines + lines = [line.strip() for line in lines] # Strip leading and trailing whitespace from each line + lines = [line for line in lines if line] # Ignore blank lines + lines = [line for line in lines if not line.startswith(comment_symbol)] # Ignore commented lines mock_imports = lines + print(f"Sourced {len(mock_imports)} mock imports from '{mock_imports_file_path}'") except FileNotFoundError: - print(f"File '{mock_imports_file}' not found in root folder of project.") + print(f"Mock imports file not found at '{mock_imports_file_path}'") From 5f63374b14fa28c9c0fa8850f5f13fab96c112a9 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 22 Feb 2024 10:53:53 +1100 Subject: [PATCH 031/143] Resolving merge conflicts --- .github/pull_request_template.md | 6 +++++- docs/tech-alerts-changelog/_tech_alerts_changelog.md | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index c95e8841e..da37eefdf 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,3 +1,7 @@ -- [ ] I have spellchecked my content using Microsoft Word, Grammarly, or otherwise. +* [ ] I have spellchecked my content using Microsoft Word, Grammarly, or otherwise. +* [ ] If required, update the [DEA Tech Alerts and Changelog](TechAlertsChangelog) and the [DEA Sandbox Updates banner](SandboxUpdatesBanner). + +[TechAlertsChangelog]: https://github.com/GeoscienceAustralia/dea-docs/blob/main/docs/tech-alerts-changelog/_tech_alerts_changelog.md +[SandboxUpdatesBanner]: https://bitbucket.org/geoscienceaustralia/datakube-apps/src/64c28bbf3d0e019d8940547a22f78b9bfd58d739/clusters/dea-sandbox/sandbox.yaml diff --git a/docs/tech-alerts-changelog/_tech_alerts_changelog.md b/docs/tech-alerts-changelog/_tech_alerts_changelog.md index de269c8f9..e76f8516e 100644 --- a/docs/tech-alerts-changelog/_tech_alerts_changelog.md +++ b/docs/tech-alerts-changelog/_tech_alerts_changelog.md @@ -17,6 +17,10 @@ See the [DEA monitoring dashboard](https://monitoring.dea.ga.gov.au/). See [alert dated 2024-01-10](./#sentinel-2-contiguity-fix-reprocessing-commenced) for more details. ::: +## 2024-02-20: DEA Notebooks update + +A minor update to the DEA Tools package that includes updates to tide modelling and parallel processing functions. It also adds a new `load_reproject` function to the `datahandling` module which allows reading and reprojecting external raster data. For more detail, see the [dea-notebooks 0.3.1 release notes](https://github.com/GeoscienceAustralia/dea-notebooks/releases/tag/0.3.1). + ## 2024-02-20: New external land use and bathymetry datasets added to DEA Sandbox Two new external datasets have been added to the DEA Sandbox: the [2020 ABARES Catchment Scale Land Use of Australia 50m](https://explorer.dea.ga.gov.au/products/abares_clum_2020/datasets/225c3043-6e3f-5cc4-95d0-fa64d79b7d38) From 06ec70c493e91ff0bc236fcb035569d796e1db2c Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 22 Feb 2024 11:38:29 +1100 Subject: [PATCH 032/143] Reorganising the python requirement files --- Dockerfile | 2 +- build-demo.sh | 2 +- docs/.mock_imports | 59 +++++++++++++++++++++++++++++++++++ docs/_modules/mock_imports.py | 2 +- docs/requirements.txt | 15 +++++++++ install-production.sh | 2 +- 6 files changed, 78 insertions(+), 4 deletions(-) create mode 100644 docs/.mock_imports create mode 100644 docs/requirements.txt diff --git a/Dockerfile b/Dockerfile index 2ae1943e1..b1cc55a2f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,7 +10,7 @@ RUN mkdir -p /setup RUN mkdir -p /docs RUN mkdir -p /output -COPY requirements.txt /setup +COPY docs/requirements.txt /setup RUN pip install -r /setup/requirements.txt COPY docs /docs diff --git a/build-demo.sh b/build-demo.sh index 3f325aa42..e0f026997 100755 --- a/build-demo.sh +++ b/build-demo.sh @@ -1,6 +1,6 @@ #!/bin/bash -python -m pip install -r ./requirements.txt +python -m pip install -r ./docs/requirements.txt npm install -g sass diff --git a/docs/.mock_imports b/docs/.mock_imports new file mode 100644 index 000000000..b452e0aa7 --- /dev/null +++ b/docs/.mock_imports @@ -0,0 +1,59 @@ +# Mock Imports +# All Python libraries used in the DEA Notebooks and DEA Tools must be added here; otherwise, pages that depend on the library may not display on the Knowledge Hub. + +aiohttp +boto3 +botocore +branca +ciso8601 +dask +dask_gateway +dask_ml +datacube +dill +distutils +fsspec +fiona +folium +geopandas +geopy +hdstats +ipyleaflet +ipython +ipywidgets +joblib +lxml +matplotlib +mpl_toolkits +numexpr +numpy +odc +osgeo +otps +OWSLib +owslib +packaging +pandas +pathos +pyproj +python_dateutil +psycopg2 +pyTMD +pytz +rasterio +rasterstats +requests +rios +rioxarray +rsgislib +scikit_learn +sklearn +scipy +setuptools +setuptools_scm +shapely +skimage +tqdm +traitlets +xarray + diff --git a/docs/_modules/mock_imports.py b/docs/_modules/mock_imports.py index ca4f91d7d..f46937e40 100644 --- a/docs/_modules/mock_imports.py +++ b/docs/_modules/mock_imports.py @@ -1,6 +1,6 @@ import os -mock_imports_file = ".mock-imports" +mock_imports_file = ".mock_imports" comment_symbol = "#" mock_imports = [] diff --git a/docs/requirements.txt b/docs/requirements.txt new file mode 100644 index 000000000..f4c681291 --- /dev/null +++ b/docs/requirements.txt @@ -0,0 +1,15 @@ +sphinx<=7.2.6 +nbsphinx<=0.9.3 +ipython<=8.18.1 +myst-parser<=2.0.0 +ipywidgets<=8.1.1 +matplotlib<=3.8.2 +pydata-sphinx-theme<=0.14.4 +sphinx_design<=0.5.0 +sphinxext-rediraffe<=0.2.7 +sphinxcontrib.datatemplates<=0.10.2 +sphinx-external-toc<=1.0.1 +sphinx-sitemap<=2.5.1 +sphinxext-opengraph<=0.9.1 +sphinx-notfound-page<=1.0.0 +sphinx-copybutton<=0.5.2 diff --git a/install-production.sh b/install-production.sh index e7d867a29..8568ba008 100755 --- a/install-production.sh +++ b/install-production.sh @@ -3,7 +3,7 @@ set -eox pipefail python -m pip install --upgrade pip -python -m pip install -r ./requirements.txt +python -m pip install -r ./docs/requirements.txt npm install -g sass From b3cc826906a9df5021f1efd3edd3b66f0ec71257 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 22 Feb 2024 11:40:57 +1100 Subject: [PATCH 033/143] Renamed the mock imports file --- docs/.mock-imports | 59 ----------------------------------- docs/.mock_imports | 59 ----------------------------------- docs/_modules/mock_imports.py | 2 +- docs/mock_imports.txt | 0 requirements.txt | 15 --------- 5 files changed, 1 insertion(+), 134 deletions(-) delete mode 100644 docs/.mock-imports delete mode 100644 docs/.mock_imports create mode 100644 docs/mock_imports.txt delete mode 100644 requirements.txt diff --git a/docs/.mock-imports b/docs/.mock-imports deleted file mode 100644 index b452e0aa7..000000000 --- a/docs/.mock-imports +++ /dev/null @@ -1,59 +0,0 @@ -# Mock Imports -# All Python libraries used in the DEA Notebooks and DEA Tools must be added here; otherwise, pages that depend on the library may not display on the Knowledge Hub. - -aiohttp -boto3 -botocore -branca -ciso8601 -dask -dask_gateway -dask_ml -datacube -dill -distutils -fsspec -fiona -folium -geopandas -geopy -hdstats -ipyleaflet -ipython -ipywidgets -joblib -lxml -matplotlib -mpl_toolkits -numexpr -numpy -odc -osgeo -otps -OWSLib -owslib -packaging -pandas -pathos -pyproj -python_dateutil -psycopg2 -pyTMD -pytz -rasterio -rasterstats -requests -rios -rioxarray -rsgislib -scikit_learn -sklearn -scipy -setuptools -setuptools_scm -shapely -skimage -tqdm -traitlets -xarray - diff --git a/docs/.mock_imports b/docs/.mock_imports deleted file mode 100644 index b452e0aa7..000000000 --- a/docs/.mock_imports +++ /dev/null @@ -1,59 +0,0 @@ -# Mock Imports -# All Python libraries used in the DEA Notebooks and DEA Tools must be added here; otherwise, pages that depend on the library may not display on the Knowledge Hub. - -aiohttp -boto3 -botocore -branca -ciso8601 -dask -dask_gateway -dask_ml -datacube -dill -distutils -fsspec -fiona -folium -geopandas -geopy -hdstats -ipyleaflet -ipython -ipywidgets -joblib -lxml -matplotlib -mpl_toolkits -numexpr -numpy -odc -osgeo -otps -OWSLib -owslib -packaging -pandas -pathos -pyproj -python_dateutil -psycopg2 -pyTMD -pytz -rasterio -rasterstats -requests -rios -rioxarray -rsgislib -scikit_learn -sklearn -scipy -setuptools -setuptools_scm -shapely -skimage -tqdm -traitlets -xarray - diff --git a/docs/_modules/mock_imports.py b/docs/_modules/mock_imports.py index f46937e40..8d40f1cb7 100644 --- a/docs/_modules/mock_imports.py +++ b/docs/_modules/mock_imports.py @@ -1,6 +1,6 @@ import os -mock_imports_file = ".mock_imports" +mock_imports_file = "mock_imports.txt" comment_symbol = "#" mock_imports = [] diff --git a/docs/mock_imports.txt b/docs/mock_imports.txt new file mode 100644 index 000000000..e69de29bb diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index f4c681291..000000000 --- a/requirements.txt +++ /dev/null @@ -1,15 +0,0 @@ -sphinx<=7.2.6 -nbsphinx<=0.9.3 -ipython<=8.18.1 -myst-parser<=2.0.0 -ipywidgets<=8.1.1 -matplotlib<=3.8.2 -pydata-sphinx-theme<=0.14.4 -sphinx_design<=0.5.0 -sphinxext-rediraffe<=0.2.7 -sphinxcontrib.datatemplates<=0.10.2 -sphinx-external-toc<=1.0.1 -sphinx-sitemap<=2.5.1 -sphinxext-opengraph<=0.9.1 -sphinx-notfound-page<=1.0.0 -sphinx-copybutton<=0.5.2 From d11f732502eaa2f7324f232bb55e0bd03d12d675 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 22 Feb 2024 11:50:47 +1100 Subject: [PATCH 034/143] Restored the mock imports file which had gotten wiped somehow --- Makefile | 12 +++---- docs/_modules/mock_imports.py | 2 ++ docs/mock_imports.txt | 59 +++++++++++++++++++++++++++++++++++ 3 files changed, 67 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index 765177a69..f81f40ee7 100644 --- a/Makefile +++ b/Makefile @@ -13,12 +13,12 @@ rebuild: start: docker run -it --rm --name dea-docs --publish 8062:8062 --volume ./docs/notebooks:/docs/notebooks --volume ./output:/output --env-file .env dea-docs \ - | grep --invert-match --regexp "WARNING.*Document headings start at" \ - | grep --invert-match --regexp "WARNING.*duplicate label" \ - | grep --invert-match --regexp "^copying images..." \ - | grep --invert-match --regexp ".*GET /_static.*" \ - | grep --invert-match --regexp ".*GET /_files.*" \ - | grep --invert-match --regexp ".*GET /_images.*" + # | grep --invert-match --regexp "WARNING.*Document headings start at" \ + # | grep --invert-match --regexp "WARNING.*duplicate label" \ + # | grep --invert-match --regexp "^copying images..." \ + # | grep --invert-match --regexp ".*GET /_static.*" \ + # | grep --invert-match --regexp ".*GET /_files.*" \ + # | grep --invert-match --regexp ".*GET /_images.*" ssh: docker exec -it dea-docs /bin/sh diff --git a/docs/_modules/mock_imports.py b/docs/_modules/mock_imports.py index 8d40f1cb7..3ea885d2d 100644 --- a/docs/_modules/mock_imports.py +++ b/docs/_modules/mock_imports.py @@ -6,6 +6,8 @@ mock_imports = [] project_root = os.path.dirname(os.path.dirname(__file__)) mock_imports_file_path = os.path.join(project_root, mock_imports_file) +print(project_root) +print(mock_imports_file_path) try: with open(mock_imports_file_path, 'r') as file: diff --git a/docs/mock_imports.txt b/docs/mock_imports.txt index e69de29bb..b452e0aa7 100644 --- a/docs/mock_imports.txt +++ b/docs/mock_imports.txt @@ -0,0 +1,59 @@ +# Mock Imports +# All Python libraries used in the DEA Notebooks and DEA Tools must be added here; otherwise, pages that depend on the library may not display on the Knowledge Hub. + +aiohttp +boto3 +botocore +branca +ciso8601 +dask +dask_gateway +dask_ml +datacube +dill +distutils +fsspec +fiona +folium +geopandas +geopy +hdstats +ipyleaflet +ipython +ipywidgets +joblib +lxml +matplotlib +mpl_toolkits +numexpr +numpy +odc +osgeo +otps +OWSLib +owslib +packaging +pandas +pathos +pyproj +python_dateutil +psycopg2 +pyTMD +pytz +rasterio +rasterstats +requests +rios +rioxarray +rsgislib +scikit_learn +sklearn +scipy +setuptools +setuptools_scm +shapely +skimage +tqdm +traitlets +xarray + From a85d0fc20a5b19951349e801ef1032bcb003019f Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 22 Feb 2024 12:12:09 +1100 Subject: [PATCH 035/143] [skip ci] Un-commented greps in Makefile run script --- Makefile | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index f81f40ee7..765177a69 100644 --- a/Makefile +++ b/Makefile @@ -13,12 +13,12 @@ rebuild: start: docker run -it --rm --name dea-docs --publish 8062:8062 --volume ./docs/notebooks:/docs/notebooks --volume ./output:/output --env-file .env dea-docs \ - # | grep --invert-match --regexp "WARNING.*Document headings start at" \ - # | grep --invert-match --regexp "WARNING.*duplicate label" \ - # | grep --invert-match --regexp "^copying images..." \ - # | grep --invert-match --regexp ".*GET /_static.*" \ - # | grep --invert-match --regexp ".*GET /_files.*" \ - # | grep --invert-match --regexp ".*GET /_images.*" + | grep --invert-match --regexp "WARNING.*Document headings start at" \ + | grep --invert-match --regexp "WARNING.*duplicate label" \ + | grep --invert-match --regexp "^copying images..." \ + | grep --invert-match --regexp ".*GET /_static.*" \ + | grep --invert-match --regexp ".*GET /_files.*" \ + | grep --invert-match --regexp ".*GET /_images.*" ssh: docker exec -it dea-docs /bin/sh From cb8a8973d12dd72ccf790f59bc1d9ddd5737c0a3 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 22 Feb 2024 12:15:01 +1100 Subject: [PATCH 036/143] [skip ci] Removed index.rst file in root of project --- index.rst | 75 ------------------------------------------------------- 1 file changed, 75 deletions(-) delete mode 100644 index.rst diff --git a/index.rst b/index.rst deleted file mode 100644 index 78a4f491d..000000000 --- a/index.rst +++ /dev/null @@ -1,75 +0,0 @@ - -.. image:: _static/dea-logo-inline.svg - :align: center - :alt: Digital Earth Australia Logo - -| -| - -Digital Earth Australia User Guide -################################## - -Digital Earth Australia is an analysis platform for satellite imagery and other Earth observations. - -For more information, see the `DEA Web Site `_. - -Digital Earth Australia is currently in beta for users with -accounts on the National Computational Infrastructure (NCI) or the Digital Earth Australia Sandbox (see the :ref:`Setup introduction ` page). - -Data can be viewed on the interactive `Digital Earth Australia Maps `_ platform, -or accessed directly from `Amazon S3 Storage `_. - -Our OGC Web Service supporting WMS, WCS and some WPS functionality is ``_. - -If you notice an error in this documentation, things that could be explained more clearly, or things that are missing, -please let us know by creating an Issue in the -`dea-notebooks Github repository `_, -and list what you would like to see changed. - -.. toctree:: - :maxdepth: 1 - :caption: Overview - - about/intro.rst - -.. toctree:: - :maxdepth: 1 - :caption: Access - - setup/README.rst - setup/dea_maps.rst - setup/explorer_guide.rst - setup/Sandbox/sandbox.rst - setup/NCI/README.rst - setup/AWS/data_and_metadata.rst - setup/gis/README.rst - setup/jupyter.rst - -.. toctree:: - :caption: DEA Notebooks User Guide - :maxdepth: 1 - :glob: - - notebooks/README.rst - notebooks/Beginners_guide/README.rst - notebooks/DEA_products/README.rst - notebooks/How_to_guides/README.rst - notebooks/Interactive_apps/README.rst - notebooks/Real_world_examples/README.rst - notebooks/Tools/index - -.. toctree:: - :caption: Reference - :maxdepth: 1 - :glob: - - reference/* - -.. toctree:: - :caption: Appendix - - about/faq.rst - about/changelog.rst - about/publications.rst - about/glossary.rst - genindex From ac102229ce7dc74e6c673497ee6ca7688f52ebb0 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 22 Feb 2024 13:16:10 +1100 Subject: [PATCH 037/143] In alphabetic categories, the dea-* prefix is now working --- docs/table_of_contents.yaml | 31 ++++--------------------------- 1 file changed, 4 insertions(+), 27 deletions(-) diff --git a/docs/table_of_contents.yaml b/docs/table_of_contents.yaml index 09f926cca..ca2f01010 100644 --- a/docs/table_of_contents.yaml +++ b/docs/table_of_contents.yaml @@ -229,132 +229,109 @@ entries: subtrees: - caption: A entries: - - glob: data/old-version/ga-a*/index - glob: data/old-version/dea-a*/index - glob: data/old-version/a*/index - caption: B entries: - - glob: data/old-version/ga-b*/index - glob: data/old-version/dea-b*/index - glob: data/old-version/b*/index - caption: C entries: - - glob: data/old-version/ga-c*/index - glob: data/old-version/dea-c*/index - glob: data/old-version/c*/index - caption: D entries: - - glob: data/old-version/ga-d*/index - glob: data/old-version/dea-d*/index - - glob: data/old-version/d*/index - caption: E entries: - - glob: data/old-version/ga-e*/index - glob: data/old-version/dea-e*/index - glob: data/old-version/e*/index - caption: F entries: - - glob: data/old-version/ga-f*/index - glob: data/old-version/dea-f*/index - glob: data/old-version/f*/index - caption: G entries: - - glob: data/old-version/ga-g*/index - glob: data/old-version/dea-g*/index - glob: data/old-version/g*/index - caption: H entries: - - glob: data/old-version/ga-h*/index - glob: data/old-version/dea-h*/index - glob: data/old-version/h*/index - caption: I entries: - - glob: data/old-version/ga-i*/index - glob: data/old-version/dea-i*/index - glob: data/old-version/i*/index - caption: J entries: - - glob: data/old-version/ga-j*/index - glob: data/old-version/dea-j*/index - glob: data/old-version/j*/index - caption: K entries: - - glob: data/old-version/ga-k*/index - glob: data/old-version/dea-k*/index - glob: data/old-version/k*/index - caption: L entries: - - glob: data/old-version/ga-l*/index - glob: data/old-version/dea-l*/index - glob: data/old-version/l*/index - caption: M entries: - - glob: data/old-version/ga-m*/index - glob: data/old-version/dea-m*/index - glob: data/old-version/m*/index - caption: N entries: - - glob: data/old-version/ga-n*/index - glob: data/old-version/dea-n*/index - glob: data/old-version/n*/index - caption: O entries: - - glob: data/old-version/ga-o*/index - glob: data/old-version/dea-o*/index - glob: data/old-version/o*/index - caption: P entries: - - glob: data/old-version/ga-p*/index - glob: data/old-version/dea-p*/index - glob: data/old-version/p*/index - caption: Q entries: - - glob: data/old-version/ga-q*/index - glob: data/old-version/dea-q*/index - glob: data/old-version/q*/index - caption: R entries: - - glob: data/old-version/ga-r*/index - glob: data/old-version/dea-r*/index - glob: data/old-version/r*/index - caption: S entries: - - glob: data/old-version/ga-s*/index - glob: data/old-version/dea-s*/index - glob: data/old-version/s*/index - caption: T entries: - - glob: data/old-version/ga-t*/index - glob: data/old-version/dea-t*/index - glob: data/old-version/t*/index - caption: U entries: - - glob: data/old-version/ga-u*/index - glob: data/old-version/dea-u*/index - glob: data/old-version/u*/index - caption: V entries: - - glob: data/old-version/ga-v*/index - glob: data/old-version/dea-v*/index - glob: data/old-version/v*/index - caption: W entries: - - glob: data/old-version/ga-w*/index - glob: data/old-version/dea-w*/index - glob: data/old-version/w*/index - caption: X entries: - - glob: data/old-version/ga-x*/index - glob: data/old-version/dea-x*/index - glob: data/old-version/x*/index - caption: Y entries: - - glob: data/old-version/ga-y*/index - glob: data/old-version/dea-y*/index - glob: data/old-version/y*/index - caption: Z entries: - - glob: data/old-version/ga-z*/index - glob: data/old-version/dea-z*/index - glob: data/old-version/z*/index + - caption: More ... + entries: + - glob: data/old-version/d*/index # This was moved here from the 'D' section because it was disrupting the 'dea-' patterns. If regex is supported in the future, we can make it work properly in the 'D' section. + - glob: data/old-version/*/index From 458ee5e8969915610563f9e163e16863e5bccaa7 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 22 Feb 2024 13:23:51 +1100 Subject: [PATCH 038/143] Converted the toctree subheadings to H2 headings with anchor links --- docs/_static/scripts/custom-behaviour.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/docs/_static/scripts/custom-behaviour.js b/docs/_static/scripts/custom-behaviour.js index 3f402a60e..a3db27a15 100644 --- a/docs/_static/scripts/custom-behaviour.js +++ b/docs/_static/scripts/custom-behaviour.js @@ -17,6 +17,20 @@ document.addEventListener("DOMContentLoaded", function (event) { } })(); + // Convert the toctree caption elements to H2 headings. + + (function () { + let captions = document.querySelectorAll(".toctree-wrapper p.caption"); + + for (let i = 0; i < captions.length; i++) { + let caption = captions[i]; + let h2 = document.createElement("h2"); + h2.id = `table-of-contents-${i + 1}`; + h2.innerHTML = caption.children[0].innerHTML; + caption.parentNode.replaceChild(h2, caption); + } + })(); + // Add the section ID to the heading's 'data-anchor-id' property. (function () { From 9cfcb08afc2dcc0b0ce05aa0ff1e1fd7abf33a8e Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 22 Feb 2024 13:26:39 +1100 Subject: [PATCH 039/143] Added some descriptive text about the alphabetical grouping to the page --- docs/data/old-version/_data.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/data/old-version/_data.yaml b/docs/data/old-version/_data.yaml index 676c4b775..ec43bb50e 100644 --- a/docs/data/old-version/_data.yaml +++ b/docs/data/old-version/_data.yaml @@ -1,2 +1,2 @@ title: Old versions of products -description: This page lists the old versions of all products. +description: This page lists the old versions of all products. They are grouped by letter (A to Z) for convenience. From 186ef7c53b05752918245d6754d46045813a2819 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 22 Feb 2024 17:56:27 +1100 Subject: [PATCH 040/143] The mock_imports.txt file now supports comments at the end of lines, not just the start of lines --- docs/_modules/mock_imports.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/docs/_modules/mock_imports.py b/docs/_modules/mock_imports.py index eb3130bcb..39baf4d0d 100644 --- a/docs/_modules/mock_imports.py +++ b/docs/_modules/mock_imports.py @@ -6,16 +6,19 @@ mock_imports = [] project_root = os.path.dirname(os.path.dirname(__file__)) mock_imports_file_path = os.path.join(project_root, mock_imports_file) -print(project_root) -print(mock_imports_file_path) try: with open(mock_imports_file_path, 'r') as file: lines = file.read().splitlines() - lines = [line.strip() for line in lines] # Strip leading and trailing whitespace from each line - lines = [line for line in lines if line] # Ignore blank lines - lines = [line for line in lines if not line.startswith(comment_symbol)] # Ignore commented lines - mock_imports = lines + + mock_imports = [] + + for line in lines: + line = line.split(comment_symbol)[0] # Strip text after the comment symbol + line = line.strip() # Strip leading and trailing whitespace from each line + if line != "": # Ignore blank lines + mock_imports.append(line) + print(f"Sourced {len(mock_imports)} mock imports from '{mock_imports_file_path}'") except FileNotFoundError: print(f"Mock imports file not found at '{mock_imports_file_path}'") From 39a752aaca565c3d05ddbfd6afa5b36d10429dde Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 22 Feb 2024 18:42:37 +1100 Subject: [PATCH 041/143] Capitalised the other links in the deploy/PR banner --- docs/_modules/deploy_banner.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/_modules/deploy_banner.py b/docs/_modules/deploy_banner.py index 812e85592..e04c54d0e 100644 --- a/docs/_modules/deploy_banner.py +++ b/docs/_modules/deploy_banner.py @@ -11,9 +11,9 @@ def banner(): github_url = "https://github.com/GeoscienceAustralia/dea-docs" deploy_logs_url = "https://app.netlify.com/sites/dea-docs/deploys" - pull_request_banner = f'You are viewing {deploy_name} #{review_id}, not the official DEA Knowledge Hub. View the deploy log or the pull request.' + pull_request_banner = f'You are viewing {deploy_name} #{review_id}, not the official DEA Knowledge Hub. View the Deploy log or the Pull request.' - demo_banner = f'You are viewing {deploy_name}, not the official DEA Knowledge Hub. View the deploy logs or the git branch.' + demo_banner = f'You are viewing {deploy_name}, not the official DEA Knowledge Hub. View the Deploy logs or the Git branch.' if pull_request == "true": return pull_request_banner From 537cd13820f19f5c05cb191743054705ac1733d7 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 22 Feb 2024 18:56:22 +1100 Subject: [PATCH 042/143] Removed one word --- docs/_modules/deploy_banner.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/_modules/deploy_banner.py b/docs/_modules/deploy_banner.py index e04c54d0e..d1d9f6979 100644 --- a/docs/_modules/deploy_banner.py +++ b/docs/_modules/deploy_banner.py @@ -11,9 +11,9 @@ def banner(): github_url = "https://github.com/GeoscienceAustralia/dea-docs" deploy_logs_url = "https://app.netlify.com/sites/dea-docs/deploys" - pull_request_banner = f'You are viewing {deploy_name} #{review_id}, not the official DEA Knowledge Hub. View the Deploy log or the Pull request.' + pull_request_banner = f'You are viewing {deploy_name} #{review_id}, not the official DEA Knowledge Hub. View the Deploy log or Pull request.' - demo_banner = f'You are viewing {deploy_name}, not the official DEA Knowledge Hub. View the Deploy logs or the Git branch.' + demo_banner = f'You are viewing {deploy_name}, not the official DEA Knowledge Hub. View the Deploy logs or Git branch.' if pull_request == "true": return pull_request_banner From 2625b61c3fb3237d7dfd3e9259cfc25f989ba45c Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Fri, 23 Feb 2024 09:30:12 +1100 Subject: [PATCH 043/143] [skip ci] Minor wording --- docs/data/old-version/_data.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/data/old-version/_data.yaml b/docs/data/old-version/_data.yaml index ec43bb50e..f3825888a 100644 --- a/docs/data/old-version/_data.yaml +++ b/docs/data/old-version/_data.yaml @@ -1,2 +1,2 @@ title: Old versions of products -description: This page lists the old versions of all products. They are grouped by letter (A to Z) for convenience. +description: This page lists the old versions of all products. They are grouped alphabetically (A to Z) for convenience. From 52f99ceb5d634a15ed871f2d8126647c713a13ac Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Fri, 23 Feb 2024 13:59:09 +1100 Subject: [PATCH 044/143] Removed version number from conf.py --- docs/conf.py | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/conf.py b/docs/conf.py index 14d9b5c26..7ca180ba8 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -16,7 +16,6 @@ project = "DEA Knowledge Hub" copyright = f"{utilities.current_year()}, Geoscience Australia" author = "Geoscience Australia" -version = "0.1" html_static_path = ["_static", "_files"] templates_path = ["_layout", "_templates"] From 7801eb6240f6492e7d962ab307adb940d9c62b1f Mon Sep 17 00:00:00 2001 From: Aman Chopra Date: Mon, 26 Feb 2024 14:11:02 +1100 Subject: [PATCH 045/143] Add final files --- .../reprocessing/S2A_contig_reprocessing.csv | 11 - .../S2A_contig_reprocessing_preview.jpg | Bin 102814 -> 0 bytes docs/_files/reprocessing/s2a.csv | 3312 +++++++++++++++++ docs/_files/reprocessing/s2a_preview.PNG | Bin 0 -> 42520 bytes docs/_files/reprocessing/s2b.csv | 121 + docs/_files/reprocessing/s2b_preview.PNG | Bin 0 -> 43315 bytes .../_history.md | 6 +- .../_history.md | 17 +- 8 files changed, 3452 insertions(+), 15 deletions(-) delete mode 100644 docs/_files/reprocessing/S2A_contig_reprocessing.csv delete mode 100644 docs/_files/reprocessing/S2A_contig_reprocessing_preview.jpg create mode 100644 docs/_files/reprocessing/s2a.csv create mode 100644 docs/_files/reprocessing/s2a_preview.PNG create mode 100644 docs/_files/reprocessing/s2b.csv create mode 100644 docs/_files/reprocessing/s2b_preview.PNG diff --git a/docs/_files/reprocessing/S2A_contig_reprocessing.csv b/docs/_files/reprocessing/S2A_contig_reprocessing.csv deleted file mode 100644 index a0fed469c..000000000 --- a/docs/_files/reprocessing/S2A_contig_reprocessing.csv +++ /dev/null @@ -1,11 +0,0 @@ -Product Label,Satellite Acquisition Date,ARD Generation Date,ARD Re-generation Date -ga_s2am_ard_3-2-1_52KED_2017-01-02_final,02/01/2017,23/08/2022,16/01/2024 -ga_s2am_ard_3-2-1_52JFM_2017-01-02_final,02/01/2017,23/08/2022,05/01/2024 -ga_s2am_ard_3-2-1_52KHD_2017-01-02_final,02/01/2017,23/08/2022,05/01/2024 -ga_s2am_ard_3-2-1_53KKU_2017-01-02_final,02/01/2017,23/08/2022,16/01/2024 -ga_s2am_ard_3-2-1_52KGD_2017-01-02_final,02/01/2017,23/08/2022,05/01/2024 -ga_s2am_ard_3-2-1_52KFD_2017-01-02_final,02/01/2017,23/08/2022,05/01/2024 -ga_s2am_ard_3-2-1_52JDL_2017-01-02_final,02/01/2017,23/08/2022,16/01/2024 -ga_s2am_ard_3-2-1_52JBL_2017-01-02_final,02/01/2017,23/08/2022,16/01/2024 -ga_s2am_ard_3-2-1_52JEL_2017-01-02_final,02/01/2017,23/08/2022,16/01/2024 -ga_s2am_ard_3-2-1_51HYD_2017-01-02_final,02/01/2017,23/08/2022,05/01/2024 \ No newline at end of file diff --git a/docs/_files/reprocessing/S2A_contig_reprocessing_preview.jpg b/docs/_files/reprocessing/S2A_contig_reprocessing_preview.jpg deleted file mode 100644 index 6519e8fa4e4ad9dd3f35c4503bc3806d946a8aad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102814 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%0AOZ(mcGT!OPh|S;FbD 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
    I_pul}sd|IWd$d@{1*Iiw2{&~$Sv?0o2>=)tt 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�C8~C=5 zDs;PmQrXxO-uef7j~*>Txx;0uf01^{{L{jKIG zFmZGg?XBK>E79Gacley9dv)#LZ94Djc-iIPhm7gr8|Bm!MdnFr`1m0qZ=T4C(vvzA zh0ueP2ep}Na_mKDBZ?ZJTNC1?zq-&?Y1WidNsF>K;G69N_8_W-dekc|6#!ihM5?M) z3)HGnjChT*W^JZD*vcwjfk)6{C43}u`%AbxdzI^s9uE?Fq6$i~Lo>+Vrd=M&a^%f8 zA2dM7l$uoi`!9$qNxLKReS$XPCQgn)t=*Qx%~g3TWAc%VrTyV05$N9)z`^Ns(MUG- z(>o_=N!l*V5vm=Q(h#=M5RnRFF82$+sm;ShT7Kdu(%DK7e{^H9QXc7oF`84W3X6=3 z$m*)^ADM|qRJWKUSZKv3C6h3FYXR3Ago4Y#rhVbVzj_>*K0T`0b244fU4|HMH3q z^1R}{55()}R748g%-Z~kut~;btykNL=Jh+0&$G0Uo z5z7HCRX2Z~l=utS`o~5Tl0hJ3ua75hP_!wlbs-CR*Jx7o)zBuTmB_k%PnP29hoU(e zaHUf1$2YyOeOg@AR+=qLwwGD)3zn`0X>yjXn{mM%N9YyuZHP+bOS4^93r=XyxTc(G zRGg;dZVT3O35Qg|>q6_DbEWYNU8c&WCPZTQd6R3MW82k+@^iS%bEA~-T?Ug4R0u5v z`zMDUgpGoq;wY2XnlMyPG#10<3O0{%>CFMZHLqc~`cbW+&h^;rKam6ON9DPp9y_{u zK&=brv@V}IR{Wzxy;71oMXo03Rug`vWlMySF${0D?pc$rXIJR^RXc|3$F{Ai%ml|& z(9+Aalq0UnO9oI|tjdb`b>hT!P$LYSUg~)_=hz|tij^|1$&R6E@ulNuOl_jLSW~1- z4ml>@xhkV}_*BHw8p{)T92I47fMm*3?M)|6uUg2D
  • R0;JonyPDXiLn=JlD9!MX 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 mkTiR6TT|(qZ_Nr!(!1$;l}@Ko2C zf`a)r`QNE$8n?D7C^8G4$;oPY7;V(`MM$?fZXJ6w!ZxM4TkCc|LiY-Q5|smf!iQ`%`}YW?{+} z&Dp4i&9(0K!&yUNusso5(ZF!wEahqcN7w)H$EhcPE#n_o|N80T8kLv=*T28nK0;>~ z_V}Ol$WKP)U7ce2_-_^?-_#bY6r%lioB%fqjqc%ES5T=?8T|f``pLounTIlM7)U#D zk%UhrA!N>zAN?fXuYNs>K)1_6rU<6;r8>RJ6Qlk&;r4h+F$I{SAAUy>>v*zl{s6zz z{_Dn3ZDf+GyeoVcoW#X{lcE6=b`vx;mFj-U0H&%Eqv=ga3$=pSy1k|7Q-)HK~E}dmjwf{WddWUR1 zM$spW?(GR5i=S8%vn<5_5mvC>l+4op<^3yXf2KZ{NyfCU>}IX(w&sw;4rCvk{1SP+ ztDa^Y=Cju$_MZh+&XzHyIpW4PS62-Ja+LUkG;be4+}loF7XcWpAPcoF@5`b2!7|a&!^g!5Dm67T z^`U87X?EQYGonr2_@X^x!L}O;z4-_0R_P9(n?X_?ki_gAOfR2)MrQGY`H#ut`%Ds5 z?(i*9g6u{7`}UD@WH!%gUX2U@G5bFfmo=_>drnN@C;|Hkgsps(?jv~=J}{{ILU0vM zc7UX(GI*53lYKN4M4TfFO&#}rF_*5h}T0mEB_cP-c+ z{+T7EQO;a`eBD(RQuQF-PbZ92L^|3LonddWe`XjB*mG2X*4hoq(;Za4OJ8r#u*j=U zh6BRcZ+*9sl@qs*Q?W~0~-G|l;jya`y=&+Ft}eJ8I9 zM56=l7Jp8)hsB3w(6FZV5ik!T`b>qGojt z@q2xMQA8p6=PKlPu6#L(9)&7eVifbUS-&7F%<$ zSD$T_jcLk)baq?r}{hD1Xe|3|n`vKQB|zOf6FffyaI{mIVeAQ* zytE(9$7CkZY#(M6cOu2-hP8E(TUR1?eLik6aYbOHoER2T_ z#3ueQ8WbT@7=P6|OP}l;e(%|#hR>dA(>mwFfudFK8R`UGv|d(QtMUA@xP z)0P*>%XNjnz=sdyU0f8R)VP4(X8&7jKHoNHKI~dXvt<;B$=Cfv<8jCabI8*mAV1ui z!SmC)4_yW%dFgKxoMEY(nf-LQk`XyZHVwW$1c5e53N zp&r>TZSE`}mjJs{x381Jqk_X~uhgp@fM#$UB(JlSC3+5~`(BHIj54puHeULnAwIa_ zDwRKwBLJm2p1IzwfIP~kHp=_A2IyKRR82NO7clf7_L%Hh`QK(4NH{?#1V7z?Ki<~I zdJ67{DTR`~Tf_+t!SGD8_(n8bbo|&Li)|nxNhah~E1G9neVrH9PR-nTe4Ul-+`Kas z9-N%^2*#*Ch%)r06FHLebvIdAKsDeE#Ci$XTEhL z;Q0B~P5WumY<0DRZ-eZ4|NIkGCWPc*PeR@32%`8N4#eI>W2wz^;`AzpDpb&bQ-6h< zza8JuE(}`@IKJTlf)VoeM7QY03VTAvW{^d#KhB+my+@L!Jgs}XzAw{v%j#DBI0NXA z!^~&TJJXoyV8(l^IP%H$3xa(M;r(pYvXUL)-t^GGzXLCj8(Kk^tDx*DJD4hM-V+`) z4B4rS`Of=0{13s50D_qz3nu)pvZ>0vYJx2T_I$?o!0Q{O6>&i?WU(9Y&Jg|D&30Z`}<#wrWtmfGc7F>g&o^{piAA(lL}| zkB0!?(>V5-D6ovXz`aN6{n`{OG)qi&VW)vR7N_ery&BoB03X4RAg5lFu1B7tpxCGM zrF!oNBmv;EgE>HpruGGJx&O@nPUdeS)c=1V;)XKw5C zLKsQg5P-N850L*v)Dg+bVPe5F6=+%@BT!KE(%OZ^t_-8qC}rA>-m_%@N}$AboURo# z@RwFjo{F3vYYPLS5~cY=3W}9ec40<*-$y*klSitjSqK~YB=H$~LJesr5&Ty3TG(Za{|fugjcw71zU!&L`(R z<0+df#UB^hhTqJ-t$*u=Ii7X2my1UB89NV)wT(|C3&1gN%8Y#yUb_N}paZsCgCwPI z9E6=Kw|}8Nhl@I;tge-!ibTf{7UkOQwdjQv)_sZJ*Sl|ETH}J}?97Mc+Rdk|qX`NP zDzNDJ0$YW5kG<-EJVNmrnwH8R?*b4Dsf zXk6N^B<^us<-NGR1@w2uD}fxpQC8;71hU;VzA|t%-g*5>iZ)q$HxS8GI`QuK7mU&k zYP$c2T`jo2Mwwko`0GvTM;8tx-8YiGZCUf1bk%$=9HE#HIL0_sv()GU#&IkD$yGJ= z(+&}rZyn*ZSX$*AP95yaeO&2HMvx|-Df25%4^k%9H+bnC>wGVfOBxrg%~}av?Ve#| zl-=U}aGBl6Nj?tAtUv2qT9X|5ex9udYT(k}Y>^&FSGc zu>XmSO1>mDRdrQOl&@YiIrkEQImjmdVo4jk2qxD1nu4O}Nx%9svgBB|KP7Lj?iaRJ z)w&H8TaOl1E_SmG6NYo}uY0%h`@WwB+pPpz6`$uvWmMXs?cWp?2a@ftd{JcoO1Bkp zR&C{LWuJle;7|i~sUAANd=Kc4WIL{D6zv9aWiN{D9Adb6?lC8h>M{pcLd)@sa$HYi zJ0oN-l2TptkI~Hr0ad<6CGsB$VfAUHX61iq?`5-5P#9dZfe8=4QSG~bAaG_GE&x{W z!B^J*N=-Vu8Q%FeSOrwCK5EWfC>E5Or9UAt_GbBNAx!D`3rAeJ{r8Kp#pywwbrNLd z2dAa(Z}3bw$D7kFc-G{rx+G+Z*SLiWcWhBVjmw?6w+;FX3?lR3D=(I?DACJPf`m*-q4Ho{4I_PdcU~*5{salk_ng)1k_*8c<18xyhI8a+J z2ZLu?XBu6FA+ga+Um9NUPBzMvikF}|n7j5ACNmK<73G!2G^B!!g+X22WPaRfibk_Q zzroVfcYX56sydO13s}a=0gBE>Dg1zvHO!vs^&&h+p#D}8Hz}}dvE|wsIwd%I&^h2k#~nPPS$yAFWD!v8bj6PC2gP3Y{wlT?Xx*rc&1|mT+ok+$ag}b4+FZ zfHu`A^u6uyZDMS58TN2%n+tO&Yw5J{ovG8g=(~x9EkCfeZ3AcHru=f9)cY8H#ahnN zgx9H*Q!E_C)LMZ<3#^tZ)U+Wwu4&k6+JL&pkDPv|s-i+OdXG2=cXm3z3{C(c`F2sA znqja=U0S+*uBFc8plLHE90);4=)iT$D$nT~&~+H^xm_-VQOOed+B4B+*?Y&% zNJSJajy?BQK&*<`;OZZn?}awtL~r@!(61XTpZ&@W$Od8ym@`1onSNF3N+bmpdKdRqhEem+{<+hG8@>cK)OQXu)8=^&^DxgnTuo z?K!@WoK`kIXV4TraGl6=b~CAIRohWG<8t806aR%phflNiD(BxCT@C$xI8}MDgREhc zSCmXgw?XNUJm?_|*Q2Cc@&N&Y1`DGam!rZo0;a+A>gwtU#6B8r#9SQ#%Xa49Xd1g$ z3^#`2F^43dzp7RLRh(>adsz|@ID}k`WMgkwR%|K zGjZV5ZkF82x>`sCBZI92;zAHNEgZ8u#DX)Uc%Tr|pF=ivz;U7s}lE@V{~=_ymowd0Fq z43x!#O0o$CcPPmY@N?|`p}j3A&dC0=7zM=`Xobi3I0R>Kvvd5nk5S(Q{9NFM!Ux@7 zE_Ir_f)$~0ofT+Z!m!gTQp3cGVl(#vd7e+ytC;h5H3q}z(SCTwipqeE0o zLF)7JNljm5(QM>?Ns{65YdPX|?zjUVZ$>+=T4UUcFa z?A|F+vO|oW(VhkZn;`|vnsaO``~|?z>$aa_Pc%;*n?vjY;uHoCR(L4ZK_`1nNrO@J zGfuIP5sKbNUcwKr6xnYp0N;RaK%HU?(ryae0LvPmN&^jr4+z#DnvkbyibosvP^oji z*`;xPGRHPwNyIG@=hFX0Z+8SE;b6~X4*#6NJ~^2gKf>~JZaNCq3z3`FlRopm|Gbs* z+^c9H*jCET$vgz6I2X>o?bE0hqQ!=TegRCqho_}d6hWiffX`mQwE7X`PU<~uYfc=w zTV(l030y9u+RVzi`hVQeU&>0lMqhzE<8uz^7-{}@xpeaUEg8z7N%X0DfaX8j!GCp? zhz$&dG0IHvIg{5g$hg%22I?gHalpqG3v>_3O~dM`-sHYo^{?+Jm@Kzr2B zw10&HCwugP+@nx5##hG7VVCCa*Lv=mS9*VDOp0>eoM!s(Uev+v{?)?&rv1J#shsnK z%d3rD+YTNJm(X@&o<^rA5wh|Z_vnL4;f+n3u|Dbb8JeZ|x zCRg5fh1O^g#I=oAUk)kZQWtEl4rUvlJN!eJbhY~(zKqlPd_VG$BKB~`#$EEJ zg%Bu!V!4d-xlBR55DxDFnVM<-{jjsg!J8y5EsWGN>jPRnqm-bUCmLn5>_IibJoNhf zzL)aidTNe0mzoMHh(0&%3J^b$8q8?@!f@&7Bh-0>jp)}=M^VYjH;d06(ATNqg)Uj3 z9Ftwog!dS~`L5LGEH17eb2;Y-*3|oenlM!b`fd&S9NaNJMFkg}r$=fDdVCpQ0wf%70NaS8Ao)j!_VtM?PQ`06gf0|jfkG`f_#gL#ZOqh zyk5>w&g41g*yYWy{4%q*@(HV_8+|Hoe%^uKumk_jUqr%t=+9eop7l2Voh15X0C6XE z6c_;3a)?z`RdH;BK*5SU2NhznS$BVC(SG+Kz_a;ErK90oPweT$ zhOf&{EaGYTXI-?2)>{PM#x-Lt$%HOyc)Hax-Z;t%{p_br%6c( zv5|{s!s;41CwMGkXK+((n7aKg>zO!a0zFdC6s{R*pvcKH#D+EjJzbw~j!DgOhJ|__ z@ncyEG>e~A)R(1Mhp!K`wV&^jj^%W>F-r{jJ;QW`bOm__T=CL?8T$~)+`6T{$x!7z z-Bj0M7?@Q)iR(IQq%lqtgeM3GC-#_I-|>#On$c_AuXOUZI&TfXzRj?mSkoY7xb zmgP20)qYj$dujV;#j8uA-0FU*^^`Mzcg`^{5RqiTR~@O8Us6`lwRk%;E+Ao2Ir^*g zS>()9iQ@;YE_R6PT%&u^_N(e~6w3(T=aI1T%G;H?9kAT38vj`7KUkT&Y81a@GtY>FU-@g9#C_Q1&wEKS3hFUe?|X-8LBGpn%+mpP+Qu@K-NgGJfvE5 zvear%VsgCiaT#VAQFeMSF%T0IG&yt_T+v_#25$dgjoh8_?zZlY6L8Z?zAcj#K2oA8 zwa-nJ-moZ|*_K&KStH(1BgPmj?9GoVADeYzjyC?LWjlDG;cl3tcEI}A)u+T4yy_Bl zVRMg-$2&!tzN#tyBJ!;od)U=f#vJUUSFGvA&5hcSPtZ8wSZic*AY=U_^)(Tm zk9`MO3F++}61y`KweS^7L+$!l2wQ3!PIAoLS(Rg9gZ&QJ{niS1Ta3KB^48rqdtZK2 z-_^%vo9ojp24~vx)Vx)v99?<6Ycc%f`NH~lle?|u6R(0w^=+(58eUioO-v7rWL;~~ zTg7Y~N^FEQ`gp9md=eD3(>ydt^Mb9`YMpe&w4|@Yz5rvvQByz8A z+}ul&EkxUgah_2R+tQ{R&vJkA!*%Jyz`&mxAzjPa2$V4W^DOI|Z*p|ULTMw*E?g;E zICm+8Ww{D2mmBUB-y>M6f^MEd>s)-7(-*L$-+ykP1%neG?iTe-0g z!giNq5*7yDZk0+1?a{dIeZP%}dT+Qf&= zu+Mff+sfzMcv}&dI)Zj~0wSv?&3`OwtEybxznVJv;GQzh;VfDa?A6>C=4dz(3d{}a z%)2U!`~kT`!hB=u6xvrWa-;N|2Zv27Yem*Nei!h)m{4ywb>(=N(xPR&fK~+p7PBVv zv_M@R)w8(Y5~}6v;X=lIWj%V7FTac>R}#^(CZxxJ15i!zmVD3Yt3;sIXwSXfxD|V%sq** z6n!3%-06S&H%vP6Bc!wG3aVs5T7!aRKTHjy$Zi~Mq;A|QU8 zB#|+Rwk!}Krl+J)IdXEv781W*ZNRPHn(#nMJ@x!J|jdcEoPvfQnGjeVn}GMHqi8&2pO>3`s8J;dQ|J-i5Vjp}sa2IaCiAJYw@K3lR&`!D7?;jitd9&!N z#d?FioIoSJo(V=RniT@+$Hz82O$Mo!X?;s=0v>> z`+@Q5@?(g;op?=_uh)TYt1{k&aqWA>B6WX{ zbc%RgnyOa(&AP+?EPNr&XJWDS-QnHo$+<6{y*Jjw2R!bR<`9T=sa@YMuA~T5ast>8 zMdEIJCp~_LHQ>uM>#F-c=%N3`Gp{e&aD%f;+mQVArbmxRTceVGf+D36{@etGop631 z?fsqBJL8S#R#}j=gH>E#WJWAAsJEoR9Bg*{F+^lX+u`2sjYFi9?FRultt2|Px54N& zbf3T<>Sq$`deWQGNEfGLoZceV`!n)TWOTf=f&oqDg&RJtj|3k;*ORq~oUe|{u1G-LpR=&Y5 zH}cL}9d{Og^$d}G>&&aG%*~Ya#%Z5LJFPcwf zEKMa?hd=dHk5tUN@^ zD7zSa$jrjE6bh^hMIOZCCngpX+f{-J(`OpgWp8pFCWV z5GnK&P91f7P$8S^$-9~c5)x@^iB=?Fr~=JwzNcGqlFlA>ig5hc8g{X%TpUutr`6xD zUYdB?4*N)Ympph>6(HP_I@!l47T=txYds(BkI`PD-)H?>;{!j94|&^N)N}vnuh=)R zeyr|n`KD!&<)NQH^c>+e_9E1^a$^m&TATezF{9wP&5Tsr>ti|4=f%v+c&EIyjbnn- zvi;gX>$qq8%#=^#Q9v$T!BMV6MF%mcREMC~{F-S(jLGiRiV*6`eBq};yQt*YzJUc# zPT}$!{N=p;@;pLWbT~krZDJu^UuDj}wB_OmIApvV2a4(0FK%86Ytg-;A~SS*{uxk< zyaubxjN;xEWan5be15=VT`ll>ulz}$!04Hm1yWy8#p&l0dQI|S1~w`zsSEhgpEYhW z`DxfME@~6P?QV5eA%o@Tg(Bo@tYjdh;1)q2FHIq>Re{NpuU zU$;=zaIDy>jlpCT+aip=S7EY^lnvJMl*bACB{Z%0&b^kIVj4ZvXfDu-<^vF%kef>2 zaKd|R(m}U~7xkE{;&;{;1M$1LK*fkUPIMefoK(bm<}HdTWSX#?$$4A%1^zM8Xe+^g zNs1*aD|=eIe<+F4x{vS8u>H@U${=ty<+Hc=bH(wJcK6w7618aSFZ){PTJS+Aji#cQ zUHGqFP~VssWy^Sb9KXdg`BF|~>dqJZONl2{6qAIu$*K#&0=O#V2eEg-O{7t;A`6+P zq25k5CJn3u^#<$?BJ%md%#d@)SF9-J??IEj#5d6X_Mws#Z&fg7} ziH2hz=MTcWP%ArHyPUjD-(+WDndgo&n@@po^xP&IDS zxBa-(N$z`KGjGlVFs&Fg+HiOKqD^dim0HcK4>sv_M7ckKf<*~IDFd$elKPhxk5G>l zGdWkRroTu>GPw4;Fe9pO?g*JizG#aXU{tIbT}G%0&wg@I%M*~OM0@pk{H)N|7xIo2 zhvv*=TywdTEWf4BX~{j5I_YM+%FpSlQd~~k&#JL;`={=-iDon*TrzRge9rkMG%OI` zIh;kM=Z!w7XTJ~HJg4ttInV5zP*kWmjfi+I<613*lb)LOSh5S6Y{NA0D*Ygazt|}% zJgQpWjl#z!ypt0cdOg=n;!d(YyX3@XKT*BR)mEXQzLVq_$?xTL1qa7@{)n)-Ir)Rj zGx=FxGxkMW)zf2U9}7JcB}3f)3wqj2>nDEjS(ao&4PQfEZoNB))-O-l?avPOW_~YT zi^~TyEZOxldU2y;u-#*wej-17tHeLy`mAUV#-4VlgRRCySAr*Jh#_c4*!W#e9$Ie; z0}msfxAkQ!$al`7uU+!vuypeRi@+OvvKZviA^U1ZVjQ&9- zd-0g&FM%Y(h!023DW-1(hxE;?vd)9br{5$NuX#SCd}pdtI*kl~dDH?qd6FPg-=mzDs2p{CHL#qCWh^_AQ&}&z$Ic z{+gHTHB0A?&fdL0BHQ$$vV5cUPI4cvT0=!A_b9LSs`qAy0!i1$WKhtkYwhOYkIq4}K$BH5@HkTup>NLy4l(~$oF7HYnm<4jcEqGgg-Hup* zmr54&#skoR`dh^i?br~s9LF7*m8~h2`5BK$$>uhYN`!t?vbQRKW_RD9^|YPn+`RUN zy&`Y9QlFVzP0pG^N00_*TN_nPsSA3%O3e*$N_%m()k*d^25)nT)&lQa(s9FH$_Bmd z8+}iZmR(Z~4P+DrB`{ByclPjZ`OCg5nD@D^lyN{C@=hw$&rn@jutt=W zB#<@QtgK|vwjM*3ANiK;yUqAiUPReMxr}$4wJ!M1GD1S%Du^QxQW~E>H}%V!ZO-Jb zOu3hWUA*E;iQfj3$`)^I4ei(oFK2SKDlYw)kxYEfx#EPm1a$K}^gEfK^t&y0s|&zk zyOvAg18sAo_D;v*(xrVcrlUL;!l}R)E8Bap2iG$=k_HBO*3MVVLru(wZ|}J{@JAmri+4V1yaf4-d!?A1fg#7pV6ArE59&+`6~1i1N11P{S2}q z4~ch=uCH<7vIn5dsXF_4`TBNV?D~^11%pH>Ms3YzNyO^YNKDR~$>$)uXUG&Hui=(Z zzC}da#7r|YN^M}RIL%>Z3h3O!EO?uL`8l}01%KV|UsTCph?C=ZYCPD$owutcT`@?! z6k58kSCOb%atJ@19N^njam{%9WVPzBvPec*K3hUGc^&Y$S%>lw$MJd#9IJ%F)6~qq zZ;lcOr|<_xeH1c>r>)-=N|?;Vq`)vGBG%dOcFX0}d#b6v>nS>T+Q0&BPw0z0T$XWEwaq8^Vmx{P?H~%-IC9D0PT2kk0e--EU5LF$7u7DP7Zna$wG~p3hm{220QB9AWWlxeH2H#&fdAD#baZCn#c9GL5g(8+W0M zrxq?Z7kJ^Et8aWApMY^-W9)kc25`N<^&rFIYy9KH_FX-a`;`@u{iz?M~=KyzXdf(0koj3E97gAv&pTH(ed0%w2X#ri;^Z+Rb-PcQb@0 zr;o~yNxwqMF6h#u)lj`w`PuvIffqDIA@_Bb5f}3!X;E5}PO31C*JT^+HrVnWJ^q06 z<|@Qn)62(eeYQ2PT3IwNgYwMZ64&{e6P1wI{&>U5ST?-M#k*2kxp~pVh*{dFZsv zZZNN87=O6bY0PBHMBE^>|z0+>fCgsy%npU zadwwZq>o)Ix`o}KD4D?Dj9;>8AuD|wQ)taF`F_x$<{R{m-{(?Qgja&c@OmAxcG(vw za2+;S@`k1A3g^5&Z+OyAdi~_JxRgx5EToFFkYZJew0|k;h!tD@h`zhjePo%;u#c@s zZn<~5yw+bs=I@@+9sya6`X14>=r;_WFnN8Sy~9-(C~6dlg} zS4P44RSP>kcgZ~sbHb7jx!5`PxMvl7RnKWR$vNH6(7J$b+cO^)_$m>N3`eqh(}#|= z<@zv08x=ez zma06xvU{mFl-P2vmzvo1mx{8ReNn0|OF<4jY4{L#pR(V}G{YqhwinvA8bj}y(R`{X zt><*!meQ?`UZqK0#B8}LVXisVnK|$j25xsD-e-PZLjNv@mIl|c5_LK<~}H6=mg_cQ6i9k=k><@pS|HuJQWggEtu@gy&P8z0{CWZ>+wMhR&1{ z+Dfl^xoG;aTAaxw^jH)(zo%;AEHd=?VRZySBaT<8$0alA}_{-Q#gILsYLw?Br@?vX@%EXllV8Mqblx#3xMgj zp=T>{L^gP0ne&P7l?}U3G{7lacBN_UzF;P1U}9lev@{>K6hHo`qdd%SYJEefM^E{) zPH`?Di{Em+hW+PG4lZCV1kYpQmi%f7rjD%K!W39EFVr9JZNAKA} zt5xoUj3iqRHChVN1sm2R!r$aOIswh8-jSF>#kcj=cdO4w67Q376*I@(IZ>=q7u%Fw zlJgeRd$GG@;OM>IX*KHQ-#w2w&j7&9Ib0_nrSpXObD52`)^|JF9(?WrWZXu1VHjb1 z$lHTQ+o?549LP|4WB@o1887;y_4?k_`Tv5_YGv+c+tMrz)%%$~oGHLYTx;kw!QC}H z*xK3YBEsE)1+OoaA#CxT^gT!i7gUmWD)qmB9oG9-?SPa1e;rpeV*5T+4xDB-7E=I^ zyGMHK`jIMQSKfUyK&T??k`Ca9OYjzBhA~r8WALl{Q$~#2w*fXe|A~lU-N`5FC@L@g zryu=|b272m!DtQvbn~CsUyQmv5jajAK{{N`P7MN1Z8{##1%rYb@JoV-R1zLFcf8dA zsz2VWnFC%Z;UMm3Ll~g=1yHbk{gL@00z|y;L%<*r+Qz;jK1WM&h%G4TcrH}1o<)X) z-`lbGBfp!10A8+;^x5s;L9~IO(mwkGiilv4pSTZjb`=5h!{p7y0jq5jkGB}N>JDbM zH*2=eHypMI29cLXNNv>$*AlRkh(14T>0Cj@4Df1!*YrOi#lHc@x8Z;O#^dJLgeuSf zQ3fRRkCUL!W#;}m3(EcfR&;;kjOYG8#2FoV5gT2IHy(S-Jq`z#LE>DfsT!Vt8ST{T zdj|hH8S5`$3qE;w>fZafxw-Au+oRJ(d$p%2x=%2~A@=`?AzF;rwVTmbpz@oLnxq|t z%tk8IpK^mo3{!y{Faeo+OVTjWEi5DMoVeh3I`4j-NM+~dkF|ZLUkh(ba1}Wab^?wr zP~OkRyx+B)28IjdcXZ4v)8BM=_4GI#A9fqt$AD*9d_6r`H_vyZ;g;`Dfu-N*n5{Gw5H@k-%X zEbJ(=$?u<-VaN)y|;u&dG=aX z-g+UT>aJ4aQYD+kV?#xoavL@b67ND!#T%jD-of*ZJYwo~yBw-2lAlS0H#f4XNDg-E zeEp3tZcQ1u*QFOdQYBz(m#Zq^bs^U4Wv$!ChU(P|1GufzWL!!rc0$qBTqyC#XH&*r z;39U$>RwsCbu!PGbk<(+*U6lRiZ1a&3i*CLFzCYi*N>rZrtL~6B+x!n#~#!b2NUDD zu@zZ+qKjL4uO{V=B+|?4b+WF?16o1LqICJsN36?ZlzJ8Q+Ozq| zXPOMcNQgIme(TQ+@0&|&$|-TOkEe5wezv3pNmgX`2*5k?6&p2RYsm7WJlJ{8K+-)5 zAf4e%@_f0nN4r0sQs!iunrU-=SZ4sswww;C`p{!KgDM3rY8uZP?JV}v4t zkDoUd*#+8q_UfV-d<|4hp740i==EA-oEg2w?3BT82i@uyvFy!Ul`v<39)`Iz8nQ(OZUHaXVRd-4l>KZGyto>`Y^qSGhw*Sk5u?9 zrocdlsTBH!L1^(`#ntsE=8rE>H#{7RMEn35CT>{nH@RU;FWA;~^jqIbk+=GU`spTY z>kZlUE6GvC~s5FPexOv=#EGP2569Csu; ztNpI8yS(fbRt{4BJ^8oiVl6xgIUi}XUwp15iJeA7iUV0RdNaNNI}FqBlcn=BwiPHl zgsao*T$sj?d5W631%1$-QY zLUS{hn|PToPJd0WX}q_xaLLBdDQc*SN-sOTJ`sN{)xOYw0A$o5f)%bSSF{o7zb%7* zFay%?$uG^$1%$hI_`Q>1)LCzS(y4&LdMMmw%&mTn5on(Y_eW*0tet|~!Ie|i1&mn< z@@Th&V4h0X+e*jZmLG56FCr~ap9Y=vlyF1N$_-X{Q-iq7GU~pgH9T{vCfFW>+L&YH ztFzGtCwpiWc`*XQvEZhCc+}{+hNAn~{0YH!cSpE=XdjKNJ6@EzH-zb+nmnSvUep-H&dhWv>fiWBOy8A8cPiy#BGt9Vrr z0xspB8e9v?c1D0av|Cq}?BCn#sNl z_jm&I&nq9{*qzd$puJa*J(F*j*?AFI!RPD@Lw4adoP5?E{UTRM)q~EbY)SBOzG3BX zL$!_I#&Xx0)tfzfqcVlp$8wS?aC>@$H{WM(>Ddf!OQg4|Id`Hh$E?)r`Y;l62X?7u z-+>GP=M|*K>CMaQx`W-=Qkj9l$B*=x%X{2WNSjD_Z}tj?A6EJymn(1oR;6p?J1bt< zqv3P~?G2^q`pa!IsC2<@Gc)-aR0)H9GtU z7t45o?5xP<0p#83o79ar##Fr2EFxjLK5e`H#MuH@ypfeT#~D>z_JB=q83&1Q1tsrM~^6bshHKQZG{#0Ce>|dH!}RvEck8}Jd}FAQ6$IAm(9A_@xIY$V(dg& z7PH+)0FGa6s~mN@FYydW{-FkbM5M1SnrgpxE43p`C`Bqa+r@6w4Gz9x05yQyEqP7| zDz$GdB;7c2pw4z?QsEEpUr_tuw^UW^u&l?BFVte}Wwb~1E5 zAJJc5P^yyNYK6CoI2Bso>Jh(=UXY;GcIOafOXVbw#l9TVt!+h`tPAda-c{8_q26IG zW0`q}qqxE6%neOCfstXRf~HJCgAmR`%1+M7xrS&T`qe>9A@_OD2{yGX{L zdk``@u#}=`Bqf@lJ-`jQYI2V7@NN_lEGOTI9;;XJgj&xPhOk-kQTg|NG>9YK2x<@m}O6r%UDY?(MH|ED#V|P zL1f}GNO(n3O{@-#zJs2M6|ES~dg%rXKUvs@h;XzwI&Cktp4pxT2+imai8r~vgM0eD z`X7q#mDc%uOF89c_**=#$kQfwE{Tzcw$Jhy)?u{RcAePTvYRztrWOhcEC04?j9Q(L z7ObsbAjwVMIrg~N3Tv5qo`hUu?80-Kl!m-D^^&eg9Z~x*0^-%*$Tf@`J*Uwv8+^M} zf_t*B@FvGYKe&PSlzIkC!suPNN~|l=e8Ktsk%Ri8qmjZ6@#!y#QAx;?-0WX79B-`K z?}E>)1Lzcc5Uc7@8IT?K_O=fXSr&~6$IIrGzHbXfl>AI%Bvzi%r+vjJ#cri%4eSb+0g#r#Qwy0uf;EaQxM(c&>y5E2Ngk@uLtU#8V#gRuNa^mqa-N}vE;_i~No_G< z8gKpW%zzPiK9lE?VvBXjL4pgT?JK5k5^G#z)4#uQ89g3xDv+Q33cO#?^F;=kfkfK+ zaGn5y-OuY|*3Kbx)HmFS>wt|BVy(G2fc<5+9HEi;J>W5H$_=6es z>AsJ+BO+LE+iA?pfD3fMKYdGMjW^OIn`uxDmQeDzQ zmf71JO0r0LHXrtTY5GGy=%y|D)%vxK*5%i$RUzSk-)fgle$}IILB&}!yD~ck!oO&s zzWRPdX$d`-rWr_Ah)ZGPYH;$qKUV6-={1wwpoe1Z9ZKo@BG<4wK@E=3vHH0*@wFk= zWtgj2eH{AJSoR@N=N#FO?+@3X1Hix@RKf3=YcUyhsNcV<`ImG%O*KQIXw(T$eIQenJ@%WaN2qTm1h$OQQru~2nck3+=gixI zzjeCXFh8?oPrbU6!VH$rR+6={p=UST-;?9;et4hm1&`tB>^nZ$=7_zETCa7E@7*!* z_7qdF_Pf*aQZ-VcLC41S1pIqat!G=ENw8|JtAbbQag8!IsZU!Cc@8jC5C}P}lA@m{ zaWprYV|VzPUxq&>r`L%+k61j9Sw=HoSF`I{D~6iYHZN}j?#hSdUrM_TQI*Wj551j2 zRvCk}hF$+`K+@s`&Vy1I=>Sogu7NTthqX4Iu5gQEH5?L>>031`wFvQW8%18Gc~+q7 zoN|pi(HU;}jT3&TCS;($t*s`=!B3Q09;w!=Jr8txqx~AkxSo&7Yo0#Ds-ki`|HrDr zOF~k{3Uy<9ms6Z2S8=c&quY>RRJ)(`{OzV;!TFSFw9gU0>pc33#k+)4;i#qFs3Rbi z7Vz6@3`X`kO}S6o#KE%P^hgrBN{t z-4-N=2K*$(1_r$<4pvM<8Ih-KFDpVzvH{Tzs)j8L2v^EWvB5&^De1iy_eN_FP#15> zx#B+?t8$DXGz+((kiEB8dYA?nL)$NXhS)^LBJ|e`eTF{?^rzqW7NL?NM>cg^uuP&# zROO93^Gszbd9xG{E8%^~-Oj&OrqdL%p|8QmrM6c*U&#fuJLP>d-LZ9sBK#I=GTUUT z@=F~aBW#I6=P82vP&KbsV)hqKNcHFG8TrJ$7Ld}!M$}HDGXcRR(F!?EwzAWkW}vyS z(JJ^It5ZC@YBNN1*C1yT)Ky^9gnkM{g)CDx&|T$_dL`x)DKGbJ4k^+6+2dKG@yZ1G zuD_OMz_X`b&mP^iR;o~DwQ#vAU+1LJdLD*sl)<0szM)%nfc;9tPqdvlzFEcOeSmPEs4-o>O%vm8%25tz=vOo^ACGh92${B5!yHFk4O-P>Tds07M|^%EU2 z@Xf12eg~Q)7za5e^Yz|Q1LV9%23$3o>lT#!bS6stKo*0yC`}tHEe*Qi8K%a9y(3>@ zHe=fF+}SI!+x0)aasMK2x_R$Me)VT_LVSQ1^wZX3o~2J~^_|wG24mKjgZ7Q?Y?OW! z>t1_U&40l*Ud1|k;kb_I`!2nVHrXypo+QgW|9ym0t<~7i2}y9{_Pko|`j-ZekX55% z9Afs_+Q^*I;Nb%xa4*L$2rNFz`M4A$;DQtE=j0d~h^F^4ss;Iy$WjE>{ z4Demqb4p0SsturCPmk^a2N*1t=U1n^$mV9t0y=IqzI5_#kVuWfbgTPHF*vtC$9W(7`IA1QW_qN*TE5Crt3Tqq9{NOa8{&A#QEB5aYeBEyPdg~NVTZ`PuU znGcRX-$;e|rL$o`gExBjk+WX1JqNM79&NRRodPeZs)|S>8}QVv=_8G}rAr$c3v6~V zGg2vDUKw>n9x4TK&YBb60b(U35e}^t8@dUbg=AVPHJRI-F$e{pmFNi3sS^hdxsKt7 z*^98XN))$0UqreHS-hAzowZk!&=y|WWTy}DpWA3RR%D%D!x}FRxv| zO30VT@l#Yeam{v3krjOBM$-CL@{{C+`L&Ql^oC#_IVzx(jYLwc(wo+Yn3hahf=mai z7DeGh;gsW8-e0$sxCqcD|Go#`uDWxts1|@l3kC~X7a`!X_ zVx0aQ9ARV7a6aD5{>*N#)=)0siJ81?3v)@y&ux;t*YwUlNorkYk1A}CC6OY1vdv#h zQ0VjP))34+&CYDmf}%&fCPoCxY#Q{t>I=1!VQHtz7SeXZxU0&EZ%@bG8+2H`>h<7_ zvb4@z$QyMeXYDzS5oAKYy`&jQ8K@~ZuOth7tYv>@x$0rhCBfjg3@)sEr_BSYJc9tX zR+HaEa4Q7-LDoWb$M7A(Nv5thWRCOY^Y#h=2xf_0Wh#ek7ygXn9U9jw-qf4kuuIyn z5kX_`idlQoS?CV(#XU>w^v<&UQ9BF9K&fbvVkUzc?!h_hxmn@ZDL*K3WK8pZe(%lR zf<&NEkZk_xjT|mp2{Kl9ulRAOuj+>2r$qwiz@Sc2t9xmE`J_?M0F*rYED7UU>M8Jx z^p|b0BXl>tREs?zBKm~7Sy|NtG%QuMLcXjmj(0}~*}Vac9KaxJBxx`&YAI#FUZBwM z;95$z;yWSfcr4TU*;c#uH@=?^yI>+-ViSR|=Gk-VbzGiOoPnW zjPj*7zNmpLaEa~R+F94FT8AwP)Sdu%;vs2K6qm!ezSWD`zzn(R!5#6R;ea=I!0%pm zzpQjp{hQRbIso`xyfKrM>>?*VBXQX@WMyQ570Y_)qd%4ja8mIH_%YZ=|d?bDYVSfS@q z{r9%Fq`=^v`QlN)B;-=qo`@bDj|6io&}K45fxMq9fHoK~s*j`fF1JAUTs-&bn?XRP zkE7@2kVg=7cZ{{};O$3KJcika{dN{ct-(9}%S4D{xRess;qO-Ae{>9w6)7$MrQI!u zvl*ZKpD^mbLrDLPkM94sI^iADKvZ>yv~s1lQ)KchRJHSdU7evjYh~EzMzX{fVs8Jj zuNVJ{Pny?pcNJ}UlSh$4uo z>CGlEo%Cq$+LIU&?|ahtDOGOsD171m%59k>vgTpBcxO^TX!HROyuI8t&gZS|mgYES zTetAo=aDm#{)2SdT(8eNvQlJQ%a^4EDKP9~JO7#J)m_s}^&NM$-D`R zd{FJcgqVNc)Jv=}O*cVZMSkYK^dc`$vYYMf-}8Dd7e55C zzrjj183tiZAFBA?QQYp?24II1r<7ltloIO5(iQiLYR<*vIzB#A4c6K}Xy<}JcEe;3 zJhdiIn&(33dl3$g48Lr_kbud7cRpfbLW7o^eA=&?31xtC+r}E~=l3XSwvqB_RXu>g zOORIiorj0VQ5Fnh&}71==QGry7f|=x?YovN9dp{ZZsb3(sQ`Uss#9nI+OmoVhassu z6}54Gm4xjsSKuR_@+6X*KCfAMHPpv=*Uh`hRNU*+aM^oZo6{Gc1}SF(Z4^z|rkYwB zp=9!9ptBaWVS4_XCkP+~0y*OiMMAWp;|b^M+P!VXy_`a%I&6o*UNR#}j#Zim=uPTi zh3ucgIvMgUNc0YCZ)4Tr!S^(~s~AeDC0>KM)`aYxf>Q8pm|Jdx5cX{$kDSNA+8?NA zN11~eHOeS9uaVPp2~$^kXzRww%3uhHdXp-Se~4w7aTTBVJWI!#4PAP@?ZmUblmh=w zYmqL&+nErqI5{~Dc=6NV4b*|sa3;(r3rG_9dHbz-4KoJeDWsqrO(ilj=75; zGVI{=D!Pw{+5_D1z?%94lMsoQ1;(5o9IOKIDV9eA@T}C`6>ce|(%SelQ)2~tQpRg| zhFY6~tG|W6==OXaD>>kpP^Mt~m6RSIMD2dU;h;Hwe^@z|Ix}DwYTMcjpzTc=s8PH5 zKsOsf&p*daaxN`kx1yb16!N_!LI%0T zF_z{lAqq_oh0pY|@&y$!3fu*LvRfmO){~Z$4>W^%ygSOktRT+WRjw@FzE^t~0?`-zt@l+-3&2GtwQ-yok>w6`Nuzr!eihD~xD8BKo6HF$+X#lG zD7^5QPMRBYc+I1LrAEt4UpXY9qg9=x)R&Z?^Ql7W_Hlq@PmcOLT@|zN4t3D40>``|b^+=bmZJX7*=J75Sz^A<-kPV#y%0^hQhX!TReH0r60^zc!4mYG zaDyySkAL%Njm3+3p~JClE4tm(`7u=0PVFXfK`9k0SUHf(nm`my6{6juh=R-&I_en5 zIE=B*4P;KMfSX-rBrc0hFV@8ACb(ea~^-wP|Xtlil5W5~L!dHIp#81p{J#mz--^cEO4S-W5(laekQ?1$iE@``XzoE=$=LYWXtNPZ_BS zi_h3J!+$A$ev6qtbFLQRK5rL2#n!ih9Nv^mbsm3+-7yT@_kQPb>tyUH-0J+%kEI|3WFQetNVjC=0p}qTh$rRyJwCBGuOF}2ZH2RpXZ~V`>fxtCJ)oml0$d9EXCMdMmhUuiMKH&y} zN8`4ed>=S2yWHL+^zHCPyU!~g_kG;<<^|?2K=~%&pn<>b^*EcVm&D?ieU8e7840be|S4u{)rn_|V zn+YTuu|c1#o!?axZ3UaG0Go_hEA4}Z0~BgK=%=~Dfoqh7ZVyEd6XeTAGGe^J7i?(e_@Ra1ixo*I_7wDPr=h(Ws5%Hi z(E2U83$NQ*KuRyT_*Mp5Od-?j%5qqP~|(v?Of z7rIo-4gUZwBSmh~v*$LEAv+dedq8BsUjEF&@}o$Qqqjv&$Xe^6mO5|a z!ZuiP?*~=$ui`bxE6K-SJ|txKFW-kxIi0DRT9cKXQGSnX`6NGw5n&Uw2%xSy?FQc> zz0gO`p7%vHnx2371C_8fYH8*Q2=4Ep+52Z6q7-Y12m@$`Oi~D}L5e}L^+gu}o1pGD z^DR`TRcO5&8m`zjkr<nB zQhgDve2XwXoP!mQW>9=;x9v%97_UCW8r7v$|`)7ZcF>yb^%64ash_majPyn)NG zLFCnwr)IZxy|}37y=^~dk&g^Sqd&G$l?~!Lh{RKI_;g0Qg>vEx6U;R(7qH0mamCrX zU_~xesWe>*-4LbWTJ}dnWj7l%Dh0)+P42e%VV%L%hS*q-mT1(Kd9j?0Pqvm<-Pg2q z2DYA6%|r~agg2mse6fMfE39g2s24u==xtZu8=+nURlkmZd^dwiN|7#^PFS5y{f0a( zO&iC2&}+d z)zY7*)Q%feV?Lo|P7{&(-@lAJdK{;K&^R6S&haN)zf$U)MSyzdPt{J3Shup(`#&2P z&fdc#;Q1!rol;7?(7apu?jy^Rg7x=9{T3z6e#)QQlj@?c^?xM_#On8BluAUTmR+cd zc~^gFeTie0w;9S)e1GhH`ha>4+Dt^WasxWijL+g-%pf>@HPe;luronXzPl1Nt=Hf5 zw5vZosCfzxTjhIyNTo4wZuq(1s^$96PCc}hkvz%7#=pQ7c!@n#X# z3kSZCMC_G!fYrd~DlxeWPrGjIh< zw0lFrfH><}=0k3%RA138V&62zClFsKCm|yk=$GHSrBk&>6_zqc)3;*VlfIki%c|Cx zek8Nd#c4(xR_7_eE*!)!EdN;wlhjOt!D<6iP;zZMd7$&*yZElh zXabqZJdSt<2Oic)aO$X(QbS#p)z33S0sB?2Zl+%-l~#W9symodngXRLNyVy2y^BGF zOow?}c3P-DNce5?jZ-qMLr4kRw0B>|jX(RItrbHTH*B-KSIA5Yx@pY0DgY9hb-;Z~ zz?25Q7SZT9b|+R+upvMfXSpz*N54${XKv?w!0pcd#qCgQX$Rcy_AhQ1|C`%Y9&o!+ zLEZ|G>Pn4|!^f0cvXJ#pr4@+VPd8L&1fJ>_wW!UwDTaMqPq{h!%uwHX*ulD^k9cpV zl9E%IgDvwspk8D1-Nwnps3hTyD@0@-d+yg|RIy%pK8R$m&sqq0%d*O`OD z7y0dO8poD7B;1$RV&w3VP3uVWWCeFDXF+j z%}GqXTgz*LKvy3I7WRQm(9{#**!*yk)2q$7Y4LkFEfbd~3KBqa5R9AbC$ghk=W;A#bm(KDJPxUME~}G0xXePW7+@K}+76P&)894XzA& z7d7%7?#8JV);Ut1@WwCTn!?`K{OkBYdy^qAUfL2f=ILb4RbyURhhn;x)^y8BWRxRP}+CUVvaj8T|TLQqrr_!#kXynXR{YSv~l2=1jced z!i;u1s;g%j@sna!hxtqN96>M&%gr7%P+%^F8m?uz>0)#2t|O~}W{Qnd^`#Z`@|*_d z6qOZDWJX0nz5c9G0EmmcQE~$0O=~h45fA!Y57OSB^OaR7Fb%4YNE}>bh94#mEC0Z` z3>6P_?n8K3-x~e#VY|vMHEK_+$g8Tmit_-wve|;P@v+Y|qDc~)O{XTc*BpT?c%Y3o zd2l3fgbg4J`}AbLw*03Pm@ewcb4qD-nqYP*MI|}uj7-fQE{BHwiRLfLQz=GwJ;M+o zZ8uKDeYsEZ@}8aMpDofO9GT#`y5jkWM|}*|x9sy~vaaxZsohoEqO^io_HYrEjqu8= z1GSw}EZz{nBrXvcAXJ#gCaxKp##zc4eC$wFysLrrs@!`?YXYOTUjgRT2D1`A+?Qnvf`= z!!F1uFLqt*Nv9(aX0$Sp5mC0O0&CYR!nzMt)lTh7{k2vn;Eb2oh~0@KBp~s1xMlj- zb!rzoyvi%%Zdx<&)?+fs{nD9b`h4cqB_nL4?3&x)CCsSn&}SBsTNKH(w#+gp(?pdN zi)`sHLrKi^w`rEtx-lAlo%l3_5^%e1iXmx6WAscw>xo5}b%boI^99oRITqC^N>@Ka zsc>#u3UTPrL2KJ(Wqvh<=RHKDOT{pvMjA!ME%PB@vg%ma7UgNiXy)!U-V`7}{60F| z?n%?ZDyQEozDD8Jm+4U)gk@>ZNsAV70k)-8-9H%LP3V7ReAcskB2zDXtl_FN!}r}JCn(nf(bLn(x;yXrXoX`NtInyo>C`iyXZ#21#*%uttLkQ{ zp)&Y6i(a6!D))lh58HPExvb_4qwT}x3MrwhPSqcnY_>$Uba6;gD`syVXgOwZ+BX|~ zHnPAvY`Uf~3Op4_p117i|8f$1QhJw!?KCZ!x>KHs7y2@H_rBdJN=`d0(@R7(pJUCa zzJhVvfL*hjLrtxO6d0oFArW6Bw*X1i~QUc#XJi9=^9R@I2>GM?iKc? zd6;YDk^~}NkS9%#O?J0CgmH)8xuh>mcMQ*JfZP7D$0QD}%o6pT%xCotND@8qhAfc3 z9pjVYFjt-ZOvFDt?$2$yNi;HD+oHJXh;G8Wx8nZ&*oqFG&C;oH>H|AUw=^E@jVcRO0f!S2AV6vIwUeSrR8mjeq@mcD7x3 zeMy(!_={*RqO2r;u0~03zBeit=KaBj3vSE`*y&TMC4H}49ziU8nK<|5e{5}{zx(0c zgi2pErPTXr<>w+^)FUL(3lfyF8M*t-T<}5rgQnu7KPFyUNy0^jpAB~{s8@m)sxOxh zU%&!v&;Hjf1+o)Kv#~{H>+@TSQj9-mk4FnNYz6}L(Z?v~)ETI?GHufba-aK8cVz0@ z_8<80L{m^(j!UmpJ;XkFFwG(#|v^W=GtZCRXW zvPRP~IK&a5Hu|BEmj57XKCdK2V%MJB!=te)V=c<|1WE}+H}MH06Ed%sI?k@Reojvh?B(&;t@wPiKTG{HxYyta zP%KtEU6j?38Ct&t*6Jn-)b!eP8P4!H-SC_A2+tl9*-h;lg2*M4U*;5>1|{gD4cE$jX;9h(yjHu zhUUQ98l?`b=Bd^4rINYPei62{2yt%+1*x2kk`X>r`gO@>rSuM;{aQ&~6on7)A~K5~ zE(uOHA8~87rS{AZJ<-=el=b8u*Gdh0qCmxo4m>U5%*ed|^ls%Zq&EL5nyI`{U#0F_ z*8id2H%nUXPDV`uQr?k&NO`vaDevUpr92)$$^)7Qpg2*EB|UF^7_JuV`!Rn9Xk?(~ zG6G!h<(l)rsHETXz$ut?6&%2eNB@Br8RE~DANxCAWN5X40L}0i&J5)IPA_(gGjnys z<9+ZyV?9&tU2K_gwbIWzp|4Kfps#Vj8yxtGU-$0)B`cmeL-U_N)TS{Xgk$*lh}QUv_UC@bEZ*(OGyv@bhB>s2=VdfYnlimT>!iTYz;J=!m1c zZ*`~ciSMpN`d_Kto=O6!-d5c*l>}vi`ciwBC*z=u0M%Ox`deHm9=E*>41i!r^`p%$ zH}R#O0|dgAZ+G&8`Adq`3CsbBmaSs;Q^ISpuh3x!^fsdsK0#1ibJM>L3NyQ1|D_oYiAC9 z8hh?pb+*klruyXO4|dNg&P}j<^7G9PEo=@1!vG9w58A-V4AXFJNrN{Wo?>!3ljlsl zDlGB|7j7KFZPhM^0uJI%rtSTl7?cR6eLNIdDBPe)x+L=R+`N@i<$Hq0*Zyxlr+zcO z5@4{~xV>O|!XRU0E0qP1m^$O)P@{|Q#W7Mrql=@b8NxC(&8bCR9wS)!3Mw(xu^#Of zzi!lQ?h6!!P;&c&X7O!-4Q^4eS=kl5QnCqsEyyh(xeaXgPK^q_GT5(rrf0YJnLc}f z-{K%sYbjGh-GrS3`1txIB?T5Fl6$aHQLO`@dvKS-j)4bsZajPkP-`3gh6E?T@i!rPP`$#C& z){bS921{y3H_A>E*G9jfp5rW=Nzb;BW{i{;XrJ8!)syM5! zeB-2g&Re-lg`&xor{C zYWbu4es{fwhl`^gTILNM+owj1i#ssnOo`FWXPdiyPTbnt6@^Kw#tKKR_U|IK)(t z>%@R`PhP2);|LdNt!T{WfuLgTi@|VOX3l-Cc2c(3P{;7puo1WX+)DrO(iEDLx4Vj@|Z? z_#mKbL4S?Gh*F;A15QQ((H?Gg(KHVN<%rUDh3} z`QS50?Oh0=&6vbQ{m9(*CKt6Y_22C%V9C~LxyJqzzd?4rsc_(x;=&v-;)PpooczaxI z@f%vw(&I>!^ML!}wx1v|xxiFJQMR4l$qg}@@O_T6|8$)q#bxF{4cVN^nF<{!orH^w zW4QBK9r7fGubxUv-9ERwChGkbR#)vez7p4cjiH}<&M_odFe!kbD!<+i2W_&wY2yZ7_b&>(NRy?=5cvjCFHjY~uq#EYs z)zN6iN|@>FgO;J>be?62S1wO=cM_>Fn`INZdYUa&{ANs>KF7j zOp49YeN8kWcX0Sf-4IwHulN+6`mzr2*wX=>-%WKqZO`grAi%JSpf$~=%`mXwo^1i_ zAoEj%8|@hKPnn+`D{W5%4$MEC0q24Frx{I`1I#~p(oU3|YMO$TyPZsVS35CzCiZ>} zxD4%!RJqdnb7A`Xg z;FFGUsBC(+f_)lE-Tre+s1~re63{ja63&@N0lehL1_OJCi*5)>Tzl^3c<1k#pW_S^ zR2UEpDVx{N!6#NGopfxWblD>aZYOo}jBI3bm%FN+Sh%0$ZDctl!qC+<-u#9FpdxY0$nw2@FJ;0Fr5=JewG_}bqBQBjDs`Z#BVn2t z>S@sg& z2%NLb{kf|>oI7ZD>#r4|WhXwr7sp-RN%p%l>Q<>%7A9foj?@~mU@jo#xotp#0RM|3 zvRBz%j}nRy1{0{YmhFnvXi&>)ve4es0hy*?FK({Dfe}$1poG$T*aS8*w;d4rjZv1x z7kXn$cFr{0Iu!;#_S?SU5G$&&1w12aGL2*M5l7lxX888QA$)zO znrtiL#(qeOuc7o=SmfLMMtHZ=*6k_9^_H7v4v7m=l<}*PU0&D7-3Yp?JD;n4Sjr!& z{_8ouL|^uqy#55@>?8Q|GP`horE$hggjJ^Je3f(avP=V2So~B#7Ol z=+uq=2fcFEIzEp17bvTbSCgt3W2a(-f3Lo9eS9xzFCLsb{r$4N|M?9TGZ%VKY3f{3 z!81^#H%YT==(GtZ#peB_!Zy`ws2p8sC?Y!dR0-}77=k-G;0Z38z4D^{bk~S~>@=ca z(`?m?GAJMJzW&~HAi)aJiZ)4P$eWg!HaMLb!TvTr+t>XLwrotK7|UM2MM@>FBV*p0 zYkYvF*HSA?Fw^e8(vt>NzHA1t;o`eJeaC4HwedjLEG^d+=;(<&m}t6%AyQS`w-6?a zjW?OI6As4)ZC2cHv15DlpYWeEAt=hmo)69$!|^GKk#^zp^qrfLG|Jf%Ez;6&M$Kra z{~*ol{RaSe1N%GnQ)IO93+I`}Z&#V6*wkY3IeCX$jV?u=%kzH}m-QO5q90%)mbebT zZ?zh5-t_Yk$21(>_VV0KQpM-0I}K#>l)%K^x(KvE5IKJ@s@*?iOMIZ#KY4=yM~n0q ztI?e3@U-07!S#VZ_82Iu0XhA$TD4CZg?OY)HLHZ^3jJ@Wc-jD|1Y?u+qW8o6pJ;(^ zJx@hZf}|-m$%|t`1@E3ptXH)=<8maAxlSYRV>%lX77zhwd7^RIdOJJw2!zUJbMTM@ z0&A|`$yu6RtpSg|(E%G|x`Zzs5CP$CZ3sxbzP--Nlth7${Kl;rsPc;tVAQ3F<_8SZ zbl5)37@litPRw{YHF#ag|76UH!oAua3eS_Na#6n6edIIZQ}Tzm^Yw&7H4MzfuS!p_ z!Sgg)cC|v;8%YVrXKPyxkW*&FxZ)fC6=x zi+Lc-o2R%BQNq6K$ru0pu&k}R^7;a)1m75|@+~fXNswYU8T2(2)^!i>a(JaDUkGTK z`LnH|%Psr%eG{=L|N7)pt~TdR*O;6Y?MhGeR%dHu4A>W2;3o%E;+flW%>W-d`%o7Y0{SR3$~^Q6Xrp1sHjACNg6}?BRn<3r1M?2Nj`6_tdv9 zC(gE%s-9VqMcDx(pd#EC**3GTn4KpKiM7u=XP14%$0S|k9TCHBDt@f}=OwWt&Usx3E?f+_Y zG)zWMmhesqAC@T8B+^3A5ZqhM>7Vzl*}F*@KFLK$NVhBGVN*K*u+Ee-d2{Ppfv;FVPT=AIU71o%}f zEMO|QHxtog@bm(Y#<$a6ibHX4iysu>TEyGgofkiW)Tf10#d>xJk34qrg2TITkG5(Cb;#soQk3YUsKjxK`@{& zCbA1ApG1HhBz;!a>MmIGw;un1;NHwjeY!6UdRLJDczuyq3G^kh^$n7goRqP+bhiN| zmM%O9Odb$Cnh?sWt?^#rc*1-Z@Qa)~Oi>%>5okX_d$;l_>~}xqn2G0|3h8I(PEY3WxBPDLwhd3@halWSlETlRU_l zi33%wQe4sg7Ow8Z?DH<^r(5s%^>K3ks6gs`;{ST)ZFf3qMu-2AQ1H!;-_f3mTaG8L;$fnb$ zzVlKM?ts*1djEkr*Eqrp6e&<?&t~M9N0?V zYPHX>m&O%LoBvVK=B--<6*-n*n5KL1zLmYoMmymNcxmhF3o(<3j|DRopIO9K0RIVJ zOr-0Y+bkV1Yz6+UbIhYM`6s$%L33~!g?Ex5%>x|qv}NJgL-5z+8yFZRRQV=gka1>o zvh6+Tyy*%AX=y9{cyZFYWIed54!xE7fSvlIM*Hlk$fufxGOBHM3;#p_Q&rZI?*Bc} zQ)==Isp#z&M4gxxRzvDtPv;iOa_vjdOr(;(q0h5UOc8JuaJI9@aX8yA${RCWpqxQn z2N5%@Qclo=Zh+{zzrDWHfA;!{L?o>F&yTNf8Ida|@5K@y?`r=z?atLr<;5mUSM@54 z*Yb{e@ueiXS=wRV%o|-=y3|st{76c*hGXH2neHGYpVz28MQb41yB*>Cs#Px{YtYVX zM5nSbU0GY9bMHBB()vb(H8`J>r)B+SN+}U;cR+AYcrRckR&x5F#qMWJ^qZ+HAPEYK zLHqI3GH-_aSYkrBS=YHH&`<5qFuo^8<{M7+|6Y&DPOo^K(w|w8!DtfQ23x^ z5I_D*9)h4%?Cmow9?fPjP+fm#FMPVJ&72!yoIMgH2z7IYk=9%f4mkr? zdh2z6iGCG-y+4TsM4=4O#tuAaV3;=^CyD@?V&DV{uqSeybNiy#@S-E{ZZ%$)vGn|A z;%tm;zK&=(A|yPi`&$OXvtU!&aYYN`{{{$BvxeXNXY23d->g4mB110e@rvcWC7xRm zs!3`OwR?&ipe#Jc)@cu`3uy*!ptpbs%~c`&Yfr2w-b5Rse#Lx>Jk+3QgK$mDAp zm0Q`)J)xoO!*R6Yf>Vyt>eCU<$jRfI(x6y|sfp=^@kWY0{H18wnZ6AwOb#pN?=1E( zBO*$Zc%C$2E_T1BOv2QD?@QO!MRl1jpG6s>3<&`WeI~G4C@eK@VJKgP&-FuZ)jni$ z7jobU82OxR!4pZb+E|_{tJjqS_CUMWIy=?vZ&hzejQy4N=`Jj-MHmmUSEF`Axm`Oq zF7F|N_BmQT^~i~2YLqbjjuzM>33rq^^`e%hQNa6=*yQ*5TibyDv?F=<3@y!Tn_70IJHFO0bI?ZBd4L&Ohm4P@*JjfI9@ue6Q zYuvQ~C=v9s=48z94TS?1NH}QczL>ARk=*_b%U_-%NBOX5H$PyZ@kDb&@)S&)@p+{= zc3Ao(aCIs3wHJFB8gZGmw9NLq7U2!dzLI3!-Y>jJB?145eU+W&z)1Bs$0u1H9oo4O z0Nhv&R+~65bFz;}MWw?R0}iT~K)UAwsnx2ik3@P0Z+{C=KltHq(<|;&xH?m_-9tv3 zIqk)PVQf93>|!q*Lbp#1`k{eJI7+tSTdG^pj0^V{k(`*dvsd4}d`hyTO}xyI>|_dy zU@n+_5zIcMrnMF~JY2R_j+BEy;u|D$2{{$L6ffI@$R_go(N>!#qwH4V^Yc6Ae?`dc zjNTYN#mnv(qmYl|pL_c&-}7;&+t_}A9CJB<{zO&5Kh`l`tL>ZnxN~QO{z>AKIzUxa%~$NviV3<(T! zVb(KdwNEb_jXJTvmAY$GkBO}G@yFr>6~3esBS%O~OWT_G$96X0vrn0X87mI9Qdz>C zxWRD{jM(@q*Yj4N|KrWAzvX&*Evk|YclFl@h(6BmhBPUk;pL|EtLPBySIVhZtmBUkc~N}@mOgGj;ayN9h4Wr2}UVB+bvd(5Nt74zlEA5B6J6AF9W@NJUzB| zUsn-f0PwSK(+^T11iHn=(9!|smIM&L#{ltbu)@@M0a=}gj8F0LI9Om}0t3`#rib|s z{Tgj|Fjg)3T20vs-z8|WWC{?W0+;V#bXCQ8`qc}L|)eJ9p$soZ2Nzc z=jk8r3*>pym_5ezUjTp4A?u0%gE-I4SKcd9Dw9hYasQF`L3V|_7N&70e%6)#D^9nt z^gEZ5_g}r}-yu@NyHt!n*ZvA%+cAKFNmPKw2R`S&-2x2+?{5?8Hb?xyK7dzup&#||K2Q!ZNthFr%fp^WeXcSBkrj};Awb~*QG_t?9S;q?X5%t;Io*p0B-JLHc z1Zslmu3Nyk_dq}s^xOg_yazIYcbx!@k0}sJpVO}s0p4vC@CA8>y_c|~Lmnesek-BS za|dr9`Qsz!v{}U|zcR1+3 z^U?iZ@BzoP0?Bbfb<0z2Nu!JW3Qmgcl^&Y^5Kt?>8CP)sEr<5d5%>V&W-9Po8Xpp= zs~Zhh&8s$>_Bwv(_R1akp|@GG%|ij+6X)cI!gqMMHE=tBPxRE^Sq*dUYkWH)a%lR9 zO!fVZPB>7y_!Z_^V8RWJ49`Ei-ghgBpuT*Mvw&>+^>1*mX8{oS4gw@Eoz0F*0`!^$ zoSpzM(u}scDn7^+HMROH$}{a-!TRGoQ^}>p>bR5T!?d;Vic-dCQ&qz};HbaqI-M$a zZa0s1r>4Se<2Lf`#O*7CKiAizYF=(I`}@@QlfeE4QcnH5mjkgq+(7}w_a47W9O0N3 zu;?J9?7XVnNb`(OZd*VBlZ}7izjt>B$mzd3jo7v1k%TS-CH<|(t^JqkGY^IWLRK?r zf?3j^YYi`E#|nJu$6uXX`Y!6(SdL_pqAr8qWlJWWB&kpWolRTHG`P=$KIC`r?9>r#)OuTwF`x(w$q)Z z=Hi;ur4M5Bq?Ee9tCu<7Vg52oGe&6;}^hJ9R24yxEaqW3q6D z)m{ooX3E#B>#i&O8F~X+P)c|G;iXBlrzuH2AD6P>{WbLO@~@$P75^Ce=hz;XRUALo z!2k>nt8}>cdV!3HXjX_G%A8J!cXBMDZ!-Zyc4l;y<=PG@&x@jqlVbnOPq7p=lX3JQ zCkJfMtnfc~)Dd{S((;(%ZQ1TN{8*k|aJK{eVrP!EN)uz;0ao(Oo|t>xL5QU`Y9$>J z^8G;GsffsmoTZAR$sMYb@>aG|QrCl>-16*&d$xX9`GXcH17npbrXb18xWz;_VxyrV z#?U3YGWh1!PxBGSKmFt(*c^O*mPTJkYW4Ay+SuJ+BUJ(r=kj+1`SNhB%-*J@6O!ed z&RnW(&RU(_WezGuL6@?pe-Fy^@gJ8o+9#(a&jT~Nc_gPqIT8zj=*}brP{Jsy^c(W4 zmAjD+bzIoKkuIF0WM3(HZHSE_QqDPa^2YK*kXQ0Nufvs~_duzx)Gsk)R*`3)jM)Z) zJSF<#ezQHp(rq9b!TRa|;^7t7>&WNTQp7u%qZ{IWWAtZ+k@;<9Um7!OfNy@%TIQtS z&{)A7{B(ftjFF_jO-jSIG{=1F)3Rdh=79Nt`2p3l25$xihn{Zn@+MDRc@K8=s%4B` z@}9JNJ(+jIgkK{eIg{P7k`W}FA~G+6=b!yBOL~-xgx`dU$Zf0u0QIqizV&kHcdeud zuc^(V^@m=Lm62`M453J(8yXu!uqbNt@#SokE$dQdku!W@BDK{A!h}q_e^;P*+o^~Q zQ7G&0imyM1veRZyz`H-ZW=hXb5D9lJzW>I2zJ{7}xtbZ1|BWIqW$jHVGth?4aNqyoAF6tIDS+cmn=xMXFe|5PfJpG1{X zihRY_xS9LbuDG_TJR9*{opf0^#*lPg8!J<$Kah1TVO{ug(n+5^!4w$TUrpE64NGW}_t zIS&HaGV(&MSB7IgFR1-l`CI-hb@%S`-k(P@_?5+{?aSL{`DX{}hT&?pOT%(@)}_6} zTQouIvtsPkjA`$>w-6hXRz_6gF0fVEpCkpaq<^fsuio;#l9N2z zFq?w9N3(A0gZy*4KE@@SCYavrz|TR}liVkK?YDhpo+;Eg$xei^B^`q(hkNzrpt1wI zt89FKVa25MrBa}k)*&o#gaymRoiL4f_fOn!3m4@1w}{WeFc&BF&;P3eSij_)N|dem zLC51;$8rV(?CL-2*|L1}R1%C%=Pff3nQLvmtdb z?a#HXsNnasKlYI9Oo0299&kVU0r$&y+kn*_Xn>ah4REZB1ss<;@=F8!(^)!lsP5Aq zCql>HFsZ_~dkw`dJbSNRx)l z5CQJc>)!{ow-T#HYd$_PwLXnbGQ}xrzJ}>a23r z7<=1rYwi?36NH^2&yX7>e!P`zGKahN99sA%&1fns5tpM-@ne&78lykZ$IwBsn1B9a z;l(Y+-v^Wltoob2doPm;Y}jF5LFZnNeIB65j%kpc^-?J8)6!HD|%bGl8p;DMS+O7du?DgpPp?txrFs_Q-UE)rZOsF;S{{8tZ ztg)>1nYNqTz)+Lu3J0$nxB5^~IPoxrFjBoV8*i&k@euH!DkUElFMEM5{aBGB+HY}Z zN)dBp%!^&GU#U^YgAcOpC7O_pr$;B$B~Me@oqAeKpleteYk{f+LQYRAT3;~fD;$T!}6*26oG6F>QNXSkP+E3qq0PVAdm!z1tma$3xq%-2uXNvqHX{EzkTQTB=^I~IrrZ4JJ0hQHK!GF z-cf06h?%$G)Jgntn4;%M33i9=4gGsR&8nW#!h;%8R;nV?3P|# ztX)`98Z-1Xt~%XTmh~IqSh>O3GO?!!4&>^W52f0;5+*AO@1{&t-zhjIFL_;$gOv~2 z7a~Joo(J-8o`BUP(ve-a9FNwv1&XMz4oTbTKz-nS-(ZC zjVimCK_*7(Qy0wCZg1#chz`CYDIy8MpY$9NDX7kQZiWBSnD)0caB%Rn7&cb3OMB7| zu5UbAR4!$_d(rpMI~y+ta0%v`^I%H)du%_{p|~OsZp-?$GhnR>8v(^WT+zY>F2#K` zfZzlJ|4XL8uZ=TP$+DD6;Em<|7=QEu1JYNF1LL=Ms)!FRMGR=XJP)0;4QthJRF5Gdm+Bu zSJ_5I%O-;M{R^Nf4EBz6$yIg<$&og_->fs~Z&zFJs35i9u_u_5knDXLBeU2ruak}K zi)KeUrD28IIj=W%d6``W!^T&_ZagWV#Vcp^TfwHK-Kh%g(c>n|4yUml7n2WEOWzLl zC3r15>zYmHZ|bzpOFh#3)5SHNR;}wU#A*no-zPDw`je&fPLakE{&k2J{Wlk9Q(cG`Gs%-f+HRBvJclRxjYv zLP1IWdKE($`G@kqU$|_WM)y{2V$g|S|HcIxd`kuAqP?mPkw0}^9aq%Q`OZbg_&dbt zsgkNGhO5}ffZUdK+RQ6#*OO*j457j;)yECoD{(wXkxI_J0Y4%dVqqz~w?ci!eH}&S|qvJgsk`Y&rp-^)4kIGRmD`vcl?~=|kRy9Rv073E3M4 zYL2#tKCX(L*!h0Fa`0TM@!>B~8+ra-v#LLTsAp-cZ|LsoTF?~JiAW)}4QftA;kA5F zh_?<2fvVb8^59l`BV!-Eg{U?-?y>5NRKMNRuIqAeBI0+1B*X%k{;aPfOa*^}fjgpN z^%#S7=czlCR5^I>*{97w=hBK#@`ue92BieAr--KG044j!IdSTHc6i!79+~Al!xCN9 z%b|Q8G^#h)3EY8(P}NaQ+}ad1ewg=1Pfawen7G}@U3YCQHMt1p*f8xi@%<8*d7jY; z*!gq{`M8VOB>;DyPguHc3^|IIn8DVY?Rz39f;<1>i!`4<)%}bx@XhOa)TIUVdOCq# z&&;Ao{h&6j^}|UDW$x&hVCW}HC5|{rdihOWM`ofXoCAs=huX;&Byob)^us};8C@yg z(RijM;2+ey`6>GHk1F5bK-Z+v%^99LLw5PaN%6TCBt}e$s&h_B62-Bd!~MSjH(x*Y zuCVqcrIgOXejd(BzFxRql6eK4dY?OxA0Ch_hyn3mW5D3AF<^u+28=WhvQIthm~CK# zOzYCV`v~=vt4dU3?=|VRAAZP(q~BxSkUjxVz8L3XDVDG#Mf#EBSSIUcOR(yT(z`HN z5V_@)ZG^Jxj#JSO78_fnr=n7s^y+$y-BgY5Tt@KmJ3N;{7Q`A!(rUUKfHB?E*6@6YhlfjM^l10epytmes7Juw95Y)$C9M3SVszO7 z&m34uL#Uh-X~6CBDTd~Z8N9AzIL6=mcWvN2w+LOi=M-0p^wFJ@dXXf}Ghx(V64*HE z0Gnj5Ve4ku)HiHpt0>Og;5fN@FEJX%wn8Fe2obIVo1In9kKzChPSQ$fA zqlL)bw`pk5h*oiDHFV*aQn}lqijQ8Z(0A}dub=n-Rowlam;5)O=NaQ`YQnlk`pjdz z@xYm^m&)5mK|&k3N#eoG3A&PV_UK+*$IkFV@rGa(u-UJuQ7U5O=hWEBmDm4}0t%+1 zAO)n>2%x~&a{?&vQWW#PD&00QTPA_4wpI}?X{P)GTtg<80R#?N8)~n$G9GGMgzq9L zBN5N?H)}Td_Z{xl*G;gdZ zka9vlBDu3sRZrBswd=JpcJlb(p0}+K&y>*Qeifp2jj{%{ve6Y>V`YSD&wItf6i_hv z?44>)JYfb$Iak<4riI!&bZn2F@B#8h_?!{!IoDbzrUuA7x(s>6Ob5E)Z7|A5+aBfz z1@^UxF|QxYT8KUUVltFt4%Zom6^aE005Mlr>q<55oa@smEAII^*$T%kw`XUAv#k@T z`Rphx7@MAC%q_ezT#f`XCUg6fxOVmYtFMHSpW)vkzs5f!Khg`B(XXu^_k{WUtIE?h zfUW!#eTb#)A8GVjb3mf((vG|2n^ny|jlmiN`7GPc&$w%E`lodIuLkrAQoo_UQa{z* zzz$*R7am}NdZCaLvsx6|)bSjvrv{G^bHW&y6nDhGj=JRL*E6Qn>JhaU$H8$Co#aQT zv85FGi!Si!Ll0(ru9d_o`Z0g8!!|$V6L;(7$x&e_N1@M$Ez1Y8C)*f<8Id8<9PAv7TMHN0E+jsiw}D>(2(0?etHjV#?)>R^yi z2G0>223+9;oRE7*kd|9g!Ad`V6w8?_n_r7g?g+RCiU4owpKmyE%;&dXfvR|?y z=}e+hFKDJ^E69R1S4IM)}ob`LP`uXdSAC z@25qRg4QCGV`!2amA9kF-^TW>{k@s6?UPkjlbhb+!$8Z7 z;mGQ!40wp?!^kc)8r?$Y&4EuZbBJVt%rn#(x*N741OVgwjQP7Pp>>m5AOM)veo*Ic z{NE>)f93x?NdF`McfErZ)~}ZyHtQ?DWykuhSBj_t9aC3E)g3>AXw43OA}M6E9_#m6 zxj?hmq(QSM;;Y#+6Eu5T zw64CU)|FMmPlKCj7h>~t5BD4w1$@WORW7><_H(9HyyVV7*=x7pN`bhQr;sGRC48mN zx_^f%s`w6(?TkbXCeLQYetdtKA$J+7=-GV4-=nzNiM{r{Q??3Y4w1d5pdR4u&t0OT zYgqHbUf zOFt%zi(WStKkRPDr0Lm}wx~5!qgcY`KQHyvg{XHW6EnZ?Vq9xzGkbH2XKk9$j&p9n zTuqqtjYze8DglPRgnOkU)e zS7dj%DwZ%e_%W;r0lv9jo`_k_RkR7*WG)7Zq+9d z=XC$Z*KClrXhM~~ku?9_q3k7Ilti5DG#Fi9*Ho%np*FZbq=b&i9b5OsRPElT3D@5O z+OXSSzCD-`>I)&@Z^dp?x2ColdC~u9{ySE2))Pb?Dqqet>^W0W*%wY(s12}<(`7L* zZSE&frLx0^a$iJV&P+PWf=b#jTgFX}ZA!|}8a55+QV@+@gg&fI^ddww6Gsq|Zs*Se z9ZX>K{5VuX2|RA2Vhj<4{JTGO91Jkw`N`*N4Gq6~15zP?(&=67oe%bk5l-b`W8mcrq9YAT^xvO!vT0K$t} zqnWn1CDhEPjR)N$k$0blI7Vz)55_UGgD*VE{#3H6n-M};cevw#+&ibxR-{KfQlkOr zl|?jS{d!lId+k6UF5K8>_!Mly3%(J_U6$NFI*q$U~#v}bb;`z(F?2YCKQtrX>%M+ zU*6W`T#=3S3t>r^D~|nNSV6aq8mJ64o+D)G$g1Fn5`zC9s9?;n02OR!*6#oJ=Qc-KCCj{dK(Irbz0 zRDiCaL7vZdh1Ibi1O-<-RzNAICie>|ZeQ~{f9(@U@5wfUjeMVMKn3VR2b3SQGMSCI z2?Z6PEmXHS2$DmFwPd-)>T&tYV0GZiSn{VO5_JFiB*QxwbsV`mjc-xRMQS2J5V6H< zKk66~EF5gvx*vIzI|C!i#DXd14ue4*&oF literal 0 HcmV?d00001 diff --git a/docs/_files/reprocessing/s2b.csv b/docs/_files/reprocessing/s2b.csv new file mode 100644 index 000000000..5a7a40b30 --- /dev/null +++ b/docs/_files/reprocessing/s2b.csv @@ -0,0 +1,121 @@ +product_label,acq_date,original_id,original_generation_date,new_id,new_generation_date +ga_s2bm_ard_3-2-1_49JGN_2017-07-04_final,4/07/2017,0adb1e0b-a6bd-40b4-866a-ebbf8fcac568,27/08/2022,9fdfd75d-76e0-4c12-8949-decc72a1d7ff,5/01/2024 +ga_s2bm_ard_3-2-1_49JHN_2017-07-04_final,4/07/2017,c0008b31-1af7-4c9d-b356-5521b92106f0,27/08/2022,66c196ed-174d-4f0d-bab9-da5f39e8ea5d,5/01/2024 +ga_s2bm_ard_3-2-1_50JKT_2017-07-04_final,4/07/2017,fb636ff3-2073-4a6a-8323-5b0787027286,27/08/2022,2c9b2230-d4e3-4ca1-b57a-ce0daedbf80e,5/01/2024 +ga_s2bm_ard_3-2-1_54JUQ_2017-11-01_final,1/11/2017,03727651-5ce0-4fea-b270-ef609a0c8262,26/08/2022,3f71e89f-029a-4cf3-aa01-ffb296cd87f4,16/01/2024 +ga_s2bm_ard_3-2-1_50JQL_2017-11-02_final,2/11/2017,71c46984-9197-4f23-b94a-78e6c4d1010b,26/08/2022,62c24e97-c0c3-43d0-8a47-dc921ff30f33,5/01/2024 +ga_s2bm_ard_3-2-1_51JTF_2017-11-02_final,2/11/2017,b0e2f716-4dbd-41c6-9442-1699f2e369a6,26/08/2022,f27a3ff9-8282-4683-b5f0-7d293db3318d,16/01/2024 +ga_s2bm_ard_3-2-1_50JQM_2017-12-12_final,12/12/2017,9109c34e-2401-4b0b-8a7f-bcb1106f1202,27/08/2022,cb51ba01-52ac-43e7-a338-e5fb304691bb,16/01/2024 +ga_s2bm_ard_3-2-1_51JTF_2017-12-12_final,12/12/2017,a9dae077-3047-4f28-a7c3-6e2fcbca1cdb,27/08/2022,7d0bad99-7db3-4037-a603-a6b9141f85fa,5/01/2024 +ga_s2bm_ard_3-2-1_50JQL_2017-12-12_final,12/12/2017,cb552415-a473-43a9-9e85-fceabe7dce5f,27/08/2022,c1635c0f-0c34-4056-846f-ab143f6f87e3,5/01/2024 +ga_s2bm_ard_3-2-1_50JQL_2018-01-21_final,21/01/2018,464cee0d-657b-4fc1-b3ca-6522048ddebc,14/08/2022,af15bc1e-f85d-4f3c-8a3a-c53efe705433,5/01/2024 +ga_s2bm_ard_3-2-1_51JTF_2018-01-21_final,21/01/2018,be735874-c3c8-4a25-8bff-93cd5bf7bd53,15/08/2022,de2ce5a8-fc6a-48b4-ba37-9d75f55c4867,16/01/2024 +ga_s2bm_ard_3-2-1_51HUE_2018-02-07_final,7/02/2018,12a555dd-7512-4eba-8b7b-e48ef87593a1,14/08/2022,cbb1ec0a-3422-4d30-ac05-fc88fc98e20d,16/01/2024 +ga_s2bm_ard_3-2-1_53KLP_2018-02-15_final,15/02/2018,365a4e0a-4986-4bc4-b508-48d19e35dc5f,15/08/2022,09db463e-c41d-4e9f-9a80-745ce0b24999,16/01/2024 +ga_s2bm_ard_3-2-1_53KMP_2018-02-15_final,15/02/2018,930e0439-5b59-492d-8fa9-3934c1ba6fbd,15/08/2022,dacb148b-413f-42e7-998e-ed2d6e24fc4a,5/01/2024 +ga_s2bm_ard_3-2-1_54HXK_2018-03-05_final,5/03/2018,49bd0ed7-4176-4df4-87a5-2c44e4e64c0f,16/08/2022,c32119be-9d5f-4c40-bc64-55e14f8cccee,5/01/2024 +ga_s2bm_ard_3-2-1_54HYK_2018-03-05_final,5/03/2018,8792143f-bcfb-41b8-b44a-cf3b8bba7c60,16/08/2022,26e1f63b-67db-457f-a776-92ed3c8af36c,5/01/2024 +ga_s2bm_ard_3-2-1_51JUH_2018-04-01_final,1/04/2018,28196b2d-2fe0-4d18-bbfa-393a3dabf0c6,18/08/2022,3ef3d1e7-41c9-476d-b1a5-ea72c86d372d,16/01/2024 +ga_s2bm_ard_3-2-1_51JTH_2018-04-01_final,1/04/2018,9864cde8-d8af-459e-98fe-e62995e3b155,18/08/2022,87db8bae-4d0e-44ee-bd94-ab8a0eef8b57,16/01/2024 +ga_s2bm_ard_3-2-1_51JTJ_2018-04-01_final,1/04/2018,c2e52e05-6167-4347-ab10-2814ff47c65b,18/08/2022,88e615d6-4336-4ca5-955e-5effe504bd79,5/01/2024 +ga_s2bm_ard_3-2-1_50JQP_2018-04-01_final,1/04/2018,d0a9238a-87de-41c9-96b8-451d4cdd1cb7,18/08/2022,a85abaac-3196-472f-b22b-9a3c83758a13,16/01/2024 +ga_s2bm_ard_3-2-1_51JUJ_2018-04-01_final,1/04/2018,f28225d8-1220-4041-b7f6-305104d3320a,18/08/2022,0735b123-abc4-4c6e-bc14-4c2ae2b6fe22,5/01/2024 +ga_s2bm_ard_3-2-1_51HTE_2018-04-11_final,11/04/2018,144e48b0-6435-48ee-b948-7ed80fb00995,22/09/2022,66657f1a-b2a8-4c96-85c3-4c04c6ea4aa1,16/01/2024 +ga_s2bm_ard_3-2-1_50HPK_2018-04-11_final,11/04/2018,34ab8bb8-34cf-40e3-8c9c-ebabe01e8442,18/08/2022,e698d150-f683-4c71-aeb4-dba726ceb9f7,5/01/2024 +ga_s2bm_ard_3-2-1_50HQK_2018-04-11_final,11/04/2018,3afa1bbe-25d0-4611-a153-150d7c62a763,18/08/2022,e0714138-ee25-4719-9627-66491da05406,5/01/2024 +ga_s2bm_ard_3-2-1_50KLV_2018-04-20_final,20/04/2018,2910fef0-4d5f-49d4-98e0-72ffaa7a28c3,18/08/2022,9e0dd283-ed10-4d56-bc90-0858788a7473,5/01/2024 +ga_s2bm_ard_3-2-1_49KHQ_2018-04-20_final,20/04/2018,7aa439a3-8582-4a3f-86a9-0448000a0157,18/08/2022,182b92a6-7c23-4557-876c-f646e553708a,16/01/2024 +ga_s2bm_ard_3-2-1_50KKV_2018-04-20_final,20/04/2018,89253f9c-1af9-4237-9a67-5e5671930883,18/08/2022,28cd46c2-39d0-4595-84b9-74ce6be8eaa3,5/01/2024 +ga_s2bm_ard_3-2-1_49KGQ_2018-04-20_final,20/04/2018,dc3d6a81-ac4c-41c2-80aa-e2d430166e62,18/08/2022,845f5812-d3b7-4f30-a6be-b631e2e3c0ac,5/01/2024 +ga_s2bm_ard_3-2-1_53JMN_2018-05-16_final,16/05/2018,0147e7d5-ed6d-41c4-8421-669db76f9eb3,18/08/2022,7cf76839-94c4-4c81-a54f-29981aebf25d,5/01/2024 +ga_s2bm_ard_3-2-1_53JLN_2018-05-16_final,16/05/2018,c854f259-0e15-4241-9cc0-ddd391ba3e39,18/08/2022,3c69bfef-14e1-46bf-a7ba-09433e91def9,5/01/2024 +ga_s2bm_ard_3-2-1_54KTF_2018-05-23_final,23/05/2018,526f5668-c601-4c6e-a86b-880ca19fc3bd,18/08/2022,d766dbff-5832-44f9-b65e-90d8e5ad3ce7,5/01/2024 +ga_s2bm_ard_3-2-1_53KRA_2018-05-23_final,23/05/2018,c9240d2c-e022-4d1e-a1af-5f0d21725e1c,20/08/2022,d29c9003-2e8b-419c-830a-93577d52e22e,5/01/2024 +ga_s2bm_ard_3-2-1_52JGN_2018-06-08_final,8/06/2018,0917e9e0-e934-407f-829d-2f5c2e9e6d66,18/08/2022,412d8e0b-1c0a-470d-9e79-890b944aabf1,5/01/2024 +ga_s2bm_ard_3-2-1_52JGL_2018-06-08_final,8/06/2018,424894b6-ba9d-49ac-b908-c3215bca73f0,18/08/2022,687a623f-3bb2-4344-a58f-b6b7f4ea4db7,5/01/2024 +ga_s2bm_ard_3-2-1_52JFL_2018-06-08_final,8/06/2018,8507670a-3c68-42ff-a563-e13d3020dde0,18/08/2022,3f0aaf53-adbf-4d47-a187-0610ab4de362,5/01/2024 +ga_s2bm_ard_3-2-1_52JFM_2018-06-08_final,8/06/2018,9db2def3-09cf-4a8f-a661-d5a2b74051aa,18/08/2022,df089dcd-adf6-47c1-b16b-e7a4b0da5fac,5/01/2024 +ga_s2bm_ard_3-2-1_53JKH_2018-06-08_final,8/06/2018,a08d7e9d-711a-4f44-904f-a07cee659601,18/08/2022,6684eee6-2ef6-4377-b972-269f6a32ee67,5/01/2024 +ga_s2bm_ard_3-2-1_52JGM_2018-06-08_final,8/06/2018,ac9fa7a6-17a5-484f-aefb-be5b70376d44,18/08/2022,cc84af98-313a-4c18-94f4-429363c795ab,16/01/2024 +ga_s2bm_ard_3-2-1_53JKF_2018-06-08_final,8/06/2018,e724d218-dfb5-4b58-930e-3afeead62bbf,18/08/2022,3b99693b-da42-406d-a700-a8596461598d,16/01/2024 +ga_s2bm_ard_3-2-1_51KWV_2018-08-19_final,19/08/2018,5d30ad6f-53d8-4164-9cd1-c9042f779365,20/08/2022,f84133e8-9021-4f62-a7ec-fd20a34fa72b,5/01/2024 +ga_s2bm_ard_3-2-1_51KVA_2018-08-19_final,19/08/2018,5fcf654c-9442-48c1-a8d1-e6dbc0021944,20/08/2022,de8778ed-7b56-4d3b-9fe1-4c2fccb56f71,16/01/2024 +ga_s2bm_ard_3-2-1_51KWA_2018-08-19_final,19/08/2018,ed8a34ac-9194-4bca-881a-4711fcae9533,20/08/2022,d9d6c27f-d1ca-4c15-8a65-42c487dea89b,5/01/2024 +ga_s2bm_ard_3-2-1_55HBC_2018-11-07_final,7/11/2018,2a43b454-7ea2-4bc0-9dc7-295e27c7a11d,23/08/2022,497cfc62-3477-4a05-93d7-b5f52fb26a91,5/01/2024 +ga_s2bm_ard_3-2-1_55HCC_2018-11-07_final,7/11/2018,2b4ec835-777e-4996-a804-beb3dd71fa3e,22/08/2022,66809b95-8ab2-4d65-9ba3-bd6c455d565c,5/01/2024 +ga_s2bm_ard_3-2-1_55HBD_2018-11-07_final,7/11/2018,3e84b1a7-0d2f-4bd6-b56c-0cf85fc035ff,22/08/2022,e4affa55-fcc8-4da5-bd4a-c03272a0e42a,5/01/2024 +ga_s2bm_ard_3-2-1_54HYJ_2018-11-07_final,7/11/2018,75f48cb8-c74b-451f-a4da-594c995ae3db,22/08/2022,959d2484-5306-415d-8103-0e13bd910d8c,16/01/2024 +ga_s2bm_ard_3-2-1_55HCD_2018-11-07_final,7/11/2018,c33d7c72-aa00-426f-9aa3-1d574a4c20f0,22/08/2022,d8c4103b-dbf2-4eb3-acad-d96763940833,5/01/2024 +ga_s2bm_ard_3-2-1_54HYH_2018-11-07_final,7/11/2018,d39196f7-dba4-4d85-bfa1-a4be5a6fb3dc,22/08/2022,b92dd266-77ed-4973-b6e9-f6e27beb0548,5/01/2024 +ga_s2bm_ard_3-2-1_53KQV_2018-11-09_final,9/11/2018,12a09557-cd9c-4c1f-b6e9-ed07bf7469bf,22/08/2022,223ea8e9-e97b-421f-9d32-b68d4cbccb05,16/01/2024 +ga_s2bm_ard_3-2-1_53KRU_2018-11-09_final,9/11/2018,18948225-3f51-425c-9a50-f47818e224a5,22/08/2022,138a6fef-e818-4570-b20b-56698e8d2534,16/01/2024 +ga_s2bm_ard_3-2-1_54KVD_2018-11-09_final,9/11/2018,1abbee30-1b56-47c0-bbe3-e3754272b5cc,22/08/2022,57d04505-f543-4fa6-aad2-74f73ed6cabc,5/01/2024 +ga_s2bm_ard_3-2-1_54KTD_2018-11-09_final,9/11/2018,24913768-7366-461d-bc55-910ccb6e2eb5,22/08/2022,f2ffe833-2a74-4706-861e-a331ac6a1c79,16/01/2024 +ga_s2bm_ard_3-2-1_53KRV_2018-11-09_final,9/11/2018,bddf4f72-0540-46c1-8332-b5a3fe9b6788,22/08/2022,c77eeb5f-4bc3-40e2-a8d9-c33f9a7c8c3a,5/01/2024 +ga_s2bm_ard_3-2-1_54KUD_2018-11-09_final,9/11/2018,edc9f6da-b823-4d48-8b31-3456054c1f98,22/08/2022,6bc399db-d2ab-4cd5-8f53-a221331f4d3c,5/01/2024 +ga_s2bm_ard_3-2-1_54KTE_2018-11-09_final,9/11/2018,fa1b9caa-1acb-4279-8d9d-e3119044b881,22/08/2022,b4679536-1d9c-4ff9-b95c-757c47007b92,5/01/2024 +ga_s2bm_ard_3-2-1_50HPJ_2018-12-27_final,27/12/2018,1dc67669-8702-4ffd-817c-c450cb94a6b1,22/08/2022,6dae37b7-49b0-40cf-b907-0089d1cdf5a3,16/01/2024 +ga_s2bm_ard_3-2-1_50HQJ_2018-12-27_final,27/12/2018,4d076c10-253e-4c47-a13b-016b2e16de5e,22/08/2022,3ba52950-9914-410f-89af-4663eda41a77,16/01/2024 +ga_s2bm_ard_3-2-1_51HTD_2018-12-27_final,27/12/2018,819ea57c-12ba-46e1-8c2e-e1b97db835d4,22/08/2022,95ffd048-eafc-48e8-9047-b9085a13f1d4,5/01/2024 +ga_s2bm_ard_3-2-1_53JKN_2019-02-23_final,23/02/2019,6d47972e-ebdd-411b-9e64-0ed8757dd7a2,7/08/2022,7b904f80-8f7f-4d67-8a80-761dc9239b79,5/01/2024 +ga_s2bm_ard_3-2-1_52JHT_2019-02-23_final,23/02/2019,bba6bfaf-406d-41e3-adb5-e2139778e837,7/08/2022,744f2400-9570-4639-9509-d04174dc3ce2,5/01/2024 +ga_s2bm_ard_3-2-1_51KWA_2019-03-27_final,27/03/2019,50cfbeb5-3cc5-4cdb-9587-41fa0797cc18,6/08/2022,61721718-3bf7-4651-a119-a8a9d93099b9,16/01/2024 +ga_s2bm_ard_3-2-1_51KWV_2019-03-27_final,27/03/2019,5734a46a-84e7-4dba-807a-9ec8e5a24150,6/08/2022,e3977cd3-185d-44aa-9410-e358ff65b584,5/01/2024 +ga_s2bm_ard_3-2-1_51KVA_2019-03-27_final,27/03/2019,589a4ad2-8556-4a81-a5ad-8f4adf600fcf,6/08/2022,7ed72092-9e89-4782-828c-8d887f4a3e89,16/01/2024 +ga_s2bm_ard_3-2-1_51KWV_2019-04-06_final,6/04/2019,c0967dc3-db80-4c6e-92d4-cb1daf4f9f57,8/08/2022,b980fc98-51a2-48fa-9fd8-4e3969bbdfe3,16/01/2024 +ga_s2bm_ard_3-2-1_51KVV_2019-04-06_final,6/04/2019,c0ea85fb-921a-429a-8d35-f369ec43c3fe,8/08/2022,5697c0c5-902f-43cf-8ac7-915b779bf3e2,5/01/2024 +ga_s2bm_ard_3-2-1_51KWV_2019-04-26_final,26/04/2019,1628a4b9-63ad-4450-b033-e1c1855767cd,9/08/2022,e33d5d67-0eb7-4e77-9776-7af6d133ffe8,16/01/2024 +ga_s2bm_ard_3-2-1_51KVV_2019-04-26_final,26/04/2019,f482b232-356a-45dc-9cd1-1e5bf603677a,8/08/2022,62b814f8-c4cf-41a7-bbdc-a750d989fa05,16/01/2024 +ga_s2bm_ard_3-2-1_51KVV_2019-05-06_final,6/05/2019,79941a35-c7bf-4712-9e38-38a07a38e083,8/08/2022,169333ab-57de-428e-b085-dd9d47f55472,5/01/2024 +ga_s2bm_ard_3-2-1_51KWV_2019-05-06_final,6/05/2019,9dc6a769-7cb5-4a50-bccb-8ef6cb2197bc,8/08/2022,de2a6b49-fda9-4907-a42d-c39bf8ba284d,5/01/2024 +ga_s2bm_ard_3-2-1_51KVV_2019-05-16_final,16/05/2019,3d82d58b-6a46-484d-b2c2-ea7a21601337,8/08/2022,ce8096af-446a-4780-9b34-56e0630b0778,5/01/2024 +ga_s2bm_ard_3-2-1_51KWV_2019-05-16_final,16/05/2019,ad230844-32da-4216-b110-bd47ac5d76c8,8/08/2022,2e5a8f11-ffea-4e9f-a0a5-daca83981ffc,16/01/2024 +ga_s2bm_ard_3-2-1_51KVV_2019-05-26_final,26/05/2019,a22a5d4e-d9aa-4155-85af-ef0a58a67441,8/08/2022,5942a2e0-49ea-45a4-8f44-2fbf89725602,5/01/2024 +ga_s2bm_ard_3-2-1_51KWV_2019-05-26_final,26/05/2019,da9e81d0-49e4-49a6-b2b7-dd3cd8ff96ad,8/08/2022,153c9ea3-e4b4-4fb2-b478-da2ed58085c4,5/01/2024 +ga_s2bm_ard_3-2-1_51KWV_2019-06-05_final,5/06/2019,3baa7d44-6cf4-487e-a50a-a91551c22ba6,8/08/2022,17423170-74e2-4c68-b26d-79cd247d0355,5/01/2024 +ga_s2bm_ard_3-2-1_51KVV_2019-06-05_final,5/06/2019,96f84a44-f6b2-4bd3-9910-90759c8f59c0,8/08/2022,5a5a32d6-0ee6-42cc-a07d-6fd3284ac78f,5/01/2024 +ga_s2bm_ard_3-2-1_55JCH_2019-10-23_final,23/10/2019,6b6d76c2-4260-46e5-99fd-616b234b2120,12/08/2022,ee485154-f869-4fbc-beb8-81df5e9ec102,5/01/2024 +ga_s2bm_ard_3-2-1_55JBH_2019-10-23_final,23/10/2019,9d478e14-7d2b-4efd-9c72-87642c34ab7c,12/08/2022,aae8e38c-1eaf-49f2-b1d1-d6bf1e253231,5/01/2024 +ga_s2bm_ard_3-2-1_55JDH_2019-10-23_final,23/10/2019,a7e44112-2ccc-4888-a3f1-92f0561625fd,12/08/2022,fe8b3935-4aa5-434d-8648-ba7b71349463,16/01/2024 +ga_s2bm_ard_3-2-1_55JCJ_2019-10-23_final,23/10/2019,b950e1d6-2fe9-4500-968c-fd05ce59de05,12/08/2022,ec0bc5d1-0706-497a-a8d5-00205ff814f7,16/01/2024 +ga_s2bm_ard_3-2-1_50KNC_2020-05-06_final,6/05/2020,3d73f0a0-122e-48a6-bec8-7ec694046d24,29/07/2022,d450597a-5e5c-47c6-af26-c7d2494ac172,5/01/2024 +ga_s2bm_ard_3-2-1_50KPC_2020-05-06_final,6/05/2020,e844faf4-bede-466c-88e7-276b76e57c57,29/07/2022,fc872ab4-6546-4c31-83f5-0db6ed6c4fe0,5/01/2024 +ga_s2bm_ard_3-2-1_51KVV_2020-05-20_final,20/05/2020,6543d88b-b2f1-4330-8883-b290c5acf49c,29/07/2022,4a98952b-1d6c-47a2-8d4c-66018b81cbd7,16/01/2024 +ga_s2bm_ard_3-2-1_51KWV_2020-05-20_final,20/05/2020,9c359275-ff98-4259-a4c8-a4e8711e80be,29/07/2022,c8285bb5-d5ae-4a29-9339-3961a85bc92c,5/01/2024 +ga_s2bm_ard_3-2-1_51KUB_2020-06-12_final,12/06/2020,510f01af-76da-4d7a-b042-d79f41ac6eb1,30/07/2022,763c78dd-67da-4095-9dad-c4c5496dc763,16/01/2024 +ga_s2bm_ard_3-2-1_51KUB_2020-06-12_final,12/06/2020,8245dc14-cc7a-4d4f-b499-84f44737ba03,21/09/2023,763c78dd-67da-4095-9dad-c4c5496dc763,16/01/2024 +ga_s2bm_ard_3-2-1_51KWV_2020-06-19_final,19/06/2020,046d81be-bc3e-4189-80f4-a1b06a054937,30/07/2022,b7e528e0-32f5-4a1a-8c83-f012c98b579f,5/01/2024 +ga_s2bm_ard_3-2-1_51KVV_2020-06-19_final,19/06/2020,496cd9df-ab42-4a21-9082-602c76ce1327,30/07/2022,ee1b4b4b-e644-4515-b70e-423905970db0,5/01/2024 +ga_s2bm_ard_3-2-1_51KWV_2020-07-29_final,29/07/2020,59dac003-54c6-4ea4-9cd5-7856d785ac76,31/07/2022,5287524a-4d6c-45c5-8e10-4aa9fdba4aa9,5/01/2024 +ga_s2bm_ard_3-2-1_51KVV_2020-07-29_final,29/07/2020,d3b3f6e4-b6ac-47b9-bbe7-91506296c48f,31/07/2022,824adc65-3095-483d-b946-c3817da517dd,5/01/2024 +ga_s2bm_ard_3-2-1_50KLV_2020-08-07_final,7/08/2020,6d4c56bc-9f64-4b9e-acff-9385f8ce56a1,31/07/2022,002a0cc3-f434-424c-a04f-f6ca419ec253,16/01/2024 +ga_s2bm_ard_3-2-1_50KMV_2020-08-07_final,7/08/2020,827239b4-31fe-41fb-8e24-3fa0a1a66ce4,31/07/2022,19db4831-742a-4efc-bfe8-64874abb3c74,5/01/2024 +ga_s2bm_ard_3-2-1_49KGQ_2020-08-07_final,7/08/2020,8d2b832b-7d01-4341-b7fa-6410769bb661,31/07/2022,a587323d-bb12-46fc-8fcc-99029aece67b,5/01/2024 +ga_s2bm_ard_3-2-1_50KKV_2020-08-07_final,7/08/2020,9f43757a-c025-43b9-b14d-0e99451fdec0,31/07/2022,1b3a72e0-9630-4d7f-b47f-94b9e5b51a1a,5/01/2024 +ga_s2bm_ard_3-2-1_49KHQ_2020-08-07_final,7/08/2020,fc461fcf-bf38-4dda-bd49-d3c973126537,31/07/2022,9ddcae42-9e12-4d3c-acf3-034cd6280955,5/01/2024 +ga_s2bm_ard_3-2-1_55HCT_2021-01-25_final,25/01/2021,9005d2ec-25f8-4779-aa6d-38b4dd751e5a,10/07/2022,f54940bb-f1b0-43fe-8b49-12d3ef83092b,5/01/2024 +ga_s2bm_ard_3-2-1_50JPM_2021-05-18_final,18/05/2021,3d035744-2506-451a-a322-46954b0ce97f,10/07/2022,5a859f7e-9d2d-4673-bcd0-362ff4461194,16/01/2024 +ga_s2bm_ard_3-2-1_51JTF_2021-05-18_final,18/05/2021,6208291c-8c95-4ae9-870a-f5e18e9db288,10/07/2022,ca6bc90b-7430-462c-9fd3-5d664e63f948,5/01/2024 +ga_s2bm_ard_3-2-1_50JPL_2021-05-18_final,18/05/2021,bd5235b6-b21e-41d3-b7ff-176ec1a38465,10/07/2022,4d64740e-23fa-4018-a628-db568d9dd89f,5/01/2024 +ga_s2bm_ard_3-2-1_50JQM_2021-05-18_final,18/05/2021,d960d785-32cb-4973-b090-369709478335,10/07/2022,5bc419b2-71ad-4cd4-b45c-dc828fcfe082,5/01/2024 +ga_s2bm_ard_3-2-1_50JQL_2021-05-18_final,18/05/2021,f2a35e90-e831-47df-9259-1346d860026a,10/07/2022,8c1ae634-6bbd-47fc-92d4-7dcbe3d343e6,5/01/2024 +ga_s2bm_ard_3-2-1_53LLC_2021-07-25_final,25/07/2021,01870b6e-9cf4-469c-b02c-e82c0571861f,13/07/2022,a9184e18-7cc9-4a96-bf67-0055f58115c6,16/01/2024 +ga_s2bm_ard_3-2-1_53LKD_2021-07-25_final,25/07/2021,47ad3e14-354e-4900-be1c-511c5d239a79,13/07/2022,bf9c37ff-626c-4f89-bd23-9ad7a2005e98,16/01/2024 +ga_s2bm_ard_3-2-1_52LHH_2021-07-25_final,25/07/2021,4e605efc-ba7d-4b58-9042-dc678c000957,13/07/2022,46b9268b-47d8-49b0-a418-da36a3b96e35,5/01/2024 +ga_s2bm_ard_3-2-1_52LHJ_2021-07-25_final,25/07/2021,60eb99f2-1486-4132-9087-f260dba84091,12/07/2022,bfd50c4b-63e5-40fe-8a2e-122c1bcec135,16/01/2024 +ga_s2bm_ard_3-2-1_53LKC_2021-07-25_final,25/07/2021,801b7868-300f-4b35-b2d0-06055db27369,13/07/2022,ca42379b-cd77-405f-93af-2875e2638048,5/01/2024 +ga_s2bm_ard_3-2-1_53KKB_2021-07-25_final,25/07/2021,9617dd39-063b-4db0-8678-f39067621c14,13/07/2022,d1cf48cb-37a4-4d00-8b59-f30f2e4bfb46,5/01/2024 +ga_s2bm_ard_3-2-1_53KLB_2021-07-25_final,25/07/2021,a34d0aaa-1634-4db1-b02f-afb4d7f09997,13/07/2022,840b5031-bfd0-49f4-9731-ca7bbd6b96d9,16/01/2024 +ga_s2bm_ard_3-2-1_53LLD_2021-07-25_final,25/07/2021,c2117871-3c34-44ce-abb3-39e196d016a7,13/07/2022,66a253fc-efc5-4a02-9202-2fe95e904e5a,5/01/2024 +ga_s2bm_ard_3-2-1_54JTP_2021-08-12_final,12/08/2021,011d1b7c-c0ee-4587-8112-4de0d832b047,13/07/2022,77b37dae-e0af-4f93-8013-f4042a2c5ed8,16/01/2024 +ga_s2bm_ard_3-2-1_54JTQ_2021-08-12_final,12/08/2021,17734fac-ffc6-4f1b-abbb-37b1318cc785,13/07/2022,0c142438-620a-43c4-8b50-386506144bc0,5/01/2024 +ga_s2bm_ard_3-2-1_53JQK_2021-08-12_final,12/08/2021,259453f7-733d-4658-a7e6-f070df8bec60,13/07/2022,1de823e8-6d88-4d73-ba37-cc2139de02e7,5/01/2024 +ga_s2bm_ard_3-2-1_54JVP_2021-08-12_final,12/08/2021,323b3d6f-271b-460b-8514-410a2539b13f,13/07/2022,a0830bac-03eb-4885-90b7-0ea55e1ecc29,5/01/2024 +ga_s2bm_ard_3-2-1_54JUP_2021-08-12_final,12/08/2021,e3e3403c-0801-4a05-93ba-53d2cf7889b6,13/07/2022,32e967a4-abe4-4004-a1d2-417e9a39e17f,16/01/2024 +ga_s2bm_ard_3-2-1_53JQJ_2021-08-12_final,12/08/2021,f69dab80-ccc7-404c-b31f-583c89cca92c,13/07/2022,eb373f06-b568-4da2-8a99-356a0078ff8c,5/01/2024 +ga_s2bm_ard_3-2-1_56JNP_2021-09-22_final,22/09/2021,1057aed0-2ed5-4b53-b9fa-bb34e6c78558,23/08/2023,dc5acb25-715d-4863-aab5-e1fa0eecb8f7,5/01/2024 +ga_s2bm_ard_3-2-1_56JNP_2021-09-22_final,22/09/2021,dabfdf91-483b-4f87-8410-1dea5e3c443b,16/07/2022,dc5acb25-715d-4863-aab5-e1fa0eecb8f7,5/01/2024 +ga_s2bm_ard_3-2-1_50JPT_2021-10-28_final,28/10/2021,83dde580-8cc0-41b2-ac5e-04d760ae09c5,17/07/2022,bbb36162-a2c5-4e61-955f-a742c9c4066d,5/01/2024 +ga_s2bm_ard_3-2-1_50JPS_2021-10-28_final,28/10/2021,859f44a0-6187-4dd3-92ca-a3f8182f4770,17/07/2022,b9c3aa96-9685-4079-be72-883abbecc6ad,5/01/2024 +ga_s2bm_ard_3-2-1_50JNT_2021-10-28_final,28/10/2021,c84c29ec-2f8c-4c64-beaa-4745909be3b3,17/07/2022,f96de53e-700c-46c8-9594-7f12c46450b2,5/01/2024 +ga_s2bm_ard_3-2-1_50JNS_2021-10-28_final,28/10/2021,fd48e70a-a2d4-4adf-8671-57f7ab6d8d6a,17/07/2022,b503988d-f01f-42d2-bb77-d8687429be0e,16/01/2024 diff --git a/docs/_files/reprocessing/s2b_preview.PNG b/docs/_files/reprocessing/s2b_preview.PNG new file mode 100644 index 0000000000000000000000000000000000000000..50fbc9d4893b9d2842b799dde121803d270e8bd5 GIT binary patch literal 43315 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 literal 0 HcmV?d00001 diff --git a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md index 0446ac814..86213781e 100644 --- a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md +++ b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md @@ -2,16 +2,16 @@ ### 2024-02-19: Reprocessing complete -Reprocessing for the Sentinel-2 contiguity fix is complete. For a list of all scenes that were affected, download the CSV file below. +Reprocessing for the [Sentinel-2 contiguity fix](https://communication.ga.gov.au/link/id/zzzz659df9f7f306b556Pzzzz61de67bd94bfe861/page.html) is complete. For a list of all scenes that were affected, download the CSV file below. -:::{figure} /_files/reprocessing/S2A_contig_reprocessing_preview.jpg +:::{figure} /_files/reprocessing/s2a_preview.png :alt: The first rows of the CSV file that lists all scenes that were affected. A preview of the CSV file. ::: ```{eval-rst} -:download:`Download the list of affected scenes (CSV) ` +:download:`Download the list of affected scenes (CSV) ` ``` diff --git a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2b-msi/_history.md b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2b-msi/_history.md index 06c307340..a963b8d67 100644 --- a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2b-msi/_history.md +++ b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2b-msi/_history.md @@ -1,2 +1,17 @@ -% ## Changelog +## Changelog + +### 2024-02-19: Reprocessing complete + +Reprocessing for the [Sentinel-2 contiguity fix](https://communication.ga.gov.au/link/id/zzzz659df9f7f306b556Pzzzz61de67bd94bfe861/page.html) is complete. For a list of all scenes that were affected, download the CSV file below. + +:::{figure} /_files/reprocessing/s2b_preview.png +:alt: The first rows of the CSV file that lists all scenes that were affected. + +A preview of the CSV file. +::: + +```{eval-rst} +:download:`Download the list of affected scenes (CSV) ` + +``` From 3941b3d4276d5b942a58d16fc5adb57c5905e10f Mon Sep 17 00:00:00 2001 From: Aman Chopra Date: Mon, 26 Feb 2024 14:17:58 +1100 Subject: [PATCH 046/143] Update date --- .../dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md | 2 +- .../dea-surface-reflectance-nbart-sentinel-2b-msi/_history.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md index 86213781e..6a1e3c36a 100644 --- a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md +++ b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md @@ -1,6 +1,6 @@ ## Changelog -### 2024-02-19: Reprocessing complete +### 2024-02-26: Reprocessing complete Reprocessing for the [Sentinel-2 contiguity fix](https://communication.ga.gov.au/link/id/zzzz659df9f7f306b556Pzzzz61de67bd94bfe861/page.html) is complete. For a list of all scenes that were affected, download the CSV file below. diff --git a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2b-msi/_history.md b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2b-msi/_history.md index a963b8d67..f56305c7e 100644 --- a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2b-msi/_history.md +++ b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2b-msi/_history.md @@ -1,6 +1,6 @@ ## Changelog -### 2024-02-19: Reprocessing complete +### 2024-02-26: Reprocessing complete Reprocessing for the [Sentinel-2 contiguity fix](https://communication.ga.gov.au/link/id/zzzz659df9f7f306b556Pzzzz61de67bd94bfe861/page.html) is complete. For a list of all scenes that were affected, download the CSV file below. From df0354b28ff696ab780b7cbfb38d8511f2e3b1e9 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Mon, 26 Feb 2024 16:10:12 +1100 Subject: [PATCH 047/143] Fixing broken images by changing filenames --- .../{s2a_preview.PNG => s2a_preview.png} | Bin .../{s2b_preview.PNG => s2b_preview.png} | Bin 2 files changed, 0 insertions(+), 0 deletions(-) rename docs/_files/reprocessing/{s2a_preview.PNG => s2a_preview.png} (100%) rename docs/_files/reprocessing/{s2b_preview.PNG => s2b_preview.png} (100%) diff --git a/docs/_files/reprocessing/s2a_preview.PNG b/docs/_files/reprocessing/s2a_preview.png similarity index 100% rename from docs/_files/reprocessing/s2a_preview.PNG rename to docs/_files/reprocessing/s2a_preview.png diff --git a/docs/_files/reprocessing/s2b_preview.PNG b/docs/_files/reprocessing/s2b_preview.png similarity index 100% rename from docs/_files/reprocessing/s2b_preview.PNG rename to docs/_files/reprocessing/s2b_preview.png From 671a7d0ea38f361bed90d5464c594d6650edd610 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Mon, 26 Feb 2024 16:26:51 +1100 Subject: [PATCH 048/143] [skip ci] Figure width of 750 --- .../dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md | 1 + .../dea-surface-reflectance-nbart-sentinel-2b-msi/_history.md | 1 + 2 files changed, 2 insertions(+) diff --git a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md index 6a1e3c36a..731cb1d32 100644 --- a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md +++ b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md @@ -6,6 +6,7 @@ Reprocessing for the [Sentinel-2 contiguity fix](https://communication.ga.gov.au :::{figure} /_files/reprocessing/s2a_preview.png :alt: The first rows of the CSV file that lists all scenes that were affected. +:figwidth: 750 A preview of the CSV file. ::: diff --git a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2b-msi/_history.md b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2b-msi/_history.md index f56305c7e..dcd6f07d9 100644 --- a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2b-msi/_history.md +++ b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2b-msi/_history.md @@ -6,6 +6,7 @@ Reprocessing for the [Sentinel-2 contiguity fix](https://communication.ga.gov.au :::{figure} /_files/reprocessing/s2b_preview.png :alt: The first rows of the CSV file that lists all scenes that were affected. +:figwidth: 750 A preview of the CSV file. ::: From 9d5f64c803fd9d118967a1c3aac74b5e25dd03c7 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Mon, 26 Feb 2024 16:43:55 +1100 Subject: [PATCH 049/143] Fixing image size and styling --- docs/_static/styles/global/_global.scss | 4 ++++ .../_history.md | 10 ++++------ .../_history.md | 10 ++++------ 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/_static/styles/global/_global.scss b/docs/_static/styles/global/_global.scss index f02ce23c6..c2f259b3b 100644 --- a/docs/_static/styles/global/_global.scss +++ b/docs/_static/styles/global/_global.scss @@ -48,4 +48,8 @@ dt:target, span.highlighted { figure { text-align: left !important; + + figcaption { + color: var(--pst-color-text-base) !important; + } } diff --git a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md index 731cb1d32..79b817334 100644 --- a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md +++ b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_history.md @@ -4,12 +4,10 @@ Reprocessing for the [Sentinel-2 contiguity fix](https://communication.ga.gov.au/link/id/zzzz659df9f7f306b556Pzzzz61de67bd94bfe861/page.html) is complete. For a list of all scenes that were affected, download the CSV file below. -:::{figure} /_files/reprocessing/s2a_preview.png -:alt: The first rows of the CSV file that lists all scenes that were affected. -:figwidth: 750 - -A preview of the CSV file. -::: +
    + The first rows of the CSV file that lists all scenes that were affected. +
    A preview of the CSV file.
    +
    ```{eval-rst} :download:`Download the list of affected scenes (CSV) ` diff --git a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2b-msi/_history.md b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2b-msi/_history.md index dcd6f07d9..8ae8e1510 100644 --- a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2b-msi/_history.md +++ b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2b-msi/_history.md @@ -4,12 +4,10 @@ Reprocessing for the [Sentinel-2 contiguity fix](https://communication.ga.gov.au/link/id/zzzz659df9f7f306b556Pzzzz61de67bd94bfe861/page.html) is complete. For a list of all scenes that were affected, download the CSV file below. -:::{figure} /_files/reprocessing/s2b_preview.png -:alt: The first rows of the CSV file that lists all scenes that were affected. -:figwidth: 750 - -A preview of the CSV file. -::: +
    + The first rows of the CSV file that lists all scenes that were affected. +
    A preview of the CSV file.
    +
    ```{eval-rst} :download:`Download the list of affected scenes (CSV) ` From 2e746d9d20cd0ca0ad75a3265a22054cc6d352d1 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Tue, 27 Feb 2024 13:15:32 +1100 Subject: [PATCH 050/143] Added changelog entry 2024-02-26 --- docs/tech-alerts-changelog/_tech_alerts_changelog.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/tech-alerts-changelog/_tech_alerts_changelog.md b/docs/tech-alerts-changelog/_tech_alerts_changelog.md index e76f8516e..36cef3316 100644 --- a/docs/tech-alerts-changelog/_tech_alerts_changelog.md +++ b/docs/tech-alerts-changelog/_tech_alerts_changelog.md @@ -17,6 +17,10 @@ See the [DEA monitoring dashboard](https://monitoring.dea.ga.gov.au/). See [alert dated 2024-01-10](./#sentinel-2-contiguity-fix-reprocessing-commenced) for more details. ::: +## 2024-02-26: Sentinel-2 contiguity fix reprocessing complete + +Learn more in the [Sentinel-2A Surface Reflectance NBART](https://docs.dea.ga.gov.au/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/?tab=history#changelog) and [Sentinel-2B Surface Reflectance NBART](https://docs.dea.ga.gov.au/data/product/dea-surface-reflectance-nbart-sentinel-2b-msi/?tab=history#changelog) changelogs. + ## 2024-02-20: DEA Notebooks update A minor update to the DEA Tools package that includes updates to tide modelling and parallel processing functions. It also adds a new `load_reproject` function to the `datahandling` module which allows reading and reprojecting external raster data. For more detail, see the [dea-notebooks 0.3.1 release notes](https://github.com/GeoscienceAustralia/dea-notebooks/releases/tag/0.3.1). From be0fc4ac12d67a313481330c106b6790eb307f1b Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Tue, 27 Feb 2024 19:00:27 +1100 Subject: [PATCH 051/143] Added a step to the git action to pull the latest submodule commits --- .github/workflows/deploy-production.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/deploy-production.yaml b/.github/workflows/deploy-production.yaml index 84949d89b..25a62b2db 100644 --- a/.github/workflows/deploy-production.yaml +++ b/.github/workflows/deploy-production.yaml @@ -24,6 +24,9 @@ jobs: with: submodules: true + - name: Pull latest from submodules + run: git submodule update --recursive --remote + - name: Install Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: From c5001e47c5f922cbb9bf7dc6d5de9f2e8fb93fe6 Mon Sep 17 00:00:00 2001 From: Claire <19562367+CEKrause@users.noreply.github.com> Date: Wed, 28 Feb 2024 15:28:17 +1100 Subject: [PATCH 052/143] Add OWS error to tech alerts (#130) --- .../_tech_alerts_changelog.md | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/docs/tech-alerts-changelog/_tech_alerts_changelog.md b/docs/tech-alerts-changelog/_tech_alerts_changelog.md index 36cef3316..b66cb8716 100644 --- a/docs/tech-alerts-changelog/_tech_alerts_changelog.md +++ b/docs/tech-alerts-changelog/_tech_alerts_changelog.md @@ -4,17 +4,19 @@ % If status = yellow, class = caution % If status = red, class = danger -:::{admonition} DEA system status: green -:class: tip -All DEA systems are working as expected. There are no outstanding incidents or errors to report. +:::{admonition} DEA system status: yellow +:class: caution +2024-02-28 -See the [DEA monitoring dashboard](https://monitoring.dea.ga.gov.au/). +The DEA web services are currently experiencing intermittent performance issues. We are currently investigating the cause of the issue. + +See the [DEA monitoring dashboard](https://monitoring.dea.ga.gov.au/) to check the current status of DEA's services. ::: -:::{admonition} DEA Sentinel-2 contiguity fix: ongoing +:::{admonition} DEA Sentinel-2 contiguity fix: complete :class: note -See [alert dated 2024-01-10](./#sentinel-2-contiguity-fix-reprocessing-commenced) for more details. +See alert dated 2024-02-26 for more details. ::: ## 2024-02-26: Sentinel-2 contiguity fix reprocessing complete From 1c6a9eae2304771e6524b7a2e229734d34e06b0a Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Wed, 28 Feb 2024 15:37:32 +1100 Subject: [PATCH 053/143] Commented out the submodule step --- .github/workflows/deploy-production.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-production.yaml b/.github/workflows/deploy-production.yaml index 25a62b2db..4b3c9d1c2 100644 --- a/.github/workflows/deploy-production.yaml +++ b/.github/workflows/deploy-production.yaml @@ -24,8 +24,8 @@ jobs: with: submodules: true - - name: Pull latest from submodules - run: git submodule update --recursive --remote + # - name: Pull latest from submodules + # run: git submodule update --recursive --remote - name: Install Python ${{ matrix.python-version }} uses: actions/setup-python@v4 From 1084d16290d0b04b8a27e28c146f57f2c3f988bf Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Wed, 28 Feb 2024 16:01:29 +1100 Subject: [PATCH 054/143] Un-commented git workflow step: Pull latest from submodules --- .github/workflows/deploy-production.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-production.yaml b/.github/workflows/deploy-production.yaml index 4b3c9d1c2..25a62b2db 100644 --- a/.github/workflows/deploy-production.yaml +++ b/.github/workflows/deploy-production.yaml @@ -24,8 +24,8 @@ jobs: with: submodules: true - # - name: Pull latest from submodules - # run: git submodule update --recursive --remote + - name: Pull latest from submodules + run: git submodule update --recursive --remote - name: Install Python ${{ matrix.python-version }} uses: actions/setup-python@v4 From cb1a998ea0b750c8df465eec87222bce56e092ad Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Wed, 28 Feb 2024 16:04:36 +1100 Subject: [PATCH 055/143] Changed the git submodule command --- .github/workflows/deploy-production.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-production.yaml b/.github/workflows/deploy-production.yaml index 25a62b2db..695636b76 100644 --- a/.github/workflows/deploy-production.yaml +++ b/.github/workflows/deploy-production.yaml @@ -25,7 +25,7 @@ jobs: submodules: true - name: Pull latest from submodules - run: git submodule update --recursive --remote + run: git pull --recurse-submodules - name: Install Python ${{ matrix.python-version }} uses: actions/setup-python@v4 From 62f41fb316dcc4be4db7dee78fde71e108a41d5f Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 29 Feb 2024 11:31:33 +1100 Subject: [PATCH 056/143] Trying another fix for the submodule --- .github/workflows/deploy-production.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-production.yaml b/.github/workflows/deploy-production.yaml index 695636b76..64ce79a06 100644 --- a/.github/workflows/deploy-production.yaml +++ b/.github/workflows/deploy-production.yaml @@ -25,7 +25,7 @@ jobs: submodules: true - name: Pull latest from submodules - run: git pull --recurse-submodules + run: git submodule foreach git pull origin stable - name: Install Python ${{ matrix.python-version }} uses: actions/setup-python@v4 From ad4565af56465fab2ffa7b3fc3baad9e90dc0ff2 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 29 Feb 2024 17:31:46 +1100 Subject: [PATCH 057/143] Fixed processing steps styling not displaying --- docs/_static/styles/components/_processing_steps.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_static/styles/components/_processing_steps.scss b/docs/_static/styles/components/_processing_steps.scss index 980afd30e..dca297c3f 100644 --- a/docs/_static/styles/components/_processing_steps.scss +++ b/docs/_static/styles/components/_processing_steps.scss @@ -1,4 +1,4 @@ -#processing-steps + ol, ol.processing-steps { +[data-anchor-id="processing-steps"] + ol, #processing-steps + ol, ol.processing-steps { li { padding: 0.5rem; border-bottom: 1px solid $table-border-color; From a747afb9ee454fc9a1f925dd00666807c077c228 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Fri, 1 Mar 2024 10:53:53 +1100 Subject: [PATCH 058/143] [skip ci] Added a comment to the github workflow file about a manual step that is sometimes needed --- .github/workflows/deploy-production.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/deploy-production.yaml b/.github/workflows/deploy-production.yaml index 64ce79a06..718cfaa35 100644 --- a/.github/workflows/deploy-production.yaml +++ b/.github/workflows/deploy-production.yaml @@ -26,6 +26,7 @@ jobs: - name: Pull latest from submodules run: git submodule foreach git pull origin stable + # This doesn't update the submodule to the latest commit on the origin; therefore, you should manually do this on a semi-regular basis. - name: Install Python ${{ matrix.python-version }} uses: actions/setup-python@v4 From f83d0bf53c6013566de7dd6de6725cc07f2ca77e Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Fri, 1 Mar 2024 17:50:20 +1100 Subject: [PATCH 059/143] Formatted product starter kit --- starter-kits/product/_data.yaml | 52 +++++++++++++++++---------------- 1 file changed, 27 insertions(+), 25 deletions(-) diff --git a/starter-kits/product/_data.yaml b/starter-kits/product/_data.yaml index 07e48a62e..197a5a1f9 100644 --- a/starter-kits/product/_data.yaml +++ b/starter-kits/product/_data.yaml @@ -1,36 +1,37 @@ +# See the documentation for each of these metadata fields: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview -title: Your title -long_title: null -header_image: /_files/subfolder/image.png -version: 0.0.0 -product_type: null -spatial_data_type: null +title: Example product +# long_title: Long example product title +# header_image: /_files/example/image.png +version: 1.0.0 +product_type: Derivative +spatial_data_type: Vector time_span: - start: null + start: 1 Jan 2020 end: null -update_frequency: null +update_frequency: Yearly # product_ids: -# - product_id_1 +# - example_1 is_latest_version: true -latest_version_link: null +# latest_version_link: /data/product/example-product/ is_provisional: false -parent_products: - name: null - link: null -collection: - name: null - link: null -doi: null -ecat: null -nci: - name: null - code: null +# parent_products: +# name: Example parent product +# link: /data/product/example-parent-product/ +# collection: +# name: Geoscience Australia Landsat Collection 3 +# link: null +# doi: 10.00000/000000 +# ecat: 100000 +# nci: a000 # tags: -# - geoscience_australia_landsat_collection_3 +# - example_tag # Access @@ -71,9 +72,9 @@ nci: # History # old_versions: -# - version: 0.0.0 -# title: Lorem ipsum -# slug: example-page +# - version: 1.0.0 +# title: Example product +# slug: example-product-1.0.0 # Settings @@ -84,3 +85,4 @@ enable_quality: true enable_history: true enable_faqs: false enable_credits: true + From 8f1f078dd3310a4f0bbc4bcb986423ed65221032 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Mon, 4 Mar 2024 10:48:24 +1100 Subject: [PATCH 060/143] Step 1 in fixing problem in git repo --- .github/workflows/deploy-production.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/deploy-production.yaml b/.github/workflows/deploy-production.yaml index 718cfaa35..f1446878c 100644 --- a/.github/workflows/deploy-production.yaml +++ b/.github/workflows/deploy-production.yaml @@ -25,8 +25,7 @@ jobs: submodules: true - name: Pull latest from submodules - run: git submodule foreach git pull origin stable - # This doesn't update the submodule to the latest commit on the origin; therefore, you should manually do this on a semi-regular basis. + run: git submodule foreach git pull origin stable # This doesn't update the submodule to the latest commit on the origin; therefore, you should manually do this on a semi-regular basis. - name: Install Python ${{ matrix.python-version }} uses: actions/setup-python@v4 From 0bf0578fb74fe7289f6d5bef3c7bcb105e2edaa1 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Mon, 4 Mar 2024 10:50:24 +1100 Subject: [PATCH 061/143] Step 2 in fixing problem in git repo --- .github/workflows/deploy-production.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy-production.yaml b/.github/workflows/deploy-production.yaml index f1446878c..aa0036f6a 100644 --- a/.github/workflows/deploy-production.yaml +++ b/.github/workflows/deploy-production.yaml @@ -25,7 +25,8 @@ jobs: submodules: true - name: Pull latest from submodules - run: git submodule foreach git pull origin stable # This doesn't update the submodule to the latest commit on the origin; therefore, you should manually do this on a semi-regular basis. + run: git submodule foreach git pull origin stable + # This doesn't update the submodule to the latest commit on the origin; therefore, you should manually do this on a semi-regular basis. - name: Install Python ${{ matrix.python-version }} uses: actions/setup-python@v4 From fc7265b6e105e436c432dd40fb6f2eb2336830dd Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Mon, 4 Mar 2024 10:53:31 +1100 Subject: [PATCH 062/143] Updating dea-notebooks submodule to latest stable commit --- docs/notebooks | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/notebooks b/docs/notebooks index 1dfdd9a5b..51e80ee8e 160000 --- a/docs/notebooks +++ b/docs/notebooks @@ -1 +1 @@ -Subproject commit 1dfdd9a5b167a8390ad8d4135172326ec022dd1f +Subproject commit 51e80ee8e9ac847fa56b2da248f25744372eeec7 From 34c22401736e7efc5a93133e43713e2a36700ed5 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Mon, 4 Mar 2024 11:04:08 +1100 Subject: [PATCH 063/143] Merged feature/domain-redirect-cloudfront branch --- aws/cloudfront/functions/README.md | 3 - aws/cloudfront/functions/redirects.js | 22 +++++++ aws/cloudfront/functions/test.js | 83 ++++++++++++++++++--------- 3 files changed, 79 insertions(+), 29 deletions(-) delete mode 100644 aws/cloudfront/functions/README.md diff --git a/aws/cloudfront/functions/README.md b/aws/cloudfront/functions/README.md deleted file mode 100644 index e3510036f..000000000 --- a/aws/cloudfront/functions/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# AWS CloudFront Redirects - -Run the tests with the command: `npx mocha` diff --git a/aws/cloudfront/functions/redirects.js b/aws/cloudfront/functions/redirects.js index 4d6508c48..5a51d4589 100644 --- a/aws/cloudfront/functions/redirects.js +++ b/aws/cloudfront/functions/redirects.js @@ -1,17 +1,38 @@ +// AWS CloudFront redirects +// Learn how to test and deploy these redirects: +// https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/aws_redirects.html + // This function handles redirect logic async function handler(event) { const request = event.request; + const host = event.request.headers.host.value; const uri = event.request.uri; + const deaToolsSourceCodePattern = /dea_tools\/(.*)\.py$/; const indexHtmlPattern = /\/index\.html$/g; const filetypeExtensionsPattern = /\.(html|rst|md|ipynb|py)$/g; + const docsHost = "docs.dea.ga.gov.au"; + const knowledgeHost = "knowledge.dea.ga.gov.au"; + const status301MovedPermanently = { statusCode: 301, statusDescription: "Moved Permanently" }; + // Redirect subdomain from 'docs' to 'knowledge'. E.g. "docs.dea.ga.gov.au" => "knowledge.dea.ga.gov.au" + + if (host === docsHost) { + return Object.assign(status301MovedPermanently, { + headers: { + location: { + value: "https://" + knowledgeHost + uri + } + } + }); + } + // Redirect DEA Tools source code URLs to the relevant 'automodule' page generated from the source code. // E.g. "/notebooks/Beginners_guide/Tools/dea_tools/plotting.py" => "/notebooks/Tools/gen/dea_tools.plotting/" // E.g. "/notebooks/Interactive_apps/Tools/dea_tools/app/animations.py" => "/notebooks/Tools/gen/dea_tools.app.animations/" @@ -57,4 +78,5 @@ async function handler(event) { return request; } + module.exports = { handler }; diff --git a/aws/cloudfront/functions/test.js b/aws/cloudfront/functions/test.js index 59010a954..39449b639 100644 --- a/aws/cloudfront/functions/test.js +++ b/aws/cloudfront/functions/test.js @@ -2,8 +2,26 @@ const { handler } = require("./redirects.js"); var assert = require("assert"); -describe("Test redirect occurs", () => { - const tests = [ +const docsHost = "docs.dea.ga.gov.au"; +const knowledgeHost = "knowledge.dea.ga.gov.au"; + +// Create a minimum event object matching the structure that AWS CloudFront uses. +// The real thing contains many more fields, this is just what we use. +function requestTemplate(host, uri) { + return { + request: { + uri: uri, + headers: { + host: { + value: host + } + } + } + }; +} + +describe("Redirect Tests", () => { + const r1 = [ { uri: "/index.html", expected: "/" }, { uri: "/page/index.html", expected: "/page/" }, { uri: "/category/page.html", expected: "/category/page/" }, @@ -22,39 +40,52 @@ describe("Test redirect occurs", () => { } ]; - tests.forEach(({ uri, expected }) => { - let input = { request: { uri: uri } }; - it(`Correctly redirects ${uri} to ${expected}`, async () => { - const res = await handler(input); + r1.forEach(({ uri, expected }, index) => { + const n = index + 1; + it(`R1.${n}. Redirects ${uri} to ${expected}`, async () => { + const res = await handler(requestTemplate(knowledgeHost, uri)); assert.equal(res.headers.location.value, expected); }); }); }); -describe("Test redirect doesn't occur", () => { - const tests = [ - { - uri: "/data/product/dea-coastlines/" - }, - { - uri: "/data/product/dea-coastlines/?tab=overview" - }, - { - uri: "/notebooks/Tools/gen/dea_tools.plotting/" - }, - { - uri: "/notebooks/Tools/gen/dea_tools.app.animations/" - } +describe("Don't Redirect Tests", () => { + const r2 = [ + "/data/product/dea-coastlines/", + "/data/product/dea-coastlines/?tab=overview", + "/notebooks/Tools/gen/dea_tools.plotting/", + "/notebooks/Tools/gen/dea_tools.app.animations/" ]; - tests.forEach(({ uri }) => { - let input = { request: { uri: uri } }; - let expected = { uri: uri }; - it(`Doesn't redirect ${uri}`, async () => { - const res = await handler(input); + r2.forEach((uri, index) => { + const n = index + 1; + it(`R2.${n}. Doesn't redirect ${uri}`, async () => { + const res = await handler(requestTemplate(knowledgeHost, uri)); + + assert.ok(!res.hasOwnProperty("statusCode")); + assert.ok(!res.hasOwnProperty("statusDescription")); + }); + }); +}); + +describe("Domain redirection tests", () => { + const r3 = [ + "/", + "/index.html", + "/data/product/dea-coastlines/", + "/data/product/dea-coastlines/?tab=overview" + ]; + + r3.forEach((uri, index) => { + const docsUri = "https://" + docsHost + uri; + const knowledgeUri = "https://" + knowledgeHost + uri; + + const n = index + 1; + it(`R3.${n}. Redirects from ${docsUri} to ${knowledgeUri}`, async () => { + const res = await handler(requestTemplate(docsHost, uri)); - assert.deepStrictEqual(res, expected); + assert.equal(res.headers.location.value, knowledgeUri); }); }); }); From ce3e2e669b2b7e2d8383545c544b1c55406a6b1a Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Mon, 4 Mar 2024 12:50:06 +1100 Subject: [PATCH 064/143] Updating all Knowledge Hub links in entire repo --- aws/cloudfront/functions/redirects.js | 4 ++-- aws/cloudfront/functions/test.js | 2 +- docs/_modules/deploy_banner.py | 2 +- docs/_robots/robots-production.txt | 2 +- docs/conf.py | 4 ++-- .../draft-dea-land-cover-landsat/_access.md | 2 +- .../draft-dea-waterbodies-landsat/_data.yaml | 2 +- .../_details.md | 2 +- .../_tech_alerts_changelog.md | 20 +++++++++---------- 9 files changed, 20 insertions(+), 20 deletions(-) diff --git a/aws/cloudfront/functions/redirects.js b/aws/cloudfront/functions/redirects.js index 5a51d4589..511f4ada6 100644 --- a/aws/cloudfront/functions/redirects.js +++ b/aws/cloudfront/functions/redirects.js @@ -13,7 +13,7 @@ async function handler(event) { const indexHtmlPattern = /\/index\.html$/g; const filetypeExtensionsPattern = /\.(html|rst|md|ipynb|py)$/g; - const docsHost = "docs.dea.ga.gov.au"; + const docsHost = "knowledge.dea.ga.gov.au"; const knowledgeHost = "knowledge.dea.ga.gov.au"; const status301MovedPermanently = { @@ -21,7 +21,7 @@ async function handler(event) { statusDescription: "Moved Permanently" }; - // Redirect subdomain from 'docs' to 'knowledge'. E.g. "docs.dea.ga.gov.au" => "knowledge.dea.ga.gov.au" + // Redirect subdomain from 'docs' to 'knowledge'. E.g. "knowledge.dea.ga.gov.au" => "knowledge.dea.ga.gov.au" if (host === docsHost) { return Object.assign(status301MovedPermanently, { diff --git a/aws/cloudfront/functions/test.js b/aws/cloudfront/functions/test.js index 39449b639..2f629490e 100644 --- a/aws/cloudfront/functions/test.js +++ b/aws/cloudfront/functions/test.js @@ -2,7 +2,7 @@ const { handler } = require("./redirects.js"); var assert = require("assert"); -const docsHost = "docs.dea.ga.gov.au"; +const docsHost = "knowledge.dea.ga.gov.au"; const knowledgeHost = "knowledge.dea.ga.gov.au"; // Create a minimum event object matching the structure that AWS CloudFront uses. diff --git a/docs/_modules/deploy_banner.py b/docs/_modules/deploy_banner.py index d1d9f6979..13a9428ed 100644 --- a/docs/_modules/deploy_banner.py +++ b/docs/_modules/deploy_banner.py @@ -7,7 +7,7 @@ def banner(): review_id = os.environ.get("REVIEW_ID") deploy_id = os.environ.get("DEPLOY_ID") - knowledge_hub_url = "https://docs.dea.ga.gov.au/" + knowledge_hub_url = "https://knowledge.dea.ga.gov.au/" github_url = "https://github.com/GeoscienceAustralia/dea-docs" deploy_logs_url = "https://app.netlify.com/sites/dea-docs/deploys" diff --git a/docs/_robots/robots-production.txt b/docs/_robots/robots-production.txt index f989b77e2..021b07959 100644 --- a/docs/_robots/robots-production.txt +++ b/docs/_robots/robots-production.txt @@ -1,3 +1,3 @@ User-agent: * -Sitemap: https://docs.dea.ga.gov.au/sitemap.xml +Sitemap: https://knowledge.dea.ga.gov.au/sitemap.xml diff --git a/docs/conf.py b/docs/conf.py index 7ca180ba8..8cf025730 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -48,7 +48,7 @@ html_theme = 'pydata_sphinx_theme' language = "en" -if environment["build_mode"] == "production": html_baseurl = "https://docs.dea.ga.gov.au/" +if environment["build_mode"] == "production": html_baseurl = "https://knowledge.dea.ga.gov.au/" elif environment["build_mode"] == "demo": html_baseurl = f"https://{environment['git_branch']}--dea-docs.netlify.app/" else: html_baseurl = "" @@ -93,7 +93,7 @@ sitemap_url_scheme = "{link}" -ogp_site_url = "https://docs.dea.ga.gov.au/" +ogp_site_url = "https://knowledge.dea.ga.gov.au/" ogp_image = "/_files/logos/dea-logo-inline.png" sys.path.insert(0, os.path.abspath("./notebooks/Tools")) diff --git a/docs/data/archive/draft-dea-land-cover-landsat/_access.md b/docs/data/archive/draft-dea-land-cover-landsat/_access.md index a687a8b2f..79b070007 100644 --- a/docs/data/archive/draft-dea-land-cover-landsat/_access.md +++ b/docs/data/archive/draft-dea-land-cover-landsat/_access.md @@ -20,7 +20,7 @@ To view and access the DEA Land Cover interactively: #### Loading with Python in DEA Sandbox -DEA Sandbox allows you to explore DEA’s Earth Observation datasets in a JupyterLab environment. To sign up for DEA Sandbox see the [user guide](https://docs.dea.ga.gov.au/setup/Sandbox/sandbox.html) +DEA Sandbox allows you to explore DEA’s Earth Observation datasets in a JupyterLab environment. To sign up for DEA Sandbox see the [user guide](https://knowledge.dea.ga.gov.au/setup/Sandbox/sandbox.html) Once you have access, the **DEA\_Land\_Cover** notebook is in the **DEA\_datasets** directory on the Sandbox. This notebook will walk you through loading and visualising the DEA Land Cover data. diff --git a/docs/data/archive/draft-dea-waterbodies-landsat/_data.yaml b/docs/data/archive/draft-dea-waterbodies-landsat/_data.yaml index dadfc20f4..a4ed833c4 100644 --- a/docs/data/archive/draft-dea-waterbodies-landsat/_data.yaml +++ b/docs/data/archive/draft-dea-waterbodies-landsat/_data.yaml @@ -48,7 +48,7 @@ data: name: Digital Earth Australia - Public Data code_examples: - - link: https://docs.dea.ga.gov.au/notebooks/DEA_products/DEA_Waterbodies.html + - link: https://knowledge.dea.ga.gov.au/notebooks/DEA_products/DEA_Waterbodies.html name: Jupyter notebook - link: https://github.com/GeoscienceAustralia/dea-waterbodies name: Github repository diff --git a/docs/data/product/dea-tasseled-cap-percentiles-landsat/_details.md b/docs/data/product/dea-tasseled-cap-percentiles-landsat/_details.md index 30d2e90ba..17980a6a2 100644 --- a/docs/data/product/dea-tasseled-cap-percentiles-landsat/_details.md +++ b/docs/data/product/dea-tasseled-cap-percentiles-landsat/_details.md @@ -37,7 +37,7 @@ We used the Tasseled Cap transforms described in Crist et al. (1985). ## Lineage -The lineage of this product is inherited from its sole input, the terrain corrected surface reflectance product [Surface Reflectance NBART Collection 3 (Landsat)](https://docs.dea.ga.gov.au/data/category/dea-surface-reflectance/). +The lineage of this product is inherited from its sole input, the terrain corrected surface reflectance product [Surface Reflectance NBART Collection 3 (Landsat)](https://knowledge.dea.ga.gov.au/data/category/dea-surface-reflectance/). % ## Processing steps diff --git a/docs/tech-alerts-changelog/_tech_alerts_changelog.md b/docs/tech-alerts-changelog/_tech_alerts_changelog.md index b66cb8716..d6386a781 100644 --- a/docs/tech-alerts-changelog/_tech_alerts_changelog.md +++ b/docs/tech-alerts-changelog/_tech_alerts_changelog.md @@ -21,7 +21,7 @@ See alert dated 2024-02-26 for more details. ## 2024-02-26: Sentinel-2 contiguity fix reprocessing complete -Learn more in the [Sentinel-2A Surface Reflectance NBART](https://docs.dea.ga.gov.au/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/?tab=history#changelog) and [Sentinel-2B Surface Reflectance NBART](https://docs.dea.ga.gov.au/data/product/dea-surface-reflectance-nbart-sentinel-2b-msi/?tab=history#changelog) changelogs. +Learn more in the [Sentinel-2A Surface Reflectance NBART](https://knowledge.dea.ga.gov.au/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/?tab=history#changelog) and [Sentinel-2B Surface Reflectance NBART](https://knowledge.dea.ga.gov.au/data/product/dea-surface-reflectance-nbart-sentinel-2b-msi/?tab=history#changelog) changelogs. ## 2024-02-20: DEA Notebooks update @@ -65,20 +65,20 @@ Click [here](https://communication.ga.gov.au/link/id/zzzz659de7f165049054Pzzzz61 ## 2023-11: Release of version 0.3.0 of DEA Tools -Major update to the [DEA Tools Python package](https://docs.dea.ga.gov.au/notebooks/Tools/), including new tools for: +Major update to the [DEA Tools Python package](https://knowledge.dea.ga.gov.au/notebooks/Tools/), including new tools for: -* [pansharpening Landsat data](https://docs.dea.ga.gov.au/notebooks/How_to_guides/Pansharpening.html) -* [tide modelling](https://docs.dea.ga.gov.au/notebooks/How_to_guides/Tidal_modelling.html) -* [sunglint masking](https://docs.dea.ga.gov.au/notebooks/How_to_guides/Sunglint_masking.html) -* [interactive mapping](https://docs.dea.ga.gov.au/notebooks/Interactive_apps/README.html) -* [spatial operations](https://docs.dea.ga.gov.au/notebooks/Tools/gen/dea_tools.spatial.html) +* [pansharpening Landsat data](https://knowledge.dea.ga.gov.au/notebooks/How_to_guides/Pansharpening.html) +* [tide modelling](https://knowledge.dea.ga.gov.au/notebooks/How_to_guides/Tidal_modelling.html) +* [sunglint masking](https://knowledge.dea.ga.gov.au/notebooks/How_to_guides/Sunglint_masking.html) +* [interactive mapping](https://knowledge.dea.ga.gov.au/notebooks/Interactive_apps/README.html) +* [spatial operations](https://knowledge.dea.ga.gov.au/notebooks/Tools/gen/dea_tools.spatial.html) In addition, this update includes 14 new and updated Jupyter notebooks. See [version 0.3.0 release notes](https://github.com/GeoscienceAustralia/dea-notebooks/releases/tag/0.3.0) for more detail. ## 2023-08: New notebooks, features and documentation -* Added a new [DEA Wetlands Insight Tool notebook](https://docs.dea.ga.gov.au/notebooks/DEA_products/DEA_Wetlands_Insight_Tool.html) -* Notebooks for [loading data from Microsoft Planetary Computer](https://docs.dea.ga.gov.au/notebooks/How_to_guides/Planetary_computer.html) -* Enhanced [DEA Tools Python Package API documentation](https://docs.dea.ga.gov.au/notebooks/Tools/) +* Added a new [DEA Wetlands Insight Tool notebook](https://knowledge.dea.ga.gov.au/notebooks/DEA_products/DEA_Wetlands_Insight_Tool.html) +* Notebooks for [loading data from Microsoft Planetary Computer](https://knowledge.dea.ga.gov.au/notebooks/How_to_guides/Planetary_computer.html) +* Enhanced [DEA Tools Python Package API documentation](https://knowledge.dea.ga.gov.au/notebooks/Tools/) * Improved interactive widget functionality for satellite image export and animations From 8ae359065108a8de4d2314dbc4e812e32c942039 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Mon, 4 Mar 2024 12:58:37 +1100 Subject: [PATCH 065/143] Fixing the previous find-and-replace --- aws/cloudfront/functions/redirects.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/aws/cloudfront/functions/redirects.js b/aws/cloudfront/functions/redirects.js index 511f4ada6..5a51d4589 100644 --- a/aws/cloudfront/functions/redirects.js +++ b/aws/cloudfront/functions/redirects.js @@ -13,7 +13,7 @@ async function handler(event) { const indexHtmlPattern = /\/index\.html$/g; const filetypeExtensionsPattern = /\.(html|rst|md|ipynb|py)$/g; - const docsHost = "knowledge.dea.ga.gov.au"; + const docsHost = "docs.dea.ga.gov.au"; const knowledgeHost = "knowledge.dea.ga.gov.au"; const status301MovedPermanently = { @@ -21,7 +21,7 @@ async function handler(event) { statusDescription: "Moved Permanently" }; - // Redirect subdomain from 'docs' to 'knowledge'. E.g. "knowledge.dea.ga.gov.au" => "knowledge.dea.ga.gov.au" + // Redirect subdomain from 'docs' to 'knowledge'. E.g. "docs.dea.ga.gov.au" => "knowledge.dea.ga.gov.au" if (host === docsHost) { return Object.assign(status301MovedPermanently, { From 2152ec1be01d1df8b243e4b00f98f54a5c9d4421 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Mon, 4 Mar 2024 12:58:59 +1100 Subject: [PATCH 066/143] Fixing the previous find-and-replace --- aws/cloudfront/functions/test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aws/cloudfront/functions/test.js b/aws/cloudfront/functions/test.js index 2f629490e..39449b639 100644 --- a/aws/cloudfront/functions/test.js +++ b/aws/cloudfront/functions/test.js @@ -2,7 +2,7 @@ const { handler } = require("./redirects.js"); var assert = require("assert"); -const docsHost = "knowledge.dea.ga.gov.au"; +const docsHost = "docs.dea.ga.gov.au"; const knowledgeHost = "knowledge.dea.ga.gov.au"; // Create a minimum event object matching the structure that AWS CloudFront uses. From 704eba8ec8532ce941878e60b3905cf089d5d2ee Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Mon, 4 Mar 2024 15:30:21 +1100 Subject: [PATCH 067/143] Added link to readme and also previous names --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 67e36644e..c61490ecc 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,7 @@ # DEA Knowledge Hub +This is the repository for the [DEA Knowledge Hub](https://knowledge.dea.ga.gov.au/) website. + +It was previously called 'DEA Docs' or 'dea-docs'. + To contribute content to this site, please [follow the publication process and git workflow](https://geoscienceau.sharepoint.com/:w:/r/sites/DEA/_layouts/15/Doc.aspx?sourcedoc=%7BE75F31A8-1648-4DA3-9E36-9BB8135921B2%7D&file=DEA%20Publication%20Process.docx&action=default&mobileredirect=true). From 8d095400e483d3b82408550c0eed9a4156401b16 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Mon, 4 Mar 2024 15:31:42 +1100 Subject: [PATCH 068/143] Minor formatting --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c61490ecc..57e49bf05 100644 --- a/README.md +++ b/README.md @@ -4,4 +4,4 @@ This is the repository for the [DEA Knowledge Hub](https://knowledge.dea.ga.gov. It was previously called 'DEA Docs' or 'dea-docs'. -To contribute content to this site, please [follow the publication process and git workflow](https://geoscienceau.sharepoint.com/:w:/r/sites/DEA/_layouts/15/Doc.aspx?sourcedoc=%7BE75F31A8-1648-4DA3-9E36-9BB8135921B2%7D&file=DEA%20Publication%20Process.docx&action=default&mobileredirect=true). +To contribute content to this site, please follow the [publication process and git workflow](https://geoscienceau.sharepoint.com/:w:/r/sites/DEA/_layouts/15/Doc.aspx?sourcedoc=%7BE75F31A8-1648-4DA3-9E36-9BB8135921B2%7D&file=DEA%20Publication%20Process.docx&action=default&mobileredirect=true). From cbc323f871508a69b712de146821c8b295091907 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Wed, 6 Mar 2024 10:56:40 +1100 Subject: [PATCH 069/143] Allowed dirty submodule --- .gitmodules | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitmodules b/.gitmodules index d409705eb..13430699a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -3,3 +3,4 @@ url = https://github.com/GeoscienceAustralia/dea-notebooks.git branch = stable shallow = true + ignore = dirty From cc1e479da306bd68335488f1e83513a3da502d8d Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Wed, 6 Mar 2024 17:44:08 +1100 Subject: [PATCH 070/143] Changed 'Annually' to 'Yearly' --- docs/data/archive/draft-dea-land-cover-landsat/_data.yaml | 2 +- docs/data/product/dea-coastlines/_data.yaml | 2 +- .../product/dea-fractional-cover-percentiles-landsat/_data.yaml | 2 +- .../_data.yaml | 2 +- docs/data/product/dea-land-cover-landsat/_data.yaml | 2 +- docs/data/product/dea-mangrove-canopy-cover-landsat/_data.yaml | 2 +- .../product/dea-tasseled-cap-percentiles-landsat/_data.yaml | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/data/archive/draft-dea-land-cover-landsat/_data.yaml b/docs/data/archive/draft-dea-land-cover-landsat/_data.yaml index 77941a17f..91819b305 100644 --- a/docs/data/archive/draft-dea-land-cover-landsat/_data.yaml +++ b/docs/data/archive/draft-dea-land-cover-landsat/_data.yaml @@ -11,7 +11,7 @@ spatial_data_type: Raster time_span: start: null end: null -update_frequency: Annually +update_frequency: Yearly product_ids: null parent_products: diff --git a/docs/data/product/dea-coastlines/_data.yaml b/docs/data/product/dea-coastlines/_data.yaml index 40b378ca2..96383b4f5 100644 --- a/docs/data/product/dea-coastlines/_data.yaml +++ b/docs/data/product/dea-coastlines/_data.yaml @@ -12,7 +12,7 @@ spatial_data_type: Vector time_span: start: 1988 end: 2022 -update_frequency: Annually +update_frequency: Yearly next_update: null product_ids: null diff --git a/docs/data/product/dea-fractional-cover-percentiles-landsat/_data.yaml b/docs/data/product/dea-fractional-cover-percentiles-landsat/_data.yaml index 12df98d70..0ccd7361d 100644 --- a/docs/data/product/dea-fractional-cover-percentiles-landsat/_data.yaml +++ b/docs/data/product/dea-fractional-cover-percentiles-landsat/_data.yaml @@ -12,7 +12,7 @@ spatial_data_type: Raster time_span: start: 1987 end: present -update_frequency: Annually +update_frequency: Yearly next_update: null product_ids: - ga_ls_fc_pc_cyear_3 diff --git a/docs/data/product/dea-geometric-median-and-median-absolute-deviation-landsat/_data.yaml b/docs/data/product/dea-geometric-median-and-median-absolute-deviation-landsat/_data.yaml index 95a123ade..2eea92f2c 100644 --- a/docs/data/product/dea-geometric-median-and-median-absolute-deviation-landsat/_data.yaml +++ b/docs/data/product/dea-geometric-median-and-median-absolute-deviation-landsat/_data.yaml @@ -12,7 +12,7 @@ spatial_data_type: Raster time_span: start: 1986 end: 2022 -update_frequency: Annually +update_frequency: Yearly next_update: null product_ids: - ga_ls5t_nbart_gm_cyear_3 diff --git a/docs/data/product/dea-land-cover-landsat/_data.yaml b/docs/data/product/dea-land-cover-landsat/_data.yaml index 5e6d9992e..f95777d28 100644 --- a/docs/data/product/dea-land-cover-landsat/_data.yaml +++ b/docs/data/product/dea-land-cover-landsat/_data.yaml @@ -12,7 +12,7 @@ spatial_data_type: Raster time_span: start: 1988 end: 2020 -update_frequency: Annually +update_frequency: Yearly next_update: No updates planned - new version in development product_ids: - ga_ls_landcover_class_cyear_2 diff --git a/docs/data/product/dea-mangrove-canopy-cover-landsat/_data.yaml b/docs/data/product/dea-mangrove-canopy-cover-landsat/_data.yaml index 62064825e..19213ccf6 100644 --- a/docs/data/product/dea-mangrove-canopy-cover-landsat/_data.yaml +++ b/docs/data/product/dea-mangrove-canopy-cover-landsat/_data.yaml @@ -12,7 +12,7 @@ spatial_data_type: Raster time_span: start: 1987 end: 2022 -update_frequency: Annually +update_frequency: Yearly next_update: null product_ids: - ga_ls_mangrove_cover_cyear_3 diff --git a/docs/data/product/dea-tasseled-cap-percentiles-landsat/_data.yaml b/docs/data/product/dea-tasseled-cap-percentiles-landsat/_data.yaml index 529ddd1c1..c30937345 100644 --- a/docs/data/product/dea-tasseled-cap-percentiles-landsat/_data.yaml +++ b/docs/data/product/dea-tasseled-cap-percentiles-landsat/_data.yaml @@ -12,7 +12,7 @@ spatial_data_type: Raster time_span: start: 1987 end: 2022 -update_frequency: Annually +update_frequency: Yearly next_update: null product_ids: - ga_ls_tc_pc_cyear_3 From e044ffabe413c9a2e13394bcacc14ea6dabb9801 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Wed, 6 Mar 2024 17:45:45 +1100 Subject: [PATCH 071/143] Changed 'Biennially' to 'Every 2 years' --- docs/data/product/ga-land-cover-terra-modis/_data.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/data/product/ga-land-cover-terra-modis/_data.yaml b/docs/data/product/ga-land-cover-terra-modis/_data.yaml index c52672cab..f17b9d89a 100644 --- a/docs/data/product/ga-land-cover-terra-modis/_data.yaml +++ b/docs/data/product/ga-land-cover-terra-modis/_data.yaml @@ -12,7 +12,7 @@ spatial_data_type: Raster time_span: start: 2002 end: 2015 -update_frequency: Biennially +update_frequency: Every 2 years next_update: No updates planned product_ids: - ga_ter_m_dlcd_ann From ecc384c47d1086987738eba5ffa3e2ed0323c146 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Wed, 6 Mar 2024 17:48:57 +1100 Subject: [PATCH 072/143] Changed to 'Every 10 minutes' --- docs/data/product/dea-hotspots/_data.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/data/product/dea-hotspots/_data.yaml b/docs/data/product/dea-hotspots/_data.yaml index 0bfd565c2..9e1d6979f 100644 --- a/docs/data/product/dea-hotspots/_data.yaml +++ b/docs/data/product/dea-hotspots/_data.yaml @@ -12,7 +12,7 @@ spatial_data_type: Vector time_span: start: 27/08/2002 end: present -update_frequency: 10 minutes +update_frequency: Every 10 minutes next_update: null product_ids: null From 72144c8e25e6e5e43e27a8c9a61c3453bd30cc91 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 7 Mar 2024 10:26:28 +1100 Subject: [PATCH 073/143] Standardised the 'next_update' field --- .../_data.yaml | 2 +- .../product/dea-intertidal-elevation-landsat/_data.yaml | 2 +- .../product/dea-intertidal-elevation-landsat/_details.md | 6 ++++++ docs/data/product/dea-intertidal-extents-landsat/_data.yaml | 2 +- .../data/product/dea-intertidal-extents-landsat/_details.md | 6 ++++++ docs/data/product/dea-land-cover-landsat/_data.yaml | 2 +- docs/data/product/dea-land-cover-landsat/_details.md | 6 ++++++ 7 files changed, 22 insertions(+), 4 deletions(-) diff --git a/docs/data/product/dea-burnt-area-characteristic-layers-sentinel-2-near-real-time/_data.yaml b/docs/data/product/dea-burnt-area-characteristic-layers-sentinel-2-near-real-time/_data.yaml index 5412e0aed..4391b26e8 100644 --- a/docs/data/product/dea-burnt-area-characteristic-layers-sentinel-2-near-real-time/_data.yaml +++ b/docs/data/product/dea-burnt-area-characteristic-layers-sentinel-2-near-real-time/_data.yaml @@ -13,7 +13,7 @@ time_span: start: 1 Jul 2021 end: 29 Aug 2023 update_frequency: Daily -next_update: No further updates planned +next_update: No updates planned product_ids: - ga_s2_ba_provisional_3 diff --git a/docs/data/product/dea-intertidal-elevation-landsat/_data.yaml b/docs/data/product/dea-intertidal-elevation-landsat/_data.yaml index 90870d0bc..9fbc6e509 100644 --- a/docs/data/product/dea-intertidal-elevation-landsat/_data.yaml +++ b/docs/data/product/dea-intertidal-elevation-landsat/_data.yaml @@ -13,7 +13,7 @@ time_span: start: 1986 end: 2016 update_frequency: As needed -next_update: No updates planned - new version in development +next_update: No updates planned product_ids: - nidem diff --git a/docs/data/product/dea-intertidal-elevation-landsat/_details.md b/docs/data/product/dea-intertidal-elevation-landsat/_details.md index 961f51702..ae72f9324 100644 --- a/docs/data/product/dea-intertidal-elevation-landsat/_details.md +++ b/docs/data/product/dea-intertidal-elevation-landsat/_details.md @@ -1,5 +1,11 @@ ## Background +:::{admonition} New version in development +:class: note + +There are no updates planned for this product because a new version is in development. +::: + Intertidal environments support important ecological habitats (e.g. sandy beaches and shores, tidal flats and rocky shores and reefs), and provide many valuable benefits such as storm surge protection, carbon storage and natural resources for recreational and commercial use. Intertidal zones are faced with increasing threats from coastal erosion, land reclamation (e.g. port construction), and sea level rise. Accurate elevation data describing the height and shape of the coastline is needed to help predict when and where these threats will have the greatest impact. However, this data is expensive and challenging to map across the entire intertidal zone of a continent the size of Australia. diff --git a/docs/data/product/dea-intertidal-extents-landsat/_data.yaml b/docs/data/product/dea-intertidal-extents-landsat/_data.yaml index 5a5c5c0fa..e8b4010f7 100644 --- a/docs/data/product/dea-intertidal-extents-landsat/_data.yaml +++ b/docs/data/product/dea-intertidal-extents-landsat/_data.yaml @@ -13,7 +13,7 @@ time_span: start: 1986 end: 2016 update_frequency: As needed -next_update: No updates planned - new version in development +next_update: No updates planned product_ids: - item_v2 diff --git a/docs/data/product/dea-intertidal-extents-landsat/_details.md b/docs/data/product/dea-intertidal-extents-landsat/_details.md index 3d8d90c62..ed50f0c15 100644 --- a/docs/data/product/dea-intertidal-extents-landsat/_details.md +++ b/docs/data/product/dea-intertidal-extents-landsat/_details.md @@ -1,5 +1,11 @@ ## Background +:::{admonition} New version in development +:class: note + +There are no updates planned for this product because a new version is in development. +::: + Intertidal zones are those which are exposed to the air at low tide and underwater at high tide. These include sandy beaches, tidal flats, rocky shores and reefs. Intertidal zones form critical habitats for a wide range of organisms, but are faced with increasing threats, including coastal erosion and a rise in sea levels. diff --git a/docs/data/product/dea-land-cover-landsat/_data.yaml b/docs/data/product/dea-land-cover-landsat/_data.yaml index 5e6d9992e..a0b876b36 100644 --- a/docs/data/product/dea-land-cover-landsat/_data.yaml +++ b/docs/data/product/dea-land-cover-landsat/_data.yaml @@ -13,7 +13,7 @@ time_span: start: 1988 end: 2020 update_frequency: Annually -next_update: No updates planned - new version in development +next_update: No updates planned product_ids: - ga_ls_landcover_class_cyear_2 diff --git a/docs/data/product/dea-land-cover-landsat/_details.md b/docs/data/product/dea-land-cover-landsat/_details.md index f50d77f02..eda854d30 100644 --- a/docs/data/product/dea-land-cover-landsat/_details.md +++ b/docs/data/product/dea-land-cover-landsat/_details.md @@ -1,5 +1,11 @@ ## Background +:::{admonition} New version in development +:class: note + +There are no updates planned for this product because a new version is in development. +::: + Land cover is the observed physical cover on the Earth's surface including trees, shrubs, grasses, soils, exposed rocks, water bodies, plantations, crops and built structures. A consistent, Australia-wide land cover product helps understanding of how the different parts of the environment change and inter-relate. Earth observation data recorded over a period of time firstly allows the observation of the state of land cover at a specific time and secondly the way that land cover changes by comparison between times. ## What this product offers From 30f963367cdcbb2925b79c33d368811cf3a34f33 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 7 Mar 2024 10:33:28 +1100 Subject: [PATCH 074/143] Editing wording of admonitions --- docs/data/product/dea-intertidal-elevation-landsat/_details.md | 2 +- docs/data/product/dea-intertidal-extents-landsat/_details.md | 2 +- docs/data/product/dea-land-cover-landsat/_details.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/data/product/dea-intertidal-elevation-landsat/_details.md b/docs/data/product/dea-intertidal-elevation-landsat/_details.md index ae72f9324..2089432f8 100644 --- a/docs/data/product/dea-intertidal-elevation-landsat/_details.md +++ b/docs/data/product/dea-intertidal-elevation-landsat/_details.md @@ -3,7 +3,7 @@ :::{admonition} New version in development :class: note -There are no updates planned for this product because a new version is in development. +No updates are planned for this product because a new version is in development. ::: Intertidal environments support important ecological habitats (e.g. sandy beaches and shores, tidal flats and rocky shores and reefs), and provide many valuable benefits such as storm surge protection, carbon storage and natural resources for recreational and commercial use. diff --git a/docs/data/product/dea-intertidal-extents-landsat/_details.md b/docs/data/product/dea-intertidal-extents-landsat/_details.md index ed50f0c15..a10ec0acb 100644 --- a/docs/data/product/dea-intertidal-extents-landsat/_details.md +++ b/docs/data/product/dea-intertidal-extents-landsat/_details.md @@ -3,7 +3,7 @@ :::{admonition} New version in development :class: note -There are no updates planned for this product because a new version is in development. +No updates are planned for this product because a new version is in development. ::: Intertidal zones are those which are exposed to the air at low tide and underwater at high tide. These include sandy beaches, tidal flats, rocky shores and reefs. diff --git a/docs/data/product/dea-land-cover-landsat/_details.md b/docs/data/product/dea-land-cover-landsat/_details.md index eda854d30..710be3bda 100644 --- a/docs/data/product/dea-land-cover-landsat/_details.md +++ b/docs/data/product/dea-land-cover-landsat/_details.md @@ -3,7 +3,7 @@ :::{admonition} New version in development :class: note -There are no updates planned for this product because a new version is in development. +No updates are planned for this product because a new version is in development. ::: Land cover is the observed physical cover on the Earth's surface including trees, shrubs, grasses, soils, exposed rocks, water bodies, plantations, crops and built structures. A consistent, Australia-wide land cover product helps understanding of how the different parts of the environment change and inter-relate. Earth observation data recorded over a period of time firstly allows the observation of the state of land cover at a specific time and secondly the way that land cover changes by comparison between times. From 22897d5561b0fb3238c6bad812df753841d34f2b Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 7 Mar 2024 10:47:18 +1100 Subject: [PATCH 075/143] Moved the callout to the top of the Overview tab --- .../product/dea-intertidal-elevation-landsat/_details.md | 6 ------ .../product/dea-intertidal-elevation-landsat/_overview_1.md | 6 ++++++ .../data/product/dea-intertidal-extents-landsat/_details.md | 6 ------ .../product/dea-intertidal-extents-landsat/_overview_1.md | 6 ++++++ docs/data/product/dea-land-cover-landsat/_details.md | 6 ------ docs/data/product/dea-land-cover-landsat/_overview_1.md | 6 ++++++ 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/docs/data/product/dea-intertidal-elevation-landsat/_details.md b/docs/data/product/dea-intertidal-elevation-landsat/_details.md index 2089432f8..961f51702 100644 --- a/docs/data/product/dea-intertidal-elevation-landsat/_details.md +++ b/docs/data/product/dea-intertidal-elevation-landsat/_details.md @@ -1,11 +1,5 @@ ## Background -:::{admonition} New version in development -:class: note - -No updates are planned for this product because a new version is in development. -::: - Intertidal environments support important ecological habitats (e.g. sandy beaches and shores, tidal flats and rocky shores and reefs), and provide many valuable benefits such as storm surge protection, carbon storage and natural resources for recreational and commercial use. Intertidal zones are faced with increasing threats from coastal erosion, land reclamation (e.g. port construction), and sea level rise. Accurate elevation data describing the height and shape of the coastline is needed to help predict when and where these threats will have the greatest impact. However, this data is expensive and challenging to map across the entire intertidal zone of a continent the size of Australia. diff --git a/docs/data/product/dea-intertidal-elevation-landsat/_overview_1.md b/docs/data/product/dea-intertidal-elevation-landsat/_overview_1.md index 70b6da0fb..985320f0f 100644 --- a/docs/data/product/dea-intertidal-elevation-landsat/_overview_1.md +++ b/docs/data/product/dea-intertidal-elevation-landsat/_overview_1.md @@ -1,3 +1,9 @@ +:::{admonition} New version in development +:class: note + +No updates are planned for this product because a new version is in development. +::: + ## About Digital Earth Australia (DEA) Intertidal Elevation maps Australia's intertidal zone — the area between the highest tide mark and the lowest — in 3D, providing 25 m resolution elevation data for our sandy beaches, tidal flats, rocky shores and reefs. diff --git a/docs/data/product/dea-intertidal-extents-landsat/_details.md b/docs/data/product/dea-intertidal-extents-landsat/_details.md index a10ec0acb..3d8d90c62 100644 --- a/docs/data/product/dea-intertidal-extents-landsat/_details.md +++ b/docs/data/product/dea-intertidal-extents-landsat/_details.md @@ -1,11 +1,5 @@ ## Background -:::{admonition} New version in development -:class: note - -No updates are planned for this product because a new version is in development. -::: - Intertidal zones are those which are exposed to the air at low tide and underwater at high tide. These include sandy beaches, tidal flats, rocky shores and reefs. Intertidal zones form critical habitats for a wide range of organisms, but are faced with increasing threats, including coastal erosion and a rise in sea levels. diff --git a/docs/data/product/dea-intertidal-extents-landsat/_overview_1.md b/docs/data/product/dea-intertidal-extents-landsat/_overview_1.md index 4049383a5..c5ac1fa55 100644 --- a/docs/data/product/dea-intertidal-extents-landsat/_overview_1.md +++ b/docs/data/product/dea-intertidal-extents-landsat/_overview_1.md @@ -1,3 +1,9 @@ +:::{admonition} New version in development +:class: note + +No updates are planned for this product because a new version is in development. +::: + ## About Understanding the boundaries of the ‘intertidal zone’ — the strip of coastal land revealed and concealed daily by ocean tides — has long been a challenge. Digital Earth Australia (DEA) Intertidal Extents gives definition to complex and ephemeral landscapes. diff --git a/docs/data/product/dea-land-cover-landsat/_details.md b/docs/data/product/dea-land-cover-landsat/_details.md index 710be3bda..f50d77f02 100644 --- a/docs/data/product/dea-land-cover-landsat/_details.md +++ b/docs/data/product/dea-land-cover-landsat/_details.md @@ -1,11 +1,5 @@ ## Background -:::{admonition} New version in development -:class: note - -No updates are planned for this product because a new version is in development. -::: - Land cover is the observed physical cover on the Earth's surface including trees, shrubs, grasses, soils, exposed rocks, water bodies, plantations, crops and built structures. A consistent, Australia-wide land cover product helps understanding of how the different parts of the environment change and inter-relate. Earth observation data recorded over a period of time firstly allows the observation of the state of land cover at a specific time and secondly the way that land cover changes by comparison between times. ## What this product offers diff --git a/docs/data/product/dea-land-cover-landsat/_overview_1.md b/docs/data/product/dea-land-cover-landsat/_overview_1.md index a56b4a9f0..4bca02a4c 100644 --- a/docs/data/product/dea-land-cover-landsat/_overview_1.md +++ b/docs/data/product/dea-land-cover-landsat/_overview_1.md @@ -1,3 +1,9 @@ +:::{admonition} New version in development +:class: note + +No updates are planned for this product because a new version is in development. +::: + ## About Digital Earth Australia (DEA) Land Cover translates over 30 years of satellite imagery into evidence of how Australia's land, vegetation and waterbodies have changed over time. From df2a3a495073cae259babe45cce25ffd136f1eb6 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 7 Mar 2024 10:56:19 +1100 Subject: [PATCH 076/143] Moved the callout to underneath the About section --- .../dea-intertidal-elevation-landsat/_overview_1.md | 9 ++++----- .../dea-intertidal-extents-landsat/_overview_1.md | 12 ++++++------ .../product/dea-land-cover-landsat/_overview_1.md | 8 ++++---- 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/docs/data/product/dea-intertidal-elevation-landsat/_overview_1.md b/docs/data/product/dea-intertidal-elevation-landsat/_overview_1.md index 985320f0f..9959c3cde 100644 --- a/docs/data/product/dea-intertidal-elevation-landsat/_overview_1.md +++ b/docs/data/product/dea-intertidal-elevation-landsat/_overview_1.md @@ -1,10 +1,9 @@ +## About + +Digital Earth Australia (DEA) Intertidal Elevation maps Australia's intertidal zone — the area between the highest tide mark and the lowest — in 3D, providing 25 m resolution elevation data for our sandy beaches, tidal flats, rocky shores and reefs. + :::{admonition} New version in development :class: note No updates are planned for this product because a new version is in development. ::: - -## About - -Digital Earth Australia (DEA) Intertidal Elevation maps Australia's intertidal zone — the area between the highest tide mark and the lowest — in 3D, providing 25 m resolution elevation data for our sandy beaches, tidal flats, rocky shores and reefs. - diff --git a/docs/data/product/dea-intertidal-extents-landsat/_overview_1.md b/docs/data/product/dea-intertidal-extents-landsat/_overview_1.md index c5ac1fa55..cb73cb04c 100644 --- a/docs/data/product/dea-intertidal-extents-landsat/_overview_1.md +++ b/docs/data/product/dea-intertidal-extents-landsat/_overview_1.md @@ -1,12 +1,12 @@ -:::{admonition} New version in development -:class: note - -No updates are planned for this product because a new version is in development. -::: - ## About Understanding the boundaries of the ‘intertidal zone’ — the strip of coastal land revealed and concealed daily by ocean tides — has long been a challenge. Digital Earth Australia (DEA) Intertidal Extents gives definition to complex and ephemeral landscapes. The dataset provides information on the lowest (LOT) and highest (HOT) observed tides for a chosen geographic cell, revealing the satellite-observed tidal range (HOT-LOT) for any given location. +:::{admonition} New version in development +:class: note + +No updates are planned for this product because a new version is in development. +::: + diff --git a/docs/data/product/dea-land-cover-landsat/_overview_1.md b/docs/data/product/dea-land-cover-landsat/_overview_1.md index 4bca02a4c..596add344 100644 --- a/docs/data/product/dea-land-cover-landsat/_overview_1.md +++ b/docs/data/product/dea-land-cover-landsat/_overview_1.md @@ -1,10 +1,10 @@ +## About + +Digital Earth Australia (DEA) Land Cover translates over 30 years of satellite imagery into evidence of how Australia's land, vegetation and waterbodies have changed over time. + :::{admonition} New version in development :class: note No updates are planned for this product because a new version is in development. ::: -## About - -Digital Earth Australia (DEA) Land Cover translates over 30 years of satellite imagery into evidence of how Australia's land, vegetation and waterbodies have changed over time. - From 4f514d8b8d992f99c0fb10145a78a8b76f89ccb9 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 7 Mar 2024 12:34:09 +1100 Subject: [PATCH 077/143] Added history tab parameter to link in template --- docs/_templates/product-v1.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_templates/product-v1.rst b/docs/_templates/product-v1.rst index 58a0d50b1..0c0b8c306 100644 --- a/docs/_templates/product-v1.rst +++ b/docs/_templates/product-v1.rst @@ -337,7 +337,7 @@ :name: other-versions :class: h2 - You can find the history in the `latest version of the product <{{ data.latest_version_link }}>`_. + You can find the history in the `latest version of the product <{{ data.latest_version_link }}?tab=history>`_. {% else %} .. rubric:: Old versions :name: old-versions From ae4bc5f79d5481fd5565fcd0987b29c287d8ea70 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 7 Mar 2024 13:02:49 +1100 Subject: [PATCH 078/143] Renamed all 'Github' to 'GitHub' --- docs/data/archive/draft-dea-waterbodies-landsat/_data.yaml | 2 +- docs/data/product/dea-coastlines/_data.yaml | 2 +- docs/data/product/dea-coastlines/_details.md | 2 +- docs/data/product/dea-coastlines/_history.md | 2 +- docs/data/product/dea-coastlines/_unused_data.yaml | 2 +- docs/data/product/dea-waterbodies-landsat/_data.yaml | 2 +- docs/data/product/dea-waterbodies-landsat/_faqs.md | 2 +- docs/guides/index.md | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/data/archive/draft-dea-waterbodies-landsat/_data.yaml b/docs/data/archive/draft-dea-waterbodies-landsat/_data.yaml index a4ed833c4..b2c94c3e0 100644 --- a/docs/data/archive/draft-dea-waterbodies-landsat/_data.yaml +++ b/docs/data/archive/draft-dea-waterbodies-landsat/_data.yaml @@ -51,7 +51,7 @@ code_examples: - link: https://knowledge.dea.ga.gov.au/notebooks/DEA_products/DEA_Waterbodies.html name: Jupyter notebook - link: https://github.com/GeoscienceAustralia/dea-waterbodies - name: Github repository + name: GitHub repository web_services: - link: https://geoserver.dea.ga.gov.au/geoserver/wms diff --git a/docs/data/product/dea-coastlines/_data.yaml b/docs/data/product/dea-coastlines/_data.yaml index 40b378ca2..e5057a6e4 100644 --- a/docs/data/product/dea-coastlines/_data.yaml +++ b/docs/data/product/dea-coastlines/_data.yaml @@ -54,7 +54,7 @@ code_examples: - link: /notebooks/DEA_products/DEA_Coastlines/ name: Code examples - link: https://github.com/GeoscienceAustralia/dea-coastlines - name: Github repository + name: GitHub repository web_services: - link: https://geoserver.dea.ga.gov.au/geoserver/wms diff --git a/docs/data/product/dea-coastlines/_details.md b/docs/data/product/dea-coastlines/_details.md index e23b40cb2..7ca2a9e46 100644 --- a/docs/data/product/dea-coastlines/_details.md +++ b/docs/data/product/dea-coastlines/_details.md @@ -144,7 +144,7 @@ Figure 3: Coastal change hotspots from DEA Coastlines visualised on the [interac ## Software The following software was used to generate this product: -* [DEA Coastlines Github code](https://github.com/GeoscienceAustralia/dea-coastlines) +* [DEA Coastlines GitHub code](https://github.com/GeoscienceAustralia/dea-coastlines) * [OpenDataCube](https://github.com/opendatacube) * [FES2014 global tide model](https://www.aviso.altimetry.fr/en/data/products/auxiliary-products/global-tide-fes/description-fes2014.html) diff --git a/docs/data/product/dea-coastlines/_history.md b/docs/data/product/dea-coastlines/_history.md index fcc44817a..9c9b7f760 100644 --- a/docs/data/product/dea-coastlines/_history.md +++ b/docs/data/product/dea-coastlines/_history.md @@ -27,4 +27,4 @@ In March 2023, the DEA Coastlines product [was updated to version 2.0.0](https:/ ### Previous updates -For a full summary of changes made in previous versions, [refer to Github](https://github.com/GeoscienceAustralia/dea-coastlines/releases/tag/v1.1.0). +For a full summary of changes made in previous versions, [refer to GitHub](https://github.com/GeoscienceAustralia/dea-coastlines/releases/tag/v1.1.0). diff --git a/docs/data/product/dea-coastlines/_unused_data.yaml b/docs/data/product/dea-coastlines/_unused_data.yaml index fb5202182..4f1034703 100644 --- a/docs/data/product/dea-coastlines/_unused_data.yaml +++ b/docs/data/product/dea-coastlines/_unused_data.yaml @@ -42,7 +42,7 @@ relevant_websites: - link: https://maps.dea.ga.gov.au/story/DEACoastlines name: Interactive DEA Coastlines product on DEA Maps - link: https://github.com/GeoscienceAustralia/dea-coastlines - name: DEA Coastlines Github code repository + name: DEA Coastlines GitHub code repository # Processing tab diff --git a/docs/data/product/dea-waterbodies-landsat/_data.yaml b/docs/data/product/dea-waterbodies-landsat/_data.yaml index 2f8979dce..6e1998f40 100644 --- a/docs/data/product/dea-waterbodies-landsat/_data.yaml +++ b/docs/data/product/dea-waterbodies-landsat/_data.yaml @@ -52,7 +52,7 @@ code_examples: - link: /notebooks/DEA_products/DEA_Waterbodies/ name: Code examples - link: https://github.com/GeoscienceAustralia/dea-waterbodies - name: Github repository + name: GitHub repository web_services: - link: https://geoserver.dea.ga.gov.au/geoserver/wms diff --git a/docs/data/product/dea-waterbodies-landsat/_faqs.md b/docs/data/product/dea-waterbodies-landsat/_faqs.md index 67918209b..379944a12 100644 --- a/docs/data/product/dea-waterbodies-landsat/_faqs.md +++ b/docs/data/product/dea-waterbodies-landsat/_faqs.md @@ -133,7 +133,7 @@ DEA Waterbodies has been provided as a web mapping service. You can consume this ::: :::{dropdown} How was DEA Waterbodies produced? -The code used to produce DEA Waterbodies has been uploaded to Geoscience Australia's [Github page](https://github.com/GeoscienceAustralia/dea-waterbodies). There is also a [peer reviewed journal article](https://doi.org/10.3390/rs13081437) that explains in detail the methods used to produce DEA Waterbodies. +The code used to produce DEA Waterbodies has been uploaded to Geoscience Australia's [GitHub page](https://github.com/GeoscienceAustralia/dea-waterbodies). There is also a [peer reviewed journal article](https://doi.org/10.3390/rs13081437) that explains in detail the methods used to produce DEA Waterbodies. ::: :::{dropdown} How do I cite DEA Waterbodies? diff --git a/docs/guides/index.md b/docs/guides/index.md index f52a30e70..bee2034c7 100644 --- a/docs/guides/index.md +++ b/docs/guides/index.md @@ -14,5 +14,5 @@ Data can be viewed on the interactive [Digital Earth Australia Maps](https://map Our OGC Web Service supporting WMS, WCS and some WPS functionality is . -If you notice an error in this documentation, things that could be explained more clearly, or things that are missing, please let us know by creating an Issue in the [dea-notebooks Github repository](https://github.com/GeoscienceAustralia/dea-notebooks/issues), and list what you would like to see changed. +If you notice an error in this documentation, things that could be explained more clearly, or things that are missing, please let us know by creating an Issue in the [dea-notebooks GitHub repository](https://github.com/GeoscienceAustralia/dea-notebooks/issues), and list what you would like to see changed. From 6957f93bd605d8f7e994583353eeacee05301946 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 7 Mar 2024 15:04:22 +1100 Subject: [PATCH 079/143] Moved the 2023 changelog entries into the 2023 page --- .../_tech_alerts_changelog.md | 19 ------------------- .../previous-years/2023.md | 19 +++++++++++++++++++ 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/docs/tech-alerts-changelog/_tech_alerts_changelog.md b/docs/tech-alerts-changelog/_tech_alerts_changelog.md index d6386a781..926c15c4f 100644 --- a/docs/tech-alerts-changelog/_tech_alerts_changelog.md +++ b/docs/tech-alerts-changelog/_tech_alerts_changelog.md @@ -63,22 +63,3 @@ Affected products: See [DEA Tech alert email](https://communication.ga.gov.au/link/id/zzzz659df9f7f306b556Pzzzz61de67bd94bfe861/page.html) for more information. Click [here](https://communication.ga.gov.au/link/id/zzzz659de7f165049054Pzzzz61de67bd94bfe861/page.html) to subscribe to DEA Tech alert emails. -## 2023-11: Release of version 0.3.0 of DEA Tools - -Major update to the [DEA Tools Python package](https://knowledge.dea.ga.gov.au/notebooks/Tools/), including new tools for: - -* [pansharpening Landsat data](https://knowledge.dea.ga.gov.au/notebooks/How_to_guides/Pansharpening.html) -* [tide modelling](https://knowledge.dea.ga.gov.au/notebooks/How_to_guides/Tidal_modelling.html) -* [sunglint masking](https://knowledge.dea.ga.gov.au/notebooks/How_to_guides/Sunglint_masking.html) -* [interactive mapping](https://knowledge.dea.ga.gov.au/notebooks/Interactive_apps/README.html) -* [spatial operations](https://knowledge.dea.ga.gov.au/notebooks/Tools/gen/dea_tools.spatial.html) - -In addition, this update includes 14 new and updated Jupyter notebooks. See [version 0.3.0 release notes](https://github.com/GeoscienceAustralia/dea-notebooks/releases/tag/0.3.0) for more detail. - -## 2023-08: New notebooks, features and documentation - -* Added a new [DEA Wetlands Insight Tool notebook](https://knowledge.dea.ga.gov.au/notebooks/DEA_products/DEA_Wetlands_Insight_Tool.html) -* Notebooks for [loading data from Microsoft Planetary Computer](https://knowledge.dea.ga.gov.au/notebooks/How_to_guides/Planetary_computer.html) -* Enhanced [DEA Tools Python Package API documentation](https://knowledge.dea.ga.gov.au/notebooks/Tools/) -* Improved interactive widget functionality for satellite image export and animations - diff --git a/docs/tech-alerts-changelog/previous-years/2023.md b/docs/tech-alerts-changelog/previous-years/2023.md index f2fee6ddc..da4261dd7 100644 --- a/docs/tech-alerts-changelog/previous-years/2023.md +++ b/docs/tech-alerts-changelog/previous-years/2023.md @@ -11,3 +11,22 @@ Technical DEA internals which have changed in the last week. * Some data gap filling of Landsat 8 ARD, Landsat 8 FC and Landsat 8 WO for 2023. * Reduced the delay between Sentinel 2 ARD data being produced (on the NCI), and being delivered to AWS. It was *up to 48 hours* and should now be *up to 24 hours*. +## 2023-11: Release of version 0.3.0 of DEA Tools + +Major update to the [DEA Tools Python package](https://knowledge.dea.ga.gov.au/notebooks/Tools/), including new tools for: + +* [pansharpening Landsat data](https://knowledge.dea.ga.gov.au/notebooks/How_to_guides/Pansharpening.html) +* [tide modelling](https://knowledge.dea.ga.gov.au/notebooks/How_to_guides/Tidal_modelling.html) +* [sunglint masking](https://knowledge.dea.ga.gov.au/notebooks/How_to_guides/Sunglint_masking.html) +* [interactive mapping](https://knowledge.dea.ga.gov.au/notebooks/Interactive_apps/README.html) +* [spatial operations](https://knowledge.dea.ga.gov.au/notebooks/Tools/gen/dea_tools.spatial.html) + +In addition, this update includes 14 new and updated Jupyter notebooks. See [version 0.3.0 release notes](https://github.com/GeoscienceAustralia/dea-notebooks/releases/tag/0.3.0) for more detail. + +## 2023-08: New notebooks, features and documentation + +* Added a new [DEA Wetlands Insight Tool notebook](https://knowledge.dea.ga.gov.au/notebooks/DEA_products/DEA_Wetlands_Insight_Tool.html) +* Notebooks for [loading data from Microsoft Planetary Computer](https://knowledge.dea.ga.gov.au/notebooks/How_to_guides/Planetary_computer.html) +* Enhanced [DEA Tools Python Package API documentation](https://knowledge.dea.ga.gov.au/notebooks/Tools/) +* Improved interactive widget functionality for satellite image export and animations + From 1093f2572d9bc48a6e02dd7dd2f3d7d6954a7b7f Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Fri, 8 Mar 2024 10:53:50 +1100 Subject: [PATCH 080/143] Rewrote the 'New version in development' callout using Claires wording about the DEA Newsletter --- .../product/dea-intertidal-elevation-landsat/_overview_1.md | 3 ++- .../data/product/dea-intertidal-extents-landsat/_overview_1.md | 2 +- docs/data/product/dea-land-cover-landsat/_overview_1.md | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/data/product/dea-intertidal-elevation-landsat/_overview_1.md b/docs/data/product/dea-intertidal-elevation-landsat/_overview_1.md index 9959c3cde..2ac02da9d 100644 --- a/docs/data/product/dea-intertidal-elevation-landsat/_overview_1.md +++ b/docs/data/product/dea-intertidal-elevation-landsat/_overview_1.md @@ -5,5 +5,6 @@ Digital Earth Australia (DEA) Intertidal Elevation maps Australia's intertidal z :::{admonition} New version in development :class: note -No updates are planned for this product because a new version is in development. +A new version of this product is currently being developed. Subscribe to the [DEA newsletter](https://www.dea.ga.gov.au/news/dea-newsletter-and-communications-archive) to be notified of our latest product releases. ::: + diff --git a/docs/data/product/dea-intertidal-extents-landsat/_overview_1.md b/docs/data/product/dea-intertidal-extents-landsat/_overview_1.md index cb73cb04c..71e25fdb0 100644 --- a/docs/data/product/dea-intertidal-extents-landsat/_overview_1.md +++ b/docs/data/product/dea-intertidal-extents-landsat/_overview_1.md @@ -7,6 +7,6 @@ The dataset provides information on the lowest (LOT) and highest (HOT) observed :::{admonition} New version in development :class: note -No updates are planned for this product because a new version is in development. +A new version of this product is currently being developed. Subscribe to the [DEA newsletter](https://www.dea.ga.gov.au/news/dea-newsletter-and-communications-archive) to be notified of our latest product releases. ::: diff --git a/docs/data/product/dea-land-cover-landsat/_overview_1.md b/docs/data/product/dea-land-cover-landsat/_overview_1.md index 596add344..1cc1830b6 100644 --- a/docs/data/product/dea-land-cover-landsat/_overview_1.md +++ b/docs/data/product/dea-land-cover-landsat/_overview_1.md @@ -5,6 +5,6 @@ Digital Earth Australia (DEA) Land Cover translates over 30 years of satellite i :::{admonition} New version in development :class: note -No updates are planned for this product because a new version is in development. +A new version of this product is currently being developed. Subscribe to the [DEA newsletter](https://www.dea.ga.gov.au/news/dea-newsletter-and-communications-archive) to be notified of our latest product releases. ::: From 6af12605c2c189158736647af740df42a833799f Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Fri, 8 Mar 2024 14:26:57 +1100 Subject: [PATCH 081/143] Added callout to all products where it is needed --- .../product/dea-fractional-cover-landsat/_overview_1.md | 6 ++++++ .../_overview_1.md | 7 +++++++ .../_overview_1.md | 9 ++++++++- .../dea-water-observations-landsat/_overview_1.md | 6 ++++++ .../_overview_1.md | 6 ++++++ docs/data/product/dea-waterbodies-landsat/_overview_1.md | 6 ++++++ 6 files changed, 39 insertions(+), 1 deletion(-) diff --git a/docs/data/product/dea-fractional-cover-landsat/_overview_1.md b/docs/data/product/dea-fractional-cover-landsat/_overview_1.md index 9c0a9358e..3fa2122f8 100644 --- a/docs/data/product/dea-fractional-cover-landsat/_overview_1.md +++ b/docs/data/product/dea-fractional-cover-landsat/_overview_1.md @@ -2,3 +2,9 @@ Digital Earth Australia (DEA) Fractional Cover splits landscape observation data into three parts — or fractions — enabling measurement of green (leaves, grass, and growing crops), brown (branches, dry grass or hay, and dead leaf litter), and bare ground (soil or rock) in any area of Australia at any time since 1986. +:::{admonition} New version in development +:class: note + +A new version of this product is currently being developed. Subscribe to the [DEA newsletter](https://www.dea.ga.gov.au/news/dea-newsletter-and-communications-archive) to be notified of our latest product releases. +::: + diff --git a/docs/data/product/dea-fractional-cover-percentiles-landsat/_overview_1.md b/docs/data/product/dea-fractional-cover-percentiles-landsat/_overview_1.md index a9bc43b9f..3733a808b 100644 --- a/docs/data/product/dea-fractional-cover-percentiles-landsat/_overview_1.md +++ b/docs/data/product/dea-fractional-cover-percentiles-landsat/_overview_1.md @@ -1,3 +1,10 @@ ## About This product is designed to make it easier to analyse and interpret fractional cover. It uses the Fractional Cover (Landsat) product and calculates the statistical summaries (10th, 50th and 90th percentile) of fractional cover per epoch (annual). + +:::{admonition} New version in development +:class: note + +A new version of this product is currently being developed. Subscribe to the [DEA newsletter](https://www.dea.ga.gov.au/news/dea-newsletter-and-communications-archive) to be notified of our latest product releases. +::: + diff --git a/docs/data/product/dea-geometric-median-and-median-absolute-deviation-landsat/_overview_1.md b/docs/data/product/dea-geometric-median-and-median-absolute-deviation-landsat/_overview_1.md index 07fe46b91..ac6153ec0 100644 --- a/docs/data/product/dea-geometric-median-and-median-absolute-deviation-landsat/_overview_1.md +++ b/docs/data/product/dea-geometric-median-and-median-absolute-deviation-landsat/_overview_1.md @@ -1,3 +1,10 @@ ## About -The DEA Geometric Median and Median Absolute Deviation products use statistical analyses to provide information on variance in the landscape over the given year. They provide insight into the "average" conditions observed over Australia in a given year, as well as the amount of variability experienced around that average. These products are useful for monitoring change detection, such as from cropping, urban expansion or burnt area mapping. \ No newline at end of file +The DEA Geometric Median and Median Absolute Deviation products use statistical analyses to provide information on variance in the landscape over the given year. They provide insight into the "average" conditions observed over Australia in a given year, as well as the amount of variability experienced around that average. These products are useful for monitoring change detection, such as from cropping, urban expansion or burnt area mapping. + +:::{admonition} New version in development +:class: note + +A new version of this product is currently being developed. Subscribe to the [DEA newsletter](https://www.dea.ga.gov.au/news/dea-newsletter-and-communications-archive) to be notified of our latest product releases. +::: + diff --git a/docs/data/product/dea-water-observations-landsat/_overview_1.md b/docs/data/product/dea-water-observations-landsat/_overview_1.md index 2b9fb7d91..734db39f4 100644 --- a/docs/data/product/dea-water-observations-landsat/_overview_1.md +++ b/docs/data/product/dea-water-observations-landsat/_overview_1.md @@ -2,3 +2,9 @@ Digital Earth Australia (DEA) Water Observations uses an algorithm to classify each pixel from Landsat satellite imagery as ‘wet’, ‘dry’ or ‘invalid’. Combining the classified pixels into summaries, covering a year, season, or all of time (since 1986) gives the information on where water is usually, and where it is rarely. +:::{admonition} New version in development +:class: note + +A new version of this product is currently being developed. Subscribe to the [DEA newsletter](https://www.dea.ga.gov.au/news/dea-newsletter-and-communications-archive) to be notified of our latest product releases. +::: + diff --git a/docs/data/product/dea-water-observations-statistics-landsat/_overview_1.md b/docs/data/product/dea-water-observations-statistics-landsat/_overview_1.md index 2b9fb7d91..734db39f4 100644 --- a/docs/data/product/dea-water-observations-statistics-landsat/_overview_1.md +++ b/docs/data/product/dea-water-observations-statistics-landsat/_overview_1.md @@ -2,3 +2,9 @@ Digital Earth Australia (DEA) Water Observations uses an algorithm to classify each pixel from Landsat satellite imagery as ‘wet’, ‘dry’ or ‘invalid’. Combining the classified pixels into summaries, covering a year, season, or all of time (since 1986) gives the information on where water is usually, and where it is rarely. +:::{admonition} New version in development +:class: note + +A new version of this product is currently being developed. Subscribe to the [DEA newsletter](https://www.dea.ga.gov.au/news/dea-newsletter-and-communications-archive) to be notified of our latest product releases. +::: + diff --git a/docs/data/product/dea-waterbodies-landsat/_overview_1.md b/docs/data/product/dea-waterbodies-landsat/_overview_1.md index ef692931f..9f2c73561 100644 --- a/docs/data/product/dea-waterbodies-landsat/_overview_1.md +++ b/docs/data/product/dea-waterbodies-landsat/_overview_1.md @@ -2,3 +2,9 @@ Locate over 300,000 waterbodies across Australia and look back at their changes over three decades with Digital Earth Australia (DEA) Waterbodies. Monitor critical lakes and dams, including hard-to-reach waterbodies in remote areas and on large properties. +:::{admonition} New version in development +:class: note + +A new version of this product is currently being developed. Subscribe to the [DEA newsletter](https://www.dea.ga.gov.au/news/dea-newsletter-and-communications-archive) to be notified of our latest product releases. +::: + From 72ae04809305aed32d834e99fc585c2251ec2737 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Fri, 8 Mar 2024 14:30:08 +1100 Subject: [PATCH 082/143] Edited wording of all these callout boxes --- docs/data/product/dea-fractional-cover-landsat/_overview_1.md | 2 +- .../dea-fractional-cover-percentiles-landsat/_overview_1.md | 2 +- .../_overview_1.md | 2 +- .../product/dea-intertidal-elevation-landsat/_overview_1.md | 2 +- docs/data/product/dea-intertidal-extents-landsat/_overview_1.md | 2 +- docs/data/product/dea-land-cover-landsat/_overview_1.md | 2 +- docs/data/product/dea-water-observations-landsat/_overview_1.md | 2 +- .../dea-water-observations-statistics-landsat/_overview_1.md | 2 +- docs/data/product/dea-waterbodies-landsat/_overview_1.md | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/data/product/dea-fractional-cover-landsat/_overview_1.md b/docs/data/product/dea-fractional-cover-landsat/_overview_1.md index 3fa2122f8..4a6778301 100644 --- a/docs/data/product/dea-fractional-cover-landsat/_overview_1.md +++ b/docs/data/product/dea-fractional-cover-landsat/_overview_1.md @@ -5,6 +5,6 @@ Digital Earth Australia (DEA) Fractional Cover splits landscape observation data :::{admonition} New version in development :class: note -A new version of this product is currently being developed. Subscribe to the [DEA newsletter](https://www.dea.ga.gov.au/news/dea-newsletter-and-communications-archive) to be notified of our latest product releases. +A new version of this product is being developed. Subscribe to the [DEA newsletter](https://www.dea.ga.gov.au/news/dea-newsletter-and-communications-archive) to be notified of product releases. ::: diff --git a/docs/data/product/dea-fractional-cover-percentiles-landsat/_overview_1.md b/docs/data/product/dea-fractional-cover-percentiles-landsat/_overview_1.md index 3733a808b..db2c469e0 100644 --- a/docs/data/product/dea-fractional-cover-percentiles-landsat/_overview_1.md +++ b/docs/data/product/dea-fractional-cover-percentiles-landsat/_overview_1.md @@ -5,6 +5,6 @@ This product is designed to make it easier to analyse and interpret fractional c :::{admonition} New version in development :class: note -A new version of this product is currently being developed. Subscribe to the [DEA newsletter](https://www.dea.ga.gov.au/news/dea-newsletter-and-communications-archive) to be notified of our latest product releases. +A new version of this product is being developed. Subscribe to the [DEA newsletter](https://www.dea.ga.gov.au/news/dea-newsletter-and-communications-archive) to be notified of product releases. ::: diff --git a/docs/data/product/dea-geometric-median-and-median-absolute-deviation-landsat/_overview_1.md b/docs/data/product/dea-geometric-median-and-median-absolute-deviation-landsat/_overview_1.md index ac6153ec0..13c32c53f 100644 --- a/docs/data/product/dea-geometric-median-and-median-absolute-deviation-landsat/_overview_1.md +++ b/docs/data/product/dea-geometric-median-and-median-absolute-deviation-landsat/_overview_1.md @@ -5,6 +5,6 @@ The DEA Geometric Median and Median Absolute Deviation products use statistical :::{admonition} New version in development :class: note -A new version of this product is currently being developed. Subscribe to the [DEA newsletter](https://www.dea.ga.gov.au/news/dea-newsletter-and-communications-archive) to be notified of our latest product releases. +A new version of this product is being developed. Subscribe to the [DEA newsletter](https://www.dea.ga.gov.au/news/dea-newsletter-and-communications-archive) to be notified of product releases. ::: diff --git a/docs/data/product/dea-intertidal-elevation-landsat/_overview_1.md b/docs/data/product/dea-intertidal-elevation-landsat/_overview_1.md index 2ac02da9d..7f5675c2c 100644 --- a/docs/data/product/dea-intertidal-elevation-landsat/_overview_1.md +++ b/docs/data/product/dea-intertidal-elevation-landsat/_overview_1.md @@ -5,6 +5,6 @@ Digital Earth Australia (DEA) Intertidal Elevation maps Australia's intertidal z :::{admonition} New version in development :class: note -A new version of this product is currently being developed. Subscribe to the [DEA newsletter](https://www.dea.ga.gov.au/news/dea-newsletter-and-communications-archive) to be notified of our latest product releases. +A new version of this product is being developed. Subscribe to the [DEA newsletter](https://www.dea.ga.gov.au/news/dea-newsletter-and-communications-archive) to be notified of product releases. ::: diff --git a/docs/data/product/dea-intertidal-extents-landsat/_overview_1.md b/docs/data/product/dea-intertidal-extents-landsat/_overview_1.md index 71e25fdb0..70c84f5c7 100644 --- a/docs/data/product/dea-intertidal-extents-landsat/_overview_1.md +++ b/docs/data/product/dea-intertidal-extents-landsat/_overview_1.md @@ -7,6 +7,6 @@ The dataset provides information on the lowest (LOT) and highest (HOT) observed :::{admonition} New version in development :class: note -A new version of this product is currently being developed. Subscribe to the [DEA newsletter](https://www.dea.ga.gov.au/news/dea-newsletter-and-communications-archive) to be notified of our latest product releases. +A new version of this product is being developed. Subscribe to the [DEA newsletter](https://www.dea.ga.gov.au/news/dea-newsletter-and-communications-archive) to be notified of product releases. ::: diff --git a/docs/data/product/dea-land-cover-landsat/_overview_1.md b/docs/data/product/dea-land-cover-landsat/_overview_1.md index 1cc1830b6..28f7b4ab4 100644 --- a/docs/data/product/dea-land-cover-landsat/_overview_1.md +++ b/docs/data/product/dea-land-cover-landsat/_overview_1.md @@ -5,6 +5,6 @@ Digital Earth Australia (DEA) Land Cover translates over 30 years of satellite i :::{admonition} New version in development :class: note -A new version of this product is currently being developed. Subscribe to the [DEA newsletter](https://www.dea.ga.gov.au/news/dea-newsletter-and-communications-archive) to be notified of our latest product releases. +A new version of this product is being developed. Subscribe to the [DEA newsletter](https://www.dea.ga.gov.au/news/dea-newsletter-and-communications-archive) to be notified of product releases. ::: diff --git a/docs/data/product/dea-water-observations-landsat/_overview_1.md b/docs/data/product/dea-water-observations-landsat/_overview_1.md index 734db39f4..797a224c6 100644 --- a/docs/data/product/dea-water-observations-landsat/_overview_1.md +++ b/docs/data/product/dea-water-observations-landsat/_overview_1.md @@ -5,6 +5,6 @@ Digital Earth Australia (DEA) Water Observations uses an algorithm to classify e :::{admonition} New version in development :class: note -A new version of this product is currently being developed. Subscribe to the [DEA newsletter](https://www.dea.ga.gov.au/news/dea-newsletter-and-communications-archive) to be notified of our latest product releases. +A new version of this product is being developed. Subscribe to the [DEA newsletter](https://www.dea.ga.gov.au/news/dea-newsletter-and-communications-archive) to be notified of product releases. ::: diff --git a/docs/data/product/dea-water-observations-statistics-landsat/_overview_1.md b/docs/data/product/dea-water-observations-statistics-landsat/_overview_1.md index 734db39f4..797a224c6 100644 --- a/docs/data/product/dea-water-observations-statistics-landsat/_overview_1.md +++ b/docs/data/product/dea-water-observations-statistics-landsat/_overview_1.md @@ -5,6 +5,6 @@ Digital Earth Australia (DEA) Water Observations uses an algorithm to classify e :::{admonition} New version in development :class: note -A new version of this product is currently being developed. Subscribe to the [DEA newsletter](https://www.dea.ga.gov.au/news/dea-newsletter-and-communications-archive) to be notified of our latest product releases. +A new version of this product is being developed. Subscribe to the [DEA newsletter](https://www.dea.ga.gov.au/news/dea-newsletter-and-communications-archive) to be notified of product releases. ::: diff --git a/docs/data/product/dea-waterbodies-landsat/_overview_1.md b/docs/data/product/dea-waterbodies-landsat/_overview_1.md index 9f2c73561..a5628cc33 100644 --- a/docs/data/product/dea-waterbodies-landsat/_overview_1.md +++ b/docs/data/product/dea-waterbodies-landsat/_overview_1.md @@ -5,6 +5,6 @@ Locate over 300,000 waterbodies across Australia and look back at their changes :::{admonition} New version in development :class: note -A new version of this product is currently being developed. Subscribe to the [DEA newsletter](https://www.dea.ga.gov.au/news/dea-newsletter-and-communications-archive) to be notified of our latest product releases. +A new version of this product is being developed. Subscribe to the [DEA newsletter](https://www.dea.ga.gov.au/news/dea-newsletter-and-communications-archive) to be notified of product releases. ::: From 6130d90183e6f81e528224bcf9d3f219557b6b7c Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Fri, 8 Mar 2024 15:31:58 +1100 Subject: [PATCH 083/143] Added link to documentation at the top of all the product _data.yaml files --- .../archive/aquatic-surface-reflectance-landsat/_data.yaml | 3 +++ .../archive/clone-of-dea-wetlands-insight-tool-qld/_data.yaml | 3 +++ .../_data.yaml | 3 +++ .../dea-cloud-and-cloud-shadow-mask-sentinel-2-msi/_data.yaml | 3 +++ .../archive/dea-collection-3-grid-specification/_data.yaml | 3 +++ .../dea-intertidal-suite-draft-product-testing-only/_data.yaml | 3 +++ docs/data/archive/dea-land-cover-landsat-abs-draft/_data.yaml | 3 +++ docs/data/archive/draft-dea-land-cover-landsat/_data.yaml | 3 +++ docs/data/archive/draft-dea-waterbodies-landsat/_data.yaml | 3 +++ docs/data/old-version/_data.yaml | 3 +++ .../dea-burnt-area-landsat-2010-and-2015-2.0.0/_data.yaml | 3 +++ .../_data.yaml | 3 +++ .../old-version/dea-fractional-cover-landsat-2.2.1/_data.yaml | 3 +++ .../dea-fractional-cover-percentiles-landsat-2.2.1/_data.yaml | 3 +++ .../dea-mangrove-canopy-cover-landsat-2.0.2/_data.yaml | 3 +++ .../dea-pixel-quality-count-landsat-2.0.0/_data.yaml | 3 +++ .../old-version/dea-pixel-quality-landsat-2.0.0/_data.yaml | 3 +++ .../dea-surface-reflectance-geomedian-landsat-2.0.0/_data.yaml | 3 +++ .../_data.yaml | 3 +++ .../dea-surface-reflectance-nbar-landsat-2.0.0/_data.yaml | 3 +++ .../_data.yaml | 3 +++ .../dea-surface-reflectance-nbart-landsat-2.0.0/_data.yaml | 3 +++ .../_data.yaml | 3 +++ .../_data.yaml | 3 +++ .../dea-water-observations-landsat-2.1.5/_data.yaml | 3 +++ .../dea-water-observations-statistics-landsat-2.1.5/_data.yaml | 3 +++ .../dea-wetness-percentiles-landsat-2.0.0/_data.yaml | 3 +++ docs/data/old-version/waterbodies-1.0.0/_data.yaml | 3 +++ .../product/australian-geographic-reference-image/_data.yaml | 3 +++ .../product/australian-national-spectral-database/_data.yaml | 3 +++ docs/data/product/daily-satpaths-beta/_data.yaml | 3 +++ .../_data.yaml | 3 +++ docs/data/product/dea-coastlines/_data.yaml | 3 +++ docs/data/product/dea-fractional-cover-landsat/_data.yaml | 3 +++ .../dea-fractional-cover-percentiles-landsat/_data.yaml | 3 +++ .../_data.yaml | 3 +++ .../product/dea-high-and-low-tide-imagery-landsat/_data.yaml | 3 +++ docs/data/product/dea-hotspots/_data.yaml | 3 +++ docs/data/product/dea-intertidal-elevation-landsat/_data.yaml | 3 +++ docs/data/product/dea-intertidal-extents-landsat/_data.yaml | 3 +++ docs/data/product/dea-land-cover-landsat/_data.yaml | 3 +++ docs/data/product/dea-mangrove-canopy-cover-landsat/_data.yaml | 3 +++ .../product/dea-surface-reflectance-landsat-5-tm/_data.yaml | 3 +++ .../product/dea-surface-reflectance-landsat-7-etm/_data.yaml | 3 +++ .../dea-surface-reflectance-landsat-8-oli-tirs/_data.yaml | 3 +++ .../dea-surface-reflectance-landsat-9-oli-tirs/_data.yaml | 3 +++ .../dea-surface-reflectance-nbar-landsat-5-tm/_data.yaml | 3 +++ .../dea-surface-reflectance-nbar-landsat-7-etm/_data.yaml | 3 +++ .../dea-surface-reflectance-nbar-landsat-8-oli-tirs/_data.yaml | 3 +++ .../dea-surface-reflectance-nbar-landsat-9-oli-tirs/_data.yaml | 3 +++ .../dea-surface-reflectance-nbart-landsat-5-tm/_data.yaml | 3 +++ .../dea-surface-reflectance-nbart-landsat-7-etm/_data.yaml | 3 +++ .../_data.yaml | 3 +++ .../_data.yaml | 3 +++ .../dea-surface-reflectance-nbart-sentinel-2a-msi/_data.yaml | 3 +++ .../dea-surface-reflectance-nbart-sentinel-2b-msi/_data.yaml | 3 +++ .../product/dea-surface-reflectance-oa-landsat-5-tm/_data.yaml | 3 +++ .../dea-surface-reflectance-oa-landsat-7-etm/_data.yaml | 3 +++ .../dea-surface-reflectance-oa-landsat-8-oli-tirs/_data.yaml | 3 +++ .../dea-surface-reflectance-oa-landsat-9-oli-tirs/_data.yaml | 3 +++ .../dea-surface-reflectance-oa-sentinel-2a-msi/_data.yaml | 3 +++ .../dea-surface-reflectance-oa-sentinel-2b-msi/_data.yaml | 3 +++ .../product/dea-surface-reflectance-sentinel-2a-msi/_data.yaml | 3 +++ .../product/dea-surface-reflectance-sentinel-2b-msi/_data.yaml | 3 +++ .../product/dea-tasseled-cap-percentiles-landsat/_data.yaml | 3 +++ docs/data/product/dea-water-observations-landsat/_data.yaml | 3 +++ .../product/dea-water-observations-sentinel-2-nrt/_data.yaml | 3 +++ .../dea-water-observations-statistics-landsat/_data.yaml | 3 +++ docs/data/product/dea-waterbodies-landsat/_data.yaml | 3 +++ docs/data/product/dea-wetlands-insight-tool-qld/_data.yaml | 3 +++ .../dea-wetlands-insight-tool-ramsar-wetlands/_data.yaml | 3 +++ docs/data/product/ga-land-cover-terra-modis/_data.yaml | 3 +++ starter-kits/product/_data.yaml | 2 +- 73 files changed, 217 insertions(+), 1 deletion(-) diff --git a/docs/data/archive/aquatic-surface-reflectance-landsat/_data.yaml b/docs/data/archive/aquatic-surface-reflectance-landsat/_data.yaml index 7b9b523bc..1b3fbcdf5 100644 --- a/docs/data/archive/aquatic-surface-reflectance-landsat/_data.yaml +++ b/docs/data/archive/aquatic-surface-reflectance-landsat/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: Aquatic Surface Reflectance (Landsat) diff --git a/docs/data/archive/clone-of-dea-wetlands-insight-tool-qld/_data.yaml b/docs/data/archive/clone-of-dea-wetlands-insight-tool-qld/_data.yaml index 667c507a0..575c7dcfa 100644 --- a/docs/data/archive/clone-of-dea-wetlands-insight-tool-qld/_data.yaml +++ b/docs/data/archive/clone-of-dea-wetlands-insight-tool-qld/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Wetlands Insight Tool (QLD) diff --git a/docs/data/archive/clone-of-dea-wetlands-insight-tool-ramsar-wetlands/_data.yaml b/docs/data/archive/clone-of-dea-wetlands-insight-tool-ramsar-wetlands/_data.yaml index aa4977eff..027953506 100644 --- a/docs/data/archive/clone-of-dea-wetlands-insight-tool-ramsar-wetlands/_data.yaml +++ b/docs/data/archive/clone-of-dea-wetlands-insight-tool-ramsar-wetlands/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Wetlands Insight Tool (Ramsar Wetlands) diff --git a/docs/data/archive/dea-cloud-and-cloud-shadow-mask-sentinel-2-msi/_data.yaml b/docs/data/archive/dea-cloud-and-cloud-shadow-mask-sentinel-2-msi/_data.yaml index bef649c9e..093f281eb 100644 --- a/docs/data/archive/dea-cloud-and-cloud-shadow-mask-sentinel-2-msi/_data.yaml +++ b/docs/data/archive/dea-cloud-and-cloud-shadow-mask-sentinel-2-msi/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Cloud and Cloud Shadow Mask (Sentinel-2 MSI) diff --git a/docs/data/archive/dea-collection-3-grid-specification/_data.yaml b/docs/data/archive/dea-collection-3-grid-specification/_data.yaml index 84df6c71e..063a85166 100644 --- a/docs/data/archive/dea-collection-3-grid-specification/_data.yaml +++ b/docs/data/archive/dea-collection-3-grid-specification/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Collection 3 Grid Specification diff --git a/docs/data/archive/dea-intertidal-suite-draft-product-testing-only/_data.yaml b/docs/data/archive/dea-intertidal-suite-draft-product-testing-only/_data.yaml index e3ca3f1c9..9aa45d828 100644 --- a/docs/data/archive/dea-intertidal-suite-draft-product-testing-only/_data.yaml +++ b/docs/data/archive/dea-intertidal-suite-draft-product-testing-only/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Intertidal Suite (Draft - Product Testing only) diff --git a/docs/data/archive/dea-land-cover-landsat-abs-draft/_data.yaml b/docs/data/archive/dea-land-cover-landsat-abs-draft/_data.yaml index a23668b18..ffe277f63 100644 --- a/docs/data/archive/dea-land-cover-landsat-abs-draft/_data.yaml +++ b/docs/data/archive/dea-land-cover-landsat-abs-draft/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Land Cover (Landsat) - ABS [draft] diff --git a/docs/data/archive/draft-dea-land-cover-landsat/_data.yaml b/docs/data/archive/draft-dea-land-cover-landsat/_data.yaml index 91819b305..1c0c35833 100644 --- a/docs/data/archive/draft-dea-land-cover-landsat/_data.yaml +++ b/docs/data/archive/draft-dea-land-cover-landsat/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DRAFT - DEA Land Cover (Landsat) diff --git a/docs/data/archive/draft-dea-waterbodies-landsat/_data.yaml b/docs/data/archive/draft-dea-waterbodies-landsat/_data.yaml index b2c94c3e0..8f4db0770 100644 --- a/docs/data/archive/draft-dea-waterbodies-landsat/_data.yaml +++ b/docs/data/archive/draft-dea-waterbodies-landsat/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DRAFT DEA Waterbodies (Landsat) diff --git a/docs/data/old-version/_data.yaml b/docs/data/old-version/_data.yaml index f3825888a..e2829db13 100644 --- a/docs/data/old-version/_data.yaml +++ b/docs/data/old-version/_data.yaml @@ -1,2 +1,5 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + title: Old versions of products description: This page lists the old versions of all products. They are grouped alphabetically (A to Z) for convenience. diff --git a/docs/data/old-version/dea-burnt-area-landsat-2010-and-2015-2.0.0/_data.yaml b/docs/data/old-version/dea-burnt-area-landsat-2010-and-2015-2.0.0/_data.yaml index 389b49be4..6df4b83ea 100644 --- a/docs/data/old-version/dea-burnt-area-landsat-2010-and-2015-2.0.0/_data.yaml +++ b/docs/data/old-version/dea-burnt-area-landsat-2010-and-2015-2.0.0/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Burnt Area (Landsat, 2010 and 2015) diff --git a/docs/data/old-version/dea-burnt-area-vectors-sentinel-2-near-real-time-1.0.0/_data.yaml b/docs/data/old-version/dea-burnt-area-vectors-sentinel-2-near-real-time-1.0.0/_data.yaml index 14a0edff3..2a0e887ce 100644 --- a/docs/data/old-version/dea-burnt-area-vectors-sentinel-2-near-real-time-1.0.0/_data.yaml +++ b/docs/data/old-version/dea-burnt-area-vectors-sentinel-2-near-real-time-1.0.0/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Burnt Area Vectors Sentinel-2 Near Real-Time diff --git a/docs/data/old-version/dea-fractional-cover-landsat-2.2.1/_data.yaml b/docs/data/old-version/dea-fractional-cover-landsat-2.2.1/_data.yaml index 4bbbb0fec..13e735869 100644 --- a/docs/data/old-version/dea-fractional-cover-landsat-2.2.1/_data.yaml +++ b/docs/data/old-version/dea-fractional-cover-landsat-2.2.1/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Fractional Cover (Landsat) diff --git a/docs/data/old-version/dea-fractional-cover-percentiles-landsat-2.2.1/_data.yaml b/docs/data/old-version/dea-fractional-cover-percentiles-landsat-2.2.1/_data.yaml index 3d4a4ff90..049434876 100644 --- a/docs/data/old-version/dea-fractional-cover-percentiles-landsat-2.2.1/_data.yaml +++ b/docs/data/old-version/dea-fractional-cover-percentiles-landsat-2.2.1/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Fractional Cover Percentiles (Landsat) diff --git a/docs/data/old-version/dea-mangrove-canopy-cover-landsat-2.0.2/_data.yaml b/docs/data/old-version/dea-mangrove-canopy-cover-landsat-2.0.2/_data.yaml index c0dbcfe74..f5df77799 100644 --- a/docs/data/old-version/dea-mangrove-canopy-cover-landsat-2.0.2/_data.yaml +++ b/docs/data/old-version/dea-mangrove-canopy-cover-landsat-2.0.2/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Mangrove Canopy Cover (Landsat) diff --git a/docs/data/old-version/dea-pixel-quality-count-landsat-2.0.0/_data.yaml b/docs/data/old-version/dea-pixel-quality-count-landsat-2.0.0/_data.yaml index a17ccdfe8..1cb655a8f 100644 --- a/docs/data/old-version/dea-pixel-quality-count-landsat-2.0.0/_data.yaml +++ b/docs/data/old-version/dea-pixel-quality-count-landsat-2.0.0/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Pixel Quality Count (Landsat) diff --git a/docs/data/old-version/dea-pixel-quality-landsat-2.0.0/_data.yaml b/docs/data/old-version/dea-pixel-quality-landsat-2.0.0/_data.yaml index 455c0635c..ddb1abdf1 100644 --- a/docs/data/old-version/dea-pixel-quality-landsat-2.0.0/_data.yaml +++ b/docs/data/old-version/dea-pixel-quality-landsat-2.0.0/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Pixel Quality (Landsat) diff --git a/docs/data/old-version/dea-surface-reflectance-geomedian-landsat-2.0.0/_data.yaml b/docs/data/old-version/dea-surface-reflectance-geomedian-landsat-2.0.0/_data.yaml index e70be398a..58f3d790f 100644 --- a/docs/data/old-version/dea-surface-reflectance-geomedian-landsat-2.0.0/_data.yaml +++ b/docs/data/old-version/dea-surface-reflectance-geomedian-landsat-2.0.0/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Surface Reflectance Geomedian (Landsat) diff --git a/docs/data/old-version/dea-surface-reflectance-median-absolute-deviation-landsat-2.1.0/_data.yaml b/docs/data/old-version/dea-surface-reflectance-median-absolute-deviation-landsat-2.1.0/_data.yaml index 4f38e2848..8fdbd2d5f 100644 --- a/docs/data/old-version/dea-surface-reflectance-median-absolute-deviation-landsat-2.1.0/_data.yaml +++ b/docs/data/old-version/dea-surface-reflectance-median-absolute-deviation-landsat-2.1.0/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Surface Reflectance Median Absolute Deviation (Landsat) diff --git a/docs/data/old-version/dea-surface-reflectance-nbar-landsat-2.0.0/_data.yaml b/docs/data/old-version/dea-surface-reflectance-nbar-landsat-2.0.0/_data.yaml index 4e02a0071..719d3feae 100644 --- a/docs/data/old-version/dea-surface-reflectance-nbar-landsat-2.0.0/_data.yaml +++ b/docs/data/old-version/dea-surface-reflectance-nbar-landsat-2.0.0/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Surface Reflectance NBAR (Landsat) diff --git a/docs/data/old-version/dea-surface-reflectance-nbar-sentinel-2-msi-1.0.0/_data.yaml b/docs/data/old-version/dea-surface-reflectance-nbar-sentinel-2-msi-1.0.0/_data.yaml index 5f12449cf..942f87ec0 100644 --- a/docs/data/old-version/dea-surface-reflectance-nbar-sentinel-2-msi-1.0.0/_data.yaml +++ b/docs/data/old-version/dea-surface-reflectance-nbar-sentinel-2-msi-1.0.0/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Surface Reflectance NBAR (Sentinel-2 MSI) diff --git a/docs/data/old-version/dea-surface-reflectance-nbart-landsat-2.0.0/_data.yaml b/docs/data/old-version/dea-surface-reflectance-nbart-landsat-2.0.0/_data.yaml index 7350dd7cd..75d1193bc 100644 --- a/docs/data/old-version/dea-surface-reflectance-nbart-landsat-2.0.0/_data.yaml +++ b/docs/data/old-version/dea-surface-reflectance-nbart-landsat-2.0.0/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Surface Reflectance NBART (Landsat) diff --git a/docs/data/old-version/dea-surface-reflectance-nbart-sentinel-2-msi-1.0.0/_data.yaml b/docs/data/old-version/dea-surface-reflectance-nbart-sentinel-2-msi-1.0.0/_data.yaml index 79215b5a9..27cdc3e7b 100644 --- a/docs/data/old-version/dea-surface-reflectance-nbart-sentinel-2-msi-1.0.0/_data.yaml +++ b/docs/data/old-version/dea-surface-reflectance-nbart-sentinel-2-msi-1.0.0/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Surface Reflectance NBART (Sentinel-2 MSI) diff --git a/docs/data/old-version/dea-water-observations-filtered-statistics-landsat-2.1.5/_data.yaml b/docs/data/old-version/dea-water-observations-filtered-statistics-landsat-2.1.5/_data.yaml index 51cde688a..31d9280b7 100644 --- a/docs/data/old-version/dea-water-observations-filtered-statistics-landsat-2.1.5/_data.yaml +++ b/docs/data/old-version/dea-water-observations-filtered-statistics-landsat-2.1.5/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Water Observations Filtered Statistics (Landsat) diff --git a/docs/data/old-version/dea-water-observations-landsat-2.1.5/_data.yaml b/docs/data/old-version/dea-water-observations-landsat-2.1.5/_data.yaml index a0b2bfb7a..77eea7366 100644 --- a/docs/data/old-version/dea-water-observations-landsat-2.1.5/_data.yaml +++ b/docs/data/old-version/dea-water-observations-landsat-2.1.5/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Water Observations (Landsat) diff --git a/docs/data/old-version/dea-water-observations-statistics-landsat-2.1.5/_data.yaml b/docs/data/old-version/dea-water-observations-statistics-landsat-2.1.5/_data.yaml index 2ede8b225..151893769 100644 --- a/docs/data/old-version/dea-water-observations-statistics-landsat-2.1.5/_data.yaml +++ b/docs/data/old-version/dea-water-observations-statistics-landsat-2.1.5/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Water Observations Statistics (Landsat) diff --git a/docs/data/old-version/dea-wetness-percentiles-landsat-2.0.0/_data.yaml b/docs/data/old-version/dea-wetness-percentiles-landsat-2.0.0/_data.yaml index 034df10b1..3c1a4f07a 100644 --- a/docs/data/old-version/dea-wetness-percentiles-landsat-2.0.0/_data.yaml +++ b/docs/data/old-version/dea-wetness-percentiles-landsat-2.0.0/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Wetness Percentiles (Landsat) diff --git a/docs/data/old-version/waterbodies-1.0.0/_data.yaml b/docs/data/old-version/waterbodies-1.0.0/_data.yaml index 0ab1269c6..fa45956bf 100644 --- a/docs/data/old-version/waterbodies-1.0.0/_data.yaml +++ b/docs/data/old-version/waterbodies-1.0.0/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Waterbodies (Landsat) diff --git a/docs/data/product/australian-geographic-reference-image/_data.yaml b/docs/data/product/australian-geographic-reference-image/_data.yaml index 6c4ac9062..f37f07eee 100644 --- a/docs/data/product/australian-geographic-reference-image/_data.yaml +++ b/docs/data/product/australian-geographic-reference-image/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: Australian Geographic Reference Image diff --git a/docs/data/product/australian-national-spectral-database/_data.yaml b/docs/data/product/australian-national-spectral-database/_data.yaml index 0c71adab5..90534b3ba 100644 --- a/docs/data/product/australian-national-spectral-database/_data.yaml +++ b/docs/data/product/australian-national-spectral-database/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: Australian National Spectral Database diff --git a/docs/data/product/daily-satpaths-beta/_data.yaml b/docs/data/product/daily-satpaths-beta/_data.yaml index 91b67d6fa..dae9921c9 100644 --- a/docs/data/product/daily-satpaths-beta/_data.yaml +++ b/docs/data/product/daily-satpaths-beta/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: Daily SatPaths diff --git a/docs/data/product/dea-burnt-area-characteristic-layers-sentinel-2-near-real-time/_data.yaml b/docs/data/product/dea-burnt-area-characteristic-layers-sentinel-2-near-real-time/_data.yaml index 4391b26e8..0d8715f56 100644 --- a/docs/data/product/dea-burnt-area-characteristic-layers-sentinel-2-near-real-time/_data.yaml +++ b/docs/data/product/dea-burnt-area-characteristic-layers-sentinel-2-near-real-time/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Burnt Area Characteristic Layers Sentinel-2 Near Real-Time diff --git a/docs/data/product/dea-coastlines/_data.yaml b/docs/data/product/dea-coastlines/_data.yaml index 5e55658e1..46cec45bb 100644 --- a/docs/data/product/dea-coastlines/_data.yaml +++ b/docs/data/product/dea-coastlines/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Coastlines diff --git a/docs/data/product/dea-fractional-cover-landsat/_data.yaml b/docs/data/product/dea-fractional-cover-landsat/_data.yaml index 58b90a3b8..8cbdc7470 100644 --- a/docs/data/product/dea-fractional-cover-landsat/_data.yaml +++ b/docs/data/product/dea-fractional-cover-landsat/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Fractional Cover (Landsat) diff --git a/docs/data/product/dea-fractional-cover-percentiles-landsat/_data.yaml b/docs/data/product/dea-fractional-cover-percentiles-landsat/_data.yaml index 0ccd7361d..1f39c181c 100644 --- a/docs/data/product/dea-fractional-cover-percentiles-landsat/_data.yaml +++ b/docs/data/product/dea-fractional-cover-percentiles-landsat/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Fractional Cover Percentiles (Landsat) diff --git a/docs/data/product/dea-geometric-median-and-median-absolute-deviation-landsat/_data.yaml b/docs/data/product/dea-geometric-median-and-median-absolute-deviation-landsat/_data.yaml index 2eea92f2c..078589752 100644 --- a/docs/data/product/dea-geometric-median-and-median-absolute-deviation-landsat/_data.yaml +++ b/docs/data/product/dea-geometric-median-and-median-absolute-deviation-landsat/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Geometric Median and Median Absolute Deviation (Landsat) diff --git a/docs/data/product/dea-high-and-low-tide-imagery-landsat/_data.yaml b/docs/data/product/dea-high-and-low-tide-imagery-landsat/_data.yaml index f039c090a..2a9a4e531 100644 --- a/docs/data/product/dea-high-and-low-tide-imagery-landsat/_data.yaml +++ b/docs/data/product/dea-high-and-low-tide-imagery-landsat/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA High and Low Tide Imagery (Landsat) diff --git a/docs/data/product/dea-hotspots/_data.yaml b/docs/data/product/dea-hotspots/_data.yaml index 9e1d6979f..659aba26f 100644 --- a/docs/data/product/dea-hotspots/_data.yaml +++ b/docs/data/product/dea-hotspots/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Hotspots diff --git a/docs/data/product/dea-intertidal-elevation-landsat/_data.yaml b/docs/data/product/dea-intertidal-elevation-landsat/_data.yaml index 9fbc6e509..a83c2e95c 100644 --- a/docs/data/product/dea-intertidal-elevation-landsat/_data.yaml +++ b/docs/data/product/dea-intertidal-elevation-landsat/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Intertidal Elevation (Landsat) diff --git a/docs/data/product/dea-intertidal-extents-landsat/_data.yaml b/docs/data/product/dea-intertidal-extents-landsat/_data.yaml index e8b4010f7..793aa09e9 100644 --- a/docs/data/product/dea-intertidal-extents-landsat/_data.yaml +++ b/docs/data/product/dea-intertidal-extents-landsat/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Intertidal Extents (Landsat) diff --git a/docs/data/product/dea-land-cover-landsat/_data.yaml b/docs/data/product/dea-land-cover-landsat/_data.yaml index d72787f17..4547ae077 100644 --- a/docs/data/product/dea-land-cover-landsat/_data.yaml +++ b/docs/data/product/dea-land-cover-landsat/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Land Cover (Landsat) diff --git a/docs/data/product/dea-mangrove-canopy-cover-landsat/_data.yaml b/docs/data/product/dea-mangrove-canopy-cover-landsat/_data.yaml index 19213ccf6..4ea2c4291 100644 --- a/docs/data/product/dea-mangrove-canopy-cover-landsat/_data.yaml +++ b/docs/data/product/dea-mangrove-canopy-cover-landsat/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Mangrove Canopy Cover (Landsat) diff --git a/docs/data/product/dea-surface-reflectance-landsat-5-tm/_data.yaml b/docs/data/product/dea-surface-reflectance-landsat-5-tm/_data.yaml index 2e5966efd..44d5a2b3c 100644 --- a/docs/data/product/dea-surface-reflectance-landsat-5-tm/_data.yaml +++ b/docs/data/product/dea-surface-reflectance-landsat-5-tm/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Surface Reflectance (Landsat 5 TM) diff --git a/docs/data/product/dea-surface-reflectance-landsat-7-etm/_data.yaml b/docs/data/product/dea-surface-reflectance-landsat-7-etm/_data.yaml index 88807c0e0..1f10b6386 100644 --- a/docs/data/product/dea-surface-reflectance-landsat-7-etm/_data.yaml +++ b/docs/data/product/dea-surface-reflectance-landsat-7-etm/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Surface Reflectance (Landsat 7 ETM+) diff --git a/docs/data/product/dea-surface-reflectance-landsat-8-oli-tirs/_data.yaml b/docs/data/product/dea-surface-reflectance-landsat-8-oli-tirs/_data.yaml index f0c4742a8..a62942542 100644 --- a/docs/data/product/dea-surface-reflectance-landsat-8-oli-tirs/_data.yaml +++ b/docs/data/product/dea-surface-reflectance-landsat-8-oli-tirs/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Surface Reflectance (Landsat 8 OLI-TIRS) diff --git a/docs/data/product/dea-surface-reflectance-landsat-9-oli-tirs/_data.yaml b/docs/data/product/dea-surface-reflectance-landsat-9-oli-tirs/_data.yaml index 38b0ac82a..3e8374d95 100644 --- a/docs/data/product/dea-surface-reflectance-landsat-9-oli-tirs/_data.yaml +++ b/docs/data/product/dea-surface-reflectance-landsat-9-oli-tirs/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Surface Reflectance (Landsat 9) diff --git a/docs/data/product/dea-surface-reflectance-nbar-landsat-5-tm/_data.yaml b/docs/data/product/dea-surface-reflectance-nbar-landsat-5-tm/_data.yaml index 31642c91a..d81323acf 100644 --- a/docs/data/product/dea-surface-reflectance-nbar-landsat-5-tm/_data.yaml +++ b/docs/data/product/dea-surface-reflectance-nbar-landsat-5-tm/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Surface Reflectance NBAR (Landsat 5 TM) diff --git a/docs/data/product/dea-surface-reflectance-nbar-landsat-7-etm/_data.yaml b/docs/data/product/dea-surface-reflectance-nbar-landsat-7-etm/_data.yaml index 29acabb71..81435be35 100644 --- a/docs/data/product/dea-surface-reflectance-nbar-landsat-7-etm/_data.yaml +++ b/docs/data/product/dea-surface-reflectance-nbar-landsat-7-etm/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Surface Reflectance NBAR (Landsat 7 ETM+) diff --git a/docs/data/product/dea-surface-reflectance-nbar-landsat-8-oli-tirs/_data.yaml b/docs/data/product/dea-surface-reflectance-nbar-landsat-8-oli-tirs/_data.yaml index 47baa15d1..f81145c4b 100644 --- a/docs/data/product/dea-surface-reflectance-nbar-landsat-8-oli-tirs/_data.yaml +++ b/docs/data/product/dea-surface-reflectance-nbar-landsat-8-oli-tirs/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Surface Reflectance NBAR (Landsat 8 OLI-TIRS) diff --git a/docs/data/product/dea-surface-reflectance-nbar-landsat-9-oli-tirs/_data.yaml b/docs/data/product/dea-surface-reflectance-nbar-landsat-9-oli-tirs/_data.yaml index 3bcd01b18..748c474cf 100644 --- a/docs/data/product/dea-surface-reflectance-nbar-landsat-9-oli-tirs/_data.yaml +++ b/docs/data/product/dea-surface-reflectance-nbar-landsat-9-oli-tirs/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Surface Reflectance NBAR (Landsat 9) diff --git a/docs/data/product/dea-surface-reflectance-nbart-landsat-5-tm/_data.yaml b/docs/data/product/dea-surface-reflectance-nbart-landsat-5-tm/_data.yaml index fb86466fc..5c09ec752 100644 --- a/docs/data/product/dea-surface-reflectance-nbart-landsat-5-tm/_data.yaml +++ b/docs/data/product/dea-surface-reflectance-nbart-landsat-5-tm/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Surface Reflectance NBART (Landsat 5 TM) diff --git a/docs/data/product/dea-surface-reflectance-nbart-landsat-7-etm/_data.yaml b/docs/data/product/dea-surface-reflectance-nbart-landsat-7-etm/_data.yaml index 6138a2c42..799f260b4 100644 --- a/docs/data/product/dea-surface-reflectance-nbart-landsat-7-etm/_data.yaml +++ b/docs/data/product/dea-surface-reflectance-nbart-landsat-7-etm/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Surface Reflectance NBART (Landsat 7 ETM+) diff --git a/docs/data/product/dea-surface-reflectance-nbart-landsat-8-oli-tirs/_data.yaml b/docs/data/product/dea-surface-reflectance-nbart-landsat-8-oli-tirs/_data.yaml index 5b2c0352a..e84377d99 100644 --- a/docs/data/product/dea-surface-reflectance-nbart-landsat-8-oli-tirs/_data.yaml +++ b/docs/data/product/dea-surface-reflectance-nbart-landsat-8-oli-tirs/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Surface Reflectance NBART (Landsat 8 OLI-TIRS) diff --git a/docs/data/product/dea-surface-reflectance-nbart-landsat-9-oli-tirs/_data.yaml b/docs/data/product/dea-surface-reflectance-nbart-landsat-9-oli-tirs/_data.yaml index 5f0c3501d..4b3edc427 100644 --- a/docs/data/product/dea-surface-reflectance-nbart-landsat-9-oli-tirs/_data.yaml +++ b/docs/data/product/dea-surface-reflectance-nbart-landsat-9-oli-tirs/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Surface Reflectance NBART (Landsat 9) diff --git a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_data.yaml b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_data.yaml index 2b181c378..81d82fc36 100644 --- a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_data.yaml +++ b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2a-msi/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Surface Reflectance NBART (Sentinel-2A MSI) diff --git a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2b-msi/_data.yaml b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2b-msi/_data.yaml index b9b7bcbf2..a13d0e641 100644 --- a/docs/data/product/dea-surface-reflectance-nbart-sentinel-2b-msi/_data.yaml +++ b/docs/data/product/dea-surface-reflectance-nbart-sentinel-2b-msi/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Surface Reflectance NBART (Sentinel-2B MSI) diff --git a/docs/data/product/dea-surface-reflectance-oa-landsat-5-tm/_data.yaml b/docs/data/product/dea-surface-reflectance-oa-landsat-5-tm/_data.yaml index dee54b29e..0af0178ff 100644 --- a/docs/data/product/dea-surface-reflectance-oa-landsat-5-tm/_data.yaml +++ b/docs/data/product/dea-surface-reflectance-oa-landsat-5-tm/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Surface Reflectance OA (Landsat 5 TM) diff --git a/docs/data/product/dea-surface-reflectance-oa-landsat-7-etm/_data.yaml b/docs/data/product/dea-surface-reflectance-oa-landsat-7-etm/_data.yaml index 9cde7890c..8006786c8 100644 --- a/docs/data/product/dea-surface-reflectance-oa-landsat-7-etm/_data.yaml +++ b/docs/data/product/dea-surface-reflectance-oa-landsat-7-etm/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Surface Reflectance OA (Landsat 7 ETM+) diff --git a/docs/data/product/dea-surface-reflectance-oa-landsat-8-oli-tirs/_data.yaml b/docs/data/product/dea-surface-reflectance-oa-landsat-8-oli-tirs/_data.yaml index f80df58bb..4f216d938 100644 --- a/docs/data/product/dea-surface-reflectance-oa-landsat-8-oli-tirs/_data.yaml +++ b/docs/data/product/dea-surface-reflectance-oa-landsat-8-oli-tirs/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Surface Reflectance OA (Landsat 8 OLI-TIRS) diff --git a/docs/data/product/dea-surface-reflectance-oa-landsat-9-oli-tirs/_data.yaml b/docs/data/product/dea-surface-reflectance-oa-landsat-9-oli-tirs/_data.yaml index 818880786..948f58d95 100644 --- a/docs/data/product/dea-surface-reflectance-oa-landsat-9-oli-tirs/_data.yaml +++ b/docs/data/product/dea-surface-reflectance-oa-landsat-9-oli-tirs/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Surface Reflectance OA (Landsat 9) diff --git a/docs/data/product/dea-surface-reflectance-oa-sentinel-2a-msi/_data.yaml b/docs/data/product/dea-surface-reflectance-oa-sentinel-2a-msi/_data.yaml index fe0402dc6..2de1a189b 100644 --- a/docs/data/product/dea-surface-reflectance-oa-sentinel-2a-msi/_data.yaml +++ b/docs/data/product/dea-surface-reflectance-oa-sentinel-2a-msi/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Surface Reflectance OA (Sentinel-2A MSI) diff --git a/docs/data/product/dea-surface-reflectance-oa-sentinel-2b-msi/_data.yaml b/docs/data/product/dea-surface-reflectance-oa-sentinel-2b-msi/_data.yaml index dcf157533..bfc38f12f 100644 --- a/docs/data/product/dea-surface-reflectance-oa-sentinel-2b-msi/_data.yaml +++ b/docs/data/product/dea-surface-reflectance-oa-sentinel-2b-msi/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Surface Reflectance OA (Sentinel-2B MSI) diff --git a/docs/data/product/dea-surface-reflectance-sentinel-2a-msi/_data.yaml b/docs/data/product/dea-surface-reflectance-sentinel-2a-msi/_data.yaml index 6c11de278..065bfccbd 100644 --- a/docs/data/product/dea-surface-reflectance-sentinel-2a-msi/_data.yaml +++ b/docs/data/product/dea-surface-reflectance-sentinel-2a-msi/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: " DEA Surface Reflectance (Sentinel-2A MSI)" diff --git a/docs/data/product/dea-surface-reflectance-sentinel-2b-msi/_data.yaml b/docs/data/product/dea-surface-reflectance-sentinel-2b-msi/_data.yaml index 23a3b0ef6..ab766c6d0 100644 --- a/docs/data/product/dea-surface-reflectance-sentinel-2b-msi/_data.yaml +++ b/docs/data/product/dea-surface-reflectance-sentinel-2b-msi/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Surface Reflectance (Sentinel-2B MSI) diff --git a/docs/data/product/dea-tasseled-cap-percentiles-landsat/_data.yaml b/docs/data/product/dea-tasseled-cap-percentiles-landsat/_data.yaml index c30937345..5a4afbe99 100644 --- a/docs/data/product/dea-tasseled-cap-percentiles-landsat/_data.yaml +++ b/docs/data/product/dea-tasseled-cap-percentiles-landsat/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Tasseled Cap Percentiles (Landsat) diff --git a/docs/data/product/dea-water-observations-landsat/_data.yaml b/docs/data/product/dea-water-observations-landsat/_data.yaml index cb594e5ed..ab573d1e0 100644 --- a/docs/data/product/dea-water-observations-landsat/_data.yaml +++ b/docs/data/product/dea-water-observations-landsat/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Water Observations (Landsat) diff --git a/docs/data/product/dea-water-observations-sentinel-2-nrt/_data.yaml b/docs/data/product/dea-water-observations-sentinel-2-nrt/_data.yaml index 5efe2c088..8d30c91f2 100644 --- a/docs/data/product/dea-water-observations-sentinel-2-nrt/_data.yaml +++ b/docs/data/product/dea-water-observations-sentinel-2-nrt/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Water Observations (Sentinel-2 NRT) diff --git a/docs/data/product/dea-water-observations-statistics-landsat/_data.yaml b/docs/data/product/dea-water-observations-statistics-landsat/_data.yaml index 502f19c66..0b64d4ea5 100644 --- a/docs/data/product/dea-water-observations-statistics-landsat/_data.yaml +++ b/docs/data/product/dea-water-observations-statistics-landsat/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Water Observations Statistics (Landsat) diff --git a/docs/data/product/dea-waterbodies-landsat/_data.yaml b/docs/data/product/dea-waterbodies-landsat/_data.yaml index 6e1998f40..086cf7e23 100644 --- a/docs/data/product/dea-waterbodies-landsat/_data.yaml +++ b/docs/data/product/dea-waterbodies-landsat/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Waterbodies (Landsat) diff --git a/docs/data/product/dea-wetlands-insight-tool-qld/_data.yaml b/docs/data/product/dea-wetlands-insight-tool-qld/_data.yaml index c43cc1442..1654e3ad6 100644 --- a/docs/data/product/dea-wetlands-insight-tool-qld/_data.yaml +++ b/docs/data/product/dea-wetlands-insight-tool-qld/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: DEA Wetlands Insight Tool (QLD) diff --git a/docs/data/product/dea-wetlands-insight-tool-ramsar-wetlands/_data.yaml b/docs/data/product/dea-wetlands-insight-tool-ramsar-wetlands/_data.yaml index 8e3775efb..357582f2a 100644 --- a/docs/data/product/dea-wetlands-insight-tool-ramsar-wetlands/_data.yaml +++ b/docs/data/product/dea-wetlands-insight-tool-ramsar-wetlands/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: " DEA Wetlands Insight Tool (Ramsar Wetlands)" diff --git a/docs/data/product/ga-land-cover-terra-modis/_data.yaml b/docs/data/product/ga-land-cover-terra-modis/_data.yaml index f17b9d89a..65873a797 100644 --- a/docs/data/product/ga-land-cover-terra-modis/_data.yaml +++ b/docs/data/product/ga-land-cover-terra-modis/_data.yaml @@ -1,3 +1,6 @@ +# See the Product metadata fields documentation: +# https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html + # Overview title: Geoscience Australia Land Cover (Terra MODIS) diff --git a/starter-kits/product/_data.yaml b/starter-kits/product/_data.yaml index 197a5a1f9..c17c03204 100644 --- a/starter-kits/product/_data.yaml +++ b/starter-kits/product/_data.yaml @@ -1,4 +1,4 @@ -# See the documentation for each of these metadata fields: +# See the Product metadata fields documentation: # https://docs.dev.dea.ga.gov.au/public_services/dea_knowledge_hub/product_metadata_fields.html # Overview From 1eabcf5b67b122964361033900eceafde8f8a14f Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Fri, 8 Mar 2024 15:54:00 +1100 Subject: [PATCH 084/143] Updated references to the old repo name 'dea-docs' to the new name --- .github/pull_request_template.md | 2 +- Makefile | 8 ++++---- docs/_modules/deploy_banner.py | 4 ++-- make.bat | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index da37eefdf..9f6025a60 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -3,5 +3,5 @@ * [ ] I have spellchecked my content using Microsoft Word, Grammarly, or otherwise. * [ ] If required, update the [DEA Tech Alerts and Changelog](TechAlertsChangelog) and the [DEA Sandbox Updates banner](SandboxUpdatesBanner). -[TechAlertsChangelog]: https://github.com/GeoscienceAustralia/dea-docs/blob/main/docs/tech-alerts-changelog/_tech_alerts_changelog.md +[TechAlertsChangelog]: https://github.com/GeoscienceAustralia/dea-knowledge-hub/blob/main/docs/tech-alerts-changelog/_tech_alerts_changelog.md [SandboxUpdatesBanner]: https://bitbucket.org/geoscienceaustralia/datakube-apps/src/64c28bbf3d0e019d8940547a22f78b9bfd58d739/clusters/dea-sandbox/sandbox.yaml diff --git a/Makefile b/Makefile index 765177a69..2428ffeff 100644 --- a/Makefile +++ b/Makefile @@ -6,13 +6,13 @@ run: make start build: - docker build -t dea-docs . + docker build -t dea-knowledge-hub . rebuild: - docker build --no-cache -t dea-docs . + docker build --no-cache -t dea-knowledge-hub . start: - docker run -it --rm --name dea-docs --publish 8062:8062 --volume ./docs/notebooks:/docs/notebooks --volume ./output:/output --env-file .env dea-docs \ + docker run -it --rm --name dea-knowledge-hub --publish 8062:8062 --volume ./docs/notebooks:/docs/notebooks --volume ./output:/output --env-file .env dea-knowledge-hub \ | grep --invert-match --regexp "WARNING.*Document headings start at" \ | grep --invert-match --regexp "WARNING.*duplicate label" \ | grep --invert-match --regexp "^copying images..." \ @@ -21,7 +21,7 @@ start: | grep --invert-match --regexp ".*GET /_images.*" ssh: - docker exec -it dea-docs /bin/sh + docker exec -it dea-knowledge-hub /bin/sh test-redirects: npx mocha ./aws/cloudfront/functions/*.js diff --git a/docs/_modules/deploy_banner.py b/docs/_modules/deploy_banner.py index 13a9428ed..6ba4997f5 100644 --- a/docs/_modules/deploy_banner.py +++ b/docs/_modules/deploy_banner.py @@ -8,8 +8,8 @@ def banner(): deploy_id = os.environ.get("DEPLOY_ID") knowledge_hub_url = "https://knowledge.dea.ga.gov.au/" - github_url = "https://github.com/GeoscienceAustralia/dea-docs" - deploy_logs_url = "https://app.netlify.com/sites/dea-docs/deploys" + github_url = "https://github.com/GeoscienceAustralia/dea-knowledge-hub" + deploy_logs_url = "https://app.netlify.com/sites/dea-knowledge-hub/deploys" pull_request_banner = f'You are viewing {deploy_name} #{review_id}, not the official
    DEA Knowledge Hub. View the Deploy log or Pull request.' diff --git a/make.bat b/make.bat index e23f82fe6..42f4c3748 100644 --- a/make.bat +++ b/make.bat @@ -1,7 +1,7 @@ REM This is the script for building the site locally on Windows. In the Command Prompt, enter the command: REM make.bat -docker build -t dea-docs . +docker build -t dea-knowledge-hub . -docker run -it --rm --name dea-docs --publish 8062:8062 --volume ".\docs\notebooks":"/docs/notebooks" --volume ".\output":"/output" --env-file .env dea-docs +docker run -it --rm --name dea-knowledge-hub --publish 8062:8062 --volume ".\docs\notebooks":"/docs/notebooks" --volume ".\output":"/output" --env-file .env dea-knowledge-hub From 061859a67a71148ea6c1dfaa830c47b2bc636ddf Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Fri, 8 Mar 2024 15:56:09 +1100 Subject: [PATCH 085/143] Fixed one incorrect URL --- docs/_modules/deploy_banner.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_modules/deploy_banner.py b/docs/_modules/deploy_banner.py index 6ba4997f5..7124b364f 100644 --- a/docs/_modules/deploy_banner.py +++ b/docs/_modules/deploy_banner.py @@ -9,7 +9,7 @@ def banner(): knowledge_hub_url = "https://knowledge.dea.ga.gov.au/" github_url = "https://github.com/GeoscienceAustralia/dea-knowledge-hub" - deploy_logs_url = "https://app.netlify.com/sites/dea-knowledge-hub/deploys" + deploy_logs_url = "https://app.netlify.com/sites/dea-docs/deploys" pull_request_banner = f'You are viewing {deploy_name} #{review_id}, not the official DEA Knowledge Hub. View the Deploy log or Pull request.' From 197d926fcac82fc4e0534845cfab2f3878d3c487 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Tue, 12 Mar 2024 11:35:42 +1100 Subject: [PATCH 086/143] Added a 'clean' command from the old version of the git repo --- Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Makefile b/Makefile index 765177a69..736f237e5 100644 --- a/Makefile +++ b/Makefile @@ -25,3 +25,6 @@ ssh: test-redirects: npx mocha ./aws/cloudfront/functions/*.js + +clean: + rm -rf ./output From 0a1fad6364d972a940b36e4bfa325a3efc074504 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Tue, 12 Mar 2024 14:42:29 +1100 Subject: [PATCH 087/143] Drafted the 'on' trigger for the action --- .github/workflows/deploy-demo.yaml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 .github/workflows/deploy-demo.yaml diff --git a/.github/workflows/deploy-demo.yaml b/.github/workflows/deploy-demo.yaml new file mode 100644 index 000000000..71dd358bc --- /dev/null +++ b/.github/workflows/deploy-demo.yaml @@ -0,0 +1,18 @@ +name: Deploy to Demo + +on: + pull_request: + branches: + - main + types: + - opened + - reopened + +# jobs: +# build: +# runs-on: ubuntu-latest +# +# steps: + +# DEPLOY_NAME = "Pull Request" +# BUILD_MODE = "demo" From 259e01ac3619d2901d2bbeb81cb96e8a949b52a9 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Tue, 12 Mar 2024 14:59:34 +1100 Subject: [PATCH 088/143] Copied code from the deploy production YAML and also formatted deploy production YAML to match --- .github/workflows/deploy-demo.yaml | 49 +++++++++++++++++++++--- .github/workflows/deploy-production.yaml | 3 +- 2 files changed, 46 insertions(+), 6 deletions(-) diff --git a/.github/workflows/deploy-demo.yaml b/.github/workflows/deploy-demo.yaml index 71dd358bc..788668bad 100644 --- a/.github/workflows/deploy-demo.yaml +++ b/.github/workflows/deploy-demo.yaml @@ -8,11 +8,50 @@ on: - opened - reopened -# jobs: -# build: -# runs-on: ubuntu-latest -# -# steps: +jobs: + publish: + runs-on: ubuntu-latest + + strategy: + matrix: + python-version: ["3.11"] + node-version: [18.x] + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + submodules: true + + - name: Pull latest from submodules + run: git submodule foreach git pull origin stable + # This doesn't update the submodule to the latest commit on the origin; therefore, you should manually do this on a semi-regular basis. + + - name: Install Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + + - name: Install requirements + run: ./install-production.sh + + - name: Build site + env: + BUILD_MODE: production + run: ./build-production.sh + + - name: Configure AWS credentials via OIDC + # if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request' + # uses: aws-actions/configure-aws-credentials@v2 + # with: + # role-to-assume: arn:aws:iam::538673716275:role/github-actions-dea-docs + # aws-region: ap-southeast-2 + + - name: Deploy site + # if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request' + # env: + # DISTRIBUTION_ID: ${{ secrets.DISTRIBUTION_ID }} + # run: ./deploy-production.sh # DEPLOY_NAME = "Pull Request" # BUILD_MODE = "demo" diff --git a/.github/workflows/deploy-production.yaml b/.github/workflows/deploy-production.yaml index aa0036f6a..977e32545 100644 --- a/.github/workflows/deploy-production.yaml +++ b/.github/workflows/deploy-production.yaml @@ -12,12 +12,13 @@ permissions: jobs: publish: - name: Publish runs-on: ubuntu-latest + strategy: matrix: python-version: ["3.11"] node-version: [18.x] + steps: - name: Checkout repository uses: actions/checkout@v4 From 808f8d6cdfb1e286d90524bcb6dbdcf87550101e Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Tue, 12 Mar 2024 15:03:10 +1100 Subject: [PATCH 089/143] Renamed the YAML file --- ...deploy-demo.yaml => deploy-pr-preview.yaml} | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) rename .github/workflows/{deploy-demo.yaml => deploy-pr-preview.yaml} (59%) diff --git a/.github/workflows/deploy-demo.yaml b/.github/workflows/deploy-pr-preview.yaml similarity index 59% rename from .github/workflows/deploy-demo.yaml rename to .github/workflows/deploy-pr-preview.yaml index 788668bad..83afa614f 100644 --- a/.github/workflows/deploy-demo.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -1,4 +1,4 @@ -name: Deploy to Demo +name: Deploy to PR Preview on: pull_request: @@ -37,21 +37,9 @@ jobs: - name: Build site env: - BUILD_MODE: production + BUILD_MODE: demo + DEPLOY_NAME: Pull Request run: ./build-production.sh - - name: Configure AWS credentials via OIDC - # if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request' - # uses: aws-actions/configure-aws-credentials@v2 - # with: - # role-to-assume: arn:aws:iam::538673716275:role/github-actions-dea-docs - # aws-region: ap-southeast-2 - - name: Deploy site - # if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request' - # env: - # DISTRIBUTION_ID: ${{ secrets.DISTRIBUTION_ID }} - # run: ./deploy-production.sh -# DEPLOY_NAME = "Pull Request" -# BUILD_MODE = "demo" From 1e95a6e7378747ea4677de1bf5447060e31564f9 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Tue, 12 Mar 2024 15:18:33 +1100 Subject: [PATCH 090/143] Added 'Comment on PR' step --- .github/workflows/deploy-pr-preview.yaml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 83afa614f..d520882d9 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -43,3 +43,12 @@ jobs: - name: Deploy site + - name: Comment on PR + uses: peter-evans/create-or-update-comment@v4 + with: + issue-number: ${{github.event.pull_request.number}} + body: | + Access the preview site at this link. + + [pr-${{github.event.pull_request.number}}-preview.knowledge.dea.ga.gov.au](https://pr-${{github.event.pull_request.number}}-preview.knowledge.dea.ga.gov.au/) + From 759d4994e9519cc6a5a8e3f50c4233a672eec5aa Mon Sep 17 00:00:00 2001 From: Damien Ayers Date: Tue, 12 Mar 2024 15:12:01 +1100 Subject: [PATCH 091/143] Use updated AWS Role name for deployment --- .github/workflows/deploy-production.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-production.yaml b/.github/workflows/deploy-production.yaml index aa0036f6a..60f1f4cbc 100644 --- a/.github/workflows/deploy-production.yaml +++ b/.github/workflows/deploy-production.yaml @@ -45,7 +45,7 @@ jobs: if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request' uses: aws-actions/configure-aws-credentials@v2 with: - role-to-assume: arn:aws:iam::538673716275:role/github-actions-dea-docs + role-to-assume: arn:aws:iam::538673716275:role/github-actions-dea-knowledge-hub aws-region: ap-southeast-2 - name: Deploy site From e073888c34af2d05114d924688320fd32fc89352 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Tue, 12 Mar 2024 15:38:57 +1100 Subject: [PATCH 092/143] Refactored slightly --- .github/workflows/deploy-pr-preview.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index d520882d9..b3f444150 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -45,10 +45,12 @@ jobs: - name: Comment on PR uses: peter-evans/create-or-update-comment@v4 + env: + PREVIEW_SUBDOMAIN: pr-${{github.event.pull_request.number}}-preview with: issue-number: ${{github.event.pull_request.number}} body: | Access the preview site at this link. - [pr-${{github.event.pull_request.number}}-preview.knowledge.dea.ga.gov.au](https://pr-${{github.event.pull_request.number}}-preview.knowledge.dea.ga.gov.au/) + [$PREVIEW_SUBDOMAIN.knowledge.dea.ga.gov.au](https://$PREVIEW_SUBDOMAIN.knowledge.dea.ga.gov.au/) From 50771e7a50820cd068f3b797ff511c408e831ecb Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Tue, 12 Mar 2024 16:02:56 +1100 Subject: [PATCH 093/143] Drafted the 'Deploy site' step --- .github/workflows/deploy-pr-preview.yaml | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index b3f444150..51df394ff 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -8,6 +8,9 @@ on: - opened - reopened +env: + PR_PREVIEW_SUBDOMAIN: pr-${{github.event.pull_request.number}}-preview + jobs: publish: runs-on: ubuntu-latest @@ -42,6 +45,16 @@ jobs: run: ./build-production.sh - name: Deploy site + uses: jakejarvis/s3-sync-action@master + with: + args: --acl public-read --follow-symlinks --delete + env: + AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }} + AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + AWS_REGION: 'ap-southeast-2' + SOURCE_DIR: 'output' + DEST_DIR: $PR_PREVIEW_SUBDOMAIN - name: Comment on PR uses: peter-evans/create-or-update-comment@v4 @@ -52,5 +65,5 @@ jobs: body: | Access the preview site at this link. - [$PREVIEW_SUBDOMAIN.knowledge.dea.ga.gov.au](https://$PREVIEW_SUBDOMAIN.knowledge.dea.ga.gov.au/) + [$PR_PREVIEW_SUBDOMAIN.knowledge.dea.ga.gov.au](https://$PR_PREVIEW_SUBDOMAIN.knowledge.dea.ga.gov.au/) From 902c91def6eb58d6af416f0be6c9b7cf6a03691a Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Tue, 12 Mar 2024 16:16:49 +1100 Subject: [PATCH 094/143] Edited the comment content --- .github/workflows/deploy-pr-preview.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 51df394ff..31f316685 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -63,7 +63,9 @@ jobs: with: issue-number: ${{github.event.pull_request.number}} body: | - Access the preview site at this link. + ## View the preview + + **Preview site:** [$PR_PREVIEW_SUBDOMAIN.knowledge.dea.ga.gov.au](https://$PR_PREVIEW_SUBDOMAIN.knowledge.dea.ga.gov.au/) - [$PR_PREVIEW_SUBDOMAIN.knowledge.dea.ga.gov.au](https://$PR_PREVIEW_SUBDOMAIN.knowledge.dea.ga.gov.au/) + **Deploy log:** [${{ github.run_id }}](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) From 9ef165677a6849a7ad05cfd90f7385dfaa83c677 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Tue, 12 Mar 2024 16:21:55 +1100 Subject: [PATCH 095/143] Improving build script --- .github/workflows/deploy-pr-preview.yaml | 2 +- build-demo.sh | 6 +----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 31f316685..67a07f680 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -42,7 +42,7 @@ jobs: env: BUILD_MODE: demo DEPLOY_NAME: Pull Request - run: ./build-production.sh + run: ./build-demo.sh - name: Deploy site uses: jakejarvis/s3-sync-action@master diff --git a/build-demo.sh b/build-demo.sh index e0f026997..626c50d49 100755 --- a/build-demo.sh +++ b/build-demo.sh @@ -1,10 +1,6 @@ #!/bin/bash -python -m pip install -r ./docs/requirements.txt - -npm install -g sass - -apt-get install -y pandoc +set -eox pipefail mkdir -p ./output From 46be2198960ddcfc3f55c33e2d5359e85debdbb8 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Tue, 12 Mar 2024 16:25:06 +1100 Subject: [PATCH 096/143] Renamed file --- .github/workflows/deploy-pr-preview.yaml | 2 +- build-demo.sh => build-pr-preview.sh | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename build-demo.sh => build-pr-preview.sh (100%) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 67a07f680..2566eacd8 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -42,7 +42,7 @@ jobs: env: BUILD_MODE: demo DEPLOY_NAME: Pull Request - run: ./build-demo.sh + run: ./build-pr-preview.sh - name: Deploy site uses: jakejarvis/s3-sync-action@master diff --git a/build-demo.sh b/build-pr-preview.sh similarity index 100% rename from build-demo.sh rename to build-pr-preview.sh From 446e46044c386c1808cee2adce00fe7c0d6e7ad3 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Tue, 12 Mar 2024 16:26:01 +1100 Subject: [PATCH 097/143] Minor rewording --- .github/workflows/deploy-pr-preview.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 2566eacd8..12101e194 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -63,7 +63,7 @@ jobs: with: issue-number: ${{github.event.pull_request.number}} body: | - ## View the preview + ## Preview **Preview site:** [$PR_PREVIEW_SUBDOMAIN.knowledge.dea.ga.gov.au](https://$PR_PREVIEW_SUBDOMAIN.knowledge.dea.ga.gov.au/) From 5e71b62fb1ccee22cf8b9ffe40092bdd2ad75db0 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Tue, 12 Mar 2024 16:27:19 +1100 Subject: [PATCH 098/143] Removed Netlify config file --- netlify.toml | 34 ---------------------------------- 1 file changed, 34 deletions(-) delete mode 100644 netlify.toml diff --git a/netlify.toml b/netlify.toml deleted file mode 100644 index cfb081ab6..000000000 --- a/netlify.toml +++ /dev/null @@ -1,34 +0,0 @@ -[build] - -command = "./build-demo.sh" -publish = "output" - -[build.environment] - -BUILD_MODE = "demo" - -[context.production] - -ignore = "exit 0" # Never build - -[context.deploy-preview.environment] - -DEPLOY_NAME = "Pull Request" - -[context.demo1.environment] - -DEPLOY_NAME = "Demo 1" - -[context.demo2.environment] - -DEPLOY_NAME = "Demo 2" - -[context.demo3.environment] - -DEPLOY_NAME = "Demo 3" - -[[redirects]] - -from = "/*" -to = "/404-not-found/" -status = 404 From ca3e1ab97dcb3d2493797418934b8a8504d8a257 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Wed, 13 Mar 2024 10:08:20 +1100 Subject: [PATCH 099/143] Added a 'preview is building' comment. Now the commenting uses 2 steps --- .github/workflows/deploy-pr-preview.yaml | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 12101e194..0775585b7 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -44,6 +44,16 @@ jobs: DEPLOY_NAME: Pull Request run: ./build-pr-preview.sh + - name: "Comment on PR: Preview is building" + id: comment-preview-building + uses: peter-evans/create-or-update-comment@v4 + with: + issue-number: ${{github.event.pull_request.number}} + body: | + ## Preview is building ... + + **Deploy log:** [${{ github.run_id }}](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) + - name: Deploy site uses: jakejarvis/s3-sync-action@master with: @@ -56,14 +66,16 @@ jobs: SOURCE_DIR: 'output' DEST_DIR: $PR_PREVIEW_SUBDOMAIN - - name: Comment on PR + - name: "Comment on PR: Preview is ready" + id: comment-preview-ready uses: peter-evans/create-or-update-comment@v4 env: PREVIEW_SUBDOMAIN: pr-${{github.event.pull_request.number}}-preview with: issue-number: ${{github.event.pull_request.number}} + comment-id: ${{ steps.comment-preview-building.outputs.comment-id }} body: | - ## Preview + ## Preview is ready **Preview site:** [$PR_PREVIEW_SUBDOMAIN.knowledge.dea.ga.gov.au](https://$PR_PREVIEW_SUBDOMAIN.knowledge.dea.ga.gov.au/) From c1945d374ee502f54936fc55dcb6b117e4cd76e5 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Wed, 13 Mar 2024 10:14:30 +1100 Subject: [PATCH 100/143] Formatted comments using tables --- .github/workflows/deploy-pr-preview.yaml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 0775585b7..51a2bb533 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -51,8 +51,10 @@ jobs: issue-number: ${{github.event.pull_request.number}} body: | ## Preview is building ... - - **Deploy log:** [${{ github.run_id }}](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) + + | | | + | --- | --- | + | **Deploy log:** | [${{ github.run_id }}](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) | - name: Deploy site uses: jakejarvis/s3-sync-action@master @@ -76,8 +78,9 @@ jobs: comment-id: ${{ steps.comment-preview-building.outputs.comment-id }} body: | ## Preview is ready - - **Preview site:** [$PR_PREVIEW_SUBDOMAIN.knowledge.dea.ga.gov.au](https://$PR_PREVIEW_SUBDOMAIN.knowledge.dea.ga.gov.au/) - - **Deploy log:** [${{ github.run_id }}](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) + | | | + | --- | --- | + | **Preview site:** | [$PR_PREVIEW_SUBDOMAIN.knowledge.dea.ga.gov.au](https://$PR_PREVIEW_SUBDOMAIN.knowledge.dea.ga.gov.au/) | + | **Deploy log:** | [${{ github.run_id }}](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) | + From c60499390b4811076541bd59e5df3112f879ebed Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Wed, 13 Mar 2024 10:17:20 +1100 Subject: [PATCH 101/143] Removed redundant env variable from workflow --- .github/workflows/deploy-pr-preview.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 51a2bb533..a749b7854 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -71,8 +71,6 @@ jobs: - name: "Comment on PR: Preview is ready" id: comment-preview-ready uses: peter-evans/create-or-update-comment@v4 - env: - PREVIEW_SUBDOMAIN: pr-${{github.event.pull_request.number}}-preview with: issue-number: ${{github.event.pull_request.number}} comment-id: ${{ steps.comment-preview-building.outputs.comment-id }} From b8593b65fb81dbe214bdb95f1d959c8072b3a466 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Wed, 13 Mar 2024 10:19:02 +1100 Subject: [PATCH 102/143] Minor wording in workflow --- .github/workflows/deploy-pr-preview.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index a749b7854..716db137c 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -68,7 +68,7 @@ jobs: SOURCE_DIR: 'output' DEST_DIR: $PR_PREVIEW_SUBDOMAIN - - name: "Comment on PR: Preview is ready" + - name: "Update Comment on PR: Preview is ready" id: comment-preview-ready uses: peter-evans/create-or-update-comment@v4 with: From 8490181dfd136b454d2ae6426bd40cf86caee76a Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Wed, 13 Mar 2024 11:29:17 +1100 Subject: [PATCH 103/143] Renamed 'install-production' script since it is now also used in the pr-preview environment --- .github/workflows/deploy-pr-preview.yaml | 2 +- .github/workflows/deploy-production.yaml | 2 +- install-production.sh => install-dependencies.sh | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename install-production.sh => install-dependencies.sh (100%) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 716db137c..a99ec3b27 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -36,7 +36,7 @@ jobs: python-version: ${{ matrix.python-version }} - name: Install requirements - run: ./install-production.sh + run: ./install-dependencies.sh - name: Build site env: diff --git a/.github/workflows/deploy-production.yaml b/.github/workflows/deploy-production.yaml index 977e32545..9c8db1114 100644 --- a/.github/workflows/deploy-production.yaml +++ b/.github/workflows/deploy-production.yaml @@ -35,7 +35,7 @@ jobs: python-version: ${{ matrix.python-version }} - name: Install requirements - run: ./install-production.sh + run: ./install-dependencies.sh - name: Build site env: diff --git a/install-production.sh b/install-dependencies.sh similarity index 100% rename from install-production.sh rename to install-dependencies.sh From 6f548e8f313366e20feeb6189d9dac213f227d06 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Wed, 13 Mar 2024 11:33:48 +1100 Subject: [PATCH 104/143] Simplified code by using env variable --- .github/workflows/deploy-pr-preview.yaml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index a99ec3b27..10b95f52c 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -10,6 +10,7 @@ on: env: PR_PREVIEW_SUBDOMAIN: pr-${{github.event.pull_request.number}}-preview + DEPLOY_LOG_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} jobs: publish: @@ -54,7 +55,7 @@ jobs: | | | | --- | --- | - | **Deploy log:** | [${{ github.run_id }}](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) | + | **Deploy log:** | [View the log]($DEPLOY_LOG_URL) | - name: Deploy site uses: jakejarvis/s3-sync-action@master @@ -80,5 +81,5 @@ jobs: | | | | --- | --- | | **Preview site:** | [$PR_PREVIEW_SUBDOMAIN.knowledge.dea.ga.gov.au](https://$PR_PREVIEW_SUBDOMAIN.knowledge.dea.ga.gov.au/) | - | **Deploy log:** | [${{ github.run_id }}](${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}) | + | **Deploy log:** | [View the log]($DEPLOY_LOG_URL) | From 5e346f2d5a241b9b9bfacd234dd12dedab3f9d4e Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Wed, 13 Mar 2024 11:52:44 +1100 Subject: [PATCH 105/143] Copied OIDC step from production workflow --- .github/workflows/deploy-pr-preview.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 10b95f52c..28595be4d 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -45,6 +45,13 @@ jobs: DEPLOY_NAME: Pull Request run: ./build-pr-preview.sh + - name: Configure AWS credentials via OIDC + if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request' + uses: aws-actions/configure-aws-credentials@v2 + with: + role-to-assume: arn:aws:iam::538673716275:role/github-actions-dea-docs + aws-region: ap-southeast-2 + - name: "Comment on PR: Preview is building" id: comment-preview-building uses: peter-evans/create-or-update-comment@v4 From e7c05e34a11969bad7254474dde5cca2e9e59bc5 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Wed, 13 Mar 2024 11:53:41 +1100 Subject: [PATCH 106/143] Deleted 'if' condition on PR Preview OIDC step --- .github/workflows/deploy-pr-preview.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 28595be4d..c82c693a4 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -46,7 +46,6 @@ jobs: run: ./build-pr-preview.sh - name: Configure AWS credentials via OIDC - if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request' uses: aws-actions/configure-aws-credentials@v2 with: role-to-assume: arn:aws:iam::538673716275:role/github-actions-dea-docs From bf9a55061f87ce3fc0be04fbe89ecb71baff8216 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Wed, 13 Mar 2024 12:04:48 +1100 Subject: [PATCH 107/143] Created deploy preview script --- .github/workflows/deploy-pr-preview.yaml | 11 +++-------- deploy-pr-preview.sh | 7 +++++++ 2 files changed, 10 insertions(+), 8 deletions(-) create mode 100755 deploy-pr-preview.sh diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index c82c693a4..14cf01ed4 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -64,16 +64,11 @@ jobs: | **Deploy log:** | [View the log]($DEPLOY_LOG_URL) | - name: Deploy site - uses: jakejarvis/s3-sync-action@master - with: - args: --acl public-read --follow-symlinks --delete + if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request' env: - AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }} - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - AWS_REGION: 'ap-southeast-2' - SOURCE_DIR: 'output' + DISTRIBUTION_ID: ${{ secrets.DISTRIBUTION_ID }} DEST_DIR: $PR_PREVIEW_SUBDOMAIN + run: ./deploy-production.sh - name: "Update Comment on PR: Preview is ready" id: comment-preview-ready diff --git a/deploy-pr-preview.sh b/deploy-pr-preview.sh new file mode 100755 index 000000000..13e06658f --- /dev/null +++ b/deploy-pr-preview.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +# Deploy to S3 and invalidate the CloudFront distribution + +python -m pip install awscli +aws s3 sync --delete output s3://docs.dea.ga.gov.au +aws cloudfront create-invalidation --distribution-id $DISTRIBUTION_ID --paths '/*' From 5f70420d5ecdc27c50aa42489768e867be5176da Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Wed, 13 Mar 2024 12:05:54 +1100 Subject: [PATCH 108/143] Fixed one error in code --- .github/workflows/deploy-pr-preview.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 14cf01ed4..37a0b3246 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -68,7 +68,7 @@ jobs: env: DISTRIBUTION_ID: ${{ secrets.DISTRIBUTION_ID }} DEST_DIR: $PR_PREVIEW_SUBDOMAIN - run: ./deploy-production.sh + run: ./deploy-pr-preview.sh - name: "Update Comment on PR: Preview is ready" id: comment-preview-ready From cd728d9a8c6ccf3f4923d1e0ffb4edd3eb73e8f7 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Wed, 13 Mar 2024 12:06:31 +1100 Subject: [PATCH 109/143] Removed 'if' condition in workflow --- .github/workflows/deploy-pr-preview.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 37a0b3246..49592a689 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -64,7 +64,6 @@ jobs: | **Deploy log:** | [View the log]($DEPLOY_LOG_URL) | - name: Deploy site - if: github.ref == 'refs/heads/main' && github.event_name != 'pull_request' env: DISTRIBUTION_ID: ${{ secrets.DISTRIBUTION_ID }} DEST_DIR: $PR_PREVIEW_SUBDOMAIN From 0aa46935fbd1091d2592861c36a8c7be5803e923 Mon Sep 17 00:00:00 2001 From: Damien Ayers Date: Wed, 13 Mar 2024 16:12:55 +1100 Subject: [PATCH 110/143] Trial setup of PR Previews --- .github/workflows/deploy-pr-preview.yaml | 11 +++++------ deploy-pr-preview.sh | 7 ------- 2 files changed, 5 insertions(+), 13 deletions(-) delete mode 100755 deploy-pr-preview.sh diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 49592a689..86947209d 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -11,6 +11,7 @@ on: env: PR_PREVIEW_SUBDOMAIN: pr-${{github.event.pull_request.number}}-preview DEPLOY_LOG_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} + PR_PREVIEW_BUCKET: s3://khpreview.dea.ga.gov.au jobs: publish: @@ -48,7 +49,7 @@ jobs: - name: Configure AWS credentials via OIDC uses: aws-actions/configure-aws-credentials@v2 with: - role-to-assume: arn:aws:iam::538673716275:role/github-actions-dea-docs + role-to-assume: arn:aws:iam::538673716275:role/github-actions-dea-knowledge-hub-prs aws-region: ap-southeast-2 - name: "Comment on PR: Preview is building" @@ -64,10 +65,8 @@ jobs: | **Deploy log:** | [View the log]($DEPLOY_LOG_URL) | - name: Deploy site - env: - DISTRIBUTION_ID: ${{ secrets.DISTRIBUTION_ID }} - DEST_DIR: $PR_PREVIEW_SUBDOMAIN - run: ./deploy-pr-preview.sh + run: | + aws s3 sync --delete output "$PR_PREVIEW_BUCKET/$PR_PREVIEW_SUBDOMAIN" - name: "Update Comment on PR: Preview is ready" id: comment-preview-ready @@ -80,6 +79,6 @@ jobs: | | | | --- | --- | - | **Preview site:** | [$PR_PREVIEW_SUBDOMAIN.knowledge.dea.ga.gov.au](https://$PR_PREVIEW_SUBDOMAIN.knowledge.dea.ga.gov.au/) | + | **Preview site:** | [$PR_PREVIEW_SUBDOMAIN.khpreview.dea.ga.gov.au](https://$PR_PREVIEW_SUBDOMAIN.khpreview.dea.ga.gov.au/) | | **Deploy log:** | [View the log]($DEPLOY_LOG_URL) | diff --git a/deploy-pr-preview.sh b/deploy-pr-preview.sh deleted file mode 100755 index 13e06658f..000000000 --- a/deploy-pr-preview.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -# Deploy to S3 and invalidate the CloudFront distribution - -python -m pip install awscli -aws s3 sync --delete output s3://docs.dea.ga.gov.au -aws cloudfront create-invalidation --distribution-id $DISTRIBUTION_ID --paths '/*' From f44cc8a9bef660a831e73bceedd13198173ba906 Mon Sep 17 00:00:00 2001 From: Damien Ayers Date: Wed, 13 Mar 2024 16:36:46 +1100 Subject: [PATCH 111/143] Allow getting OIDC creds --- .github/workflows/deploy-pr-preview.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 86947209d..13f71076a 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -13,6 +13,9 @@ env: DEPLOY_LOG_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} PR_PREVIEW_BUCKET: s3://khpreview.dea.ga.gov.au +permissions: + id-token: write # For requesting the JWT used by OIDC Authentication + jobs: publish: runs-on: ubuntu-latest From d073abec305313c07b9f7d4469cd1ec85bec8d38 Mon Sep 17 00:00:00 2001 From: Damien Ayers Date: Wed, 13 Mar 2024 16:42:13 +1100 Subject: [PATCH 112/143] Run PR Action on Synchronize as well --- .github/workflows/deploy-pr-preview.yaml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 13f71076a..e61fa9bac 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -4,9 +4,6 @@ on: pull_request: branches: - main - types: - - opened - - reopened env: PR_PREVIEW_SUBDOMAIN: pr-${{github.event.pull_request.number}}-preview From ae032f5c0632a10c90ae914a1a2a221c52799d77 Mon Sep 17 00:00:00 2001 From: Damien Ayers Date: Wed, 13 Mar 2024 16:55:07 +1100 Subject: [PATCH 113/143] Fix PR comment posting from Actions --- .github/workflows/deploy-pr-preview.yaml | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index e61fa9bac..50a47c1ff 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -12,6 +12,8 @@ env: permissions: id-token: write # For requesting the JWT used by OIDC Authentication + issues: write + pull-requests: write jobs: publish: @@ -47,18 +49,28 @@ jobs: run: ./build-pr-preview.sh - name: Configure AWS credentials via OIDC - uses: aws-actions/configure-aws-credentials@v2 + uses: aws-actions/configure-aws-credentials@v4 with: role-to-assume: arn:aws:iam::538673716275:role/github-actions-dea-knowledge-hub-prs aws-region: ap-southeast-2 + - name: Find Comment + uses: peter-evans/find-comment@v3 + id: fc + with: + issue-number: ${{ github.event.pull_request.number }} + comment-author: 'github-actions[bot]' + body-includes: KH Preview + - name: "Comment on PR: Preview is building" id: comment-preview-building uses: peter-evans/create-or-update-comment@v4 with: issue-number: ${{github.event.pull_request.number}} + comment-id: ${{ steps.fc.outputs.comment-id }} + edit-mode: replace body: | - ## Preview is building ... + ## KH Preview is uploading ... | | | | --- | --- | @@ -73,9 +85,10 @@ jobs: uses: peter-evans/create-or-update-comment@v4 with: issue-number: ${{github.event.pull_request.number}} - comment-id: ${{ steps.comment-preview-building.outputs.comment-id }} + comment-id: ${{ steps.fc.outputs.comment-id }} + edit-mode: replace body: | - ## Preview is ready + ## KH Preview is ready | | | | --- | --- | From f72319b1f2c616e7cc3e6ab62204e92fb0a5f8d9 Mon Sep 17 00:00:00 2001 From: Damien Ayers Date: Wed, 13 Mar 2024 17:04:18 +1100 Subject: [PATCH 114/143] Fix GitHub Comment templating --- .github/workflows/deploy-pr-preview.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 50a47c1ff..1bb3eec3e 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -74,7 +74,7 @@ jobs: | | | | --- | --- | - | **Deploy log:** | [View the log]($DEPLOY_LOG_URL) | + | **Deploy log:** | [View the log](${{ env.DEPLOY_LOG_URL }}) | - name: Deploy site run: | @@ -92,6 +92,6 @@ jobs: | | | | --- | --- | - | **Preview site:** | [$PR_PREVIEW_SUBDOMAIN.khpreview.dea.ga.gov.au](https://$PR_PREVIEW_SUBDOMAIN.khpreview.dea.ga.gov.au/) | - | **Deploy log:** | [View the log]($DEPLOY_LOG_URL) | + | **Preview site:** | [${{ PR_PREVIEW_SUBDOMAIN }}.khpreview.dea.ga.gov.au](https://${{ env.PR_PREVIEW_SUBDOMAIN }}.khpreview.dea.ga.gov.au/) | + | **Deploy log:** | [View the log](${{ env.DEPLOY_LOG_URL }}) | From 19900d2ed0264eae554ca6ac5294b783026b8447 Mon Sep 17 00:00:00 2001 From: Damien Ayers Date: Wed, 13 Mar 2024 19:54:08 +1100 Subject: [PATCH 115/143] Fix GH Workflow file --- .github/workflows/deploy-pr-preview.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 1bb3eec3e..f8676059b 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -92,6 +92,6 @@ jobs: | | | | --- | --- | - | **Preview site:** | [${{ PR_PREVIEW_SUBDOMAIN }}.khpreview.dea.ga.gov.au](https://${{ env.PR_PREVIEW_SUBDOMAIN }}.khpreview.dea.ga.gov.au/) | + | **Preview site:** | [${{ env.PR_PREVIEW_SUBDOMAIN }}.khpreview.dea.ga.gov.au](https://${{ env.PR_PREVIEW_SUBDOMAIN }}.khpreview.dea.ga.gov.au/) | | **Deploy log:** | [View the log](${{ env.DEPLOY_LOG_URL }}) | From bc802d3005443939e18b05128ccce6026231e9ac Mon Sep 17 00:00:00 2001 From: Damien Ayers Date: Wed, 13 Mar 2024 19:58:08 +1100 Subject: [PATCH 116/143] Update PR Preview build domain --- docs/conf.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/conf.py b/docs/conf.py index 8cf025730..64e35e37c 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -11,6 +11,7 @@ "git_branch": os.environ.get("BRANCH"), "local_enable_redirects": os.environ.get("LOCAL_ENABLE_REDIRECTS"), "local_enable_tags": os.environ.get("LOCAL_ENABLE_TAGS"), + "pr_preview_subdomain": os.environ.get("PR_PREVIEW_SUBDOMAIN"), } project = "DEA Knowledge Hub" @@ -50,6 +51,7 @@ if environment["build_mode"] == "production": html_baseurl = "https://knowledge.dea.ga.gov.au/" elif environment["build_mode"] == "demo": html_baseurl = f"https://{environment['git_branch']}--dea-docs.netlify.app/" +elif environment["build_mode"] == "pr-preview": html_baseurl = f"https://{environment['pr_preview_subdomain']}.khpreview.dea.ga.gov.au/" else: html_baseurl = "" html_permalinks = False From bec1dafb7f4ca9645cc242b6392839ff26ebb895 Mon Sep 17 00:00:00 2001 From: Damien Ayers Date: Wed, 13 Mar 2024 21:33:28 +1100 Subject: [PATCH 117/143] Tweak comments and cache build deps --- .github/workflows/deploy-pr-preview.yaml | 53 ++++++++++++------------ 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index f8676059b..db9e96527 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -25,6 +25,28 @@ jobs: node-version: [18.x] steps: + - name: Find Comment + uses: peter-evans/find-comment@v3 + id: fc + with: + issue-number: ${{ github.event.pull_request.number }} + comment-author: 'github-actions[bot]' + body-includes: PR Preview + + - name: "Comment on PR: Preview is building" + id: comment-preview-building + uses: peter-evans/create-or-update-comment@v4 + with: + issue-number: ${{github.event.pull_request.number}} + comment-id: ${{ steps.fc.outputs.comment-id }} + edit-mode: replace + body: | + ## ⏳ PR Preview is building... + + | | | + | --- | --- | + | **Deploy log:** | [View the log](${{ env.DEPLOY_LOG_URL }}) | + - name: Checkout repository uses: actions/checkout@v4 with: @@ -35,16 +57,17 @@ jobs: # This doesn't update the submodule to the latest commit on the origin; therefore, you should manually do this on a semi-regular basis. - name: Install Python ${{ matrix.python-version }} - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} + cache: 'pip' # Cache the deps we install with pip - name: Install requirements run: ./install-dependencies.sh - name: Build site env: - BUILD_MODE: demo + BUILD_MODE: pr-preview DEPLOY_NAME: Pull Request run: ./build-pr-preview.sh @@ -54,29 +77,7 @@ jobs: role-to-assume: arn:aws:iam::538673716275:role/github-actions-dea-knowledge-hub-prs aws-region: ap-southeast-2 - - name: Find Comment - uses: peter-evans/find-comment@v3 - id: fc - with: - issue-number: ${{ github.event.pull_request.number }} - comment-author: 'github-actions[bot]' - body-includes: KH Preview - - - name: "Comment on PR: Preview is building" - id: comment-preview-building - uses: peter-evans/create-or-update-comment@v4 - with: - issue-number: ${{github.event.pull_request.number}} - comment-id: ${{ steps.fc.outputs.comment-id }} - edit-mode: replace - body: | - ## KH Preview is uploading ... - - | | | - | --- | --- | - | **Deploy log:** | [View the log](${{ env.DEPLOY_LOG_URL }}) | - - - name: Deploy site + - name: Deploy preview site run: | aws s3 sync --delete output "$PR_PREVIEW_BUCKET/$PR_PREVIEW_SUBDOMAIN" @@ -88,7 +89,7 @@ jobs: comment-id: ${{ steps.fc.outputs.comment-id }} edit-mode: replace body: | - ## KH Preview is ready + ## ✅ PH Preview is ready | | | | --- | --- | From c9cc7713a66eb257b71417e37556dc2c1f922960 Mon Sep 17 00:00:00 2001 From: Damien Ayers Date: Wed, 13 Mar 2024 22:02:32 +1100 Subject: [PATCH 118/143] Fix Typo --- .github/workflows/deploy-pr-preview.yaml | 2 +- docs/conf.py | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index db9e96527..f4e770e86 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -89,7 +89,7 @@ jobs: comment-id: ${{ steps.fc.outputs.comment-id }} edit-mode: replace body: | - ## ✅ PH Preview is ready + ## ✅ PR Preview is ready | | | | --- | --- | diff --git a/docs/conf.py b/docs/conf.py index 64e35e37c..715ce4332 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -157,4 +157,3 @@ suppress_warnings = [ # "etoc.toctree" ] - From 48be7186b1c678da565b5aaa1955da072741a5c9 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 14 Mar 2024 10:11:27 +1100 Subject: [PATCH 119/143] Replaced emojis with shortcodes --- .github/workflows/deploy-pr-preview.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index f4e770e86..426570140 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -41,7 +41,7 @@ jobs: comment-id: ${{ steps.fc.outputs.comment-id }} edit-mode: replace body: | - ## ⏳ PR Preview is building... + ## :hourglass: PR Preview is building... | | | | --- | --- | @@ -89,7 +89,7 @@ jobs: comment-id: ${{ steps.fc.outputs.comment-id }} edit-mode: replace body: | - ## ✅ PR Preview is ready + ## :heavy_check_mark: PR Preview is ready | | | | --- | --- | From 25eec5635f3fff2c93fe243c049c5273ed7d25e2 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 14 Mar 2024 10:18:26 +1100 Subject: [PATCH 120/143] Converted Markdown tables to HTML to remove empty header row --- .github/workflows/deploy-pr-preview.yaml | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 426570140..ace304797 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -43,9 +43,12 @@ jobs: body: | ## :hourglass: PR Preview is building... - | | | - | --- | --- | - | **Deploy log:** | [View the log](${{ env.DEPLOY_LOG_URL }}) | + + + + + +
    Deploy log:View the log
    - name: Checkout repository uses: actions/checkout@v4 @@ -91,8 +94,14 @@ jobs: body: | ## :heavy_check_mark: PR Preview is ready - | | | - | --- | --- | - | **Preview site:** | [${{ env.PR_PREVIEW_SUBDOMAIN }}.khpreview.dea.ga.gov.au](https://${{ env.PR_PREVIEW_SUBDOMAIN }}.khpreview.dea.ga.gov.au/) | - | **Deploy log:** | [View the log](${{ env.DEPLOY_LOG_URL }}) | + + + + + + + + + +
    Preview site:${{ env.PR_PREVIEW_SUBDOMAIN }}.khpreview.dea.ga.gov.au
    Deploy log:View the log
    From 315e0bad8ac58a1bff06c1817ddab1376bd8ba6e Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 14 Mar 2024 10:18:57 +1100 Subject: [PATCH 121/143] Minor punctuation --- .github/workflows/deploy-pr-preview.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index ace304797..963c1efeb 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -41,7 +41,7 @@ jobs: comment-id: ${{ steps.fc.outputs.comment-id }} edit-mode: replace body: | - ## :hourglass: PR Preview is building... + ## :hourglass: PR Preview is building ... From 7e43b2da29d3de3f277058592ac990a749749264 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 14 Mar 2024 10:22:46 +1100 Subject: [PATCH 122/143] Wording of comment --- .github/workflows/deploy-pr-preview.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 963c1efeb..172582360 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -63,7 +63,7 @@ jobs: uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - cache: 'pip' # Cache the deps we install with pip + cache: 'pip' # Use pip to cache the installed dependencies - name: Install requirements run: ./install-dependencies.sh From 6fb8e6fdcdd5e51ca0bd6850ac9219ffe77d7e62 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 14 Mar 2024 11:09:32 +1100 Subject: [PATCH 123/143] Removed 'demo' build mode and its accompanying logic --- .env.example | 2 +- docs/_modules/deploy_banner.py | 11 +---------- docs/_modules/utilities.py | 2 +- docs/conf.py | 7 +++---- 4 files changed, 6 insertions(+), 16 deletions(-) diff --git a/.env.example b/.env.example index 49f0fc670..0025a98cf 100644 --- a/.env.example +++ b/.env.example @@ -1,4 +1,4 @@ -BUILD_MODE=local # local / demo / production +BUILD_MODE=local # local / pr-preview / production LOCAL_ENABLE_REDIRECTS=Yes LOCAL_ENABLE_TAGS=Yes diff --git a/docs/_modules/deploy_banner.py b/docs/_modules/deploy_banner.py index 7124b364f..c507233a3 100644 --- a/docs/_modules/deploy_banner.py +++ b/docs/_modules/deploy_banner.py @@ -1,9 +1,7 @@ import os def banner(): - git_branch = os.environ.get("BRANCH") deploy_name = os.environ.get("DEPLOY_NAME") - pull_request = os.environ.get("PULL_REQUEST") review_id = os.environ.get("REVIEW_ID") deploy_id = os.environ.get("DEPLOY_ID") @@ -11,12 +9,5 @@ def banner(): github_url = "https://github.com/GeoscienceAustralia/dea-knowledge-hub" deploy_logs_url = "https://app.netlify.com/sites/dea-docs/deploys" - pull_request_banner = f'You are viewing {deploy_name} #{review_id}, not the official DEA Knowledge Hub. View the Deploy log or Pull request.' - - demo_banner = f'You are viewing {deploy_name}, not the official DEA Knowledge Hub. View the Deploy logs or Git branch.' - - if pull_request == "true": - return pull_request_banner - else: - return demo_banner + return f'You are viewing {deploy_name} #{review_id}, not the official DEA Knowledge Hub. View the Deploy log or Pull request.' diff --git a/docs/_modules/utilities.py b/docs/_modules/utilities.py index 192c62a0a..8981131a1 100644 --- a/docs/_modules/utilities.py +++ b/docs/_modules/utilities.py @@ -10,7 +10,7 @@ def current_year(): def optional_exclude_pattern(environment_variable, exclude_pattern): if ( os.environ.get(environment_variable) == "No" - and not os.environ.get("BUILD_MODE") in ["demo", "production"] + and not os.environ.get("BUILD_MODE") in ["pr-preview", "production"] ): return [exclude_pattern] else: diff --git a/docs/conf.py b/docs/conf.py index 715ce4332..661f2f0c6 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -50,7 +50,6 @@ language = "en" if environment["build_mode"] == "production": html_baseurl = "https://knowledge.dea.ga.gov.au/" -elif environment["build_mode"] == "demo": html_baseurl = f"https://{environment['git_branch']}--dea-docs.netlify.app/" elif environment["build_mode"] == "pr-preview": html_baseurl = f"https://{environment['pr_preview_subdomain']}.khpreview.dea.ga.gov.au/" else: html_baseurl = "" @@ -89,7 +88,7 @@ external_toc_path = "table_of_contents.yaml" if ( - environment["build_mode"] in ["demo", "production"] + environment["build_mode"] in ["pr-preview", "production"] or environment["local_enable_redirects"] == "Yes" ): rediraffe_redirects = utilities.source_redirects("_redirects/*.txt") @@ -114,7 +113,7 @@ notfound_urls_prefix = "" tags_create_tags = ( - environment["build_mode"] in ["demo", "production"] + environment["build_mode"] in ["pr-preview", "production"] or environment["local_enable_tags"] == "Yes" ) @@ -143,7 +142,7 @@ }, } -if environment["build_mode"] == "demo": +if environment["build_mode"] == "pr-preview": html_theme_options["announcement"] = deploy_banner.banner() html_context = { From 01e93df58484a0449f0da20d189d5ab63bb74a45 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 14 Mar 2024 11:15:51 +1100 Subject: [PATCH 124/143] Editing the env variables and preview banner --- .github/workflows/deploy-pr-preview.yaml | 8 ++++---- docs/_modules/deploy_banner.py | 8 +++----- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 172582360..7cdddc48d 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -7,7 +7,7 @@ on: env: PR_PREVIEW_SUBDOMAIN: pr-${{github.event.pull_request.number}}-preview - DEPLOY_LOG_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} + PR_PREVIEW_DEPLOY_LOG_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} PR_PREVIEW_BUCKET: s3://khpreview.dea.ga.gov.au permissions: @@ -46,7 +46,7 @@ jobs:
    - +
    Deploy log:View the logView the log
    @@ -71,7 +71,7 @@ jobs: - name: Build site env: BUILD_MODE: pr-preview - DEPLOY_NAME: Pull Request + PULL_REQUEST_NUMBER: ${{github.event.pull_request.number}} run: ./build-pr-preview.sh - name: Configure AWS credentials via OIDC @@ -101,7 +101,7 @@ jobs: Deploy log: - View the log + View the log diff --git a/docs/_modules/deploy_banner.py b/docs/_modules/deploy_banner.py index c507233a3..bd0cebc47 100644 --- a/docs/_modules/deploy_banner.py +++ b/docs/_modules/deploy_banner.py @@ -1,13 +1,11 @@ import os def banner(): - deploy_name = os.environ.get("DEPLOY_NAME") - review_id = os.environ.get("REVIEW_ID") - deploy_id = os.environ.get("DEPLOY_ID") + pull_request_number = os.environ.get("PULL_REQUEST_NUMBER") + deploy_log_url = os.environ.get("PR_PREVIEW_DEPLOY_LOG_URL") knowledge_hub_url = "https://knowledge.dea.ga.gov.au/" github_url = "https://github.com/GeoscienceAustralia/dea-knowledge-hub" - deploy_logs_url = "https://app.netlify.com/sites/dea-docs/deploys" - return f'You are viewing {deploy_name} #{review_id}, not the official DEA Knowledge Hub. View the Deploy log or Pull request.' + return f'You are viewing Pull Request #{pull_request_number}, not the official DEA Knowledge Hub. View the Pull request or Deploy log.' From ff79ca49dcc22c8796e5fab6bfa92a16e4b47df0 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 14 Mar 2024 11:17:24 +1100 Subject: [PATCH 125/143] Renamed 'deploy_banner' python module --- docs/_modules/{deploy_banner.py => pr_preview.py} | 0 docs/conf.py | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) rename docs/_modules/{deploy_banner.py => pr_preview.py} (100%) diff --git a/docs/_modules/deploy_banner.py b/docs/_modules/pr_preview.py similarity index 100% rename from docs/_modules/deploy_banner.py rename to docs/_modules/pr_preview.py diff --git a/docs/conf.py b/docs/conf.py index 661f2f0c6..93cbd100d 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -4,7 +4,7 @@ sys.path.insert(0, os.path.abspath('.')) from _modules import utilities from _modules import mock_imports -from _modules import deploy_banner +from _modules import pr_preview environment = { "build_mode": os.environ.get("BUILD_MODE"), @@ -143,7 +143,7 @@ } if environment["build_mode"] == "pr-preview": - html_theme_options["announcement"] = deploy_banner.banner() + html_theme_options["announcement"] = pr_preview.banner() html_context = { "default_mode": "light", From 589e2b7474c960c36986570acc75d1d71d0322cf Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 14 Mar 2024 11:18:44 +1100 Subject: [PATCH 126/143] Wording on banner --- docs/_modules/pr_preview.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_modules/pr_preview.py b/docs/_modules/pr_preview.py index bd0cebc47..d7f99e5bb 100644 --- a/docs/_modules/pr_preview.py +++ b/docs/_modules/pr_preview.py @@ -7,5 +7,5 @@ def banner(): knowledge_hub_url = "https://knowledge.dea.ga.gov.au/" github_url = "https://github.com/GeoscienceAustralia/dea-knowledge-hub" - return f'You are viewing Pull Request #{pull_request_number}, not the official DEA Knowledge Hub. View the Pull request or Deploy log.' + return f'You are viewing PR Preview #{pull_request_number}, not the official DEA Knowledge Hub. View the Pull request or Deploy log.' From ff7f67036d9ea0d6a5ed0e95e8e75e63cab980d1 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 14 Mar 2024 11:26:36 +1100 Subject: [PATCH 127/143] Changed the emojis to be less colourful --- .github/workflows/deploy-pr-preview.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 7cdddc48d..bb7a7d7c3 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -41,7 +41,7 @@ jobs: comment-id: ${{ steps.fc.outputs.comment-id }} edit-mode: replace body: | - ## :hourglass: PR Preview is building ... + ## :speech_balloon: PR Preview is building ... @@ -92,7 +92,7 @@ jobs: comment-id: ${{ steps.fc.outputs.comment-id }} edit-mode: replace body: | - ## :heavy_check_mark: PR Preview is ready + ## :white_check_mark: PR Preview is ready
    From 64ee9b7f7143c14b1cef170c7524a4c7917f0403 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 14 Mar 2024 11:32:29 +1100 Subject: [PATCH 128/143] Minor refactor to pull request number env variable --- .github/workflows/deploy-pr-preview.yaml | 2 +- docs/_modules/pr_preview.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index bb7a7d7c3..3c0528580 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -6,6 +6,7 @@ on: - main env: + PR_PREVIEW_PULL_REQUEST_NUMBER: ${{github.event.pull_request.number}} PR_PREVIEW_SUBDOMAIN: pr-${{github.event.pull_request.number}}-preview PR_PREVIEW_DEPLOY_LOG_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} PR_PREVIEW_BUCKET: s3://khpreview.dea.ga.gov.au @@ -71,7 +72,6 @@ jobs: - name: Build site env: BUILD_MODE: pr-preview - PULL_REQUEST_NUMBER: ${{github.event.pull_request.number}} run: ./build-pr-preview.sh - name: Configure AWS credentials via OIDC diff --git a/docs/_modules/pr_preview.py b/docs/_modules/pr_preview.py index d7f99e5bb..b218ea3b1 100644 --- a/docs/_modules/pr_preview.py +++ b/docs/_modules/pr_preview.py @@ -1,7 +1,7 @@ import os def banner(): - pull_request_number = os.environ.get("PULL_REQUEST_NUMBER") + pull_request_number = os.environ.get("PR_PREVIEW_PULL_REQUEST_NUMBER") deploy_log_url = os.environ.get("PR_PREVIEW_DEPLOY_LOG_URL") knowledge_hub_url = "https://knowledge.dea.ga.gov.au/" From ea788aa190f7708cdb494fe829ffbf9b9e188a60 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 14 Mar 2024 11:38:46 +1100 Subject: [PATCH 129/143] Renaming some Github Action steps --- .github/workflows/deploy-pr-preview.yaml | 4 ++-- .github/workflows/deploy-production.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 3c0528580..4824e2b79 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -26,7 +26,7 @@ jobs: node-version: [18.x] steps: - - name: Find Comment + - name: Find Comment on PR uses: peter-evans/find-comment@v3 id: fc with: @@ -66,7 +66,7 @@ jobs: python-version: ${{ matrix.python-version }} cache: 'pip' # Use pip to cache the installed dependencies - - name: Install requirements + - name: Install dependencies run: ./install-dependencies.sh - name: Build site diff --git a/.github/workflows/deploy-production.yaml b/.github/workflows/deploy-production.yaml index 9c8db1114..b61f2b798 100644 --- a/.github/workflows/deploy-production.yaml +++ b/.github/workflows/deploy-production.yaml @@ -34,7 +34,7 @@ jobs: with: python-version: ${{ matrix.python-version }} - - name: Install requirements + - name: Install dependencies run: ./install-dependencies.sh - name: Build site From 383d707b8b498a3f72fcdbcbc375339c2cacb075 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 14 Mar 2024 11:43:19 +1100 Subject: [PATCH 130/143] Added the Pull Request Number to the comment titles --- .github/workflows/deploy-pr-preview.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 4824e2b79..8673217a6 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -26,7 +26,7 @@ jobs: node-version: [18.x] steps: - - name: Find Comment on PR + - name: Find Comment uses: peter-evans/find-comment@v3 id: fc with: @@ -34,7 +34,7 @@ jobs: comment-author: 'github-actions[bot]' body-includes: PR Preview - - name: "Comment on PR: Preview is building" + - name: "Comment: PR Preview #${{github.event.pull_request.number}} is building" id: comment-preview-building uses: peter-evans/create-or-update-comment@v4 with: @@ -42,7 +42,7 @@ jobs: comment-id: ${{ steps.fc.outputs.comment-id }} edit-mode: replace body: | - ## :speech_balloon: PR Preview is building ... + ## :speech_balloon: PR Preview #${{github.event.pull_request.number}} is building ...
    @@ -84,7 +84,7 @@ jobs: run: | aws s3 sync --delete output "$PR_PREVIEW_BUCKET/$PR_PREVIEW_SUBDOMAIN" - - name: "Update Comment on PR: Preview is ready" + - name: "Update Comment: PR Preview #${{github.event.pull_request.number}} is ready" id: comment-preview-ready uses: peter-evans/create-or-update-comment@v4 with: @@ -92,7 +92,7 @@ jobs: comment-id: ${{ steps.fc.outputs.comment-id }} edit-mode: replace body: | - ## :white_check_mark: PR Preview is ready + ## :white_check_mark: PR Preview #${{github.event.pull_request.number}} is ready
    From fcf5ab38611db32b67092a45e4fc44aea1144eeb Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 14 Mar 2024 11:47:47 +1100 Subject: [PATCH 131/143] Disabled the automatic pull request hashtag link in Github markdown --- .github/workflows/deploy-pr-preview.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 8673217a6..01876e5ed 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -42,7 +42,7 @@ jobs: comment-id: ${{ steps.fc.outputs.comment-id }} edit-mode: replace body: | - ## :speech_balloon: PR Preview #${{github.event.pull_request.number}} is building ... + ## :speech_balloon: PR Preview #${{github.event.pull_request.number}} is building ...
    @@ -92,7 +92,7 @@ jobs: comment-id: ${{ steps.fc.outputs.comment-id }} edit-mode: replace body: | - ## :white_check_mark: PR Preview #${{github.event.pull_request.number}} is ready + ## :white_check_mark: PR Preview #${{github.event.pull_request.number}} is ready
    From 070574cfed1a7acc1e362334945687c3343b795b Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 14 Mar 2024 11:48:29 +1100 Subject: [PATCH 132/143] Minor wording --- .github/workflows/deploy-pr-preview.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 01876e5ed..835bc2790 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -34,15 +34,15 @@ jobs: comment-author: 'github-actions[bot]' body-includes: PR Preview - - name: "Comment: PR Preview #${{github.event.pull_request.number}} is building" - id: comment-preview-building + - name: "Comment: PR Preview #${{github.event.pull_request.number}} is deploying" + id: comment-preview-deploying uses: peter-evans/create-or-update-comment@v4 with: issue-number: ${{github.event.pull_request.number}} comment-id: ${{ steps.fc.outputs.comment-id }} edit-mode: replace body: | - ## :speech_balloon: PR Preview #${{github.event.pull_request.number}} is building ... + ## :speech_balloon: PR Preview #${{github.event.pull_request.number}} is deploying ...
    From d5cae4de157fed68468f0136f73be8e0fbd2c237 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 14 Mar 2024 11:49:21 +1100 Subject: [PATCH 133/143] Tidying use of step IDs --- .github/workflows/deploy-pr-preview.yaml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 835bc2790..09fd07a5b 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -28,18 +28,17 @@ jobs: steps: - name: Find Comment uses: peter-evans/find-comment@v3 - id: fc + id: find-comment with: issue-number: ${{ github.event.pull_request.number }} comment-author: 'github-actions[bot]' body-includes: PR Preview - name: "Comment: PR Preview #${{github.event.pull_request.number}} is deploying" - id: comment-preview-deploying uses: peter-evans/create-or-update-comment@v4 with: issue-number: ${{github.event.pull_request.number}} - comment-id: ${{ steps.fc.outputs.comment-id }} + comment-id: ${{ steps.find-comment.outputs.comment-id }} edit-mode: replace body: | ## :speech_balloon: PR Preview #${{github.event.pull_request.number}} is deploying ... @@ -85,11 +84,10 @@ jobs: aws s3 sync --delete output "$PR_PREVIEW_BUCKET/$PR_PREVIEW_SUBDOMAIN" - name: "Update Comment: PR Preview #${{github.event.pull_request.number}} is ready" - id: comment-preview-ready uses: peter-evans/create-or-update-comment@v4 with: issue-number: ${{github.event.pull_request.number}} - comment-id: ${{ steps.fc.outputs.comment-id }} + comment-id: ${{ steps.find-comment.outputs.comment-id }} edit-mode: replace body: | ## :white_check_mark: PR Preview #${{github.event.pull_request.number}} is ready From c31f6c1b222eb7156d0a117e81ec542fa050db4a Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 14 Mar 2024 11:58:36 +1100 Subject: [PATCH 134/143] Made emojis more colourful and used different emojis --- .github/workflows/deploy-pr-preview.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 09fd07a5b..20c09fd6b 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -41,7 +41,7 @@ jobs: comment-id: ${{ steps.find-comment.outputs.comment-id }} edit-mode: replace body: | - ## :speech_balloon: PR Preview #${{github.event.pull_request.number}} is deploying ... + ## :hourglass: PR Preview #${{github.event.pull_request.number}} is deploying ...
    @@ -90,7 +90,7 @@ jobs: comment-id: ${{ steps.find-comment.outputs.comment-id }} edit-mode: replace body: | - ## :white_check_mark: PR Preview #${{github.event.pull_request.number}} is ready + ## :star2: PR Preview #${{github.event.pull_request.number}} is ready
    From 760a6b102705d03db11804b613457d0eaebed817 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 14 Mar 2024 11:59:07 +1100 Subject: [PATCH 135/143] Minor punctuation --- .github/workflows/deploy-pr-preview.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 20c09fd6b..e9e9f4904 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -90,7 +90,7 @@ jobs: comment-id: ${{ steps.find-comment.outputs.comment-id }} edit-mode: replace body: | - ## :star2: PR Preview #${{github.event.pull_request.number}} is ready + ## :star2: PR Preview #${{github.event.pull_request.number}} is ready!
    From d2b0e76ab7ec8e15d8c216b23fc3141c5d8a522c Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 14 Mar 2024 12:23:23 +1100 Subject: [PATCH 136/143] Removed issue numbers from comment titles because they were too visually 'busy' --- .github/workflows/deploy-pr-preview.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index e9e9f4904..9cde7df9d 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -34,14 +34,14 @@ jobs: comment-author: 'github-actions[bot]' body-includes: PR Preview - - name: "Comment: PR Preview #${{github.event.pull_request.number}} is deploying" + - name: "Comment: PR Preview is deploying" uses: peter-evans/create-or-update-comment@v4 with: issue-number: ${{github.event.pull_request.number}} comment-id: ${{ steps.find-comment.outputs.comment-id }} edit-mode: replace body: | - ## :hourglass: PR Preview #${{github.event.pull_request.number}} is deploying ... + ## :hourglass: PR Preview is deploying ...
    @@ -83,14 +83,14 @@ jobs: run: | aws s3 sync --delete output "$PR_PREVIEW_BUCKET/$PR_PREVIEW_SUBDOMAIN" - - name: "Update Comment: PR Preview #${{github.event.pull_request.number}} is ready" + - name: "Update Comment: PR Preview is ready" uses: peter-evans/create-or-update-comment@v4 with: issue-number: ${{github.event.pull_request.number}} comment-id: ${{ steps.find-comment.outputs.comment-id }} edit-mode: replace body: | - ## :star2: PR Preview #${{github.event.pull_request.number}} is ready! + ## :star2: PR Preview is ready!
    From 2a30acc32e79655b0d554da2db602a24d7cca8ba Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 14 Mar 2024 12:47:04 +1100 Subject: [PATCH 137/143] Added Green status update --- docs/tech-alerts-changelog/_tech_alerts_changelog.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/docs/tech-alerts-changelog/_tech_alerts_changelog.md b/docs/tech-alerts-changelog/_tech_alerts_changelog.md index 926c15c4f..53476f860 100644 --- a/docs/tech-alerts-changelog/_tech_alerts_changelog.md +++ b/docs/tech-alerts-changelog/_tech_alerts_changelog.md @@ -4,6 +4,13 @@ % If status = yellow, class = caution % If status = red, class = danger +:::{admonition} DEA system status: green +:class: tip +All DEA systems are working as expected. There are no outstanding incidents or errors to report. + +See the [DEA monitoring dashboard](https://monitoring.dea.ga.gov.au/). +::: + :::{admonition} DEA system status: yellow :class: caution 2024-02-28 From 36d99ce7d0f85c430b20cb950f83c704806115a9 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 14 Mar 2024 13:21:14 +1100 Subject: [PATCH 138/143] Added update --- docs/tech-alerts-changelog/_tech_alerts_changelog.md | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/docs/tech-alerts-changelog/_tech_alerts_changelog.md b/docs/tech-alerts-changelog/_tech_alerts_changelog.md index 53476f860..98e0e076e 100644 --- a/docs/tech-alerts-changelog/_tech_alerts_changelog.md +++ b/docs/tech-alerts-changelog/_tech_alerts_changelog.md @@ -4,18 +4,10 @@ % If status = yellow, class = caution % If status = red, class = danger -:::{admonition} DEA system status: green -:class: tip -All DEA systems are working as expected. There are no outstanding incidents or errors to report. - -See the [DEA monitoring dashboard](https://monitoring.dea.ga.gov.au/). -::: - :::{admonition} DEA system status: yellow :class: caution -2024-02-28 -The DEA web services are currently experiencing intermittent performance issues. We are currently investigating the cause of the issue. +2024-03-14: We have implemented changes to improve the intermittent performance issues being experienced on DEA web services. We are continuing to work to fix this issue. See the [DEA monitoring dashboard](https://monitoring.dea.ga.gov.au/) to check the current status of DEA's services. ::: From ccfc2159eb2f4598e4289ba3dacddb283631cdea Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Thu, 14 Mar 2024 15:17:24 +1100 Subject: [PATCH 139/143] [skip ci] Renamed the pull request template file to all-uppercase as per convention --- .github/{pull_request_template.md => PULL_REQUEST_TEMPLATE.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/{pull_request_template.md => PULL_REQUEST_TEMPLATE.md} (100%) diff --git a/.github/pull_request_template.md b/.github/PULL_REQUEST_TEMPLATE.md similarity index 100% rename from .github/pull_request_template.md rename to .github/PULL_REQUEST_TEMPLATE.md From aaff5ed31986faa58ad52a0039f51f0917421247 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Mon, 18 Mar 2024 13:03:02 +1100 Subject: [PATCH 140/143] Renamed job to 'pr-preview' --- .github/workflows/deploy-pr-preview.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index 9cde7df9d..c00105f97 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -17,7 +17,7 @@ permissions: pull-requests: write jobs: - publish: + pr-preview: runs-on: ubuntu-latest strategy: From cc2363e7c24ae5a553d450b35999e9277ef46870 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Mon, 18 Mar 2024 13:07:06 +1100 Subject: [PATCH 141/143] Added if conditions --- .github/workflows/deploy-pr-preview.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index c00105f97..d3e2d586a 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -19,6 +19,10 @@ permissions: jobs: pr-preview: runs-on: ubuntu-latest + if: | + !contains(github.event.head_commit.message, '[skip preview]') && + !contains(github.event.pull_request.title, '[skip preview]') && + !contains(github.event.pull_request.body, '[skip preview]') strategy: matrix: From 8c6691ae96fa093063f70510f62bba681dae9398 Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Mon, 18 Mar 2024 13:13:09 +1100 Subject: [PATCH 142/143] Moved the skip command to an env variable --- .github/workflows/deploy-pr-preview.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index d3e2d586a..a9a861912 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -10,6 +10,7 @@ env: PR_PREVIEW_SUBDOMAIN: pr-${{github.event.pull_request.number}}-preview PR_PREVIEW_DEPLOY_LOG_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} PR_PREVIEW_BUCKET: s3://khpreview.dea.ga.gov.au + PR_PREVIEW_SKIP_COMMAND: "[no preview]" permissions: id-token: write # For requesting the JWT used by OIDC Authentication @@ -20,9 +21,9 @@ jobs: pr-preview: runs-on: ubuntu-latest if: | - !contains(github.event.head_commit.message, '[skip preview]') && - !contains(github.event.pull_request.title, '[skip preview]') && - !contains(github.event.pull_request.body, '[skip preview]') + !contains(github.event.head_commit.message, '${{ env.PR_PREVIEW_SKIP_COMMAND }}') && + !contains(github.event.pull_request.title, '${{ env.PR_PREVIEW_SKIP_COMMAND }}') && + !contains(github.event.pull_request.body, '${{ env.PR_PREVIEW_SKIP_COMMAND }}') strategy: matrix: From a1b3d21a881eaca6eff5ee859a144b86048b289b Mon Sep 17 00:00:00 2001 From: Benji Glitsos Date: Mon, 18 Mar 2024 13:15:12 +1100 Subject: [PATCH 143/143] Added a second variation of the command --- .github/workflows/deploy-pr-preview.yaml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/workflows/deploy-pr-preview.yaml b/.github/workflows/deploy-pr-preview.yaml index a9a861912..3150fbefa 100644 --- a/.github/workflows/deploy-pr-preview.yaml +++ b/.github/workflows/deploy-pr-preview.yaml @@ -10,7 +10,8 @@ env: PR_PREVIEW_SUBDOMAIN: pr-${{github.event.pull_request.number}}-preview PR_PREVIEW_DEPLOY_LOG_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} PR_PREVIEW_BUCKET: s3://khpreview.dea.ga.gov.au - PR_PREVIEW_SKIP_COMMAND: "[no preview]" + PR_PREVIEW_SKIP_COMMAND_1: "[no preview]" + PR_PREVIEW_SKIP_COMMAND_2: "[skip preview]" permissions: id-token: write # For requesting the JWT used by OIDC Authentication @@ -21,9 +22,12 @@ jobs: pr-preview: runs-on: ubuntu-latest if: | - !contains(github.event.head_commit.message, '${{ env.PR_PREVIEW_SKIP_COMMAND }}') && - !contains(github.event.pull_request.title, '${{ env.PR_PREVIEW_SKIP_COMMAND }}') && - !contains(github.event.pull_request.body, '${{ env.PR_PREVIEW_SKIP_COMMAND }}') + !contains(github.event.head_commit.message, '${{ env.PR_PREVIEW_SKIP_COMMAND_1 }}') && + !contains(github.event.head_commit.message, '${{ env.PR_PREVIEW_SKIP_COMMAND_2 }}') && + !contains(github.event.pull_request.title, '${{ env.PR_PREVIEW_SKIP_COMMAND_1 }}') && + !contains(github.event.pull_request.title, '${{ env.PR_PREVIEW_SKIP_COMMAND_2 }}') && + !contains(github.event.pull_request.body, '${{ env.PR_PREVIEW_SKIP_COMMAND_1 }}') && + !contains(github.event.pull_request.body, '${{ env.PR_PREVIEW_SKIP_COMMAND_2 }}') strategy: matrix: